├── app
├── css
│ └── .touch
├── elements
│ └── .touch
├── .bowerrc
├── bower.json
└── index.html
├── .gitignore
├── bower_components
├── app-route
│ ├── .gitignore
│ ├── .github
│ │ └── ISSUE_TEMPLATE.md
│ ├── index.html
│ ├── test
│ │ ├── observer-tester.html
│ │ ├── index.html
│ │ ├── redirection.html
│ │ └── app-example-1.html
│ ├── demo
│ │ ├── data-loading-demo.html
│ │ └── youtube-demo
│ │ │ └── route-info.html
│ ├── bower.json
│ └── .bower.json
├── iron-ajax
│ ├── .gitignore
│ ├── .travis.yml
│ ├── .github
│ │ └── ISSUE_TEMPLATE.md
│ ├── index.html
│ ├── test
│ │ └── index.html
│ ├── bower.json
│ ├── .bower.json
│ └── README.md
├── iron-location
│ ├── .gitignore
│ ├── .github
│ │ └── ISSUE_TEMPLATE.md
│ ├── index.html
│ ├── test
│ │ └── index.html
│ ├── bower.json
│ └── .bower.json
├── iron-pages
│ ├── .gitignore
│ ├── .travis.yml
│ ├── .github
│ │ └── ISSUE_TEMPLATE.md
│ ├── index.html
│ ├── hero.svg
│ ├── test
│ │ └── index.html
│ ├── README.md
│ ├── bower.json
│ └── .bower.json
├── iron-resizable-behavior
│ ├── .gitignore
│ ├── index.html
│ ├── .travis.yml
│ ├── bower.json
│ ├── demo
│ │ └── index.html
│ ├── test
│ │ └── index.html
│ ├── .bower.json
│ └── README.md
├── iron-selector
│ ├── .gitignore
│ ├── .github
│ │ └── ISSUE_TEMPLATE.md
│ ├── .travis.yml
│ ├── index.html
│ ├── test
│ │ ├── attr-for-selected-elements.html
│ │ ├── content-element.html
│ │ └── index.html
│ ├── bower.json
│ └── .bower.json
├── jquery
│ ├── src
│ │ ├── var
│ │ │ ├── arr.js
│ │ │ ├── document.js
│ │ │ ├── getProto.js
│ │ │ ├── push.js
│ │ │ ├── class2type.js
│ │ │ ├── concat.js
│ │ │ ├── slice.js
│ │ │ ├── indexOf.js
│ │ │ ├── pnum.js
│ │ │ ├── fnToString.js
│ │ │ ├── toString.js
│ │ │ ├── hasOwn.js
│ │ │ ├── documentElement.js
│ │ │ ├── support.js
│ │ │ ├── ObjectFunctionString.js
│ │ │ ├── rcssNum.js
│ │ │ └── rnothtmlwhite.js
│ │ ├── selector.js
│ │ ├── ajax
│ │ │ ├── var
│ │ │ │ ├── rquery.js
│ │ │ │ ├── location.js
│ │ │ │ └── nonce.js
│ │ │ └── parseXML.js
│ │ ├── css
│ │ │ ├── var
│ │ │ │ ├── rmargin.js
│ │ │ │ ├── cssExpand.js
│ │ │ │ ├── rnumnonpx.js
│ │ │ │ ├── getStyles.js
│ │ │ │ ├── swap.js
│ │ │ │ └── isHiddenWithinTree.js
│ │ │ ├── hiddenVisibleSelectors.js
│ │ │ └── addGetHookIf.js
│ │ ├── data
│ │ │ └── var
│ │ │ │ ├── dataPriv.js
│ │ │ │ ├── dataUser.js
│ │ │ │ └── acceptData.js
│ │ ├── manipulation
│ │ │ ├── var
│ │ │ │ ├── rcheckableType.js
│ │ │ │ ├── rscriptType.js
│ │ │ │ └── rtagName.js
│ │ │ ├── _evalUrl.js
│ │ │ ├── setGlobalEval.js
│ │ │ ├── getAll.js
│ │ │ ├── wrapMap.js
│ │ │ └── support.js
│ │ ├── core
│ │ │ ├── var
│ │ │ │ └── rsingleTag.js
│ │ │ ├── readyException.js
│ │ │ ├── DOMEval.js
│ │ │ ├── stripAndCollapse.js
│ │ │ ├── support.js
│ │ │ └── access.js
│ │ ├── traversing
│ │ │ └── var
│ │ │ │ ├── rneedsContext.js
│ │ │ │ ├── siblings.js
│ │ │ │ └── dir.js
│ │ ├── event
│ │ │ ├── support.js
│ │ │ ├── ajax.js
│ │ │ ├── alias.js
│ │ │ └── focusin.js
│ │ ├── attributes.js
│ │ ├── effects
│ │ │ └── animatedSelector.js
│ │ ├── .eslintrc.json
│ │ ├── selector-sizzle.js
│ │ ├── deprecated.js
│ │ ├── deferred
│ │ │ └── exceptionHook.js
│ │ ├── queue
│ │ │ └── delay.js
│ │ ├── exports
│ │ │ ├── global.js
│ │ │ └── amd.js
│ │ ├── jquery.js
│ │ └── attributes
│ │ │ └── support.js
│ ├── bower.json
│ ├── .bower.json
│ ├── LICENSE.txt
│ └── external
│ │ └── sizzle
│ │ └── LICENSE.txt
├── promise-polyfill
│ ├── promise-polyfill.html
│ ├── promise-polyfill-lite.html
│ ├── README.md
│ ├── bower.json
│ ├── Gruntfile.js
│ ├── .bower.json
│ ├── package.json
│ ├── LICENSE
│ ├── Promise-Statics.js
│ └── Promise.min.js
├── bootstrap
│ ├── Gemfile
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── grunt
│ │ ├── .jshintrc
│ │ ├── bs-commonjs-generator.js
│ │ ├── bs-raw-files-generator.js
│ │ ├── configBridge.json
│ │ ├── bs-glyphicons-data-generator.js
│ │ └── sauce_browsers.yml
│ ├── dist
│ │ ├── fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ └── glyphicons-halflings-regular.woff2
│ │ └── js
│ │ │ └── npm.js
│ ├── less
│ │ ├── mixins
│ │ │ ├── center-block.less
│ │ │ ├── size.less
│ │ │ ├── opacity.less
│ │ │ ├── text-emphasis.less
│ │ │ ├── text-overflow.less
│ │ │ ├── background-variant.less
│ │ │ ├── labels.less
│ │ │ ├── resize.less
│ │ │ ├── progress-bar.less
│ │ │ ├── nav-divider.less
│ │ │ ├── reset-filter.less
│ │ │ ├── alerts.less
│ │ │ ├── tab-focus.less
│ │ │ ├── nav-vertical-align.less
│ │ │ ├── responsive-visibility.less
│ │ │ ├── border-radius.less
│ │ │ ├── reset-text.less
│ │ │ ├── pagination.less
│ │ │ ├── panels.less
│ │ │ ├── hide-text.less
│ │ │ ├── list-group.less
│ │ │ ├── clearfix.less
│ │ │ ├── table-row.less
│ │ │ ├── image.less
│ │ │ └── buttons.less
│ │ ├── .csslintrc
│ │ ├── wells.less
│ │ ├── breadcrumbs.less
│ │ ├── responsive-embed.less
│ │ ├── component-animations.less
│ │ ├── close.less
│ │ ├── thumbnails.less
│ │ ├── utilities.less
│ │ ├── pager.less
│ │ ├── media.less
│ │ ├── mixins.less
│ │ ├── labels.less
│ │ ├── jumbotron.less
│ │ ├── badges.less
│ │ ├── bootstrap.less
│ │ ├── code.less
│ │ └── grid.less
│ ├── js
│ │ └── .jshintrc
│ ├── CHANGELOG.md
│ ├── nuget
│ │ ├── MyGet.ps1
│ │ ├── bootstrap.nuspec
│ │ └── bootstrap.less.nuspec
│ ├── bower.json
│ ├── package.js
│ ├── .bower.json
│ ├── Gemfile.lock
│ ├── LICENSE
│ └── ISSUE_TEMPLATE.md
├── webcomponentsjs
│ ├── bower.json
│ ├── .bower.json
│ └── package.json
└── polymer
│ ├── bower.json
│ ├── .bower.json
│ └── LICENSE.txt
├── step-01
├── .bowerrc
├── bower.json
└── index.html
├── step-02
├── .bowerrc
├── bower.json
├── elements
│ └── beer-list-item.html
└── index.html
├── step-03
├── .bowerrc
├── bower.json
├── index.html
└── elements
│ └── beer-list-item.html
├── step-04
├── .bowerrc
├── bower.json
├── index.html
└── elements
│ └── beer-list-item.html
├── step-05
├── .bowerrc
├── bower.json
├── index.html
└── elements
│ └── beer-list-item.html
├── step-06
├── .bowerrc
├── bower.json
├── index.html
└── elements
│ └── beer-list-item.html
├── step-07
├── .bowerrc
├── bower.json
└── elements
│ └── beer-list-item.html
├── step-08
├── .bowerrc
├── img
│ └── back.png
├── bower.json
└── elements
│ └── beer-list-item.html
├── img
├── ChimayRed.jpg
├── logo-25px.png
├── logo-40px.png
├── logo-250px.png
├── logo-500px.png
├── logo-500px0.png
├── step-02_01.jpg
├── step-04_01.jpg
├── step-04_02.jpg
├── step-05_01.jpg
├── step-06_01.jpg
├── step-07_01.jpg
├── step-08_01.jpg
├── step-08_02.jpg
├── AffligemBlond.jpg
├── AffligemDubbel.jpg
├── AffligemTripel.jpg
├── ChimayTriple.jpg
├── ChimayRed-label.png
├── StBernardusAbt12.jpg
├── AffligemBlond-label.png
├── ChimayTriple-label.png
├── StBernardusPater6.jpg
├── StBernardusTripel.jpg
├── AffligemDubbel-label.png
├── AffligemTripel-label.png
├── TrappistesRochefort10.jpg
├── TrappistesRochefort6.jpg
├── TrappistesRochefort8.jpg
├── StBernardusAbt12-label.png
├── StBernardusPater6-label.png
├── StBernardusTripel-label.png
├── TrappistesRochefort6-label.png
├── TrappistesRochefort8-label.png
└── TrappistesRochefort10-label.png
├── data
└── beers
│ ├── img
│ ├── ChimayRed.jpg
│ ├── AffligemBlond.jpg
│ ├── ChimayTriple.jpg
│ ├── AffligemDubbel.jpg
│ ├── AffligemTripel.jpg
│ ├── ChimayRed-label.png
│ ├── ChimayTriple-label.png
│ ├── StBernardusAbt12.jpg
│ ├── StBernardusPater6.jpg
│ ├── StBernardusTripel.jpg
│ ├── AffligemBlond-label.png
│ ├── AffligemDubbel-label.png
│ ├── AffligemTripel-label.png
│ ├── TrappistesRochefort6.jpg
│ ├── TrappistesRochefort8.jpg
│ ├── StBernardusAbt12-label.png
│ ├── StBernardusPater6-label.png
│ ├── StBernardusTripel-label.png
│ ├── TrappistesRochefort10.jpg
│ ├── TrappistesRochefort10-label.png
│ ├── TrappistesRochefort6-label.png
│ └── TrappistesRochefort8-label.png
│ └── details
│ ├── TrappistesRochefort8.json
│ ├── AffligemBlond.json
│ ├── AffligemTripel.json
│ ├── AffligemDubbel.json
│ ├── StBernardusPater6.json
│ ├── StBernardusAbt12.json
│ ├── StBernardusTripel.json
│ ├── TrappistesRochefort10.json
│ ├── TrappistesRochefort6.json
│ ├── ChimayRed.json
│ └── ChimayTriple.json
├── docker_run.sh
├── docker_build.sh
└── Dockerfile
/app/css/.touch:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/elements/.touch:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | app-old
2 | .idea
3 | .DS_Store
4 | *.iml
5 |
--------------------------------------------------------------------------------
/bower_components/app-route/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 |
--------------------------------------------------------------------------------
/app/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/bower_components/iron-location/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 |
--------------------------------------------------------------------------------
/step-01/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-02/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-03/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-04/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-05/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-06/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-07/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/step-08/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "../bower_components"
3 | }
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/.gitignore:
--------------------------------------------------------------------------------
1 | bower_components
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/img/ChimayRed.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/ChimayRed.jpg
--------------------------------------------------------------------------------
/img/logo-25px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/logo-25px.png
--------------------------------------------------------------------------------
/img/logo-40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/logo-40px.png
--------------------------------------------------------------------------------
/img/logo-250px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/logo-250px.png
--------------------------------------------------------------------------------
/img/logo-500px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/logo-500px.png
--------------------------------------------------------------------------------
/img/logo-500px0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/logo-500px0.png
--------------------------------------------------------------------------------
/img/step-02_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-02_01.jpg
--------------------------------------------------------------------------------
/img/step-04_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-04_01.jpg
--------------------------------------------------------------------------------
/img/step-04_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-04_02.jpg
--------------------------------------------------------------------------------
/img/step-05_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-05_01.jpg
--------------------------------------------------------------------------------
/img/step-06_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-06_01.jpg
--------------------------------------------------------------------------------
/img/step-07_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-07_01.jpg
--------------------------------------------------------------------------------
/img/step-08_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-08_01.jpg
--------------------------------------------------------------------------------
/img/step-08_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/step-08_02.jpg
--------------------------------------------------------------------------------
/img/AffligemBlond.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/AffligemBlond.jpg
--------------------------------------------------------------------------------
/img/AffligemDubbel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/AffligemDubbel.jpg
--------------------------------------------------------------------------------
/img/AffligemTripel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/AffligemTripel.jpg
--------------------------------------------------------------------------------
/img/ChimayTriple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/ChimayTriple.jpg
--------------------------------------------------------------------------------
/step-08/img/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/step-08/img/back.png
--------------------------------------------------------------------------------
/img/ChimayRed-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/ChimayRed-label.png
--------------------------------------------------------------------------------
/img/StBernardusAbt12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/StBernardusAbt12.jpg
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/arr.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return [];
5 | } );
6 |
--------------------------------------------------------------------------------
/img/AffligemBlond-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/AffligemBlond-label.png
--------------------------------------------------------------------------------
/img/ChimayTriple-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/ChimayTriple-label.png
--------------------------------------------------------------------------------
/img/StBernardusPater6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/StBernardusPater6.jpg
--------------------------------------------------------------------------------
/img/StBernardusTripel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/StBernardusTripel.jpg
--------------------------------------------------------------------------------
/bower_components/jquery/src/selector.js:
--------------------------------------------------------------------------------
1 | define( [ "./selector-sizzle" ], function() {
2 | "use strict";
3 | } );
4 |
--------------------------------------------------------------------------------
/data/beers/img/ChimayRed.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/ChimayRed.jpg
--------------------------------------------------------------------------------
/img/AffligemDubbel-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/AffligemDubbel-label.png
--------------------------------------------------------------------------------
/img/AffligemTripel-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/AffligemTripel-label.png
--------------------------------------------------------------------------------
/img/TrappistesRochefort10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/TrappistesRochefort10.jpg
--------------------------------------------------------------------------------
/img/TrappistesRochefort6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/TrappistesRochefort6.jpg
--------------------------------------------------------------------------------
/img/TrappistesRochefort8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/TrappistesRochefort8.jpg
--------------------------------------------------------------------------------
/data/beers/img/AffligemBlond.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/AffligemBlond.jpg
--------------------------------------------------------------------------------
/data/beers/img/ChimayTriple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/ChimayTriple.jpg
--------------------------------------------------------------------------------
/img/StBernardusAbt12-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/StBernardusAbt12-label.png
--------------------------------------------------------------------------------
/img/StBernardusPater6-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/StBernardusPater6-label.png
--------------------------------------------------------------------------------
/img/StBernardusTripel-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/StBernardusTripel-label.png
--------------------------------------------------------------------------------
/bower_components/jquery/src/ajax/var/rquery.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return ( /\?/ );
5 | } );
6 |
--------------------------------------------------------------------------------
/data/beers/img/AffligemDubbel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/AffligemDubbel.jpg
--------------------------------------------------------------------------------
/data/beers/img/AffligemTripel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/AffligemTripel.jpg
--------------------------------------------------------------------------------
/data/beers/img/ChimayRed-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/ChimayRed-label.png
--------------------------------------------------------------------------------
/img/TrappistesRochefort6-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/TrappistesRochefort6-label.png
--------------------------------------------------------------------------------
/img/TrappistesRochefort8-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/TrappistesRochefort8-label.png
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/var/rmargin.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return ( /^margin/ );
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/document.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return window.document;
5 | } );
6 |
--------------------------------------------------------------------------------
/data/beers/img/ChimayTriple-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/ChimayTriple-label.png
--------------------------------------------------------------------------------
/data/beers/img/StBernardusAbt12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/StBernardusAbt12.jpg
--------------------------------------------------------------------------------
/data/beers/img/StBernardusPater6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/StBernardusPater6.jpg
--------------------------------------------------------------------------------
/data/beers/img/StBernardusTripel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/StBernardusTripel.jpg
--------------------------------------------------------------------------------
/img/TrappistesRochefort10-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/img/TrappistesRochefort10-label.png
--------------------------------------------------------------------------------
/bower_components/jquery/src/ajax/var/location.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return window.location;
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/getProto.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return Object.getPrototypeOf;
5 | } );
6 |
--------------------------------------------------------------------------------
/data/beers/img/AffligemBlond-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/AffligemBlond-label.png
--------------------------------------------------------------------------------
/data/beers/img/AffligemDubbel-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/AffligemDubbel-label.png
--------------------------------------------------------------------------------
/data/beers/img/AffligemTripel-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/AffligemTripel-label.png
--------------------------------------------------------------------------------
/data/beers/img/TrappistesRochefort6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/TrappistesRochefort6.jpg
--------------------------------------------------------------------------------
/data/beers/img/TrappistesRochefort8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/TrappistesRochefort8.jpg
--------------------------------------------------------------------------------
/data/beers/img/StBernardusAbt12-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/StBernardusAbt12-label.png
--------------------------------------------------------------------------------
/data/beers/img/StBernardusPater6-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/StBernardusPater6-label.png
--------------------------------------------------------------------------------
/data/beers/img/StBernardusTripel-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/StBernardusTripel-label.png
--------------------------------------------------------------------------------
/data/beers/img/TrappistesRochefort10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/TrappistesRochefort10.jpg
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/push.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | "use strict";
5 |
6 | return arr.push;
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/class2type.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | // [[Class]] -> type pairs
5 | return {};
6 | } );
7 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/concat.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | "use strict";
5 |
6 | return arr.concat;
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/slice.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | "use strict";
5 |
6 | return arr.slice;
7 | } );
8 |
--------------------------------------------------------------------------------
/data/beers/img/TrappistesRochefort10-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/TrappistesRochefort10-label.png
--------------------------------------------------------------------------------
/data/beers/img/TrappistesRochefort6-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/TrappistesRochefort6-label.png
--------------------------------------------------------------------------------
/data/beers/img/TrappistesRochefort8-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/data/beers/img/TrappistesRochefort8-label.png
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/var/cssExpand.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return [ "Top", "Right", "Bottom", "Left" ];
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/indexOf.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | "use strict";
5 |
6 | return arr.indexOf;
7 | } );
8 |
--------------------------------------------------------------------------------
/app/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | }
7 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/data/var/dataPriv.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../Data"
3 | ], function( Data ) {
4 | "use strict";
5 |
6 | return new Data();
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/data/var/dataUser.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../Data"
3 | ], function( Data ) {
4 | "use strict";
5 |
6 | return new Data();
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/var/rcheckableType.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return ( /^(?:checkbox|radio)$/i );
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/var/rscriptType.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return ( /^$|\/(?:java|ecma)script/i );
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/pnum.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/promise-polyfill.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/ajax/var/nonce.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core"
3 | ], function( jQuery ) {
4 | "use strict";
5 |
6 | return jQuery.now();
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/var/rtagName.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
5 | } );
6 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/fnToString.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./hasOwn"
3 | ], function( hasOwn ) {
4 | "use strict";
5 |
6 | return hasOwn.toString;
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/toString.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./class2type"
3 | ], function( class2type ) {
4 | "use strict";
5 |
6 | return class2type.toString;
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/hasOwn.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./class2type"
3 | ], function( class2type ) {
4 | "use strict";
5 |
6 | return class2type.hasOwnProperty;
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | group :development, :test do
4 | gem 'jekyll', '~> 3.1.2'
5 | gem 'jekyll-sitemap', '~> 0.11.0'
6 | end
7 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/documentElement.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./document"
3 | ], function( document ) {
4 | "use strict";
5 |
6 | return document.documentElement;
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/support.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | // All support tests are defined in their respective modules.
5 | return {};
6 | } );
7 |
--------------------------------------------------------------------------------
/docker_run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | echo "Starting app ..."
4 | echo "Browse to http://localhost:8000/step-08/index.html#/beers"
5 | docker run --rm -it -p 8000:8000 mjbright/polymer
6 |
7 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/bower_components/bootstrap/grunt/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends" : "../js/.jshintrc",
3 | "asi" : false,
4 | "browser" : false,
5 | "es3" : false,
6 | "node" : true
7 | }
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/ObjectFunctionString.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./fnToString"
3 | ], function( fnToString ) {
4 | "use strict";
5 |
6 | return fnToString.call( Object );
7 | } );
8 |
--------------------------------------------------------------------------------
/step-01/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.6"
7 | }
8 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostInBrittany/polymer-beers/HEAD/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/center-block.less:
--------------------------------------------------------------------------------
1 | // Center-align a block level element
2 |
3 | .center-block() {
4 | display: block;
5 | margin-left: auto;
6 | margin-right: auto;
7 | }
8 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/var/rnumnonpx.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../var/pnum"
3 | ], function( pnum ) {
4 | "use strict";
5 |
6 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
7 | } );
8 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/size.less:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | .size(@width; @height) {
4 | width: @width;
5 | height: @height;
6 | }
7 |
8 | .square(@size) {
9 | .size(@size; @size);
10 | }
11 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/var/rsingleTag.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | // Match a standalone tag
5 | return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
6 | } );
7 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/traversing/var/rneedsContext.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core",
3 | "../../selector"
4 | ], function( jQuery ) {
5 | "use strict";
6 |
7 | return jQuery.expr.match.needsContext;
8 | } );
9 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/opacity.less:
--------------------------------------------------------------------------------
1 | // Opacity
2 |
3 | .opacity(@opacity) {
4 | opacity: @opacity;
5 | // IE8 filter
6 | @opacity-ie: (@opacity * 100);
7 | filter: ~"alpha(opacity=@{opacity-ie})";
8 | }
9 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/text-emphasis.less:
--------------------------------------------------------------------------------
1 | // Typography
2 |
3 | .text-emphasis-variant(@color) {
4 | color: @color;
5 | a&:hover,
6 | a&:focus {
7 | color: darken(@color, 10%);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/rcssNum.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/pnum"
3 | ], function( pnum ) {
4 |
5 | "use strict";
6 |
7 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
8 |
9 | } );
10 |
--------------------------------------------------------------------------------
/step-05/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0"
8 | }
9 | }
--------------------------------------------------------------------------------
/step-04/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0"
8 | }
9 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/event/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/support"
3 | ], function( support ) {
4 |
5 | "use strict";
6 |
7 | support.focusin = "onfocusin" in window;
8 |
9 | return support;
10 |
11 | } );
12 |
--------------------------------------------------------------------------------
/step-02/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/step-03/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/text-overflow.less:
--------------------------------------------------------------------------------
1 | // Text overflow
2 | // Requires inline-block or block for proper styling
3 |
4 | .text-overflow() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/background-variant.less:
--------------------------------------------------------------------------------
1 | // Contextual backgrounds
2 |
3 | .bg-variant(@color) {
4 | background-color: @color;
5 | a&:hover,
6 | a&:focus {
7 | background-color: darken(@color, 10%);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/labels.less:
--------------------------------------------------------------------------------
1 | // Labels
2 |
3 | .label-variant(@color) {
4 | background-color: @color;
5 |
6 | &[href] {
7 | &:hover,
8 | &:focus {
9 | background-color: darken(@color, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/resize.less:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | .resizable(@direction) {
4 | resize: @direction; // Options: horizontal, vertical, both
5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6 | }
7 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/promise-polyfill-lite.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/progress-bar.less:
--------------------------------------------------------------------------------
1 | // Progress bars
2 |
3 | .progress-bar-variant(@color) {
4 | background-color: @color;
5 |
6 | // Deprecated parent class requirement as of v3.2.0
7 | .progress-striped & {
8 | #gradient > .striped();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/readyException.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | jQuery.readyException = function( error ) {
8 | window.setTimeout( function() {
9 | throw error;
10 | } );
11 | };
12 |
13 | } );
14 |
--------------------------------------------------------------------------------
/bower_components/jquery/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "main": "dist/jquery.js",
4 | "license": "MIT",
5 | "ignore": [
6 | "package.json"
7 | ],
8 | "keywords": [
9 | "jquery",
10 | "javascript",
11 | "browser",
12 | "library"
13 | ]
14 | }
--------------------------------------------------------------------------------
/step-06/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0",
8 | "iron-ajax": "PolymerElements/iron-ajax#~1.4.3"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/var/rnothtmlwhite.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | // Only count HTML whitespace
5 | // Other whitespace should count in values
6 | // https://html.spec.whatwg.org/multipage/infrastructure.html#space-character
7 | return ( /[^\x20\t\r\n\f]+/g );
8 | } );
9 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/nav-divider.less:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | .nav-divider(@color: #e5e5e5) {
6 | height: 1px;
7 | margin: ((@line-height-computed / 2) - 1) 0;
8 | overflow: hidden;
9 | background-color: @color;
10 | }
11 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/reset-filter.less:
--------------------------------------------------------------------------------
1 | // Reset filters for IE
2 | //
3 | // When you need to remove a gradient background, do not forget to use this to reset
4 | // the IE filter for IE9 and below.
5 |
6 | .reset-filter() {
7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
8 | }
9 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/attributes.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core",
3 | "./attributes/attr",
4 | "./attributes/prop",
5 | "./attributes/classes",
6 | "./attributes/val"
7 | ], function( jQuery ) {
8 |
9 | "use strict";
10 |
11 | // Return jQuery for attributes-only inclusion
12 | return jQuery;
13 | } );
14 |
--------------------------------------------------------------------------------
/step-07/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0",
8 | "iron-ajax": "PolymerElements/iron-ajax#~1.4.3",
9 | "app-route": "PolymerElements/app-route#~0.9.3"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/alerts.less:
--------------------------------------------------------------------------------
1 | // Alerts
2 |
3 | .alert-variant(@background; @border; @text-color) {
4 | background-color: @background;
5 | border-color: @border;
6 | color: @text-color;
7 |
8 | hr {
9 | border-top-color: darken(@border, 5%);
10 | }
11 | .alert-link {
12 | color: darken(@text-color, 10%);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/traversing/var/siblings.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | "use strict";
4 |
5 | return function( n, elem ) {
6 | var matched = [];
7 |
8 | for ( ; n; n = n.nextSibling ) {
9 | if ( n.nodeType === 1 && n !== elem ) {
10 | matched.push( n );
11 | }
12 | }
13 |
14 | return matched;
15 | };
16 |
17 | } );
18 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/README.md:
--------------------------------------------------------------------------------
1 | # Promise Polyfill
2 |
3 | Note: this is an unsolicited fork of [taylorhakes/promise-polyfill](https://github.com/taylorhakes/promise-polyfill)
4 | and should be considered experimental and unstable compared to upstream.
5 |
6 | ## Testing
7 | ```
8 | npm install
9 | npm test
10 | ```
11 |
12 | ## License
13 | MIT
14 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/effects/animatedSelector.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../selector",
4 | "../effects"
5 | ], function( jQuery ) {
6 |
7 | "use strict";
8 |
9 | jQuery.expr.pseudos.animated = function( elem ) {
10 | return jQuery.grep( jQuery.timers, function( fn ) {
11 | return elem === fn.elem;
12 | } ).length;
13 | };
14 |
15 | } );
16 |
--------------------------------------------------------------------------------
/docker_build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | die() {
4 | echo "$0: die - $*" >&2
5 | exit 1
6 | }
7 |
8 | IMAGE_TAG=mjbright/polymer
9 | DOCKERFILE=Dockerfile
10 | DOCKERHUB_USER=mjbright
11 |
12 | echo; echo "---- build image: ----"
13 | #CMD="docker build -t $IMAGE_TAG ."
14 | CMD="docker build -f $DOCKERFILE -t $IMAGE_TAG ."
15 | echo $CMD
16 | $CMD || die "Build failed"
17 |
18 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/js/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "asi" : true,
3 | "browser" : true,
4 | "eqeqeq" : false,
5 | "eqnull" : true,
6 | "es3" : true,
7 | "expr" : true,
8 | "jquery" : true,
9 | "latedef" : true,
10 | "laxbreak" : true,
11 | "nonbsp" : true,
12 | "strict" : true,
13 | "undef" : true,
14 | "unused" : true
15 | }
16 |
--------------------------------------------------------------------------------
/step-08/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer-beers",
3 | "version": "0.0.0",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "dependencies": {
6 | "bootstrap": "~3.3.7",
7 | "polymer": "~1.7.0",
8 | "iron-ajax": "PolymerElements/iron-ajax#~1.4.3",
9 | "iron-pages": "PolymerElements/iron-pages#~1.0.8",
10 | "app-route": "PolymerElements/app-route#~0.9.3"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/tab-focus.less:
--------------------------------------------------------------------------------
1 | // WebKit-style focus
2 |
3 | .tab-focus() {
4 | // WebKit-specific. Other browsers will keep their default outline style.
5 | // (Initially tried to also force default via `outline: initial`,
6 | // but that seems to erroneously remove the outline in Firefox altogether.)
7 | outline: 5px auto -webkit-focus-ring-color;
8 | outline-offset: -2px;
9 | }
10 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/DOMEval.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document"
3 | ], function( document ) {
4 | "use strict";
5 |
6 | function DOMEval( code, doc ) {
7 | doc = doc || document;
8 |
9 | var script = doc.createElement( "script" );
10 |
11 | script.text = code;
12 | doc.head.appendChild( script ).parentNode.removeChild( script );
13 | }
14 |
15 | return DOMEval;
16 | } );
17 |
--------------------------------------------------------------------------------
/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/hiddenVisibleSelectors.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../selector"
4 | ], function( jQuery ) {
5 |
6 | "use strict";
7 |
8 | jQuery.expr.pseudos.hidden = function( elem ) {
9 | return !jQuery.expr.pseudos.visible( elem );
10 | };
11 | jQuery.expr.pseudos.visible = function( elem ) {
12 | return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
13 | };
14 |
15 | } );
16 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/nav-vertical-align.less:
--------------------------------------------------------------------------------
1 | // Navbar vertical align
2 | //
3 | // Vertically center elements in the navbar.
4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5 |
6 | .navbar-vertical-align(@element-height) {
7 | margin-top: ((@navbar-height - @element-height) / 2);
8 | margin-bottom: ((@navbar-height - @element-height) / 2);
9 | }
10 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/data/var/acceptData.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | "use strict";
4 |
5 | /**
6 | * Determines whether an object can have data
7 | */
8 | return function( owner ) {
9 |
10 | // Accepts only:
11 | // - Node
12 | // - Node.ELEMENT_NODE
13 | // - Node.DOCUMENT_NODE
14 | // - Object
15 | // - Any
16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
17 | };
18 |
19 | } );
20 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs.
2 |
3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
4 |
5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
6 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/responsive-visibility.less:
--------------------------------------------------------------------------------
1 | // Responsive utilities
2 |
3 | //
4 | // More easily include all the states for responsive-utilities.less.
5 | .responsive-visibility() {
6 | display: block !important;
7 | table& { display: table !important; }
8 | tr& { display: table-row !important; }
9 | th&,
10 | td& { display: table-cell !important; }
11 | }
12 |
13 | .responsive-invisibility() {
14 | display: none !important;
15 | }
16 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | // Support: IE <=9 only, Android <=4.0 only
3 | // The above browsers are failing a lot of tests in the ES5
4 | // test suite at http://test262.ecmascript.org.
5 | "parserOptions": {
6 | "ecmaVersion": 3
7 | },
8 | "globals": {
9 | "window": true,
10 | "jQuery": true,
11 | "define": true,
12 | "module": true,
13 | "noGlobal": true
14 | },
15 | "rules": {
16 | "strict": ["error", "function"]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/stripAndCollapse.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/rnothtmlwhite"
3 | ], function( rnothtmlwhite ) {
4 | "use strict";
5 |
6 | // Strip and collapse whitespace according to HTML spec
7 | // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
8 | function stripAndCollapse( value ) {
9 | var tokens = value.match( rnothtmlwhite ) || [];
10 | return tokens.join( " " );
11 | }
12 |
13 | return stripAndCollapse;
14 | } );
15 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/event/ajax.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../event"
4 | ], function( jQuery ) {
5 |
6 | "use strict";
7 |
8 | // Attach a bunch of functions for handling common AJAX events
9 | jQuery.each( [
10 | "ajaxStart",
11 | "ajaxStop",
12 | "ajaxComplete",
13 | "ajaxError",
14 | "ajaxSuccess",
15 | "ajaxSend"
16 | ], function( i, type ) {
17 | jQuery.fn[ type ] = function( fn ) {
18 | return this.on( type, fn );
19 | };
20 | } );
21 |
22 | } );
23 |
--------------------------------------------------------------------------------
/data/beers/details/TrappistesRochefort8.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 9.2,
3 | "availability": "Year round",
4 | "brewery": "Rochefort Brewery (Brasserie de Rochefort)",
5 | "description": "A dry but rich flavoured beer with complex fruity and spicy flavours.",
6 | "id": "TrappistesRochefort8",
7 | "img": "beers/img/TrappistesRochefort8.jpg",
8 | "label": "beers/img/TrappistesRochefort8-label.png",
9 | "name": "Rochefort 8",
10 | "serving": "Serve in a Snifter",
11 | "style": "Trappiste"
12 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/_evalUrl.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../ajax"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | jQuery._evalUrl = function( url ) {
8 | return jQuery.ajax( {
9 | url: url,
10 |
11 | // Make this explicit, since user can override this through ajaxSetup (#11264)
12 | type: "GET",
13 | dataType: "script",
14 | cache: true,
15 | async: false,
16 | global: false,
17 | "throws": true
18 | } );
19 | };
20 |
21 | return jQuery._evalUrl;
22 |
23 | } );
24 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/nuget/MyGet.ps1:
--------------------------------------------------------------------------------
1 | $nuget = $env:NuGet
2 |
3 | # parse the version number out of package.json
4 | $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version
5 |
6 | # create packages
7 | & $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
8 | & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
9 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/var/getStyles.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | "use strict";
3 |
4 | return function( elem ) {
5 |
6 | // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
7 | // IE throws on elements created in popups
8 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
9 | var view = elem.ownerDocument.defaultView;
10 |
11 | if ( !view || !view.opener ) {
12 | view = window;
13 | }
14 |
15 | return view.getComputedStyle( elem );
16 | };
17 | } );
18 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/traversing/var/dir.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | return function( elem, dir, until ) {
8 | var matched = [],
9 | truncate = until !== undefined;
10 |
11 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
12 | if ( elem.nodeType === 1 ) {
13 | if ( truncate && jQuery( elem ).is( until ) ) {
14 | break;
15 | }
16 | matched.push( elem );
17 | }
18 | }
19 | return matched;
20 | };
21 |
22 | } );
23 |
--------------------------------------------------------------------------------
/data/beers/details/AffligemBlond.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 6.8,
3 | "availability": "Year round",
4 | "brewery": "Brasserie Affligem (Heineken)",
5 | "description": "Affligem Blonde, the classic clear blonde abbey ale, with a gentle roundness and 6.8% alcohol. Low on bitterness, it is eminently drinkable.",
6 | "id": "AffligemBlond",
7 | "img": "beers/img/AffligemBlond.jpg",
8 | "label": "beers/img/AffligemBlond-label.png",
9 | "name": "Affligem Blond",
10 | "serving": "Serve in a Snifter",
11 | "style": "Belgian-Style Blonde Ale"
12 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/setGlobalEval.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../data/var/dataPriv"
3 | ], function( dataPriv ) {
4 |
5 | "use strict";
6 |
7 | // Mark scripts as having already been evaluated
8 | function setGlobalEval( elems, refElements ) {
9 | var i = 0,
10 | l = elems.length;
11 |
12 | for ( ; i < l; i++ ) {
13 | dataPriv.set(
14 | elems[ i ],
15 | "globalEval",
16 | !refElements || dataPriv.get( refElements[ i ], "globalEval" )
17 | );
18 | }
19 | }
20 |
21 | return setGlobalEval;
22 | } );
23 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/selector-sizzle.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core",
3 | "../external/sizzle/dist/sizzle"
4 | ], function( jQuery, Sizzle ) {
5 |
6 | "use strict";
7 |
8 | jQuery.find = Sizzle;
9 | jQuery.expr = Sizzle.selectors;
10 |
11 | // Deprecated
12 | jQuery.expr[ ":" ] = jQuery.expr.pseudos;
13 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
14 | jQuery.text = Sizzle.getText;
15 | jQuery.isXMLDoc = Sizzle.isXML;
16 | jQuery.contains = Sizzle.contains;
17 | jQuery.escapeSelector = Sizzle.escape;
18 |
19 | } );
20 |
--------------------------------------------------------------------------------
/bower_components/webcomponentsjs/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "webcomponentsjs",
3 | "main": "webcomponents.js",
4 | "version": "0.7.22",
5 | "homepage": "http://webcomponents.org",
6 | "authors": [
7 | "The Polymer Authors"
8 | ],
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/webcomponents/webcomponentsjs.git"
12 | },
13 | "keywords": [
14 | "webcomponents"
15 | ],
16 | "license": "BSD",
17 | "ignore": [],
18 | "devDependencies": {
19 | "web-component-tester": "^4.0.1"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/dist/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/.csslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "adjoining-classes": false,
3 | "box-sizing": false,
4 | "box-model": false,
5 | "compatible-vendor-prefixes": false,
6 | "floats": false,
7 | "font-sizes": false,
8 | "gradients": false,
9 | "important": false,
10 | "known-properties": false,
11 | "outline-none": false,
12 | "qualified-headings": false,
13 | "regex-selectors": false,
14 | "shorthand": false,
15 | "text-indent": false,
16 | "unique-headings": false,
17 | "universal-selector": false,
18 | "unqualified-attributes": false
19 | }
20 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/border-radius.less:
--------------------------------------------------------------------------------
1 | // Single side border-radius
2 |
3 | .border-top-radius(@radius) {
4 | border-top-right-radius: @radius;
5 | border-top-left-radius: @radius;
6 | }
7 | .border-right-radius(@radius) {
8 | border-bottom-right-radius: @radius;
9 | border-top-right-radius: @radius;
10 | }
11 | .border-bottom-radius(@radius) {
12 | border-bottom-right-radius: @radius;
13 | border-bottom-left-radius: @radius;
14 | }
15 | .border-left-radius(@radius) {
16 | border-bottom-left-radius: @radius;
17 | border-top-left-radius: @radius;
18 | }
19 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/reset-text.less:
--------------------------------------------------------------------------------
1 | .reset-text() {
2 | font-family: @font-family-base;
3 | // We deliberately do NOT reset font-size.
4 | font-style: normal;
5 | font-weight: normal;
6 | letter-spacing: normal;
7 | line-break: auto;
8 | line-height: @line-height-base;
9 | text-align: left; // Fallback for where `start` is not supported
10 | text-align: start;
11 | text-decoration: none;
12 | text-shadow: none;
13 | text-transform: none;
14 | white-space: normal;
15 | word-break: normal;
16 | word-spacing: normal;
17 | word-wrap: normal;
18 | }
19 |
--------------------------------------------------------------------------------
/data/beers/details/AffligemTripel.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 8.5,
3 | "availability": "Year round",
4 | "brewery": "Brasserie Affligem (Heineken)",
5 | "description": "The king of the abbey beers. It is amber-gold and pours with a deep head and original aroma, delivering a complex, full bodied flavour. Pure enjoyment! Secondary fermentation in the bottle.",
6 | "id": "AffligemTripel",
7 | "img": "beers/img/AffligemTripel.jpg",
8 | "label": "beers/img/AffligemTripel-label.png",
9 | "name": "Affligem Tripel",
10 | "serving": "Serve in a Snifter",
11 | "style": "Belgian-Style Tripel"
12 | }
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | # Docker demo image, as used on try.jupyter.org and tmpnb.org
2 |
3 | FROM python:alpine
4 |
5 | MAINTAINER Michael Bright
6 |
7 | ## # Perform initial update/upgrade to get latest packages/security updates:
8 | ## RUN apt-get update && ## \
9 | ## apt-get upgrade -y
10 |
11 | # Install git
12 | RUN apk add --update git
13 |
14 | # Clone repo
15 | RUN mkdir -p /root/src/git && \
16 | git clone https://github.com/mjbright/polymer-beers /root/src/git/polymer-beers
17 |
18 | WORKDIR /root/src/git/polymer-beers
19 |
20 | CMD python -m http.server
21 |
22 |
--------------------------------------------------------------------------------
/data/beers/details/AffligemDubbel.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 6.8,
3 | "availability": "Year round",
4 | "brewery": "Brasserie Affligem (Heineken)",
5 | "description": "A reddish-brown abbey ale brewed with dark malts. The secondary fermentation gives a fruity aroma and a unique spicy character with a distinctive aftertaste. Secondary fermentation in the bottle.",
6 | "id": "AffligemDubbel",
7 | "img": "beers/img/AffligemDubbel.jpg",
8 | "label": "beers/img/AffligemDubbel-label.png",
9 | "name": "Affligem Dubbel",
10 | "serving": "Serve in a Snifter",
11 | "style": "Belgian-Style Dubbel"
12 | }
--------------------------------------------------------------------------------
/data/beers/details/StBernardusPater6.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 6.7,
3 | "availability": "Year round",
4 | "brewery": "Brasserie St. Bernardus",
5 | "description": "This name became a reference. This beer is mostly pointed out with its product name: a Paterke. This Paterke is a dark, chestnut coloured beer with a high fermentation (6.7%) and a full taste",
6 | "id": "StBernardusPater6",
7 | "img": "beers/img/StBernardusPater6.jpg",
8 | "label": "beers/img/StBernardusPater6-label.png",
9 | "name": "St Bernardus Pater 6",
10 | "serving": "Serve in a Snifter",
11 | "style": "Belgian-Style Dubbel"
12 | }
--------------------------------------------------------------------------------
/step-04/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/step-05/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/step-06/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/pagination.less:
--------------------------------------------------------------------------------
1 | // Pagination
2 |
3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
4 | > li {
5 | > a,
6 | > span {
7 | padding: @padding-vertical @padding-horizontal;
8 | font-size: @font-size;
9 | line-height: @line-height;
10 | }
11 | &:first-child {
12 | > a,
13 | > span {
14 | .border-left-radius(@border-radius);
15 | }
16 | }
17 | &:last-child {
18 | > a,
19 | > span {
20 | .border-right-radius(@border-radius);
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/data/beers/details/StBernardusAbt12.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 10.5,
3 | "availability": "Year round",
4 | "brewery": "Brasserie St. Bernardus",
5 | "description": "The top product from the Rochefort Trappist brewery. Dark colour, full and very impressive taste. Strong plum, raisin, and black currant palate, with ascending notes of vinousness and other complexities.",
6 | "id": "StBernardusAbt12",
7 | "img": "beers/img/StBernardusAbt12.jpg",
8 | "label": "beers/img/StBernardusAbt12-label.png",
9 | "name": "St Bernardus Abt 12",
10 | "serving": "Serve in a Goblet at Cellar - (12-14C/54-57F)",
11 | "type": "Fermentation haute"
12 | }
--------------------------------------------------------------------------------
/step-03/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/data/beers/details/StBernardusTripel.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 8.0,
3 | "availability": "Year round",
4 | "brewery": "Brasserie St. Bernardus",
5 | "description": "This beer, with high fermentation, has a pale amber colour and a flowery, fruity taste with a harmonious balance between sweet and sour. This beer has a thick and vivid froth and strikes its balanced taste with a delicate bitterness.",
6 | "id": "StBernardusTripel",
7 | "img": "beers/img/StBernardusTripel.jpg",
8 | "label": "beers/img/StBernardusTripel-label.png",
9 | "name": "St Bernardus Tripel",
10 | "serving": "Serve in a Snifter",
11 | "style": "Belgian-Style Tripel"
12 | }
--------------------------------------------------------------------------------
/bower_components/jquery/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "main": "dist/jquery.js",
4 | "license": "MIT",
5 | "ignore": [
6 | "package.json"
7 | ],
8 | "keywords": [
9 | "jquery",
10 | "javascript",
11 | "browser",
12 | "library"
13 | ],
14 | "homepage": "https://github.com/jquery/jquery-dist",
15 | "version": "3.1.1",
16 | "_release": "3.1.1",
17 | "_resolution": {
18 | "type": "version",
19 | "tag": "3.1.1",
20 | "commit": "1b30f3ad466ebf2714d47eda34dbd7fdf6849fe3"
21 | },
22 | "_source": "https://github.com/jquery/jquery-dist.git",
23 | "_target": "1.9.1 - 3",
24 | "_originalSource": "jquery"
25 | }
--------------------------------------------------------------------------------
/data/beers/details/TrappistesRochefort10.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 11.3,
3 | "availability": "Year round",
4 | "brewery": "Rochefort Brewery (Brasserie de Rochefort)",
5 | "description": "The top product from the Rochefort Trappist brewery. Dark colour, full and very impressive taste. Strong plum, raisin, and black currant palate, with ascending notes of vinousness and other complexities.",
6 | "id": "TrappistesRochefort10",
7 | "img": "beers/img/TrappistesRochefort10.jpg",
8 | "label": "beers/img/TrappistesRochefort10-label.png",
9 | "name": "Rochefort 10",
10 | "serving": "Serve in a Goblet at Cellar - (12-14C/54-57F)",
11 | "style": "Trappiste"
12 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/panels.less:
--------------------------------------------------------------------------------
1 | // Panels
2 |
3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
4 | border-color: @border;
5 |
6 | & > .panel-heading {
7 | color: @heading-text-color;
8 | background-color: @heading-bg-color;
9 | border-color: @heading-border;
10 |
11 | + .panel-collapse > .panel-body {
12 | border-top-color: @border;
13 | }
14 | .badge {
15 | color: @heading-bg-color;
16 | background-color: @heading-text-color;
17 | }
18 | }
19 | & > .panel-footer {
20 | + .panel-collapse > .panel-body {
21 | border-bottom-color: @border;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/wells.less:
--------------------------------------------------------------------------------
1 | //
2 | // Wells
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .well {
8 | min-height: 20px;
9 | padding: 19px;
10 | margin-bottom: 20px;
11 | background-color: @well-bg;
12 | border: 1px solid @well-border;
13 | border-radius: @border-radius-base;
14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15 | blockquote {
16 | border-color: #ddd;
17 | border-color: rgba(0,0,0,.15);
18 | }
19 | }
20 |
21 | // Sizes
22 | .well-lg {
23 | padding: 24px;
24 | border-radius: @border-radius-large;
25 | }
26 | .well-sm {
27 | padding: 9px;
28 | border-radius: @border-radius-small;
29 | }
30 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/var/swap.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | "use strict";
4 |
5 | // A method for quickly swapping in/out CSS properties to get correct calculations.
6 | return function( elem, options, callback, args ) {
7 | var ret, name,
8 | old = {};
9 |
10 | // Remember the old values, and insert the new ones
11 | for ( name in options ) {
12 | old[ name ] = elem.style[ name ];
13 | elem.style[ name ] = options[ name ];
14 | }
15 |
16 | ret = callback.apply( elem, args || [] );
17 |
18 | // Revert the old values
19 | for ( name in options ) {
20 | elem.style[ name ] = old[ name ];
21 | }
22 |
23 | return ret;
24 | };
25 |
26 | } );
27 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/hide-text.less:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | //
3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for
4 | // mixins being reused as classes with the same name, this doesn't hold up. As
5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6 | //
7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8 |
9 | // Deprecated as of v3.0.1 (has been removed in v4)
10 | .hide-text() {
11 | font: ~"0/0" a;
12 | color: transparent;
13 | text-shadow: none;
14 | background-color: transparent;
15 | border: 0;
16 | }
17 |
18 | // New mixin to use as of v3.0.1
19 | .text-hide() {
20 | .hide-text();
21 | }
22 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/addGetHookIf.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | "use strict";
4 |
5 | function addGetHookIf( conditionFn, hookFn ) {
6 |
7 | // Define the hook, we'll check on the first run if it's really needed.
8 | return {
9 | get: function() {
10 | if ( conditionFn() ) {
11 |
12 | // Hook not needed (or it's not possible to use it due
13 | // to missing dependency), remove it.
14 | delete this.get;
15 | return;
16 | }
17 |
18 | // Hook needed; redefine it so that the support test is not executed again.
19 | return ( this.get = hookFn ).apply( this, arguments );
20 | }
21 | };
22 | }
23 |
24 | return addGetHookIf;
25 |
26 | } );
27 |
--------------------------------------------------------------------------------
/data/beers/details/TrappistesRochefort6.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 7.5,
3 | "availability": "Year round",
4 | "brewery": "Rochefort Brewery (Brasserie de Rochefort)",
5 | "description": "Reddish colour, almost like autumn leaves, very consistent texture with a slightly spicy aroma and an intense taste of caramel, fruit, and hints of raisins. It is only brewed about once per year, representing approximately 1% of total beer production, thus is quite difficult to obtain.",
6 | "id": "TrappistesRochefort6",
7 | "img": "beers/img/TrappistesRochefort6.jpg",
8 | "label": "beers/img/TrappistesRochefort6-label.png",
9 | "name": "Rochefort 6",
10 | "serving": "Serve in a Snifter",
11 | "style": "Trappiste"
12 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/list-group.less:
--------------------------------------------------------------------------------
1 | // List Groups
2 |
3 | .list-group-item-variant(@state; @background; @color) {
4 | .list-group-item-@{state} {
5 | color: @color;
6 | background-color: @background;
7 |
8 | a&,
9 | button& {
10 | color: @color;
11 |
12 | .list-group-item-heading {
13 | color: inherit;
14 | }
15 |
16 | &:hover,
17 | &:focus {
18 | color: @color;
19 | background-color: darken(@background, 5%);
20 | }
21 | &.active,
22 | &.active:hover,
23 | &.active:focus {
24 | color: #fff;
25 | background-color: @color;
26 | border-color: @color;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/clearfix.less:
--------------------------------------------------------------------------------
1 | // Clearfix
2 | //
3 | // For modern browsers
4 | // 1. The space content is one way to avoid an Opera bug when the
5 | // contenteditable attribute is included anywhere else in the document.
6 | // Otherwise it causes space to appear at the top and bottom of elements
7 | // that are clearfixed.
8 | // 2. The use of `table` rather than `block` is only necessary if using
9 | // `:before` to contain the top-margins of child elements.
10 | //
11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/
12 |
13 | .clearfix() {
14 | &:before,
15 | &:after {
16 | content: " "; // 1
17 | display: table; // 2
18 | }
19 | &:after {
20 | clear: both;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/step-03/elements/beer-list-item.html:
--------------------------------------------------------------------------------
1 | !-- Import Polymer library -->
2 |
3 |
4 |
5 |
6 |
15 |
16 |
{{name}}
17 |
{{description}}
18 |
19 |
20 |
30 |
31 |
--------------------------------------------------------------------------------
/step-05/elements/beer-list-item.html:
--------------------------------------------------------------------------------
1 | !-- Import Polymer library -->
2 |
3 |
4 |
5 |
6 |
15 |
16 |
{{name}}
17 |
{{description}}
18 |
19 |
20 |
30 |
31 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/breadcrumbs.less:
--------------------------------------------------------------------------------
1 | //
2 | // Breadcrumbs
3 | // --------------------------------------------------
4 |
5 |
6 | .breadcrumb {
7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
8 | margin-bottom: @line-height-computed;
9 | list-style: none;
10 | background-color: @breadcrumb-bg;
11 | border-radius: @border-radius-base;
12 |
13 | > li {
14 | display: inline-block;
15 |
16 | + li:before {
17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
18 | padding: 0 5px;
19 | color: @breadcrumb-color;
20 | }
21 | }
22 |
23 | > .active {
24 | color: @breadcrumb-active-color;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/responsive-embed.less:
--------------------------------------------------------------------------------
1 | // Embeds responsive
2 | //
3 | // Credit: Nicolas Gallagher and SUIT CSS.
4 |
5 | .embed-responsive {
6 | position: relative;
7 | display: block;
8 | height: 0;
9 | padding: 0;
10 | overflow: hidden;
11 |
12 | .embed-responsive-item,
13 | iframe,
14 | embed,
15 | object,
16 | video {
17 | position: absolute;
18 | top: 0;
19 | left: 0;
20 | bottom: 0;
21 | height: 100%;
22 | width: 100%;
23 | border: 0;
24 | }
25 | }
26 |
27 | // Modifier class for 16:9 aspect ratio
28 | .embed-responsive-16by9 {
29 | padding-bottom: 56.25%;
30 | }
31 |
32 | // Modifier class for 4:3 aspect ratio
33 | .embed-responsive-4by3 {
34 | padding-bottom: 75%;
35 | }
36 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "promise-polyfill",
3 | "version": "1.0.0",
4 | "homepage": "https://github.com/taylorhakes/promise-polyfill",
5 | "authors": [
6 | "Taylor Hakes"
7 | ],
8 | "description": "Lightweight promise polyfill for the browser and node. A+ Compliant.",
9 | "main": "Promise.js",
10 | "moduleType": [
11 | "globals",
12 | "node"
13 | ],
14 | "keywords": [
15 | "promise",
16 | "es6",
17 | "polyfill",
18 | "html5"
19 | ],
20 | "license": "MIT",
21 | "ignore": [
22 | "**/.*",
23 | "node_modules",
24 | "bower_components",
25 | "test",
26 | "tests"
27 | ],
28 | "dependencies": {
29 | "polymer": "polymer/polymer#^1.0.0"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/data/beers/details/ChimayRed.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 7,
3 | "availability": "Year round",
4 | "brewery": "Bi\u00e8res de Chimay",
5 | "description": "This Trappist beer possesses a beautiful coppery colour that makes it particularly attractive. Topped with a creamy head, it gives off a slight fruity apricot smell from the fermentation. The aroma felt in the mouth is a balance confirming the fruit nuances revealed to the sense of smell. This traditional Belgian beer is best savoured at cellar temperature ",
6 | "id": "ChimayRed",
7 | "img": "beers/img/ChimayRed.jpg",
8 | "label": "beers/img/ChimayRed-label.png",
9 | "name": "Chimay Rouge",
10 | "serving": "Serve in a Snifter at Cool - (8-12C/45-54F)",
11 | "style": "Belgian-Style Dubbel"
12 | }
--------------------------------------------------------------------------------
/step-04/elements/beer-list-item.html:
--------------------------------------------------------------------------------
1 | !-- Import Polymer library -->
2 |
3 |
4 |
5 |
6 |
15 |
16 |
{{name}}
17 |
{{description}}
18 |
19 |
20 |
30 |
31 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/ajax/parseXML.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | // Cross-browser xml parsing
8 | jQuery.parseXML = function( data ) {
9 | var xml;
10 | if ( !data || typeof data !== "string" ) {
11 | return null;
12 | }
13 |
14 | // Support: IE 9 - 11 only
15 | // IE throws on parseFromString with invalid input.
16 | try {
17 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
18 | } catch ( e ) {
19 | xml = undefined;
20 | }
21 |
22 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
23 | jQuery.error( "Invalid XML: " + data );
24 | }
25 | return xml;
26 | };
27 |
28 | return jQuery.parseXML;
29 |
30 | } );
31 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | "use strict";
7 |
8 | // Support: Safari 8 only
9 | // In Safari 8 documents created via document.implementation.createHTMLDocument
10 | // collapse sibling forms: the second one becomes a child of the first one.
11 | // Because of that, this security measure has to be disabled in Safari 8.
12 | // https://bugs.webkit.org/show_bug.cgi?id=137337
13 | support.createHTMLDocument = ( function() {
14 | var body = document.implementation.createHTMLDocument( "" ).body;
15 | body.innerHTML = "";
16 | return body.childNodes.length === 2;
17 | } )();
18 |
19 | return support;
20 | } );
21 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/deprecated.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | jQuery.fn.extend( {
8 |
9 | bind: function( types, data, fn ) {
10 | return this.on( types, null, data, fn );
11 | },
12 | unbind: function( types, fn ) {
13 | return this.off( types, null, fn );
14 | },
15 |
16 | delegate: function( selector, types, data, fn ) {
17 | return this.on( types, selector, data, fn );
18 | },
19 | undelegate: function( selector, types, fn ) {
20 |
21 | // ( namespace ) or ( selector, types [, fn] )
22 | return arguments.length === 1 ?
23 | this.off( selector, "**" ) :
24 | this.off( types, selector || "**", fn );
25 | }
26 | } );
27 |
28 | jQuery.parseJSON = JSON.parse;
29 |
30 | } );
31 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/deferred/exceptionHook.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../deferred"
4 | ], function( jQuery ) {
5 |
6 | "use strict";
7 |
8 | // These usually indicate a programmer mistake during development,
9 | // warn about them ASAP rather than swallowing them by default.
10 | var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
11 |
12 | jQuery.Deferred.exceptionHook = function( error, stack ) {
13 |
14 | // Support: IE 8 - 9 only
15 | // Console exists when dev tools are open, which can happen at any time
16 | if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
17 | window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
18 | }
19 | };
20 |
21 | } );
22 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/queue/delay.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../queue",
4 | "../effects" // Delay is optional because of this dependency
5 | ], function( jQuery ) {
6 |
7 | "use strict";
8 |
9 | // Based off of the plugin by Clint Helfers, with permission.
10 | // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
11 | jQuery.fn.delay = function( time, type ) {
12 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
13 | type = type || "fx";
14 |
15 | return this.queue( type, function( next, hooks ) {
16 | var timeout = window.setTimeout( next, time );
17 | hooks.stop = function() {
18 | window.clearTimeout( timeout );
19 | };
20 | } );
21 | };
22 |
23 | return jQuery.fn.delay;
24 | } );
25 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap",
3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
4 | "keywords": [
5 | "css",
6 | "js",
7 | "less",
8 | "mobile-first",
9 | "responsive",
10 | "front-end",
11 | "framework",
12 | "web"
13 | ],
14 | "homepage": "http://getbootstrap.com",
15 | "license": "MIT",
16 | "moduleType": "globals",
17 | "main": [
18 | "less/bootstrap.less",
19 | "dist/js/bootstrap.js"
20 | ],
21 | "ignore": [
22 | "/.*",
23 | "_config.yml",
24 | "CNAME",
25 | "composer.json",
26 | "CONTRIBUTING.md",
27 | "docs",
28 | "js/tests",
29 | "test-infra"
30 | ],
31 | "dependencies": {
32 | "jquery": "1.9.1 - 3"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/exports/global.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery, noGlobal ) {
4 |
5 | "use strict";
6 |
7 | var
8 |
9 | // Map over jQuery in case of overwrite
10 | _jQuery = window.jQuery,
11 |
12 | // Map over the $ in case of overwrite
13 | _$ = window.$;
14 |
15 | jQuery.noConflict = function( deep ) {
16 | if ( window.$ === jQuery ) {
17 | window.$ = _$;
18 | }
19 |
20 | if ( deep && window.jQuery === jQuery ) {
21 | window.jQuery = _jQuery;
22 | }
23 |
24 | return jQuery;
25 | };
26 |
27 | // Expose jQuery and $ identifiers, even in AMD
28 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
29 | // and CommonJS for browser emulators (#13566)
30 | if ( !noGlobal ) {
31 | window.jQuery = window.$ = jQuery;
32 | }
33 |
34 | } );
35 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/getAll.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | function getAll( context, tag ) {
8 |
9 | // Support: IE <=9 - 11 only
10 | // Use typeof to avoid zero-argument method invocation on host objects (#15151)
11 | var ret;
12 |
13 | if ( typeof context.getElementsByTagName !== "undefined" ) {
14 | ret = context.getElementsByTagName( tag || "*" );
15 |
16 | } else if ( typeof context.querySelectorAll !== "undefined" ) {
17 | ret = context.querySelectorAll( tag || "*" );
18 |
19 | } else {
20 | ret = [];
21 | }
22 |
23 | if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) {
24 | return jQuery.merge( [ context ], ret );
25 | }
26 |
27 | return ret;
28 | }
29 |
30 | return getAll;
31 | } );
32 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/event/alias.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 |
4 | "../event",
5 | "./trigger"
6 | ], function( jQuery ) {
7 |
8 | "use strict";
9 |
10 | jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
11 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
12 | "change select submit keydown keypress keyup contextmenu" ).split( " " ),
13 | function( i, name ) {
14 |
15 | // Handle event binding
16 | jQuery.fn[ name ] = function( data, fn ) {
17 | return arguments.length > 0 ?
18 | this.on( name, null, data, fn ) :
19 | this.trigger( name );
20 | };
21 | } );
22 |
23 | jQuery.fn.extend( {
24 | hover: function( fnOver, fnOut ) {
25 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
26 | }
27 | } );
28 |
29 | } );
30 |
--------------------------------------------------------------------------------
/step-02/elements/beer-list-item.html:
--------------------------------------------------------------------------------
1 | !-- Import Polymer library -->
2 |
3 |
4 |
5 |
6 |
18 |
19 |
{{name}}
20 |
{{description}}
21 |
22 |
23 |
36 |
37 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/component-animations.less:
--------------------------------------------------------------------------------
1 | //
2 | // Component animations
3 | // --------------------------------------------------
4 |
5 | // Heads up!
6 | //
7 | // We don't use the `.opacity()` mixin here since it causes a bug with text
8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
9 |
10 | .fade {
11 | opacity: 0;
12 | .transition(opacity .15s linear);
13 | &.in {
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .collapse {
19 | display: none;
20 |
21 | &.in { display: block; }
22 | tr&.in { display: table-row; }
23 | tbody&.in { display: table-row-group; }
24 | }
25 |
26 | .collapsing {
27 | position: relative;
28 | height: 0;
29 | overflow: hidden;
30 | .transition-property(~"height, visibility");
31 | .transition-duration(.35s);
32 | .transition-timing-function(ease);
33 | }
34 |
--------------------------------------------------------------------------------
/bower_components/webcomponentsjs/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "webcomponentsjs",
3 | "main": "webcomponents.js",
4 | "version": "0.7.22",
5 | "homepage": "http://webcomponents.org",
6 | "authors": [
7 | "The Polymer Authors"
8 | ],
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/webcomponents/webcomponentsjs.git"
12 | },
13 | "keywords": [
14 | "webcomponents"
15 | ],
16 | "license": "BSD",
17 | "ignore": [],
18 | "devDependencies": {
19 | "web-component-tester": "^4.0.1"
20 | },
21 | "_release": "0.7.22",
22 | "_resolution": {
23 | "type": "version",
24 | "tag": "v0.7.22",
25 | "commit": "50f9751f8e638301603aebb33ba9f1e90d2b0d32"
26 | },
27 | "_source": "https://github.com/Polymer/webcomponentsjs.git",
28 | "_target": "^0.7.20",
29 | "_originalSource": "webcomponentsjs"
30 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/table-row.less:
--------------------------------------------------------------------------------
1 | // Tables
2 |
3 | .table-row-variant(@state; @background) {
4 | // Exact selectors below required to override `.table-striped` and prevent
5 | // inheritance to nested tables.
6 | .table > thead > tr,
7 | .table > tbody > tr,
8 | .table > tfoot > tr {
9 | > td.@{state},
10 | > th.@{state},
11 | &.@{state} > td,
12 | &.@{state} > th {
13 | background-color: @background;
14 | }
15 | }
16 |
17 | // Hover states for `.table-hover`
18 | // Note: this is not available for cells or rows within `thead` or `tfoot`.
19 | .table-hover > tbody > tr {
20 | > td.@{state}:hover,
21 | > th.@{state}:hover,
22 | &.@{state}:hover > td,
23 | &:hover > .@{state},
24 | &.@{state}:hover > th {
25 | background-color: darken(@background, 5%);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/step-01/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Affligem Blond
15 | Affligem Blonde, the classic clear blonde abbey ale, with a gentle roundness and 6.8% alcohol. Low on bitterness, it is eminently drinkable.
16 |
17 |
18 | Affligem Tripel
19 | The king of the abbey beers. It is amber-gold and pours with a deep head and original aroma, delivering a complex, full bodied flavour. Pure enjoyment! Secondary fermentation in the bottle.
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | sudo: required
3 | before_script:
4 | - npm install -g bower polylint web-component-tester
5 | - bower install
6 | - polylint
7 | env:
8 | global:
9 | - secure: HWwX1XiMfkZkC5XzAz6HkMJcFR+O1DZ+g9hnogZ0e3zdjqZ8VFkCsx0glJLA4TIPdWDfq93gRmeGtbepIx0x4BVOWX8rqoIjb9fbNJDU4ItZsbOvDLInFqKevdq+/klDavVfbR4hNeaHgDmcIEa/IolDU0qIrIdefBfZLOQ0ajM=
10 | - secure: hBkZz41jJfEP+Z8Uwcw3/EWDLLBzKT+WKY/XI7ubT/bxlXn95RJqY+j1pBX7+fHfLrUfjRmQHTsqkkST2JwRGAZoZpBX+lmUuNRyMoYsDKMl+CYinhSNTVVGSv7JPt5Ls5fktfzIt6Qd97vBy25hcCGKB6HBy+ppfP2DuII4uC8=
11 | node_js: stable
12 | addons:
13 | firefox: '46.0'
14 | apt:
15 | sources:
16 | - google-chrome
17 | packages:
18 | - google-chrome-stable
19 | sauce_connect: true
20 | script:
21 | - xvfb-run wct
22 | - if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then wct -s 'default'; fi
23 | dist: trusty
24 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | sudo: required
3 | before_script:
4 | - npm install -g bower polylint web-component-tester
5 | - bower install
6 | - polylint
7 | env:
8 | global:
9 | - secure: Nv52xUhhZNbvdXIs+8JV61yREtAZN5i2ZHO6uZVonGR/Y/U8SA3AcDjrPLd6VgFmasM58EpPGQGToK46r9C+h/jLWc7d/+7xn/9sphg6qQhQ5FkS/LYaTMmzCmonu79h/TqpuuYQWJqjEBM3LpoYJSMum/V34paPBU9AEK0Pd5A=
10 | - secure: fE00ZxqCvRMPXvSIghE/0wYbFORFGO4IFzaZbOxanAe7PBKDmdPBkzodo9BEgOw1cB2zw2uXMEYGf3jEZH+vens5ycngF8X/iQRCcPGpHjKIbkBtHvYQoi4ZwQf48GPtdBkMZLg7LcA4N2ScypU33X0q30hQ6BgzTduumuHlKCo=
11 | node_js: stable
12 | addons:
13 | firefox: '46.0'
14 | apt:
15 | sources:
16 | - google-chrome
17 | packages:
18 | - google-chrome-stable
19 | sauce_connect: true
20 | script:
21 | - xvfb-run wct
22 | - if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then wct -s 'default'; fi
23 | dist: trusty
24 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/jquery.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core",
3 | "./selector",
4 | "./traversing",
5 | "./callbacks",
6 | "./deferred",
7 | "./deferred/exceptionHook",
8 | "./core/ready",
9 | "./data",
10 | "./queue",
11 | "./queue/delay",
12 | "./attributes",
13 | "./event",
14 | "./event/alias",
15 | "./event/focusin",
16 | "./manipulation",
17 | "./manipulation/_evalUrl",
18 | "./wrap",
19 | "./css",
20 | "./css/hiddenVisibleSelectors",
21 | "./serialize",
22 | "./ajax",
23 | "./ajax/xhr",
24 | "./ajax/script",
25 | "./ajax/jsonp",
26 | "./ajax/load",
27 | "./event/ajax",
28 | "./effects",
29 | "./effects/animatedSelector",
30 | "./offset",
31 | "./dimensions",
32 | "./deprecated",
33 | "./exports/amd",
34 | "./exports/global"
35 | ], function( jQuery ) {
36 |
37 | "use strict";
38 |
39 | return jQuery;
40 |
41 | } );
42 |
--------------------------------------------------------------------------------
/bower_components/app-route/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | ### Description
3 |
4 |
5 | ### Expected outcome
6 |
7 |
8 |
9 | ### Actual outcome
10 |
11 |
12 |
13 | ### Live Demo
14 |
15 |
16 | ### Steps to reproduce
17 |
18 |
23 |
24 | ### Browsers Affected
25 |
26 | - [ ] Chrome
27 | - [ ] Firefox
28 | - [ ] Safari 9
29 | - [ ] Safari 8
30 | - [ ] Safari 7
31 | - [ ] Edge
32 | - [ ] IE 11
33 | - [ ] IE 10
34 |
--------------------------------------------------------------------------------
/bower_components/webcomponentsjs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "webcomponents.js",
3 | "version": "0.7.22",
4 | "description": "webcomponents.js",
5 | "main": "webcomponents.js",
6 | "directories": {
7 | "test": "tests"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/webcomponents/webcomponentsjs.git"
12 | },
13 | "author": "The Polymer Authors",
14 | "license": "BSD-3-Clause",
15 | "bugs": {
16 | "url": "https://github.com/webcomponents/webcomponentsjs/issues"
17 | },
18 | "scripts": {
19 | "test": "wct"
20 | },
21 | "homepage": "http://webcomponents.org",
22 | "devDependencies": {
23 | "gulp": "^3.8.8",
24 | "gulp-audit": "^1.0.0",
25 | "gulp-concat": "^2.4.1",
26 | "gulp-header": "^1.1.1",
27 | "gulp-uglify": "^1.0.1",
28 | "run-sequence": "^1.0.1",
29 | "web-component-tester": "^4.0.1"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | ### Description
3 |
4 |
5 | ### Expected outcome
6 |
7 |
8 |
9 | ### Actual outcome
10 |
11 |
12 |
13 | ### Live Demo
14 |
15 |
16 | ### Steps to reproduce
17 |
18 |
23 |
24 | ### Browsers Affected
25 |
26 | - [ ] Chrome
27 | - [ ] Firefox
28 | - [ ] Safari 9
29 | - [ ] Safari 8
30 | - [ ] Safari 7
31 | - [ ] Edge
32 | - [ ] IE 11
33 | - [ ] IE 10
34 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | ### Description
3 |
4 |
5 | ### Expected outcome
6 |
7 |
8 |
9 | ### Actual outcome
10 |
11 |
12 |
13 | ### Live Demo
14 |
15 |
16 | ### Steps to reproduce
17 |
18 |
23 |
24 | ### Browsers Affected
25 |
26 | - [ ] Chrome
27 | - [ ] Firefox
28 | - [ ] Safari 9
29 | - [ ] Safari 8
30 | - [ ] Safari 7
31 | - [ ] Edge
32 | - [ ] IE 11
33 | - [ ] IE 10
34 |
--------------------------------------------------------------------------------
/bower_components/polymer/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "polymer",
3 | "version": "1.7.0",
4 | "main": [
5 | "polymer.html",
6 | "polymer-mini.html",
7 | "polymer-micro.html"
8 | ],
9 | "license": "http://polymer.github.io/LICENSE.txt",
10 | "ignore": [
11 | "/.*",
12 | "/test/",
13 | "/util/",
14 | "/explainer/",
15 | "gulpfile.js",
16 | "PRIMER.md",
17 | "CONTRIBUTING.md",
18 | "CHANGELOG.md"
19 | ],
20 | "authors": [
21 | "The Polymer Authors (http://polymer.github.io/AUTHORS.txt)"
22 | ],
23 | "repository": {
24 | "type": "git",
25 | "url": "https://github.com/Polymer/polymer.git"
26 | },
27 | "dependencies": {
28 | "webcomponentsjs": "^0.7.20"
29 | },
30 | "devDependencies": {
31 | "web-component-tester": "*",
32 | "iron-component-page": "polymerElements/iron-component-page#^1.1.6"
33 | },
34 | "private": true
35 | }
36 |
--------------------------------------------------------------------------------
/bower_components/iron-location/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | ### Description
3 |
4 |
5 | ### Expected outcome
6 |
7 |
8 |
9 | ### Actual outcome
10 |
11 |
12 |
13 | ### Live Demo
14 |
15 |
16 | ### Steps to reproduce
17 |
18 |
23 |
24 | ### Browsers Affected
25 |
26 | - [ ] Chrome
27 | - [ ] Firefox
28 | - [ ] Safari 9
29 | - [ ] Safari 8
30 | - [ ] Safari 7
31 | - [ ] Edge
32 | - [ ] IE 11
33 | - [ ] IE 10
34 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | ### Description
3 |
4 |
5 | ### Expected outcome
6 |
7 |
8 |
9 | ### Actual outcome
10 |
11 |
12 |
13 | ### Live Demo
14 |
15 |
16 | ### Steps to reproduce
17 |
18 |
23 |
24 | ### Browsers Affected
25 |
26 | - [ ] Chrome
27 | - [ ] Firefox
28 | - [ ] Safari 9
29 | - [ ] Safari 8
30 | - [ ] Safari 7
31 | - [ ] Edge
32 | - [ ] IE 11
33 | - [ ] IE 10
34 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/close.less:
--------------------------------------------------------------------------------
1 | //
2 | // Close icons
3 | // --------------------------------------------------
4 |
5 |
6 | .close {
7 | float: right;
8 | font-size: (@font-size-base * 1.5);
9 | font-weight: @close-font-weight;
10 | line-height: 1;
11 | color: @close-color;
12 | text-shadow: @close-text-shadow;
13 | .opacity(.2);
14 |
15 | &:hover,
16 | &:focus {
17 | color: @close-color;
18 | text-decoration: none;
19 | cursor: pointer;
20 | .opacity(.5);
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
27 | button& {
28 | padding: 0;
29 | cursor: pointer;
30 | background: transparent;
31 | border: 0;
32 | -webkit-appearance: none;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/thumbnails.less:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | display: block;
9 | padding: @thumbnail-padding;
10 | margin-bottom: @line-height-computed;
11 | line-height: @line-height-base;
12 | background-color: @thumbnail-bg;
13 | border: 1px solid @thumbnail-border;
14 | border-radius: @thumbnail-border-radius;
15 | .transition(border .2s ease-in-out);
16 |
17 | > img,
18 | a > img {
19 | &:extend(.img-responsive);
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | // Add a hover state for linked versions only
25 | a&:hover,
26 | a&:focus,
27 | a&.active {
28 | border-color: @link-color;
29 | }
30 |
31 | // Image captions
32 | .caption {
33 | padding: @thumbnail-caption-padding;
34 | color: @thumbnail-caption-color;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 | iron-resizable-behavior
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/Gruntfile.js:
--------------------------------------------------------------------------------
1 | module.exports = function(grunt) {
2 |
3 | grunt.initConfig({
4 | pkg: grunt.file.readJSON('package.json'),
5 |
6 | uglify: {
7 | options: {
8 | banner: '/*! <%= pkg.name %> <%= pkg.version %> */\n'
9 | },
10 | dist: {
11 | files: {
12 | 'Promise.min.uglify.js': ['Promise.js']
13 | }
14 | }
15 | },
16 |
17 | closurecompiler: {
18 | options: {
19 | compilation_level: 'ADVANCED_OPTIMIZATIONS',
20 | },
21 | dist: {
22 | files: {
23 | 'Promise.min.js': ['Promise.js']
24 | }
25 | }
26 | },
27 |
28 | bytesize: {
29 | dist: {
30 | src: ['Promise*.js']
31 | }
32 | }
33 | });
34 |
35 | grunt.loadNpmTasks('grunt-contrib-uglify');
36 | grunt.loadNpmTasks('grunt-closurecompiler');
37 | grunt.loadNpmTasks('grunt-bytesize');
38 |
39 | grunt.registerTask('build', ['closurecompiler', 'bytesize']);
40 | };
41 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | sudo: false
3 | before_script:
4 | - npm install -g bower polylint web-component-tester
5 | - bower install
6 | - polylint
7 | env:
8 | global:
9 | - secure: ltCkwJM0nkTS9WjikyjqBsB5J2hQon4UnVVrINk4y+Vq4v9PQJH3+83nya0jnxilKaeAJs4d2/OS02F9GkqYpsSmDz7OgXPfk0hrHA8UksvvpSALfnukleIAN2YTOcxXJKeNHcfpqCKPk1dGeNQOEM61H+QgTBIyFB3sMugygqs=
10 | - secure: TJuu1WdpFLTaBN/prBafm8Pld/BQCySNuuG1nATbF3fqiOpgehXu8Z5URAz5syUhqZAyEmuRMxvXpEVD/t1jrtaXVwkdCFkkQ4ckkP4gTIeSGA/Puw8sveB2q7QAqXyTmeFkocNlh8fxV+B07o0SPWdhcvdZnDVU9VrpSqL+92M=
11 | - CXX=g++-4.8
12 | node_js: stable
13 | addons:
14 | firefox: latest
15 | apt:
16 | sources:
17 | - google-chrome
18 | - ubuntu-toolchain-r-test
19 | packages:
20 | - google-chrome-stable
21 | - g++-4.8
22 | sauce_connect: true
23 | script:
24 | - xvfb-run wct
25 | - "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi"
26 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | sudo: false
3 | before_script:
4 | - npm install -g bower polylint web-component-tester
5 | - bower install
6 | - polylint
7 | env:
8 | global:
9 | - secure: fs6PoLBRc5z3vn6PWJTkxmGWTHnHVcXx2c7sb7wUlLFLjWUegb93X5gAUhAQvvLvFYT8uMYxT7sNsP15O16CH9OWS8h6ZbgaPp61zRJXvGN+pOtohOloanjzANzsYNFsV3LKEFg8/BULqQAKkRAdsg4hXfMWDzPvCGl1++y5mGc=
10 | - secure: gm+c5R0tFY/GJfKOnfV3J0IADe7QSzo5wZvRq4wZnroK9gBixuI66fq0dhRFtMjkc3dip1h+iqwmRqY8bKoMriCcl8J8ya7mG92sUTz57H7Sr6hxoYDdT4v+JUrQ+iZmTczh77IAQDZrAnxQIeEnBsLezidZD4b+EAYCICvL9WE=
11 | - CXX=g++-4.8
12 | node_js: stable
13 | addons:
14 | firefox: latest
15 | apt:
16 | sources:
17 | - google-chrome
18 | - ubuntu-toolchain-r-test
19 | packages:
20 | - google-chrome-stable
21 | - g++-4.8
22 | sauce_connect: true
23 | script:
24 | - xvfb-run wct
25 | - "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi"
26 |
--------------------------------------------------------------------------------
/data/beers/details/ChimayTriple.json:
--------------------------------------------------------------------------------
1 | {
2 | "alcohol": 10.5,
3 | "availability": "Year round",
4 | "brewery": "Bi\u00e8res de Chimay",
5 | "description": "Chimay Triple, with its typical golden colour, its slightly hazy appearance and its fine head is especially characterised by its aroma which results from an agreeable combination of fresh hops and yeast. The beers flavour, as sensed in the mouth, comes from the smell of hops: above all it is the fruity notes of muscat and raisins that give this beer a particularly attractive aroma. The aroma complements the touch of bitterness. There is no acidity, but an after-bitterness which melts in the mouth. This top fermented Trappist beer, refermented in the bottle, is not pasteurised.",
6 | "id": "ChimayTriple",
7 | "img": "beers/img/ChimayTriple.jpg",
8 | "label": "beers/img/ChimayTriple-label.png",
9 | "name": "Chimay Tripel",
10 | "serving": "Serve in a Snifter at Cool - (8-12C/45-54F)",
11 | "style": "Belgian-Style Tripel"
12 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/wrapMap.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | "use strict";
4 |
5 | // We have to close these tags to support XHTML (#13200)
6 | var wrapMap = {
7 |
8 | // Support: IE <=9 only
9 | option: [ 1, "", " " ],
10 |
11 | // XHTML parsers do not magically insert elements in the
12 | // same way that tag soup parsers do. So we cannot shorten
13 | // this by omitting or other required elements.
14 | thead: [ 1, "" ],
15 | col: [ 2, "" ],
16 | tr: [ 2, "" ],
17 | td: [ 3, "" ],
18 |
19 | _default: [ 0, "", "" ]
20 | };
21 |
22 | // Support: IE <=9 only
23 | wrapMap.optgroup = wrapMap.option;
24 |
25 | wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
26 | wrapMap.th = wrapMap.td;
27 |
28 | return wrapMap;
29 | } );
30 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-resizable-behavior",
3 | "version": "1.0.3",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "description": "Coordinates the flow of resizeable elements",
6 | "private": true,
7 | "main": "iron-resizable-behavior.html",
8 | "authors": [
9 | "The Polymer Authors"
10 | ],
11 | "keywords": [
12 | "web-components",
13 | "polymer",
14 | "iron",
15 | "behavior"
16 | ],
17 | "repository": {
18 | "type": "git",
19 | "url": "git://github.com/PolymerElements/iron-resizable-behavior.git"
20 | },
21 | "dependencies": {
22 | "polymer": "Polymer/polymer#^1.0.0"
23 | },
24 | "devDependencies": {
25 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
26 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
27 | "web-component-tester": "^4.0.0",
28 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
29 | },
30 | "ignore": []
31 | }
32 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/attributes/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | "use strict";
7 |
8 | ( function() {
9 | var input = document.createElement( "input" ),
10 | select = document.createElement( "select" ),
11 | opt = select.appendChild( document.createElement( "option" ) );
12 |
13 | input.type = "checkbox";
14 |
15 | // Support: Android <=4.3 only
16 | // Default value for a checkbox should be "on"
17 | support.checkOn = input.value !== "";
18 |
19 | // Support: IE <=11 only
20 | // Must access selectedIndex to make default options select
21 | support.optSelected = opt.selected;
22 |
23 | // Support: IE <=11 only
24 | // An input loses its value after becoming a radio
25 | input = document.createElement( "input" );
26 | input.value = "t";
27 | input.type = "radio";
28 | support.radioValue = input.value === "t";
29 | } )();
30 |
31 | return support;
32 |
33 | } );
34 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 | iron-resizable-behavior demo
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/bower_components/app-route/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | app-router
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | iron-ajax
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | .clearfix();
11 | }
12 | .center-block {
13 | .center-block();
14 | }
15 | .pull-right {
16 | float: right !important;
17 | }
18 | .pull-left {
19 | float: left !important;
20 | }
21 |
22 |
23 | // Toggling content
24 | // -------------------------
25 |
26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27 | .hide {
28 | display: none !important;
29 | }
30 | .show {
31 | display: block !important;
32 | }
33 | .invisible {
34 | visibility: hidden;
35 | }
36 | .text-hide {
37 | .text-hide();
38 | }
39 |
40 |
41 | // Hide from screenreaders and browsers
42 | //
43 | // Credit: HTML5 Boilerplate
44 |
45 | .hidden {
46 | display: none !important;
47 | }
48 |
49 |
50 | // For Affix plugin
51 | // -------------------------
52 |
53 | .affix {
54 | position: fixed;
55 | }
56 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | iron-pages
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/bower_components/iron-location/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | iron-location
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/test/index.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 | Tests
13 |
14 |
15 |
16 |
17 |
18 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 | iron-selector
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/bower_components/iron-location/test/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/bower_components/app-route/test/observer-tester.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
14 |
15 |
38 |
39 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/hero.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/test/index.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/test/attr-for-selected-elements.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 | {{someAttr}}
16 |
17 |
30 |
31 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "promise-polyfill",
3 | "version": "1.0.0",
4 | "homepage": "https://github.com/taylorhakes/promise-polyfill",
5 | "authors": [
6 | "Taylor Hakes"
7 | ],
8 | "description": "Lightweight promise polyfill for the browser and node. A+ Compliant.",
9 | "main": "Promise.js",
10 | "moduleType": [
11 | "globals",
12 | "node"
13 | ],
14 | "keywords": [
15 | "promise",
16 | "es6",
17 | "polyfill",
18 | "html5"
19 | ],
20 | "license": "MIT",
21 | "ignore": [
22 | "**/.*",
23 | "node_modules",
24 | "bower_components",
25 | "test",
26 | "tests"
27 | ],
28 | "dependencies": {
29 | "polymer": "polymer/polymer#^1.0.0"
30 | },
31 | "_release": "1.0.0",
32 | "_resolution": {
33 | "type": "version",
34 | "tag": "v1.0.0",
35 | "commit": "2ef7dada161cae30e69ffff918485c57121d4b88"
36 | },
37 | "_source": "git://github.com/polymerlabs/promise-polyfill.git",
38 | "_target": "^1.0.0",
39 | "_originalSource": "polymerlabs/promise-polyfill"
40 | }
--------------------------------------------------------------------------------
/bower_components/iron-pages/test/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
16 | Tests
17 |
18 |
19 |
20 |
21 |
22 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/bower_components/app-route/test/index.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/package.js:
--------------------------------------------------------------------------------
1 | // package metadata file for Meteor.js
2 |
3 | /* jshint strict:false */
4 | /* global Package:true */
5 |
6 | Package.describe({
7 | name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
8 | summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
9 | version: '3.3.7',
10 | git: 'https://github.com/twbs/bootstrap.git'
11 | });
12 |
13 | Package.onUse(function (api) {
14 | api.versionsFrom('METEOR@1.0');
15 | api.use('jquery', 'client');
16 | var assets = [
17 | 'dist/fonts/glyphicons-halflings-regular.eot',
18 | 'dist/fonts/glyphicons-halflings-regular.svg',
19 | 'dist/fonts/glyphicons-halflings-regular.ttf',
20 | 'dist/fonts/glyphicons-halflings-regular.woff',
21 | 'dist/fonts/glyphicons-halflings-regular.woff2'
22 | ];
23 | if (api.addAssets) {
24 | api.addAssets(assets, 'client');
25 | } else {
26 | api.addFiles(assets, 'client', { isAsset: true });
27 | }
28 | api.addFiles([
29 | 'dist/css/bootstrap.css',
30 | 'dist/js/bootstrap.js'
31 | ], 'client');
32 | });
33 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap",
3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
4 | "keywords": [
5 | "css",
6 | "js",
7 | "less",
8 | "mobile-first",
9 | "responsive",
10 | "front-end",
11 | "framework",
12 | "web"
13 | ],
14 | "homepage": "http://getbootstrap.com",
15 | "license": "MIT",
16 | "moduleType": "globals",
17 | "main": [
18 | "less/bootstrap.less",
19 | "dist/js/bootstrap.js"
20 | ],
21 | "ignore": [
22 | "/.*",
23 | "_config.yml",
24 | "CNAME",
25 | "composer.json",
26 | "CONTRIBUTING.md",
27 | "docs",
28 | "js/tests",
29 | "test-infra"
30 | ],
31 | "dependencies": {
32 | "jquery": "1.9.1 - 3"
33 | },
34 | "version": "3.3.7",
35 | "_release": "3.3.7",
36 | "_resolution": {
37 | "type": "version",
38 | "tag": "v3.3.7",
39 | "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
40 | },
41 | "_source": "https://github.com/twbs/bootstrap.git",
42 | "_target": "~3.3.7",
43 | "_originalSource": "bootstrap"
44 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/pager.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: @line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | &:extend(.clearfix all);
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: @pager-bg;
19 | border: 1px solid @pager-border;
20 | border-radius: @pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: @pager-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: @pager-disabled-color;
50 | background-color: @pager-bg;
51 | cursor: @cursor-disabled;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/step-06/elements/beer-list-item.html:
--------------------------------------------------------------------------------
1 | !-- Import Polymer library -->
2 |
3 |
4 |
5 |
6 |
21 |
22 |
23 |
{{name}}
24 |
{{description}}
25 |
Alcohol content: {{alcohol}}%
26 |
27 |
28 |
41 |
42 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-selector",
3 | "version": "1.4.0",
4 | "description": "Manages a set of elements that can be selected",
5 | "private": true,
6 | "license": "http://polymer.github.io/LICENSE.txt",
7 | "main": "iron-selector.html",
8 | "authors": [
9 | "The Polymer Authors"
10 | ],
11 | "keywords": [
12 | "web-components",
13 | "polymer",
14 | "selector"
15 | ],
16 | "repository": {
17 | "type": "git",
18 | "url": "git://github.com/PolymerElements/iron-selector.git"
19 | },
20 | "homepage": "https://github.com/PolymerElements/iron-selector",
21 | "ignore": [],
22 | "dependencies": {
23 | "polymer": "Polymer/polymer#^1.2.0"
24 | },
25 | "devDependencies": {
26 | "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
27 | "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
28 | "paper-styles": "PolymerElements/paper-styles#^1.0.4",
29 | "test-fixture": "PolymerElements/test-fixture#^1.0.0",
30 | "web-component-tester": "^4.0.0",
31 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/grunt/bs-commonjs-generator.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grunt task for the CommonJS module generation
3 | * http://getbootstrap.com
4 | * Copyright 2014-2015 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | 'use strict';
9 |
10 | var fs = require('fs');
11 | var path = require('path');
12 |
13 | var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n';
14 |
15 | module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) {
16 | var destDir = path.dirname(destFilepath);
17 |
18 | function srcPathToDestRequire(srcFilepath) {
19 | var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/');
20 | return 'require(\'' + requirePath + '\')';
21 | }
22 |
23 | var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
24 | try {
25 | fs.writeFileSync(destFilepath, moduleOutputJs);
26 | } catch (err) {
27 | grunt.fail.warn(err);
28 | }
29 | grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
30 | };
31 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "promise-polyfill",
3 | "version": "2.0.0",
4 | "description": "Lightweight promise polyfill. A+ compliant",
5 | "main": "Promise.js",
6 | "scripts": {
7 | "test": "./node_modules/.bin/promises-aplus-tests tests/adapter.js; ./node_modules/.bin/promises-es6-tests tests/adapter.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://taylorhakes@github.com/taylorhakes/promise-polyfill.git"
12 | },
13 | "author": "Taylor Hakes",
14 | "license": "MIT",
15 | "bugs": {
16 | "url": "https://github.com/taylorhakes/promise-polyfill/issues"
17 | },
18 | "homepage": "https://github.com/taylorhakes/promise-polyfill",
19 | "devDependencies": {
20 | "grunt": "^0.4.5",
21 | "grunt-bytesize": "^0.1.1",
22 | "grunt-closurecompiler": "^0.9.9",
23 | "grunt-contrib-uglify": "^0.4.0",
24 | "mocha": "^2.2.1",
25 | "promises-aplus-tests": "*",
26 | "promises-es6-tests": "^0.5.0"
27 | },
28 | "keywords": [
29 | "promise",
30 | "promise-polyfill",
31 | "ES6",
32 | "promises-aplus"
33 | ],
34 | "dependencies": {}
35 | }
36 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | addressable (2.4.0)
5 | colorator (0.1)
6 | ffi (1.9.14-x64-mingw32)
7 | jekyll (3.1.6)
8 | colorator (~> 0.1)
9 | jekyll-sass-converter (~> 1.0)
10 | jekyll-watch (~> 1.1)
11 | kramdown (~> 1.3)
12 | liquid (~> 3.0)
13 | mercenary (~> 0.3.3)
14 | rouge (~> 1.7)
15 | safe_yaml (~> 1.0)
16 | jekyll-sass-converter (1.4.0)
17 | sass (~> 3.4)
18 | jekyll-sitemap (0.11.0)
19 | addressable (~> 2.4.0)
20 | jekyll-watch (1.4.0)
21 | listen (~> 3.0, < 3.1)
22 | kramdown (1.11.1)
23 | liquid (3.0.6)
24 | listen (3.0.8)
25 | rb-fsevent (~> 0.9, >= 0.9.4)
26 | rb-inotify (~> 0.9, >= 0.9.7)
27 | mercenary (0.3.6)
28 | rb-fsevent (0.9.7)
29 | rb-inotify (0.9.7)
30 | ffi (>= 0.5.0)
31 | rouge (1.11.1)
32 | safe_yaml (1.0.4)
33 | sass (3.4.22)
34 |
35 | PLATFORMS
36 | x64-mingw32
37 |
38 | DEPENDENCIES
39 | jekyll (~> 3.1.2)
40 | jekyll-sitemap (~> 0.11.0)
41 |
42 | BUNDLED WITH
43 | 1.12.5
44 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/exports/amd.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | // Register as a named AMD module, since jQuery can be concatenated with other
8 | // files that may use define, but not via a proper concatenation script that
9 | // understands anonymous AMD modules. A named AMD is safest and most robust
10 | // way to register. Lowercase jquery is used because AMD module names are
11 | // derived from file names, and jQuery is normally delivered in a lowercase
12 | // file name. Do this after creating the global so that if an AMD module wants
13 | // to call noConflict to hide this version of jQuery, it will work.
14 |
15 | // Note that for maximum portability, libraries that are not jQuery should
16 | // declare themselves as anonymous modules, and avoid setting a global if an
17 | // AMD loader is present. jQuery is a special case. For more information, see
18 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
19 |
20 | if ( typeof define === "function" && define.amd ) {
21 | define( "jquery", [], function() {
22 | return jQuery;
23 | } );
24 | }
25 |
26 | } );
27 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Taylor Hakes
2 | Copyright (c) 2014 Forbes Lindesay
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy
5 | of this software and associated documentation files (the "Software"), to deal
6 | in the Software without restriction, including without limitation the rights
7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the Software is
9 | furnished to do so, subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in
12 | all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | THE SOFTWARE.
--------------------------------------------------------------------------------
/bower_components/iron-ajax/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-ajax",
3 | "version": "1.4.3",
4 | "description": "Makes it easy to make ajax calls and parse the response",
5 | "private": true,
6 | "authors": [
7 | "The Polymer Authors"
8 | ],
9 | "keywords": [
10 | "web-components",
11 | "polymer",
12 | "ajax"
13 | ],
14 | "main": "iron-ajax.html",
15 | "repository": {
16 | "type": "git",
17 | "url": "git://github.com/PolymerElements/iron-ajax.git"
18 | },
19 | "license": "http://polymer.github.io/LICENSE.txt",
20 | "homepage": "https://github.com/PolymerElements/iron-ajax",
21 | "ignore": [],
22 | "dependencies": {
23 | "promise-polyfill": "polymerlabs/promise-polyfill#^1.0.0",
24 | "polymer": "Polymer/polymer#^1.5.0"
25 | },
26 | "devDependencies": {
27 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
28 | "iron-image": "polymerelements/iron-image#^1.0.0",
29 | "paper-styles": "polymerelements/paper-styles#^1.0.0",
30 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
31 | "web-component-tester": "^4.0.0",
32 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/README.md:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | [](https://travis-ci.org/PolymerElements/iron-pages)
16 |
17 | _[Demo and API docs](https://elements.polymer-project.org/elements/iron-pages)_
18 |
19 |
20 | ##<iron-pages>
21 |
22 | `iron-pages` is used to select one of its children to show. One use is to cycle through a list of
23 | children "pages".
24 |
25 | Example:
26 |
27 | ```html
28 |
29 | One
30 | Two
31 | Three
32 |
33 |
34 |
40 | ```
41 |
42 |
43 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2011-2016 Twitter, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/step-02/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Polymer Beer Gallery
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
A nice beer list
20 |
24 |
25 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-pages",
3 | "version": "1.0.8",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "description": "Organizes a set of pages and shows one at a time",
6 | "main": "iron-pages.html",
7 | "private": true,
8 | "authors": [
9 | "The Polymer Authors"
10 | ],
11 | "repository": {
12 | "type": "git",
13 | "url": "git://github.com/PolymerElements/iron-pages.git"
14 | },
15 | "keywords": [
16 | "web-components",
17 | "polymer",
18 | "container"
19 | ],
20 | "dependencies": {
21 | "iron-resizable-behavior": "polymerelements/iron-resizable-behavior#^1.0.0",
22 | "iron-selector": "polymerelements/iron-selector#^1.0.0",
23 | "polymer": "Polymer/polymer#^1.1.0"
24 | },
25 | "devDependencies": {
26 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
27 | "iron-demo-helpers": "polymerelements/iron-demo-helpers#^1.0.0",
28 | "paper-styles": "polymerelements/paper-styles#^1.0.2",
29 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
30 | "web-component-tester": "^4.0.0",
31 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
32 | },
33 | "ignore": []
34 | }
35 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/media.less:
--------------------------------------------------------------------------------
1 | .media {
2 | // Proper spacing between instances of .media
3 | margin-top: 15px;
4 |
5 | &:first-child {
6 | margin-top: 0;
7 | }
8 | }
9 |
10 | .media,
11 | .media-body {
12 | zoom: 1;
13 | overflow: hidden;
14 | }
15 |
16 | .media-body {
17 | width: 10000px;
18 | }
19 |
20 | .media-object {
21 | display: block;
22 |
23 | // Fix collapse in webkit from max-width: 100% and display: table-cell.
24 | &.img-thumbnail {
25 | max-width: none;
26 | }
27 | }
28 |
29 | .media-right,
30 | .media > .pull-right {
31 | padding-left: 10px;
32 | }
33 |
34 | .media-left,
35 | .media > .pull-left {
36 | padding-right: 10px;
37 | }
38 |
39 | .media-left,
40 | .media-right,
41 | .media-body {
42 | display: table-cell;
43 | vertical-align: top;
44 | }
45 |
46 | .media-middle {
47 | vertical-align: middle;
48 | }
49 |
50 | .media-bottom {
51 | vertical-align: bottom;
52 | }
53 |
54 | // Reset margins on headings for tighter default spacing
55 | .media-heading {
56 | margin-top: 0;
57 | margin-bottom: 5px;
58 | }
59 |
60 | // Media list variation
61 | //
62 | // Undo default ul/ol styles
63 | .media-list {
64 | padding-left: 0;
65 | list-style: none;
66 | }
67 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/image.less:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 | .img-responsive(@display: block) {
10 | display: @display;
11 | max-width: 100%; // Part 1: Set a maximum relative to the parent
12 | height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
13 | }
14 |
15 |
16 | // Retina image
17 | //
18 | // Short retina mixin for setting background-image and -size. Note that the
19 | // spelling of `min--moz-device-pixel-ratio` is intentional.
20 | .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
21 | background-image: url("@{file-1x}");
22 |
23 | @media
24 | only screen and (-webkit-min-device-pixel-ratio: 2),
25 | only screen and ( min--moz-device-pixel-ratio: 2),
26 | only screen and ( -o-min-device-pixel-ratio: 2/1),
27 | only screen and ( min-device-pixel-ratio: 2),
28 | only screen and ( min-resolution: 192dpi),
29 | only screen and ( min-resolution: 2dppx) {
30 | background-image: url("@{file-2x}");
31 | background-size: @width-1x @height-1x;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/test/content-element.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
45 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/Promise-Statics.js:
--------------------------------------------------------------------------------
1 | Promise.all = Promise.all || function () {
2 | var args = Array.prototype.slice.call(arguments.length === 1 && Array.isArray(arguments[0]) ? arguments[0] : arguments);
3 |
4 | return new Promise(function (resolve, reject) {
5 | if (args.length === 0) return resolve([]);
6 | var remaining = args.length;
7 | function res(i, val) {
8 | try {
9 | if (val && (typeof val === 'object' || typeof val === 'function')) {
10 | var then = val.then;
11 | if (typeof then === 'function') {
12 | then.call(val, function (val) { res(i, val) }, reject);
13 | return;
14 | }
15 | }
16 | args[i] = val;
17 | if (--remaining === 0) {
18 | resolve(args);
19 | }
20 | } catch (ex) {
21 | reject(ex);
22 | }
23 | }
24 | for (var i = 0; i < args.length; i++) {
25 | res(i, args[i]);
26 | }
27 | });
28 | };
29 |
30 | Promise.race = Promise.race || function (values) {
31 | return new Promise(function (resolve, reject) {
32 | for(var i = 0, len = values.length; i < len; i++) {
33 | values[i].then(resolve, reject);
34 | }
35 | });
36 | };
37 |
38 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | Before opening an issue:
2 |
3 | - [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
4 | - [Validate](http://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
5 | - Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs
6 | - Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
7 |
8 | When asking general "how to" questions:
9 |
10 | - Please do not open an issue here
11 | - Instead, ask for help on [StackOverflow, IRC, or Slack](https://github.com/twbs/bootstrap/blob/master/README.md#community)
12 |
13 | When reporting a bug, include:
14 |
15 | - Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile)
16 | - Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
17 | - Reduced test cases and potential fixes using [JS Bin](https://jsbin.com)
18 |
19 | When suggesting a feature, include:
20 |
21 | - As much detail as possible for what we should add and why it's important to Bootstrap
22 | - Relevant links to prior art, screenshots, or live demos whenever possible
23 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | "use strict";
7 |
8 | ( function() {
9 | var fragment = document.createDocumentFragment(),
10 | div = fragment.appendChild( document.createElement( "div" ) ),
11 | input = document.createElement( "input" );
12 |
13 | // Support: Android 4.0 - 4.3 only
14 | // Check state lost if the name is set (#11217)
15 | // Support: Windows Web Apps (WWA)
16 | // `name` and `type` must use .setAttribute for WWA (#14901)
17 | input.setAttribute( "type", "radio" );
18 | input.setAttribute( "checked", "checked" );
19 | input.setAttribute( "name", "t" );
20 |
21 | div.appendChild( input );
22 |
23 | // Support: Android <=4.1 only
24 | // Older WebKit doesn't clone checked state correctly in fragments
25 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
26 |
27 | // Support: IE <=11 only
28 | // Make sure textarea (and checkbox) defaultValue is properly cloned
29 | div.innerHTML = "";
30 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
31 | } )();
32 |
33 | return support;
34 |
35 | } );
36 |
--------------------------------------------------------------------------------
/bower_components/promise-polyfill/Promise.min.js:
--------------------------------------------------------------------------------
1 | function m(n){function b(a){if("object"!==typeof this||"function"!==typeof a)throw new TypeError;this.c=this.a=null;this.b=[];g(a,h.bind(this),d.bind(this))}function k(a){var c=this;null===this.a?this.b.push(a):n(function(){var f=c.a?a.d:a.e;if("function"!==typeof f)(c.a?a.resolve:a.reject)(c.c);else{var e;try{e=f(c.c)}catch(b){a.reject(b);return}a.resolve(e)}})}function h(a){try{if(a===this)throw new TypeError;if(a&&("object"===typeof a||"function"===typeof a)){var c=a.then;if("function"===typeof c){g(c.bind(a),
2 | h.bind(this),d.bind(this));return}}this.a=!0;this.c=a;l.call(this)}catch(b){d.call(this,b)}}function d(a){this.a=!1;this.c=a;l.call(this)}function l(){for(var a=0,c=this.b.length;a
2 |
3 |
4 |
5 |
6 |
7 |
8 |
23 |
24 |
25 |
{{name}}
26 |
{{description}}
27 |
Alcohol content: {{alcohol}}%
28 |
29 |
30 |
31 |
32 |
52 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------------------------------
3 |
4 | // Utilities
5 | @import "mixins/hide-text.less";
6 | @import "mixins/opacity.less";
7 | @import "mixins/image.less";
8 | @import "mixins/labels.less";
9 | @import "mixins/reset-filter.less";
10 | @import "mixins/resize.less";
11 | @import "mixins/responsive-visibility.less";
12 | @import "mixins/size.less";
13 | @import "mixins/tab-focus.less";
14 | @import "mixins/reset-text.less";
15 | @import "mixins/text-emphasis.less";
16 | @import "mixins/text-overflow.less";
17 | @import "mixins/vendor-prefixes.less";
18 |
19 | // Components
20 | @import "mixins/alerts.less";
21 | @import "mixins/buttons.less";
22 | @import "mixins/panels.less";
23 | @import "mixins/pagination.less";
24 | @import "mixins/list-group.less";
25 | @import "mixins/nav-divider.less";
26 | @import "mixins/forms.less";
27 | @import "mixins/progress-bar.less";
28 | @import "mixins/table-row.less";
29 |
30 | // Skins
31 | @import "mixins/background-variant.less";
32 | @import "mixins/border-radius.less";
33 | @import "mixins/gradients.less";
34 |
35 | // Layout
36 | @import "mixins/clearfix.less";
37 | @import "mixins/center-block.less";
38 | @import "mixins/nav-vertical-align.less";
39 | @import "mixins/grid-framework.less";
40 | @import "mixins/grid.less";
41 |
--------------------------------------------------------------------------------
/bower_components/iron-location/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-location",
3 | "version": "0.8.1",
4 | "description": "Bidirectional data binding into the page's URL.",
5 | "private": true,
6 | "authors": [
7 | "The Polymer Authors"
8 | ],
9 | "keywords": [
10 | "web-components",
11 | "polymer",
12 | "routing"
13 | ],
14 | "main": "iron-location.html",
15 | "repository": {
16 | "type": "git",
17 | "url": "git://github.com/PolymerElements/iron-location.git"
18 | },
19 | "license": "http://polymer.github.io/LICENSE.txt",
20 | "homepage": "https://github.com/PolymerElements/iron-location",
21 | "ignore": [],
22 | "dependencies": {
23 | "polymer": "Polymer/polymer#^1.0.0"
24 | },
25 | "devDependencies": {
26 | "promise-polyfill": "polymerlabs/promise-polyfill#^1.0.0",
27 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
28 | "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
29 | "paper-input": "polymerelements/paper-input#^1.0.0",
30 | "paper-slider": "polymerelements/paper-slider#^1.0.0",
31 | "paper-styles": "polymerelements/paper-styles#^1.0.0",
32 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
33 | "web-component-tester": "^4.0.0",
34 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/step-07/elements/beer-list-item.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
23 |
24 |
25 |
{{name}}
26 |
{{description}}
27 |
Alcohol content: {{alcohol}}%
28 |
29 |
30 |
50 |
51 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/labels.less:
--------------------------------------------------------------------------------
1 | //
2 | // Labels
3 | // --------------------------------------------------
4 |
5 | .label {
6 | display: inline;
7 | padding: .2em .6em .3em;
8 | font-size: 75%;
9 | font-weight: bold;
10 | line-height: 1;
11 | color: @label-color;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | border-radius: .25em;
16 |
17 | // Add hover effects, but only for links
18 | a& {
19 | &:hover,
20 | &:focus {
21 | color: @label-link-hover-color;
22 | text-decoration: none;
23 | cursor: pointer;
24 | }
25 | }
26 |
27 | // Empty labels collapse automatically (not available in IE8)
28 | &:empty {
29 | display: none;
30 | }
31 |
32 | // Quick fix for labels in buttons
33 | .btn & {
34 | position: relative;
35 | top: -1px;
36 | }
37 | }
38 |
39 | // Colors
40 | // Contextual variations (linked labels get darker on :hover)
41 |
42 | .label-default {
43 | .label-variant(@label-default-bg);
44 | }
45 |
46 | .label-primary {
47 | .label-variant(@label-primary-bg);
48 | }
49 |
50 | .label-success {
51 | .label-variant(@label-success-bg);
52 | }
53 |
54 | .label-info {
55 | .label-variant(@label-info-bg);
56 | }
57 |
58 | .label-warning {
59 | .label-variant(@label-warning-bg);
60 | }
61 |
62 | .label-danger {
63 | .label-variant(@label-danger-bg);
64 | }
65 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-resizable-behavior",
3 | "version": "1.0.3",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "description": "Coordinates the flow of resizeable elements",
6 | "private": true,
7 | "main": "iron-resizable-behavior.html",
8 | "authors": [
9 | "The Polymer Authors"
10 | ],
11 | "keywords": [
12 | "web-components",
13 | "polymer",
14 | "iron",
15 | "behavior"
16 | ],
17 | "repository": {
18 | "type": "git",
19 | "url": "git://github.com/PolymerElements/iron-resizable-behavior.git"
20 | },
21 | "dependencies": {
22 | "polymer": "Polymer/polymer#^1.0.0"
23 | },
24 | "devDependencies": {
25 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
26 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
27 | "web-component-tester": "^4.0.0",
28 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
29 | },
30 | "ignore": [],
31 | "homepage": "https://github.com/polymerelements/iron-resizable-behavior",
32 | "_release": "1.0.3",
33 | "_resolution": {
34 | "type": "version",
35 | "tag": "v1.0.3",
36 | "commit": "dda1df6aaf452aedf3e52ff0cf69e72439452216"
37 | },
38 | "_source": "git://github.com/polymerelements/iron-resizable-behavior.git",
39 | "_target": "^1.0.0",
40 | "_originalSource": "polymerelements/iron-resizable-behavior"
41 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/jumbotron.less:
--------------------------------------------------------------------------------
1 | //
2 | // Jumbotron
3 | // --------------------------------------------------
4 |
5 |
6 | .jumbotron {
7 | padding-top: @jumbotron-padding;
8 | padding-bottom: @jumbotron-padding;
9 | margin-bottom: @jumbotron-padding;
10 | color: @jumbotron-color;
11 | background-color: @jumbotron-bg;
12 |
13 | h1,
14 | .h1 {
15 | color: @jumbotron-heading-color;
16 | }
17 |
18 | p {
19 | margin-bottom: (@jumbotron-padding / 2);
20 | font-size: @jumbotron-font-size;
21 | font-weight: 200;
22 | }
23 |
24 | > hr {
25 | border-top-color: darken(@jumbotron-bg, 10%);
26 | }
27 |
28 | .container &,
29 | .container-fluid & {
30 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
31 | padding-left: (@grid-gutter-width / 2);
32 | padding-right: (@grid-gutter-width / 2);
33 | }
34 |
35 | .container {
36 | max-width: 100%;
37 | }
38 |
39 | @media screen and (min-width: @screen-sm-min) {
40 | padding-top: (@jumbotron-padding * 1.6);
41 | padding-bottom: (@jumbotron-padding * 1.6);
42 |
43 | .container &,
44 | .container-fluid & {
45 | padding-left: (@jumbotron-padding * 2);
46 | padding-right: (@jumbotron-padding * 2);
47 | }
48 |
49 | h1,
50 | .h1 {
51 | font-size: @jumbotron-heading-font-size;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/nuget/bootstrap.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | bootstrap
5 | 3.3.7
6 | Bootstrap CSS
7 | Twitter, Inc.
8 | bootstrap
9 | The most popular front-end framework for developing responsive, mobile first projects on the web.
10 | http://blog.getbootstrap.com
11 | Bootstrap framework in CSS. Includes fonts and JavaScript
12 | en-us
13 | http://getbootstrap.com
14 | http://getbootstrap.com/apple-touch-icon.png
15 | https://github.com/twbs/bootstrap/blob/master/LICENSE
16 | Copyright 2016
17 | false
18 |
19 |
20 |
21 | css js less mobile-first responsive front-end framework web
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/bower_components/app-route/demo/data-loading-demo.html:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | carbon-route data loading example
18 |
19 |
20 |
21 |
22 |
23 |
24 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/nuget/bootstrap.less.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | bootstrap.less
5 | 3.3.7
6 | Bootstrap Less
7 | Twitter, Inc.
8 | bootstrap
9 | The most popular front-end framework for developing responsive, mobile first projects on the web.
10 | http://blog.getbootstrap.com
11 | Bootstrap framework in Less. Includes fonts and JavaScript
12 | en-us
13 | http://getbootstrap.com
14 | http://getbootstrap.com/apple-touch-icon.png
15 | https://github.com/twbs/bootstrap/blob/master/LICENSE
16 | Copyright 2016
17 | false
18 |
19 |
20 |
21 | css js less mobile-first responsive front-end framework web
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/bower_components/app-route/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "app-route",
3 | "version": "0.9.3",
4 | "authors": [
5 | "The Polymer Authors"
6 | ],
7 | "description": "App routing expressed as Polymer Custom Elements.",
8 | "main": [
9 | "app-route.html",
10 | "app-location.html",
11 | "app-route-converter.html"
12 | ],
13 | "license": "http://polymer.github.io/LICENSE.txt",
14 | "homepage": "https://github.com/PolymerElements/app-route",
15 | "private": true,
16 | "ignore": [],
17 | "devDependencies": {
18 | "paper-styles": "polymerelements/paper-styles#^1.0.13",
19 | "paper-input": "polymerelements/paper-input#^1.1.2",
20 | "web-component-tester": "^4.0.0",
21 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
22 | "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
23 | "iron-pages": "PolymerElements/iron-pages#^1.0.7",
24 | "paper-card": "PolymerElements/paper-card#^1.1.1",
25 | "paper-icon-button": "polymerelements/paper-icon-button#^v1.0.0",
26 | "paper-toggle-button": "polymerelements/paper-toggle-button#^v1.0.0",
27 | "google-youtube": "GoogleWebComponents/google-youtube#^1.2.1",
28 | "iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.2.0",
29 | "paper-spinner": "PolymerElements/paper-spinner#^1.1.1"
30 | },
31 | "dependencies": {
32 | "polymer": "polymer/polymer#^1.3.1",
33 | "iron-location": "polymerelements/iron-location#^0.8.1"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-selector",
3 | "version": "1.4.0",
4 | "description": "Manages a set of elements that can be selected",
5 | "private": true,
6 | "license": "http://polymer.github.io/LICENSE.txt",
7 | "main": "iron-selector.html",
8 | "authors": [
9 | "The Polymer Authors"
10 | ],
11 | "keywords": [
12 | "web-components",
13 | "polymer",
14 | "selector"
15 | ],
16 | "repository": {
17 | "type": "git",
18 | "url": "git://github.com/PolymerElements/iron-selector.git"
19 | },
20 | "homepage": "https://github.com/PolymerElements/iron-selector",
21 | "ignore": [],
22 | "dependencies": {
23 | "polymer": "Polymer/polymer#^1.2.0"
24 | },
25 | "devDependencies": {
26 | "iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
27 | "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
28 | "paper-styles": "PolymerElements/paper-styles#^1.0.4",
29 | "test-fixture": "PolymerElements/test-fixture#^1.0.0",
30 | "web-component-tester": "^4.0.0",
31 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
32 | },
33 | "_release": "1.4.0",
34 | "_resolution": {
35 | "type": "version",
36 | "tag": "v1.4.0",
37 | "commit": "554f7418fdbd97688eb21518b5f8172167d53a95"
38 | },
39 | "_source": "git://github.com/polymerelements/iron-selector.git",
40 | "_target": "^1.0.0",
41 | "_originalSource": "polymerelements/iron-selector"
42 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/css/var/isHiddenWithinTree.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core",
3 | "../../selector"
4 |
5 | // css is assumed
6 | ], function( jQuery ) {
7 | "use strict";
8 |
9 | // isHiddenWithinTree reports if an element has a non-"none" display style (inline and/or
10 | // through the CSS cascade), which is useful in deciding whether or not to make it visible.
11 | // It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways:
12 | // * A hidden ancestor does not force an element to be classified as hidden.
13 | // * Being disconnected from the document does not force an element to be classified as hidden.
14 | // These differences improve the behavior of .toggle() et al. when applied to elements that are
15 | // detached or contained within hidden ancestors (gh-2404, gh-2863).
16 | return function( elem, el ) {
17 |
18 | // isHiddenWithinTree might be called from jQuery#filter function;
19 | // in that case, element will be second argument
20 | elem = el || elem;
21 |
22 | // Inline style trumps all
23 | return elem.style.display === "none" ||
24 | elem.style.display === "" &&
25 |
26 | // Otherwise, check computed style
27 | // Support: Firefox <=43 - 45
28 | // Disconnected elements can have computed display: none, so first confirm that elem is
29 | // in the document.
30 | jQuery.contains( elem.ownerDocument, elem ) &&
31 |
32 | jQuery.css( elem, "display" ) === "none";
33 | };
34 | } );
35 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-ajax",
3 | "version": "1.4.3",
4 | "description": "Makes it easy to make ajax calls and parse the response",
5 | "private": true,
6 | "authors": [
7 | "The Polymer Authors"
8 | ],
9 | "keywords": [
10 | "web-components",
11 | "polymer",
12 | "ajax"
13 | ],
14 | "main": "iron-ajax.html",
15 | "repository": {
16 | "type": "git",
17 | "url": "git://github.com/PolymerElements/iron-ajax.git"
18 | },
19 | "license": "http://polymer.github.io/LICENSE.txt",
20 | "homepage": "https://github.com/PolymerElements/iron-ajax",
21 | "ignore": [],
22 | "dependencies": {
23 | "promise-polyfill": "polymerlabs/promise-polyfill#^1.0.0",
24 | "polymer": "Polymer/polymer#^1.5.0"
25 | },
26 | "devDependencies": {
27 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
28 | "iron-image": "polymerelements/iron-image#^1.0.0",
29 | "paper-styles": "polymerelements/paper-styles#^1.0.0",
30 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
31 | "web-component-tester": "^4.0.0",
32 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
33 | },
34 | "_release": "1.4.3",
35 | "_resolution": {
36 | "type": "version",
37 | "tag": "v1.4.3",
38 | "commit": "97685a88f7727249fb63667969238faa0e704198"
39 | },
40 | "_source": "https://github.com/PolymerElements/iron-ajax.git",
41 | "_target": "~1.4.3",
42 | "_originalSource": "PolymerElements/iron-ajax"
43 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/badges.less:
--------------------------------------------------------------------------------
1 | //
2 | // Badges
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .badge {
8 | display: inline-block;
9 | min-width: 10px;
10 | padding: 3px 7px;
11 | font-size: @font-size-small;
12 | font-weight: @badge-font-weight;
13 | color: @badge-color;
14 | line-height: @badge-line-height;
15 | vertical-align: middle;
16 | white-space: nowrap;
17 | text-align: center;
18 | background-color: @badge-bg;
19 | border-radius: @badge-border-radius;
20 |
21 | // Empty badges collapse automatically (not available in IE8)
22 | &:empty {
23 | display: none;
24 | }
25 |
26 | // Quick fix for badges in buttons
27 | .btn & {
28 | position: relative;
29 | top: -1px;
30 | }
31 |
32 | .btn-xs &,
33 | .btn-group-xs > .btn & {
34 | top: 0;
35 | padding: 1px 5px;
36 | }
37 |
38 | // Hover state, but only for links
39 | a& {
40 | &:hover,
41 | &:focus {
42 | color: @badge-link-hover-color;
43 | text-decoration: none;
44 | cursor: pointer;
45 | }
46 | }
47 |
48 | // Account for badges in navs
49 | .list-group-item.active > &,
50 | .nav-pills > .active > a > & {
51 | color: @badge-active-color;
52 | background-color: @badge-active-bg;
53 | }
54 |
55 | .list-group-item > & {
56 | float: right;
57 | }
58 |
59 | .list-group-item > & + & {
60 | margin-right: 5px;
61 | }
62 |
63 | .nav-pills > li > a > & {
64 | margin-left: 3px;
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/bower_components/iron-selector/test/index.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 | Tests
13 |
14 |
15 |
16 |
17 |
18 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/bower_components/app-route/test/redirection.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
44 |
45 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/bootstrap.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.7 (http://getbootstrap.com)
3 | * Copyright 2011-2016 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 |
7 | // Core variables and mixins
8 | @import "variables.less";
9 | @import "mixins.less";
10 |
11 | // Reset and dependencies
12 | @import "normalize.less";
13 | @import "print.less";
14 | @import "glyphicons.less";
15 |
16 | // Core CSS
17 | @import "scaffolding.less";
18 | @import "type.less";
19 | @import "code.less";
20 | @import "grid.less";
21 | @import "tables.less";
22 | @import "forms.less";
23 | @import "buttons.less";
24 |
25 | // Components
26 | @import "component-animations.less";
27 | @import "dropdowns.less";
28 | @import "button-groups.less";
29 | @import "input-groups.less";
30 | @import "navs.less";
31 | @import "navbar.less";
32 | @import "breadcrumbs.less";
33 | @import "pagination.less";
34 | @import "pager.less";
35 | @import "labels.less";
36 | @import "badges.less";
37 | @import "jumbotron.less";
38 | @import "thumbnails.less";
39 | @import "alerts.less";
40 | @import "progress-bars.less";
41 | @import "media.less";
42 | @import "list-group.less";
43 | @import "panels.less";
44 | @import "responsive-embed.less";
45 | @import "wells.less";
46 | @import "close.less";
47 |
48 | // Components w/ JavaScript
49 | @import "modals.less";
50 | @import "tooltip.less";
51 | @import "popovers.less";
52 | @import "carousel.less";
53 |
54 | // Utility classes
55 | @import "utilities.less";
56 | @import "responsive-utilities.less";
57 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/grunt/bs-raw-files-generator.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
3 | * http://getbootstrap.com
4 | * Copyright 2014-2015 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | 'use strict';
9 |
10 | var fs = require('fs');
11 | var btoa = require('btoa');
12 | var glob = require('glob');
13 |
14 | function getFiles(type) {
15 | var files = {};
16 | var recursive = type === 'less';
17 | var globExpr = recursive ? '/**/*' : '/*';
18 | glob.sync(type + globExpr)
19 | .filter(function (path) {
20 | return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
21 | })
22 | .forEach(function (fullPath) {
23 | var relativePath = fullPath.replace(/^[^/]+\//, '');
24 | files[relativePath] = type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8');
25 | });
26 | return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
27 | }
28 |
29 | module.exports = function generateRawFilesJs(grunt, banner) {
30 | if (!banner) {
31 | banner = '';
32 | }
33 | var dirs = ['js', 'less', 'fonts'];
34 | var files = banner + dirs.map(getFiles).reduce(function (combined, file) {
35 | return combined + file;
36 | }, '');
37 | var rawFilesJs = 'docs/assets/js/raw-files.min.js';
38 | try {
39 | fs.writeFileSync(rawFilesJs, files);
40 | } catch (err) {
41 | grunt.fail.warn(err);
42 | }
43 | grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
44 | };
45 |
--------------------------------------------------------------------------------
/bower_components/iron-resizable-behavior/README.md:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | [](https://travis-ci.org/PolymerElements/iron-resizable-behavior)
16 |
17 | _[Demo and API docs](https://elements.polymer-project.org/elements/iron-resizable-behavior)_
18 |
19 |
20 | ##Polymer.IronResizableBehavior
21 |
22 | `IronResizableBehavior` is a behavior that can be used in Polymer elements to
23 | coordinate the flow of resize events between "resizers" (elements that control the
24 | size or hidden state of their children) and "resizables" (elements that need to be
25 | notified when they are resized or un-hidden by their parents in order to take
26 | action on their new measurements).
27 |
28 | Elements that perform measurement should add the `IronResizableBehavior` behavior to
29 | their element definition and listen for the `iron-resize` event on themselves.
30 | This event will be fired when they become showing after having been hidden,
31 | when they are resized explicitly by another resizable, or when the window has been
32 | resized.
33 |
34 | Note, the `iron-resize` event is non-bubbling.
35 |
36 |
37 |
--------------------------------------------------------------------------------
/bower_components/iron-pages/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-pages",
3 | "version": "1.0.8",
4 | "license": "http://polymer.github.io/LICENSE.txt",
5 | "description": "Organizes a set of pages and shows one at a time",
6 | "main": "iron-pages.html",
7 | "private": true,
8 | "authors": [
9 | "The Polymer Authors"
10 | ],
11 | "repository": {
12 | "type": "git",
13 | "url": "git://github.com/PolymerElements/iron-pages.git"
14 | },
15 | "keywords": [
16 | "web-components",
17 | "polymer",
18 | "container"
19 | ],
20 | "dependencies": {
21 | "iron-resizable-behavior": "polymerelements/iron-resizable-behavior#^1.0.0",
22 | "iron-selector": "polymerelements/iron-selector#^1.0.0",
23 | "polymer": "Polymer/polymer#^1.1.0"
24 | },
25 | "devDependencies": {
26 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
27 | "iron-demo-helpers": "polymerelements/iron-demo-helpers#^1.0.0",
28 | "paper-styles": "polymerelements/paper-styles#^1.0.2",
29 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
30 | "web-component-tester": "^4.0.0",
31 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
32 | },
33 | "ignore": [],
34 | "homepage": "https://github.com/PolymerElements/iron-pages",
35 | "_release": "1.0.8",
36 | "_resolution": {
37 | "type": "version",
38 | "tag": "v1.0.8",
39 | "commit": "1399d2d51a0ce50edd2c79a6d37419967509bf2c"
40 | },
41 | "_source": "https://github.com/PolymerElements/iron-pages.git",
42 | "_target": "~1.0.8",
43 | "_originalSource": "PolymerElements/iron-pages"
44 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/grunt/configBridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "paths": {
3 | "customizerJs": [
4 | "../assets/js/vendor/autoprefixer.js",
5 | "../assets/js/vendor/less.min.js",
6 | "../assets/js/vendor/jszip.min.js",
7 | "../assets/js/vendor/uglify.min.js",
8 | "../assets/js/vendor/Blob.js",
9 | "../assets/js/vendor/FileSaver.js",
10 | "../assets/js/raw-files.min.js",
11 | "../assets/js/src/customizer.js"
12 | ],
13 | "docsJs": [
14 | "../assets/js/vendor/holder.min.js",
15 | "../assets/js/vendor/ZeroClipboard.min.js",
16 | "../assets/js/vendor/anchor.min.js",
17 | "../assets/js/src/application.js"
18 | ]
19 | },
20 | "config": {
21 | "autoprefixerBrowsers": [
22 | "Android 2.3",
23 | "Android >= 4",
24 | "Chrome >= 20",
25 | "Firefox >= 24",
26 | "Explorer >= 8",
27 | "iOS >= 6",
28 | "Opera >= 12",
29 | "Safari >= 6"
30 | ],
31 | "jqueryCheck": [
32 | "if (typeof jQuery === 'undefined') {",
33 | " throw new Error('Bootstrap\\'s JavaScript requires jQuery')",
34 | "}\n"
35 | ],
36 | "jqueryVersionCheck": [
37 | "+function ($) {",
38 | " 'use strict';",
39 | " var version = $.fn.jquery.split(' ')[0].split('.')",
40 | " if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {",
41 | " throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')",
42 | " }",
43 | "}(jQuery);\n\n"
44 | ]
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grunt task for Glyphicons data generation
3 | * http://getbootstrap.com
4 | * Copyright 2014-2015 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | 'use strict';
9 |
10 | var fs = require('fs');
11 |
12 | module.exports = function generateGlyphiconsData(grunt) {
13 | // Pass encoding, utf8, so `readFileSync` will return a string instead of a
14 | // buffer
15 | var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8');
16 | var glyphiconsLines = glyphiconsFile.split('\n');
17 |
18 | // Use any line that starts with ".glyphicon-" and capture the class name
19 | var iconClassName = /^\.(glyphicon-[a-zA-Z0-9-]+)/;
20 | var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.**\n' +
21 | '# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';
22 | var glyphiconsYml = 'docs/_data/glyphicons.yml';
23 | for (var i = 0, len = glyphiconsLines.length; i < len; i++) {
24 | var match = glyphiconsLines[i].match(iconClassName);
25 |
26 | if (match !== null) {
27 | glyphiconsData += '- ' + match[1] + '\n';
28 | }
29 | }
30 |
31 | // Create the `_data` directory if it doesn't already exist
32 | if (!fs.existsSync('docs/_data')) {
33 | fs.mkdirSync('docs/_data');
34 | }
35 |
36 | try {
37 | fs.writeFileSync(glyphiconsYml, glyphiconsData);
38 | } catch (err) {
39 | grunt.fail.warn(err);
40 | }
41 | grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.');
42 | };
43 |
--------------------------------------------------------------------------------
/bower_components/iron-location/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iron-location",
3 | "version": "0.8.1",
4 | "description": "Bidirectional data binding into the page's URL.",
5 | "private": true,
6 | "authors": [
7 | "The Polymer Authors"
8 | ],
9 | "keywords": [
10 | "web-components",
11 | "polymer",
12 | "routing"
13 | ],
14 | "main": "iron-location.html",
15 | "repository": {
16 | "type": "git",
17 | "url": "git://github.com/PolymerElements/iron-location.git"
18 | },
19 | "license": "http://polymer.github.io/LICENSE.txt",
20 | "homepage": "https://github.com/PolymerElements/iron-location",
21 | "ignore": [],
22 | "dependencies": {
23 | "polymer": "Polymer/polymer#^1.0.0"
24 | },
25 | "devDependencies": {
26 | "promise-polyfill": "polymerlabs/promise-polyfill#^1.0.0",
27 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
28 | "iron-flex-layout": "polymerelements/iron-flex-layout#^1.0.0",
29 | "paper-input": "polymerelements/paper-input#^1.0.0",
30 | "paper-slider": "polymerelements/paper-slider#^1.0.0",
31 | "paper-styles": "polymerelements/paper-styles#^1.0.0",
32 | "test-fixture": "polymerelements/test-fixture#^1.0.0",
33 | "web-component-tester": "^4.0.0",
34 | "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
35 | },
36 | "_release": "0.8.1",
37 | "_resolution": {
38 | "type": "version",
39 | "tag": "v0.8.1",
40 | "commit": "fe42515f03ff4b3397dedf1c0810f1667f460172"
41 | },
42 | "_source": "git://github.com/polymerelements/iron-location.git",
43 | "_target": "^0.8.1",
44 | "_originalSource": "polymerelements/iron-location"
45 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/access.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | "use strict";
6 |
7 | // Multifunctional method to get and set values of a collection
8 | // The value/s can optionally be executed if it's a function
9 | var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
10 | var i = 0,
11 | len = elems.length,
12 | bulk = key == null;
13 |
14 | // Sets many values
15 | if ( jQuery.type( key ) === "object" ) {
16 | chainable = true;
17 | for ( i in key ) {
18 | access( elems, fn, i, key[ i ], true, emptyGet, raw );
19 | }
20 |
21 | // Sets one value
22 | } else if ( value !== undefined ) {
23 | chainable = true;
24 |
25 | if ( !jQuery.isFunction( value ) ) {
26 | raw = true;
27 | }
28 |
29 | if ( bulk ) {
30 |
31 | // Bulk operations run against the entire set
32 | if ( raw ) {
33 | fn.call( elems, value );
34 | fn = null;
35 |
36 | // ...except when executing function values
37 | } else {
38 | bulk = fn;
39 | fn = function( elem, key, value ) {
40 | return bulk.call( jQuery( elem ), value );
41 | };
42 | }
43 | }
44 |
45 | if ( fn ) {
46 | for ( ; i < len; i++ ) {
47 | fn(
48 | elems[ i ], key, raw ?
49 | value :
50 | value.call( elems[ i ], i, fn( elems[ i ], key ) )
51 | );
52 | }
53 | }
54 | }
55 |
56 | if ( chainable ) {
57 | return elems;
58 | }
59 |
60 | // Gets
61 | if ( bulk ) {
62 | return fn.call( elems );
63 | }
64 |
65 | return len ? fn( elems[ 0 ], key ) : emptyGet;
66 | };
67 |
68 | return access;
69 |
70 | } );
71 |
--------------------------------------------------------------------------------
/bower_components/polymer/LICENSE.txt:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Polymer Authors. All rights reserved.
2 | //
3 | // Redistribution and use in source and binary forms, with or without
4 | // modification, are permitted provided that the following conditions are
5 | // met:
6 | //
7 | // * Redistributions of source code must retain the above copyright
8 | // notice, this list of conditions and the following disclaimer.
9 | // * Redistributions in binary form must reproduce the above
10 | // copyright notice, this list of conditions and the following disclaimer
11 | // in the documentation and/or other materials provided with the
12 | // distribution.
13 | // * Neither the name of Google Inc. nor the names of its
14 | // contributors may be used to endorse or promote products derived from
15 | // this software without specific prior written permission.
16 | //
17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/bower_components/app-route/demo/youtube-demo/route-info.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
25 | Route prefix: {{route.prefix}} · Route path: {{route.path}} · Query params: {{_stringifyQueryParams(route.queryParams.*)}}
26 |
27 |
48 |
49 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/code.less:
--------------------------------------------------------------------------------
1 | //
2 | // Code (inline and block)
3 | // --------------------------------------------------
4 |
5 |
6 | // Inline and block code styles
7 | code,
8 | kbd,
9 | pre,
10 | samp {
11 | font-family: @font-family-monospace;
12 | }
13 |
14 | // Inline code
15 | code {
16 | padding: 2px 4px;
17 | font-size: 90%;
18 | color: @code-color;
19 | background-color: @code-bg;
20 | border-radius: @border-radius-base;
21 | }
22 |
23 | // User input typically entered via keyboard
24 | kbd {
25 | padding: 2px 4px;
26 | font-size: 90%;
27 | color: @kbd-color;
28 | background-color: @kbd-bg;
29 | border-radius: @border-radius-small;
30 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31 |
32 | kbd {
33 | padding: 0;
34 | font-size: 100%;
35 | font-weight: bold;
36 | box-shadow: none;
37 | }
38 | }
39 |
40 | // Blocks of code
41 | pre {
42 | display: block;
43 | padding: ((@line-height-computed - 1) / 2);
44 | margin: 0 0 (@line-height-computed / 2);
45 | font-size: (@font-size-base - 1); // 14px to 13px
46 | line-height: @line-height-base;
47 | word-break: break-all;
48 | word-wrap: break-word;
49 | color: @pre-color;
50 | background-color: @pre-bg;
51 | border: 1px solid @pre-border-color;
52 | border-radius: @border-radius-base;
53 |
54 | // Account for some code outputs that place code tags in pre tags
55 | code {
56 | padding: 0;
57 | font-size: inherit;
58 | color: inherit;
59 | white-space: pre-wrap;
60 | background-color: transparent;
61 | border-radius: 0;
62 | }
63 | }
64 |
65 | // Enable scrollable blocks of code
66 | .pre-scrollable {
67 | max-height: @pre-scrollable-max-height;
68 | overflow-y: scroll;
69 | }
70 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/mixins/buttons.less:
--------------------------------------------------------------------------------
1 | // Button variants
2 | //
3 | // Easily pump out default styles, as well as :hover, :focus, :active,
4 | // and disabled options for all buttons
5 |
6 | .button-variant(@color; @background; @border) {
7 | color: @color;
8 | background-color: @background;
9 | border-color: @border;
10 |
11 | &:focus,
12 | &.focus {
13 | color: @color;
14 | background-color: darken(@background, 10%);
15 | border-color: darken(@border, 25%);
16 | }
17 | &:hover {
18 | color: @color;
19 | background-color: darken(@background, 10%);
20 | border-color: darken(@border, 12%);
21 | }
22 | &:active,
23 | &.active,
24 | .open > .dropdown-toggle& {
25 | color: @color;
26 | background-color: darken(@background, 10%);
27 | border-color: darken(@border, 12%);
28 |
29 | &:hover,
30 | &:focus,
31 | &.focus {
32 | color: @color;
33 | background-color: darken(@background, 17%);
34 | border-color: darken(@border, 25%);
35 | }
36 | }
37 | &:active,
38 | &.active,
39 | .open > .dropdown-toggle& {
40 | background-image: none;
41 | }
42 | &.disabled,
43 | &[disabled],
44 | fieldset[disabled] & {
45 | &:hover,
46 | &:focus,
47 | &.focus {
48 | background-color: @background;
49 | border-color: @border;
50 | }
51 | }
52 |
53 | .badge {
54 | color: @background;
55 | background-color: @color;
56 | }
57 | }
58 |
59 | // Button sizes
60 | .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
61 | padding: @padding-vertical @padding-horizontal;
62 | font-size: @font-size;
63 | line-height: @line-height;
64 | border-radius: @border-radius;
65 | }
66 |
--------------------------------------------------------------------------------
/bower_components/iron-ajax/README.md:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 | [](https://travis-ci.org/PolymerElements/iron-ajax)
16 |
17 | _[Demo and API docs](https://elements.polymer-project.org/elements/iron-ajax)_
18 |
19 |
20 | ##<iron-ajax>
21 |
22 | The `iron-ajax` element exposes network request functionality.
23 |
24 | ```html
25 |
32 | ```
33 |
34 | With `auto` set to `true`, the element performs a request whenever
35 | its `url`, `params` or `body` properties are changed. Automatically generated
36 | requests will be debounced in the case that multiple attributes are changed
37 | sequentially.
38 |
39 | Note: The `params` attribute must be double quoted JSON.
40 |
41 | You can trigger a request explicitly by calling `generateRequest` on the
42 | element.
43 |
44 |
45 |
46 | ##<iron-request>
47 |
48 | iron-request can be used to perform XMLHttpRequests.
49 |
50 | ```html
51 |
52 | ...
53 | this.$.xhr.send({url: url, body: params});
54 | ```
55 |
56 |
57 |
--------------------------------------------------------------------------------
/bower_components/app-route/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "app-route",
3 | "version": "0.9.3",
4 | "authors": [
5 | "The Polymer Authors"
6 | ],
7 | "description": "App routing expressed as Polymer Custom Elements.",
8 | "main": [
9 | "app-route.html",
10 | "app-location.html",
11 | "app-route-converter.html"
12 | ],
13 | "license": "http://polymer.github.io/LICENSE.txt",
14 | "homepage": "https://github.com/PolymerElements/app-route",
15 | "private": true,
16 | "ignore": [],
17 | "devDependencies": {
18 | "paper-styles": "polymerelements/paper-styles#^1.0.13",
19 | "paper-input": "polymerelements/paper-input#^1.1.2",
20 | "web-component-tester": "^4.0.0",
21 | "iron-component-page": "polymerelements/iron-component-page#^1.0.0",
22 | "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
23 | "iron-pages": "PolymerElements/iron-pages#^1.0.7",
24 | "paper-card": "PolymerElements/paper-card#^1.1.1",
25 | "paper-icon-button": "polymerelements/paper-icon-button#^v1.0.0",
26 | "paper-toggle-button": "polymerelements/paper-toggle-button#^v1.0.0",
27 | "google-youtube": "GoogleWebComponents/google-youtube#^1.2.1",
28 | "iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.2.0",
29 | "paper-spinner": "PolymerElements/paper-spinner#^1.1.1"
30 | },
31 | "dependencies": {
32 | "polymer": "polymer/polymer#^1.3.1",
33 | "iron-location": "polymerelements/iron-location#^0.8.1"
34 | },
35 | "_release": "0.9.3",
36 | "_resolution": {
37 | "type": "version",
38 | "tag": "v0.9.3",
39 | "commit": "8a95fb29bf2bdf7befbc3f58154d33631b97d8ef"
40 | },
41 | "_source": "https://github.com/PolymerElements/app-route.git",
42 | "_target": "~0.9.3",
43 | "_originalSource": "PolymerElements/app-route"
44 | }
--------------------------------------------------------------------------------
/bower_components/bootstrap/less/grid.less:
--------------------------------------------------------------------------------
1 | //
2 | // Grid system
3 | // --------------------------------------------------
4 |
5 |
6 | // Container widths
7 | //
8 | // Set the container width, and override it for fixed navbars in media queries.
9 |
10 | .container {
11 | .container-fixed();
12 |
13 | @media (min-width: @screen-sm-min) {
14 | width: @container-sm;
15 | }
16 | @media (min-width: @screen-md-min) {
17 | width: @container-md;
18 | }
19 | @media (min-width: @screen-lg-min) {
20 | width: @container-lg;
21 | }
22 | }
23 |
24 |
25 | // Fluid container
26 | //
27 | // Utilizes the mixin meant for fixed width containers, but without any defined
28 | // width for fluid, full width layouts.
29 |
30 | .container-fluid {
31 | .container-fixed();
32 | }
33 |
34 |
35 | // Row
36 | //
37 | // Rows contain and clear the floats of your columns.
38 |
39 | .row {
40 | .make-row();
41 | }
42 |
43 |
44 | // Columns
45 | //
46 | // Common styles for small and large grid columns
47 |
48 | .make-grid-columns();
49 |
50 |
51 | // Extra small grid
52 | //
53 | // Columns, offsets, pushes, and pulls for extra small devices like
54 | // smartphones.
55 |
56 | .make-grid(xs);
57 |
58 |
59 | // Small grid
60 | //
61 | // Columns, offsets, pushes, and pulls for the small device range, from phones
62 | // to tablets.
63 |
64 | @media (min-width: @screen-sm-min) {
65 | .make-grid(sm);
66 | }
67 |
68 |
69 | // Medium grid
70 | //
71 | // Columns, offsets, pushes, and pulls for the desktop device range.
72 |
73 | @media (min-width: @screen-md-min) {
74 | .make-grid(md);
75 | }
76 |
77 |
78 | // Large grid
79 | //
80 | // Columns, offsets, pushes, and pulls for the large desktop device range.
81 |
82 | @media (min-width: @screen-lg-min) {
83 | .make-grid(lg);
84 | }
85 |
--------------------------------------------------------------------------------
/bower_components/jquery/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright jQuery Foundation and other contributors, https://jquery.org/
2 |
3 | This software consists of voluntary contributions made by many
4 | individuals. For exact contribution history, see the revision history
5 | available at https://github.com/jquery/jquery
6 |
7 | The following license applies to all parts of this software except as
8 | documented below:
9 |
10 | ====
11 |
12 | Permission is hereby granted, free of charge, to any person obtaining
13 | a copy of this software and associated documentation files (the
14 | "Software"), to deal in the Software without restriction, including
15 | without limitation the rights to use, copy, modify, merge, publish,
16 | distribute, sublicense, and/or sell copies of the Software, and to
17 | permit persons to whom the Software is furnished to do so, subject to
18 | the following conditions:
19 |
20 | The above copyright notice and this permission notice shall be
21 | included in all copies or substantial portions of the Software.
22 |
23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 |
31 | ====
32 |
33 | All files located in the node_modules and external directories are
34 | externally maintained libraries used by this software which have their
35 | own licenses; we recommend you read them, as their terms may differ from
36 | the terms above.
37 |
--------------------------------------------------------------------------------
/bower_components/app-route/test/app-example-1.html:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
45 |
46 |
--------------------------------------------------------------------------------
/bower_components/jquery/external/sizzle/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright jQuery Foundation and other contributors, https://jquery.org/
2 |
3 | This software consists of voluntary contributions made by many
4 | individuals. For exact contribution history, see the revision history
5 | available at https://github.com/jquery/sizzle
6 |
7 | The following license applies to all parts of this software except as
8 | documented below:
9 |
10 | ====
11 |
12 | Permission is hereby granted, free of charge, to any person obtaining
13 | a copy of this software and associated documentation files (the
14 | "Software"), to deal in the Software without restriction, including
15 | without limitation the rights to use, copy, modify, merge, publish,
16 | distribute, sublicense, and/or sell copies of the Software, and to
17 | permit persons to whom the Software is furnished to do so, subject to
18 | the following conditions:
19 |
20 | The above copyright notice and this permission notice shall be
21 | included in all copies or substantial portions of the Software.
22 |
23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 |
31 | ====
32 |
33 | All files located in the node_modules and external directories are
34 | externally maintained libraries used by this software which have their
35 | own licenses; we recommend you read them, as their terms may differ from
36 | the terms above.
37 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/event/focusin.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../data/var/dataPriv",
4 | "./support",
5 |
6 | "../event",
7 | "./trigger"
8 | ], function( jQuery, dataPriv, support ) {
9 |
10 | "use strict";
11 |
12 | // Support: Firefox <=44
13 | // Firefox doesn't have focus(in | out) events
14 | // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
15 | //
16 | // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
17 | // focus(in | out) events fire after focus & blur events,
18 | // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
19 | // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
20 | if ( !support.focusin ) {
21 | jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
22 |
23 | // Attach a single capturing handler on the document while someone wants focusin/focusout
24 | var handler = function( event ) {
25 | jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
26 | };
27 |
28 | jQuery.event.special[ fix ] = {
29 | setup: function() {
30 | var doc = this.ownerDocument || this,
31 | attaches = dataPriv.access( doc, fix );
32 |
33 | if ( !attaches ) {
34 | doc.addEventListener( orig, handler, true );
35 | }
36 | dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
37 | },
38 | teardown: function() {
39 | var doc = this.ownerDocument || this,
40 | attaches = dataPriv.access( doc, fix ) - 1;
41 |
42 | if ( !attaches ) {
43 | doc.removeEventListener( orig, handler, true );
44 | dataPriv.remove( doc, fix );
45 |
46 | } else {
47 | dataPriv.access( doc, fix, attaches );
48 | }
49 | }
50 | };
51 | } );
52 | }
53 |
54 | return jQuery;
55 | } );
56 |
--------------------------------------------------------------------------------
/bower_components/bootstrap/grunt/sauce_browsers.yml:
--------------------------------------------------------------------------------
1 | [
2 | # Docs: https://saucelabs.com/docs/platforms/webdriver
3 |
4 | {
5 | browserName: "safari",
6 | platform: "OS X 10.10"
7 | },
8 | {
9 | browserName: "chrome",
10 | platform: "OS X 10.10"
11 | },
12 | {
13 | browserName: "firefox",
14 | platform: "OS X 10.10"
15 | },
16 |
17 | # Mac Opera not currently supported by Sauce Labs
18 |
19 | {
20 | browserName: "internet explorer",
21 | version: "11",
22 | platform: "Windows 8.1"
23 | },
24 | {
25 | browserName: "internet explorer",
26 | version: "10",
27 | platform: "Windows 8"
28 | },
29 | {
30 | browserName: "internet explorer",
31 | version: "9",
32 | platform: "Windows 7"
33 | },
34 | {
35 | browserName: "internet explorer",
36 | version: "8",
37 | platform: "Windows 7"
38 | },
39 |
40 | # { # Unofficial
41 | # browserName: "internet explorer",
42 | # version: "7",
43 | # platform: "Windows XP"
44 | # },
45 |
46 | {
47 | browserName: "chrome",
48 | platform: "Windows 8.1"
49 | },
50 | {
51 | browserName: "firefox",
52 | platform: "Windows 8.1"
53 | },
54 |
55 | # Win Opera 15+ not currently supported by Sauce Labs
56 |
57 | {
58 | browserName: "iphone",
59 | platform: "OS X 10.10",
60 | version: "9.2"
61 | },
62 |
63 | # iOS Chrome not currently supported by Sauce Labs
64 |
65 | # Linux (unofficial)
66 | {
67 | browserName: "chrome",
68 | platform: "Linux"
69 | },
70 | {
71 | browserName: "firefox",
72 | platform: "Linux"
73 | }
74 |
75 | # Android Chrome not currently supported by Sauce Labs
76 |
77 | # { # Android Browser (super-unofficial)
78 | # browserName: "android",
79 | # version: "4.0",
80 | # platform: "Linux"
81 | # }
82 | ]
83 |
--------------------------------------------------------------------------------