From 4cda16e4fc2ea8278e940bd2e42416fc6c93c595 Mon Sep 17 00:00:00 2001 From: connors Date: Sun, 16 Feb 2014 11:09:47 -0800 Subject: [PATCH] reorganizing the docs --- Gruntfile.js | 34 +- _config.yml | 7 +- dist/ratchet-theme.css | 119 -- {_includes => docs/_includes}/footer.html | 0 {_includes => docs/_includes}/header.html | 14 +- {_includes => docs/_includes}/nav.html | 0 {_layouts => docs/_layouts}/default.html | 0 {_layouts => docs/_layouts}/home.html | 0 {docs-assets => docs/assets}/css/docs.css | 0 {docs-assets => docs/assets}/css/pygments.css | 0 {docs-assets => docs/assets}/img/android.png | Bin .../assets}/img/apple-touch-icon-114x114.png | Bin .../assets}/img/apple-touch-icon-57x57.png | Bin .../assets}/img/apple-touch-icon-72x72.png | Bin {docs-assets => docs/assets}/img/iphone5c.png | Bin {docs-assets => docs/assets}/img/iphone5s.png | Bin {docs-assets => docs/assets}/img/slide-1.jpg | Bin {docs-assets => docs/assets}/img/slide-2.jpg | Bin {docs-assets => docs/assets}/img/slide-3.jpg | Bin {docs-assets => docs/assets}/js/docs.js | 0 .../assets}/js/fingerblast.js | 0 components.html => docs/components.html | 1 - docs/dist/android-theme.css | 563 +++++++ docs/dist/ios-theme.css | 464 ++++++ docs/dist/ratchet.css | 1423 +++++++++++++++++ docs/dist/ratchet.js | 793 +++++++++ docs/dist/ratchicons/ratchicons.eot | Bin 0 -> 11856 bytes docs/dist/ratchicons/ratchicons.svg | 62 + docs/dist/ratchicons/ratchicons.ttf | Bin 0 -> 11680 bytes docs/dist/ratchicons/ratchicons.woff | Bin 0 -> 6904 bytes .../examples}/app-android-notes/css/app.css | 0 .../examples}/app-android-notes/index.html | 0 .../examples}/app-movies/choose-theater.html | 0 .../examples}/app-movies/css/app.css | 0 .../examples}/app-movies/img/argo.png | Bin .../examples}/app-movies/img/ralph.png | Bin .../examples}/app-movies/img/skyfall.png | Bin .../examples}/app-movies/index.html | 0 .../getting-started.html | 3 +- index.html => docs/index.html | 1 - one.html => docs/one.html | 0 two.html => docs/two.html | 0 {lib/js => js}/modals.js | 0 {lib/js => js}/popovers.js | 0 {lib/js => js}/push.js | 0 {lib/js => js}/segmented-controllers.js | 0 {lib/js => js}/sliders.js | 0 {lib/js => js}/toggles.js | 0 {lib/sass => sass}/badges.scss | 0 {lib/sass => sass}/bars.scss | 0 {lib/sass => sass}/base.scss | 0 {lib/sass => sass}/buttons.scss | 0 {lib/sass => sass}/cards.scss | 0 {lib/sass => sass}/docs.scss | 0 {lib/sass => sass}/forms.scss | 0 {lib/sass => sass}/mixins.scss | 0 {lib/sass => sass}/modals.scss | 0 {lib/sass => sass}/normalize.scss | 0 {lib/sass => sass}/popovers.scss | 0 {lib/sass => sass}/push.scss | 0 {lib/sass => sass}/ratchet.scss | 0 {lib/sass => sass}/ratchicons.scss | 0 {lib/sass => sass}/segmented-controls.scss | 0 {lib/sass => sass}/sliders.scss | 0 {lib/sass => sass}/table-views.scss | 0 {lib/sass => sass}/theme-android.scss | 0 {lib/sass => sass}/theme-ios.scss | 0 {lib/sass => sass}/toggles.scss | 0 {lib/sass => sass}/type.scss | 0 {lib/sass => sass}/variables.scss | 0 70 files changed, 3339 insertions(+), 145 deletions(-) delete mode 100644 dist/ratchet-theme.css rename {_includes => docs/_includes}/footer.html (100%) rename {_includes => docs/_includes}/header.html (70%) rename {_includes => docs/_includes}/nav.html (100%) rename {_layouts => docs/_layouts}/default.html (100%) rename {_layouts => docs/_layouts}/home.html (100%) rename {docs-assets => docs/assets}/css/docs.css (100%) rename {docs-assets => docs/assets}/css/pygments.css (100%) rename {docs-assets => docs/assets}/img/android.png (100%) rename {docs-assets => docs/assets}/img/apple-touch-icon-114x114.png (100%) rename {docs-assets => docs/assets}/img/apple-touch-icon-57x57.png (100%) rename {docs-assets => docs/assets}/img/apple-touch-icon-72x72.png (100%) rename {docs-assets => docs/assets}/img/iphone5c.png (100%) rename {docs-assets => docs/assets}/img/iphone5s.png (100%) rename {docs-assets => docs/assets}/img/slide-1.jpg (100%) rename {docs-assets => docs/assets}/img/slide-2.jpg (100%) rename {docs-assets => docs/assets}/img/slide-3.jpg (100%) rename {docs-assets => docs/assets}/js/docs.js (100%) rename {docs-assets => docs/assets}/js/fingerblast.js (100%) rename components.html => docs/components.html (99%) create mode 100644 docs/dist/android-theme.css create mode 100644 docs/dist/ios-theme.css create mode 100644 docs/dist/ratchet.css create mode 100644 docs/dist/ratchet.js create mode 100644 docs/dist/ratchicons/ratchicons.eot create mode 100644 docs/dist/ratchicons/ratchicons.svg create mode 100644 docs/dist/ratchicons/ratchicons.ttf create mode 100644 docs/dist/ratchicons/ratchicons.woff rename {examples => docs/examples}/app-android-notes/css/app.css (100%) rename {examples => docs/examples}/app-android-notes/index.html (100%) rename {examples => docs/examples}/app-movies/choose-theater.html (100%) rename {examples => docs/examples}/app-movies/css/app.css (100%) rename {examples => docs/examples}/app-movies/img/argo.png (100%) rename {examples => docs/examples}/app-movies/img/ralph.png (100%) rename {examples => docs/examples}/app-movies/img/skyfall.png (100%) rename {examples => docs/examples}/app-movies/index.html (100%) rename getting-started.html => docs/getting-started.html (98%) rename index.html => docs/index.html (99%) rename one.html => docs/one.html (100%) rename two.html => docs/two.html (100%) rename {lib/js => js}/modals.js (100%) rename {lib/js => js}/popovers.js (100%) rename {lib/js => js}/push.js (100%) rename {lib/js => js}/segmented-controllers.js (100%) rename {lib/js => js}/sliders.js (100%) rename {lib/js => js}/toggles.js (100%) rename {lib/sass => sass}/badges.scss (100%) rename {lib/sass => sass}/bars.scss (100%) rename {lib/sass => sass}/base.scss (100%) rename {lib/sass => sass}/buttons.scss (100%) rename {lib/sass => sass}/cards.scss (100%) rename {lib/sass => sass}/docs.scss (100%) rename {lib/sass => sass}/forms.scss (100%) rename {lib/sass => sass}/mixins.scss (100%) rename {lib/sass => sass}/modals.scss (100%) rename {lib/sass => sass}/normalize.scss (100%) rename {lib/sass => sass}/popovers.scss (100%) rename {lib/sass => sass}/push.scss (100%) rename {lib/sass => sass}/ratchet.scss (100%) rename {lib/sass => sass}/ratchicons.scss (100%) rename {lib/sass => sass}/segmented-controls.scss (100%) rename {lib/sass => sass}/sliders.scss (100%) rename {lib/sass => sass}/table-views.scss (100%) rename {lib/sass => sass}/theme-android.scss (100%) rename {lib/sass => sass}/theme-ios.scss (100%) rename {lib/sass => sass}/toggles.scss (100%) rename {lib/sass => sass}/type.scss (100%) rename {lib/sass => sass}/variables.scss (100%) diff --git a/Gruntfile.js b/Gruntfile.js index e98073f..8bee274 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -6,9 +6,9 @@ module.exports = function(grunt) { // Metadata. meta: { - srcPath: 'lib/', - distPath: 'dist/', - docsPath: 'docs-assets/' + distPath: 'dist/', + docsPath: 'docs/dist/', + docsAssetsPath: 'docs/assets/' }, banner: '/*\n' + @@ -27,15 +27,20 @@ module.exports = function(grunt) { }, ratchet: { src: [ - '<%= meta.srcPath %>js/modals.js', - '<%= meta.srcPath %>js/popovers.js', - '<%= meta.srcPath %>js/push.js', - '<%= meta.srcPath %>js/segmented-controllers.js', - '<%= meta.srcPath %>js/sliders.js', - '<%= meta.srcPath %>js/toggles.js' + 'js/modals.js', + 'js/popovers.js', + 'js/push.js', + 'js/segmented-controllers.js', + 'js/sliders.js', + 'js/toggles.js' ], dest: '<%= meta.distPath %><%= pkg.name %>.js' + }, + docs: { + src: '<%= meta.distPath %><%= pkg.name %>.js', + dest: '<%= meta.docsPath %><%= pkg.name %>.js' } + }, sass: { @@ -45,10 +50,13 @@ module.exports = function(grunt) { }, dist: { files: { - '<%= meta.distPath %><%= pkg.name %>.css': '<%= meta.srcPath %>sass/ratchet.scss', - '<%= meta.docsPath %>/css/docs.css': '<%= meta.srcPath %>sass/docs.scss', - '<%= meta.distPath %>ios-theme.css': '<%= meta.srcPath %>sass/theme-ios.scss', - '<%= meta.distPath %>android-theme.css': '<%= meta.srcPath %>sass/theme-android.scss' + '<%= meta.distPath %><%= pkg.name %>.css': 'sass/ratchet.scss', + '<%= meta.distPath %>ios-theme.css': 'sass/theme-ios.scss', + '<%= meta.distPath %>android-theme.css': 'sass/theme-android.scss', + '<%= meta.docsAssetsPath %>css/docs.css': 'sass/docs.scss', + '<%= meta.docsPath %><%= pkg.name %>.css': 'sass/ratchet.scss', + '<%= meta.docsPath %>ios-theme.css': 'sass/theme-ios.scss', + '<%= meta.docsPath %>android-theme.css': 'sass/theme-android.scss' } } }, diff --git a/_config.yml b/_config.yml index 9c1be2f..5530065 100644 --- a/_config.yml +++ b/_config.yml @@ -1,7 +1,12 @@ name: Ratchet authors: Connor Sears, Dave Gamache, and Jacob Thornton description: Prototype iPhone apps with simple HTML, CSS, and JS components. -url: http://maker.github.io/ratchet pygments: true permalink: pretty + +# Server +source: ./docs +port: 4000 +baseurl: / +url: http://localhost:4000 diff --git a/dist/ratchet-theme.css b/dist/ratchet-theme.css deleted file mode 100644 index 0944fed..0000000 --- a/dist/ratchet-theme.css +++ /dev/null @@ -1,119 +0,0 @@ -/* - * ===================================================== - * Ratchet v2.0.0 - * Copyright 2014 Connor Sears, Dave Gamache, and Jacob Thornton - * Licensed under http://www.opensource.org/licenses/MIT - * - * Designed and built by @connors, @dhg, and @fat. - * ===================================================== - */ - -.bar-header-secondary ~ .content { - padding-top: 108px; -} - -.bar { - background-color: rgba(30, 176, 233, 0.98); -} -.bar.bar-standard, .bar.bar-footer-secondary { - background-color: rgba(245, 245, 245, 0.98); -} - -.bar-nav { - top: 20px; - -webkit-box-shadow: 0 -20px 0 rgba(30, 176, 233, 0.98), 0 0 1px rgba(0, 0, 0, 0.85); - box-shadow: 0 -20px 0 rgba(30, 176, 233, 0.98), 0 0 1px rgba(0, 0, 0, 0.85); -} - -.bar.bar-header-secondary { - top: 64px; -} - -.title { - color: #fff; -} - -.tab-label { - color: rgba(255, 255, 255, 0.5); -} - -.tab-item.active .tab-label { - color: white; -} - -.btn { - color: rgba(0, 0, 0, 0.3); - border-color: rgba(0, 0, 0, 0.3); -} -.btn:active, .btn.active, .btn.btn-filled { - background-color: rgba(0, 0, 0, 0.3); -} - -.btn-primary { - color: #1eb0e9; - border-color: #1eb0e9; -} -.btn-primary:active, .btn-primary.active, .btn-primary.btn-filled { - background-color: #1eb0e9; -} - -.btn-positive { - color: #34ba15; - border-color: #34ba15; -} -.btn-positive:active, .btn-positive.active, .btn-positive.btn-filled { - background-color: #34ba15; -} - -.btn-negative { - color: #e71e1e; - border-color: #e71e1e; -} -.btn-negative:active, .btn-negative.active, .btn-negative.btn-filled { - background-color: #e71e1e; -} - -.bar-title .btn { - color: #fff; -} -.bar-title .btn:active, -.bar-title .btn.active, -.bar-title .btn-prev:active, -.bar-title .btn-prev.active, -.bar-title .btn-next:active, -.bar-title .btn-next.active, -.bar-title .btn-primary:active, -.bar-title .btn-primary.active { - color: #fff; -} - -.segmented-control { - border-color: #1eb0e9; -} -.segmented-control li { - border-left-color: #1eb0e9; -} -.segmented-control li > a { - color: #1eb0e9; -} -.segmented-control li.active { - background-color: #1eb0e9; -} - -.bar-title .segmented-control { - border-color: #fff; -} -.bar-title .segmented-control li { - border-left-color: #fff; -} -.bar-title .segmented-control li > a { - color: #fff; -} -.bar-title .segmented-control li.active { - background-color: rgba(255, 255, 255, 0.4); -} - -input[type=search] { - color: #555; - background-color: rgba(0, 0, 0, 0.1); -} diff --git a/_includes/footer.html b/docs/_includes/footer.html similarity index 100% rename from _includes/footer.html rename to docs/_includes/footer.html diff --git a/_includes/header.html b/docs/_includes/header.html similarity index 70% rename from _includes/header.html rename to docs/_includes/header.html index 88a210c..c197321 100644 --- a/_includes/header.html +++ b/docs/_includes/header.html @@ -7,19 +7,17 @@ - - - + + + - - - - - + + + diff --git a/_includes/nav.html b/docs/_includes/nav.html similarity index 100% rename from _includes/nav.html rename to docs/_includes/nav.html diff --git a/_layouts/default.html b/docs/_layouts/default.html similarity index 100% rename from _layouts/default.html rename to docs/_layouts/default.html diff --git a/_layouts/home.html b/docs/_layouts/home.html similarity index 100% rename from _layouts/home.html rename to docs/_layouts/home.html diff --git a/docs-assets/css/docs.css b/docs/assets/css/docs.css similarity index 100% rename from docs-assets/css/docs.css rename to docs/assets/css/docs.css diff --git a/docs-assets/css/pygments.css b/docs/assets/css/pygments.css similarity index 100% rename from docs-assets/css/pygments.css rename to docs/assets/css/pygments.css diff --git a/docs-assets/img/android.png b/docs/assets/img/android.png similarity index 100% rename from docs-assets/img/android.png rename to docs/assets/img/android.png diff --git a/docs-assets/img/apple-touch-icon-114x114.png b/docs/assets/img/apple-touch-icon-114x114.png similarity index 100% rename from docs-assets/img/apple-touch-icon-114x114.png rename to docs/assets/img/apple-touch-icon-114x114.png diff --git a/docs-assets/img/apple-touch-icon-57x57.png b/docs/assets/img/apple-touch-icon-57x57.png similarity index 100% rename from docs-assets/img/apple-touch-icon-57x57.png rename to docs/assets/img/apple-touch-icon-57x57.png diff --git a/docs-assets/img/apple-touch-icon-72x72.png b/docs/assets/img/apple-touch-icon-72x72.png similarity index 100% rename from docs-assets/img/apple-touch-icon-72x72.png rename to docs/assets/img/apple-touch-icon-72x72.png diff --git a/docs-assets/img/iphone5c.png b/docs/assets/img/iphone5c.png similarity index 100% rename from docs-assets/img/iphone5c.png rename to docs/assets/img/iphone5c.png diff --git a/docs-assets/img/iphone5s.png b/docs/assets/img/iphone5s.png similarity index 100% rename from docs-assets/img/iphone5s.png rename to docs/assets/img/iphone5s.png diff --git a/docs-assets/img/slide-1.jpg b/docs/assets/img/slide-1.jpg similarity index 100% rename from docs-assets/img/slide-1.jpg rename to docs/assets/img/slide-1.jpg diff --git a/docs-assets/img/slide-2.jpg b/docs/assets/img/slide-2.jpg similarity index 100% rename from docs-assets/img/slide-2.jpg rename to docs/assets/img/slide-2.jpg diff --git a/docs-assets/img/slide-3.jpg b/docs/assets/img/slide-3.jpg similarity index 100% rename from docs-assets/img/slide-3.jpg rename to docs/assets/img/slide-3.jpg diff --git a/docs-assets/js/docs.js b/docs/assets/js/docs.js similarity index 100% rename from docs-assets/js/docs.js rename to docs/assets/js/docs.js diff --git a/docs-assets/js/fingerblast.js b/docs/assets/js/fingerblast.js similarity index 100% rename from docs-assets/js/fingerblast.js rename to docs/assets/js/fingerblast.js diff --git a/components.html b/docs/components.html similarity index 99% rename from components.html rename to docs/components.html index 12fb7d7..aa5e98a 100644 --- a/components.html +++ b/docs/components.html @@ -1,7 +1,6 @@ --- layout: default title: Components · Ratchet -base_url: "../" ---
diff --git a/docs/dist/android-theme.css b/docs/dist/android-theme.css new file mode 100644 index 0000000..7a43669 --- /dev/null +++ b/docs/dist/android-theme.css @@ -0,0 +1,563 @@ +/* + * ===================================================== + * Ratchet v2.0.0 + * Copyright 2014 Connor Sears, Dave Gamache, and Jacob Thornton + * Licensed under http://www.opensource.org/licenses/MIT + * + * Designed and built by @connors, @dhg, and @fat. + * ===================================================== + */ + +body { + font-family: "Roboto", sans-serif; + font-size: 18px; + line-height: 22px; + color: #222222; +} + +a { + color: #33b5e5; +} +a:active { + color: #1a9bcb; +} + +.content { + background-color: #f2f2f2; +} + +.bar-nav ~ .content { + padding-top: 50px; +} + +.bar-tab ~ .content { + padding-bottom: 50px; +} + +.bar-header-secondary ~ .content { + padding-top: 100px; +} + +.btn { + padding: 8px 15px; + font-size: 14px; + color: #222222; + background-color: #cecece; + border: 0; + border-radius: 2px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 1px rgba(0, 0, 0, 0.25); +} +.btn:active, .btn.active { + color: #222222; + border: 0; + background-color: #999999; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2); +} + +.btn-primary { + color: #fff; + border: 0; + background-color: #33b5e5; +} +.btn-primary:active, .btn-primary.active { + color: #fff; + border: 0; + background-color: #1a9bcb; +} + +.btn-positive { + color: #fff; + border: 0; + background-color: #99cc00; +} +.btn-positive:active, .btn-positive.active { + color: #fff; + border: 0; + background-color: #739900; +} + +.btn-negative { + color: #fff; + border: 0; + background-color: #ff4444; +} +.btn-negative:active, .btn-negative.active { + color: #fff; + border: 0; + background-color: #ff1111; +} + +.btn-outlined { + border: 1px solid #999999; + background-color: transparent; + box-shadow: none; +} +.btn-outlined.btn-primary { + border: 1px solid #33b5e5; + color: #33b5e5; +} +.btn-outlined.btn-primary:active { + border: 1px solid #33b5e5; + background-color: #33b5e5; +} +.btn-outlined.btn-positive { + border: 1px solid #99cc00; + color: #99cc00; +} +.btn-outlined.btn-positive:active { + border: 1px solid #99cc00; + background-color: #99cc00; +} +.btn-outlined.btn-negative { + border: 1px solid #ff4444; + color: #ff4444; +} +.btn-outlined.btn-negative:active { + border: 1px solid #ff4444; + background-color: #ff4444; +} +.btn-outlined:active { + border: 1px solid #999999; + background-color: #999999; + box-shadow: none; +} +.btn-outlined.btn-primary:active, .btn-outlined.btn-positive:active, .btn-outlined.btn-negative:active { + color: #fff; + box-shadow: none; +} + +.btn-link { + color: #33b5e5; + background-color: transparent; + border: none; + box-shadow: none; +} +.btn-link:active, .btn-link.active { + color: #1a9bcb; + background-color: transparent; + box-shadow: none; +} + +.btn-block { + padding: 15px 0; + font-size: 18px; +} + +.btn .badge { + background-color: rgba(0, 0, 0, 0.15); +} +.btn .badge.badge-inverted { + background-color: transparent; +} +.btn:active .badge { + color: #fff; +} + +.bar { + height: 50px; + background-color: #dddddd; + border-bottom: 1px solid #b1b1b1; + box-shadow: inset 0 -2px 0 #d2d2d2, 0 3px 3px rgba(0, 0, 0, 0.07); +} +.bar.bar-header-secondary { + top: 50px; +} +.bar.bar-footer-secondary { + bottom: 50px; +} +.bar.bar-footer-secondary-tab { + bottom: 50px; +} + +.bar-tab { + top: 0; + bottom: auto; + height: 50px; + border-top: 0; +} +.bar-tab .tab-item.active { + color: #33b5e5; + border-bottom: 2px solid #33b5e5; +} +.bar-tab .tab-item:active { + color: #929292; + background-color: #78c6e3; +} +.bar-tab .tab-item .icon { + top: 3px; + padding: 0; +} + +.title { + position: static; + padding-left: 15px; + font-size: 18px; + line-height: 49px; + text-align: left; +} + +.bar .btn { + padding-top: 9px; + padding-bottom: 9px; +} +.bar .btn-link { + padding-top: 0; + padding-bottom: 0; + color: #33b5e5; + font-size: 18px; + line-height: 49px; +} +.bar .btn-link:active, .bar .btn-link.active { + color: #1a9bcb; +} +.bar .btn-link.pull-left { + padding-left: 12px; + padding-right: 0; +} +.bar .btn-link.pull-right { + padding-left: 0; + padding-right: 12px; +} + +.bar-nav .btn { + margin-top: 7px; +} +.bar-nav .btn-link { + margin-top: 0; + color: #33b5e5; +} +.bar-nav .btn-link:active { + color: #33b5e5; + opacity: .6; +} +.bar-nav .btn-link .icon { + top: 2px; + padding: 0; +} + +.bar .segmented-control { + top: 7px; +} + +.bar .icon { + padding-top: 13px; + padding-bottom: 13px; +} +.bar .title .icon { + padding: 0; +} +.bar .title .icon.icon-caret { + top: 10px; + color: #777; +} + +.bar input[type="search"] { + height: 35px; +} + +.badge.badge-inverted { + color: #999999; + background-color: transparent; +} + +.badge-primary { + color: #fff; + background-color: #33b5e5; +} +.badge-primary.badge-inverted { + color: #33b5e5; + background-color: transparent; +} + +.badge-positive { + color: #fff; + background-color: #99cc00; +} +.badge-positive.badge-inverted { + color: #99cc00; + background-color: transparent; +} + +.badge-negative { + color: #fff; + background-color: #ff4444; +} +.badge-negative.badge-inverted { + color: #ff4444; + background-color: transparent; +} + +.card { + border-color: #d9d9d9; + border-radius: 2px; + background-color: transparent; +} + +.table-view { + background-color: transparent; +} +.table-view .table-view-cell { + border-bottom: 1px solid #d9d9d9; +} +.table-view .table-view-cell:last-child { + background-image: none; +} +.table-view .table-view-cell > a:not(.btn):active { + background-color: #e0e0e0; +} +.table-view .table-view-cell > a:not(.btn):active .icon { + color: #fff; +} +.table-view .table-view-divider { + padding-top: 25px; + font-size: 12px; + font-weight: bold; + text-transform: uppercase; + border-top: 0; + border-bottom: 2px solid #a9a9a9; + background-color: transparent; +} + +select, +textarea, +input[type="text"], +input[type="search"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="tel"], +input[type="color"], +.input-group { + height: 40px; + padding: 10px 15px; + border: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); +} + +input[type="search"] { + border-radius: 2px; +} + +select, +textarea, +.input-group { + height: auto; +} + +.input-group { + padding: 0; + border: 0; +} + +.input-group input { + border: 0; + border-bottom: 1px solid #d9d9d9; + box-shadow: none; +} + +.input-group input:last-child { + background-image: none; +} + +.input-row { + border-bottom: 1px solid #d9d9d9; +} + +.input-row label + input { + background-image: none; + border-bottom: 0; +} + +.segmented-control { + font-size: 14px; + background-color: #cecece; + border: 0; + border-radius: 2px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25); +} +.segmented-control .control-item { + padding-top: 10px; + padding-bottom: 10px; + color: #222222; + border-left: 1px solid #999; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2); +} +.segmented-control .control-item:first-child { + border-left-width: 0; +} +.segmented-control .control-item:active, .segmented-control .control-item.active { + background-color: #999999; +} + +.segmented-control-primary { + border: 0; +} +.segmented-control-primary .control-item { + color: #fff; + border-color: inherit; +} +.segmented-control-primary .control-item:active, .segmented-control-primary .control-item.active { + color: #fff; + background-color: #33b5e5; +} + +.segmented-control-positive { + border: 0; +} +.segmented-control-positive .control-item { + color: #fff; + border-color: inherit; +} +.segmented-control-positive .control-item:active, .segmented-control-positive .control-item.active { + color: #fff; + background-color: #99cc00; +} + +.segmented-control-negative { + border: 0; +} +.segmented-control-negative .control-item { + color: #fff; + border-color: inherit; +} +.segmented-control-negative .control-item:active, .segmented-control-negative .control-item.active { + color: #fff; + background-color: #ff4444; +} + +.popover { + top: 47px; + left: 15px; + width: 200px; + margin-left: 0; + border: 1px solid #9b9b9b; + border-radius: 0; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); + -webkit-transform: scale(0.75); + -ms-transform: scale(0.75); + transform: scale(0.75); + -webkit-transition: -webkit-transform 0.1s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + -moz-transition: -webkit-transform 0.1s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + transition: -webkit-transform 0.1s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out; +} +.popover:before { + display: none; +} +.popover.visible { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} + +.popover .bar { + border-radius: 0; +} +.popover .bar-nav ~ .table-view { + padding-top: 50px; +} + +.popover .table-view { + border-radius: 12px; +} + +.toggle { + width: 104px; + height: 28px; + border: 2px solid #d7d7d7; + border-radius: 0; + background-color: #d7d7d7; +} +.toggle .toggle-handle { + top: 0; + left: 0; + width: 50px; + height: 24px; + border: 1px solid #b5b5b5; + border-radius: 2px; + background-color: #bebebe; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.1); +} +.toggle:before { + top: 1px; + right: auto; + left: 11px; + z-index: 3; + color: #fff; +} +.toggle.active { + border: 2px solid #d7d7d7; + background-color: #d7d7d7; +} +.toggle.active .toggle-handle { + margin-right: 2px; + background-color: #33b5e5; + border-color: #33b5e5; + -webkit-transform: translate3d(50px, 0, 0); + -ms-transform: translate3d(50px, 0, 0); + transform: translate3d(50px, 0, 0); +} +.toggle.active:before { + left: auto; + right: 14px; + color: #fff; + content: "On"; +} + +.push-left:after { + content: '\e803'; +} + +.push-right:after { + content: '\e806'; +} + +.icon-caret:before { + content: '\e800'; +} + +.icon-down:before, +.icon-down-nav:before { + content: '\e801'; +} + +.icon-download:before { + content: '\e802'; +} + +.icon-left:before, +.icon-left-nav:before { + content: '\e803'; +} + +.icon-more-vertical:before { + content: '\e804'; +} + +.icon-more:before { + content: '\e805'; +} + +.icon-right:before, +.icon-right-nav:before { + content: '\e806'; +} + +.icon-search:before { + content: '\e807'; +} + +.icon-share:before { + content: '\e808'; +} + +.icon-up:before, +.icon-up-nav:before { + content: '\e809'; +} diff --git a/docs/dist/ios-theme.css b/docs/dist/ios-theme.css new file mode 100644 index 0000000..c21ec25 --- /dev/null +++ b/docs/dist/ios-theme.css @@ -0,0 +1,464 @@ +/* + * ===================================================== + * Ratchet v2.0.0 + * Copyright 2014 Connor Sears, Dave Gamache, and Jacob Thornton + * Licensed under http://www.opensource.org/licenses/MIT + * + * Designed and built by @connors, @dhg, and @fat. + * ===================================================== + */ + +a { + color: #007aff; +} +a:active { + color: #0062cc; +} + +.content { + background-color: #efeff4; +} + +.h5, h5, +.h6, h6, +p { + color: #8f8f94; +} + +.h5, h5, +.h6, h6 { + font-weight: normal; + text-transform: uppercase; +} + +.btn { + border: 1px solid #929292; + color: #929292; + background-color: rgba(247, 247, 247, 0.98); + -webkit-transition: all; + -moz-transition: all; + transition: all; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: linear; + -moz-transition-timing-function: linear; + transition-timing-function: linear; +} +.btn:active, .btn.active { + color: #fff; + background-color: #929292; +} + +.btn-primary { + color: #fff; + border: 1px solid #007aff; + background-color: #007aff; +} +.btn-primary:active, .btn-primary.active { + border: 1px solid #0062cc; + background-color: #0062cc; +} + +.btn-positive { + color: #fff; + border: 1px solid #4cd964; + background-color: #4cd964; +} +.btn-positive:active, .btn-positive.active { + border: 1px solid #2ac845; + background-color: #2ac845; +} + +.btn-negative { + color: #fff; + border: 1px solid #dd524d; + background-color: #dd524d; +} +.btn-negative:active, .btn-negative.active { + border: 1px solid #cf2d28; + background-color: #cf2d28; +} + +.btn-outlined { + background-color: transparent; +} +.btn-outlined.btn-primary { + color: #007aff; +} +.btn-outlined.btn-positive { + color: #4cd964; +} +.btn-outlined.btn-negative { + color: #dd524d; +} +.btn-outlined.btn-primary:active, .btn-outlined.btn-positive:active, .btn-outlined.btn-negative:active { + color: #fff; +} + +.btn-link { + color: #007aff; + background-color: transparent; + border: none; +} +.btn-link:active, .btn-link.active { + color: #0062cc; + background-color: transparent; +} + +.btn .badge { + background-color: rgba(0, 0, 0, 0.15); +} +.btn .badge.badge-inverted { + background-color: transparent; +} +.btn:active .badge { + color: #fff; +} + +.bar { + border-bottom: 0; + background-color: rgba(247, 247, 247, 0.98); + -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.85); + box-shadow: 0 0 1px rgba(0, 0, 0, 0.85); +} +.bar.bar-header-secondary { + top: 44px; +} +.bar.bar-footer-secondary { + bottom: 44px; +} +.bar.bar-footer-secondary-tab { + bottom: 50px; +} + +.bar-tab { + border-top: 0; + -webkit-box-shadow: 0 0 -1px rgba(0, 0, 0, 0.85); + box-shadow: 0 0 -1px rgba(0, 0, 0, 0.85); +} + +.tab-item.active, .tab-item:active { + color: #007aff; +} + +.bar-nav .btn-link { + color: #007aff; +} +.bar-nav .btn-link:active { + color: #007aff; + opacity: .6; +} + +.badge.badge-inverted { + color: #929292; + background-color: transparent; +} + +.badge-primary { + color: #fff; + background-color: #007aff; +} +.badge-primary.badge-inverted { + color: #007aff; + background-color: transparent; +} + +.badge-positive { + color: #fff; + background-color: #4cd964; +} +.badge-positive.badge-inverted { + color: #4cd964; + background-color: transparent; +} + +.badge-negative { + color: #fff; + background-color: #dd524d; +} +.badge-negative.badge-inverted { + color: #dd524d; + background-color: transparent; +} + +.card .table-view { + background-image: none; +} + +.card .table-view-cell:last-child { + background-image: none; +} + +.table-view { + border-top: 0; + border-bottom: 0; + background-image: url("data:image/svg+xml;utf8,"), url("data:image/svg+xml;utf8,"); + background-position: 0 100%, 0 0%; + background-repeat: no-repeat; +} +.table-view .table-view-cell { + border-bottom: 0; + background-image: url("data:image/svg+xml;utf8,"); + background-position: 15px 100%; + background-repeat: no-repeat; +} +.table-view .table-view-cell:last-child { + background-image: none; +} +.table-view .table-view-divider { + border-top: 0; + border-bottom: 0; + background-image: url("data:image/svg+xml;utf8,"), url("data:image/svg+xml;utf8,"); + background-position: 0 100%, 0 0%; + background-repeat: no-repeat; +} + +select, +textarea, +input[type="text"], +input[type="search"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="tel"], +input[type="color"], +.input-group { + height: 40px; + padding: 10px 15px; + border: 1px solid rgba(0, 0, 0, 0.2); +} + +input[type="search"] { + height: 34px; + text-align: center; + background-color: rgba(0, 0, 0, 0.1); + border: 0; + border-radius: 6px; +} + +input[type="search"]:focus { + text-align: left; +} + +select, +textarea, +.input-group { + height: auto; +} + +.input-group { + padding: 0; + border: 0; + background-image: url("data:image/svg+xml;utf8,"), url("data:image/svg+xml;utf8,"); + background-position: 0 100%, 0 0%; + background-repeat: no-repeat; +} + +.input-group input { + border: 0; + background-image: url("data:image/svg+xml;utf8,"); + background-position: 15px 100%; + background-repeat: no-repeat; +} + +.input-group input:last-child { + background-image: none; +} + +.input-row { + border-bottom: 0; + background-image: url("data:image/svg+xml;utf8,"); + background-position: 15px 100%; + background-repeat: no-repeat; +} + +.input-row:last-child, +.input-row label + input { + background-image: none; +} + +.segmented-control { + background-color: transparent; + border: 1px solid #929292; +} +.segmented-control .control-item { + color: #929292; + border-color: #929292; + -webkit-transition: background-color 0.1s linear; + -moz-transition: background-color 0.1s linear; + transition: background-color 0.1s linear; +} +.segmented-control .control-item:active { + background-color: #ebebeb; +} +.segmented-control .control-item.active { + color: #fff; + background-color: #929292; +} + +.segmented-control-primary { + border: 1px solid #007aff; +} +.segmented-control-primary .control-item { + color: #007aff; + border-color: inherit; +} +.segmented-control-primary .control-item:active { + background-color: #b3d7ff; +} +.segmented-control-primary .control-item.active { + color: #fff; + background-color: #007aff; +} + +.segmented-control-positive { + border: 1px solid #4cd964; +} +.segmented-control-positive .control-item { + color: #4cd964; + border-color: inherit; +} +.segmented-control-positive .control-item:active { + background-color: #dff8e3; +} +.segmented-control-positive .control-item.active { + color: #fff; + background-color: #4cd964; +} + +.segmented-control-negative { + border: 1px solid #dd524d; +} +.segmented-control-negative .control-item { + color: #dd524d; + border-color: inherit; +} +.segmented-control-negative .control-item:active { + background-color: #fae4e3; +} +.segmented-control-negative .control-item.active { + color: #fff; + background-color: #dd524d; +} + +.popover { + border-radius: 12px; + -webkit-transition: -webkit-transform 0.2s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + -moz-transition: -webkit-transform 0.2s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + transition: -webkit-transform 0.2s ease-in-out, transform 0.2s ease-in-out, opacity 0.2s ease-in-out; +} +.popover:before { + border-bottom: 15px solid rgba(247, 247, 247, 0.98); +} + +.popover .bar { + -webkit-box-shadow: none; + box-shadow: none; +} + +.popover .bar-nav { + border-bottom: 1px solid rgba(0, 0, 0, 0.15); +} + +.popover .table-view { + border-radius: 12px; + background-image: none; +} + +.modal { + -webkit-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); + -moz-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); + transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); +} +.modal.active { + -webkit-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); + -moz-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); + transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); +} + +.toggle { + width: 47px; + border: 2px solid #e6e6e6; + -webkit-box-shadow: inset 0 0 0 0 #e1e1e1; + box-shadow: inset 0 0 0 0 #e1e1e1; + -webkit-transition-property: box-shadow, border; + -moz-transition-property: box-shadow, border; + transition-property: box-shadow, border; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; +} +.toggle .toggle-handle { + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.08); + box-shadow: 0 3px 3px rgba(0, 0, 0, 0.08); + -webkit-transition-property: -webkit-transform, border, width; + -moz-transition-property: -webkit-transform, border, width; + transition-property: -webkit-transform, border, width; +} +.toggle:before { + display: none; +} +.toggle.active { + border: 2px solid #4cd964; + background-color: transparent; + -webkit-box-shadow: inset 0 0 0 13px #4cd964; + box-shadow: inset 0 0 0 13px #4cd964; +} +.toggle.active .toggle-handle { + -webkit-transform: translate3d(17px, 0, 0); + -ms-transform: translate3d(17px, 0, 0); + transform: translate3d(17px, 0, 0); +} +.toggle.active .toggle-handle { + border-color: #4cd964; +} + +.content.fade { + -webkit-transition: opacity 0.2s ease-in-out; + -moz-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; +} +.content.slide { + -webkit-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); + -moz-transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); + transition-timing-function: cubic-bezier(0.1, 0.5, 0.1, 1); +} +.content.slide.sliding-in, .content.slide.right:not([class*="sliding-in"]) { + -webkit-animation-name: fadeOverlay; + -moz-animation-name: fadeOverlay; + animation-name: fadeOverlay; + -webkit-animation-duration: 0.4s; + -moz-animation-duration: 0.4s; + animation-duration: 0.4s; +} +.content.slide.right:not([class*="sliding-in"]) { + -webkit-animation-direction: reverse; + -moz-animation-direction: reverse; + animation-direction: reverse; +} +.content.slide.left { + -webkit-transform: translate3d(-20%, 0, 0); + -ms-transform: translate3d(-20%, 0, 0); + transform: translate3d(-20%, 0, 0); +} + +@-webkit-keyframes fadeOverlay { + from { + -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0), -320px 0 0 rgba(0, 0, 0, 0); + box-shadow: 0 0 10px rgba(0, 0, 0, 0), -320px 0 0 rgba(0, 0, 0, 0); + } + + to { + -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3), -320px 0 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3), -320px 0 0 rgba(0, 0, 0, 0.1); + } +} diff --git a/docs/dist/ratchet.css b/docs/dist/ratchet.css new file mode 100644 index 0000000..2f1df19 --- /dev/null +++ b/docs/dist/ratchet.css @@ -0,0 +1,1423 @@ +/* + * ===================================================== + * Ratchet v2.0.0 + * Copyright 2014 Connor Sears, Dave Gamache, and Jacob Thornton + * Licensed under http://www.opensource.org/licenses/MIT + * + * Designed and built by @connors, @dhg, and @fat. + * ===================================================== + */ + +/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + background: transparent; +} + +a:active, +a:hover { + outline: 0; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +mark { + background: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} + +button { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input { + line-height: normal; +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +* { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +body { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + font-family: "Helvetica Neue", Helvetica, sans-serif; + font-size: 17px; + line-height: 21px; + color: #000; + background-color: #fff; +} + +a { + color: #428bca; + text-decoration: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +a:active { + color: #3071a9; +} + +strong { + font-weight: 500; +} + +.content { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: auto; + background-color: #fff; + -webkit-overflow-scrolling: touch; +} + +.content > * { + -webkit-transform: translateZ(0px); + transform: translateZ(0px); +} + +.bar-nav ~ .content { + padding-top: 44px; +} + +.bar-tab ~ .content { + padding-bottom: 50px; +} + +.bar-header-secondary ~ .content { + padding-top: 88px; +} + +.container { + padding-right: 15px; + padding-left: 15px; +} + +.pull-left { + float: left; +} + +.pull-right { + float: right; +} + +h1, h2, h3, h4, h5, h6 { + margin: 10px 15px; + line-height: 1; +} + +h1, .h1 { + font-size: 36px; +} + +h2, .h2 { + font-size: 30px; +} + +h3, .h3 { + font-size: 24px; +} + +h4, .h4 { + font-size: 18px; +} + +h5, .h5 { + font-size: 14px; + margin-top: 20px; +} + +h6, .h6 { + font-size: 12px; + margin-top: 20px; +} + +p { + margin: 10px 15px; + font-size: 14px; + color: #777; +} + +.btn { + position: relative; + display: inline-block; + padding: 5px 8px; + margin: 0; + font-size: 12px; + font-weight: 400; + line-height: 1.15; + color: #333; + text-align: center; + vertical-align: top; + cursor: pointer; + background-color: white; + border: 1px solid #ccc; + border-radius: 3px; +} +.btn:active, .btn.active { + color: inherit; + background-color: #ccc; +} +.btn:disabled, .btn.disabled { + opacity: .6; +} + +.btn-primary { + color: #fff; + border: 1px solid #428bca; + background-color: #428bca; +} +.btn-primary:active, .btn-primary.active { + color: #fff; + border: 1px solid #3071a9; + background-color: #3071a9; +} + +.btn-positive { + color: #fff; + border: 1px solid #5cb85c; + background-color: #5cb85c; +} +.btn-positive:active, .btn-positive.active { + color: #fff; + border: 1px solid #449d44; + background-color: #449d44; +} + +.btn-negative { + color: #fff; + border: 1px solid #d9534f; + background-color: #d9534f; +} +.btn-negative:active, .btn-negative.active { + color: #fff; + border: 1px solid #c9302c; + background-color: #c9302c; +} + +.btn-outlined { + background-color: transparent; +} +.btn-outlined.btn-primary { + color: #428bca; +} +.btn-outlined.btn-positive { + color: #5cb85c; +} +.btn-outlined.btn-negative { + color: #d9534f; +} +.btn-outlined.btn-primary:active, .btn-outlined.btn-positive:active, .btn-outlined.btn-negative:active { + color: #fff; +} + +.btn-link { + padding-top: 6px; + padding-bottom: 6px; + color: #428bca; + background-color: transparent; + border: none; +} +.btn-link:active, .btn-link.active { + color: #3071a9; + background-color: transparent; +} + +.btn-block { + display: block; + padding: 15px 0; + margin-bottom: 10px; + font-size: 18px; +} + +input[type="submit"], +input[type="reset"], +input[type="button"] { + width: 100%; +} + +.btn .badge { + font-size: 12px; + padding-top: 2px; + padding-bottom: 2px; + margin: -2px -4px -2px 4px; + background-color: rgba(0, 0, 0, 0.15); +} + +.btn .badge-inverted, +.btn:active .badge-inverted { + background-color: transparent; +} + +.btn-primary:active .badge-inverted, +.btn-positive:active .badge-inverted, +.btn-negative:active .badge-inverted { + color: #fff; +} + +.btn-block .badge { + position: absolute; + right: 0; + margin-right: 10px; +} + +.btn .icon { + font-size: inherit; +} + +.bar { + position: fixed; + right: 0; + left: 0; + z-index: 10; + height: 44px; + padding-right: 10px; + padding-left: 10px; + border-bottom: 1px solid #dddddd; + background-color: white; +} +.bar.bar-header-secondary { + top: 44px; +} +.bar.bar-footer { + bottom: 0; +} +.bar.bar-footer-secondary { + bottom: 44px; +} +.bar.bar-footer-secondary-tab { + bottom: 50px; +} + +.bar-nav { + top: 0; +} + +.title { + position: absolute; + display: block; + width: 100%; + padding: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: -10px; + margin-right: -10px; + font-size: 17px; + font-weight: 500; + line-height: 44px; + color: #000; + text-align: center; + white-space: nowrap; +} + +> a:not(.btn) { + display: block; + width: 100%; + height: 100%; +} + +.title a { + color: inherit; +} + +.bar-tab { + display: table; + bottom: 0; + height: 50px; + width: 100%; + padding: 0; + border-top: 1px solid #dddddd; + table-layout: fixed; +} +.bar-tab .tab-item { + display: table-cell; + height: 100%; + width: 1%; + vertical-align: middle; + color: #929292; + text-align: center; +} +.bar-tab .tab-item.active, .bar-tab .tab-item:active { + color: #428bca; +} +.bar-tab .tab-item .icon { + top: 2px; + width: 24px; + height: 24px; + padding: 0; +} +.bar-tab .tab-item .icon ~ .tab-label { + display: block; + margin-top: -2px; + font-size: 11px; +} + +.bar-nav .btn { + position: relative; + z-index: 20; + padding: 6px 12px; + margin-top: 8px; + font-weight: 400; +} +.bar-nav .btn.pull-right { + margin-left: 10px; +} +.bar-nav .btn.pull-left { + margin-right: 10px; +} + +.bar-nav .btn-link { + margin-top: 0; + padding-top: 0; + padding-bottom: 0; + font-size: 16px; + color: #428bca; + line-height: 44px; + border: 0; +} +.bar-nav .btn-link:active, .bar-nav .btn-link.active { + color: #3071a9; +} +.bar-nav .btn-link .icon { + top: 2px; + padding: 0; +} +.bar-nav .btn-link.pull-left { + margin-left: -10px; +} +.bar-nav .btn-link.pull-left .icon { + margin-right: -5px; + margin-left: -7px; +} +.bar-nav .btn-link.pull-right { + margin-right: -10px; +} +.bar-nav .btn-link.pull-right .icon { + margin-right: -7px; + margin-left: -5px; +} + +.bar .btn-block { + padding: 7px 0 6px; + margin-top: 5px; + margin-bottom: 0; + font-size: 16px; +} + +.bar input[type="search"] { + height: 29px; + margin: 6px 0; +} + +.bar .segmented-control { + top: 8px; + margin: 0 auto; +} + +.bar .icon { + position: relative; + padding: 10px 13px; + z-index: 20; + font-size: 24px; +} +.bar > .icon { + padding-right: 5px; + padding-left: 5px; +} +.bar > .icon.pull-left { + margin-left: -10px; +} +.bar > .icon.pull-right { + margin-right: -10px; +} +.bar .title .icon { + padding: 0; +} +.bar .title .icon.icon-caret { + top: 4px; + margin-left: -5px; +} + +.badge { + display: inline-block; + padding: 2px 9px; + font-size: 13px; + line-height: 1; + color: #333; + background-color: rgba(0, 0, 0, 0.15); + border-radius: 100px; +} +.badge.badge-inverted { + padding: 0 5px 0 0; + background-color: transparent; +} + +.badge-primary { + color: #fff; + background-color: #428bca; +} +.badge-primary.badge-inverted { + color: #428bca; +} + +.badge-positive { + color: #fff; + background-color: #5cb85c; +} +.badge-positive.badge-inverted { + color: #5cb85c; +} + +.badge-negative { + color: #fff; + background-color: #d9534f; +} +.badge-negative.badge-inverted { + color: #d9534f; +} + +.card { + width: auto; + overflow: hidden; + margin: 10px; + background-color: white; + border: 1px solid #dddddd; + border-radius: 6px; +} +.card p { + margin: inherit; + font-size: inherit; + color: inherit; +} + +.card .table-view { + margin: 0; + border-top: 0; + border-bottom: 0; +} +.card .table-view .table-view-divider:first-child { + top: 0; + border-radius: 6px 6px 0 0; +} +.card .table-view .table-view-divider:last-child { + border-radius: 0 0 6px 6px; +} + +.card .table-view li:last-child { + border: 0; +} + +.table-view { + padding: 0; + margin: 0 0 15px 0; + list-style: none; + background-color: #fff; + border-top: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; +} +.table-view .table-view-cell { + position: relative; + overflow: hidden; + padding: 11px 65px 11px 15px; + border-bottom: 1px solid #dddddd; +} +.table-view .table-view-cell:last-child { + border-bottom: 0; +} +.table-view .table-view-cell > a:not(.btn) { + position: relative; + display: block; + overflow: hidden; + padding: inherit; + margin: -11px -65px -11px -15px; + color: inherit; +} +.table-view .table-view-cell > a:not(.btn):active { + background-color: #eee; +} +.table-view .table-view-cell p { + margin: 0; +} +.table-view .table-view-divider { + padding-top: 6px; + padding-bottom: 6px; + padding-left: 15px; + margin-top: -1px; + margin-left: 0; + color: #999; + font-weight: 500; + border-top: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + background-color: #fafafa; +} + +.table-view .media, +.table-view .media-body { + overflow: hidden; + zoom: 1; +} + +.table-view .media-object.pull-left { + margin-right: 10px; +} +.table-view .media-object.pull-right { + margin-left: 10px; +} + +.table-view-cell > .btn, +.table-view-cell > .badge, +.table-view-cell > .toggle, +.table-view-cell > a > .btn, +.table-view-cell > a > .badge, +.table-view-cell > a > .toggle { + position: absolute; + top: 50%; + right: 15px; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} +.table-view-cell .push-left > .btn, +.table-view-cell .push-left > .badge, +.table-view-cell .push-left > .toggle, +.table-view-cell .push-right > .btn, +.table-view-cell .push-right > .badge, +.table-view-cell .push-right > .toggle, +.table-view-cell > a .push-left > .btn, +.table-view-cell > a .push-left > .badge, +.table-view-cell > a .push-left > .toggle, +.table-view-cell > a .push-right > .btn, +.table-view-cell > a .push-right > .badge, +.table-view-cell > a .push-right > .toggle { + right: 35px; +} + +input, +textarea, +button, +select { + font-family: "Helvetica Neue", Helvetica, sans-serif; + font-size: 17px; +} + +select, +textarea, +input[type="text"], +input[type="search"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="tel"], +input[type="color"], +.input-group { + width: 100%; + height: 35px; + padding: 0 15px; + margin-bottom: 15px; + line-height: 21px; + background-color: #fff; + border: 1px solid #dddddd; + border-radius: 3px; + outline: none; + -webkit-appearance: none; +} + +input[type="search"] { + padding: 0 10px; + font-size: 16px; + border-radius: 20px; + box-sizing: border-box; +} + +input[type="search"]:focus { + text-align: left; +} + +textarea { + height: auto; +} + +select { + height: auto; + font-size: 14px; + background-color: #f8f8f8; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); +} + +.input-group { + width: auto; + height: auto; + padding: 0; + border-left: 0; + border-right: 0; + border-radius: 0; +} + +.input-group input { + margin-bottom: 0; + background-color: transparent; + border-bottom: 1px solid #dddddd; + border-top: 0; + border-left: 0; + border-right: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} + +.input-group input:last-child { + border-bottom: 0; +} + +.input-row { + overflow: hidden; + border-bottom: 1px solid #dddddd; +} + +.input-row:last-child { + border-bottom: 0; +} + +.input-row label { + float: left; + width: 35%; + padding: 10px 15px; + font-family: "Helvetica Neue", Helvetica, sans-serif; + line-height: 1.1; +} + +.input-row label + input { + float: right; + width: 65%; + padding-left: 0; + margin-bottom: 0; + border: 0; +} + +.segmented-control { + position: relative; + display: table; + padding: 0; + overflow: hidden; + font-size: 12px; + font-weight: 400; + list-style: none; + background-color: white; + border: 1px solid #ccc; + border-radius: 4px; +} +.segmented-control .control-item { + display: table-cell; + overflow: hidden; + width: 1%; + padding-top: 6px; + padding-bottom: 7px; + line-height: 1; + color: #333; + text-align: center; + white-space: nowrap; + text-overflow: ellipsis; + border-left: 1px solid #ccc; +} +.segmented-control .control-item:first-child { + border-left-width: 0; +} +.segmented-control .control-item:active { + background-color: #eee; +} +.segmented-control .control-item.active { + background-color: #ccc; +} + +.segmented-control-primary { + border: 1px solid #428bca; +} +.segmented-control-primary .control-item { + color: #428bca; + border-color: inherit; +} +.segmented-control-primary .control-item:active { + background-color: #cde1f1; +} +.segmented-control-primary .control-item.active { + color: #fff; + background-color: #428bca; +} + +.segmented-control-positive { + border: 1px solid #5cb85c; +} +.segmented-control-positive .control-item { + color: #5cb85c; + border-color: inherit; +} +.segmented-control-positive .control-item:active { + background-color: #d8eed8; +} +.segmented-control-positive .control-item.active { + color: #fff; + background-color: #5cb85c; +} + +.segmented-control-negative { + border: 1px solid #d9534f; +} +.segmented-control-negative .control-item { + color: #d9534f; + border-color: inherit; +} +.segmented-control-negative .control-item:active { + background-color: #f9e2e2; +} +.segmented-control-negative .control-item.active { + color: #fff; + background-color: #d9534f; +} + +.control-content { + display: none; +} +.control-content.active { + display: block; +} + +.popover { + position: fixed; + top: 55px; + left: 50%; + z-index: 20; + display: none; + width: 280px; + margin-left: -140px; + background-color: white; + border-radius: 6px; + opacity: 0; + box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); + -webkit-transform: translate3d(0, -15px, 0); + -ms-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + -webkit-transition: all 0.25s linear; + -moz-transition: all 0.25s linear; + transition: all 0.25s linear; +} +.popover:before { + position: absolute; + top: -15px; + left: 50%; + width: 0; + height: 0; + margin-left: -15px; + border-right: 15px solid transparent; + border-bottom: 15px solid white; + border-left: 15px solid transparent; + content: ''; +} +.popover.visible { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.popover .bar ~ .table-view { + padding-top: 44px; +} + +.backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + background-color: none; +} + +.popover .btn-block { + margin-bottom: 5px; +} +.popover .btn-block:last-child { + margin-bottom: 0; +} + +.popover .bar-nav { + border-bottom: 1px solid #dddddd; + border-radius: 12px 12px 0 0; + -webkit-box-shadow: none; + box-shadow: none; +} + +.popover .table-view { + width: auto; + max-height: 300px; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + overflow: auto; + background-color: #fff; + border-top: 0; + border-bottom: 0; + border-radius: 6px; + -webkit-overflow-scrolling: touch; +} + +.modal { + position: fixed; + top: 0; + opacity: 0; + z-index: 11; + width: 100%; + min-height: 100%; + overflow: hidden; + background-color: #fff; + -webkit-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + -webkit-transition: -webkit-transform 0.25s, opacity 1ms 0.25s; + -moz-transition: -webkit-transform 0.25s, opacity 1ms 0.25s; + transition: -webkit-transform 0.25s, opacity 1ms 0.25s; +} +.modal.active { + opacity: 1; + height: 100%; + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: -webkit-transform 0.25s; + -moz-transition: -webkit-transform 0.25s; + transition: -webkit-transform 0.25s; +} + +.slider, +.slider > li { + width: 100%; +} + +.slider { + overflow: hidden; + background-color: #000; +} +.slider .slide-group { + position: relative; + padding: 0; + font-size: 0; + white-space: nowrap; + -webkit-transition: all 0 linear; + -moz-transition: all 0 linear; + transition: all 0 linear; +} +.slider .slide-group .slide { + display: inline-block; + vertical-align: top; + width: 100%; + height: 100%; +} +.slider .slide-group .slide > * { + font-size: 14px; +} + +.toggle { + display: block; + position: relative; + width: 74px; + height: 30px; + background-color: #fff; + border: 2px solid #ddd; + border-radius: 20px; + -webkit-transition-property: background-color, border; + -moz-transition-property: background-color, border; + transition-property: background-color, border; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; +} +.toggle .toggle-handle { + position: absolute; + top: -1px; + left: -1px; + z-index: 2; + width: 28px; + height: 28px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 100px; + -webkit-transition-property: -webkit-transform, border, width; + -moz-transition-property: -webkit-transform, border, width; + transition-property: -webkit-transform, border, width; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; +} +.toggle:before { + position: absolute; + top: 3px; + right: 11px; + color: #999; + font-size: 14px; + text-transform: uppercase; + content: "Off"; +} +.toggle.active { + border: 2px solid #5cb85c; + background-color: #5cb85c; +} +.toggle.active .toggle-handle { + border-color: #5cb85c; + -webkit-transform: translate3d(44px, 0, 0); + -ms-transform: translate3d(44px, 0, 0); + transform: translate3d(44px, 0, 0); +} +.toggle.active:before { + right: auto; + left: 15px; + color: #fff; + content: "On"; +} +.toggle input[type="checkbox"] { + display: none; +} + +.content.fade { + left: 0; + opacity: 0; +} +.content.fade.in { + opacity: 1; +} +.content.slide { + z-index: 2; + -webkit-transition: -webkit-transform 0.4s; + -moz-transition: -webkit-transform 0.4s; + transition: -webkit-transform 0.4s; + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.content.slide.left { + z-index: 1; + -webkit-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.content.slide.right { + z-index: 3; + -webkit-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} + +.push-left:after, +.push-right:after { + position: absolute; + top: 50%; + display: inline-block; + color: #bbb; + font-family: Ratchicons; + font-size: inherit; + text-decoration: none; + line-height: 1; + cursor: default; + -webkit-font-smoothing: antialiased; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} + +.push-left:after { + left: 15px; + content: '\e80d'; +} + +.push-right:after { + right: 15px; + content: '\e811'; +} + +@font-face { + font-family: Ratchicons; + src: url("ratchicons/ratchicons.eot"); + src: url("ratchicons/ratchicons.eot?#iefix") format("embedded-opentype"), url("ratchicons/ratchicons.woff") format("woff"), url("ratchicons/ratchicons.ttf") format("truetype"), url("ratchicons/ratchicons.svg#svgFontName") format("svg"); + font-weight: normal; + font-style: normal; +} + +.icon { + display: inline-block; + font-family: Ratchicons; + font-size: 24px; + text-decoration: none; + line-height: 1; + cursor: default; + -webkit-font-smoothing: antialiased; +} + +.icon-back:before { + content: '\e80a'; +} + +.icon-bars:before { + content: '\e817'; +} + +.icon-caret:before { + content: '\e818'; +} + +.icon-check:before { + content: '\e819'; +} + +.icon-close:before { + content: '\e81a'; +} + +.icon-code:before { + content: '\e81b'; +} + +.icon-compose:before { + content: '\e81c'; +} + +.icon-down-nav:before { + content: '\e81d'; +} + +.icon-down:before { + content: '\e80b'; +} + +.icon-download:before { + content: '\e81e'; +} + +.icon-edit:before { + content: '\e81f'; +} + +.icon-forward:before { + content: '\e820'; +} + +.icon-gear:before { + content: '\e80c'; +} + +.icon-home:before { + content: '\e821'; +} + +.icon-info:before { + content: '\e822'; +} + +.icon-left-nav:before { + content: '\e823'; +} + +.icon-left:before { + content: '\e80d'; +} + +.icon-list:before { + content: '\e80e'; +} + +.icon-more-vertical:before { + content: '\e824'; +} + +.icon-more:before { + content: '\e825'; +} + +.icon-pages:before { + content: '\e80f'; +} + +.icon-pause:before { + content: '\e826'; +} + +.icon-person:before { + content: '\e827'; +} + +.icon-play:before { + content: '\e828'; +} + +.icon-plus:before { + content: '\e829'; +} + +.icon-refresh:before { + content: '\e810'; +} + +.icon-right-nav:before { + content: '\e82a'; +} + +.icon-right:before { + content: '\e811'; +} + +.icon-search:before { + content: '\e82b'; +} + +.icon-share:before { + content: '\e82c'; +} + +.icon-sound2:before { + content: '\e813'; +} + +.icon-sound3:before { + content: '\e814'; +} + +.icon-sound4:before { + content: '\e815'; +} + +.icon-sound:before { + content: '\e812'; +} + +.icon-star-filled:before { + content: '\e82e'; +} + +.icon-star:before { + content: '\e82d'; +} + +.icon-stop:before { + content: '\e82f'; +} + +.icon-trash:before { + content: '\e830'; +} + +.icon-up-nav:before { + content: '\e832'; +} + +.icon-up:before { + content: '\e816'; +} + +.icon-user:before { + content: '\e831'; +} diff --git a/docs/dist/ratchet.js b/docs/dist/ratchet.js new file mode 100644 index 0000000..6cf21e0 --- /dev/null +++ b/docs/dist/ratchet.js @@ -0,0 +1,793 @@ +/* + * ===================================================== + * Ratchet v2.0.0 + * Copyright 2014 Connor Sears, Dave Gamache, and Jacob Thornton + * Licensed under http://www.opensource.org/licenses/MIT + * + * Designed and built by @connors, @dhg, and @fat. + * ===================================================== + */ +/* + * ===================================================== + * Ratchet v2.0.0 + * Copyright 2014 Connor Sears, Dave Gamache, and Jacob Thornton + * Licensed under http://www.opensource.org/licenses/MIT + * + * Designed and built by @connors, @dhg, and @fat. + * ===================================================== + */ +/* ---------------------------------- + * MODAL v1.0.0 + * Licensed under The MIT License + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + var findModals = function (target) { + var i, modals = document.querySelectorAll('a'); + for (; target && target !== document; target = target.parentNode) { + for (i = modals.length; i--;) { if (modals[i] === target) return target; } + } + }; + + var getModal = function (event) { + var modalToggle = findModals(event.target); + if (modalToggle && modalToggle.hash) return document.querySelector(modalToggle.hash); + }; + + window.addEventListener('touchend', function (event) { + var modal = getModal(event); + if (modal) { + if (modal && modal.classList.contains('modal')) modal.classList.toggle('active'); + event.preventDefault(); // prevents rewriting url (apps can still use hash values in url) + } + }); +}(); + +/* ---------------------------------- + * POPOVER v1.0.1 + * Licensed under The MIT License + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + + var popover; + + var findPopovers = function (target) { + var i, popovers = document.querySelectorAll('a'); + for (; target && target !== document; target = target.parentNode) { + for (i = popovers.length; i--;) { if (popovers[i] === target) return target; } + } + }; + + var onPopoverHidden = function () { + popover.style.display = 'none'; + popover.removeEventListener('webkitTransitionEnd', onPopoverHidden); + } + + var backdrop = function () { + var element = document.createElement('div'); + + element.classList.add('backdrop'); + + element.addEventListener('touchend', function () { + popover.addEventListener('webkitTransitionEnd', onPopoverHidden); + popover.classList.remove('visible'); + popover.parentNode.removeChild(backdrop); + }); + + return element; + }(); + + var getPopover = function (e) { + var anchor = findPopovers(e.target); + + if (!anchor || !anchor.hash || (anchor.hash.indexOf("/") > 0)) return; + + try { + popover = document.querySelector(anchor.hash); + } + catch (error) { + popover = null; + } + + if (popover == null) return; + + if (!popover || !popover.classList.contains('popover')) return; + + return popover; + } + + var showHidePopover = function (e) { + var popover = getPopover(e); + + if (!popover) return; + + popover.style.display = 'block'; + popover.offsetHeight; + popover.classList.add('visible'); + + popover.parentNode.appendChild(backdrop); + }; + + window.addEventListener('touchend', showHidePopover); + window.addEventListener('click', showHidePopover); + +}(); + +/* ---------------------------------- + * PUSH v1.0.0 + * Licensed under The MIT License + * inspired by chris's jquery.pjax.js + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + + var noop = function () {}; + + + // Pushstate cacheing + // ================== + + var isScrolling; + var maxCacheLength = 20; + var cacheMapping = sessionStorage; + var domCache = {}; + var transitionMap = { + 'slide-in' : 'slide-out', + 'slide-out' : 'slide-in', + 'fade' : 'fade' + }; + + var bars = { + bartab : '.bar-tab', + barnav : '.bar-nav', + barfooter : '.bar-footer', + barheadersecondary : '.bar-header-secondary' + }; + + var cacheReplace = function (data, updates) { + PUSH.id = data.id; + if (updates) data = getCached(data.id); + cacheMapping[data.id] = JSON.stringify(data); + window.history.replaceState(data.id, data.title, data.url); + domCache[data.id] = document.body.cloneNode(true); + }; + + var cachePush = function () { + var id = PUSH.id; + + var cacheForwardStack = JSON.parse(cacheMapping.cacheForwardStack || '[]'); + var cacheBackStack = JSON.parse(cacheMapping.cacheBackStack || '[]'); + + cacheBackStack.push(id); + + while (cacheForwardStack.length) delete cacheMapping[cacheForwardStack.shift()]; + while (cacheBackStack.length > maxCacheLength) delete cacheMapping[cacheBackStack.shift()]; + + window.history.pushState(null, '', cacheMapping[PUSH.id].url); + + cacheMapping.cacheForwardStack = JSON.stringify(cacheForwardStack); + cacheMapping.cacheBackStack = JSON.stringify(cacheBackStack); + }; + + var cachePop = function (id, direction) { + var forward = direction == 'forward'; + var cacheForwardStack = JSON.parse(cacheMapping.cacheForwardStack || '[]'); + var cacheBackStack = JSON.parse(cacheMapping.cacheBackStack || '[]'); + var pushStack = forward ? cacheBackStack : cacheForwardStack; + var popStack = forward ? cacheForwardStack : cacheBackStack; + + if (PUSH.id) pushStack.push(PUSH.id); + popStack.pop(); + + cacheMapping.cacheForwardStack = JSON.stringify(cacheForwardStack); + cacheMapping.cacheBackStack = JSON.stringify(cacheBackStack); + }; + + var getCached = function (id) { + return JSON.parse(cacheMapping[id] || null) || {}; + }; + + var getTarget = function (e) { + var target = findTarget(e.target); + + if ( + ! target + || e.which > 1 + || e.metaKey + || e.ctrlKey + || isScrolling + || location.protocol !== target.protocol + || location.host !== target.host + || !target.hash && /#/.test(target.href) + || target.hash && target.href.replace(target.hash, '') === location.href.replace(location.hash, '') + || target.getAttribute('data-ignore') == 'push' + ) return; + + return target; + }; + + + // Main event handlers (touchend, popstate) + // ========================================== + + var touchend = function (e) { + var target = getTarget(e); + + if (!target) return; + + e.preventDefault(); + + PUSH({ + url : target.href, + hash : target.hash, + timeout : target.getAttribute('data-timeout'), + transition : target.getAttribute('data-transition') + }); + }; + + var popstate = function (e) { + var key; + var barElement; + var activeObj; + var activeDom; + var direction; + var transition; + var transitionFrom; + var transitionFromObj; + var id = e.state; + + if (!id || !cacheMapping[id]) return; + + direction = PUSH.id < id ? 'forward' : 'back'; + + cachePop(id, direction); + + activeObj = getCached(id); + activeDom = domCache[id]; + + if (activeObj.title) document.title = activeObj.title; + + if (direction == 'back') { + transitionFrom = JSON.parse(direction == 'back' ? cacheMapping.cacheForwardStack : cacheMapping.cacheBackStack); + transitionFromObj = getCached(transitionFrom[transitionFrom.length - 1]); + } else { + transitionFromObj = activeObj; + } + + if (direction == 'back' && !transitionFromObj.id) return PUSH.id = id; + + transition = direction == 'back' ? transitionMap[transitionFromObj.transition] : transitionFromObj.transition; + + if (!activeDom) { + return PUSH({ + id : activeObj.id, + url : activeObj.url, + title : activeObj.title, + timeout : activeObj.timeout, + transition : transition, + ignorePush : true + }); + } + + if (transitionFromObj.transition) { + activeObj = extendWithDom(activeObj, '.content', activeDom.cloneNode(true)); + for (key in bars) { + barElement = document.querySelector(bars[key]) + if (activeObj[key]) swapContent(activeObj[key], barElement); + else if (barElement) barElement.parentNode.removeChild(barElement); + } + } + + swapContent( + (activeObj.contents || activeDom).cloneNode(true), + document.querySelector('.content'), + transition + ); + + PUSH.id = id; + + document.body.offsetHeight; // force reflow to prevent scroll + }; + + + // Core PUSH functionality + // ======================= + + var PUSH = function (options) { + var key; + var data = {}; + var xhr = PUSH.xhr; + + options.container = options.container || options.transition ? document.querySelector('.content') : document.body; + + for (key in bars) { + options[key] = options[key] || document.querySelector(bars[key]); + } + + if (xhr && xhr.readyState < 4) { + xhr.onreadystatechange = noop; + xhr.abort() + } + + xhr = new XMLHttpRequest(); + xhr.open('GET', options.url, true); + xhr.setRequestHeader('X-PUSH', 'true'); + + xhr.onreadystatechange = function () { + if (options._timeout) clearTimeout(options._timeout); + if (xhr.readyState == 4) xhr.status == 200 ? success(xhr, options) : failure(options.url); + }; + + if (!PUSH.id) { + cacheReplace({ + id : +new Date, + url : window.location.href, + title : document.title, + timeout : options.timeout, + transition : null + }); + } + + if (options.timeout) { + options._timeout = setTimeout(function () { xhr.abort('timeout'); }, options.timeout); + } + + xhr.send(); + + if (xhr.readyState && !options.ignorePush) cachePush(); + }; + + + // Main XHR handlers + // ================= + + var success = function (xhr, options) { + var key; + var barElement; + var data = parseXHR(xhr, options); + + if (!data.contents) return locationReplace(options.url); + + if (data.title) document.title = data.title; + + if (options.transition) { + for (key in bars) { + barElement = document.querySelector(bars[key]) + if (data[key]) swapContent(data[key], barElement); + else if (barElement) barElement.parentNode.removeChild(barElement); + } + } + + swapContent(data.contents, options.container, options.transition, function () { + cacheReplace({ + id : options.id || +new Date, + url : data.url, + title : data.title, + timeout : options.timeout, + transition : options.transition + }, options.id); + triggerStateChange(); + }); + + if (!options.ignorePush && window._gaq) _gaq.push(['_trackPageview']) // google analytics + if (!options.hash) return; + }; + + var failure = function (url) { + throw new Error('Could not get: ' + url) + }; + + + // PUSH helpers + // ============ + + var swapContent = function (swap, container, transition, complete) { + var enter; + var containerDirection; + var swapDirection; + + if (!transition) { + if (container) container.innerHTML = swap.innerHTML; + else if (swap.classList.contains('content')) document.body.appendChild(swap); + else document.body.insertBefore(swap, document.querySelector('.content')); + } else { + enter = /in$/.test(transition); + + if (transition == 'fade') { + container.classList.add('in'); + container.classList.add('fade'); + swap.classList.add('fade'); + } + + if (/slide/.test(transition)) { + swap.classList.add('sliding-in', enter ? 'right' : 'left'); + swap.classList.add('slide'); + container.classList.add('slide'); + } + + container.parentNode.insertBefore(swap, container); + } + + if (!transition) complete && complete(); + + if (transition == 'fade') { + container.offsetWidth; // force reflow + container.classList.remove('in'); + container.addEventListener('webkitTransitionEnd', fadeContainerEnd); + + function fadeContainerEnd() { + container.removeEventListener('webkitTransitionEnd', fadeContainerEnd); + swap.classList.add('in'); + swap.addEventListener('webkitTransitionEnd', fadeSwapEnd); + } + function fadeSwapEnd () { + swap.removeEventListener('webkitTransitionEnd', fadeSwapEnd); + container.parentNode.removeChild(container); + swap.classList.remove('fade'); + swap.classList.remove('in'); + complete && complete(); + } + } + + if (/slide/.test(transition)) { + container.offsetWidth; // force reflow + swapDirection = enter ? 'right' : 'left' + containerDirection = enter ? 'left' : 'right' + container.classList.add(containerDirection); + swap.classList.remove(swapDirection); + swap.addEventListener('webkitTransitionEnd', slideEnd); + + function slideEnd() { + swap.removeEventListener('webkitTransitionEnd', slideEnd); + swap.classList.remove('slide', 'sliding-in'); + swap.classList.remove(swapDirection); + container.parentNode.removeChild(container); + complete && complete(); + } + } + }; + + var triggerStateChange = function () { + var e = new CustomEvent('push', { + detail: { state: getCached(PUSH.id) }, + bubbles: true, + cancelable: true + }); + + window.dispatchEvent(e); + }; + + var findTarget = function (target) { + var i, toggles = document.querySelectorAll('a'); + for (; target && target !== document; target = target.parentNode) { + for (i = toggles.length; i--;) { if (toggles[i] === target) return target; } + } + }; + + var locationReplace = function (url) { + window.history.replaceState(null, '', '#'); + window.location.replace(url); + }; + + var parseURL = function (url) { + var a = document.createElement('a'); a.href = url; return a; + }; + + var extendWithDom = function (obj, fragment, dom) { + var i; + var result = {}; + + for (i in obj) result[i] = obj[i]; + + Object.keys(bars).forEach(function (key) { + var el = dom.querySelector(bars[key]); + if (el) el.parentNode.removeChild(el); + result[key] = el; + }); + + result.contents = dom.querySelector(fragment); + + return result; + }; + + var parseXHR = function (xhr, options) { + var head; + var body; + var data = {}; + var responseText = xhr.responseText; + + data.url = options.url; + + if (!responseText) return data; + + if (/]*>([\s\S.]*)<\/head>/i)[0] + body.innerHTML = responseText.match(/]*>([\s\S.]*)<\/body>/i)[0] + } else { + head = body = document.createElement('div'); + head.innerHTML = responseText; + } + + data.title = head.querySelector('title'); + data.title = data.title && data.title.innerText.trim(); + + if (options.transition) data = extendWithDom(data, '.content', body); + else data.contents = body; + + return data; + }; + + + // Attach PUSH event handlers + // ========================== + + window.addEventListener('touchstart', function () { isScrolling = false; }); + window.addEventListener('touchmove', function () { isScrolling = true; }) + window.addEventListener('touchend', touchend); + window.addEventListener('click', function (e) { if (getTarget(e)) e.preventDefault(); }); + window.addEventListener('popstate', popstate); + window.PUSH = PUSH; + +}(); + +/* ---------------------------------- + * Segmented controls v1.0.1 + * Licensed under The MIT License + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + var getTarget = function (target) { + var i, segmentedControls = document.querySelectorAll('.segmented-control .control-item'); + for (; target && target !== document; target = target.parentNode) { + for (i = segmentedControls.length; i--;) { if (segmentedControls[i] === target) return target; } + } + }; + + window.addEventListener("touchend", function (e) { + var activeTab; + var activeBodies; + var targetBody; + var targetTab = getTarget(e.target); + var className = 'active'; + var classSelector = '.' + className; + + if (!targetTab) return; + + activeTab = targetTab.parentNode.querySelector(classSelector); + + if (activeTab) activeTab.classList.remove(className); + + targetTab.classList.add(className); + + if (!targetTab.hash) return; + + targetBody = document.querySelector(targetTab.hash); + + if (!targetBody) return; + + activeBodies = targetBody.parentNode.querySelectorAll(classSelector); + + for (var i = 0; i < activeBodies.length; i++) { + activeBodies[i].classList.remove(className); + } + + targetBody.classList.add(className); + }); + + window.addEventListener('click', function (e) { if (getTarget(e.target)) e.preventDefault(); }); +}(); +/* ---------------------------------- + * SLIDER v1.0.1 + * Licensed under The MIT License + * Adapted from Brad Birdsall's swipe + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + + var pageX; + var pageY; + var slider; + var deltaX; + var deltaY; + var offsetX; + var lastSlide; + var startTime; + var resistance; + var sliderWidth; + var slideNumber; + var isScrolling; + var scrollableArea; + + var getSlider = function (target) { + var i, sliders = document.querySelectorAll('.slider > .slide-group'); + for (; target && target !== document; target = target.parentNode) { + for (i = sliders.length; i--;) { if (sliders[i] === target) return target; } + } + } + + var getScroll = function () { + var translate3d = slider.style.webkitTransform.match(/translate3d\(([^,]*)/); + return parseInt(translate3d ? translate3d[1] : 0) + }; + + var setSlideNumber = function (offset) { + var round = offset ? (deltaX < 0 ? 'ceil' : 'floor') : 'round'; + slideNumber = Math[round](getScroll() / ( scrollableArea / slider.children.length) ); + slideNumber += offset; + slideNumber = Math.min(slideNumber, 0); + slideNumber = Math.max(-(slider.children.length - 1), slideNumber); + } + + var onTouchStart = function (e) { + slider = getSlider(e.target); + + if (!slider) return; + + var firstItem = slider.querySelector('.slide'); + + scrollableArea = firstItem.offsetWidth * slider.children.length; + isScrolling = undefined; + sliderWidth = slider.offsetWidth; + resistance = 1; + lastSlide = -(slider.children.length - 1); + startTime = +new Date; + pageX = e.touches[0].pageX; + pageY = e.touches[0].pageY; + deltaX = 0; + deltaY = 0; + + setSlideNumber(0); + + slider.style['-webkit-transition-duration'] = 0; + }; + + var onTouchMove = function (e) { + if (e.touches.length > 1 || !slider) return; // Exit if a pinch || no slider + + deltaX = e.touches[0].pageX - pageX; + deltaY = e.touches[0].pageY - pageY; + pageX = e.touches[0].pageX; + pageY = e.touches[0].pageY; + + if (typeof isScrolling == 'undefined') { + isScrolling = Math.abs(deltaY) > Math.abs(deltaX); + } + + if (isScrolling) return; + + offsetX = (deltaX / resistance) + getScroll(); + + e.preventDefault(); + + resistance = slideNumber == 0 && deltaX > 0 ? (pageX / sliderWidth) + 1.25 : + slideNumber == lastSlide && deltaX < 0 ? (Math.abs(pageX) / sliderWidth) + 1.25 : 1; + + slider.style.webkitTransform = 'translate3d(' + offsetX + 'px,0,0)'; + }; + + var onTouchEnd = function (e) { + if (!slider || isScrolling) return; + + setSlideNumber( + (+new Date) - startTime < 1000 && Math.abs(deltaX) > 15 ? (deltaX < 0 ? -1 : 1) : 0 + ); + + offsetX = slideNumber * sliderWidth; + + slider.style['-webkit-transition-duration'] = '.2s'; + slider.style.webkitTransform = 'translate3d(' + offsetX + 'px,0,0)'; + + e = new CustomEvent('slide', { + detail: { slideNumber: Math.abs(slideNumber) }, + bubbles: true, + cancelable: true + }); + + slider.parentNode.dispatchEvent(e); + }; + + window.addEventListener('touchstart', onTouchStart); + window.addEventListener('touchmove', onTouchMove); + window.addEventListener('touchend', onTouchEnd); + +}(); + +/* ---------------------------------- + * TOGGLE v1.0.0 + * Licensed under The MIT License + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + + var start = {}; + var touchMove = false; + var distanceX = false; + var toggle = false; + + var findToggle = function (target) { + var i, toggles = document.querySelectorAll('.toggle'); + for (; target && target !== document; target = target.parentNode) { + for (i = toggles.length; i--;) { if (toggles[i] === target) return target; } + } + } + + window.addEventListener('touchstart', function (e) { + e = e.originalEvent || e; + + toggle = findToggle(e.target); + + if (!toggle) return; + + var handle = toggle.querySelector('.toggle-handle'); + var toggleWidth = toggle.clientWidth; + var handleWidth = handle.clientWidth; + var offset = toggle.classList.contains('active') ? (toggleWidth - handleWidth) : 0; + + start = { pageX : e.touches[0].pageX - offset, pageY : e.touches[0].pageY }; + touchMove = false; + }); + + window.addEventListener('touchmove', function (e) { + e = e.originalEvent || e; + + if (e.touches.length > 1) return; // Exit if a pinch + + if (!toggle) return; + + var handle = toggle.querySelector('.toggle-handle'); + var current = e.touches[0]; + var toggleWidth = toggle.clientWidth; + var handleWidth = handle.clientWidth; + var offset = toggleWidth - handleWidth; + + touchMove = true; + distanceX = current.pageX - start.pageX; + + if (Math.abs(distanceX) < Math.abs(current.pageY - start.pageY)) return; + + e.preventDefault(); + + if (distanceX < 0) return handle.style.webkitTransform = 'translate3d(0,0,0)'; + if (distanceX > offset) return handle.style.webkitTransform = 'translate3d(' + offset + 'px,0,0)'; + + handle.style.webkitTransform = 'translate3d(' + distanceX + 'px,0,0)'; + + toggle.classList[(distanceX > (toggleWidth/2 - handleWidth/2)) ? 'add' : 'remove']('active'); + }); + + window.addEventListener('touchend', function (e) { + if (!toggle) return; + + var handle = toggle.querySelector('.toggle-handle'); + var toggleWidth = toggle.clientWidth; + var handleWidth = handle.clientWidth; + var offset = (toggleWidth - handleWidth); + var slideOn = (!touchMove && !toggle.classList.contains('active')) || (touchMove && (distanceX > (toggleWidth/2 - handleWidth/2))); + + if (slideOn) handle.style.webkitTransform = 'translate3d(' + offset + 'px,0,0)'; + else handle.style.webkitTransform = 'translate3d(0,0,0)'; + + toggle.classList[slideOn ? 'add' : 'remove']('active'); + + e = new CustomEvent('toggle', { + detail: { isActive: slideOn }, + bubbles: true, + cancelable: true + }); + + toggle.dispatchEvent(e); + + touchMove = false; + toggle = false; + }); + +}(); diff --git a/docs/dist/ratchicons/ratchicons.eot b/docs/dist/ratchicons/ratchicons.eot new file mode 100644 index 0000000000000000000000000000000000000000..54b1a3cb1add1461280f7c84a65843387a567956 GIT binary patch literal 11856 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 CIwVT~ literal 0 HcmV?d00001 diff --git a/docs/dist/ratchicons/ratchicons.svg b/docs/dist/ratchicons/ratchicons.svg new file mode 100644 index 0000000..4271d0e --- /dev/null +++ b/docs/dist/ratchicons/ratchicons.svg @@ -0,0 +1,62 @@ + + + +Copyright (C) 2014 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/dist/ratchicons/ratchicons.ttf b/docs/dist/ratchicons/ratchicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5bddc91194f9139686c4108d922d40e9b77cec1b GIT binary patch literal 11680 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 BqLKgr literal 0 HcmV?d00001 diff --git a/examples/app-android-notes/css/app.css b/docs/examples/app-android-notes/css/app.css similarity index 100% rename from examples/app-android-notes/css/app.css rename to docs/examples/app-android-notes/css/app.css diff --git a/examples/app-android-notes/index.html b/docs/examples/app-android-notes/index.html similarity index 100% rename from examples/app-android-notes/index.html rename to docs/examples/app-android-notes/index.html diff --git a/examples/app-movies/choose-theater.html b/docs/examples/app-movies/choose-theater.html similarity index 100% rename from examples/app-movies/choose-theater.html rename to docs/examples/app-movies/choose-theater.html diff --git a/examples/app-movies/css/app.css b/docs/examples/app-movies/css/app.css similarity index 100% rename from examples/app-movies/css/app.css rename to docs/examples/app-movies/css/app.css diff --git a/examples/app-movies/img/argo.png b/docs/examples/app-movies/img/argo.png similarity index 100% rename from examples/app-movies/img/argo.png rename to docs/examples/app-movies/img/argo.png diff --git a/examples/app-movies/img/ralph.png b/docs/examples/app-movies/img/ralph.png similarity index 100% rename from examples/app-movies/img/ralph.png rename to docs/examples/app-movies/img/ralph.png diff --git a/examples/app-movies/img/skyfall.png b/docs/examples/app-movies/img/skyfall.png similarity index 100% rename from examples/app-movies/img/skyfall.png rename to docs/examples/app-movies/img/skyfall.png diff --git a/examples/app-movies/index.html b/docs/examples/app-movies/index.html similarity index 100% rename from examples/app-movies/index.html rename to docs/examples/app-movies/index.html diff --git a/getting-started.html b/docs/getting-started.html similarity index 98% rename from getting-started.html rename to docs/getting-started.html index 7f944dd..b7e71b0 100644 --- a/getting-started.html +++ b/docs/getting-started.html @@ -1,7 +1,6 @@ --- layout: default -title: Ratchet ~ Getting Started -base_url: "../" +title: Ratchet · Getting Started --- diff --git a/index.html b/docs/index.html similarity index 99% rename from index.html rename to docs/index.html index 9ffe711..478c1a1 100644 --- a/index.html +++ b/docs/index.html @@ -1,7 +1,6 @@ --- layout: home title: Ratchet -base_url: "./" ---
diff --git a/one.html b/docs/one.html similarity index 100% rename from one.html rename to docs/one.html diff --git a/two.html b/docs/two.html similarity index 100% rename from two.html rename to docs/two.html diff --git a/lib/js/modals.js b/js/modals.js similarity index 100% rename from lib/js/modals.js rename to js/modals.js diff --git a/lib/js/popovers.js b/js/popovers.js similarity index 100% rename from lib/js/popovers.js rename to js/popovers.js diff --git a/lib/js/push.js b/js/push.js similarity index 100% rename from lib/js/push.js rename to js/push.js diff --git a/lib/js/segmented-controllers.js b/js/segmented-controllers.js similarity index 100% rename from lib/js/segmented-controllers.js rename to js/segmented-controllers.js diff --git a/lib/js/sliders.js b/js/sliders.js similarity index 100% rename from lib/js/sliders.js rename to js/sliders.js diff --git a/lib/js/toggles.js b/js/toggles.js similarity index 100% rename from lib/js/toggles.js rename to js/toggles.js diff --git a/lib/sass/badges.scss b/sass/badges.scss similarity index 100% rename from lib/sass/badges.scss rename to sass/badges.scss diff --git a/lib/sass/bars.scss b/sass/bars.scss similarity index 100% rename from lib/sass/bars.scss rename to sass/bars.scss diff --git a/lib/sass/base.scss b/sass/base.scss similarity index 100% rename from lib/sass/base.scss rename to sass/base.scss diff --git a/lib/sass/buttons.scss b/sass/buttons.scss similarity index 100% rename from lib/sass/buttons.scss rename to sass/buttons.scss diff --git a/lib/sass/cards.scss b/sass/cards.scss similarity index 100% rename from lib/sass/cards.scss rename to sass/cards.scss diff --git a/lib/sass/docs.scss b/sass/docs.scss similarity index 100% rename from lib/sass/docs.scss rename to sass/docs.scss diff --git a/lib/sass/forms.scss b/sass/forms.scss similarity index 100% rename from lib/sass/forms.scss rename to sass/forms.scss diff --git a/lib/sass/mixins.scss b/sass/mixins.scss similarity index 100% rename from lib/sass/mixins.scss rename to sass/mixins.scss diff --git a/lib/sass/modals.scss b/sass/modals.scss similarity index 100% rename from lib/sass/modals.scss rename to sass/modals.scss diff --git a/lib/sass/normalize.scss b/sass/normalize.scss similarity index 100% rename from lib/sass/normalize.scss rename to sass/normalize.scss diff --git a/lib/sass/popovers.scss b/sass/popovers.scss similarity index 100% rename from lib/sass/popovers.scss rename to sass/popovers.scss diff --git a/lib/sass/push.scss b/sass/push.scss similarity index 100% rename from lib/sass/push.scss rename to sass/push.scss diff --git a/lib/sass/ratchet.scss b/sass/ratchet.scss similarity index 100% rename from lib/sass/ratchet.scss rename to sass/ratchet.scss diff --git a/lib/sass/ratchicons.scss b/sass/ratchicons.scss similarity index 100% rename from lib/sass/ratchicons.scss rename to sass/ratchicons.scss diff --git a/lib/sass/segmented-controls.scss b/sass/segmented-controls.scss similarity index 100% rename from lib/sass/segmented-controls.scss rename to sass/segmented-controls.scss diff --git a/lib/sass/sliders.scss b/sass/sliders.scss similarity index 100% rename from lib/sass/sliders.scss rename to sass/sliders.scss diff --git a/lib/sass/table-views.scss b/sass/table-views.scss similarity index 100% rename from lib/sass/table-views.scss rename to sass/table-views.scss diff --git a/lib/sass/theme-android.scss b/sass/theme-android.scss similarity index 100% rename from lib/sass/theme-android.scss rename to sass/theme-android.scss diff --git a/lib/sass/theme-ios.scss b/sass/theme-ios.scss similarity index 100% rename from lib/sass/theme-ios.scss rename to sass/theme-ios.scss diff --git a/lib/sass/toggles.scss b/sass/toggles.scss similarity index 100% rename from lib/sass/toggles.scss rename to sass/toggles.scss diff --git a/lib/sass/type.scss b/sass/type.scss similarity index 100% rename from lib/sass/type.scss rename to sass/type.scss diff --git a/lib/sass/variables.scss b/sass/variables.scss similarity index 100% rename from lib/sass/variables.scss rename to sass/variables.scss