zurb-foundation 3.2.2 → 3.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -61,6 +61,8 @@ MODX
61
61
 
62
62
  * [NuGet Package for ASP.Net MVC](http://www.nuget.org/packages/Foundation3_MVC4) by Edward Charbeneau, @EdCharbeneau
63
63
 
64
+ Python
65
+ * [Pyramid Scaffold](https://github.com/ppinette/pyramid_foundation) by Parker Pinette
64
66
 
65
67
  CodeIgniter
66
68
 
@@ -1,3 +1,3 @@
1
1
  module Foundation
2
- VERSION = "3.2.2"
2
+ VERSION = "3.2.3"
3
3
  end
@@ -31,7 +31,7 @@
31
31
 
32
32
  &.oversize { font-size: ms(1); padding: (($formSpacing - 4) / 2) ($formSpacing / 2); }
33
33
 
34
- &:focus { background: $inputFocusBgColor; outline: none !important; border-color: $inputFocusBorderColor; }
34
+ &:focus { background: $inputFocusBgColor; border-color: $inputFocusBorderColor; }
35
35
  &[disabled] { background-color: #ddd; }
36
36
  }
37
37
 
@@ -11,7 +11,7 @@
11
11
  a img { border:none; }
12
12
  a { color: $mainColor; text-decoration: none; line-height: inherit; }
13
13
  a:hover { color: darken($mainColor, 5%); }
14
- a:focus { color: $mainColor; outline: none; }
14
+ a:focus { color: darken($mainColor, 5%); }
15
15
  p a, p a:visited { line-height: inherit; }
16
16
 
17
17
  /* Misc ---------------------- */
@@ -21,7 +21,8 @@
21
21
  .text-left { text-align: left; }
22
22
  .text-right { text-align: right; }
23
23
  .text-center { text-align: center; }
24
- .hide { display: none !important; }
24
+ .hide { display: none; }
25
+ .hide-override { display: none !important; }
25
26
  .highlight { background: $highlightColor; }
26
27
 
27
28
  #googlemap img, object, embed { max-width: none; }
@@ -1,11 +1,10 @@
1
1
  /* Normal Buttons ---------------------- */
2
2
 
3
- .button { width: auto; background: $mainColor; border: 1px solid darken(($mainColor), 15%); @include box-shadow(0 1px 0 $shinyEdge inset); color: $white; cursor: pointer; display: inline-block; font-family: inherit; font-size: ms(0); font-weight: bold; line-height: 1; margin: 0; outline: none; padding: $btnBase ($btnBase * 2) ($btnBase + 1); position: relative; text-align: center; text-decoration: none; @include single-transition(background-color, .15s, ease-in-out);
3
+ .button { width: auto; background: $mainColor; border: 1px solid darken(($mainColor), 15%); @include box-shadow(0 1px 0 $shinyEdge inset); color: $white; cursor: pointer; display: inline-block; font-family: inherit; font-size: ms(0); font-weight: bold; line-height: 1; margin: 0; padding: $btnBase ($btnBase * 2) ($btnBase + 1); position: relative; text-align: center; text-decoration: none; @include single-transition(background-color, .15s, ease-in-out);
4
4
 
5
5
  /* Hovers */
6
- &:hover { color: $white; background-color: darken(($mainColor), 10%); }
6
+ &:hover, &:focus { color: $white; background-color: darken(($mainColor), 10%); }
7
7
  &:active { @include box-shadow(0 1px 0 $darkEdge inset); }
8
- &:focus { @include box-shadow(0 0 4px opacify($mainColor, 0.3), 0 1px 0 $shinyEdge inset); color: $white; }
9
8
 
10
9
  /* Sizes */
11
10
  &.large { font-size: ms(1); padding: ($largeBtnBase) ($largeBtnBase * 2) ($largeBtnBase + 1); }
@@ -16,20 +15,16 @@
16
15
 
17
16
  /* Colors */
18
17
  &.primary { background-color: $mainColor; border: 1px solid darken(($mainColor), 15%);
19
- &:hover { background-color: darken(($mainColor), 10%); }
20
- &:focus { @include box-shadow(0 0 4px opacify($mainColor, 0.3), 0 1px 0 $shinyEdge inset); }
18
+ &:hover, &:focus { background-color: darken(($mainColor), 10%); }
21
19
  }
22
20
  &.success { background-color: $successColor; border: 1px solid darken(($successColor), 15%);
23
- &:hover { background-color: darken(($successColor), 10%); }
24
- &:focus { @include box-shadow(0 0 5px opacify($successColor, 0.4), 0 1px 0 $shinyEdge inset); }
21
+ &:hover, &:focus { background-color: darken(($successColor), 10%); }
25
22
  }
26
23
  &.alert { background-color: $alertColor; border: 1px solid darken(($alertColor), 15%);
27
- &:hover { background-color: darken(($alertColor), 10%); }
28
- &:focus { @include box-shadow(0 0 4px opacify($alertColor, 0.3), 0 1px 0 $shinyEdge inset); }
24
+ &:hover, &:focus { background-color: darken(($alertColor), 10%); }
29
25
  }
30
26
  &.secondary { background-color: $secondaryColor; color: darken(($secondaryColor), 80%); border: 1px solid darken(($secondaryColor), 15%);
31
- &:hover { background-color: darken(($secondaryColor), 10%); }
32
- &:focus { @include box-shadow(0 0 5px opacify($secondaryColor, 0.5), 0 1px 0 $shinyEdge inset); }
27
+ &:hover, &:focus { background-color: darken(($secondaryColor), 10%); }
33
28
  }
34
29
 
35
30
  /* Radii */
@@ -45,13 +40,13 @@
45
40
  :hover { background: $mainColor; }
46
41
 
47
42
  &.success { background-color: $successColor;
48
- &:hover { background-color: $successColor; }
43
+ &:hover, &:focus { background-color: $successColor; outline: none; }
49
44
  }
50
45
  &.alert { background-color: $alertColor;
51
- &:hover { background-color: $alertColor; }
46
+ &:hover, &:focus { background-color: $alertColor; outline: none; }
52
47
  }
53
48
  &.secondary { background-color: $secondaryColor;
54
- &:hover { background-color: $secondaryColor; }
49
+ &:hover, &:focus { background-color: $secondaryColor; outline: none; }
55
50
  }
56
51
  }
57
52
  }
@@ -88,7 +83,7 @@
88
83
 
89
84
  li { width: 100%; cursor: pointer; padding: 0; min-height: 18px; line-height: 18px; margin: 0; white-space: nowrap; list-style: none;
90
85
  a { display: block; color: #555; font-size: ms(0) - 1; font-weight: $bodyFontWeight; padding: 6px 14px; text-align: $defaultFloat; }
91
- &:hover { background-color: lighten($mainColor, 45%); color: #222; }
86
+ &:hover, &:focus { background-color: lighten($mainColor, 45%); color: #222; }
92
87
  &.divider { min-height: 0; padding: 0; height: 1px; margin: 4px 0; background: darken($white, 7%); }
93
88
  }
94
89
  }
@@ -106,14 +101,14 @@
106
101
  &.split { padding: 0; position: relative;
107
102
 
108
103
  &:after { display: none; }
109
- &:hover { background-color: $mainColor; }
110
- &.alert:hover { background-color: $alertColor; }
111
- &.success:hover { background-color: $successColor; }
112
- &.secondary:hover { background-color: $secondaryColor; }
104
+ &:hover, &:focus { background-color: $mainColor; }
105
+ &.alert:hover, &.alert:focus { background-color: $alertColor; }
106
+ &.success:hover, &.success:focus { background-color: $successColor; }
107
+ &.secondary:hover, &.secondary:focus { background-color: $secondaryColor; }
113
108
 
114
109
  /* Sizes */
115
110
  &>a { color: $white; display: block; padding: $btnBase (($btnBase * 2.5) * 2) ($btnBase + 1) ($btnBase * 2); padding-#{$defaultFloat}: $btnBase * 2; padding-#{$defaultOpposite}: ($btnBase * 2.5) * 2; @include single-transition(background-color, .15s, ease-in-out);
116
- &:hover { background-color: darken($mainColor, 10%); }
111
+ &:hover, &:focus { background-color: darken($mainColor, 10%); }
117
112
  }
118
113
  &.large>a { padding: $largeBtnBase (($largeBtnBase * 2.5) * 2) ($largeBtnBase + 1) ($largeBtnBase * 2); padding-#{$defaultFloat}: $largeBtnBase * 2; padding-#{$defaultOpposite}: ($largeBtnBase * 2.5) * 2; }
119
114
  &.small>a { padding: $smallBtnBase (($smallBtnBase * 2.5) * 2) ($smallBtnBase + 1) ($smallBtnBase * 2); padding-#{$defaultFloat}: $smallBtnBase * 2; padding-#{$defaultOpposite}: ($smallBtnBase * 2.5) * 2; }
@@ -121,7 +116,7 @@
121
116
 
122
117
  /* Triangle Spans */
123
118
  &>span { background-color: $mainColor; position: absolute; #{$defaultOpposite}: 0; top: 0; height: 100%; width: $btnBase * 3; border-#{$defaultFloat}: 1px solid darken($mainColor, 15%); @include box-shadow(1px 1px 0 $shinyEdge inset); @include single-transition(background-color, .15s, ease-in-out);
124
- &:hover { background-color: darken($mainColor, 10%); }
119
+ &:hover, &:focus { background-color: darken($mainColor, 10%); }
125
120
  &:after { @include cssTriangle(6px, #fff, top); position: absolute; top: 50%; #{$defaultFloat}: 50%; margin-#{$defaultFloat}: -6px; margin-top: -2px; }
126
121
  }
127
122
  &.secondary>span:after { @include cssTriangle(6px, darken(($secondaryColor), 80%), top); }
@@ -140,9 +135,9 @@
140
135
  &.secondary>span { background-color: $secondaryColor; border-#{$defaultFloat}-color: darken($secondaryColor, 15%); }
141
136
  &.secondary>a { color: darken(($secondaryColor), 80%); }
142
137
 
143
- &.alert>a:hover, &.alert>span:hover { background-color: darken($alertColor, 10%); }
144
- &.success>a:hover, &.success>span:hover { background-color: darken($successColor, 10%); }
145
- &.secondary>a:hover, &.secondary>span:hover { background-color: darken($secondaryColor, 10%); }
138
+ &.alert>a:hover, &.alert>span:hover, &.alert>a:focus, &.alert>span:focus { background-color: darken($alertColor, 10%); }
139
+ &.success>a:hover, &.success>span:hover, &.success>a:focus, &.success>span:focus { background-color: darken($successColor, 10%); }
140
+ &.secondary>a:hover, &.secondary>span:hover, &.secondary>a:focus, &.secondary>span:focus { background-color: darken($secondaryColor, 10%); }
146
141
  }
147
142
  }
148
143
 
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  .clearing-close { z-index: 999; position: absolute; top: 10px; right: 20px; font-size: 30px; line-height: 1; color: $clearingCloseColor; display: none;
16
- &:hover { color: #ccc; }
16
+ &:hover, &:focus { color: #ccc; }
17
17
  }
18
18
  .clearing-main-left, .clearing-main-right { position: absolute; top: 50%; margin-top: -16px; }
19
19
  .clearing-main-left.disabled, .clearing-main-right.disabled { opacity: 0.5; }
@@ -39,4 +39,23 @@ ul[data-clearing] li { cursor: pointer; display: block;
39
39
  &.visible { border-top: $clearingCarouselThumbActiveBorder; }
40
40
  }
41
41
  }
42
- }
42
+ }
43
+
44
+ /* Overrides clear:both; when using block-grid with Clearing. Also overrided .th styling when Clearing is open */
45
+ ul.block-grid[data-clearing] { overflow: visible; }
46
+ .clearing-blackout {
47
+ ul.block-grid[data-clearing] {
48
+ @for $i from 1 through $blockGridElements {
49
+ &.#{convert-number-to-word($i)}-up {
50
+ &>li {
51
+ @if $i > 1 { &:nth-child(#{$i}n+1) { clear: none; } }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ .th img { border: none; @include box-shadow(0 0 0 0 rgba(#000,0)); @include border-radius(0); }
57
+ &:hover, &:focus {
58
+ img { @include box-shadow(0 0 0 0 rgba(0,0,0,0)); }
59
+ }
60
+ }
61
+
@@ -27,7 +27,7 @@
27
27
  .joyride-timer-indicator { display: block; width: 0; height: inherit; background: $tipTimerColor; }
28
28
 
29
29
  .joyride-close-tip { position: absolute; right: 10px; top: 10px; color: $tipCloseColor !important; text-decoration: none; font-size: $tipCloseSize; font-weight: $tipCloseWeight; line-height: .5 !important;
30
- &:hover { color: #eee !important; }
30
+ &:hover, &:focus { color: #eee !important; }
31
31
  }
32
32
 
33
33
  .joyride-modal-bg { position: fixed; height: 100%; width: 100%; background: transparent; background: $tipScreenFill; z-index: 100; display: none; top: 0; left: 0; cursor: pointer; }
@@ -363,7 +363,7 @@
363
363
  &>li { float: none;
364
364
  &.active, &:hover { background: darken($topBarDropBgColor, 5%); }
365
365
  /* Branding and name */
366
- &.name { background: darken($topBarBgColor, 20%); height: $topBarHeightMobile;
366
+ &.name { height: $topBarHeightMobile;
367
367
  h1 { line-height: 1;
368
368
  a { color: $topBarLinkColor; display: block; line-height: $topBarHeightMobile !important; padding-left: $topBarHeightMobile / 3; height: $topBarHeightMobile; }
369
369
  }
@@ -398,7 +398,7 @@
398
398
  &:hover >.dropdown { display: block; visibility: hidden; }
399
399
  .dropdown { visibility: hidden; z-index: 0 !important; }
400
400
  &.moved { position: static;
401
- .dropdown { top: 0; visibility: visible;
401
+ &>.dropdown { top: 0; visibility: visible;
402
402
  li {
403
403
  label { margin-bottom: 6px; padding-top: 6px !important; font-size: ms(0) - 3; }
404
404
  &:not(.title) { padding-bottom: 0;
@@ -64,7 +64,7 @@
64
64
 
65
65
  li { border-#{$defaultFloat}: solid 3px #CCC;
66
66
  a { background: darken($white, 5%); border: 1px solid darken($white, 10%); border-width: 1px 1px 0 0; color: #555; display: block; font-size: ms(0); height: auto; line-height: 1; padding: (($navBarHeight / 2) - 5) ($navBarHeight / 2); @include box-shadow(0 1px 0 $shinyEdge inset);
67
- &:hover { background: darken($white, 8%); color: #333; }
67
+ &:hover, &:focus { background: darken($white, 8%); color: #333; }
68
68
  }
69
69
  &.active { margin-top: 0; border-top: 1px solid lighten($black, 30%); border-#{$defaultFloat}: 4px solid lighten($black, 10%);
70
70
  a { background: lighten($black, 30%); border: none; color: #fff; height: auto; margin: 0; position: static; top: 0; @include box-shadow(0 0 0); }
@@ -32,7 +32,7 @@
32
32
  span.pause { display: block; width: 40px; height: 40px; position: absolute; top: 0; #{$defaultFloat}: 0; background: image-url("foundation/orbit/pause-black.png") no-repeat; z-index: 4; opacity: 0;
33
33
  &.active { background: image-url("foundation/orbit/pause-black.png") no-repeat 0 -40px; }
34
34
  }
35
- div.timer:hover span.pause, span.pause.active { opacity: 1 }
35
+ div.timer:hover span.pause, div.timer:focus span.pause, span.pause.active { opacity: 1 }
36
36
  }
37
37
 
38
38
  /* Captions ---------------------- */
@@ -76,7 +76,7 @@
76
76
 
77
77
  /* Correct timer in IE */
78
78
  .lt-ie9 .timer { display: none !important; }
79
- .lt-ie9 div.caption { background: $orbitCaptionBgColorOldBrowser; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000);zoom: 1; }
79
+ .lt-ie9 div.orbit-caption { background: $orbitCaptionBgColorOldBrowser; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000);zoom: 1; }
80
80
 
81
81
  // Allow slides to be stacked on mobile devices
82
82
  @media only screen and (max-width: $screenSmall - 1) {
@@ -8,7 +8,7 @@
8
8
 
9
9
  .reveal-modal-bg { position: fixed; height: 100%; width: 100%; background: #000; background: rgba(#000, .45); z-index: 40; display: none; top: 0; #{$defaultFloat}: 0; }
10
10
 
11
- .reveal-modal { background: $white; visibility: hidden; display: none; top: 100px; #{$defaultFloat}: 50%; margin-#{$defaultFloat}: -260px; width: 520px; position: absolute; z-index: 41; padding: 30px; @include box-shadow(0 0 10px rgba(#000,.4));
11
+ .reveal-modal { background: #fff; visibility: hidden; display: none; top: 100px; #{$defaultFloat}: 50%; margin-#{$defaultFloat}: -260px; width: 520px; position: absolute; z-index: 41; padding: 30px; @include box-shadow(0 0 10px rgba(#000,.4));
12
12
  .close-reveal-modal {
13
13
  @include font-size(22);
14
14
  line-height: .5;
@@ -29,4 +29,7 @@
29
29
  > :first-child { margin-top: 0; }
30
30
  > :last-child { margin-bottom: 0; }
31
31
  }
32
- @media print { .reveal-modal { border: solid 1px #000; background: rgba(255,255,255,1) !important; } }
32
+ @media print {
33
+ div:not(.reveal-modal) { display: none; }
34
+ .reveal-modal { border: solid 1px #000; background: #fff; }
35
+ }
@@ -22,7 +22,7 @@
22
22
  .fixed { width: 100%; left: 0; position: fixed; top: 0; z-index: 99; }
23
23
 
24
24
  /* <nav> */
25
- .top-bar { background: $topBarBgColor; height: $topBarHeight; line-height: $topBarHeight; margin: 0 0 $topBarBtmMargin; padding: 0; width: 100%;
25
+ .top-bar { background: $topBarBgColor; height: $topBarHeight; line-height: $topBarHeight; margin: 0 0 $topBarBtmMargin; padding: 0; width: 100%; position: relative;
26
26
 
27
27
  /* Contain width to .row width */
28
28
  .contain-to-grid & { max-width: $rowWidth; margin: 0 auto; }
@@ -45,7 +45,7 @@
45
45
  &>li { float: left;
46
46
  a:not(.button) { color: $topBarLinkColor; display: block; font-size: $topBarLinkSize; font-weight: $topBarLinkWeight; height: $topBarHeight; line-height: $topBarHeight; padding: 0 $topBarHeight / 3; }
47
47
  &:not(.name) {
48
- &:hover, &.active { background: darken($topBarBgColor, 15%);
48
+ &:hover, &.active, &:focus { background: darken($topBarBgColor, 15%);
49
49
  a { color: darken($topBarLinkColor, 15%); }
50
50
  }
51
51
  }
@@ -56,7 +56,7 @@
56
56
  /* Put a button in an <li> but give is a class */
57
57
  &.has-button {
58
58
  a.button { margin: 0 $topBarHeight / 4; }
59
- &:hover { background: $topBarBgColor;
59
+ &:hover, &:focus { background: $topBarBgColor;
60
60
  a { color: #fff; }
61
61
  }
62
62
  }
@@ -69,7 +69,7 @@
69
69
  }
70
70
  input[type=search] { font-size: 16px; margin-bottom: 0; }
71
71
  }
72
- &:hover { background: $topBarBgColor; }
72
+ &:hover, &:focus { background: $topBarBgColor; }
73
73
  }
74
74
 
75
75
  /* Hide the triangle for breakpoint menu */
@@ -77,7 +77,7 @@
77
77
 
78
78
  /* li.has-dropdown */
79
79
  &.has-dropdown { position: relative;
80
- &:hover { &>.dropdown { display: block; visibility: visible; } }
80
+ &:hover, &:focus { &>.dropdown { display: block; visibility: visible; } }
81
81
  a { padding-right: $topBarHeight * .75;
82
82
  &:after { @include cssTriangle($topBarDropToggleSize, $topBarDropToggleColor, top); margin-right: $topBarHeight / 3; margin-top: -$topBarDropToggleSize / 2; position: absolute; right: 0; top: 50%; }
83
83
  }
@@ -85,7 +85,7 @@
85
85
  li { background: $topBarDropBgColor; line-height: 1; min-width: 100%; padding-bottom: 5px;
86
86
  a { color: $topBarDropLinkColor; font-weight: normal; height: 100%; line-height: 1; padding: 5px $topBarHeight / 3 + 2 5px $topBarHeight / 3; white-space: nowrap;
87
87
  &:after { border: none; }
88
- &:hover { background: lighten($topBarDropBgColor, 10%); }
88
+ &:hover, &:focus { background: lighten($topBarDropBgColor, 10%); }
89
89
  }
90
90
  label { color: lighten($topBarDropBgColor, 30%); font-size: ms(0) - 4; font-weight: $topBarLinkWeight; margin: 0; padding-left: $topBarHeight / 3; text-transform: uppercase; }
91
91
  &.divider { border-top: solid 1px darken($topBarDropBgColor, 20%); @include box-shadow(0 1px 0 rgba(255,255,255,.10) inset); height: 10px; padding: 0; width: 100%; }
@@ -100,7 +100,7 @@
100
100
  &:after { border: none; content:"\00bb"; right: 5px; top: 6px; }
101
101
  }
102
102
  .dropdown { position: absolute; left: 100%; top: 0; }
103
- &:hover {
103
+ &:hover, &:focus {
104
104
  &>.dropdown { display: block; }
105
105
  }
106
106
  }
@@ -131,7 +131,7 @@
131
131
  /* IE8 Fixes */
132
132
  .lt-ie9 .top-bar ul li a { color: $topBarLinkColor; display: block; font-weight: $topBarLinkWeight; font-size: $topBarLinkSize; height: $topBarHeight; line-height: $topBarHeight; padding: 0 $topBarHeight / 3;
133
133
  &.button { height: auto; line-height: 30px; margin-top: 7px; }
134
- &:hover { color: darken($topBarLinkColor, 20%); }
134
+ &:hover, &:focus { color: darken($topBarLinkColor, 20%); }
135
135
  img { margin-top: -5px; vertical-align: middle; }
136
136
  &.active { background: darken($topBarBgColor, 5%); color: darken($topBarLinkColor, 15%); }
137
137
  }
@@ -53,7 +53,7 @@
53
53
 
54
54
  .has-tip { border-bottom: $hasTipBorderBottom; cursor: help; font-weight: $hasTipFontWeight; color: $hasTipFontColor;
55
55
 
56
- &:hover { border-bottom: $hasTipBorderBottomHover; color: $hasTipFontColorHover; }
56
+ &:hover, &:focus { border-bottom: $hasTipBorderBottomHover; color: $hasTipFontColorHover; }
57
57
  &.tip-left, &.tip-right { float: none !important; }
58
58
 
59
59
  }
@@ -87,7 +87,7 @@
87
87
  a { color: #fff; }
88
88
  .button { background: $white; border: none; color: $mainColor; @include text-shadow(none);
89
89
 
90
- &:hover { background: rgba(255,255,255,0.8); }
90
+ &:hover, &:focus { background: rgba(255,255,255,0.8); }
91
91
  }
92
92
  }
93
93
 
@@ -156,7 +156,7 @@
156
156
  &.unavailable a { cursor: default; color: #999; }
157
157
  &.unavailable:hover a, &.unavailable a:focus { background: transparent; }
158
158
  &.current a { background: $mainColor; color: $white; font-weight: bold; cursor: default;
159
- &:hover { background: $mainColor; }
159
+ &:hover, &:focus { background: $mainColor; }
160
160
  }
161
161
  }
162
162
 
@@ -200,7 +200,7 @@
200
200
  /* Image Thumbnails ---------------------- */
201
201
  .th { display: block;
202
202
  img { display: block; border: solid 4px #fff; @include box-shadow(0 0 0 1px rgba(#000,.2)); @include border-radius($thumbRadius); @include transition-property(box-shadow); @include transition-duration(300ms); }
203
- &:hover {
203
+ &:hover, &:focus {
204
204
  img { @include box-shadow(0 0 6px 1px rgba($mainColor,.5)); }
205
205
  }
206
206
  }
@@ -1,4 +1,4 @@
1
- // You custom settings file to override Foundation defaults
1
+ // Your custom settings file to override Foundation defaults
2
2
  @import "settings";
3
3
 
4
4
  // Comment out this import if you are customizing you imports below
data/test/clearing.html CHANGED
@@ -33,13 +33,22 @@
33
33
 
34
34
  <div class="row">
35
35
  <div class="eight columns">
36
- <div data-magellan-expedition="fixed">
36
+ <div>
37
37
  <h4>Clearing Show</h4>
38
38
  <p>Click on an image to open it.</p>
39
+
40
+ <ul class="block-grid three-up" data-clearing>
41
+ <li><a class="th" href="http://placekitten.com/1000/700"><img src="http://placekitten.com/200/200"></a></li>
42
+ <li><a class="th" href="http://placekitten.com/1000/800"><img src="http://placekitten.com/300/300"></a></li>
43
+ <li><a class="th" href="http://placekitten.com/1000/900"><img src="http://placekitten.com/400/400"></a></li>
44
+ <li><a class="th" href="http://placekitten.com/1000/1000"><img src="http://placekitten.com/500/500"></a></li>
45
+ <li><a class="th" href="http://placekitten.com/1000/1100"><img src="http://placekitten.com/700/700"></a></li>
46
+ <li><a class="th" href="http://placekitten.com/1000/1100"><img src="http://placekitten.com/700/700"></a></li>
47
+ </ul>
39
48
  </div>
40
49
  </div>
41
50
  <div class="four columns">
42
- <h4>Photo Gallery</h4>
51
+ <!-- <h4>Photo Gallery</h4>
43
52
 
44
53
  <ul class="block-grid three-up" data-clearing>
45
54
  <li class="clearing-feature"><a href="http://placekitten.com/g/1000/800"><img data-caption="Maecenas sed diam eget risus varius blandit sit amet non magna." src="http://placekitten.com/g/100/100"></a></li>
@@ -48,7 +57,7 @@
48
57
  <li><img data-caption="Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum." src="http://placekitten.com/g/1200/800"></li>
49
58
  <li><img data-caption="Etiam porta sem malesuada magna mollis euismod." src="http://placekitten.com/g/1200/1000"></li>
50
59
  <li><img data-caption="WDuis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit." src="http://placekitten.com/g/1400/800"></li>
51
- </ul>
60
+ </ul> -->
52
61
  </div>
53
62
  </div>
54
63
  </div>
data/test/reveal.html CHANGED
@@ -33,7 +33,7 @@
33
33
  <h4 class="subheader">Modal dialogs, or pop-up windows, are handy for prototyping and production. Foundation includes Reveal our jQuery modal plugin, to make this easy for you.</h4>
34
34
 
35
35
  <p>
36
- <a href="#" class="radius button">
36
+ <a href="#" data-reveal-id="exampleModal" class="radius button">
37
37
  Example Modal&hellip;
38
38
  </a>
39
39
  </p>
data/test/topbar.html CHANGED
@@ -55,11 +55,30 @@
55
55
  <ul class="dropdown">
56
56
  <li><label>Section Name</label></li>
57
57
  <li class="has-dropdown">
58
- <a href="#" class="">Dropdown Level 1</a>
58
+ <a href="#" class="">Dropdown Level 1a</a>
59
59
  <ul class="dropdown">
60
60
  <li><a href="#">Subdropdown Option</a></li>
61
61
  <li><a href="#">Subdropdown Option</a></li>
62
- <li class="has-dropdown"><a href="#">Dropdown Level 3</a>
62
+ <li class="has-dropdown"><a href="#">Dropdown Level 3a</a>
63
+ <ul class="dropdown">
64
+ <li><label>Section Name</label></li>
65
+ <li><a href="#">Subdropdown Option</a></li>
66
+ <li><a href="#">Subdropdown Option</a></li>
67
+ <li class="divider"></li>
68
+ <li><a href="#">Subdropdown Option</a></li>
69
+ </ul>
70
+ </li>
71
+ <li><a href="#">Subdropdown Option</a></li>
72
+ <li><a href="#">Subdropdown Option</a></li>
73
+ <li><a href="#">Subdropdown Option</a></li>
74
+ </ul>
75
+ </li>
76
+ <li class="has-dropdown">
77
+ <a href="#" class="">Dropdown Level 1b</a>
78
+ <ul class="dropdown">
79
+ <li><a href="#">Subdropdown Option</a></li>
80
+ <li><a href="#">Subdropdown Option</a></li>
81
+ <li class="has-dropdown"><a href="#">Dropdown Level 3b</a>
63
82
  <ul class="dropdown">
64
83
  <li><label>Section Name</label></li>
65
84
  <li><a href="#">Subdropdown Option</a></li>
@@ -7,7 +7,6 @@
7
7
  if ($accordion.hasClass('hover') && !Modernizr.touch) {
8
8
  $('.accordion li', this).on({
9
9
  mouseenter : function () {
10
- console.log('due');
11
10
  var p = $(this).parent(),
12
11
  flyout = $(this).children('.content').first();
13
12
 
@@ -4,16 +4,18 @@
4
4
  $.fn.foundationButtons = function (options) {
5
5
  var $doc = $(document),
6
6
  config = $.extend({
7
- dropdownAsToggle:true,
7
+ dropdownAsToggle:false,
8
8
  activeClass:'active'
9
9
  }, options),
10
10
 
11
11
  // close all dropdowns except for the dropdown passed
12
12
  closeDropdowns = function (dropdown) {
13
+ // alert(dropdown.html());
13
14
  $('.button.dropdown').find('ul').not(dropdown).removeClass('show-dropdown');
14
15
  },
15
16
  // reset all toggle states except for the button passed
16
17
  resetToggles = function (button) {
18
+ // alert(button.html());
17
19
  var buttons = $('.button.dropdown').not(button);
18
20
  buttons.add($('> span.' + config.activeClass, buttons)).removeClass(config.activeClass);
19
21
  };
@@ -37,13 +39,15 @@
37
39
  }
38
40
 
39
41
  // close other dropdowns
40
- closeDropdowns(config.dropdownAsToggle ? dropdown : '');
41
- dropdown.toggleClass('show-dropdown');
42
+ setTimeout(function () {
43
+ closeDropdowns(config.dropdownAsToggle ? dropdown : '');
44
+ dropdown.toggleClass('show-dropdown');
42
45
 
43
- if (config.dropdownAsToggle) {
44
- resetToggles(button);
45
- $el.toggleClass(config.activeClass);
46
- }
46
+ if (config.dropdownAsToggle) {
47
+ resetToggles(button);
48
+ $el.toggleClass(config.activeClass);
49
+ }
50
+ }, 0);
47
51
  });
48
52
 
49
53
  // close all dropdowns and deactivate all buttons
@@ -59,10 +63,10 @@
59
63
  });
60
64
 
61
65
  // Positioning the Flyout List
62
- var normalButtonHeight = $('.button.dropdown:not(.large):not(.small):not(.tiny)', this).outerHeight() - 1,
63
- largeButtonHeight = $('.button.large.dropdown', this).outerHeight() - 1,
64
- smallButtonHeight = $('.button.small.dropdown', this).outerHeight() - 1,
65
- tinyButtonHeight = $('.button.tiny.dropdown', this).outerHeight() - 1;
66
+ var normalButtonHeight = $('.button.dropdown:not(.large):not(.small):not(.tiny):visible', this).outerHeight() - 1,
67
+ largeButtonHeight = $('.button.large.dropdown:visible', this).outerHeight() - 1,
68
+ smallButtonHeight = $('.button.small.dropdown:visible', this).outerHeight() - 1,
69
+ tinyButtonHeight = $('.button.tiny.dropdown:visible', this).outerHeight() - 1;
66
70
 
67
71
  $('.button.dropdown:not(.large):not(.small):not(.tiny) > ul', this).css('top', normalButtonHeight);
68
72
  $('.button.dropdown.large > ul', this).css('top', largeButtonHeight);
@@ -1,5 +1,5 @@
1
1
  /*
2
- * jQuery Foundation Clearing 1.0
2
+ * jQuery Foundation Clearing 1.2.1
3
3
  * http://foundation.zurb.com
4
4
  * Copyright 2012, ZURB
5
5
  * Free to use under the MIT license.
@@ -8,7 +8,7 @@
8
8
 
9
9
  /*jslint unparam: true, browser: true, indent: 2 */
10
10
 
11
- ;(function ($, window, undefined) {
11
+ ;(function ($, window, document, undefined) {
12
12
  'use strict';
13
13
 
14
14
  var defaults = {
@@ -18,13 +18,17 @@
18
18
  '<p class="clearing-caption"></p><a href="#" class="clearing-main-left"></a>' +
19
19
  '<a href="#" class="clearing-main-right"></a></div>'
20
20
  },
21
+
22
+ // comma delimited list of selectors that, on click, will close clearing,
23
+ // add 'div.clearing-blackout, div.visible-img' to close on background click
24
+ close_selectors : 'a.clearing-close',
25
+
26
+ // event initializers and locks
21
27
  initialized : false,
22
28
  locked : false
23
29
  },
24
30
 
25
- superMethods = {},
26
-
27
- methods = {
31
+ cl = {
28
32
  init : function (options, extendMethods) {
29
33
  return this.find('ul[data-clearing]').each(function () {
30
34
  var doc = $(document),
@@ -38,126 +42,59 @@
38
42
 
39
43
  $el.data('fndtn.clearing.settings', $.extend({}, defaults, options));
40
44
 
41
- // developer goodness experiment
42
- methods.extend(methods, extendMethods);
45
+ cl.assemble($el.find('li'));
43
46
 
44
- // if the gallery hasn't been built yet...build it
45
- methods.assemble($el.find('li'));
46
-
47
- if (!defaults.initialized) methods.events();
47
+ if (!defaults.initialized) {
48
+ cl.events($el);
49
+ if (Modernizr.touch) cl.swipe_events();
50
+ }
48
51
 
49
52
  }
50
53
  });
51
54
  },
52
55
 
53
- events : function () {
54
- var doc = $(document);
55
-
56
- doc.on('click.fndtn.clearing', 'ul[data-clearing] li', function (e, current, target) {
57
- var current = current || $(this),
58
- target = target || current,
59
- settings = current.parent().data('fndtn.clearing.settings');
60
-
61
- e.preventDefault();
62
-
63
- if (!settings) {
64
- current.parent().foundationClearing();
65
- }
66
-
67
- // set current and target to the clicked li if not otherwise defined.
68
- methods.open($(e.target), current, target);
69
- methods.update_paddles(target);
70
- });
56
+ events : function (el) {
57
+ var settings = el.data('fndtn.clearing.settings');
71
58
 
72
- $(window).on('resize.fndtn.clearing', function () {
73
- var image = $('.clearing-blackout .visible-img').find('img');
59
+ $(document)
60
+ .on('click.fndtn.clearing', 'ul[data-clearing] li', function (e, current, target) {
61
+ var current = current || $(this),
62
+ target = target || current,
63
+ settings = current.parent().data('fndtn.clearing.settings');
74
64
 
75
- if (image.length > 0) {
76
- methods.center(image);
77
- }
78
- });
79
-
80
- doc.on('click.fndtn.clearing', '.clearing-main-right', function (e) {
81
- var clearing = $('.clearing-blackout').find('ul[data-clearing]');
82
-
83
- e.preventDefault();
84
- methods.go(clearing, 'next');
85
- });
86
-
87
- doc.on('click.fndtn.clearing', '.clearing-main-left', function (e) {
88
- var clearing = $('.clearing-blackout').find('ul[data-clearing]');
89
-
90
- e.preventDefault();
91
- methods.go(clearing, 'prev');
92
- });
65
+ e.preventDefault();
93
66
 
94
- doc.on('click.fndtn.clearing', 'a.clearing-close, div.clearing-blackout, div.visible-img', function (e) {
95
- var root = (function (target) {
96
- if (/blackout/.test(target.selector)) {
97
- return target;
98
- } else {
99
- return target.closest('.clearing-blackout');
67
+ if (!settings) {
68
+ current.parent().foundationClearing();
100
69
  }
101
- }($(this))), container, visible_image;
102
70
 
103
- if (this === e.target && root) {
104
- container = root.find('div:first'),
105
- visible_image = container.find('.visible-img');
71
+ // set current and target to the clicked li if not otherwise defined.
72
+ cl.open($(e.target), current, target);
73
+ cl.update_paddles(target);
74
+ })
106
75
 
107
- defaults.prev_index = 0;
76
+ .on('click.fndtn.clearing', '.clearing-main-right', function (e) { cl.nav(e, 'next') })
77
+ .on('click.fndtn.clearing', '.clearing-main-left', function (e) { cl.nav(e, 'prev') })
78
+ .on('click.fndtn.clearing', settings.close_selectors, this.close)
79
+ .on('keydown.fndtn.clearing', this.keydown);
108
80
 
109
- root.find('ul[data-clearing]').attr('style', '')
110
- root.removeClass('clearing-blackout');
111
- container.removeClass('clearing-container');
112
- visible_image.hide();
113
- }
114
-
115
- return false;
116
- });
117
-
118
- // should specify a target selector
119
- doc.on('keydown.fndtn.clearing', function (e) {
120
- var clearing = $('.clearing-blackout').find('ul[data-clearing]');
121
-
122
- // right
123
- if (e.which === 39) {
124
- methods.go(clearing, 'next');
125
- }
126
-
127
- // left
128
- if (e.which === 37) {
129
- methods.go(clearing, 'prev');
130
- }
131
-
132
- if (e.which === 27) {
133
- $('a.clearing-close').trigger('click');
134
- }
135
- });
136
-
137
- doc.on('movestart', function(e) {
138
-
139
- // If the movestart is heading off in an upwards or downwards
140
- // direction, prevent it so that the browser scrolls normally.
141
-
142
- if ((e.distX > e.distY && e.distX < -e.distY) ||
143
- (e.distX < e.distY && e.distX > -e.distY)) {
144
- e.preventDefault();
145
- }
146
- });
147
-
148
- doc.bind('swipeleft', 'ul[data-clearing] li', function () {
149
- var clearing = $('.clearing-blackout').find('ul[data-clearing]');
150
- methods.go(clearing, 'next');
151
- });
152
-
153
- doc.bind('swiperight', 'ul[data-clearing] li', function () {
154
- var clearing = $('.clearing-blackout').find('ul[data-clearing]');
155
- methods.go(clearing, 'prev');
156
- });
81
+ $(window).on('resize.fndtn.clearing', this.resize);
157
82
 
158
83
  defaults.initialized = true;
159
84
  },
160
85
 
86
+ swipe_events : function () {
87
+ $(document)
88
+ .bind('swipeleft', 'ul[data-clearing]', function (e) { cl.nav(e, 'next') })
89
+ .bind('swiperight', 'ul[data-clearing]', function (e) { cl.nav(e, 'prev') })
90
+ .bind('movestart', 'ul[data-clearing]', function (e) {
91
+ if ((e.distX > e.distY && e.distX < -e.distY) ||
92
+ (e.distX < e.distY && e.distX > -e.distY)) {
93
+ e.preventDefault();
94
+ }
95
+ });
96
+ },
97
+
161
98
  assemble : function ($li) {
162
99
  var $el = $li.parent(),
163
100
  settings = $el.data('fndtn.clearing.settings'),
@@ -177,27 +114,75 @@
177
114
  visible_image = container.find('.visible-img'),
178
115
  image = visible_image.find('img').not($image);
179
116
 
180
- if (!methods.locked()) {
117
+ if (!cl.locked()) {
181
118
 
182
119
  // set the image to the selected thumbnail
183
120
  image.attr('src', this.load($image));
184
121
 
185
- image.is_good(function () {
122
+ image.loaded(function () {
186
123
  // toggle the gallery if not visible
187
124
  root.addClass('clearing-blackout');
188
125
  container.addClass('clearing-container');
189
- methods.caption(visible_image.find('.clearing-caption'), $image);
126
+ this.caption(visible_image.find('.clearing-caption'), $image);
190
127
  visible_image.show();
191
- methods.fix_height(target);
192
-
193
- methods.center(image);
128
+ this.fix_height(target);
129
+ this.center(image);
194
130
 
195
131
  // shift the thumbnails if necessary
196
- methods.shift(current, target, function () {
132
+ this.shift(current, target, function () {
197
133
  target.siblings().removeClass('visible');
198
134
  target.addClass('visible');
199
135
  });
200
- });
136
+ }.bind(this));
137
+ }
138
+ },
139
+
140
+ close : function (e) {
141
+ e.preventDefault();
142
+
143
+ var root = (function (target) {
144
+ if (/blackout/.test(target.selector)) {
145
+ return target;
146
+ } else {
147
+ return target.closest('.clearing-blackout');
148
+ }
149
+ }($(this))), container, visible_image;
150
+
151
+ if (this === e.target && root) {
152
+ container = root.find('div:first'),
153
+ visible_image = container.find('.visible-img');
154
+
155
+ defaults.prev_index = 0;
156
+
157
+ root.find('ul[data-clearing]').attr('style', '')
158
+ root.removeClass('clearing-blackout');
159
+ container.removeClass('clearing-container');
160
+ visible_image.hide();
161
+ }
162
+
163
+ return false;
164
+ },
165
+
166
+ keydown : function (e) {
167
+ var clearing = $('.clearing-blackout').find('ul[data-clearing]');
168
+
169
+ if (e.which === 39) cl.go(clearing, 'next');
170
+ if (e.which === 37) cl.go(clearing, 'prev');
171
+ if (e.which === 27) $('a.clearing-close').trigger('click');
172
+ },
173
+
174
+ nav : function (e, direction) {
175
+ var clearing = $('.clearing-blackout').find('ul[data-clearing]');
176
+
177
+ e.preventDefault();
178
+ this.go(clearing, direction);
179
+ },
180
+
181
+ resize : function () {
182
+ var image = $('.clearing-blackout .visible-img').find('img');
183
+
184
+ if (image.length > 0) {
185
+ cl.center(image);
201
186
  }
202
187
  },
203
188
 
@@ -205,14 +190,14 @@
205
190
  var lis = target.siblings();
206
191
 
207
192
  lis.each(function () {
208
- var li = $(this),
209
- image = li.find('img');
193
+ var li = $(this),
194
+ image = li.find('img');
210
195
 
211
- if (li.height() > image.outerHeight()) {
212
- li.addClass('fix-height');
213
- }
214
- });
215
- lis.closest('ul').width(lis.length * 100 + '%');
196
+ if (li.height() > image.outerHeight()) {
197
+ li.addClass('fix-height');
198
+ }
199
+ })
200
+ .closest('ul').width(lis.length * 100 + '%');
216
201
  },
217
202
 
218
203
  update_paddles : function (target) {
@@ -234,39 +219,26 @@
234
219
  load : function ($image) {
235
220
  var href = $image.parent().attr('href');
236
221
 
237
- // preload next and previous
238
222
  this.preload($image);
239
223
 
240
- if (href) {
241
- return href;
242
- }
243
-
224
+ if (href) return href;
244
225
  return $image.attr('src');
245
226
  },
246
227
 
247
228
  preload : function ($image) {
248
- var next = $image.closest('li').next(),
249
- prev = $image.closest('li').prev(),
250
- next_a, prev_a,
251
- next_img, prev_img;
252
-
253
- if (next.length > 0) {
254
- next_img = new Image();
255
- next_a = next.find('a');
256
- if (next_a.length > 0) {
257
- next_img.src = next_a.attr('href');
258
- } else {
259
- next_img.src = next.find('img').attr('src');
260
- }
261
- }
229
+ this.img($image.closest('li').next());
230
+ this.img($image.closest('li').prev());
231
+ },
232
+
233
+ img : function (img) {
234
+ if (img.length > 0) {
235
+ var new_img = new Image(),
236
+ new_a = img.find('a');
262
237
 
263
- if (prev.length > 0) {
264
- prev_img = new Image();
265
- prev_a = prev.find('a');
266
- if (prev_a.length > 0) {
267
- prev_img.src = prev_a.attr('href');
238
+ if (new_a.length > 0) {
239
+ new_img.src = new_a.attr('href');
268
240
  } else {
269
- prev_img.src = prev.find('img').attr('src');
241
+ new_img.src = img.find('img').attr('src');
270
242
  }
271
243
  }
272
244
  },
@@ -292,9 +264,6 @@
292
264
 
293
265
  shift : function (current, target, callback) {
294
266
  var clearing = target.parent(),
295
- container = clearing.closest('.clearing-container'),
296
- target_offset = target.position().left,
297
- thumbs_offset = clearing.position().left,
298
267
  old_index = defaults.prev_index,
299
268
  direction = this.direction(clearing, current, target),
300
269
  left = parseInt(clearing.css('left'), 10),
@@ -303,26 +272,25 @@
303
272
 
304
273
  // we use jQuery animate instead of CSS transitions because we
305
274
  // need a callback to unlock the next animation
306
-
307
275
  if (target.index() !== old_index && !/skip/.test(direction)){
308
276
  if (/left/.test(direction)) {
309
- methods.lock();
310
- clearing.animate({left : left + width}, 300, methods.unlock);
277
+ this.lock();
278
+ clearing.animate({left : left + width}, 300, this.unlock);
311
279
  } else if (/right/.test(direction)) {
312
- methods.lock();
313
- clearing.animate({left : left - width}, 300, methods.unlock);
280
+ this.lock();
281
+ clearing.animate({left : left - width}, 300, this.unlock);
314
282
  }
315
283
  } else if (/skip/.test(direction)) {
316
284
 
317
285
  // the target image is not adjacent to the current image, so
318
286
  // do we scroll right or not
319
287
  skip_shift = target.index() - defaults.up_count;
320
- methods.lock();
288
+ this.lock();
321
289
 
322
290
  if (skip_shift > 0) {
323
- clearing.animate({left : -(skip_shift * width)}, 300, methods.unlock);
291
+ clearing.animate({left : -(skip_shift * width)}, 300, this.unlock);
324
292
  } else {
325
- clearing.animate({left : 0}, 300, methods.unlock);
293
+ clearing.animate({left : 0}, 300, this.unlock);
326
294
  }
327
295
  }
328
296
 
@@ -344,11 +312,8 @@
344
312
  direction : function ($el, current, target) {
345
313
  var lis = $el.find('li'),
346
314
  li_width = lis.outerWidth() + (lis.outerWidth() / 4),
347
- container = $('.clearing-container'),
348
- up_count = Math.floor(container.outerWidth() / li_width) - 1,
349
- shift_count = lis.length - up_count,
315
+ up_count = Math.floor($('.clearing-container').outerWidth() / li_width) - 1,
350
316
  target_index = lis.index(target),
351
- current_index = lis.index(current),
352
317
  response;
353
318
 
354
319
  defaults.up_count = up_count;
@@ -371,14 +336,9 @@
371
336
  },
372
337
 
373
338
  adjacent : function (current_index, target_index) {
374
- if (target_index - 1 === current_index) {
375
- return true;
376
- } else if (target_index + 1 === current_index) {
377
- return true;
378
- } else if (target_index === current_index) {
379
- return true;
339
+ for (var i = target_index + 1; i >= target_index - 1; i--) {
340
+ if (i === current_index) return true;
380
341
  }
381
-
382
342
  return false;
383
343
  },
384
344
 
@@ -392,42 +352,15 @@
392
352
  outerHTML : function (el) {
393
353
  // support FireFox < 11
394
354
  return el.outerHTML || new XMLSerializer().serializeToString(el);
395
- },
396
-
397
- // experimental functionality for overwriting or extending
398
- // clearing methods during initialization.
399
- //
400
- // ex $doc.foundationClearing({}, {
401
- // shift : function (current, target, callback) {
402
- // // modify arguments, etc.
403
- // this._super('shift', [current, target, callback]);
404
- // // do something else here.
405
- // }
406
- // });
407
-
408
- extend : function (supers, extendMethods) {
409
- $.each(supers, function (name, method) {
410
- if (extendMethods.hasOwnProperty(name)) {
411
- superMethods[name] = method;
412
- }
413
- });
414
-
415
- $.extend(methods, extendMethods);
416
- },
417
-
418
- // you can call this._super('methodName', [args]) to call
419
- // the original method and wrap it in your own code
420
-
421
- _super : function (method, args) {
422
- return superMethods[method].apply(this, args);
423
355
  }
356
+
424
357
  };
425
358
 
426
359
  $.fn.foundationClearing = function (method) {
427
- if (methods[method]) {
428
- return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
360
+ if (cl[method]) {
361
+ return cl[method].apply(this, Array.prototype.slice.call(arguments, 1));
429
362
  } else if (typeof method === 'object' || !method) {
430
- return methods.init.apply(this, arguments);
363
+ return cl.init.apply(this, arguments);
431
364
  } else {
432
365
  $.error('Method ' + method + ' does not exist on jQuery.foundationClearing');
433
366
  }
@@ -437,9 +370,9 @@
437
370
  // @weblinc, @jsantell, (c) 2012
438
371
 
439
372
  (function( $ ) {
440
- $.fn.is_good = function ( callback, userSettings ) {
373
+ $.fn.loaded = function ( callback, userSettings ) {
441
374
  var
442
- options = $.extend( {}, $.fn.is_good.defaults, userSettings ),
375
+ options = $.extend( {}, $.fn.loaded.defaults, userSettings ),
443
376
  $images = this.find( 'img' ).add( this.filter( 'img' ) ),
444
377
  unloadedImages = $images.length;
445
378
 
@@ -471,10 +404,10 @@
471
404
  });
472
405
  };
473
406
 
474
- $.fn.is_good.defaults = {
407
+ $.fn.loaded.defaults = {
475
408
  cachePrefix: 'random'
476
409
  };
477
410
 
478
411
  }(jQuery));
479
412
 
480
- }(jQuery, this));
413
+ }(jQuery, this, this.document));
@@ -92,14 +92,22 @@
92
92
  }
93
93
  });
94
94
 
95
- this.$element.bind('orbit.next swipeleft', function () {
95
+ this.$element.bind('orbit.next', function () {
96
96
  self.shift('next');
97
97
  });
98
98
 
99
- this.$element.bind('orbit.prev swiperight', function () {
99
+ this.$element.bind('orbit.prev', function () {
100
100
  self.shift('prev');
101
101
  });
102
102
 
103
+ this.$element.bind('swipeleft', function () {
104
+ $(this).trigger('orbit.next');
105
+ });
106
+
107
+ this.$element.bind('swiperight', function () {
108
+ $(this).trigger('orbit.prev');
109
+ });
110
+
103
111
  this.$element.bind('orbit.goto', function (event, index) {
104
112
  self.shift(index);
105
113
  });
@@ -290,11 +298,16 @@
290
298
  "-o-transform": degreeCSS,
291
299
  "-ms-transform": degreeCSS
292
300
  });
301
+ if (reset) {
302
+ this.degrees = 0;
303
+ this.$rotator.removeClass('move');
304
+ this.$mask.removeClass('move');
305
+ }
293
306
  if(this.degrees > 180) {
294
307
  this.$rotator.addClass('move');
295
308
  this.$mask.addClass('move');
296
309
  }
297
- if(this.degrees > 360 || reset) {
310
+ if(this.degrees > 360) {
298
311
  this.$rotator.removeClass('move');
299
312
  this.$mask.removeClass('move');
300
313
  this.degrees = 0;
@@ -374,6 +387,10 @@
374
387
  if ($.trim($(captionLocation).text()).length < 1){
375
388
  return false;
376
389
  }
390
+ // if location selector starts with '#', remove it so we don't see id="#selector"
391
+ if (captionLocation.charAt(0) == '#') {
392
+ captionLocation = captionLocation.substring(1, captionLocation.length);
393
+ }
377
394
  captionHTML = $(captionLocation).html(); //get HTML from the matching HTML entity
378
395
  this.$caption
379
396
  .attr('id', captionLocation) // Add ID caption TODO why is the id being set?
@@ -50,7 +50,7 @@
50
50
  } else if (typeof method === 'object' || !method) {
51
51
  return methods.init.apply(this, arguments);
52
52
  } else {
53
- $.error('Method ' + method + ' does not exist on jQuery.foundationTooltips');
53
+ $.error('Method ' + method + ' does not exist on jQuery.foundationTabs');
54
54
  }
55
55
  };
56
56
  }(jQuery, this, this.document));
@@ -1,5 +1,5 @@
1
1
  /*
2
- * jQuery Foundation Tooltips 2.0.1
2
+ * jQuery Foundation Tooltips 2.0.2
3
3
  * http://foundation.zurb.com
4
4
  * Copyright 2012, ZURB
5
5
  * Free to use under the MIT license.
@@ -14,6 +14,7 @@
14
14
  var settings = {
15
15
  bodyHeight : 0,
16
16
  selector : '.has-tip',
17
+ additionalInheritableClasses : [],
17
18
  tooltipClass : '.tooltip',
18
19
  tipTemplate : function (selector, content) {
19
20
  return '<span data-selector="' + selector + '" class="' + settings.tooltipClass.substring(1) + '">' + content + '<span class="nub"></span></span>';
@@ -144,7 +145,7 @@
144
145
  tip.css('visibility', 'visible').hide();
145
146
  },
146
147
  inheritable_classes : function (target) {
147
- var inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'noradius'],
148
+ var inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'noradius'].concat(settings.additionalInheritableClasses),
148
149
  classes = target.attr('class'),
149
150
  filtered = classes ? $.map(classes.split(' '), function (el, i) {
150
151
  if ($.inArray(el, inheritables) !== -1) {
@@ -1,5 +1,5 @@
1
1
  /*
2
- * jQuery Foundation Top Bar 2.0.2
2
+ * jQuery Foundation Top Bar 2.0.3
3
3
  * http://foundation.zurb.com
4
4
  * Copyright 2012, ZURB
5
5
  * Free to use under the MIT license.
@@ -15,6 +15,7 @@
15
15
  index : 0,
16
16
  initialized : false
17
17
  },
18
+
18
19
  methods = {
19
20
  init : function (options) {
20
21
  return this.each(function () {
@@ -23,6 +24,7 @@
23
24
  settings.$topbar = $('nav.top-bar'),
24
25
  settings.$section = settings.$topbar.find('section'),
25
26
  settings.$titlebar = settings.$topbar.children('ul:first');
27
+
26
28
  var breakpoint = $("<div class='top-bar-js-breakpoint'/>").appendTo("body");
27
29
  settings.breakPoint = breakpoint.width();
28
30
  breakpoint.remove();
@@ -63,10 +65,7 @@
63
65
 
64
66
  if (methods.breakpoint()) {
65
67
  var $this = $(this),
66
- $selectedLi = $this.closest('li'),
67
- $nextLevelUl = $selectedLi.children('ul'),
68
- $nextLevelUlHeight = 0,
69
- $largestUl;
68
+ $selectedLi = $this.closest('li');
70
69
 
71
70
  settings.index += 1;
72
71
  $selectedLi.addClass('moved');
@@ -106,9 +105,11 @@
106
105
  });
107
106
  });
108
107
  },
108
+
109
109
  breakpoint : function () {
110
110
  return settings.$w.width() < settings.breakPoint;
111
111
  },
112
+
112
113
  assemble : function () {
113
114
  // Pull element out of the DOM for manipulation
114
115
  settings.$section.detach();
@@ -126,6 +127,7 @@
126
127
  // Put element back in the DOM
127
128
  settings.$section.appendTo(settings.$topbar);
128
129
  },
130
+
129
131
  largestUL : function () {
130
132
  var uls = settings.$topbar.find('section ul ul'),
131
133
  largest = uls.first(),
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zurb-foundation
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.2
4
+ version: 3.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-11 00:00:00.000000000 Z
12
+ date: 2012-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: compass
@@ -213,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
213
  version: '0'
214
214
  segments:
215
215
  - 0
216
- hash: 1729638945161195289
216
+ hash: -2864876717147565051
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  none: false
219
219
  requirements:
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  version: '0'
223
223
  segments:
224
224
  - 0
225
- hash: 1729638945161195289
225
+ hash: -2864876717147565051
226
226
  requirements: []
227
227
  rubyforge_project:
228
228
  rubygems_version: 1.8.23