shibori 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +27 -0
  5. data/Procfile +1 -0
  6. data/README.md +24 -0
  7. data/Rakefile +2 -0
  8. data/app.json +11 -0
  9. data/builder/lineage_hunter.js +80 -0
  10. data/builder/list_item_hunter.js +106 -0
  11. data/builder/media_hunter.js +51 -0
  12. data/builder/object_factory.js +60 -0
  13. data/builder/parameter_hunter.js +69 -0
  14. data/builder/pattern_assembler.js +258 -0
  15. data/builder/pattern_exporter.js +43 -0
  16. data/builder/patternlab.js +365 -0
  17. data/builder/patternlab_grunt.js +38 -0
  18. data/builder/patternlab_gulp.js +26 -0
  19. data/builder/pseudopattern_hunter.js +78 -0
  20. data/config.json +34 -0
  21. data/docs/Pattern Lab Node.md +225 -0
  22. data/favicon.ico +0 -0
  23. data/gulpfile.js +148 -0
  24. data/index.js +20 -0
  25. data/lib/shibori/version.rb +3 -0
  26. data/lib/shibori.rb +11 -0
  27. data/package.json +44 -0
  28. data/public/data/annotations.js +109 -0
  29. data/public/styleguide/css/static.css +458 -0
  30. data/public/styleguide/css/static.scss +404 -0
  31. data/public/styleguide/css/styleguide-specific.css +170 -0
  32. data/public/styleguide/css/styleguide-specific.scss +204 -0
  33. data/public/styleguide/css/styleguide.css +880 -0
  34. data/public/styleguide/css/styleguide.scss +950 -0
  35. data/public/styleguide/css/vendor/prism.css +112 -0
  36. data/public/styleguide/css/vendor/typeahead.css +66 -0
  37. data/public/styleguide/fonts/icomoon.eot +0 -0
  38. data/public/styleguide/fonts/icomoon.svg +22 -0
  39. data/public/styleguide/fonts/icomoon.ttf +0 -0
  40. data/public/styleguide/fonts/icomoon.woff +0 -0
  41. data/public/styleguide/html/README +1 -0
  42. data/public/styleguide/images/spinner.gif +0 -0
  43. data/public/styleguide/js/annotations-pattern.js +308 -0
  44. data/public/styleguide/js/annotations-viewer.js +289 -0
  45. data/public/styleguide/js/code-pattern.js +120 -0
  46. data/public/styleguide/js/code-viewer.js +443 -0
  47. data/public/styleguide/js/data-saver.js +169 -0
  48. data/public/styleguide/js/pattern-finder.js +114 -0
  49. data/public/styleguide/js/postmessage.js +127 -0
  50. data/public/styleguide/js/styleguide.js +600 -0
  51. data/public/styleguide/js/url-handler.js +182 -0
  52. data/public/styleguide/js/vendor/classlist-polyfill.js +176 -0
  53. data/public/styleguide/js/vendor/jquery.js +4 -0
  54. data/public/styleguide/js/vendor/jwerty.js +523 -0
  55. data/public/styleguide/js/vendor/prism.js +7 -0
  56. data/public/styleguide/js/vendor/typeahead.bundle.min.js +7 -0
  57. data/script/bootstrap +58 -0
  58. data/shibori.gemspec +18 -0
  59. data/shibori.jpg +0 -0
  60. data/source/_data/annotations.js +109 -0
  61. data/source/_data/data.json +93 -0
  62. data/source/_data/listitems.json +782 -0
  63. data/source/_patternlab-files/README +1 -0
  64. data/source/_patternlab-files/index.mustache +94 -0
  65. data/source/_patternlab-files/partials/ishControls.mustache +64 -0
  66. data/source/_patternlab-files/partials/patternNav.mustache +17 -0
  67. data/source/_patternlab-files/partials/patternPaths.mustache +3 -0
  68. data/source/_patternlab-files/partials/viewAllPaths.mustache +3 -0
  69. data/source/_patternlab-files/pattern-header-footer/README +1 -0
  70. data/source/_patternlab-files/pattern-header-footer/footer.html +34 -0
  71. data/source/_patternlab-files/pattern-header-footer/header.html +44 -0
  72. data/source/_patternlab-files/styleguide.mustache +75 -0
  73. data/source/_patternlab-files/viewall.mustache +75 -0
  74. data/source/_patterns/00-atoms/00-typography/00-headings.mustache +6 -0
  75. data/source/_patterns/00-atoms/00-typography/01-headings-options.mustache +7 -0
  76. data/source/_patterns/00-atoms/00-typography/02-body.mustache +2 -0
  77. data/source/_patterns/00-atoms/00-typography/03-text-manipulation.mustache +12 -0
  78. data/source/_patterns/00-atoms/00-typography/04-blockquotes.mustache +3 -0
  79. data/source/_patterns/00-atoms/00-typography/05-lists.mustache +64 -0
  80. data/source/_patterns/00-atoms/01-colors/00-colors-monochromatic.mustache +36 -0
  81. data/source/_patterns/00-atoms/01-colors/01-colors-brand.mustache +26 -0
  82. data/source/_patterns/00-atoms/01-colors/02-colors-gradients.mustache +38 -0
  83. data/source/_patterns/00-atoms/02-buttons/00-btn-lg.mustache +7 -0
  84. data/source/_patterns/00-atoms/02-buttons/01-btn-sm.mustache +7 -0
  85. data/source/_patterns/00-atoms/02-buttons/02-btn-xs.mustache +7 -0
  86. data/source/_patterns/00-atoms/02-buttons/03-btn-block.mustache +7 -0
  87. data/source/_patterns/00-atoms/02-buttons/04-btn-deploy.mustache +4 -0
  88. data/source/_patterns/00-atoms/03-forms/00-text-fields.mustache +24 -0
  89. data/source/_patterns/00-atoms/03-forms/01-select-menu.mustache +6 -0
  90. data/source/_patterns/00-atoms/03-forms/02-checkbox.mustache +10 -0
  91. data/source/_patterns/00-atoms/03-forms/03-radios.mustache +10 -0
  92. data/source/_patterns/00-atoms/03-forms/04-validation.mustache +14 -0
  93. data/source/_patterns/00-atoms/04-quote/00-pullquote.mustache +7 -0
  94. data/source/_patterns/00-atoms/04-quote/01-quote-small.mustache +7 -0
  95. data/source/_patterns/00-atoms/05-code/01-pre.mustache +11 -0
  96. data/source/_patterns/00-atoms/06-tooltips/00-text.mustache +3 -0
  97. data/source/_patterns/00-atoms/06-tooltips/01-diagram-callout.mustache +1 -0
  98. data/source/_patterns/00-atoms/07-loader/00-spinner.mustache +5 -0
  99. data/source/_patterns/00-atoms/08-readmore/00-readmore.mustache +3 -0
  100. data/source/_patterns/00-atoms/09-slider/00-dots.mustache +8 -0
  101. data/source/_patterns/00-atoms/10-tables/00-tables.mustache +26 -0
  102. data/source/_patterns/00-atoms/12-modal/00-modal.mustache +14 -0
  103. data/source/_patterns/00-atoms/13-panel/00-panel.mustache +3 -0
  104. data/source/_patterns/00-atoms/14-users/00-avatar.mustache +3 -0
  105. data/source/_patterns/00-atoms/15-icons/00-icons.mustache +333 -0
  106. data/source/_patterns/00-atoms/15-icons/04-icon-colors.mustache +38 -0
  107. data/source/_patterns/00-atoms/15-icons/05-icon-sizes.mustache +31 -0
  108. data/source/_patterns/00-atoms/15-icons/_02-languages.mustache +0 -0
  109. data/source/_patterns/00-atoms/15-icons/_03-social.mustache +0 -0
  110. data/source/_patterns/00-atoms/15-icons/_05-icon-containers.mustache +0 -0
  111. data/source/_patterns/00-atoms/16-video/01-video.mustache +3 -0
  112. data/source/_patterns/00-atoms/16-video/_00-play-button.mustache +0 -0
  113. data/source/_patterns/00-atoms/17-utilities/00-visibility.mustache +8 -0
  114. data/source/_patterns/00-atoms/17-utilities/01-ui-elements.mustache +3 -0
  115. data/source/_patterns/00-atoms/18-grid/_00-grid.mustache +0 -0
  116. data/source/_patterns/01-molecules/00-text/00-header-groups.mustache +4 -0
  117. data/source/_patterns/01-molecules/00-text/01-intro-text.mustache +5 -0
  118. data/source/_patterns/01-molecules/01-layout/00-one-up.mustache +8 -0
  119. data/source/_patterns/01-molecules/01-layout/01-two-up.mustache +9 -0
  120. data/source/_patterns/01-molecules/01-layout/02-three-up.mustache +10 -0
  121. data/source/_patterns/01-molecules/01-layout/03-four-up.mustache +11 -0
  122. data/source/_patterns/01-molecules/01-layout/04-masonary-2.mustache +24 -0
  123. data/source/_patterns/01-molecules/01-layout/05-masonary-3.mustache +24 -0
  124. data/source/_patterns/01-molecules/02-navigation/01-subnav.mustache +21 -0
  125. data/source/_patterns/01-molecules/02-navigation/02-breadcrumbs.mustache +25 -0
  126. data/source/_patterns/01-molecules/02-navigation/03-side-nav.mustache +11 -0
  127. data/source/_patterns/01-molecules/02-navigation/04-side-nav-small.mustache +32 -0
  128. data/source/_patterns/01-molecules/02-navigation/05-pagination.mustache +0 -0
  129. data/source/_patterns/01-molecules/02-navigation/06-tabs.mustache +46 -0
  130. data/source/_patterns/01-molecules/03-forms/_00-search.mustache +0 -0
  131. data/source/_patterns/01-molecules/04-slider/00-slider.mustache +8 -0
  132. data/source/_patterns/01-molecules/05-messages/00-alert.mustache +15 -0
  133. data/source/_patterns/01-molecules/06-components/_00-social-share.mustache +0 -0
  134. data/source/_patterns/01-molecules/07-Elements/01-Addons-Card.mustache +79 -0
  135. data/source/_patterns/01-molecules/07-Elements/02-Buttons-Card.mustache +131 -0
  136. data/source/_patterns/01-molecules/07-Elements/03-Buildpack-Card.mustache +109 -0
  137. data/source/_patterns/01-molecules/08-vertical-tabs/01-vertical-tabs.mustache +30 -0
  138. data/source/_patterns/02-organisms/03-sections/00-purple.mustache +11 -0
  139. data/source/_patterns/02-organisms/03-sections/01-purple-dark.mustache +12 -0
  140. data/source/_patterns/02-organisms/03-sections/03-gray-light.mustache +12 -0
  141. data/source/css/hk-icon-rails.scss +13 -0
  142. data/source/css/scss/base/_base.scss +62 -0
  143. data/source/css/scss/base/_fonts.scss +12 -0
  144. data/source/css/scss/base/_normalize.scss +431 -0
  145. data/source/css/scss/base/_type.scss +128 -0
  146. data/source/css/scss/base/_utilities.scss +78 -0
  147. data/source/css/scss/components/_alert.scss +38 -0
  148. data/source/css/scss/components/_animate.scss +3340 -0
  149. data/source/css/scss/components/_animation.scss +15 -0
  150. data/source/css/scss/components/_buttons.scss +175 -0
  151. data/source/css/scss/components/_code.scss +26 -0
  152. data/source/css/scss/components/_forms.scss +136 -0
  153. data/source/css/scss/components/_hero.scss +18 -0
  154. data/source/css/scss/components/_hr.scss +11 -0
  155. data/source/css/scss/components/_icons.scss +85 -0
  156. data/source/css/scss/components/_lists.scss +45 -0
  157. data/source/css/scss/components/_logos.scss +15 -0
  158. data/source/css/scss/components/_masonary.scss +46 -0
  159. data/source/css/scss/components/_modal.scss +218 -0
  160. data/source/css/scss/components/_owlCarousel.scss +270 -0
  161. data/source/css/scss/components/_panel.scss +11 -0
  162. data/source/css/scss/components/_pill-box.scss +38 -0
  163. data/source/css/scss/components/_quote.scss +96 -0
  164. data/source/css/scss/components/_readmore.scss +11 -0
  165. data/source/css/scss/components/_slider.scss +96 -0
  166. data/source/css/scss/components/_spinner.scss +64 -0
  167. data/source/css/scss/components/_sprites.scss +3 -0
  168. data/source/css/scss/components/_sr-only.scss +10 -0
  169. data/source/css/scss/components/_tables.scss +62 -0
  170. data/source/css/scss/components/_tooltips.scss +93 -0
  171. data/source/css/scss/components/_users.scss +11 -0
  172. data/source/css/scss/components/_vertical-tabs.scss +129 -0
  173. data/source/css/scss/components/_video.scss +7 -0
  174. data/source/css/scss/ecosystem/_addons-card.scss +3 -0
  175. data/source/css/scss/ecosystem/_cards.scss +369 -0
  176. data/source/css/scss/ecosystem/_elements-brand.scss +32 -0
  177. data/source/css/scss/ecosystem/_elements.scss +4 -0
  178. data/source/css/scss/globals/_colors.scss +189 -0
  179. data/source/css/scss/globals/_mixins.scss +45 -0
  180. data/source/css/scss/globals/_variables.scss +87 -0
  181. data/source/css/scss/layout/_grid-settings.scss +13 -0
  182. data/source/css/scss/layout/_layout.scss +95 -0
  183. data/source/css/scss/page-elements/_headers.scss +3 -0
  184. data/source/css/scss/page-elements/_navigation.scss +254 -0
  185. data/source/css/scss/page-elements/_sections.scss +66 -0
  186. data/source/css/scss/page-elements/_sidebar.scss +34 -0
  187. data/source/css/shibori.scss +63 -0
  188. data/source/fonts/bentonsans/bentonsans-book.eot +0 -0
  189. data/source/fonts/bentonsans/bentonsans-book.svg +400 -0
  190. data/source/fonts/bentonsans/bentonsans-book.ttf +0 -0
  191. data/source/fonts/bentonsans/bentonsans-book.woff +0 -0
  192. data/source/fonts/bentonsans/bentonsans-medium.eot +0 -0
  193. data/source/fonts/bentonsans/bentonsans-medium.svg +416 -0
  194. data/source/fonts/bentonsans/bentonsans-medium.ttf +0 -0
  195. data/source/fonts/bentonsans/bentonsans-medium.woff +0 -0
  196. data/source/fonts/bentonsans/bentonsans-regular.eot +0 -0
  197. data/source/fonts/bentonsans/bentonsans-regular.svg +416 -0
  198. data/source/fonts/bentonsans/bentonsans-regular.ttf +0 -0
  199. data/source/fonts/bentonsans/bentonsans-regular.woff +0 -0
  200. data/source/fonts/hk-icon/hk-icon.eot +0 -0
  201. data/source/fonts/hk-icon/hk-icon.svg +261 -0
  202. data/source/fonts/hk-icon/hk-icon.ttf +0 -0
  203. data/source/fonts/hk-icon/hk-icon.woff +0 -0
  204. data/source/fonts/inconsolata/inconsolata-bold.eot +0 -0
  205. data/source/fonts/inconsolata/inconsolata-bold.svg +239 -0
  206. data/source/fonts/inconsolata/inconsolata-bold.ttf +0 -0
  207. data/source/fonts/inconsolata/inconsolata-bold.woff +0 -0
  208. data/source/fonts/inconsolata/inconsolata-regular.eot +0 -0
  209. data/source/fonts/inconsolata/inconsolata-regular.svg +239 -0
  210. data/source/fonts/inconsolata/inconsolata-regular.ttf +0 -0
  211. data/source/fonts/inconsolata/inconsolata-regular.woff +0 -0
  212. data/source/images/blockquote/close-sm.png +0 -0
  213. data/source/images/blockquote/close.png +0 -0
  214. data/source/images/blockquote/close@2x.png +0 -0
  215. data/source/images/blockquote/open-sm.png +0 -0
  216. data/source/images/blockquote/open.png +0 -0
  217. data/source/images/blockquote/open@2x.png +0 -0
  218. data/source/images/elements/heroku_suported.svg +32 -0
  219. data/source/images/forms/select-input-arrows.svg +8 -0
  220. data/source/js/init.js +26 -0
  221. data/source/js/main.js +22 -0
  222. data/source/js/vendor/bourbon-modal.js +17 -0
  223. data/source/js/vendor/fitvids.js +77 -0
  224. data/source/js/vendor/fixto.js +719 -0
  225. data/source/js/vendor/jquery-2.0.0b2.js +8690 -0
  226. data/source/js/vendor/modernizr.js +4 -0
  227. data/source/js/vendor/owl.carousel.js +3069 -0
  228. data/source/js/vendor/readmore.js +11 -0
  229. data/source/js/vendor/unslider.js +1 -0
  230. data/source/js/vendor/vertical-tabs.js +34 -0
  231. data/test/files/test.css +19 -0
  232. data/test/lineage_hunter_tests.js +262 -0
  233. data/test/list_item_hunter_tests.js +167 -0
  234. data/test/media_hunter_tests.js +74 -0
  235. data/test/object_factory_tests.js +62 -0
  236. data/test/parameter_hunter_tests.js +298 -0
  237. data/test/pattern_assembler_tests.js +43 -0
  238. data/test/patternlab_tests.js +8 -0
  239. metadata +320 -0
@@ -0,0 +1,369 @@
1
+
2
+ .cards {
3
+ display:flex;
4
+ flex-direction: row;
5
+ flex-wrap: wrap;
6
+ display: -ms-flexbox;
7
+ -ms-flex-direction: row;
8
+ -ms-flex-wrap: wrap;
9
+
10
+ &:after {
11
+ content: "";
12
+ display: table;
13
+ clear: both;
14
+ }
15
+
16
+ .card {
17
+ border: 1px solid #D8DDE6;
18
+ border-radius: 2px;
19
+ position: relative;
20
+ transition: all 100ms ease-in-out;
21
+ background: #fff;
22
+ transition: all 150ms ease-in-out;
23
+ color: $gray-darker;
24
+
25
+ display: flex;
26
+ flex-direction: column;
27
+
28
+ display: -ms-flexbox;
29
+ -ms-flex-direction: column;
30
+
31
+ h1, h2, h3, h4, h5, h6, p {
32
+ color: $gray-darker;
33
+ }
34
+
35
+ a {
36
+ color: $gray-darker;
37
+ text-decoration: none;
38
+ display: flex;
39
+ flex-direction: column;
40
+ flex: 1;
41
+ display: -ms-flexbox;
42
+ -ms-flex-direction: column;
43
+ -ms-flex: auto 1;
44
+ }
45
+
46
+ .beta {
47
+ position: absolute;
48
+ top: $pad;
49
+ right: $pad;
50
+ color: $white;
51
+ font-size: 10px;
52
+ font-weight: bold;
53
+ padding: 2px 5px 1px;
54
+ text-transform: uppercase;
55
+ border-radius: 10%;
56
+ @include beta();
57
+ }
58
+
59
+ .btn {
60
+ position: relative;
61
+ z-index: 1000;
62
+ }
63
+
64
+ .before {
65
+ opacity: 0;
66
+ visibility: hidden;
67
+ transition: all 150ms ease-in-out;
68
+ position: absolute;
69
+ padding: 20px;
70
+ color: #fff;
71
+ top: 0;
72
+ left: 0;
73
+ right: 0;
74
+ bottom: 0;
75
+ background: rgba($purple, .95);
76
+ font-size: 14px;
77
+
78
+ li {
79
+ list-style-type: none;
80
+ }
81
+
82
+ .micro {
83
+ display: inline-block;
84
+ width: 100%;
85
+ font-size: 10px;
86
+ margin-top: 10px;
87
+ text-transform: uppercase;
88
+ }
89
+ }
90
+
91
+ &.cards-five-x {
92
+ @include media(min-width 1600px) {
93
+ margin-bottom: 5px;
94
+ margin-right: 5px;
95
+ width: calc(20% - 5px);
96
+ @include omega(5n);
97
+ }
98
+
99
+ @include media(min-width 1241px max-width 1599px) {
100
+ margin-bottom: 5px;
101
+ margin-right: 5px;
102
+ width: calc(25% - 3.75px);
103
+ @include omega(4n);
104
+ }
105
+
106
+ @include media(min-width 760px max-width 1240px) {
107
+ margin-bottom: 5px;
108
+ margin-right: 5px;
109
+ width: calc(33.333333333% - 3.333333333px);
110
+ @include omega(3n);
111
+ }
112
+
113
+ @include media(min-width 560px max-width 759px) {
114
+ margin-bottom: 5px;
115
+ margin-right: 5px;
116
+ width: calc(50% - 2.5px);
117
+ @include omega(2n);
118
+ }
119
+
120
+ @include media(max-width 559px) {
121
+ margin-bottom: 5px;
122
+ margin-right: 0px;
123
+ flex: 0 1 100%;
124
+ max-width: 100%;
125
+ @include omega;
126
+ }
127
+ }
128
+
129
+ &.cards-four-x {
130
+ @include media(min-width 1241px) {
131
+ margin-bottom: 5px;
132
+ margin-right: 5px;
133
+ width: calc(25% - 3.75px);
134
+ @include omega(4n);
135
+ }
136
+
137
+ @include media(min-width 760px max-width 1240px) {
138
+ margin-bottom: 5px;
139
+ margin-right: 5px;
140
+ width: calc(33.333333333% - 3.333333333px);
141
+ @include omega(3n);
142
+ }
143
+
144
+ @include media(min-width 560px max-width 759px) {
145
+ margin-bottom: 5px;
146
+ margin-right: 5px;
147
+ width: calc(50% - 2.5px);
148
+ @include omega(2n);
149
+ }
150
+
151
+ @include media(max-width 559px) {
152
+ margin-bottom: 5px;
153
+ margin-right: 0px;
154
+ flex: 0 1 100%;
155
+ @include omega;
156
+ }
157
+ }
158
+
159
+ &.cards-three-x {
160
+ @include media(min-width 1241px) {
161
+ margin-bottom: 5px;
162
+ margin-right: 5px;
163
+ width: calc(33.333333333% - 3.333333333px);
164
+ @include omega(3n);
165
+ }
166
+
167
+ @include media(min-width 560px max-width 759px) {
168
+ margin-bottom: 5px;
169
+ margin-right: 5px;
170
+ width: calc(50% - 2.5px);
171
+ @include omega(2n);
172
+ }
173
+
174
+ @include media(max-width 559px) {
175
+ margin-bottom: 5px;
176
+ margin-right: 0px;
177
+ flex: 0 1 100%;
178
+ max-width: 100%;
179
+ @include omega;
180
+ }
181
+ }
182
+
183
+ .brand {
184
+ padding: $pad-lg;
185
+
186
+ .brand-body {
187
+ font-size: 12px;
188
+ color: #4C4C4C;
189
+ margin-bottom: 0;
190
+ }
191
+
192
+ .brand-bar {
193
+ height: 1px;
194
+ margin: $pad-lg 0;
195
+
196
+ &.addons {
197
+ background:linear-gradient(to left, #F76B1C, #FAD961);
198
+ }
199
+
200
+ &.buttons {
201
+ background:linear-gradient(to left, #64438B, #C6ACE5);
202
+ }
203
+
204
+ &.buildpacks {
205
+ @include buildpacks();
206
+ }
207
+ }
208
+
209
+ .brand-title {
210
+ margin: $pad 0;
211
+ white-space: nowrap;
212
+ overflow: hidden;
213
+ text-overflow: ellipsis;
214
+ }
215
+ }
216
+
217
+ &.addon {
218
+ text-align: center;
219
+
220
+ .brand-title {
221
+ text-align: center;
222
+ }
223
+
224
+ .brand-logo {
225
+ display: inline-block;
226
+ height: $brand-icon;
227
+ width: $brand-icon;
228
+ margin: 0 auto;
229
+
230
+ img {
231
+ border-radius: 2px;
232
+ max-height: 100%;
233
+ min-width: 100%;
234
+ }
235
+
236
+ .hk-icon {
237
+ color: $purple;
238
+ font-size: 24px;
239
+ }
240
+ }
241
+ }
242
+
243
+ &.button {
244
+ .brand-author {
245
+ display: inline-block;
246
+ font-size: $font-sm;
247
+ margin-bottom: $pad;
248
+ min-height: $brand-icon-xs;
249
+
250
+ .brand-avatar {
251
+ max-height: $brand-icon-xs;
252
+ width: $brand-icon-xs;
253
+ margin-right: $pad-sm;
254
+ vertical-align: middle;
255
+ }
256
+ }
257
+ }
258
+
259
+ &.buildpack {
260
+
261
+ .buildpack-author {
262
+ display: inline-block;
263
+ font-size: $font-sm;
264
+ margin-bottom: $pad;
265
+
266
+ .brand-avatar {
267
+ max-height: $brand-icon-xs;
268
+ width: $brand-icon-xs;
269
+ margin-right: $pad-sm;
270
+ vertical-align: middle;
271
+ border-radius: 50%;
272
+ }
273
+ }
274
+
275
+ .buildpack-official {
276
+ display: inline-block;
277
+ position: absolute;
278
+ right: 6px;
279
+ top: 6px;
280
+ width: 24px;
281
+ height: 24px;
282
+ background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMzkuMSAoMzE3MjApIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPg0KICAgIDx0aXRsZT5jaGVjayBjb3B5PC90aXRsZT4NCiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGNkYzRjkiIG9mZnNldD0iMCUiPjwvc3RvcD4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGM0YwRjciIG9mZnNldD0iMTAwJSI+PC9zdG9wPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0FCOEVDRCIgb2Zmc2V0PSIwJSI+PC9zdG9wPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzc5NTg5RiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgIDxwYXRoIGQ9Ik0xNjcuNzkzNTM5LDguNDEyNDk2NyBDMTg3LjczOTc5OSwtMi44MDQxNjU1NyAyMTIuMjg1MTk3LC0yLjgwNDE2NTU3IDIzMi4yMzE0NTcsOC40MTI0OTY3IEwzNjcuODA2MDM2LDg0Ljc4MzMzNjMgQzM4Ny43MjczMDEsOTYuMDI0MzgyNiA0MDAsMTE2Ljc1MDgyNCA0MDAsMTM5LjIwODUzMiBMNDAwLDI5MS45NTAyMTIgQzQwMCwzMTQuMzgzNTM2IDM4Ny43MjczMDEsMzM1LjEzNDM2MSAzNjcuODA2MDM2LDM0Ni4zNzU0MDggTDIzMi4yMzE0NTcsNDIyLjcyMTg2MyBDMjEyLjI4NTE5Nyw0MzMuOTYyOTEgMTg3LjczOTc5OSw0MzMuOTYyOTEgMTY3Ljc5MzUzOSw0MjIuNzIxODYzIEwzMi4yMTg5NTg5LDM0Ni4zNzU0MDggQzEyLjI3MjY5ODksMzM1LjEzNDM2MSAwLDMxNC4zODM1MzYgMCwyOTEuOTUwMjEyIEwwLDEzOS4yMDg1MzIgQzAsMTE2Ljc1MDgyNCAxMi4yNzI2OTg5LDk2LjAyNDM4MjYgMzIuMjE4OTU4OSw4NC43ODMzMzYzIEwxNjcuNzkzNTM5LDguNDEyNDk2NyBaIiBpZD0icGF0aC0zIj48L3BhdGg+DQogICAgICAgIDxtYXNrIGlkPSJtYXNrLTQiIG1hc2tDb250ZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB4PSIwIiB5PSIwIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQzMS4xNTI2NDgiIGZpbGw9IndoaXRlIj4NCiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMyI+PC91c2U+DQogICAgICAgIDwvbWFzaz4NCiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJsaW5lYXJHcmFkaWVudC01Ij4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNBQzhFQ0UiIG9mZnNldD0iMCUiPjwvc3RvcD4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM3OTU4OUYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9ImNoZWNrLWNvcHkiPg0KICAgICAgICAgICAgPGcgaWQ9ImhleC1jaSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTYuMDAwMDAwLCA0MC4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8dXNlIGlkPSJUaWxlIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQtMikiIG1hc2s9InVybCgjbWFzay00KSIgc3Ryb2tlLXdpZHRoPSI2MCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgeGxpbms6aHJlZj0iI3BhdGgtMyI+PC91c2U+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4Ny45OTQwNTYsMjgzLjU0NTQ4NyBDMTgxLjEzNjQ1MiwyODYuMjAyNzUxIDE3My4wNTczMTUsMjg0Ljc2MjQ4NCAxNjcuNTIxOTM1LDI3OS4yMjcxMDQgTDEyMy42MDgyMTMsMjM1LjMxMzM4MSBDMTE2LjEzNDUzMSwyMjcuODM5NyAxMTYuMTI3NjY0LDIxNS43MDkzMzggMTIzLjYwNTIwOCwyMDguMjMxNzk1IEMxMzEuMDg0Mzk2LDIwMC43NTI2MDYgMTQzLjIwNzU5MSwyMDAuNzU1NTk2IDE1MC42ODY3OTUsMjA4LjIzNDc5OSBMMTgyLjE3OTEwNCwyMzkuNzI3MTA5IEwyNjkuMjk1Mzc2LDE1Mi42MTA4MzcgQzI3Ni43NzQ1MywxNDUuMTMxNjgyIDI4OC44OTc2ODYsMTQ1LjEyODczMyAyOTYuMzc2ODc0LDE1Mi42MDc5MjEgQzMwMy44NTQ0MTgsMTYwLjA4NTQ2NCAzMDMuODUzMTM2LDE3Mi4yMTAyNCAyOTYuMzczOTU3LDE3OS42ODk0MTkgTDE5Ny43NTMwNjEsMjc4LjMxMDMxNSBDMTk0Ljk4MDUyMiwyODEuMDgyODU0IDE5MS41Njk4MDUsMjgyLjgyODAxMiAxODcuOTk0MDU2LDI4My41NDU0ODcgWiIgaWQ9Im1lbnUtY2kiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtNSkiPjwvcGF0aD4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==');
283
+ background-size: cover;
284
+ }
285
+ }
286
+
287
+ &:hover {
288
+ border: 1px solid #7B569F;
289
+ cursor: pointer;
290
+ box-shadow: 0 1px 4px rgba(#7B569F, .4);
291
+ z-index: 50;
292
+ transition: all 150ms ease-in-out;
293
+ }
294
+
295
+ .stats {
296
+ background: rgba(#F2F2F5, .5);
297
+ transition: all 150ms ease-in-out;
298
+ color: $gray-darker;
299
+ opacity: 1;
300
+ align-items: center;
301
+ justify-content: center;
302
+ padding: $pad*1.5 $pad;
303
+ vertical-align: middle;
304
+ margin-top: auto;
305
+
306
+ ul {
307
+ padding: 0;
308
+ margin: 0;
309
+ width: 100%;
310
+ display:flex;
311
+ flex-direction: row;
312
+ flex-wrap: wrap;
313
+ justify-content: flex-start;
314
+ align-content: flex-start;
315
+ align-items: flex-start;
316
+ }
317
+
318
+ a {
319
+ color: $purple;
320
+ text-decoration: none;
321
+ }
322
+
323
+ li {
324
+ display: inline-block;
325
+ margin-right: $pad;
326
+ color: $gray-darker;
327
+ font-size: 12px;
328
+ vertical-align: middle;
329
+ line-height: 12px;
330
+
331
+ .hk-icon {
332
+ margin-right: 4px;
333
+ font-size: 12px;
334
+ }
335
+
336
+ &.element-type {
337
+ color: $purple;
338
+ text-align: right;
339
+
340
+ .hk-icon {
341
+ font-size: 14px;
342
+ }
343
+
344
+ &.buildpack {
345
+ color: #429321;
346
+ }
347
+ }
348
+
349
+ &.category {
350
+ color: $gray-dark;
351
+ }
352
+
353
+ &:last-child {
354
+ flex-grow: 1;
355
+ flex-shrink: 0;
356
+ margin-right: 0;
357
+
358
+ .hk-icon {
359
+ margin: 0;
360
+ }
361
+ }
362
+ }
363
+
364
+ .flex-auto {
365
+ flex: 1;
366
+ }
367
+ }
368
+ }
369
+ }
@@ -0,0 +1,32 @@
1
+ .brand-details {
2
+ margin-bottom: $space;
3
+
4
+ .brand-logo {
5
+ width: $brand-icon;
6
+ height: $brand-icon;
7
+ margin-right: $pad;
8
+ float: left;
9
+ vertical-align: middle;
10
+
11
+ img {
12
+ width: 100%;
13
+ max-height: $brand-icon;
14
+ }
15
+ }
16
+
17
+ .brand-title {
18
+ display: inline-block;
19
+ margin-bottom: 0;
20
+ }
21
+
22
+ .brand-intro {
23
+ color: $gray-dark;
24
+ margin-bottom: 0;
25
+ }
26
+ }
27
+
28
+ .division {
29
+ margin: $space 0;
30
+ height: 1px;
31
+ background:linear-gradient(to left, #eee, #ededed);
32
+ }
@@ -0,0 +1,4 @@
1
+ .elements {
2
+ width: 100%;
3
+ margin: 0 auto;
4
+ }
@@ -0,0 +1,189 @@
1
+ // ==========================================================================
2
+ // Colors
3
+ // ==========================================================================
4
+
5
+ //- Monochromatic
6
+ $white: #fff;
7
+ $off-white: #F9F9FB;
8
+
9
+ $gray-lighter: #EEF1F6;
10
+ $gray-light: #CFD7E6;
11
+ $gray: #96A3B6;
12
+ $gray-dark: #596981;
13
+ $gray-darker: #3F3F44;
14
+
15
+ $gray-border: #D8DDE6;
16
+ $black: #111;
17
+
18
+ //- Mains
19
+ $purple: #79589F;
20
+ $purple-light: lighten(#79589F, 20%);
21
+ $blue: #408FEC;
22
+ $green: #74C080;
23
+ $orange: #FA9F47;
24
+ $red: #D64242;
25
+
26
+ //- Brand
27
+ $brand-primary: $purple;
28
+ $brand-primary-light: $purple-light;
29
+ $brand-info: $blue;
30
+ $brand-success: $green;
31
+ $brand-warning: $orange;
32
+ $brand-danger: $red;
33
+
34
+
35
+ .swatch-white {
36
+ background: $white;
37
+ }
38
+ .swatch-off-white {
39
+ background: $off-white;
40
+ }
41
+ .swatch-gray-lighter {
42
+ background: $gray-lighter;
43
+ }
44
+ .swatch-gray-light {
45
+ background: $gray-light;
46
+ }
47
+ .swatch-gray {
48
+ background: $gray;
49
+ }
50
+ .swatch-gray-dark {
51
+ background: $gray-dark;
52
+ }
53
+ .swatch-gray-darker {
54
+ background: $gray-darker;
55
+ }
56
+ .swatch-black {
57
+ background: $black;
58
+ }
59
+ .swatch-brand-primary {
60
+ background: $brand-primary;
61
+ }
62
+ .swatch-brand-primary-light {
63
+ background: $brand-primary-light;
64
+ }
65
+ .swatch-brand-info {
66
+ background: $brand-info;
67
+ }
68
+ .swatch-brand-success {
69
+ background: $brand-success;
70
+ }
71
+ .swatch-brand-warning {
72
+ background: $brand-warning;
73
+ }
74
+ .swatch-brand-danger {
75
+ background: $brand-danger;
76
+ }
77
+
78
+ //- Utility
79
+ $dim: fade-out($black, .5);
80
+ $dimmer: fade-out($black, .2);
81
+ $error: $brand-danger;
82
+ $valid: $brand-success;
83
+ $info: $brand-info;
84
+ $warning: $brand-warning;
85
+
86
+ $brand-facebook: #03539e;
87
+ $brand-twitter: #35ccff;
88
+ $brand-linkedin: #217bc1;
89
+
90
+ $text-color: $gray-darker;
91
+ $text-color-light: $gray-dark;
92
+ $text-color-white: $white;
93
+ $text-color-purple: $purple;
94
+
95
+ //- Gradients
96
+
97
+ $grad-purple: #58488a;
98
+ $grad-purple-blue: #5d64d0;
99
+
100
+ @mixin gradient-brand-primary() {
101
+ @include linear-gradient(to right bottom, #AB8ECD, $brand-primary, $fallback: $brand-primary);
102
+ }
103
+
104
+ @mixin gradient-gray-light() {
105
+ @include linear-gradient(to right bottom, #DAE0EC, $gray-light, $fallback: $gray-light);
106
+ }
107
+
108
+ @mixin gradient-gray() {
109
+ @include linear-gradient(to right bottom, #AFB9C7, $gray, $fallback: $gray);
110
+ }
111
+
112
+ @mixin gradient-gray-dark() {
113
+ @include linear-gradient(to right bottom, #828EA0, $gray-dark, $fallback: $gray-dark);
114
+ }
115
+
116
+ @mixin gradient-gray-darker() {
117
+ @include linear-gradient(to right bottom, #6E6E72, $gray-darker, $fallback: $gray-darker);
118
+ }
119
+
120
+ @mixin gradient-brand-info() {
121
+ @include linear-gradient(to right bottom, #A1CAF9, $brand-info, $fallback: $brand-info);
122
+ }
123
+
124
+ @mixin gradient-brand-success() {
125
+ @include linear-gradient(to right bottom, #ADE28F, $brand-success, $fallback: $brand-success);
126
+ }
127
+
128
+ @mixin gradient-brand-warning() {
129
+ @include linear-gradient(to right bottom, #FFD3A0, $brand-warning, $fallback: $brand-warning);
130
+ }
131
+
132
+ @mixin gradient-brand-danger() {
133
+ @include linear-gradient(to right bottom, #F37A65, $brand-danger, $fallback: $brand-danger);
134
+ }
135
+
136
+ .swatch-gradient-brand-primary {
137
+ @include gradient-brand-primary;
138
+ }
139
+ .swatch-gradient-gray-light {
140
+ @include gradient-gray-light;
141
+ }
142
+ .swatch-gradient-gray {
143
+ @include gradient-gray;
144
+ }
145
+ .swatch-gradient-gray-dark {
146
+ @include gradient-gray-dark;
147
+ }
148
+ .swatch-gradient-gray-darker {
149
+ @include gradient-gray-darker;
150
+ }
151
+ .swatch-gradient-brand-info {
152
+ @include gradient-brand-info;
153
+ }
154
+ .swatch-gradient-brand-success {
155
+ @include gradient-brand-success;
156
+ }
157
+ .swatch-gradient-brand-warning {
158
+ @include gradient-brand-warning;
159
+ }
160
+ .swatch-gradient-brand-danger {
161
+ @include gradient-brand-danger;
162
+ }
163
+
164
+ @mixin grad-purple() {
165
+ @include linear-gradient(to bottom, $grad-purple, $grad-purple-blue, $fallback: $grad-purple);
166
+ }
167
+
168
+ @mixin grad-purple-dark() {
169
+ @include linear-gradient(to bottom, #4A4090, #372E6C, $fallback: #4A4090);
170
+ }
171
+
172
+ @mixin grad-gray-light() {
173
+ @include linear-gradient(top, fade-out($gray-lighter, .5), $white 50%, $fallback: $white);
174
+ }
175
+
176
+ @mixin beta() {
177
+ @include linear-gradient(to right, saturate(#78B743, 10%), #78B743, $fallback: #78B743);
178
+ }
179
+
180
+ @mixin addons() {
181
+ @include linear-gradient(to right, saturate(#78B743, 10%), #78B743, $fallback: #78B743);
182
+ }
183
+ @mixin buttons() {
184
+ @include linear-gradient(to right, saturate(#78B743, 10%), #78B743, $fallback: #78B743);
185
+ }
186
+
187
+ @mixin buildpacks() {
188
+ @include linear-gradient(to right, #B4EC51, #429321, $fallback: #B4EC51);
189
+ }
@@ -0,0 +1,45 @@
1
+ // ==========================================================================
2
+ // Mixins (not provided by Bourbon)
3
+ // ==========================================================================
4
+
5
+ @mixin horizontal-line($position, $from: $white, $to: #ddd, $width: 2px, $inflection: 35%) {
6
+ @include background-image(linear-gradient(left, $from, $to 0% + $inflection, $to 100% - $inflection, $from));
7
+
8
+ background-position: $position center;
9
+ background-repeat: no-repeat;
10
+ background-size: 100% $width;
11
+ }
12
+
13
+ @mixin vertical-line($position, $from: $white, $to: #ddd, $width: 2px, $inflection: 35%) {
14
+ @include background-image(linear-gradient(top, $from, $to 0% + $inflection, $to 100% - $inflection, $from));
15
+
16
+ background-position: $position center;
17
+ background-repeat: no-repeat;
18
+ background-size: $width 100%;
19
+ }
20
+
21
+ .pad-{
22
+ &top {
23
+ padding-top: $pad;
24
+ }
25
+ &bottom {
26
+ padding-bottom: $pad;
27
+ }
28
+ &top-bottom {
29
+ padding-top: $pad;
30
+ padding-bottom: $pad;
31
+ }
32
+ }
33
+
34
+ .space-{
35
+ &top {
36
+ padding-top: $space;
37
+ }
38
+ &bottom {
39
+ padding-bottom: $space;
40
+ }
41
+ &top-bottom {
42
+ padding-top: $space;
43
+ padding-bottom: $space;
44
+ }
45
+ }