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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.rspec +2 -0
- data/Gemfile +14 -0
- data/LICENSE +21 -0
- data/README.md +92 -0
- data/Rakefile +49 -0
- data/_config.yml +28 -0
- data/bin/ec +45 -0
- data/config.ru +12 -0
- data/dashboard.rb +57 -0
- data/easycomments.gemspec +22 -0
- data/ec.rb +43 -0
- data/lib/easycomments/ec_configuration.rb +42 -0
- data/lib/easycomments/ec_dashboard_model.rb +70 -0
- data/lib/easycomments/ec_model.rb +47 -0
- data/lib/easycomments.rb +14 -0
- data/public/bower.json +32 -0
- data/public/bower_components/core-a11y-keys/.bower.json +28 -0
- data/public/bower_components/core-a11y-keys/README.md +4 -0
- data/public/bower_components/core-a11y-keys/bower.json +18 -0
- data/public/bower_components/core-a11y-keys/core-a11y-keys.html +335 -0
- data/public/bower_components/core-a11y-keys/demo.html +41 -0
- data/public/bower_components/core-a11y-keys/index.html +22 -0
- data/public/bower_components/core-ajax/.bower.json +22 -0
- data/public/bower_components/core-ajax/README.md +4 -0
- data/public/bower_components/core-ajax/bower.json +11 -0
- data/public/bower_components/core-ajax/core-ajax.html +434 -0
- data/public/bower_components/core-ajax/core-xhr.html +116 -0
- data/public/bower_components/core-ajax/demo-progress.html +65 -0
- data/public/bower_components/core-ajax/demo.html +43 -0
- data/public/bower_components/core-ajax/index.html +22 -0
- data/public/bower_components/core-ajax/metadata.html +23 -0
- data/public/bower_components/core-ajax/test/core-ajax-progress.html +108 -0
- data/public/bower_components/core-ajax/test/core-ajax-race.html +81 -0
- data/public/bower_components/core-ajax/test/core-ajax.html +287 -0
- data/public/bower_components/core-ajax/test/index.html +17 -0
- data/public/bower_components/core-collapse/.bower.json +21 -0
- data/public/bower_components/core-collapse/README.md +4 -0
- data/public/bower_components/core-collapse/bower.json +11 -0
- data/public/bower_components/core-collapse/core-collapse.css +16 -0
- data/public/bower_components/core-collapse/core-collapse.html +298 -0
- data/public/bower_components/core-collapse/demo.html +75 -0
- data/public/bower_components/core-collapse/index.html +22 -0
- data/public/bower_components/core-collapse/test/basic.html +85 -0
- data/public/bower_components/core-collapse/test/index.html +24 -0
- data/public/bower_components/core-component-page/.bower.json +19 -0
- data/public/bower_components/core-component-page/README.md +6 -0
- data/public/bower_components/core-component-page/bowager-logo.png +0 -0
- data/public/bower_components/core-component-page/bower.json +9 -0
- data/public/bower_components/core-component-page/core-component-page.html +37 -0
- data/public/bower_components/core-component-page/demo.html +23 -0
- data/public/bower_components/core-component-page/index.html +22 -0
- data/public/bower_components/core-drawer-panel/.bower.json +19 -0
- data/public/bower_components/core-drawer-panel/README.md +4 -0
- data/public/bower_components/core-drawer-panel/bower.json +9 -0
- data/public/bower_components/core-drawer-panel/core-drawer-panel.css +160 -0
- data/public/bower_components/core-drawer-panel/core-drawer-panel.html +418 -0
- data/public/bower_components/core-drawer-panel/demo.html +68 -0
- data/public/bower_components/core-drawer-panel/index.html +22 -0
- data/public/bower_components/core-drawer-panel/metadata.html +37 -0
- data/public/bower_components/core-focusable/.bower.json +18 -0
- data/public/bower_components/core-focusable/README.md +6 -0
- data/public/bower_components/core-focusable/bower.json +8 -0
- data/public/bower_components/core-focusable/core-focusable.html +4 -0
- data/public/bower_components/core-focusable/core-focusable.js +134 -0
- data/public/bower_components/core-focusable/demo.html +109 -0
- data/public/bower_components/core-focusable/polymer-mixin.js +35 -0
- data/public/bower_components/core-header-panel/.bower.json +18 -0
- data/public/bower_components/core-header-panel/README.md +4 -0
- data/public/bower_components/core-header-panel/bower.json +8 -0
- data/public/bower_components/core-header-panel/core-header-panel.css +78 -0
- data/public/bower_components/core-header-panel/core-header-panel.html +277 -0
- data/public/bower_components/core-header-panel/demo.html +100 -0
- data/public/bower_components/core-header-panel/index.html +23 -0
- data/public/bower_components/core-header-panel/metadata.html +37 -0
- data/public/bower_components/core-icon/.bower.json +19 -0
- data/public/bower_components/core-icon/README.md +4 -0
- data/public/bower_components/core-icon/bower.json +9 -0
- data/public/bower_components/core-icon/core-icon.css +16 -0
- data/public/bower_components/core-icon/core-icon.html +201 -0
- data/public/bower_components/core-icon/demo.html +44 -0
- data/public/bower_components/core-icon/index.html +22 -0
- data/public/bower_components/core-icon/metadata.html +21 -0
- data/public/bower_components/core-icon-button/.bower.json +18 -0
- data/public/bower_components/core-icon-button/README.md +4 -0
- data/public/bower_components/core-icon-button/bower.json +8 -0
- data/public/bower_components/core-icon-button/core-icon-button.css +75 -0
- data/public/bower_components/core-icon-button/core-icon-button.html +81 -0
- data/public/bower_components/core-icon-button/demo.html +35 -0
- data/public/bower_components/core-icon-button/index.html +22 -0
- data/public/bower_components/core-icon-button/metadata.html +20 -0
- data/public/bower_components/core-icons/.bower.json +24 -0
- data/public/bower_components/core-icons/.gitignore +2 -0
- data/public/bower_components/core-icons/README.md +8 -0
- data/public/bower_components/core-icons/av-icons.html +65 -0
- data/public/bower_components/core-icons/bower.json +14 -0
- data/public/bower_components/core-icons/communication-icons.html +54 -0
- data/public/bower_components/core-icons/core-icons.html +278 -0
- data/public/bower_components/core-icons/demo.html +98 -0
- data/public/bower_components/core-icons/device-icons.html +90 -0
- data/public/bower_components/core-icons/editor-icons.html +67 -0
- data/public/bower_components/core-icons/hardware-icons.html +56 -0
- data/public/bower_components/core-icons/image-icons.html +152 -0
- data/public/bower_components/core-icons/index.html +22 -0
- data/public/bower_components/core-icons/maps-icons.html +70 -0
- data/public/bower_components/core-icons/notification-icons.html +49 -0
- data/public/bower_components/core-icons/social-icons.html +39 -0
- data/public/bower_components/core-iconset/.bower.json +20 -0
- data/public/bower_components/core-iconset/README.md +4 -0
- data/public/bower_components/core-iconset/bower.json +10 -0
- data/public/bower_components/core-iconset/core-iconset.html +241 -0
- data/public/bower_components/core-iconset/demo.html +62 -0
- data/public/bower_components/core-iconset/index.html +22 -0
- data/public/bower_components/core-iconset/my-icons-big.png +0 -0
- data/public/bower_components/core-iconset/my-icons.png +0 -0
- data/public/bower_components/core-iconset-svg/.bower.json +19 -0
- data/public/bower_components/core-iconset-svg/README.md +4 -0
- data/public/bower_components/core-iconset-svg/bower.json +9 -0
- data/public/bower_components/core-iconset-svg/core-iconset-svg.html +168 -0
- data/public/bower_components/core-iconset-svg/demo.html +66 -0
- data/public/bower_components/core-iconset-svg/index.html +22 -0
- data/public/bower_components/core-iconset-svg/svg-sample-icons.html +68 -0
- data/public/bower_components/core-input/.bower.json +20 -0
- data/public/bower_components/core-input/README.md +2 -0
- data/public/bower_components/core-input/bower.json +10 -0
- data/public/bower_components/core-input/core-input.css +41 -0
- data/public/bower_components/core-input/core-input.html +148 -0
- data/public/bower_components/core-input/demo.html +62 -0
- data/public/bower_components/core-input/index.html +22 -0
- data/public/bower_components/core-input/metadata.html +23 -0
- data/public/bower_components/core-input/test/a11y.html +55 -0
- data/public/bower_components/core-input/test/basic.html +60 -0
- data/public/bower_components/core-input/test/index.html +25 -0
- data/public/bower_components/core-item/.bower.json +19 -0
- data/public/bower_components/core-item/README.md +4 -0
- data/public/bower_components/core-item/bower.json +9 -0
- data/public/bower_components/core-item/core-item.css +45 -0
- data/public/bower_components/core-item/core-item.html +73 -0
- data/public/bower_components/core-item/demo.html +92 -0
- data/public/bower_components/core-item/index.html +22 -0
- data/public/bower_components/core-item/metadata.html +24 -0
- data/public/bower_components/core-media-query/.bower.json +18 -0
- data/public/bower_components/core-media-query/README.md +4 -0
- data/public/bower_components/core-media-query/bower.json +8 -0
- data/public/bower_components/core-media-query/core-media-query.html +87 -0
- data/public/bower_components/core-media-query/demo.html +44 -0
- data/public/bower_components/core-media-query/index.html +22 -0
- data/public/bower_components/core-menu/.bower.json +22 -0
- data/public/bower_components/core-menu/README.md +4 -0
- data/public/bower_components/core-menu/bower.json +11 -0
- data/public/bower_components/core-menu/core-menu.css +18 -0
- data/public/bower_components/core-menu/core-menu.html +73 -0
- data/public/bower_components/core-menu/core-submenu.css +43 -0
- data/public/bower_components/core-menu/core-submenu.html +126 -0
- data/public/bower_components/core-menu/demo.html +101 -0
- data/public/bower_components/core-menu/index.html +22 -0
- data/public/bower_components/core-menu/metadata.html +62 -0
- data/public/bower_components/core-meta/.bower.json +18 -0
- data/public/bower_components/core-meta/README.md +4 -0
- data/public/bower_components/core-meta/bower.json +8 -0
- data/public/bower_components/core-meta/core-meta.html +145 -0
- data/public/bower_components/core-meta/demo.html +58 -0
- data/public/bower_components/core-meta/index.html +22 -0
- data/public/bower_components/core-overlay/.bower.json +20 -0
- data/public/bower_components/core-overlay/README.md +4 -0
- data/public/bower_components/core-overlay/bower.json +10 -0
- data/public/bower_components/core-overlay/core-key-helper.html +22 -0
- data/public/bower_components/core-overlay/core-overlay-layer.html +116 -0
- data/public/bower_components/core-overlay/core-overlay.html +776 -0
- data/public/bower_components/core-overlay/demo.html +155 -0
- data/public/bower_components/core-overlay/gulpfile.js +2 -0
- data/public/bower_components/core-overlay/index.html +22 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-basic.html +127 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-positioning-margin.html +153 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-positioning.html +167 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-quick-close.html +45 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-scroll.html +130 -0
- data/public/bower_components/core-overlay/tests/js/htmltests.js +7 -0
- data/public/bower_components/core-overlay/tests/runner.html +14 -0
- data/public/bower_components/core-overlay/tests/tests.json +6 -0
- data/public/bower_components/core-pages/.bower.json +19 -0
- data/public/bower_components/core-pages/README.md +4 -0
- data/public/bower_components/core-pages/bower.json +8 -0
- data/public/bower_components/core-pages/core-pages.css +30 -0
- data/public/bower_components/core-pages/core-pages.html +44 -0
- data/public/bower_components/core-pages/demo.html +136 -0
- data/public/bower_components/core-pages/index.html +22 -0
- data/public/bower_components/core-pages/metadata.html +25 -0
- data/public/bower_components/core-resizable/.bower.json +18 -0
- data/public/bower_components/core-resizable/README.md +4 -0
- data/public/bower_components/core-resizable/bower.json +8 -0
- data/public/bower_components/core-resizable/core-resizable.html +248 -0
- data/public/bower_components/core-resizable/index.html +22 -0
- data/public/bower_components/core-resizable/test/basic.html +504 -0
- data/public/bower_components/core-resizable/test/index.html +16 -0
- data/public/bower_components/core-resizable/test/test-elements.html +66 -0
- data/public/bower_components/core-scaffold/.bower.json +22 -0
- data/public/bower_components/core-scaffold/README.md +4 -0
- data/public/bower_components/core-scaffold/bower.json +11 -0
- data/public/bower_components/core-scaffold/core-scaffold.html +252 -0
- data/public/bower_components/core-scaffold/demo.html +82 -0
- data/public/bower_components/core-scaffold/index.html +22 -0
- data/public/bower_components/core-scaffold/metadata.html +52 -0
- data/public/bower_components/core-selection/.bower.json +21 -0
- data/public/bower_components/core-selection/README.md +4 -0
- data/public/bower_components/core-selection/bower.json +11 -0
- data/public/bower_components/core-selection/core-selection.html +149 -0
- data/public/bower_components/core-selection/demo.html +59 -0
- data/public/bower_components/core-selection/index.html +22 -0
- data/public/bower_components/core-selection/test/basic.html +62 -0
- data/public/bower_components/core-selection/test/index.html +25 -0
- data/public/bower_components/core-selection/test/multi.html +63 -0
- data/public/bower_components/core-selector/.bower.json +22 -0
- data/public/bower_components/core-selector/.gitignore +2 -0
- data/public/bower_components/core-selector/README.md +4 -0
- data/public/bower_components/core-selector/bower.json +12 -0
- data/public/bower_components/core-selector/core-selector.html +548 -0
- data/public/bower_components/core-selector/demo.html +106 -0
- data/public/bower_components/core-selector/index.html +22 -0
- data/public/bower_components/core-selector/metadata.html +20 -0
- data/public/bower_components/core-selector/test/activate-event.html +63 -0
- data/public/bower_components/core-selector/test/basic.html +126 -0
- data/public/bower_components/core-selector/test/content.html +101 -0
- data/public/bower_components/core-selector/test/index.html +30 -0
- data/public/bower_components/core-selector/test/multi.html +115 -0
- data/public/bower_components/core-selector/test/next-previous.html +113 -0
- data/public/bower_components/core-selector/test/selected-attr-prop.html +62 -0
- data/public/bower_components/core-selector/test/template-repeat.html +63 -0
- data/public/bower_components/core-style/.bower.json +18 -0
- data/public/bower_components/core-style/README.md +4 -0
- data/public/bower_components/core-style/bower.json +8 -0
- data/public/bower_components/core-style/core-style.html +387 -0
- data/public/bower_components/core-style/demo.html +58 -0
- data/public/bower_components/core-style/elements.html +55 -0
- data/public/bower_components/core-style/index.html +22 -0
- data/public/bower_components/core-style/my-theme.html +73 -0
- data/public/bower_components/core-toolbar/.bower.json +19 -0
- data/public/bower_components/core-toolbar/README.md +4 -0
- data/public/bower_components/core-toolbar/bower.json +9 -0
- data/public/bower_components/core-toolbar/core-toolbar.css +117 -0
- data/public/bower_components/core-toolbar/core-toolbar.html +155 -0
- data/public/bower_components/core-toolbar/demo.html +119 -0
- data/public/bower_components/core-toolbar/index.html +22 -0
- data/public/bower_components/core-toolbar/metadata.html +28 -0
- data/public/bower_components/core-toolbar/test/basic.html +86 -0
- data/public/bower_components/core-toolbar/test/index.html +24 -0
- data/public/bower_components/core-transition/.bower.json +19 -0
- data/public/bower_components/core-transition/README.md +2 -0
- data/public/bower_components/core-transition/bower.json +9 -0
- data/public/bower_components/core-transition/core-transition-css.html +220 -0
- data/public/bower_components/core-transition/core-transition-overlay.css +46 -0
- data/public/bower_components/core-transition/core-transition.html +140 -0
- data/public/bower_components/core-transition/demo.html +87 -0
- data/public/bower_components/core-transition/index.html +22 -0
- data/public/bower_components/font-roboto/.bower.json +15 -0
- data/public/bower_components/font-roboto/roboto.html +9 -0
- data/public/bower_components/paper-button/.bower.json +27 -0
- data/public/bower_components/paper-button/README.md +4 -0
- data/public/bower_components/paper-button/bower.json +16 -0
- data/public/bower_components/paper-button/demo.html +157 -0
- data/public/bower_components/paper-button/index.html +22 -0
- data/public/bower_components/paper-button/metadata.html +17 -0
- data/public/bower_components/paper-button/paper-button-base.html +164 -0
- data/public/bower_components/paper-button/paper-button.html +197 -0
- data/public/bower_components/paper-button/test/index.html +24 -0
- data/public/bower_components/paper-button/test/paper-button.html +112 -0
- data/public/bower_components/paper-icon-button/.bower.json +25 -0
- data/public/bower_components/paper-icon-button/README.md +4 -0
- data/public/bower_components/paper-icon-button/bower.json +15 -0
- data/public/bower_components/paper-icon-button/demo.html +150 -0
- data/public/bower_components/paper-icon-button/index.html +22 -0
- data/public/bower_components/paper-icon-button/metadata.html +21 -0
- data/public/bower_components/paper-icon-button/paper-icon-button.html +154 -0
- data/public/bower_components/paper-icon-button/test/a11y.html +68 -0
- data/public/bower_components/paper-icon-button/test/basic.html +50 -0
- data/public/bower_components/paper-icon-button/test/index.html +25 -0
- data/public/bower_components/paper-input/.bower.json +26 -0
- data/public/bower_components/paper-input/.gitignore +1 -0
- data/public/bower_components/paper-input/README.md +4 -0
- data/public/bower_components/paper-input/bower.json +15 -0
- data/public/bower_components/paper-input/demo.html +236 -0
- data/public/bower_components/paper-input/index.html +22 -0
- data/public/bower_components/paper-input/metadata.html +20 -0
- data/public/bower_components/paper-input/paper-autogrow-textarea.html +162 -0
- data/public/bower_components/paper-input/paper-char-counter.html +121 -0
- data/public/bower_components/paper-input/paper-input-decorator.css +132 -0
- data/public/bower_components/paper-input/paper-input-decorator.html +547 -0
- data/public/bower_components/paper-input/paper-input.html +145 -0
- data/public/bower_components/paper-input/test/index.html +26 -0
- data/public/bower_components/paper-input/test/paper-autogrow-textarea.html +146 -0
- data/public/bower_components/paper-input/test/paper-input-decorator.html +240 -0
- data/public/bower_components/paper-input/test/paper-input.html +68 -0
- data/public/bower_components/paper-input/test/util.js +15 -0
- data/public/bower_components/paper-radio-button/.bower.json +22 -0
- data/public/bower_components/paper-radio-button/README.md +4 -0
- data/public/bower_components/paper-radio-button/bower.json +12 -0
- data/public/bower_components/paper-radio-button/demo.html +84 -0
- data/public/bower_components/paper-radio-button/index.html +22 -0
- data/public/bower_components/paper-radio-button/metadata.html +17 -0
- data/public/bower_components/paper-radio-button/paper-radio-button.css +108 -0
- data/public/bower_components/paper-radio-button/paper-radio-button.html +166 -0
- data/public/bower_components/paper-ripple/.bower.json +23 -0
- data/public/bower_components/paper-ripple/README.md +4 -0
- data/public/bower_components/paper-ripple/bower.json +13 -0
- data/public/bower_components/paper-ripple/demo.html +414 -0
- data/public/bower_components/paper-ripple/index.html +22 -0
- data/public/bower_components/paper-ripple/metadata.html +20 -0
- data/public/bower_components/paper-ripple/paper-ripple.html +477 -0
- data/public/bower_components/paper-ripple/test/index.html +24 -0
- data/public/bower_components/paper-ripple/test/position.html +109 -0
- data/public/bower_components/paper-shadow/.bower.json +22 -0
- data/public/bower_components/paper-shadow/README.md +4 -0
- data/public/bower_components/paper-shadow/bower.json +11 -0
- data/public/bower_components/paper-shadow/demo.html +134 -0
- data/public/bower_components/paper-shadow/index.html +22 -0
- data/public/bower_components/paper-shadow/metadata.html +17 -0
- data/public/bower_components/paper-shadow/paper-shadow.css +66 -0
- data/public/bower_components/paper-shadow/paper-shadow.html +86 -0
- data/public/bower_components/paper-shadow/test/basic.html +62 -0
- data/public/bower_components/paper-shadow/test/index.html +24 -0
- data/public/bower_components/paper-tabs/.bower.json +26 -0
- data/public/bower_components/paper-tabs/README.md +4 -0
- data/public/bower_components/paper-tabs/bower.json +15 -0
- data/public/bower_components/paper-tabs/demo.html +242 -0
- data/public/bower_components/paper-tabs/index.html +22 -0
- data/public/bower_components/paper-tabs/metadata.html +58 -0
- data/public/bower_components/paper-tabs/paper-tab.css +59 -0
- data/public/bower_components/paper-tabs/paper-tab.html +82 -0
- data/public/bower_components/paper-tabs/paper-tabs.css +80 -0
- data/public/bower_components/paper-tabs/paper-tabs.html +353 -0
- data/public/bower_components/paper-toast/.bower.json +22 -0
- data/public/bower_components/paper-toast/README.md +4 -0
- data/public/bower_components/paper-toast/bower.json +11 -0
- data/public/bower_components/paper-toast/demo.html +63 -0
- data/public/bower_components/paper-toast/index.html +22 -0
- data/public/bower_components/paper-toast/metadata.html +20 -0
- data/public/bower_components/paper-toast/paper-toast.css +80 -0
- data/public/bower_components/paper-toast/paper-toast.html +296 -0
- data/public/bower_components/paper-toggle-button/.bower.json +20 -0
- data/public/bower_components/paper-toggle-button/README.md +4 -0
- data/public/bower_components/paper-toggle-button/bower.json +9 -0
- data/public/bower_components/paper-toggle-button/demo.html +97 -0
- data/public/bower_components/paper-toggle-button/index.html +22 -0
- data/public/bower_components/paper-toggle-button/metadata.html +17 -0
- data/public/bower_components/paper-toggle-button/paper-toggle-button.css +95 -0
- data/public/bower_components/paper-toggle-button/paper-toggle-button.html +179 -0
- data/public/bower_components/polymer/.bower.json +32 -0
- data/public/bower_components/polymer/README.md +21 -0
- data/public/bower_components/polymer/bower.json +23 -0
- data/public/bower_components/polymer/build.log +26 -0
- data/public/bower_components/polymer/layout.html +286 -0
- data/public/bower_components/polymer/polymer.html +12 -0
- data/public/bower_components/polymer/polymer.js +11859 -0
- data/public/bower_components/polymer/polymer.min.js +14 -0
- data/public/bower_components/webcomponentsjs/.bower.json +23 -0
- data/public/bower_components/webcomponentsjs/CustomElements.js +634 -0
- data/public/bower_components/webcomponentsjs/CustomElements.min.js +11 -0
- data/public/bower_components/webcomponentsjs/HTMLImports.js +764 -0
- data/public/bower_components/webcomponentsjs/HTMLImports.min.js +11 -0
- data/public/bower_components/webcomponentsjs/README.md +73 -0
- data/public/bower_components/webcomponentsjs/ShadowDOM.js +4277 -0
- data/public/bower_components/webcomponentsjs/ShadowDOM.min.js +13 -0
- data/public/bower_components/webcomponentsjs/bower.json +14 -0
- data/public/bower_components/webcomponentsjs/build.log +31 -0
- data/public/bower_components/webcomponentsjs/package.json +31 -0
- data/public/bower_components/webcomponentsjs/webcomponents-lite.js +1728 -0
- data/public/bower_components/webcomponentsjs/webcomponents-lite.min.js +11 -0
- data/public/bower_components/webcomponentsjs/webcomponents.js +6114 -0
- data/public/bower_components/webcomponentsjs/webcomponents.min.js +14 -0
- data/public/css/main.css +41 -0
- data/public/elements/ec-dashboard/ec-dashboard.html +269 -0
- data/public/polymer-loader.html +24 -0
- data/public/polymer-loader.vulcanized.html +19 -0
- data/spec/ec/ec_dashboard_spec.rb +78 -0
- data/spec/ec/ec_spec.rb +78 -0
- data/spec/spec_helper.rb +27 -0
- data/views/index.html +88 -0
- metadata +464 -0
|
@@ -0,0 +1,387 @@
|
|
|
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
|
+
The `core-style` element helps manage styling inside other elements and can
|
|
12
|
+
be used to make themes. The `core-style` element can be either a producer
|
|
13
|
+
or consumer of styling. If it has its `id` property set, it's a producer.
|
|
14
|
+
Elements that are producers should include css styling as their text content.
|
|
15
|
+
If a `core-style` has its `ref` property set, it's a consumer. A `core-style`
|
|
16
|
+
typically sets its `ref` property to the value of the `id` property of the
|
|
17
|
+
`core-style` it wants to use. This allows a single producer to be used in
|
|
18
|
+
multiple places, for example, in many different elements.
|
|
19
|
+
|
|
20
|
+
It's common to place `core-style` producer elements inside HTMLImports.
|
|
21
|
+
Remote stylesheets should be included this way, the @import css mechanism is
|
|
22
|
+
not currently supported.
|
|
23
|
+
|
|
24
|
+
Here's a basic example:
|
|
25
|
+
|
|
26
|
+
<polymer-element name="x-test" noscript>
|
|
27
|
+
<template>
|
|
28
|
+
<core-style ref="x-test"></core-style>
|
|
29
|
+
<content></content>
|
|
30
|
+
</template>
|
|
31
|
+
</polymer-element>
|
|
32
|
+
|
|
33
|
+
The `x-test` element above will be styled by any `core-style` elements that have
|
|
34
|
+
`id` set to `x-test`. These `core-style` producers are separate from the element
|
|
35
|
+
definition, allowing a user of the element to style it independent of the author's
|
|
36
|
+
styling. For example:
|
|
37
|
+
|
|
38
|
+
<core-style id="x-test">
|
|
39
|
+
:host {
|
|
40
|
+
backgound-color: steelblue;
|
|
41
|
+
}
|
|
42
|
+
</core-style>
|
|
43
|
+
|
|
44
|
+
The content of the `x-test` `core-style` producer gets included inside the
|
|
45
|
+
shadowRoot of the `x-test` element. If the content of the `x-test` producer
|
|
46
|
+
`core-style` changes, all consumers of it are automatically kept in sync. This
|
|
47
|
+
allows updating styling on the fly.
|
|
48
|
+
|
|
49
|
+
The `core-style` element also supports bindings, in which case the producer
|
|
50
|
+
`core-style` element is the model. Here's an example:
|
|
51
|
+
|
|
52
|
+
<core-style id="x-test">
|
|
53
|
+
:host {
|
|
54
|
+
background-color: {{myColor}};
|
|
55
|
+
}
|
|
56
|
+
</core-style>
|
|
57
|
+
<script>
|
|
58
|
+
document._currentScript.ownerDocument.getElementById('x-test').myColor = 'orange';
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
Finally, to facilitate sharing data between `core-style` elements, all
|
|
62
|
+
`core-style` elements have a `g` property which is set to the global
|
|
63
|
+
`CoreStyle.g`. Here's an example:
|
|
64
|
+
|
|
65
|
+
<core-style id="x-test">
|
|
66
|
+
:host {
|
|
67
|
+
background-color: {{g.myColor}};
|
|
68
|
+
}
|
|
69
|
+
</core-style>
|
|
70
|
+
<script>
|
|
71
|
+
CoreStyle.g.myColor = 'tomato';
|
|
72
|
+
</script>
|
|
73
|
+
|
|
74
|
+
Finally, one `core-style` can be nested inside another. The `core-style`
|
|
75
|
+
element has a `list` property which is a map of all the `core-style` producers.
|
|
76
|
+
A `core-style` producer's content is available via its `cssText` property.
|
|
77
|
+
Putting this together:
|
|
78
|
+
|
|
79
|
+
<core-style id="common">
|
|
80
|
+
:host {
|
|
81
|
+
font-family: sans-serif;
|
|
82
|
+
}
|
|
83
|
+
</core-style>
|
|
84
|
+
|
|
85
|
+
<core-style id="x-test">
|
|
86
|
+
{{list.common.cssText}}
|
|
87
|
+
|
|
88
|
+
:host {
|
|
89
|
+
background-color: {{g.myColor}};
|
|
90
|
+
}
|
|
91
|
+
</core-style>
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
@group Polymer Core Elements
|
|
95
|
+
@element core-style
|
|
96
|
+
@homepage github.io
|
|
97
|
+
-->
|
|
98
|
+
|
|
99
|
+
<link rel="import" href="../polymer/polymer.html">
|
|
100
|
+
|
|
101
|
+
<polymer-element name="core-style" hidden>
|
|
102
|
+
<script>
|
|
103
|
+
(function() {
|
|
104
|
+
|
|
105
|
+
window.CoreStyle = window.CoreStyle || {
|
|
106
|
+
g: {},
|
|
107
|
+
list: {},
|
|
108
|
+
refMap: {}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
Polymer('core-style', {
|
|
112
|
+
/**
|
|
113
|
+
* The `id` property should be set if the `core-style` is a producer
|
|
114
|
+
* of styles. In this case, the `core-style` should have text content
|
|
115
|
+
* that is cssText.
|
|
116
|
+
*
|
|
117
|
+
* @attribute id
|
|
118
|
+
* @type string
|
|
119
|
+
* @default ''
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
publish: {
|
|
124
|
+
/**
|
|
125
|
+
* The `ref` property should be set if the `core-style` element is a
|
|
126
|
+
* consumer of styles. Set it to the `id` of the desired `core-style`
|
|
127
|
+
* element.
|
|
128
|
+
*
|
|
129
|
+
* @attribute ref
|
|
130
|
+
* @type string
|
|
131
|
+
* @default ''
|
|
132
|
+
*/
|
|
133
|
+
ref: ''
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
// static
|
|
137
|
+
g: CoreStyle.g,
|
|
138
|
+
refMap: CoreStyle.refMap,
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* The `list` is a map of all `core-style` producers stored by `id`. It
|
|
142
|
+
* should be considered readonly. It's useful for nesting one `core-style`
|
|
143
|
+
* inside another.
|
|
144
|
+
*
|
|
145
|
+
* @attribute list
|
|
146
|
+
* @type object
|
|
147
|
+
* @default {map of all `core-style` producers}
|
|
148
|
+
*/
|
|
149
|
+
list: CoreStyle.list,
|
|
150
|
+
|
|
151
|
+
// if we have an id, we provide style
|
|
152
|
+
// if we have a ref, we consume/require style
|
|
153
|
+
ready: function() {
|
|
154
|
+
if (this.id) {
|
|
155
|
+
this.provide();
|
|
156
|
+
} else {
|
|
157
|
+
this.registerRef(this.ref);
|
|
158
|
+
if (!window.ShadowDOMPolyfill) {
|
|
159
|
+
this.require();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
// can't shim until attached if using SD polyfill because need to find host
|
|
165
|
+
attached: function() {
|
|
166
|
+
if (!this.id && window.ShadowDOMPolyfill) {
|
|
167
|
+
this.require();
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
/****** producer stuff *******/
|
|
172
|
+
|
|
173
|
+
provide: function() {
|
|
174
|
+
this.register();
|
|
175
|
+
// we want to do this asap, especially so we can do so before definitions
|
|
176
|
+
// that use this core-style are registered.
|
|
177
|
+
if (this.textContent) {
|
|
178
|
+
this._completeProvide();
|
|
179
|
+
} else {
|
|
180
|
+
this.async(this._completeProvide);
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
register: function() {
|
|
185
|
+
var i = this.list[this.id];
|
|
186
|
+
if (i) {
|
|
187
|
+
if (!Array.isArray(i)) {
|
|
188
|
+
this.list[this.id] = [i];
|
|
189
|
+
}
|
|
190
|
+
this.list[this.id].push(this);
|
|
191
|
+
} else {
|
|
192
|
+
this.list[this.id] = this;
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
// stamp into a shadowRoot so we can monitor dom of the bound output
|
|
197
|
+
_completeProvide: function() {
|
|
198
|
+
this.createShadowRoot();
|
|
199
|
+
this.domObserver = new MutationObserver(this.domModified.bind(this))
|
|
200
|
+
.observe(this.shadowRoot, {subtree: true,
|
|
201
|
+
characterData: true, childList: true});
|
|
202
|
+
this.provideContent();
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
provideContent: function() {
|
|
206
|
+
this.ensureTemplate();
|
|
207
|
+
this.shadowRoot.textContent = '';
|
|
208
|
+
this.shadowRoot.appendChild(this.instanceTemplate(this.template));
|
|
209
|
+
this.cssText = this.shadowRoot.textContent;
|
|
210
|
+
},
|
|
211
|
+
|
|
212
|
+
ensureTemplate: function() {
|
|
213
|
+
if (!this.template) {
|
|
214
|
+
this.template = this.querySelector('template:not([repeat]):not([bind])');
|
|
215
|
+
// move content into the template
|
|
216
|
+
if (!this.template) {
|
|
217
|
+
this.template = document.createElement('template');
|
|
218
|
+
var n = this.firstChild;
|
|
219
|
+
while (n) {
|
|
220
|
+
this.template.content.appendChild(n.cloneNode(true));
|
|
221
|
+
n = n.nextSibling;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
|
|
227
|
+
domModified: function() {
|
|
228
|
+
this.cssText = this.shadowRoot.textContent;
|
|
229
|
+
this.notify();
|
|
230
|
+
},
|
|
231
|
+
|
|
232
|
+
// notify instances that reference this element
|
|
233
|
+
notify: function() {
|
|
234
|
+
var s$ = this.refMap[this.id];
|
|
235
|
+
if (s$) {
|
|
236
|
+
for (var i=0, s; (s=s$[i]); i++) {
|
|
237
|
+
s.require();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
|
|
242
|
+
/****** consumer stuff *******/
|
|
243
|
+
|
|
244
|
+
registerRef: function(ref) {
|
|
245
|
+
//console.log('register', ref);
|
|
246
|
+
this.refMap[this.ref] = this.refMap[this.ref] || [];
|
|
247
|
+
this.refMap[this.ref].push(this);
|
|
248
|
+
},
|
|
249
|
+
|
|
250
|
+
applyRef: function(ref) {
|
|
251
|
+
this.ref = ref;
|
|
252
|
+
this.registerRef(this.ref);
|
|
253
|
+
this.require();
|
|
254
|
+
},
|
|
255
|
+
|
|
256
|
+
require: function() {
|
|
257
|
+
var cssText = this.cssTextForRef(this.ref);
|
|
258
|
+
//console.log('require', this.ref, cssText);
|
|
259
|
+
if (cssText) {
|
|
260
|
+
this.ensureStyleElement();
|
|
261
|
+
// do nothing if cssText has not changed
|
|
262
|
+
if (this.styleElement._cssText === cssText) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
this.styleElement._cssText = cssText;
|
|
266
|
+
if (window.ShadowDOMPolyfill) {
|
|
267
|
+
this.styleElement.textContent = cssText;
|
|
268
|
+
cssText = WebComponents.ShadowCSS.shimStyle(this.styleElement,
|
|
269
|
+
this.getScopeSelector());
|
|
270
|
+
}
|
|
271
|
+
this.styleElement.textContent = cssText;
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
|
|
275
|
+
cssTextForRef: function(ref) {
|
|
276
|
+
var s$ = this.byId(ref);
|
|
277
|
+
var cssText = '';
|
|
278
|
+
if (s$) {
|
|
279
|
+
if (Array.isArray(s$)) {
|
|
280
|
+
var p = [];
|
|
281
|
+
for (var i=0, l=s$.length, s; (i<l) && (s=s$[i]); i++) {
|
|
282
|
+
p.push(s.cssText);
|
|
283
|
+
}
|
|
284
|
+
cssText = p.join('\n\n');
|
|
285
|
+
} else {
|
|
286
|
+
cssText = s$.cssText;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
if (s$ && !cssText) {
|
|
290
|
+
console.warn('No styles provided for ref:', ref);
|
|
291
|
+
}
|
|
292
|
+
return cssText;
|
|
293
|
+
},
|
|
294
|
+
|
|
295
|
+
byId: function(id) {
|
|
296
|
+
return this.list[id];
|
|
297
|
+
},
|
|
298
|
+
|
|
299
|
+
ensureStyleElement: function() {
|
|
300
|
+
if (!this.styleElement) {
|
|
301
|
+
this.styleElement = window.ShadowDOMPolyfill ?
|
|
302
|
+
this.makeShimStyle() :
|
|
303
|
+
this.makeRootStyle();
|
|
304
|
+
}
|
|
305
|
+
if (!this.styleElement) {
|
|
306
|
+
console.warn(this.localName, 'could not setup style.');
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
|
|
310
|
+
makeRootStyle: function() {
|
|
311
|
+
var style = document.createElement('style');
|
|
312
|
+
this.appendChild(style);
|
|
313
|
+
return style;
|
|
314
|
+
},
|
|
315
|
+
|
|
316
|
+
makeShimStyle: function() {
|
|
317
|
+
var host = this.findHost(this);
|
|
318
|
+
if (host) {
|
|
319
|
+
var name = host.localName;
|
|
320
|
+
var style = document.querySelector('style[' + name + '=' + this.ref +']');
|
|
321
|
+
if (!style) {
|
|
322
|
+
style = document.createElement('style');
|
|
323
|
+
style.setAttribute(name, this.ref);
|
|
324
|
+
document.head.appendChild(style);
|
|
325
|
+
}
|
|
326
|
+
return style;
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
|
|
330
|
+
getScopeSelector: function() {
|
|
331
|
+
if (!this._scopeSelector) {
|
|
332
|
+
var selector = '', host = this.findHost(this);
|
|
333
|
+
if (host) {
|
|
334
|
+
var typeExtension = host.hasAttribute('is');
|
|
335
|
+
var name = typeExtension ? host.getAttribute('is') : host.localName;
|
|
336
|
+
selector = WebComponents.ShadowCSS.makeScopeSelector(name,
|
|
337
|
+
typeExtension);
|
|
338
|
+
}
|
|
339
|
+
this._scopeSelector = selector;
|
|
340
|
+
}
|
|
341
|
+
return this._scopeSelector;
|
|
342
|
+
},
|
|
343
|
+
|
|
344
|
+
findHost: function(node) {
|
|
345
|
+
while (node.parentNode) {
|
|
346
|
+
node = node.parentNode;
|
|
347
|
+
}
|
|
348
|
+
return node.host || wrap(document.documentElement);
|
|
349
|
+
},
|
|
350
|
+
|
|
351
|
+
/* filters! */
|
|
352
|
+
// TODO(dfreedm): add more filters!
|
|
353
|
+
|
|
354
|
+
cycle: function(rgb, amount) {
|
|
355
|
+
if (rgb.match('#')) {
|
|
356
|
+
var o = this.hexToRgb(rgb);
|
|
357
|
+
if (!o) {
|
|
358
|
+
return rgb;
|
|
359
|
+
}
|
|
360
|
+
rgb = 'rgb(' + o.r + ',' + o.b + ',' + o.g + ')';
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
function cycleChannel(v) {
|
|
364
|
+
return Math.abs((Number(v) - amount) % 255);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
return rgb.replace(/rgb\(([^,]*),([^,]*),([^,]*)\)/, function(m, a, b, c) {
|
|
368
|
+
return 'rgb(' + cycleChannel(a) + ',' + cycleChannel(b) + ', '
|
|
369
|
+
+ cycleChannel(c) + ')';
|
|
370
|
+
});
|
|
371
|
+
},
|
|
372
|
+
|
|
373
|
+
hexToRgb: function(hex) {
|
|
374
|
+
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
375
|
+
return result ? {
|
|
376
|
+
r: parseInt(result[1], 16),
|
|
377
|
+
g: parseInt(result[2], 16),
|
|
378
|
+
b: parseInt(result[3], 16)
|
|
379
|
+
} : null;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
});
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
})();
|
|
386
|
+
</script>
|
|
387
|
+
</polymer-element>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright 2013 The Polymer Authors. All rights reserved.
|
|
4
|
+
Use of this source code is governed by a BSD-style
|
|
5
|
+
license that can be found in the LICENSE file.
|
|
6
|
+
-->
|
|
7
|
+
<html>
|
|
8
|
+
<head>
|
|
9
|
+
<title>core-style</title>
|
|
10
|
+
<script src="../webcomponentsjs/webcomponents.js"></script>
|
|
11
|
+
|
|
12
|
+
<link rel="import" href="elements.html">
|
|
13
|
+
<link rel="import" href="my-theme.html">
|
|
14
|
+
|
|
15
|
+
</head>
|
|
16
|
+
<body unresolved fullbleed vertical layout>
|
|
17
|
+
<core-style ref="main"></core-style>
|
|
18
|
+
|
|
19
|
+
<template is="auto-binding">
|
|
20
|
+
<my-toolbar>
|
|
21
|
+
<span flex>core-style</span>
|
|
22
|
+
<input type="color" value="{{g.theme.colorOne}}">
|
|
23
|
+
<input type="color" value="{{g.theme.colorTwo}}">
|
|
24
|
+
<input type="color" value="{{g.theme.colorThree}}">
|
|
25
|
+
<input type="range" min="1" max="8" value="{{g.columns}}">
|
|
26
|
+
<button>A button</button>
|
|
27
|
+
</my-toolbar>
|
|
28
|
+
<section flex horizontal wrap layout>
|
|
29
|
+
<template repeat="{{item in items}}">
|
|
30
|
+
<my-panel>{{item}}</my-panel>
|
|
31
|
+
</template>
|
|
32
|
+
</section>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
(function() {
|
|
37
|
+
|
|
38
|
+
addEventListener('polymer-ready', function() {
|
|
39
|
+
var items = [];
|
|
40
|
+
for (var i=0; i < 100; i++) {
|
|
41
|
+
items.push(i);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
CoreStyle.g.items = items;
|
|
45
|
+
|
|
46
|
+
addEventListener('template-bound', function(e) {
|
|
47
|
+
e.target.g = CoreStyle.g;
|
|
48
|
+
e.target.items = items;
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
})();
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|
|
57
|
+
|
|
58
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
+
<link rel="import" href="core-style.html">
|
|
11
|
+
|
|
12
|
+
<core-style id="my-toolbar">
|
|
13
|
+
:host {
|
|
14
|
+
height: 54px;
|
|
15
|
+
font-size: 1.3rem;
|
|
16
|
+
background-color: steelblue;
|
|
17
|
+
color: white;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
polyfill-next-selector {
|
|
21
|
+
content: ':host > *';
|
|
22
|
+
}
|
|
23
|
+
::content > * {
|
|
24
|
+
margin: 8px;
|
|
25
|
+
}
|
|
26
|
+
</core-style>
|
|
27
|
+
|
|
28
|
+
<polymer-element name="my-toolbar" horizontal center layout noscript>
|
|
29
|
+
<template>
|
|
30
|
+
<core-style ref="my-toolbar"></core-style>
|
|
31
|
+
<content></content>
|
|
32
|
+
</template>
|
|
33
|
+
</polymer-element>
|
|
34
|
+
|
|
35
|
+
<core-style id="my-panel">
|
|
36
|
+
:host {
|
|
37
|
+
display: inline-block;
|
|
38
|
+
height: 200px;
|
|
39
|
+
width: calc({{ 100 / g.columns }}% - 16px);
|
|
40
|
+
font-size: 50px;
|
|
41
|
+
background: gray;
|
|
42
|
+
margin: 8px;
|
|
43
|
+
}
|
|
44
|
+
</core-style>
|
|
45
|
+
|
|
46
|
+
<script>
|
|
47
|
+
CoreStyle.g.columns = 3;
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<polymer-element name="my-panel" vertical center center-justified layout noscript>
|
|
51
|
+
<template>
|
|
52
|
+
<core-style ref="my-panel"></core-style>
|
|
53
|
+
<content></content>
|
|
54
|
+
</template>
|
|
55
|
+
</polymer-element>
|
|
@@ -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,73 @@
|
|
|
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
|
+
<link rel="import" href="core-style.html">
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
|
|
14
|
+
CoreStyle.g.theme = {
|
|
15
|
+
colorOne: '#abcdef',
|
|
16
|
+
colorTwo: '#123456',
|
|
17
|
+
colorThree: '#224433'
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<core-style id="main">
|
|
22
|
+
body {
|
|
23
|
+
font-family: sans-serif;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
section {
|
|
27
|
+
overflow: auto;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
button {
|
|
31
|
+
border: 1px solid {{g.theme.colorOne | cycle(-50)}};
|
|
32
|
+
border-radius: 4px;
|
|
33
|
+
background-color: {{g.theme.colorOne}};
|
|
34
|
+
color: {{g.theme.colorTwo}};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
button:active {
|
|
38
|
+
border: 1px solid {{g.theme.colorTwo | cycle(50)}};
|
|
39
|
+
border-radius: 4px;
|
|
40
|
+
background-color: {{g.theme.colorTwo}};
|
|
41
|
+
color: {{g.theme.colorOne}};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
<template repeat="{{item in g.items}}">
|
|
45
|
+
my-panel:nth-of-type({{item+1}}) {
|
|
46
|
+
background-color: {{ g.theme.colorThree | cycle(item * -1) }};
|
|
47
|
+
}
|
|
48
|
+
</template>
|
|
49
|
+
</core-style>
|
|
50
|
+
|
|
51
|
+
<core-style id="my-toolbar">
|
|
52
|
+
:host {
|
|
53
|
+
border-bottom: 8px solid {{g.theme.colorOne}};
|
|
54
|
+
color: {{g.theme.colorOne | cycle(100)}};
|
|
55
|
+
background-color: {{g.theme.colorTwo}};
|
|
56
|
+
}
|
|
57
|
+
</core-style>
|
|
58
|
+
|
|
59
|
+
<core-style id="my-panel">
|
|
60
|
+
:host {
|
|
61
|
+
box-sizing: border-box;
|
|
62
|
+
background-color: {{g.theme.colorOne}};
|
|
63
|
+
border: 8px solid {{g.theme.colorOne | cycle(50)}};
|
|
64
|
+
color: {{g.theme.colorOne | cycle(-100)}};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
:host(:nth-of-type(2n + 1)) {
|
|
68
|
+
background-color: {{g.theme.colorTwo}};
|
|
69
|
+
border: 8px solid {{g.theme.colorTwo | cycle(-50)}};
|
|
70
|
+
color: {{g.theme.colorTwo | cycle(100)}}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
</core-style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "core-toolbar",
|
|
3
|
+
"private": true,
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"core-icon-button": "Polymer/core-icon-button#^0.5",
|
|
6
|
+
"core-media-query": "Polymer/core-media-query#^0.5"
|
|
7
|
+
},
|
|
8
|
+
"version": "0.5.5",
|
|
9
|
+
"homepage": "https://github.com/Polymer/core-toolbar",
|
|
10
|
+
"_release": "0.5.5",
|
|
11
|
+
"_resolution": {
|
|
12
|
+
"type": "version",
|
|
13
|
+
"tag": "0.5.5",
|
|
14
|
+
"commit": "cbdb98ee61b3f44aa64e408a288b0ae0858da84f"
|
|
15
|
+
},
|
|
16
|
+
"_source": "git://github.com/Polymer/core-toolbar.git",
|
|
17
|
+
"_target": "^0.5",
|
|
18
|
+
"_originalSource": "Polymer/core-toolbar"
|
|
19
|
+
}
|