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.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +48 -0
- data/_includes/google-analytics.html +8 -0
- data/_includes/head.html +17 -0
- data/_includes/scripts.html +4 -0
- data/_layouts/default.html +16 -0
- data/_layouts/home.html +5 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post.html +5 -0
- data/_sass/_vendor/normalize-scss/sass/_normalize.scss +3 -0
- data/_sass/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
- data/_sass/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
- data/_sass/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
- data/_sass/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
- data/_sass/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -0
- data/_sass/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
- data/_sass/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
- data/_sass/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
- data/_sass/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
- data/_sass/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
- data/_sass/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
- data/_sass/assets/foundation-float.scss +5 -0
- data/_sass/assets/foundation-prototype.scss +3 -0
- data/_sass/assets/foundation-rtl.scss +5 -0
- data/_sass/assets/foundation.scss +3 -0
- data/_sass/jekyll-theme-foundation.scss +5 -0
- data/_sass/scss/_global.scss +249 -0
- data/_sass/scss/components/_accordion-menu.scss +171 -0
- data/_sass/scss/components/_accordion.scss +155 -0
- data/_sass/scss/components/_badge.scss +63 -0
- data/_sass/scss/components/_breadcrumbs.scss +117 -0
- data/_sass/scss/components/_button-group.scss +253 -0
- data/_sass/scss/components/_button.scss +385 -0
- data/_sass/scss/components/_callout.scss +106 -0
- data/_sass/scss/components/_card.scss +129 -0
- data/_sass/scss/components/_close-button.scss +102 -0
- data/_sass/scss/components/_drilldown.scss +142 -0
- data/_sass/scss/components/_dropdown-menu.scss +274 -0
- data/_sass/scss/components/_dropdown.scss +79 -0
- data/_sass/scss/components/_flex-video.scss +1 -0
- data/_sass/scss/components/_flex.scss +117 -0
- data/_sass/scss/components/_float.scss +27 -0
- data/_sass/scss/components/_label.scss +64 -0
- data/_sass/scss/components/_media-object.scss +114 -0
- data/_sass/scss/components/_menu-icon.scss +9 -0
- data/_sass/scss/components/_menu.scss +495 -0
- data/_sass/scss/components/_off-canvas.scss +506 -0
- data/_sass/scss/components/_orbit.scss +196 -0
- data/_sass/scss/components/_pagination.scss +193 -0
- data/_sass/scss/components/_progress-bar.scss +64 -0
- data/_sass/scss/components/_responsive-embed.scss +70 -0
- data/_sass/scss/components/_reveal.scss +180 -0
- data/_sass/scss/components/_slider.scss +137 -0
- data/_sass/scss/components/_sticky.scss +39 -0
- data/_sass/scss/components/_switch.scss +247 -0
- data/_sass/scss/components/_table.scss +330 -0
- data/_sass/scss/components/_tabs.scss +196 -0
- data/_sass/scss/components/_thumbnail.scss +67 -0
- data/_sass/scss/components/_title-bar.scss +84 -0
- data/_sass/scss/components/_tooltip.scss +160 -0
- data/_sass/scss/components/_top-bar.scss +175 -0
- data/_sass/scss/components/_visibility.scss +132 -0
- data/_sass/scss/forms/_checkbox.scss +41 -0
- data/_sass/scss/forms/_error.scss +88 -0
- data/_sass/scss/forms/_fieldset.scss +53 -0
- data/_sass/scss/forms/_forms.scss +34 -0
- data/_sass/scss/forms/_help-text.scss +30 -0
- data/_sass/scss/forms/_input-group.scss +142 -0
- data/_sass/scss/forms/_label.scss +50 -0
- data/_sass/scss/forms/_meter.scss +116 -0
- data/_sass/scss/forms/_progress.scss +94 -0
- data/_sass/scss/forms/_range.scss +149 -0
- data/_sass/scss/forms/_select.scss +86 -0
- data/_sass/scss/forms/_text.scss +179 -0
- data/_sass/scss/foundation.scss +133 -0
- data/_sass/scss/grid/_classes.scss +176 -0
- data/_sass/scss/grid/_column.scss +112 -0
- data/_sass/scss/grid/_flex-grid.scss +259 -0
- data/_sass/scss/grid/_grid.scss +48 -0
- data/_sass/scss/grid/_gutter.scss +82 -0
- data/_sass/scss/grid/_layout.scss +76 -0
- data/_sass/scss/grid/_position.scss +76 -0
- data/_sass/scss/grid/_row.scss +99 -0
- data/_sass/scss/grid/_size.scss +24 -0
- data/_sass/scss/prototype/_arrow.scss +36 -0
- data/_sass/scss/prototype/_border-box.scss +35 -0
- data/_sass/scss/prototype/_border-none.scss +35 -0
- data/_sass/scss/prototype/_bordered.scss +54 -0
- data/_sass/scss/prototype/_box.scss +23 -0
- data/_sass/scss/prototype/_display.scss +50 -0
- data/_sass/scss/prototype/_font-styling.scss +95 -0
- data/_sass/scss/prototype/_list-style-type.scss +95 -0
- data/_sass/scss/prototype/_overflow.scss +72 -0
- data/_sass/scss/prototype/_position.scss +114 -0
- data/_sass/scss/prototype/_prototype.scss +87 -0
- data/_sass/scss/prototype/_relation.scss +157 -0
- data/_sass/scss/prototype/_rotate.scss +31 -0
- data/_sass/scss/prototype/_rounded.scss +54 -0
- data/_sass/scss/prototype/_separator.scss +96 -0
- data/_sass/scss/prototype/_shadow.scss +43 -0
- data/_sass/scss/prototype/_sizing.scss +73 -0
- data/_sass/scss/prototype/_spacing.scss +204 -0
- data/_sass/scss/prototype/_text-decoration.scss +48 -0
- data/_sass/scss/prototype/_text-transformation.scss +48 -0
- data/_sass/scss/prototype/_text-utilities.scss +88 -0
- data/_sass/scss/settings/_settings.scss +869 -0
- data/_sass/scss/typography/_alignment.scss +22 -0
- data/_sass/scss/typography/_base.scss +509 -0
- data/_sass/scss/typography/_helpers.scss +80 -0
- data/_sass/scss/typography/_print.scss +86 -0
- data/_sass/scss/typography/_typography.scss +26 -0
- data/_sass/scss/util/_breakpoint.scss +348 -0
- data/_sass/scss/util/_color.scss +129 -0
- data/_sass/scss/util/_direction.scss +31 -0
- data/_sass/scss/util/_flex.scss +85 -0
- data/_sass/scss/util/_math.scss +72 -0
- data/_sass/scss/util/_mixins.scss +313 -0
- data/_sass/scss/util/_selector.scss +41 -0
- data/_sass/scss/util/_typography.scss +26 -0
- data/_sass/scss/util/_unit.scss +152 -0
- data/_sass/scss/util/_util.scss +14 -0
- data/_sass/scss/util/_value.scss +160 -0
- data/_sass/scss/xy-grid/_cell.scss +169 -0
- data/_sass/scss/xy-grid/_classes.scss +476 -0
- data/_sass/scss/xy-grid/_collapse.scss +74 -0
- data/_sass/scss/xy-grid/_frame.scss +85 -0
- data/_sass/scss/xy-grid/_grid.scss +35 -0
- data/_sass/scss/xy-grid/_gutters.scss +45 -0
- data/_sass/scss/xy-grid/_layout.scss +33 -0
- data/_sass/scss/xy-grid/_position.scss +28 -0
- data/_sass/scss/xy-grid/_xy-grid.scss +51 -0
- data/assets/css/main.scss +5 -0
- data/assets/css/motion-ui.min.css +1 -0
- data/assets/js/foundation.min.js +5 -0
- data/assets/js/motion-ui.min.js +1 -0
- 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
|
+
}
|