shibori 1.0.0.beta1 → 1.3.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +9 -0
  4. data/gulpfile.js +14 -14
  5. data/lib/shibori/version.rb +1 -1
  6. data/lib/shibori.rb +1 -1
  7. data/source/_patterns/00-atoms/02-buttons/00-btn-default.mustache +13 -0
  8. data/source/_patterns/00-atoms/02-buttons/01-btn-primary.mustache +26 -0
  9. data/source/_patterns/00-atoms/02-buttons/02-btn-colors.mustache +24 -0
  10. data/source/_patterns/00-atoms/02-buttons/03-btn-sizes.mustache +7 -0
  11. data/source/_patterns/00-atoms/02-buttons/04-btn-deploy.mustache +1 -1
  12. data/source/_patterns/00-atoms/02-buttons/05-btn-types.mustache +13 -0
  13. data/source/_patterns/00-atoms/02-buttons/06-btn-switch.mustache +6 -0
  14. data/source/_patterns/01-molecules/00-text/01-intro-text.mustache +0 -4
  15. data/source/_patterns/01-molecules/00-text/02-intro-text-light.mustache +1 -0
  16. data/source/_patterns/01-molecules/02-navigation/01-subnav.mustache +8 -7
  17. data/source/_patterns/01-molecules/02-navigation/02-breadcrumbs.mustache +2 -2
  18. data/source/_patterns/01-molecules/02-navigation/03-side-nav.mustache +2 -2
  19. data/source/_patterns/01-molecules/02-navigation/04-side-nav-small.mustache +1 -1
  20. data/source/css/shibori/scss/components/_buttons.scss +302 -0
  21. data/source/css/shibori/scss/components/_spinner.scss +64 -0
  22. data/source/css/{scss → shibori/scss}/globals/_colors.scss +10 -2
  23. data/source/css/shibori/scss/globals/_mixins.scss +183 -0
  24. data/source/css/{scss → shibori/scss}/page-elements/_navigation.scss +28 -17
  25. data/source/css/shibori.scss +46 -45
  26. metadata +55 -52
  27. data/source/_patterns/00-atoms/02-buttons/00-btn-lg.mustache +0 -7
  28. data/source/_patterns/00-atoms/02-buttons/01-btn-sm.mustache +0 -7
  29. data/source/_patterns/00-atoms/02-buttons/02-btn-xs.mustache +0 -7
  30. data/source/_patterns/00-atoms/02-buttons/03-btn-block.mustache +0 -7
  31. data/source/css/scss/components/_buttons.scss +0 -175
  32. data/source/css/scss/components/_spinner.scss +0 -64
  33. data/source/css/scss/globals/_mixins.scss +0 -45
  34. /data/source/css/{hk-icon-rails.scss → _hk-icon-rails.scss} +0 -0
  35. /data/source/css/{scss → shibori/scss}/base/_base.scss +0 -0
  36. /data/source/css/{scss → shibori/scss}/base/_fonts.scss +0 -0
  37. /data/source/css/{scss → shibori/scss}/base/_normalize.scss +0 -0
  38. /data/source/css/{scss → shibori/scss}/base/_type.scss +0 -0
  39. /data/source/css/{scss → shibori/scss}/base/_utilities.scss +0 -0
  40. /data/source/css/{scss → shibori/scss}/components/_alert.scss +0 -0
  41. /data/source/css/{scss → shibori/scss}/components/_animate.scss +0 -0
  42. /data/source/css/{scss → shibori/scss}/components/_animation.scss +0 -0
  43. /data/source/css/{scss → shibori/scss}/components/_code.scss +0 -0
  44. /data/source/css/{scss → shibori/scss}/components/_forms.scss +0 -0
  45. /data/source/css/{scss → shibori/scss}/components/_hero.scss +0 -0
  46. /data/source/css/{scss → shibori/scss}/components/_hr.scss +0 -0
  47. /data/source/css/{scss → shibori/scss}/components/_icons.scss +0 -0
  48. /data/source/css/{scss → shibori/scss}/components/_lists.scss +0 -0
  49. /data/source/css/{scss → shibori/scss}/components/_logos.scss +0 -0
  50. /data/source/css/{scss → shibori/scss}/components/_masonary.scss +0 -0
  51. /data/source/css/{scss → shibori/scss}/components/_modal.scss +0 -0
  52. /data/source/css/{scss → shibori/scss}/components/_owlCarousel.scss +0 -0
  53. /data/source/css/{scss → shibori/scss}/components/_panel.scss +0 -0
  54. /data/source/css/{scss → shibori/scss}/components/_pill-box.scss +0 -0
  55. /data/source/css/{scss → shibori/scss}/components/_quote.scss +0 -0
  56. /data/source/css/{scss → shibori/scss}/components/_readmore.scss +0 -0
  57. /data/source/css/{scss → shibori/scss}/components/_slider.scss +0 -0
  58. /data/source/css/{scss → shibori/scss}/components/_sprites.scss +0 -0
  59. /data/source/css/{scss → shibori/scss}/components/_sr-only.scss +0 -0
  60. /data/source/css/{scss → shibori/scss}/components/_tables.scss +0 -0
  61. /data/source/css/{scss → shibori/scss}/components/_tooltips.scss +0 -0
  62. /data/source/css/{scss → shibori/scss}/components/_users.scss +0 -0
  63. /data/source/css/{scss → shibori/scss}/components/_vertical-tabs.scss +0 -0
  64. /data/source/css/{scss → shibori/scss}/components/_video.scss +0 -0
  65. /data/source/css/{scss → shibori/scss}/ecosystem/_addons-card.scss +0 -0
  66. /data/source/css/{scss → shibori/scss}/ecosystem/_cards.scss +0 -0
  67. /data/source/css/{scss → shibori/scss}/ecosystem/_elements-brand.scss +0 -0
  68. /data/source/css/{scss → shibori/scss}/ecosystem/_elements.scss +0 -0
  69. /data/source/css/{scss → shibori/scss}/globals/_variables.scss +0 -0
  70. /data/source/css/{scss → shibori/scss}/layout/_grid-settings.scss +0 -0
  71. /data/source/css/{scss → shibori/scss}/layout/_layout.scss +0 -0
  72. /data/source/css/{scss → shibori/scss}/page-elements/_headers.scss +0 -0
  73. /data/source/css/{scss → shibori/scss}/page-elements/_sections.scss +0 -0
  74. /data/source/css/{scss → shibori/scss}/page-elements/_sidebar.scss +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ca62cc5fc76a05afafe004462b6abd9a0b6135d
4
- data.tar.gz: 5938d8d9776a90fe53f8948569981d4792e1c6ec
3
+ metadata.gz: df112b48b0c0fdac4a5250485570460e918122fc
4
+ data.tar.gz: 4c7896f2d594603415355336698c97c2a6261c35
5
5
  SHA512:
6
- metadata.gz: c4e3c6a0a7581b46fb5dc2010523f1a9d690ea1e507e6ff5462c83892dea0c2adbf789e07928fac366a24b356018282a5e008310701cc9adced9a96cda2ccb9b
7
- data.tar.gz: 42606bb007ce66b3145135e136b646e9ca1f05194f7568278b1007e8771f483618980baf9f42b4f8ecf95e4c6ff08c2ddcfaf9226f0690b6e14f9cc7b08e299a
6
+ metadata.gz: 5d098e7e5cbd38f104f05b773ad36648fa6f1a0bb71c7a25257ef59b1ed260a964f8b867f64151c31174e995747c658ee6251369b79451073a6d330fd0f6c9b8
7
+ data.tar.gz: 2bd89f233f87449cb67cb126d1089436e2041c3a3e9444be81f465ac0185e7e8434ff017e5a57b58abedbfcf28f36ac59e91484a5fbc4b46907af735800c4568
data/.gitignore CHANGED
@@ -18,3 +18,5 @@ public/styleguide/css/static.css.map
18
18
  public/styleguide/css/styleguide-specific.css.map
19
19
  public/styleguide/css/styleguide.css.map
20
20
  source/css/shibori.css.map
21
+
22
+ /pkg/
data/README.md CHANGED
@@ -20,5 +20,14 @@ gulp serve
20
20
  ## Development alongside Rails
21
21
  In the rails app, set up bundler to use the local copy of shibori you have: `bundle config local.shibori path/to/your/local/shibori`.
22
22
 
23
+ When you do local development you'll want the `local.shibori` set up. Before you deploy, you may want to remove this to test a specific tag.
24
+
25
+
26
+ ```sh
27
+ # ~/.zshrc or ~/.bashrc example
28
+ alias shibori-on="bundle config local.shibori ../shibori"
29
+ alias shibori-off="bundle config --delete local.shibori"
30
+ ```
31
+
23
32
  ## Pattern lab docs
24
33
  Shibori uses the [node version](https://github.com/pattern-lab/patternlab-node) of [Pattern Lab](http://patternlab.io/). You can find documentation in this repo's [`docs`](/docs) directory.
data/gulpfile.js CHANGED
@@ -9,7 +9,7 @@ var pkg = require('./package.json'),
9
9
  nodeunit = require('gulp-nodeunit'),
10
10
  bourbon = require('node-bourbon'),
11
11
  neat = require('node-neat'),
12
- sass = require('gulp-sass'),
12
+ sass = require('gulp-sass'),
13
13
  browserSync = require('browser-sync').create();
14
14
 
15
15
  require('gulp-load')(gulp);
@@ -95,7 +95,7 @@ gulp.task('connect', ['lab'], function(){
95
95
  gulp.watch([
96
96
  './source/_patterns/**/*.mustache',
97
97
  './source/_patterns/**/*.json',
98
- './source/_data/*.json' ],
98
+ './source/_data/*.json' ],
99
99
  ['lab-pipe'], function(){
100
100
  browserSync.reload();
101
101
  });
@@ -110,22 +110,22 @@ gulp.task('nodeunit', function(){
110
110
 
111
111
  // sass tasks, turn on if you want to use
112
112
  gulp.task('sass:style', function(){
113
- return gulp.src('./source/css/*.scss')
114
- .pipe(sass({
115
- outputStyle: 'expanded',
116
- precision: 8,
113
+ return gulp.src('./source/css/**/*.scss')
114
+ .pipe(sass({
115
+ outputStyle: 'expanded',
116
+ precision: 8,
117
117
  includePaths: neat.includePaths
118
- }))
119
- .pipe(gulp.dest('./public/css'))
118
+ }))
119
+ .pipe(gulp.dest('./public/css'))
120
120
  .pipe(browserSync.stream());
121
121
  })
122
122
  gulp.task('sass:styleguide', function(){
123
- return gulp.src('./public/styleguide/css/*.scss')
124
- .pipe(sass({
125
- outputStyle: 'expanded',
126
- precision: 8
127
- }))
128
- .pipe(gulp.dest('./public/styleguide/css'))
123
+ return gulp.src('./public/styleguide/css/*.scss')
124
+ .pipe(sass({
125
+ outputStyle: 'expanded',
126
+ precision: 8
127
+ }))
128
+ .pipe(gulp.dest('./public/styleguide/css'))
129
129
  .pipe(browserSync.stream());
130
130
  })
131
131
 
@@ -1,3 +1,3 @@
1
1
  module Shibori
2
- VERSION = '1.0.0.beta1'
2
+ VERSION = '1.3.0.beta1'
3
3
  end
data/lib/shibori.rb CHANGED
@@ -1,4 +1,4 @@
1
- class Shibori
1
+ module Shibori
2
2
  class Railtie < Rails::Railtie
3
3
  initializer 'shibori' do
4
4
  Rails.configuration.assets.paths += [
@@ -0,0 +1,13 @@
1
+ <ul class="list-unstyled">
2
+ <button class="btn btn-default">.btn-default</button>
3
+ <button class="btn btn-default hover">.btn-default:hover</button>
4
+ <button class="btn btn-default active">.btn-default:active</button>
5
+ <button class="btn disabled">.disabled</button>
6
+ <button class="btn btn-loading">
7
+ <span class="spinner">
8
+ <i class="spinner__dot spinner__dot--one"></i>
9
+ <i class="spinner__dot spinner__dot--two"></i>
10
+ <i class="spinner__dot spinner__dot--three"></i>
11
+ </span>
12
+ </button>
13
+ </ul>
@@ -0,0 +1,26 @@
1
+ <ul class="list-unstyled">
2
+ <button class="btn btn-primary">.btn-primary</button>
3
+ <button class="btn btn-primary hover">.btn-primary:hover</button>
4
+ <button class="btn btn-primary active">.btn-primary:active</button>
5
+ <button class="btn disabled">.disabled</button>
6
+ <button class="btn btn-loading">
7
+ <span class="spinner">
8
+ <i class="spinner__dot spinner__dot--one"></i>
9
+ <i class="spinner__dot spinner__dot--two"></i>
10
+ <i class="spinner__dot spinner__dot--three"></i>
11
+ </span>
12
+ </button>
13
+ </ul>
14
+ <ul class="list-unstyled">
15
+ <button class="btn btn-primary-lightning">.btn-primary-lightning</button>
16
+ <button class="btn btn-primary-lightning hover">.btn-primary-lightning:hover</button>
17
+ <button class="btn btn-primary-lightning active">.btn-primary-lightning:active</button>
18
+ <button class="btn disabled">.disabled</button>
19
+ <button class="btn btn-loading">
20
+ <span class="spinner">
21
+ <i class="spinner__dot spinner__dot--one"></i>
22
+ <i class="spinner__dot spinner__dot--two"></i>
23
+ <i class="spinner__dot spinner__dot--three"></i>
24
+ </span>
25
+ </button>
26
+ </ul>
@@ -0,0 +1,24 @@
1
+ <ul class="list-unstyled">
2
+ <button class="btn btn-info">.btn-info</button>
3
+ <button class="btn btn-success">.btn-success</button>
4
+ <button class="btn btn-warning">.btn-warning</button>
5
+ <button class="btn btn-danger">.btn-danger</button>
6
+ </ul>
7
+
8
+ <ul class="list-unstyled">
9
+ <button class="btn btn-info-lightning">.btn-info-lightning</button>
10
+ <button class="btn btn-success-lightning">.btn-success-lightning</button>
11
+ <button class="btn btn-warning-lightning">.btn-warning-lightning</button>
12
+ <button class="btn btn-danger-lightning">.btn-danger-lightning</button>
13
+ </ul>
14
+
15
+ <ul class="list-unstyled">
16
+ <button class="btn btn-info btn-default">.button-default .btn-info</button>
17
+ <button class="btn btn-success btn-default">.button-default .btn-success</button>
18
+ <button class="btn btn-warning btn-default">.button-default .btn-warning</button>
19
+ <button class="btn btn-danger btn-default">.button-default .btn-danger</button>
20
+ </ul>
21
+
22
+ <ul class="list-unstyled">
23
+ <button class="btn btn-text">.btn-text</button>
24
+ </ul>
@@ -0,0 +1,7 @@
1
+ <div class="buttons-demo">
2
+ <button class="btn btn-default btn-xs">.btn-xs</button>
3
+ <button class="btn btn-default btn-sm">.btn-sm</button>
4
+ <button class="btn btn-default">Submit</button>
5
+ <button class="btn btn-default btn-lg">.btn-lg</button>
6
+ <button class="btn btn-default btn-block">.btn-block</button>
7
+ </div>
@@ -1,4 +1,4 @@
1
- <a class='btn btn-primary deploy btn-block'>
1
+ <a class='btn btn-primary-lightning deploy'>
2
2
  <span class="hk-icon hk-icon-deploy"></span>
3
3
  Deploy <span class="to-heroku">to Heroku</span>
4
4
  </a>
@@ -0,0 +1,13 @@
1
+ <ul class="list-unstyled">
2
+ <button class="btn btn-default"><span class="hk-icon hk-icon-stars"></span>Default</button>
3
+ <button class="btn btn-primary"><span class="hk-icon hk-icon-stars"></span>Primary</button>
4
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Select Box <span class="caret"></span></button>
5
+ <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Select Box <span class="caret"></span></button>
6
+ </ul>
7
+
8
+ <ul class="list-unstyled">
9
+ <button class="btn btn-default"><span class="hk-icon hk-icon-stars"></span>Default</button>
10
+ <button class="btn btn-primary-lightning"><span class="hk-icon hk-icon-stars"></span>Primary</button>
11
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Select Box <span class="caret"></span></button>
12
+ <button type="button" class="btn btn-primary-lightning dropdown-toggle" data-toggle="dropdown">Select Box <span class="caret"></span></button>
13
+ </ul>
@@ -0,0 +1,6 @@
1
+ <label class="shibori-checkbox">
2
+ <span class="shibori-checkbox">
3
+ <input type="checkbox">
4
+ <span class="shibori-checkbox-value" aria-hidden="true"></span>
5
+ </span>
6
+ </label>
@@ -1,5 +1 @@
1
1
  <p class="intro">This is intro text to a paragraph. Fugit reprehenderit impedit delectus culpa vero voluptatibus recusandae sed, assumenda dolor. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus est aliquid dolorum exercitationem eius explicabo, ratione doloremque. Mollitia a similique porro facilis, repellat sint sit atque, voluptatibus neque praesentium iusto.</p>
2
-
3
- <p class="intro light">This is intro text to a paragraph. Fugit reprehenderit impedit delectus culpa vero voluptatibus recusandae sed, assumenda dolor. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus est aliquid dolorum exercitationem eius explicabo, ratione doloremque. Mollitia a similique porro facilis, repellat sint sit atque, voluptatibus neque praesentium iusto.</p>
4
-
5
- <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odit blanditiis, veritatis reiciendis placeat ipsum illo excepturi. Voluptatum nemo voluptatem temporibus, provident, nostrum quam nobis nam voluptate, accusantium quae, placeat similique. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odit blanditiis, veritatis reiciendis placeat ipsum illo excepturi. Voluptatum nemo voluptatem temporibus, provident, nostrum quam nobis nam voluptate, accusantium quae, placeat similique.</p>
@@ -0,0 +1 @@
1
+ <p class="intro light">This is intro text to a paragraph. Fugit reprehenderit impedit delectus culpa vero voluptatibus recusandae sed, assumenda dolor. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus est aliquid dolorum exercitationem eius explicabo, ratione doloremque. Mollitia a similique porro facilis, repellat sint sit atque, voluptatibus neque praesentium iusto.</p>
@@ -1,21 +1,22 @@
1
1
  <div class="page-subnav">
2
- <div class="wrapper wrapper-full">
2
+ <div class="wrapper">
3
3
  <nav>
4
4
  <ul class="subnav-inner">
5
5
  <li>
6
- <a href="#">Subnav item</a>
6
+ <a href="#">Elements</a>
7
7
  </li>
8
8
  <li>
9
- <a href="#">Subnav item</a>
9
+ <a class="active" href="#"></span>Add-ons</a>
10
10
  </li>
11
- <li class="active">
12
- <a href="#">Subnav item</a>
11
+ <li>
12
+ <a href="#">Buttons</a>
13
13
  </li>
14
14
  <li>
15
- <a href="#">Subnav item</a>
15
+ <a href="#">Buildpacks</a>
16
16
  </li>
17
17
  </ul>
18
18
  </nav>
19
- <a href="#" class="btn btn-sm pull-right">Button</a>
19
+
20
+ <a href="#" class="btn btn-sm btn-alt pull-right">Action Button</a>
20
21
  </div>
21
22
  </div>
@@ -1,5 +1,5 @@
1
1
  <div class="breadcrumbs">
2
- <div class="wrapper wrapper-full">
2
+ <div class="wrapper">
3
3
  <nav>
4
4
  <ul>
5
5
  <li><a href="#">First Breadcrumb</a> /</li>
@@ -13,7 +13,7 @@
13
13
  <br>
14
14
 
15
15
  <div class="breadcrumbs breadcrumbs-sm">
16
- <div class="wrapper wrapper-full">
16
+ <div class="wrapper">
17
17
  <nav>
18
18
  <ul>
19
19
  <li><a href="#">First Breadcrumb</a> /</li>
@@ -1,6 +1,6 @@
1
- <div class="list-nav">
1
+ <div class="list-nav slide-action">
2
2
  <nav>
3
- <h5>A page subnav for the sidebar</h5>
3
+ <h5>Side-nav (w/slide-action)</h5>
4
4
  <ul>
5
5
  <li><a href="#">Nav Item</a></li>
6
6
  <li><a href="#">Nav Item</a></li>
@@ -1,6 +1,6 @@
1
1
  <div class="list-nav list-nav-sm">
2
2
  <nav>
3
- <h5>Add-on Categories</h5>
3
+ <h5>Side-nav-small</h5>
4
4
  <ul>
5
5
  <li><a href="#">Add-on Categorie</a></li>
6
6
  <li><a href="#">Data Stores</a></li>
@@ -0,0 +1,302 @@
1
+ // ==========================================================================
2
+ // Buttons
3
+ // ==========================================================================
4
+ .buttons-demo {
5
+ padding: 0;
6
+
7
+ * {
8
+ vertical-align: top;
9
+ }
10
+
11
+ .btn {
12
+ display: block;
13
+ vertical-align: top;
14
+ }
15
+ }
16
+
17
+ .btn,
18
+ a.btn {
19
+ @include transition(background $transition);
20
+ border-radius: $border-radius;
21
+ display: inline-block;
22
+ margin: $pad-sm 0;
23
+ padding: 6px 14px;
24
+ border: none;
25
+ font-weight: $font-bold;
26
+ text-align: center;
27
+ text-decoration: none;
28
+ background: $white;
29
+ font-size: 13px;
30
+ outline: none;
31
+ position: relative;
32
+ cursor: pointer;
33
+
34
+ &:active,
35
+ &.active {
36
+ outline: none;
37
+ }
38
+
39
+ &:focus {
40
+ outline: none;
41
+ }
42
+
43
+ &.disabled,
44
+ &[disabled],
45
+ fieldset[disabled] & {
46
+ color: $gray-light;
47
+ background-color: rgba($gray-lighter, .3);
48
+ box-shadow: inset 0 0 0 1px $gray-light;
49
+ opacity: 1;
50
+ cursor: not-allowed;
51
+ }
52
+
53
+ &-loading {
54
+ color: $gray;
55
+ background-color: rgba($gray-lighter, .3);
56
+ box-shadow: inset 0 0 0 1px $gray-light;
57
+ opacity: 1;
58
+ cursor: not-allowed;
59
+ }
60
+
61
+ .hk-icon {
62
+ font-size: 14px;
63
+ line-height: 14px;
64
+ display: inline-block;
65
+ vertical-align: middle;
66
+ margin-top: -3px;
67
+ margin-right: 4px;
68
+ margin-left: -2px;
69
+ }
70
+
71
+ .caret {
72
+ position: relative;
73
+ top: 1px;
74
+ width: 10px;
75
+ height: 10px;
76
+ display: inline-block;
77
+ border: none;
78
+ left: 4px;
79
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAABGdBTUEAALGPC/xhBQAAAHhJREFUGBmdj8EJgDAMRevZXcQ1Cg5ScBFxDXUVwTkKHj3oVajvlxT0auHl85M2SZ2zk1JqYZOWXFYSHVxwmHal0JO4YYLaVL53hAgDVLotNR/z63+BFjuMavdqK79rRgAtMIMWWsyHPA7j4QR9Reo/e5BoYJWWwgNOyZST/q/QUQAAAABJRU5ErkJggg==') no-repeat;
80
+
81
+ @include retina {
82
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAUCAYAAAC9BQwsAAAABGdBTUEAALGPC/xhBQAAASZJREFUOBHdkk1qAkEQRh1/NuJaBK/gwlu48RRuvIF7swlkmRsEkq1ZBInkChG8gJtALhACSkjI+L6xv9jTTi5gwbOqq17pjHStVhF5njfgNtCoUM5byB14AofqzrkZdRD6sPFGlNXrR+qpZDCE90jeUguHZsPTBhWNMXzaIL9CN6DaIWdcLFNM4ccT8jP8vZNqWIFD7lS/tneHfAfN0uMcn6gVZlb3WnwEPcI8XUjPOFfBXaSzizzzskv4gmvI/ntJzYIjd6l/dQeOe4pWuqwePFgi77Q4ge+o+UKdXgD1HHInxZdTjODDE/IafOVUO+SMSk9EYwBvNsjpJddsUFrygUEP4kvNsQj1evYqM0IbFoV+/FDdTuXKvx+xjngT5FmWZb/p4gHik/DofGR3LQAAAABJRU5ErkJggg==') no-repeat;
83
+ background-size: 7px 10px;
84
+ }
85
+ }
86
+
87
+ //- Colors
88
+
89
+ &-default {
90
+ @include shibori-button-alt($brand-primary);
91
+
92
+ &.disabled,
93
+ &[disabled],
94
+ fieldset[disabled] & {
95
+ color: $gray-light;
96
+ background-color: rgba($gray-lighter, .3);
97
+ box-shadow: inset 0 0 0 1px $gray-light;
98
+
99
+ &:hover {
100
+ color: $gray-light;
101
+ background-color: rgba($gray-lighter, .3);
102
+ box-shadow: inset 0 0 0 1px $gray-light;
103
+ }
104
+ }
105
+
106
+ .caret {
107
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAABGdBTUEAALGPC/xhBQAAANRJREFUGBmdTj1OAmEUnPnYE3gG7QzhBDZWJhZ0sEBAK0ikB3ZpdxMTSgqgYZfoqom9B/ACxjtoR2hN0G/8vg0nYIr3M2/evEccELXWNYhLUP20uP3wtPFh2s6vYfku4Mznsnd8JWpmd1bISbyeBObyRzq1FsnFeX0biBhTmiXFzYR0ldSNw+xL5Ni7HgdGYfYN8CEpuqODLePW5h5Qh3FzPbDgHMSze6i/2/+tBDYMNKQ/GLXzK1n74hx+3UZAYxrpY++tHJaCMK8KWhAcpE+9T8/9A50YUm6gIA0oAAAAAElFTkSuQmCC') no-repeat;
108
+
109
+ @include retina {
110
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAUCAYAAAC9BQwsAAAABGdBTUEAALGPC/xhBQAAAg9JREFUOBHdU79rE1Ecf59Lk6PFCOpSKLSCQ5cKgXZycREKmgwOHm2KSbNYUJd2EBoL3mAzOFQXC7okd2IKR6GDiVR0c40QqIuDQ4SCk0LVliTtff1+7/JiEvoX+OC97/f7+XHv50Gd0jzPi9R3jp4Klbg5vGxZ1smgDIOAfdc70/xxuKUUJUMOFfP8yLy9af3u1fYZH2acMWpThYgSfSKgjiiS6252X+NdYz5dTCgfFVI0JiQUvkrk+lKn3lcGJQvlXF1qQ4a1BSfJpo9dE1CLRY0r0sG5aAKONYGWa6zOO0uK6DlTEREoYNc8N3JL70n23Pr5Z5tIzQa8wglr7hlQ9Eyb+OuuOTmR0iYRSj4Rv5wSLjRSRDxDXOzyfq4BamN9a/FRSPaPSy9n2oxk83NOgydZ5vx9v+L/rPg6ilWQHA42HpczeY502lb5NWEt7RY4rhDoA1bnSod8UsOBGHh9MT6V65xi1//iTi3aONgr8RfTIYgjvkfc534cAEQLjV97Vbl07ZJcMG0SbehhRT7tziryPV7G2cAAfDKHjOuSN4/9t/yypiXnbRwoGFahnHn375Hfdqeo7Vd52eOBaOCRs+0bosaNwqvM55CXsdPsxeJoq4k3PPOMxiTyTLWYSSm7lPuu8eDv0IUQsfiFqyzc0ZjkgvWahOsuVQsl2jYZrS/OE8ljk9kHtg1f8t72F5HJzIBJBfCCAAAAAElFTkSuQmCC') no-repeat;
111
+ background-size: 7px 10px;
112
+ }
113
+ }
114
+ }
115
+
116
+ &-primary {
117
+ @include shibori-button(#fff, $brand-primary);
118
+
119
+ &-lightning {
120
+ @include shibori-button-lightning(#fff, $brand-primary, $brand-primary-alt);
121
+ }
122
+ }
123
+
124
+ &-white {
125
+ @include shibori-button($brand-primary, #fff);
126
+ box-shadow: inset 0 0 0 1px rgba(#fff, .6);
127
+
128
+ &-lightning {
129
+ @include shibori-button-lightning($brand-primary, #E7E4EE, #fff);
130
+ box-shadow: inset 0 0 0 1px rgba(#fff, .6);
131
+ }
132
+ }
133
+
134
+ &-success {
135
+ @include shibori-button(#fff, $brand-success);
136
+
137
+ &-lightning {
138
+ @include shibori-button-lightning(#fff, $brand-success, $brand-success-alt);
139
+ }
140
+
141
+ &.btn-default {
142
+ @include shibori-button-alt($brand-success);
143
+ }
144
+ }
145
+
146
+ &-info {
147
+ @include shibori-button(#fff, $brand-info);
148
+
149
+ &-lightning {
150
+ @include shibori-button-lightning(#fff, $brand-info, $brand-info-alt);
151
+ }
152
+
153
+ &.btn-default {
154
+ @include shibori-button-alt($brand-info);
155
+ }
156
+ }
157
+
158
+ &-warning {
159
+ @include shibori-button(#fff, $brand-warning);
160
+
161
+ &-lightning {
162
+ @include shibori-button-lightning(#fff, $brand-warning, $brand-warning-alt);
163
+ }
164
+
165
+ &.btn-default {
166
+ @include shibori-button-alt($brand-warning);
167
+ }
168
+ }
169
+
170
+ &-danger {
171
+ @include shibori-button(#fff, $brand-danger);
172
+
173
+ &-lightning {
174
+ @include shibori-button-lightning(#fff, $brand-danger, $brand-danger-alt);
175
+ }
176
+
177
+ &.btn-default {
178
+ @include shibori-button-alt($brand-danger);
179
+ }
180
+ }
181
+
182
+ //- Sizes
183
+ &-xs {
184
+ padding: 2px 8px;
185
+ font-size: 12px;
186
+ }
187
+
188
+ &-sm {
189
+ padding: 5px 16px;
190
+ font-size: 12px;
191
+ }
192
+
193
+ &-lg {
194
+ padding: 7px 20px;
195
+ font-size: $font-lg;
196
+ }
197
+
198
+ &-block {
199
+ display: inline-block;
200
+ width: 100%;
201
+ white-space: nowrap;
202
+ overflow: hidden;
203
+ text-overflow: ellipsis;
204
+ }
205
+
206
+ //- Layouts
207
+
208
+ &-no-margin {
209
+ margin: 0;
210
+ }
211
+
212
+ //- Types
213
+ &-text {
214
+ background: transparent;
215
+ color: $blue;
216
+
217
+ &:hover,
218
+ &:focus {
219
+ color: darken($blue, 5%);
220
+ background: transparent;
221
+ }
222
+
223
+ &:active {
224
+ color: $brand-primary;
225
+ }
226
+ }
227
+
228
+ // Special Buttons
229
+ &.deploy {
230
+
231
+ .hk-icon {
232
+ position: relative;
233
+ top: 1px;
234
+ line-height: $font-sm;
235
+ margin-right: 4px;
236
+ color: lighten($brand-primary-light, 15%);
237
+ font-size: $font-base;
238
+ }
239
+
240
+ .to-heroku {
241
+ color: lighten($brand-primary-light, 15%);
242
+ }
243
+ }
244
+ }
245
+
246
+ // - Switch
247
+
248
+ .shibori-checkbox {
249
+ display: inline-block;
250
+ }
251
+
252
+ .shibori-checkbox input {
253
+ display: inline-block;
254
+ border: 0;
255
+ clip: rect(0 0 0 0);
256
+ height: 1px;
257
+ margin: -1px;
258
+ overflow: hidden;
259
+ padding: 0;
260
+ position: absolute;
261
+ width: 1px;
262
+ }
263
+
264
+ /* style the "fake" shibori-checkbox */
265
+
266
+ .shibori-checkbox-value {
267
+ background: #EEF1F6;
268
+ border: 1px solid #CFD7E6;
269
+ border-radius: 34px;
270
+ display: inline-block;
271
+ height: 30px;
272
+ width: 60px;
273
+ position: relative;
274
+ transition: all 120ms;
275
+ vertical-align: -0.5em;
276
+ }
277
+
278
+ .shibori-checkbox-value::before {
279
+ content: '';
280
+ background-color: #fff;
281
+ border: 1px solid;
282
+ border-color: inherit;
283
+ border-radius: 50%;
284
+ box-shadow: 0 0.0625em 0 0.0625em rgba(0,0,0,0.075);
285
+ display: block;
286
+ height: 30px;
287
+ width: 30px;
288
+ left: 25%;
289
+ position: absolute;
290
+ top: -1px;
291
+ left: -1px;
292
+ transition: all 120ms ease-in;
293
+ }
294
+
295
+ input:checked + .shibori-checkbox-value {
296
+ background-image: linear-gradient(-135deg, #AB8ECD 0%, #79589F 100%);
297
+ border-color: #AB8ECD;
298
+ }
299
+
300
+ input:checked + .shibori-checkbox-value::before {
301
+ left: 51%;
302
+ }
@@ -0,0 +1,64 @@
1
+ // ==========================================================================
2
+ // Spinner
3
+ // ==========================================================================
4
+
5
+ // Pulled from purple.heroku for most of it
6
+
7
+ /* $spinner-dot-size: 7px;
8
+ $spinner-color: $purple;
9
+ */
10
+ .spinner {
11
+ display: inline-flex;
12
+ @include justify-content(space-around);
13
+ position: relative;
14
+ vertical-align: middle;
15
+ width: 30px;
16
+ height: 6px;
17
+ text-align: center;
18
+ top: -1px;
19
+
20
+ i.spinner__dot {
21
+ width: 6px;
22
+ height: 6px;
23
+ border-radius: 50%;
24
+ background: $gray;
25
+
26
+ @include animation(pulse .85s infinite ease-in-out);
27
+
28
+ &.spinner__dot--one {
29
+ @include animation-delay(-0.2s);
30
+ }
31
+
32
+ &.spinner__dot--two {
33
+ @include animation-delay(-0.1s);
34
+ }
35
+ }
36
+
37
+ &.spinner--inverted {
38
+
39
+ i.spinner__dot {
40
+ background: #fff;
41
+ }
42
+ }
43
+
44
+ .btn--saving & {
45
+ width: 18px;
46
+ margin-right: 8px;
47
+ opacity: .6;
48
+
49
+ i.spinner__dot {
50
+ width: 3px;
51
+ height: 3px;
52
+ }
53
+ }
54
+ }
55
+
56
+ @include keyframes(pulse) {
57
+ 0%, 80%, 100% {
58
+ opacity: 0;
59
+ transform: scale(.8);
60
+ } 40% {
61
+ opacity: 1;
62
+ transform: scale(1);
63
+ }
64
+ }