zurb-foundation 4.2.3 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. data/CONTRIBUTING.md +1 -1
  2. data/Gemfile.lock +1 -1
  3. data/README.md +8 -0
  4. data/docs/CHANGELOG.md +17 -0
  5. data/docs/README.md +3 -1
  6. data/docs/_sidebar-components.html.erb +2 -1
  7. data/docs/_sidebar.html.erb +2 -1
  8. data/docs/compile.rb +8 -1
  9. data/docs/components/abide.html.erb +371 -0
  10. data/docs/components/alert-boxes.html.erb +12 -9
  11. data/docs/components/block-grid.html.erb +1 -1
  12. data/docs/components/breadcrumbs.html.erb +7 -5
  13. data/docs/components/button-groups.html.erb +4 -2
  14. data/docs/components/buttons.html.erb +13 -9
  15. data/docs/components/clearing.html.erb +2 -0
  16. data/docs/components/dropdown-buttons.html.erb +59 -55
  17. data/docs/components/dropdown.html.erb +34 -32
  18. data/docs/components/flex-video.html.erb +4 -2
  19. data/docs/components/forms.html.erb +16 -15
  20. data/docs/components/global.html.erb +27 -4
  21. data/docs/components/grid.html.erb +21 -3
  22. data/docs/components/inline-lists.html.erb +8 -3
  23. data/docs/components/joyride.html.erb +5 -3
  24. data/docs/components/keystrokes.html.erb +4 -2
  25. data/docs/components/kitchen-sink.html.erb +15 -40
  26. data/docs/components/labels.html.erb +4 -2
  27. data/docs/components/magellan.html.erb +4 -2
  28. data/docs/components/orbit.html.erb +39 -27
  29. data/docs/components/pagination.html.erb +10 -8
  30. data/docs/components/panels.html.erb +7 -3
  31. data/docs/components/pricing-tables.html.erb +12 -10
  32. data/docs/components/progress-bars.html.erb +6 -4
  33. data/docs/components/reveal.html.erb +7 -28
  34. data/docs/components/section.html.erb +15 -13
  35. data/docs/components/side-nav.html.erb +5 -3
  36. data/docs/components/split-buttons.html.erb +45 -43
  37. data/docs/components/sub-nav.html.erb +7 -5
  38. data/docs/components/switch.html.erb +3 -1
  39. data/docs/components/tables.html.erb +8 -6
  40. data/docs/components/thumbnails.html.erb +2 -0
  41. data/docs/components/tooltips.html.erb +6 -4
  42. data/docs/components/top-bar.html.erb +9 -8
  43. data/docs/components/type.html.erb +20 -18
  44. data/docs/config.ru +2 -1
  45. data/docs/css/_footer.scss +420 -0
  46. data/docs/css/_offcanvas.scss +140 -0
  47. data/docs/css/docs.scss +10 -1
  48. data/docs/fonts/ProximaNova-Reg-webfont.eot +0 -0
  49. data/docs/fonts/ProximaNova-Reg-webfont.svg +244 -0
  50. data/docs/fonts/ProximaNova-Reg-webfont.ttf +0 -0
  51. data/docs/fonts/ProximaNova-Reg-webfont.woff +0 -0
  52. data/docs/fonts/proximanovacond-bold-webfont.eot +0 -0
  53. data/docs/fonts/proximanovacond-bold-webfont.svg +247 -0
  54. data/docs/fonts/proximanovacond-bold-webfont.ttf +0 -0
  55. data/docs/fonts/proximanovacond-bold-webfont.woff +0 -0
  56. data/docs/img/demos/orbit/demo1.jpg +0 -0
  57. data/docs/img/demos/orbit/demo2.jpg +0 -0
  58. data/docs/img/demos/orbit/demo3.jpg +0 -0
  59. data/docs/img/icons/footer-icons.png +0 -0
  60. data/docs/img/icons/footer-top-icons.png +0 -0
  61. data/docs/img/icons/social.png +0 -0
  62. data/docs/img/offcanvas/footer-icons.png +0 -0
  63. data/docs/img/offcanvas/menu-wht.png +0 -0
  64. data/docs/img/offcanvas/search.png +0 -0
  65. data/docs/img/offcanvas/zurb-logo.png +0 -0
  66. data/docs/img/offcanvas/zurb-wht.png +0 -0
  67. data/docs/js/docs.js +1 -0
  68. data/docs/js/jquery.offcanvas.js +28 -0
  69. data/docs/layout.html.erb +226 -42
  70. data/docs/media-queries.html.erb +3 -3
  71. data/docs/sass.html.erb +142 -142
  72. data/docs/support.html.erb +1 -1
  73. data/js/foundation/foundation.abide.js +194 -0
  74. data/js/foundation/foundation.dropdown.js +8 -9
  75. data/js/foundation/foundation.forms.js +11 -3
  76. data/js/foundation/foundation.interchange.js +25 -16
  77. data/js/foundation/foundation.joyride.js +9 -3
  78. data/js/foundation/foundation.js +2 -3
  79. data/js/foundation/foundation.magellan.js +3 -2
  80. data/js/foundation/foundation.orbit.js +359 -344
  81. data/js/foundation/foundation.reveal.js +1 -1
  82. data/js/foundation/foundation.section.js +290 -311
  83. data/js/foundation/foundation.tooltips.js +2 -2
  84. data/js/foundation/foundation.topbar.js +20 -23
  85. data/js/foundation/index.js +1 -0
  86. data/js/vendor/jquery.js +103 -121
  87. data/lib/foundation/generators/templates/application.html.slim +15 -8
  88. data/lib/foundation/version.rb +1 -1
  89. data/scss/foundation.scss +2 -5
  90. data/scss/foundation/_variables.scss +326 -295
  91. data/scss/foundation/components/_alert-boxes.scss +10 -10
  92. data/scss/foundation/components/_block-grid.scss +1 -1
  93. data/scss/foundation/components/_breadcrumbs.scss +8 -8
  94. data/scss/foundation/components/_button-groups.scss +2 -2
  95. data/scss/foundation/components/_buttons.scss +18 -18
  96. data/scss/foundation/components/_custom-forms.scss +20 -14
  97. data/scss/foundation/components/_dropdown-buttons.scss +9 -9
  98. data/scss/foundation/components/_dropdown.scss +4 -4
  99. data/scss/foundation/components/_flex-video.scss +3 -3
  100. data/scss/foundation/components/_forms.scss +54 -24
  101. data/scss/foundation/components/_global.scss +28 -5
  102. data/scss/foundation/components/_grid-5.scss +214 -0
  103. data/scss/foundation/components/_grid.scss +3 -3
  104. data/scss/foundation/components/_inline-lists.scss +3 -3
  105. data/scss/foundation/components/_joyride.scss +6 -6
  106. data/scss/foundation/components/_keystrokes.scss +3 -3
  107. data/scss/foundation/components/_labels.scss +3 -3
  108. data/scss/foundation/components/_orbit.scss +34 -9
  109. data/scss/foundation/components/_pagination.scss +8 -6
  110. data/scss/foundation/components/_panels.scss +3 -3
  111. data/scss/foundation/components/_pricing-tables.scss +10 -10
  112. data/scss/foundation/components/_progress-bars.scss +3 -3
  113. data/scss/foundation/components/_reveal.scss +7 -7
  114. data/scss/foundation/components/_section.scss +252 -214
  115. data/scss/foundation/components/_side-nav.scss +3 -3
  116. data/scss/foundation/components/_split-buttons.scss +7 -7
  117. data/scss/foundation/components/_sub-nav.scss +7 -7
  118. data/scss/foundation/components/_switch.scss +4 -4
  119. data/scss/foundation/components/_tables.scss +6 -6
  120. data/scss/foundation/components/_tooltips.scss +4 -4
  121. data/scss/foundation/components/_top-bar.scss +14 -10
  122. data/scss/foundation/components/_type.scss +23 -23
  123. data/templates/project/index.html +4 -4
  124. data/templates/project/scss/app.scss +8 -0
  125. metadata +29 -4
@@ -4,18 +4,18 @@
4
4
  $include-html-nav-classes: $include-html-classes !default;
5
5
 
6
6
  // We use these to control the pagination container
7
- $pagination-height: emCalc(24px) !default;
8
- $pagination-margin: emCalc(-5px) !default;
7
+ $pagination-height: emCalc(24) !default;
8
+ $pagination-margin: emCalc(-5) !default;
9
9
 
10
10
  // We use these to set the list-item properties
11
11
  $pagination-li-float: $default-float;
12
- $pagination-li-height: emCalc(24px) !default;
12
+ $pagination-li-height: emCalc(24) !default;
13
13
  $pagination-li-font-color: #222 !default;
14
- $pagination-li-font-size: emCalc(14px) !default;
15
- $pagination-li-margin: emCalc(5px) !default;
14
+ $pagination-li-font-size: emCalc(14) !default;
15
+ $pagination-li-margin: emCalc(5) !default;
16
16
 
17
17
  // We use these for the pagination anchor links
18
- $pagination-link-pad: emCalc(1px) emCalc(7px) emCalc(1px) !default;
18
+ $pagination-link-pad: emCalc(1, 7, 1) !default;
19
19
  $pagination-link-font-color: #999 !default;
20
20
  $pagination-link-active-bg: darken(#fff, 10%) !default;
21
21
 
@@ -64,6 +64,8 @@ $pagination-link-current-active-bg: $primary-color !default;
64
64
  &:focus { background: $pagination-link-current-active-bg; }
65
65
  }
66
66
  } @else {
67
+ height: auto;
68
+ padding: $pagination-link-pad;
67
69
  background: $pagination-link-current-background;
68
70
  color: $pagination-link-current-font-color;
69
71
  font-weight: $pagination-link-current-font-weight;
@@ -13,8 +13,8 @@ $panel-function-factor: 10% !default;
13
13
  $panel-border-color: darken($panel-bg, $panel-function-factor) !default;
14
14
 
15
15
  // We use these to set default inner padding and bottom margin
16
- $panel-margin-bottom: emCalc(20px) !default;
17
- $panel-padding: emCalc(20px) !default;
16
+ $panel-margin-bottom: emCalc(20) !default;
17
+ $panel-padding: emCalc(20) !default;
18
18
 
19
19
  // We use these to set default font colors
20
20
  $panel-font-color: #333 !default;
@@ -52,7 +52,7 @@ $panel-header-adjust: true !default;
52
52
 
53
53
  // reset header line-heights for panels
54
54
  h1,h2,h3,h4,h5,h6 {
55
- line-height: 1; margin-bottom: emCalc(20px) / 2;
55
+ line-height: 1; margin-bottom: emCalc(20) / 2;
56
56
  &.subheader { line-height: 1.4; }
57
57
  }
58
58
  }
@@ -7,46 +7,46 @@ $include-html-pricing-classes: $include-html-classes !default;
7
7
  $price-table-border: solid 1px #ddd !default;
8
8
 
9
9
  // We use this to control the bottom margin of the pricing table
10
- $price-table-margin-bottom: emCalc(20px) !default;
10
+ $price-table-margin-bottom: emCalc(20) !default;
11
11
 
12
12
  // We use these to control the title styles
13
13
  $price-title-bg: #ddd !default;
14
- $price-title-padding: emCalc(15px) emCalc(20px) !default;
14
+ $price-title-padding: emCalc(15, 20) !default;
15
15
  $price-title-align: center !default;
16
16
  $price-title-color: #333 !default;
17
17
  $price-title-weight: bold !default;
18
- $price-title-size: emCalc(16px) !default;
18
+ $price-title-size: emCalc(16) !default;
19
19
 
20
20
  // We use these to control the price styles
21
21
  $price-money-bg: #eee !default;
22
- $price-money-padding: emCalc(15px) emCalc(20px) !default;
22
+ $price-money-padding: emCalc(15, 20) !default;
23
23
  $price-money-align: center !default;
24
24
  $price-money-color: #333 !default;
25
25
  $price-money-weight: normal !default;
26
- $price-money-size: emCalc(20px) !default;
26
+ $price-money-size: emCalc(20) !default;
27
27
 
28
28
  // We use these to control the description styles
29
29
  $price-bg: #fff !default;
30
30
  $price-desc-color: #777 !default;
31
- $price-desc-padding: emCalc(15px) !default;
31
+ $price-desc-padding: emCalc(15) !default;
32
32
  $price-desc-align: center !default;
33
- $price-desc-font-size: emCalc(12px) !default;
33
+ $price-desc-font-size: emCalc(12) !default;
34
34
  $price-desc-weight: normal !default;
35
35
  $price-desc-line-height: 1.4 !default;
36
36
  $price-desc-bottom-border: dotted 1px #ddd !default;
37
37
 
38
38
  // We use these to control the list item styles
39
39
  $price-item-color: #333 !default;
40
- $price-item-padding: emCalc(15px) !default;
40
+ $price-item-padding: emCalc(15) !default;
41
41
  $price-item-align: center !default;
42
- $price-item-font-size: emCalc(14px) !default;
42
+ $price-item-font-size: emCalc(14) !default;
43
43
  $price-item-weight: normal !default;
44
44
  $price-item-bottom-border: dotted 1px #ddd !default;
45
45
 
46
46
  // We use these to control the CTA area styles
47
47
  $price-cta-bg: #f5f5f5 !default;
48
48
  $price-cta-align: center !default;
49
- $price-cta-padding: emCalc(20px) emCalc(20px) 0 !default;
49
+ $price-cta-padding: emCalc(20, 20, 0) !default;
50
50
 
51
51
  //
52
52
  // Pricing Table Mixins
@@ -4,7 +4,7 @@
4
4
  $include-html-media-classes: $include-html-classes !default;
5
5
 
6
6
  // We use this to se the prog bar height
7
- $progress-bar-height: emCalc(25px) !default;
7
+ $progress-bar-height: emCalc(25) !default;
8
8
  $progress-bar-color: transparent !default;
9
9
 
10
10
  // We use these to control the border styles
@@ -14,8 +14,8 @@ $progress-bar-border-style: solid !default;
14
14
  $progress-bar-border-radius: $global-radius !default;
15
15
 
16
16
  // We use these to control the margin & padding
17
- $progress-bar-pad: emCalc(2px) !default;
18
- $progress-bar-margin-bottom: emCalc(10px) !default;
17
+ $progress-bar-pad: emCalc(2) !default;
18
+ $progress-bar-margin-bottom: emCalc(10) !default;
19
19
 
20
20
  // We use these to set the meter colors
21
21
  $progress-meter-color: $primary-color !default;
@@ -1,9 +1,9 @@
1
- $include-html-reveal-classes: $include-html-classes !default;
2
-
3
1
  //
4
2
  // Reveal Variables
5
3
  //
6
4
 
5
+ $include-html-reveal-classes: $include-html-classes !default;
6
+
7
7
  // We use these to control the style of the reveal overlay.
8
8
  $reveal-overlay-bg: rgba(#000, .45) !default;
9
9
  $reveal-overlay-bg-old: #000 !default;
@@ -12,13 +12,13 @@ $reveal-overlay-bg-old: #000 !default;
12
12
  $reveal-modal-bg: #fff !default;
13
13
  $reveal-position-top: 50px !default;
14
14
  $reveal-default-width: 80% !default;
15
- $reveal-modal-padding: emCalc(20px) !default;
15
+ $reveal-modal-padding: emCalc(20) !default;
16
16
  $reveal-box-shadow: 0 0 10px rgba(#000,.4) !default;
17
17
 
18
18
  // We use these to style the reveal close button
19
- $reveal-close-font-size: emCalc(22px) !default;
20
- $reveal-close-top: emCalc(8px) !default;
21
- $reveal-close-side: emCalc(11px) !default;
19
+ $reveal-close-font-size: emCalc(22) !default;
20
+ $reveal-close-top: emCalc(8) !default;
21
+ $reveal-close-side: emCalc(11) !default;
22
22
  $reveal-close-color: #aaa !default;
23
23
  $reveal-close-weight: bold !default;
24
24
 
@@ -119,7 +119,7 @@ $close-reveal-modal-class: "close-reveal-modal" !default;
119
119
  @media #{$small} {
120
120
 
121
121
  .#{$reveal-modal-class} {
122
- @include reveal-modal-style(false, emCalc(30px), false, $box-shadow: false, $top-offset: emCalc(100px));
122
+ @include reveal-modal-style(false, emCalc(30), false, $box-shadow: false, $top-offset: emCalc(100));
123
123
 
124
124
  &.tiny { @include reveal-modal-base(false, 30%); }
125
125
  &.small { @include reveal-modal-base(false, 40%); }
@@ -4,16 +4,17 @@
4
4
  $include-html-section-classes: $include-html-classes !default;
5
5
 
6
6
  // We use these to set padding and hover factor
7
- $section-title-padding: emCalc(15px) !default;
8
- $section-content-padding: emCalc(15px) !default;
7
+ $section-title-padding: emCalc(15) !default;
8
+ $section-content-padding: emCalc(15) !default;
9
9
  $section-function-factor: 10% !default;
10
10
 
11
11
  // These style the titles
12
12
  $section-title-color: #333 !default;
13
+ $section-title-color-active: #333 !default;
13
14
  $section-title-bg: #efefef !default;
14
15
  $section-title-bg-active: darken($section-title-bg, $section-function-factor) !default;
15
16
  $section-title-bg-active-tabs: #fff !default;
16
- $section-title-bg-hover: darken($section-title-bg, $section-function-factor/2) !default;
17
+ $section-title-bg-hover: darken($section-title-bg, $section-function-factor / 2) !default;
17
18
 
18
19
  // Want to control border size, here ya go!
19
20
  $section-border-size: 1px !default;
@@ -21,333 +22,370 @@ $section-border-style: solid !default;
21
22
  $section-border-color: #ccc !default;
22
23
 
23
24
  // Font controls
24
- $section-font-size: emCalc(14px) !default;
25
+ $section-font-size: emCalc(14) !default;
25
26
 
26
27
  // Control the color of the background and some size options
27
28
  $section-content-bg: #fff !default;
28
- $section-vertical-nav-min-width: emCalc(200px) !default;
29
- $section-vertical-tabs-title-width: emCalc(200px) !default;
30
- $section-bottom-margin: emCalc(20px) !default;
29
+ $section-vertical-nav-min-width: emCalc(200) !default;
30
+ $section-vertical-tabs-title-width: emCalc(200) !default;
31
+ $section-bottom-margin: emCalc(20) !default;
31
32
 
32
33
  $title-selector: ".title" !default;
33
34
  $content-selector: ".content" !default;
34
-
35
+ $active-region-selector: ".active" !default;
35
36
 
36
37
  //
37
38
  // Section Mixins
38
39
  //
39
40
 
40
- // We use this mixin to create the basic container styles for sections when they act like accordions
41
- @mixin section-container($base-style:true, $section-type:accordion) {
41
+ // basic styles for sections.js: positions
42
+ @mixin section-container-base($section-type: accordion) {
43
+ width: 100%;
44
+ position: relative;
45
+ display: block;
46
+ margin-bottom: $section-bottom-margin;
42
47
 
43
- /// We can set this to false to not include these styles to avoid repeated CSS on classes.
44
- @if $base-style {
45
- width: 100%;
46
- display: block;
47
- margin-bottom: $section-bottom-margin;
48
+ @if $section-type != accordion {
49
+ &:not([data-section-resized]):not([data-section-small-style]) {
50
+ visibility: hidden;
51
+ }
52
+ }
53
+
54
+ @if $section-type != tabs {
55
+ &[data-section-small-style] {
56
+ width: 100% !important; // override inline style
57
+
58
+ & > [data-section-region], & > section, & > .section {
59
+ padding: 0 !important; // override inline style
60
+ margin: 0 !important; // override inline style
61
+ & > [data-section-title], & > #{$title-selector}{
62
+ width: 100% !important; // override inline style
63
+ }
64
+ }
65
+ }
48
66
  }
67
+ }
68
+
69
+ // foundation styles for sections
70
+ @mixin section-container-style($section-type: accordion) {
49
71
 
50
72
  // Accordion container border styles
51
73
  @if $section-type == accordion {
52
- border: $section-border-size $section-border-style $section-border-color;
53
- border-top: none;
74
+ border-top: $section-border-size $section-border-style $section-border-color;
54
75
  }
55
76
 
56
77
  // Tabs container border styles
57
78
  @else if $section-type == tabs {
58
- border: 0;
59
- position: relative;
79
+ border: none;
60
80
  }
61
81
 
62
82
  // Vertical Tabs container border styles
63
83
  @else if $section-type == vertical-tabs {
64
- border: $section-border-size $section-border-style $section-border-color;
65
- position: relative;
84
+ border: none;
66
85
  }
67
86
 
68
87
  // Vertical Nav container border styles
69
88
  @else if $section-type == vertical-nav {
70
- border: 0;
71
- position: relative;
89
+ border: none;
72
90
  }
73
91
 
74
92
  // Horizontal Nav container border styles
75
93
  @else if $section-type == horizontal-nav {
76
- position: relative;
77
94
  background: $section-title-bg;
78
95
  border: $section-border-size $section-border-style $section-border-color;
79
96
  }
80
-
81
97
  }
82
98
 
99
+ //basic styles for section.js: section region positions
100
+ @mixin section-base($section-type: accordion) {
83
101
 
84
- @mixin section($section-type:accordion, $title-selector:".title", $content-selector:".content", $title-padding:$section-title-padding, $title-color:$section-title-color, $title-font-size:$section-font-size, $title-bg:$section-title-bg, $title-bg-hover:$section-title-bg-hover, $title-bg-active:$section-title-bg-active, $title-color-active:$section-title-color, $content-bg:$section-content-bg, $content-padding:$section-content-padding, $section-border-size:$section-border-size, $section-border-style:$section-border-style, $section-border-color: $section-border-color) {
85
-
86
- // Default Styles
87
- > #{$title-selector} {
88
- background-color: $title-bg;
89
- cursor: $cursor-pointer-value;
102
+ & > [data-section-title], & > #{$title-selector} {
90
103
  margin-bottom: 0;
91
-
92
- a {
93
- padding: $title-padding;
104
+ a {
105
+ width: 100%;
94
106
  display: inline-block;
95
- color: $title-color;
96
- font-size: $title-font-size;
97
107
  white-space: nowrap;
98
108
  }
99
- &:hover { background-color: $title-bg-hover; }
100
109
  }
101
110
 
102
- #{$content-selector} {
111
+ & > [data-section-content], & > #{$content-selector} {
103
112
  display: none;
104
- padding: $content-padding;
105
- background-color: $content-bg;
113
+ }
106
114
 
107
- &>*:last-child { margin-bottom: 0; }
108
- &>*:first-child { padding-top: 0; }
109
- &>*:last-child:not(.flex-video) { padding-bottom: 0; }
115
+ &#{$active-region-selector} {
116
+ & > [data-section-content], & > #{$content-selector} { display: block; }
110
117
  }
111
118
 
112
- &.active {
113
- & > #{$content-selector} { display: block; }
114
- & > #{$title-selector} { background: $title-bg-active;
115
- a { color: $title-color-active; }
116
- }
119
+ &:not(#{$active-region-selector}) {
120
+ padding: 0 !important; //override inline style
117
121
  }
118
122
 
119
123
  // Style for when Accordion
120
124
  @if $section-type == accordion {
121
- // border-top: $section-border-size $section-border-style $section-border-color;
122
- position: relative;
123
-
124
- > #{$title-selector} {
125
- top: 0;
126
- width: 100%;
127
- margin: 0;
128
- border-top: $section-border-style $section-border-size $section-border-color;
129
-
130
- a { width: 100%; }
131
- }
125
+ margin: 0;
126
+ & > [data-section-title], & > #{$title-selector} { width: 100%; }
132
127
  }
133
128
 
134
129
  // Styles for when tabs
135
130
  @else if $section-type == tabs {
136
- border: 0;
137
- position: static;
138
131
 
139
- > #{$title-selector} {
140
- width: auto;
141
- border: $section-border-style $section-border-size $section-border-color;
142
- border-#{$opposite-direction}: 0;
143
- border-bottom: 0;
132
+ & > [data-section-title], & > #{$title-selector} {
133
+ width: auto;
144
134
  position: absolute;
145
135
  top: 0;
146
- z-index: 1;
147
-
148
- a { width: 100%; }
149
- }
150
- &:last-child #{$title-selector} { border-#{$opposite-direction}: $section-border-style $section-border-size $section-border-color; }
151
-
152
- #{$content-selector} {
153
- border: $section-border-style $section-border-size $section-border-color;
154
- position: absolute;
155
- z-index: 10;
156
- display: none;
157
- top: -1px;
158
- }
159
-
160
- &.active {
161
- & > #{$title-selector} {
162
- z-index: 11;
163
- border-bottom: 0;
164
- background-color: $title-bg-active;
165
- }
166
- & > #{$content-selector} { position: relative; }
136
+ #{$default-float}: 0;
167
137
  }
168
138
  }
169
139
 
170
140
  // Styles for when Vertical Tabs
171
141
  @else if $section-type == vertical-tabs {
172
- padding-top: 0 !important;
173
- border: 0;
174
- position: static;
175
142
 
176
- > #{$title-selector} {
177
- position: absolute;
178
- border-top: $section-border-style $section-border-size $section-border-color;
143
+ & > [data-section-title], & > #{$title-selector} {
144
+ position: absolute;
145
+ top:0;
146
+ #{$default-float}: 0;
179
147
  width: $section-vertical-tabs-title-width;
180
148
  }
181
- &:first-child #{$title-selector} { border-top: 0; }
182
-
183
- #{$content-selector} {
184
- // Display all content blocks to account for the scrollbar
185
- // in the outerWidth measurements. JavaScript will toggle the active tabs.
186
- display: block;
187
- position: relative;
188
- left: $section-vertical-tabs-title-width;
189
- border-left: $section-border-style $section-border-size $section-border-color;
190
- z-index: 10;
191
- }
192
149
 
193
- &.active {
194
- & > #{$title-selector} {
195
- background-color: $title-bg-active;
196
- width: $section-vertical-tabs-title-width + emCalc(1px); // Cover the content's left border
197
- border-right: solid 0 transparent;
198
- z-index: 11; // Put active title on top of the content
150
+ &#{$active-region-selector} {
151
+ padding-#{$default-float}: $section-vertical-tabs-title-width;
152
+
153
+ & > [data-section-title], & > #{$title-selector} {
154
+ width: $section-vertical-tabs-title-width;
199
155
  }
200
- &:last-child #{$title-selector} { border-bottom: 0; }
201
156
  }
202
157
  }
203
158
 
204
159
  // Styles for when Vertical Nav
205
160
  @else if $section-type == vertical-nav {
206
- padding-top: 0 !important;
207
- position: relative;
161
+
162
+ position: relative;
163
+ display: inline-block;
164
+
165
+ & > [data-section-title], & > #{$title-selector} {
166
+ position: static;
167
+ width: auto;
168
+ a { display: block; }
169
+ }
208
170
 
209
- > #{$title-selector} {
210
- border-top: none;
211
- border: $section-border-style $section-border-size $section-border-color;
171
+ & > [data-section-content], & > #{$content-selector} {
172
+ position: absolute;
173
+ top:0;
174
+ #{$default-float}: 0;
175
+ z-index: 999;
176
+ min-width: $section-vertical-nav-min-width;
177
+ }
178
+ }
212
179
 
213
- a {
214
- display: block;
215
- width: 100%;
216
- }
180
+ // Styles for when Horizontal Nav
181
+ @else if $section-type == horizontal-nav {
182
+
183
+ position: relative;
184
+ float: #{$default-float};
185
+
186
+ & > [data-section-title], & > #{$title-selector} {
187
+ position: static;
188
+ width: auto;
189
+ a { display: block; }
217
190
  }
218
- #{$content-selector} { display: none; }
219
- &:first-child #{$title-selector} { border-bottom: none; }
220
-
221
- &.active {
222
- & > #{$content-selector} {
223
- display: block;
224
- position: absolute;
225
- #{$default-float}: 100%;
226
- top: 0px;
227
- z-index: 999;
228
- min-width: $section-vertical-nav-min-width;
229
- border: $section-border-style $section-border-size $section-border-color;
230
- }
191
+
192
+ & > [data-section-content], & > #{$content-selector} {
193
+ width: auto;
194
+ position: absolute;
195
+ top: 0;
196
+ #{$default-float}: 0;
197
+ z-index: 999;
198
+ min-width: $section-vertical-nav-min-width;
199
+ }
200
+ }
201
+ }
202
+
203
+ //foundation styles for section regions
204
+ @mixin section-style($section-type:accordion, $title-selector: $title-selector, $content-selector: $content-selector, $title-padding:$section-title-padding, $title-color:$section-title-color, $title-font-size:$section-font-size, $title-bg:$section-title-bg, $title-bg-hover:$section-title-bg-hover, $title-bg-active:$section-title-bg-active, $title-color-active:$section-title-color-active, $content-bg:$section-content-bg, $content-padding:$section-content-padding, $section-border-size:$section-border-size, $section-border-style:$section-border-style, $section-border-color: $section-border-color) {
205
+
206
+ // Default Styles
207
+ & > #{$title-selector} {
208
+ background-color: $title-bg;
209
+ cursor: $cursor-pointer-value;
210
+ border: $section-border-style $section-border-size $section-border-color;
211
+ a {
212
+ padding: $title-padding;
213
+ color: $title-color;
214
+ font-size: $title-font-size;
215
+ background: none;
231
216
  }
217
+ &:hover { background-color: $title-bg-hover; }
232
218
  }
233
219
 
234
- // Styles for when Horizontal Nav
235
- @else if $section-type == horizontal-nav {
236
- padding-top: 0;
237
- border: 0;
238
- position: static;
239
-
240
- > #{$title-selector} {
241
- width: auto;
242
- border: $section-border-style $section-border-size $section-border-color;
243
- border-#{$default-float}: 0;
244
- top: -1px;
245
- position: absolute;
246
- z-index: 1;
220
+ & > #{$content-selector} {
221
+ padding: $content-padding;
222
+ background-color: $content-bg;
223
+ border: $section-border-style $section-border-size $section-border-color;
224
+
225
+ &>*:last-child { margin-bottom: 0; }
226
+ &>*:first-child { padding-top: 0; }
227
+ &>*:last-child:not(.flex-video) { padding-bottom: 0; }
228
+ }
247
229
 
248
- a { width: 100%; }
230
+ &#{$active-region-selector} {
231
+ & > #{$title-selector} {
232
+ background: $title-bg-active;
233
+ a { color: $title-color-active; }
249
234
  }
235
+ }
236
+
237
+ &:not(#{$active-region-selector}) {
238
+ padding: 0 !important; //override inline style
239
+ }
250
240
 
251
- #{$content-selector} { display: none; }
252
-
253
- &.active {
254
- & > #{$content-selector} {
255
- display: block;
256
- position: absolute;
257
- z-index: 999;
258
- #{$default-float}: 0;
259
- top: -2px;
260
- min-width: $section-vertical-nav-min-width;
261
- border: $section-border-style $section-border-size $section-border-color;
241
+ // Style for when Accordion
242
+ @if $section-type == accordion {
243
+ & > #{$title-selector} { border-top: none; }
244
+ }
245
+
246
+ // Styles for when tabs
247
+ @else if $section-type == tabs {
248
+
249
+ &#{$active-region-selector} > #{$title-selector} {
250
+ border-bottom: 0;
251
+ }
252
+ }
253
+
254
+ // Styles for when Vertical Tabs
255
+ @else if $section-type == vertical-tabs {
256
+
257
+ &#{$active-region-selector} {
258
+ padding-#{$default-float}: $section-vertical-tabs-title-width - emCalc(1px);
259
+
260
+ & > #{$title-selector} {
261
+ background-color: $title-bg-active;
262
262
  }
263
263
  }
264
264
  }
265
-
266
265
  }
267
266
 
267
+ @mixin section-container($base-style:true, $section-type:accordion) {
268
+ @include section-container-base($section-type);
269
+ @include section-container-style($section-type);
270
+ }
268
271
 
272
+ @mixin section($section-type:accordion, $title-selector:$title-selector, $content-selector: $content-selector, $title-padding:$section-title-padding, $title-color:$section-title-color, $title-font-size:$section-font-size, $title-bg:$section-title-bg, $title-bg-hover:$section-title-bg-hover, $title-bg-active:$section-title-bg-active, $title-color-active:$section-title-color-active, $content-bg:$section-content-bg, $content-padding:$section-content-padding, $section-border-size:$section-border-size, $section-border-style:$section-border-style, $section-border-color: $section-border-color) {
273
+ @include section-base($section-type);
274
+ @include section-style($section-type, $title-selector, $content-selector, $title-padding, $title-color, $title-font-size, $title-bg, $title-bg-hover, $title-bg-active, $title-color-active, $content-bg, $content-padding, $section-border-size, $section-border-style, $section-border-color);
275
+ }
269
276
 
270
277
  @if $include-html-section-classes != false {
271
278
 
272
279
  /* Sections */
273
- .section-container, .section-container.auto {
274
- @include section-container(accordion);
275
280
 
276
- &>section,
277
- &>.section { @include section(accordion); }
281
+ [data-section=''], [data-section='auto'], .section-container.auto,
282
+ [data-section='vertical-tabs'], .section-container.vertical-tabs,
283
+ [data-section='vertical-nav'], .section-container.vertical-nav,
284
+ [data-section='horizontal-nav'], .section-container.horizontal-nav,
285
+ [data-section='accordion'], .section-container.accordion {
286
+ @include section-container-base(accordion);
287
+ & > section, & > .section, & > [data-section-region] {
288
+ @include section-base(accordion);
289
+ }
278
290
  }
279
291
 
280
- .section-container.tabs {
281
- @include section-container(false, tabs);
292
+ .section-container.auto,
293
+ .section-container.vertical-tabs,
294
+ .section-container.vertical-nav,
295
+ .section-container.horizontal-nav,
296
+ .section-container.accordion {
297
+ @include section-container-style(accordion);
298
+ & > section, & > .section {
299
+ @include section-style(accordion);
300
+ }
301
+ }
282
302
 
283
- &>section,
284
- &>.section { @include section(tabs, $title-bg-active:$section-title-bg-active-tabs); }
303
+ [data-section='tabs'], .section-container.tabs {
304
+ @include section-container-base(tabs);
305
+ & > section, & > .section, & > [data-section-region] {
306
+ @include section-base(tabs);
307
+ }
285
308
  }
286
309
 
287
- @media #{$small} {
310
+ .section-container.tabs {
311
+ @include section-container-style(tabs);
312
+ & > section, & > .section {
313
+ @include section-style(tabs, $title-bg-active: $section-title-bg-active-tabs);
314
+ }
315
+ }
288
316
 
289
- .section-container.auto {
290
- @include section-container(false, tabs);
317
+ @media #{$small} {
291
318
 
292
- &>section,
293
- &>.section { @include section(tabs, $title-bg-active:$section-title-bg-active-tabs); }
319
+ [data-section=''], [data-section='auto'], .section-container.auto {
320
+ @include section-container-base(tabs);
321
+ & > section, & > .section, & > [data-section-region] {
322
+ @include section-base(tabs);
323
+ }
294
324
  }
295
- .section-container.accordion .section {
296
- padding-top: 0 !important;
325
+
326
+ .section-container.auto {
327
+ @include section-container-style(tabs);
328
+ & > section, & > .section {
329
+ @include section-style(tabs, $title-bg-active: $section-title-bg-active-tabs);
330
+ }
297
331
  }
298
332
 
299
- .section-container.vertical-tabs {
300
- @include section-container(false, vertical-tabs);
333
+ [data-section='vertical-tabs'], .section-container.vertical-tabs {
334
+ @include section-container-base(vertical-tabs);
335
+ & > section, & > .section, & > [data-section-region] {
336
+ @include section-base(vertical-tabs);
337
+ }
338
+ }
301
339
 
302
- section,
303
- .section { @include section(vertical-tabs); }
340
+ .section-container.vertical-tabs {
341
+ @include section-container-style(vertical-tabs);
342
+ & > section, & > .section {
343
+ @include section-style(vertical-tabs);
344
+ }
304
345
  }
305
346
 
306
- .section-container.vertical-nav {
307
- @include section-container(false, vertical-nav);
347
+ [data-section='vertical-nav'], .section-container.vertical-nav {
348
+ @include section-container-base(vertical-nav);
349
+ & > section, & > .section, & > [data-section-region] {
350
+ @include section-base(vertical-nav);
351
+ }
352
+ }
308
353
 
309
- &>section,
310
- &>.section { @include section(vertical-nav); }
354
+ .section-container.vertical-nav {
355
+ @include section-container-style(vertical-nav);
356
+ & > section, & > .section {
357
+ @include section-style(vertical-nav);
358
+ }
311
359
  }
312
360
 
313
- .section-container.horizontal-nav {
314
- @include section-container(false, horizontal-nav);
361
+ [data-section='horizontal-nav'], .section-container.horizontal-nav {
362
+ @include section-container-base(horizontal-nav);
363
+ & > section, & > .section, & > [data-section-region] {
364
+ @include section-base(horizontal-nav);
365
+ }
366
+ }
315
367
 
316
- &>section,
317
- &>.section { @include section(horizontal-nav); }
368
+ .section-container.horizontal-nav {
369
+ @include section-container-style(horizontal-nav);
370
+ & > section, & > .section {
371
+ @include section-style(horizontal-nav);
372
+ }
318
373
  }
319
374
  }
320
375
 
321
376
  // Change all variations to expanded accordions when no JS is detected.
322
- .no-js .section-container {
323
- &.auto,
324
- &.accordion,
325
- &.tabs,
326
- &.vertical-tabs,
327
- &.vertical-nav,
328
- &.horizontal-nav {
329
- @include section-container(accordion);
330
-
331
- &>section,
332
- &>.section { @include section(accordion);
333
- #{$title-selector} {
334
- position: static;
335
- width: 100%;
336
- border-left: 0;
337
- border-right: 0;
338
- }
339
-
340
- #{$content-selector} {
341
- position: static;
342
- display: block;
343
- width: 100%;
344
- border-left: 0;
345
- border-right: 0;
346
- border-bottom: 0;
347
- }
377
+ .no-js {
378
+ [data-section], .section-container {
379
+ @include section-container-base(accordion);
380
+ & > section, & > .section, & > [data-section-region] {
381
+ @include section-base(accordion);
382
+ }
383
+ }
384
+ .section-container {
385
+ @include section-container-style(accordion);
386
+ & > section, & > .section {
387
+ @include section-style(accordion);
348
388
  }
349
-
350
389
  }
351
390
  }
352
-
353
391
  }