jekyll-theme-foundation 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +48 -0
  4. data/_includes/google-analytics.html +8 -0
  5. data/_includes/head.html +17 -0
  6. data/_includes/scripts.html +4 -0
  7. data/_layouts/default.html +16 -0
  8. data/_layouts/home.html +5 -0
  9. data/_layouts/page.html +5 -0
  10. data/_layouts/post.html +5 -0
  11. data/_sass/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  12. data/_sass/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  13. data/_sass/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  14. data/_sass/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  15. data/_sass/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  16. data/_sass/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -0
  17. data/_sass/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  18. data/_sass/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  19. data/_sass/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  20. data/_sass/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  21. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  22. data/_sass/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  23. data/_sass/assets/foundation-float.scss +5 -0
  24. data/_sass/assets/foundation-prototype.scss +3 -0
  25. data/_sass/assets/foundation-rtl.scss +5 -0
  26. data/_sass/assets/foundation.scss +3 -0
  27. data/_sass/jekyll-theme-foundation.scss +5 -0
  28. data/_sass/scss/_global.scss +249 -0
  29. data/_sass/scss/components/_accordion-menu.scss +171 -0
  30. data/_sass/scss/components/_accordion.scss +155 -0
  31. data/_sass/scss/components/_badge.scss +63 -0
  32. data/_sass/scss/components/_breadcrumbs.scss +117 -0
  33. data/_sass/scss/components/_button-group.scss +253 -0
  34. data/_sass/scss/components/_button.scss +385 -0
  35. data/_sass/scss/components/_callout.scss +106 -0
  36. data/_sass/scss/components/_card.scss +129 -0
  37. data/_sass/scss/components/_close-button.scss +102 -0
  38. data/_sass/scss/components/_drilldown.scss +142 -0
  39. data/_sass/scss/components/_dropdown-menu.scss +274 -0
  40. data/_sass/scss/components/_dropdown.scss +79 -0
  41. data/_sass/scss/components/_flex-video.scss +1 -0
  42. data/_sass/scss/components/_flex.scss +117 -0
  43. data/_sass/scss/components/_float.scss +27 -0
  44. data/_sass/scss/components/_label.scss +64 -0
  45. data/_sass/scss/components/_media-object.scss +114 -0
  46. data/_sass/scss/components/_menu-icon.scss +9 -0
  47. data/_sass/scss/components/_menu.scss +495 -0
  48. data/_sass/scss/components/_off-canvas.scss +506 -0
  49. data/_sass/scss/components/_orbit.scss +196 -0
  50. data/_sass/scss/components/_pagination.scss +193 -0
  51. data/_sass/scss/components/_progress-bar.scss +64 -0
  52. data/_sass/scss/components/_responsive-embed.scss +70 -0
  53. data/_sass/scss/components/_reveal.scss +180 -0
  54. data/_sass/scss/components/_slider.scss +137 -0
  55. data/_sass/scss/components/_sticky.scss +39 -0
  56. data/_sass/scss/components/_switch.scss +247 -0
  57. data/_sass/scss/components/_table.scss +330 -0
  58. data/_sass/scss/components/_tabs.scss +196 -0
  59. data/_sass/scss/components/_thumbnail.scss +67 -0
  60. data/_sass/scss/components/_title-bar.scss +84 -0
  61. data/_sass/scss/components/_tooltip.scss +160 -0
  62. data/_sass/scss/components/_top-bar.scss +175 -0
  63. data/_sass/scss/components/_visibility.scss +132 -0
  64. data/_sass/scss/forms/_checkbox.scss +41 -0
  65. data/_sass/scss/forms/_error.scss +88 -0
  66. data/_sass/scss/forms/_fieldset.scss +53 -0
  67. data/_sass/scss/forms/_forms.scss +34 -0
  68. data/_sass/scss/forms/_help-text.scss +30 -0
  69. data/_sass/scss/forms/_input-group.scss +142 -0
  70. data/_sass/scss/forms/_label.scss +50 -0
  71. data/_sass/scss/forms/_meter.scss +116 -0
  72. data/_sass/scss/forms/_progress.scss +94 -0
  73. data/_sass/scss/forms/_range.scss +149 -0
  74. data/_sass/scss/forms/_select.scss +86 -0
  75. data/_sass/scss/forms/_text.scss +179 -0
  76. data/_sass/scss/foundation.scss +133 -0
  77. data/_sass/scss/grid/_classes.scss +176 -0
  78. data/_sass/scss/grid/_column.scss +112 -0
  79. data/_sass/scss/grid/_flex-grid.scss +259 -0
  80. data/_sass/scss/grid/_grid.scss +48 -0
  81. data/_sass/scss/grid/_gutter.scss +82 -0
  82. data/_sass/scss/grid/_layout.scss +76 -0
  83. data/_sass/scss/grid/_position.scss +76 -0
  84. data/_sass/scss/grid/_row.scss +99 -0
  85. data/_sass/scss/grid/_size.scss +24 -0
  86. data/_sass/scss/prototype/_arrow.scss +36 -0
  87. data/_sass/scss/prototype/_border-box.scss +35 -0
  88. data/_sass/scss/prototype/_border-none.scss +35 -0
  89. data/_sass/scss/prototype/_bordered.scss +54 -0
  90. data/_sass/scss/prototype/_box.scss +23 -0
  91. data/_sass/scss/prototype/_display.scss +50 -0
  92. data/_sass/scss/prototype/_font-styling.scss +95 -0
  93. data/_sass/scss/prototype/_list-style-type.scss +95 -0
  94. data/_sass/scss/prototype/_overflow.scss +72 -0
  95. data/_sass/scss/prototype/_position.scss +114 -0
  96. data/_sass/scss/prototype/_prototype.scss +87 -0
  97. data/_sass/scss/prototype/_relation.scss +157 -0
  98. data/_sass/scss/prototype/_rotate.scss +31 -0
  99. data/_sass/scss/prototype/_rounded.scss +54 -0
  100. data/_sass/scss/prototype/_separator.scss +96 -0
  101. data/_sass/scss/prototype/_shadow.scss +43 -0
  102. data/_sass/scss/prototype/_sizing.scss +73 -0
  103. data/_sass/scss/prototype/_spacing.scss +204 -0
  104. data/_sass/scss/prototype/_text-decoration.scss +48 -0
  105. data/_sass/scss/prototype/_text-transformation.scss +48 -0
  106. data/_sass/scss/prototype/_text-utilities.scss +88 -0
  107. data/_sass/scss/settings/_settings.scss +869 -0
  108. data/_sass/scss/typography/_alignment.scss +22 -0
  109. data/_sass/scss/typography/_base.scss +509 -0
  110. data/_sass/scss/typography/_helpers.scss +80 -0
  111. data/_sass/scss/typography/_print.scss +86 -0
  112. data/_sass/scss/typography/_typography.scss +26 -0
  113. data/_sass/scss/util/_breakpoint.scss +348 -0
  114. data/_sass/scss/util/_color.scss +129 -0
  115. data/_sass/scss/util/_direction.scss +31 -0
  116. data/_sass/scss/util/_flex.scss +85 -0
  117. data/_sass/scss/util/_math.scss +72 -0
  118. data/_sass/scss/util/_mixins.scss +313 -0
  119. data/_sass/scss/util/_selector.scss +41 -0
  120. data/_sass/scss/util/_typography.scss +26 -0
  121. data/_sass/scss/util/_unit.scss +152 -0
  122. data/_sass/scss/util/_util.scss +14 -0
  123. data/_sass/scss/util/_value.scss +160 -0
  124. data/_sass/scss/xy-grid/_cell.scss +169 -0
  125. data/_sass/scss/xy-grid/_classes.scss +476 -0
  126. data/_sass/scss/xy-grid/_collapse.scss +74 -0
  127. data/_sass/scss/xy-grid/_frame.scss +85 -0
  128. data/_sass/scss/xy-grid/_grid.scss +35 -0
  129. data/_sass/scss/xy-grid/_gutters.scss +45 -0
  130. data/_sass/scss/xy-grid/_layout.scss +33 -0
  131. data/_sass/scss/xy-grid/_position.scss +28 -0
  132. data/_sass/scss/xy-grid/_xy-grid.scss +51 -0
  133. data/assets/css/main.scss +5 -0
  134. data/assets/css/motion-ui.min.css +1 -0
  135. data/assets/js/foundation.min.js +5 -0
  136. data/assets/js/motion-ui.min.js +1 -0
  137. metadata +235 -0
@@ -0,0 +1,506 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group off-canvas
7
+ ////
8
+
9
+ /// Width map of a left/right off-canvas panel.
10
+ /// @type Map
11
+ $offcanvas-sizes: (
12
+ small: 250px,
13
+ ) !default;
14
+
15
+ /// Height map of a top/bottom off-canvas panel.
16
+ /// @type Map
17
+ $offcanvas-vertical-sizes: (
18
+ small: 250px,
19
+ ) !default;
20
+
21
+ /// Background color of an off-canvas panel.
22
+ /// @type Color
23
+ $offcanvas-background: $light-gray !default;
24
+
25
+ /// Box shadow for the off-canvas overlap panel.
26
+ /// @type Shadow
27
+ $offcanvas-shadow: 0 0 10px rgba($black, 0.7) !default;
28
+
29
+ /// Inner box shadow size for the off-canvas push panel.
30
+ /// @type Number
31
+ $offcanvas-inner-shadow-size: 20px !default;
32
+
33
+ /// Inner box shadow color for the off-canvas push panel.
34
+ /// @type Color
35
+ $offcanvas-inner-shadow-color: rgba($black, 0.25) !default;
36
+
37
+ /// Z-index of an off-canvas content overlay.
38
+ /// @type Number
39
+ $offcanvas-overlay-zindex: 11 !default;
40
+
41
+ /// Z-index of an off-canvas panel with the `push` transition.
42
+ /// @type Number
43
+ $offcanvas-push-zindex: 12 !default;
44
+
45
+ /// Z-index of an off-canvas panel with the `overlap` transition.
46
+ /// @type Number
47
+ $offcanvas-overlap-zindex: 13 !default;
48
+
49
+ /// Z-index of an off-canvas panel using the `reveal-for-*` classes or mixin.
50
+ /// @type Number
51
+ $offcanvas-reveal-zindex: 12 !default;
52
+
53
+ /// Length of the animation on an off-canvas panel.
54
+ /// @type Number
55
+ $offcanvas-transition-length: 0.5s !default;
56
+
57
+ /// Timing function of the animation on an off-canvas panel.
58
+ /// @type Keyword
59
+ $offcanvas-transition-timing: ease !default;
60
+
61
+ /// If `true`, a revealed off-canvas will be fixed-position, and scroll with the screen.
62
+ /// @type Bool
63
+ $offcanvas-fixed-reveal: true !default;
64
+
65
+ /// Background color for the overlay that appears when an off-canvas panel is open.
66
+ /// @type Color
67
+ $offcanvas-exit-background: rgba($white, 0.25) !default;
68
+
69
+ /// CSS class used for the main content area. The off-canvas mixins use this to target the page content.
70
+ $maincontent-class: 'off-canvas-content' !default;
71
+
72
+ /// Adds baseline styles for off-canvas. This CSS is required to make the other pieces work.
73
+ @mixin off-canvas-basics {
74
+
75
+ /// Transform deprecated size settings into map & show warning
76
+ @if variable-exists(offcanvas-size) {
77
+ $offcanvas-sizes: (small: $offcanvas-size, medium: $offcanvas-size) !global;
78
+ @warn '$offcanvas-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-sizes instead';
79
+ }
80
+ @if variable-exists(offcanvas-vertical-size) {
81
+ $offcanvas-vertical-sizes: (small: $offcanvas-vertical-size, medium: $offcanvas-vertical-size) !global;
82
+ @warn '$offcanvas-vertical-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-vertical-sizes instead';
83
+ }
84
+
85
+ // Checks the z-indexes and increase them due to backwards compatibility.
86
+ // This is necessary because the overlay's z-index is new since v6.4 and may be identical to the user custom settings of the push z-index.
87
+ @if $offcanvas-push-zindex <= $offcanvas-overlay-zindex { $offcanvas-push-zindex: $offcanvas-overlay-zindex + 1 !global; }
88
+ @if $offcanvas-overlap-zindex <= $offcanvas-push-zindex { $offcanvas-overlap-zindex: $offcanvas-push-zindex + 1 !global; }
89
+ @if $offcanvas-reveal-zindex <= $offcanvas-overlay-zindex { $offcanvas-reveal-zindex: $offcanvas-overlay-zindex + 1 !global; }
90
+
91
+ // Hides overflow on body when an off-canvas panel is open.
92
+ .is-off-canvas-open {
93
+ overflow: hidden;
94
+ }
95
+
96
+ // Off-canvas overlay (generated by JavaScript)
97
+ .js-off-canvas-overlay {
98
+ position: absolute;
99
+ top: 0;
100
+ left: 0;
101
+ z-index: $offcanvas-overlay-zindex;
102
+
103
+ width: 100%;
104
+ height: 100%;
105
+
106
+ transition: opacity $offcanvas-transition-length $offcanvas-transition-timing, visibility $offcanvas-transition-length $offcanvas-transition-timing;
107
+
108
+ background: $offcanvas-exit-background;
109
+
110
+ opacity: 0;
111
+ visibility: hidden;
112
+
113
+ overflow: hidden;
114
+
115
+ &.is-visible {
116
+ opacity: 1;
117
+ visibility: visible;
118
+ }
119
+
120
+ &.is-closable {
121
+ cursor: pointer;
122
+ }
123
+
124
+ &.is-overlay-absolute {
125
+ position: absolute;
126
+ }
127
+
128
+ &.is-overlay-fixed {
129
+ position: fixed;
130
+ }
131
+ }
132
+ }
133
+
134
+ // Adds basic styles for an off-canvas wrapper.
135
+ @mixin off-canvas-wrapper() {
136
+ position: relative;
137
+ overflow: hidden;
138
+ }
139
+
140
+ /// Adds basic styles for an off-canvas panel.
141
+ @mixin off-canvas-base(
142
+ $background: $offcanvas-background,
143
+ $transition: $offcanvas-transition-length $offcanvas-transition-timing,
144
+ $fixed: true
145
+ ) {
146
+ @include disable-mouse-outline;
147
+
148
+ @if $fixed == true {
149
+ position: fixed;
150
+ }
151
+ @else {
152
+ position: absolute;
153
+ }
154
+
155
+ // Set the off-canvas z-index.
156
+ z-index: $offcanvas-push-zindex;
157
+
158
+ // Increase CSS specificity
159
+ &.is-transition-push {
160
+ z-index: $offcanvas-push-zindex;
161
+ }
162
+
163
+ transition: transform $transition;
164
+ backface-visibility: hidden;
165
+
166
+ background: $background;
167
+
168
+ // Hide inactive off-canvas within the content that have the same position
169
+ &.is-closed {
170
+ visibility: hidden;
171
+ }
172
+
173
+ // Overlap only styles.
174
+ &.is-transition-overlap {
175
+ z-index: $offcanvas-overlap-zindex;
176
+
177
+ &.is-open {
178
+ box-shadow: $offcanvas-shadow;
179
+ }
180
+ }
181
+
182
+ // Sets transform to 0 to show an off-canvas panel.
183
+ &.is-open {
184
+ transform: translate(0, 0);
185
+ }
186
+ }
187
+
188
+ /// Adds styles to position an off-canvas panel to the left/right/top/bottom.
189
+ @mixin off-canvas-position(
190
+ $position: left,
191
+ $orientation: horizontal,
192
+ $sizes: if($orientation == horizontal, $offcanvas-sizes, $offcanvas-vertical-sizes)
193
+ ) {
194
+ @if $position == left {
195
+ top: 0;
196
+ left: 0;
197
+ height: 100%;
198
+ overflow-y: auto;
199
+
200
+ @each $name, $size in $sizes {
201
+ @include breakpoint($name) {
202
+ width: $size;
203
+ transform: translateX(-$size);
204
+ }
205
+ }
206
+
207
+ // Sets the position for nested off-canvas element
208
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
209
+
210
+ @each $name, $size in $sizes {
211
+ @include breakpoint($name) {
212
+ transform: translateX(-$size);
213
+ }
214
+ }
215
+ &.is-transition-overlap.is-open {
216
+ transform: translate(0, 0);
217
+ }
218
+ }
219
+
220
+ // Sets the open position for the content
221
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
222
+ &.has-transition-push {
223
+ @each $name, $size in $sizes {
224
+ @include breakpoint($name) {
225
+ transform: translateX($size);
226
+ }
227
+ }
228
+ }
229
+ }
230
+ }
231
+ @else if $position == right {
232
+ top: 0;
233
+ right: 0;
234
+ height: 100%;
235
+ overflow-y: auto;
236
+
237
+ @each $name, $size in $sizes {
238
+ @include breakpoint($name) {
239
+ width: $size;
240
+ transform: translateX($size);
241
+ }
242
+ }
243
+
244
+ // Sets the position for nested off-canvas element
245
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
246
+
247
+ @each $name, $size in $sizes {
248
+ @include breakpoint($name) {
249
+ transform: translateX($size);
250
+ }
251
+ }
252
+ &.is-transition-overlap.is-open {
253
+ transform: translate(0, 0);
254
+ }
255
+ }
256
+
257
+ // Sets the open position for the content
258
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
259
+ &.has-transition-push {
260
+ @each $name, $size in $sizes {
261
+ @include breakpoint($name) {
262
+ transform: translateX(-$size);
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ @else if $position == top {
269
+ top: 0;
270
+ left: 0;
271
+ width: 100%;
272
+ overflow-x: auto;
273
+
274
+ @each $name, $size in $sizes {
275
+ @include breakpoint($name) {
276
+ height: $size;
277
+ transform: translateY(-$size);
278
+ }
279
+ }
280
+
281
+ // Sets the position for nested off-canvas element
282
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
283
+ @each $name, $size in $sizes {
284
+ @include breakpoint($name) {
285
+ transform: translateY(-$size);
286
+ }
287
+ }
288
+ &.is-transition-overlap.is-open {
289
+ transform: translate(0, 0);
290
+ }
291
+ }
292
+
293
+ // Sets the open position for the content
294
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
295
+ &.has-transition-push {
296
+ @each $name, $size in $sizes {
297
+ @include breakpoint($name) {
298
+ transform: translateY($size);
299
+ }
300
+ }
301
+ }
302
+ }
303
+ }
304
+ @else if $position == bottom {
305
+ bottom: 0;
306
+ left: 0;
307
+ width: 100%;
308
+ overflow-x: auto;
309
+
310
+ @each $name, $size in $sizes {
311
+ @include breakpoint($name) {
312
+ height: $size;
313
+ transform: translateY($size);
314
+ }
315
+ }
316
+
317
+ // Sets the position for nested off-canvas element
318
+ @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {
319
+ @each $name, $size in $sizes {
320
+ @include breakpoint($name) {
321
+ transform: translateY($size);
322
+ }
323
+ }
324
+ &.is-transition-overlap.is-open {
325
+ transform: translate(0, 0);
326
+ }
327
+ }
328
+
329
+ // Sets the open position for the content
330
+ @at-root .#{$maincontent-class}.is-open-#{$position} {
331
+ &.has-transition-push {
332
+ @each $name, $size in $sizes {
333
+ @include breakpoint($name) {
334
+ transform: translateY(-$size);
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+
341
+ // If $offcanvas-inner-shadow-size is set, add inner box-shadow.
342
+ // This mimics the off-canvas panel having a lower z-index, without having to have one.
343
+ @if $offcanvas-inner-shadow-size {
344
+ &.is-transition-push {
345
+ @if $position == left {
346
+ @include inner-side-shadow(right, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
347
+ }
348
+ @else if $position == right {
349
+ @include inner-side-shadow(left, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
350
+ }
351
+ @else if $position == top {
352
+ @include inner-side-shadow(bottom, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
353
+ }
354
+ @else if $position == bottom {
355
+ @include inner-side-shadow(top, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);
356
+ }
357
+ }
358
+ }
359
+
360
+ }
361
+
362
+ /// Sets the styles for the content container.
363
+ @mixin off-canvas-content() {
364
+ transform: none;
365
+ transition: transform $offcanvas-transition-length $offcanvas-transition-timing;
366
+ backface-visibility: hidden;
367
+
368
+ // Transform scope until the element is closed (makes sure transitionend gets triggered)
369
+ &.has-transition-push {
370
+ transform: translate(0, 0);
371
+ }
372
+
373
+ // Consider element & content, nested in another content
374
+ .off-canvas.is-open {
375
+ transform: translate(0, 0);
376
+ }
377
+ }
378
+
379
+ /// Adds styles that reveal an off-canvas panel.
380
+ @mixin off-canvas-reveal(
381
+ $position: left,
382
+ $zindex: $offcanvas-reveal-zindex,
383
+ $content: $maincontent-class,
384
+ $breakpoint: small
385
+ ) {
386
+ transform: none;
387
+ z-index: $zindex;
388
+ transition: none;
389
+ visibility: visible;
390
+
391
+ @if not $offcanvas-fixed-reveal {
392
+ position: absolute;
393
+ }
394
+
395
+ .close-button {
396
+ display: none;
397
+ }
398
+
399
+ // Consider revealed element is nested in content
400
+ .#{$maincontent-class} & {
401
+ transform: none;
402
+ }
403
+
404
+ @at-root .#{$content}.has-reveal-#{$position} {
405
+ margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);
406
+ }
407
+
408
+ // backwards compatibility (prior to v6.4)
409
+ & ~ .#{$content} {
410
+ margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);
411
+ }
412
+ }
413
+
414
+ /// Overrides the off-canvas styles
415
+ @mixin in-canvas() {
416
+ visibility: visible;
417
+ height: auto;
418
+ position: static;
419
+ background: inherit;
420
+ width: inherit;
421
+ overflow: inherit;
422
+ transition: inherit;
423
+
424
+ // Increase CSS specificity
425
+ &.position-left,
426
+ &.position-right,
427
+ &.position-top,
428
+ &.position-bottom {
429
+ box-shadow: none;
430
+ transform: none;
431
+ }
432
+
433
+ .close-button {
434
+ display: none;
435
+ }
436
+ }
437
+
438
+ @mixin foundation-off-canvas {
439
+ @include off-canvas-basics;
440
+
441
+ // Off-canvas wrapper
442
+ .off-canvas-wrapper {
443
+ @include off-canvas-wrapper;
444
+ }
445
+
446
+ // Off-canvas container
447
+ .off-canvas {
448
+ @include off-canvas-base;
449
+
450
+ // Force position absolute for nested off-canvas because fixed doesn't work for push transition within the transform scope.
451
+ @at-root .#{$maincontent-class} & {
452
+ // NOTE: since overlap transition is currently forced if nested, there's no need to force position absolute until nested push transition is supported.
453
+ // position: absolute;
454
+ }
455
+ }
456
+
457
+ // Off-canvas container with absolute position
458
+ .off-canvas-absolute {
459
+ @include off-canvas-base($fixed: false);
460
+ }
461
+
462
+ // Off-canvas position classes
463
+ .position-left { @include off-canvas-position(left, horizontal); }
464
+ .position-right { @include off-canvas-position(right, horizontal); }
465
+ .position-top { @include off-canvas-position(top, vertical); }
466
+ .position-bottom { @include off-canvas-position(bottom, vertical); }
467
+
468
+ .off-canvas-content {
469
+ @include off-canvas-content;
470
+ }
471
+
472
+ // Reveal off-canvas panel on larger screens
473
+ @each $name, $value in $breakpoint-classes {
474
+ @if $name != $-zf-zero-breakpoint {
475
+ @include breakpoint($name) {
476
+ .position-left.reveal-for-#{$name} {
477
+ @include off-canvas-reveal(left, $offcanvas-reveal-zindex, $maincontent-class, $name);
478
+ }
479
+
480
+ .position-right.reveal-for-#{$name} {
481
+ @include off-canvas-reveal(right, $offcanvas-reveal-zindex, $maincontent-class, $name);
482
+ }
483
+
484
+ .position-top.reveal-for-#{$name} {
485
+ @include off-canvas-reveal(top, $offcanvas-reveal-zindex, $maincontent-class, $name);
486
+ }
487
+
488
+ .position-bottom.reveal-for-#{$name} {
489
+ @include off-canvas-reveal(bottom, $offcanvas-reveal-zindex, $maincontent-class, $name);
490
+ }
491
+ }
492
+ }
493
+ }
494
+
495
+ // Move in-canvas for larger screens
496
+ @each $name, $value in $breakpoint-classes {
497
+ @if $name != $-zf-zero-breakpoint {
498
+ @include breakpoint($name) {
499
+ .off-canvas.in-canvas-for-#{$name} {
500
+ @include in-canvas;
501
+ }
502
+ }
503
+ }
504
+ }
505
+ }
506
+
@@ -0,0 +1,196 @@
1
+ // Foundation for Sites by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group orbit
7
+ ////
8
+
9
+ /// Default color for Orbit's bullets.
10
+ /// @type Color
11
+ $orbit-bullet-background: $medium-gray !default;
12
+
13
+ /// Default active color for Orbit's bullets.
14
+ /// @type Color
15
+ $orbit-bullet-background-active: $dark-gray !default;
16
+
17
+ /// Default diameter for Orbit's bullets.
18
+ /// @type Number
19
+ $orbit-bullet-diameter: 1.2rem !default;
20
+
21
+ /// Default margin between Orbit's bullets.
22
+ /// @type Number
23
+ $orbit-bullet-margin: 0.1rem !default;
24
+
25
+ /// Default distance from slide region for Orbit's bullets.
26
+ /// @type Number
27
+ $orbit-bullet-margin-top: 0.8rem !default;
28
+
29
+ /// Default bottom margin from Orbit's bullets to whatever content may lurk below it.
30
+ /// @type Number
31
+ $orbit-bullet-margin-bottom: 0.8rem !default;
32
+
33
+ /// Default background color for Orbit's caption.
34
+ /// @type Color
35
+ $orbit-caption-background: rgba($black, 0.5) !default;
36
+
37
+ /// Default padding for Orbit's caption.
38
+ /// @type Number
39
+ $orbit-caption-padding: 1rem !default;
40
+
41
+ /// Default background color for Orbit's controls when hovered.
42
+ /// @type Color
43
+ $orbit-control-background-hover: rgba($black, 0.5) !default;
44
+
45
+ /// Default padding for Orbit's controls.
46
+ /// @type Number
47
+ $orbit-control-padding: 1rem !default;
48
+
49
+ /// Default z-index for Orbit's controls.
50
+ /// @type Number
51
+ $orbit-control-zindex: 10 !default;
52
+
53
+ /// Adds styles for the outer Orbit wrapper. These styles are used on the `.orbit` class.
54
+ @mixin orbit-wrapper {
55
+ position: relative;
56
+ }
57
+
58
+ /// Adds styles for the inner Orbit slide container. These styles are used on the `.orbit-container` class.
59
+ @mixin orbit-container {
60
+ position: relative;
61
+ height: 0; // Prevent FOUC by not showing until JS sets height
62
+ margin: 0;
63
+ list-style: none;
64
+ overflow: hidden;
65
+ }
66
+
67
+ /// Adds styles for the individual slides of an Orbit slider. These styles are used on the `.orbit-slide` class.
68
+ @mixin orbit-slide {
69
+ width: 100%;
70
+
71
+ &.no-motionui {
72
+ &.is-active {
73
+ top: 0;
74
+ left: 0;
75
+ }
76
+ }
77
+ }
78
+
79
+ @mixin orbit-figure {
80
+ margin: 0;
81
+ }
82
+
83
+ /// Adds styles for a slide containing an image. These styles are used on the `.orbit-image` class.
84
+ @mixin orbit-image {
85
+ width: 100%;
86
+ max-width: 100%;
87
+ margin: 0;
88
+ }
89
+
90
+ /// Adds styles for an orbit slide caption. These styles are used on the `.orbit-caption` class.
91
+ @mixin orbit-caption {
92
+ position: absolute;
93
+ bottom: 0;
94
+ width: 100%;
95
+ margin-bottom: 0;
96
+ padding: $orbit-caption-padding;
97
+
98
+ background-color: $orbit-caption-background;
99
+ color: color-pick-contrast($orbit-caption-background);
100
+ }
101
+
102
+ /// Adds base styles for the next/previous buttons in an Orbit slider. These styles are shared between the `.orbit-next` and `.orbit-previous` classes in the default CSS.
103
+ @mixin orbit-control {
104
+ @include disable-mouse-outline;
105
+ @include vertical-center;
106
+ z-index: $orbit-control-zindex;
107
+ padding: $orbit-control-padding;
108
+ color: $white;
109
+
110
+ &:hover,
111
+ &:active,
112
+ &:focus {
113
+ background-color: $orbit-control-background-hover;
114
+ }
115
+ }
116
+
117
+ /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-previous` class.
118
+ @mixin orbit-previous {
119
+ #{$global-left}: 0;
120
+ }
121
+
122
+ /// Adds styles for the Orbit next button. These styles are used on the `.orbit-next` class.
123
+ @mixin orbit-next {
124
+ #{$global-left}: auto;
125
+ #{$global-right}: 0;
126
+ }
127
+
128
+ /// Adds styles for a container of Orbit bullets. /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-bullets` class.
129
+ @mixin orbit-bullets {
130
+ @include disable-mouse-outline;
131
+ position: relative;
132
+ margin-top: $orbit-bullet-margin-top;
133
+ margin-bottom: $orbit-bullet-margin-bottom;
134
+ text-align: center;
135
+
136
+ button {
137
+ width: $orbit-bullet-diameter;
138
+ height: $orbit-bullet-diameter;
139
+ margin: $orbit-bullet-margin;
140
+
141
+ border-radius: 50%;
142
+ background-color: $orbit-bullet-background;
143
+
144
+ &:hover {
145
+ background-color: $orbit-bullet-background-active;
146
+ }
147
+
148
+ &.is-active {
149
+ background-color: $orbit-bullet-background-active;
150
+ }
151
+ }
152
+ }
153
+
154
+ @mixin foundation-orbit {
155
+ .orbit {
156
+ @include orbit-wrapper;
157
+ }
158
+
159
+ .orbit-container {
160
+ @include orbit-container;
161
+ }
162
+
163
+ .orbit-slide {
164
+ @include orbit-slide;
165
+ }
166
+
167
+ .orbit-figure {
168
+ @include orbit-figure;
169
+ }
170
+
171
+ .orbit-image {
172
+ @include orbit-image;
173
+ }
174
+
175
+ .orbit-caption {
176
+ @include orbit-caption;
177
+ }
178
+
179
+ %orbit-control {
180
+ @include orbit-control;
181
+ }
182
+
183
+ .orbit-previous {
184
+ @extend %orbit-control;
185
+ @include orbit-previous;
186
+ }
187
+
188
+ .orbit-next {
189
+ @extend %orbit-control;
190
+ @include orbit-next;
191
+ }
192
+
193
+ .orbit-bullets {
194
+ @include orbit-bullets;
195
+ }
196
+ }