uikit-rails 0.0.2 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -3
  3. data/Gemfile +2 -1
  4. data/LICENSE.txt +21 -0
  5. data/README.md +65 -0
  6. data/Rakefile +0 -1
  7. data/assets/fonts/FontAwesome.otf +0 -0
  8. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  9. data/assets/fonts/fontawesome-webfont.woff +0 -0
  10. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  11. data/assets/javascripts/components/accordion.js +174 -0
  12. data/assets/javascripts/components/accordion.min.js +2 -0
  13. data/assets/javascripts/components/autocomplete.js +334 -0
  14. data/assets/javascripts/components/autocomplete.min.js +2 -0
  15. data/assets/javascripts/components/datepicker.js +3166 -0
  16. data/assets/javascripts/components/datepicker.min.js +3 -0
  17. data/assets/javascripts/components/form-password.js +67 -0
  18. data/assets/javascripts/components/form-password.min.js +2 -0
  19. data/assets/javascripts/components/form-select.js +70 -0
  20. data/assets/javascripts/components/form-select.min.js +2 -0
  21. data/assets/javascripts/components/grid.js +527 -0
  22. data/assets/javascripts/components/grid.min.js +2 -0
  23. data/assets/javascripts/components/htmleditor.js +623 -0
  24. data/assets/javascripts/components/htmleditor.min.js +2 -0
  25. data/assets/javascripts/components/lightbox.js +555 -0
  26. data/assets/javascripts/components/lightbox.min.js +2 -0
  27. data/assets/javascripts/components/nestable.js +638 -0
  28. data/assets/javascripts/components/nestable.min.js +2 -0
  29. data/assets/javascripts/components/notify.js +189 -0
  30. data/assets/javascripts/components/notify.min.js +2 -0
  31. data/assets/javascripts/components/pagination.js +147 -0
  32. data/assets/javascripts/components/pagination.min.js +2 -0
  33. data/assets/javascripts/components/parallax.js +435 -0
  34. data/assets/javascripts/components/parallax.min.js +2 -0
  35. data/assets/javascripts/components/search.js +92 -0
  36. data/assets/javascripts/components/search.min.js +2 -0
  37. data/assets/javascripts/components/slider.js +531 -0
  38. data/assets/javascripts/components/slider.min.js +2 -0
  39. data/assets/javascripts/components/slideset.js +506 -0
  40. data/assets/javascripts/components/slideset.min.js +2 -0
  41. data/assets/javascripts/components/slideshow-fx.js +375 -0
  42. data/assets/javascripts/components/slideshow-fx.min.js +2 -0
  43. data/assets/javascripts/components/slideshow.js +562 -0
  44. data/assets/javascripts/components/slideshow.min.js +2 -0
  45. data/assets/javascripts/components/sortable.js +688 -0
  46. data/assets/javascripts/components/sortable.min.js +2 -0
  47. data/assets/javascripts/components/sticky.js +359 -0
  48. data/assets/javascripts/components/sticky.min.js +2 -0
  49. data/assets/javascripts/components/timepicker.js +192 -0
  50. data/assets/javascripts/components/timepicker.min.js +2 -0
  51. data/assets/javascripts/components/tooltip.js +234 -0
  52. data/assets/javascripts/components/tooltip.min.js +2 -0
  53. data/assets/javascripts/components/upload.js +260 -0
  54. data/assets/javascripts/components/upload.min.js +2 -0
  55. data/assets/javascripts/core/alert.js +66 -0
  56. data/assets/javascripts/core/alert.min.js +2 -0
  57. data/assets/javascripts/core/button.js +157 -0
  58. data/assets/javascripts/core/button.min.js +2 -0
  59. data/assets/javascripts/core/core.js +730 -0
  60. data/assets/javascripts/core/core.min.js +2 -0
  61. data/assets/javascripts/core/cover.js +95 -0
  62. data/assets/javascripts/core/cover.min.js +2 -0
  63. data/assets/javascripts/core/dropdown.js +514 -0
  64. data/assets/javascripts/core/dropdown.min.js +2 -0
  65. data/assets/javascripts/core/grid.js +114 -0
  66. data/assets/javascripts/core/grid.min.js +2 -0
  67. data/assets/javascripts/core/modal.js +384 -0
  68. data/assets/javascripts/core/modal.min.js +2 -0
  69. data/assets/javascripts/core/nav.js +136 -0
  70. data/assets/javascripts/core/nav.min.js +2 -0
  71. data/assets/javascripts/core/offcanvas.js +180 -0
  72. data/assets/javascripts/core/offcanvas.min.js +2 -0
  73. data/assets/javascripts/core/scrollspy.js +208 -0
  74. data/assets/javascripts/core/scrollspy.min.js +2 -0
  75. data/assets/javascripts/core/smooth-scroll.js +62 -0
  76. data/assets/javascripts/core/smooth-scroll.min.js +2 -0
  77. data/assets/javascripts/core/switcher.js +309 -0
  78. data/assets/javascripts/core/switcher.min.js +2 -0
  79. data/assets/javascripts/core/tab.js +167 -0
  80. data/assets/javascripts/core/tab.min.js +2 -0
  81. data/assets/javascripts/core/toggle.js +120 -0
  82. data/assets/javascripts/core/toggle.min.js +2 -0
  83. data/assets/javascripts/core/touch.js +175 -0
  84. data/assets/javascripts/core/touch.min.js +2 -0
  85. data/assets/javascripts/core/utility.js +289 -0
  86. data/assets/javascripts/core/utility.min.js +2 -0
  87. data/assets/javascripts/uikit-components.js +23 -0
  88. data/assets/javascripts/uikit.js +3706 -0
  89. data/assets/javascripts/uikit.min.js +3 -0
  90. data/assets/stylesheets/components/accordion.scss +94 -0
  91. data/assets/stylesheets/components/autocomplete.scss +102 -0
  92. data/assets/stylesheets/components/datepicker.scss +197 -0
  93. data/assets/stylesheets/components/dotnav.scss +212 -0
  94. data/assets/stylesheets/components/form-advanced.scss +128 -0
  95. data/assets/stylesheets/components/form-file.scss +63 -0
  96. data/assets/stylesheets/components/form-password.scss +74 -0
  97. data/assets/stylesheets/components/form-select.scss +66 -0
  98. data/assets/stylesheets/components/htmleditor.scss +269 -0
  99. data/assets/stylesheets/components/nestable.scss +229 -0
  100. data/assets/stylesheets/components/notify.scss +190 -0
  101. data/assets/stylesheets/components/placeholder.scss +66 -0
  102. data/assets/stylesheets/components/progress.scss +173 -0
  103. data/assets/stylesheets/components/search.scss +309 -0
  104. data/assets/stylesheets/components/slidenav.scss +183 -0
  105. data/assets/stylesheets/components/slider.scss +131 -0
  106. data/assets/stylesheets/components/slideshow.scss +208 -0
  107. data/assets/stylesheets/components/sortable.scss +122 -0
  108. data/assets/stylesheets/components/sticky.scss +64 -0
  109. data/assets/stylesheets/components/tooltip.scss +177 -0
  110. data/assets/stylesheets/components/upload.scss +34 -0
  111. data/assets/stylesheets/core/alert.scss +141 -0
  112. data/assets/stylesheets/core/animation.scss +599 -0
  113. data/assets/stylesheets/core/article.scss +139 -0
  114. data/assets/stylesheets/core/badge.scss +110 -0
  115. data/assets/stylesheets/core/base-noconflict.scss +397 -0
  116. data/assets/stylesheets/core/base.scss +541 -0
  117. data/assets/stylesheets/core/block.scss +153 -0
  118. data/assets/stylesheets/core/breadcrumb.scss +86 -0
  119. data/assets/stylesheets/core/button.scss +406 -0
  120. data/assets/stylesheets/core/close.scss +132 -0
  121. data/assets/stylesheets/core/column.scss +209 -0
  122. data/assets/stylesheets/core/comment.scss +172 -0
  123. data/assets/stylesheets/core/contrast.scss +493 -0
  124. data/assets/stylesheets/core/cover.scss +70 -0
  125. data/assets/stylesheets/core/description-list.scss +71 -0
  126. data/assets/stylesheets/core/dropdown.scss +280 -0
  127. data/assets/stylesheets/core/flex.scss +320 -0
  128. data/assets/stylesheets/core/form.scss +627 -0
  129. data/assets/stylesheets/core/grid.scss +688 -0
  130. data/assets/stylesheets/core/icon.scss +897 -0
  131. data/assets/stylesheets/core/list.scss +102 -0
  132. data/assets/stylesheets/core/modal.scss +341 -0
  133. data/assets/stylesheets/core/nav.scss +468 -0
  134. data/assets/stylesheets/core/navbar.scss +325 -0
  135. data/assets/stylesheets/core/offcanvas.scss +168 -0
  136. data/assets/stylesheets/core/overlay.scss +534 -0
  137. data/assets/stylesheets/core/pagination.scss +197 -0
  138. data/assets/stylesheets/core/panel.scss +332 -0
  139. data/assets/stylesheets/core/print.scss +59 -0
  140. data/assets/stylesheets/core/subnav.scss +213 -0
  141. data/assets/stylesheets/core/switcher.scss +38 -0
  142. data/assets/stylesheets/core/tab.scss +368 -0
  143. data/assets/stylesheets/core/table.scss +147 -0
  144. data/assets/stylesheets/core/text.scss +128 -0
  145. data/assets/stylesheets/core/thumbnail.scss +122 -0
  146. data/assets/stylesheets/core/thumbnav.scss +122 -0
  147. data/assets/stylesheets/core/utility.scss +606 -0
  148. data/assets/stylesheets/core/variables.scss +23 -0
  149. data/assets/stylesheets/uikit-components.scss +22 -0
  150. data/assets/stylesheets/uikit-mixins.scss +327 -0
  151. data/assets/stylesheets/uikit-variables.scss +817 -0
  152. data/assets/stylesheets/uikit.scss +56 -0
  153. data/lib/uikit-rails.rb +2 -2
  154. data/lib/uikit-rails/engine.rb +11 -1
  155. data/lib/uikit-rails/version.rb +1 -3
  156. data/uikit-rails.gemspec +15 -16
  157. metadata +169 -44
  158. data/README.rb +0 -1
  159. data/vendor/assets/javascripts/ui.card.js +0 -115
  160. data/vendor/assets/javascripts/ui.color-picker.js +0 -351
  161. data/vendor/assets/javascripts/ui.confirmation.js +0 -133
  162. data/vendor/assets/javascripts/ui.dialog.js +0 -252
  163. data/vendor/assets/javascripts/ui.emitter.js +0 -99
  164. data/vendor/assets/javascripts/ui.js +0 -1641
  165. data/vendor/assets/javascripts/ui.menu.js +0 -238
  166. data/vendor/assets/javascripts/ui.notification.js +0 -240
  167. data/vendor/assets/javascripts/ui.overlay.js +0 -79
  168. data/vendor/assets/javascripts/ui.split-button.js +0 -108
  169. data/vendor/assets/stylesheets/ui.card.css +0 -55
  170. data/vendor/assets/stylesheets/ui.color-picker.css +0 -6
  171. data/vendor/assets/stylesheets/ui.confirmation.css +0 -7
  172. data/vendor/assets/stylesheets/ui.css +0 -337
  173. data/vendor/assets/stylesheets/ui.dialog.css +0 -92
  174. data/vendor/assets/stylesheets/ui.menu.css +0 -32
  175. data/vendor/assets/stylesheets/ui.notification.css +0 -107
  176. data/vendor/assets/stylesheets/ui.overlay.css +0 -16
  177. data/vendor/assets/stylesheets/ui.split-button.css +0 -27
@@ -0,0 +1,59 @@
1
+ // Name: Print
2
+ // Description: Optimize page for printing
3
+ //
4
+ // Adapted from http://github.com/h5bp/html5-boilerplate
5
+ //
6
+ // Modifications: Removed link `href` and `title` related rules
7
+ //
8
+ // ========================================================================
9
+
10
+
11
+ /* ========================================================================
12
+ Component: Print
13
+ ========================================================================== */
14
+
15
+ @media print {
16
+
17
+ * {
18
+ background: transparent !important;
19
+ color: black !important;
20
+ box-shadow: none !important;
21
+ text-shadow: none !important;
22
+ }
23
+
24
+ a,
25
+ a:visited { text-decoration: underline; }
26
+
27
+ pre,
28
+ blockquote {
29
+ border: 1px solid #999;
30
+ page-break-inside: avoid;
31
+ }
32
+
33
+ thead { display: table-header-group; }
34
+
35
+ tr,
36
+ img { page-break-inside: avoid; }
37
+
38
+ img { max-width: 100% !important; }
39
+
40
+ @page { margin: 0.5cm; }
41
+
42
+ p,
43
+ h2,
44
+ h3 {
45
+ orphans: 3;
46
+ widows: 3;
47
+ }
48
+
49
+ h2,
50
+ h3 { page-break-after: avoid; }
51
+
52
+ @include hook-print();
53
+
54
+ }
55
+
56
+ // Hooks
57
+ // ========================================================================
58
+
59
+ // @mixin hook-print(){}
@@ -0,0 +1,213 @@
1
+ // Name: Subnav
2
+ // Description: Defines styles for the sub navigation
3
+ //
4
+ // Component: `uk-subnav`
5
+ //
6
+ // Modifiers: `uk-subnav-line`
7
+ // `uk-subnav-pill`
8
+ //
9
+ // States: `uk-active`
10
+ //
11
+ // Markup:
12
+ //
13
+ // <!-- uk-subnav -->
14
+ // <ul class="uk-subnav">
15
+ // <li><a href=""></a></li>
16
+ // </ul>
17
+ //
18
+ // ========================================================================
19
+
20
+
21
+ // Variables
22
+ // ========================================================================
23
+
24
+ $subnav-margin-horizontal: 10px !default;
25
+ $subnav-margin-vertical: $subnav-margin-horizontal !default;
26
+
27
+ $subnav-color: #444 !default;
28
+ $subnav-hover-color: #07D !default;
29
+ $subnav-hover-text-decoration: none !default;
30
+ $subnav-active-color: #07D !default;
31
+
32
+ $subnav-line-border-height: 10px !default;
33
+ $subnav-line-border: #ddd !default;
34
+ $subnav-line-border-width: 1px !default;
35
+
36
+ $subnav-pill-padding-vertical: 3px !default;
37
+ $subnav-pill-padding-horizontal: 9px !default;
38
+ $subnav-pill-hover-background: #eee !default;
39
+ $subnav-pill-hover-color: #444 !default;
40
+ $subnav-pill-active-background: #00a8e6 !default;
41
+ $subnav-pill-active-color: #fff !default;
42
+
43
+ $subnav-disabled-color: #999 !default;
44
+
45
+
46
+ /* ========================================================================
47
+ Component: Subnav
48
+ ========================================================================== */
49
+
50
+ /*
51
+ * 1. Gutter
52
+ * 2. Remove default list style
53
+ */
54
+
55
+ .uk-subnav {
56
+ display: -ms-flexbox;
57
+ display: -webkit-flex;
58
+ display: flex;
59
+ -ms-flex-wrap: wrap;
60
+ -webkit-flex-wrap: wrap;
61
+ flex-wrap: wrap;
62
+ /* 1 */
63
+ margin-left: -$subnav-margin-horizontal;
64
+ margin-top: -$subnav-margin-vertical;
65
+ /* 2 */
66
+ padding: 0;
67
+ list-style: none;
68
+ }
69
+
70
+ /*
71
+ * 1. Space is allocated solely based on content dimensions
72
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
73
+ * 3. Create position context for dropdowns
74
+ */
75
+
76
+ .uk-subnav > * {
77
+ /* 1 */
78
+ -ms-flex: none;
79
+ -webkit-flex: none;
80
+ flex: none;
81
+ /* 2 */
82
+ padding-left: $subnav-margin-horizontal;
83
+ margin-top: $subnav-margin-vertical;
84
+ /* 3 */
85
+ position: relative;
86
+ }
87
+
88
+ /*
89
+ * DEPRECATED IE9 Support
90
+ */
91
+
92
+ .uk-subnav:before,
93
+ .uk-subnav:after {
94
+ content: "";
95
+ display: block;
96
+ overflow: hidden;
97
+ }
98
+
99
+ .uk-subnav:after { clear: both; }
100
+
101
+ .uk-subnav > * { float: left; }
102
+
103
+
104
+ /* Items
105
+ ========================================================================== */
106
+
107
+ .uk-subnav > * > * {
108
+ display: inline-block;
109
+ color: $subnav-color;
110
+ @include hook-subnav();
111
+ }
112
+
113
+ /*
114
+ * Hover
115
+ * 1. Apply hover style also to focus state
116
+ */
117
+
118
+ .uk-subnav > * > :hover,
119
+ .uk-subnav > * > :focus { // 1
120
+ color: $subnav-hover-color;
121
+ text-decoration: $subnav-hover-text-decoration;
122
+ @include hook-subnav-hover();
123
+ }
124
+
125
+ /*
126
+ * Active
127
+ */
128
+
129
+ .uk-subnav > .uk-active > * {
130
+ color: $subnav-active-color;
131
+ @include hook-subnav-active();
132
+ }
133
+
134
+
135
+ /* Modifier: 'subnav-line'
136
+ ========================================================================== */
137
+
138
+ .uk-subnav-line > :before {
139
+ content: "";
140
+ display: inline-block;
141
+ height: $subnav-line-border-height;
142
+ vertical-align: middle;
143
+ }
144
+
145
+ .uk-subnav-line > :nth-child(n+2):before {
146
+ margin-right: $subnav-margin-horizontal;
147
+ border-left: $subnav-line-border-width solid $subnav-line-border;
148
+ @include hook-subnav-line-divider();
149
+ }
150
+
151
+
152
+ /* Modifier: 'subnav-pill'
153
+ ========================================================================== */
154
+
155
+ .uk-subnav-pill > * > * {
156
+ padding: $subnav-pill-padding-vertical $subnav-pill-padding-horizontal;
157
+ @include hook-subnav-pill();
158
+ }
159
+
160
+ /*
161
+ * Hover
162
+ * 1. Apply hover style also to focus state
163
+ * 2. Remove default focus style
164
+ */
165
+
166
+ .uk-subnav-pill > * > :hover,
167
+ .uk-subnav-pill > * > :focus { // 1
168
+ background: $subnav-pill-hover-background;
169
+ color: $subnav-pill-hover-color;
170
+ text-decoration: none;
171
+ /* 2 */
172
+ outline: none;
173
+ @include hook-subnav-pill-hover();
174
+ }
175
+
176
+ /*
177
+ * Active
178
+ * `li` needed for higher specificity to override hover
179
+ */
180
+
181
+ .uk-subnav-pill > .uk-active > * {
182
+ background: $subnav-pill-active-background;
183
+ color: $subnav-pill-active-color;
184
+ @include hook-subnav-pill-active();
185
+ }
186
+
187
+
188
+ /* Disabled state
189
+ ========================================================================== */
190
+
191
+ .uk-subnav > .uk-disabled > * {
192
+ background: none;
193
+ color: $subnav-disabled-color;
194
+ text-decoration: none;
195
+ cursor: text;
196
+ @include hook-subnav-disabled();
197
+ }
198
+
199
+
200
+ // Hooks
201
+ // ========================================================================
202
+
203
+ @include hook-subnav-misc();
204
+
205
+ // @mixin hook-subnav(){}
206
+ // @mixin hook-subnav-hover(){}
207
+ // @mixin hook-subnav-active(){}
208
+ // @mixin hook-subnav-line-divider(){}
209
+ // @mixin hook-subnav-pill(){}
210
+ // @mixin hook-subnav-pill-hover(){}
211
+ // @mixin hook-subnav-pill-active(){}
212
+ // @mixin hook-subnav-disabled(){}
213
+ // @mixin hook-subnav-misc(){}
@@ -0,0 +1,38 @@
1
+ // Name: Switcher
2
+ // Description: Defines styles for the switcher
3
+ //
4
+ // Component: `uk-switcher`
5
+ //
6
+ // States: `uk-active`
7
+ //
8
+ // ========================================================================
9
+
10
+
11
+ /* ========================================================================
12
+ Component: Switcher
13
+ ========================================================================== */
14
+
15
+ /*
16
+ * 1. Deactivate browser history navigation in IE11
17
+ */
18
+ .uk-switcher {
19
+ margin: 0;
20
+ padding: 0;
21
+ list-style: none;
22
+ /* 1 */
23
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
24
+ }
25
+
26
+ /*
27
+ * Items
28
+ */
29
+
30
+ .uk-switcher > :not(.uk-active) { display: none; }
31
+
32
+
33
+ // Hooks
34
+ // ========================================================================
35
+
36
+ @include hook-switcher-misc();
37
+
38
+ // @mixin hook-switcher-misc(){}
@@ -0,0 +1,368 @@
1
+ // Name: Tab
2
+ // Description: Defines styles for a tabbed navigation
3
+ //
4
+ // Component: `uk-tab`
5
+ //
6
+ // Modifiers: `uk-tab-flip`
7
+ // `uk-tab-center`
8
+ // `uk-tab-grid`
9
+ // `uk-tab-bottom`
10
+ // `uk-tab-left`
11
+ // `uk-tab-right`
12
+ // `uk-tab-responsive`
13
+ //
14
+ // States: `uk-active`
15
+ // `uk-disabled`
16
+ //
17
+ // Markup:
18
+ //
19
+ // <!-- uk-tab -->
20
+ // <ul class="uk-tab" data-uk-tab>
21
+ // <li class="uk-active"><a href=""></a></li>
22
+ // <li><a href=""></a></li>
23
+ // </ul>
24
+ //
25
+ // ========================================================================
26
+
27
+
28
+ // Variables
29
+ // ========================================================================
30
+
31
+ $tab-border: #ddd !default;
32
+ $tab-border-width: 1px !default;
33
+ $tab-padding-horizontal: 12px !default;
34
+ $tab-padding-vertical: 8px !default;
35
+ $tab-padding-top: $tab-padding-vertical !default;
36
+ $tab-padding-bottom: $tab-padding-vertical !default;
37
+ $tab-margin-horizontal: 5px !default;
38
+ $tab-margin-vertical: 5px !default;
39
+ $tab-color: #07D !default;
40
+ $tab-hover-border: #f5f5f5 !default;
41
+ $tab-hover-background: #f5f5f5 !default;
42
+ $tab-hover-color: #059 !default;
43
+ $tab-active-border: #ddd !default;
44
+ $tab-active-background: #fff !default;
45
+ $tab-active-color: #444 !default;
46
+ $tab-disabled-color: #999 !default;
47
+
48
+
49
+ /* ========================================================================
50
+ Component: Tab
51
+ ========================================================================== */
52
+
53
+ .uk-tab {
54
+ margin: 0;
55
+ padding: 0;
56
+ list-style: none;
57
+ border-bottom: $tab-border-width solid $tab-border;
58
+ }
59
+
60
+ /*
61
+ * Micro clearfix on the deepest container
62
+ */
63
+
64
+ .uk-tab:before,
65
+ .uk-tab:after {
66
+ content: "";
67
+ display: table;
68
+ }
69
+
70
+ .uk-tab:after { clear: both; }
71
+
72
+ /*
73
+ * Items
74
+ * 1. Create position context for dropdowns
75
+ */
76
+
77
+ .uk-tab > li {
78
+ margin-bottom: -$tab-border-width;
79
+ float: left;
80
+ /* 1 */
81
+ position: relative;
82
+ }
83
+
84
+ .uk-tab > li > a {
85
+ display: block;
86
+ padding: $tab-padding-top $tab-padding-horizontal $tab-padding-bottom $tab-padding-horizontal;
87
+ border: $tab-border-width solid transparent;
88
+ border-bottom-width: 0;
89
+ color: $tab-color;
90
+ text-decoration: none;
91
+ @include hook-tab();
92
+ }
93
+
94
+ .uk-tab > li:nth-child(n+2) > a { margin-left: $tab-margin-horizontal; }
95
+
96
+ /*
97
+ * Hover
98
+ * 1. Apply hover style also to focus state
99
+ * 2. Also apply if dropdown is opened
100
+ * 3. Remove default focus style
101
+ */
102
+
103
+ .uk-tab > li > a:hover,
104
+ .uk-tab > li > a:focus, // 1
105
+ .uk-tab > li.uk-open > a { // 2
106
+ border-color: $tab-hover-border;
107
+ background: $tab-hover-background;
108
+ color: $tab-hover-color;
109
+ /* 2 */
110
+ outline: none;
111
+ @include hook-tab-hover();
112
+ }
113
+
114
+ .uk-tab > li:not(.uk-active) > a:hover,
115
+ .uk-tab > li:not(.uk-active) > a:focus,
116
+ .uk-tab > li.uk-open:not(.uk-active) > a {
117
+ margin-bottom: $tab-border-width;
118
+ padding-bottom: $tab-padding-bottom - $tab-border-width;
119
+ }
120
+
121
+ /* Active */
122
+ .uk-tab > li.uk-active > a {
123
+ border-color: $tab-active-border;
124
+ border-bottom-color: transparent;
125
+ background: $tab-active-background;
126
+ color: $tab-active-color;
127
+ @include hook-tab-active();
128
+ }
129
+
130
+ /* Disabled */
131
+ .uk-tab > li.uk-disabled > a {
132
+ color: $tab-disabled-color;
133
+ cursor: text;
134
+ @include hook-tab-disabled();
135
+ }
136
+
137
+ .uk-tab > li.uk-disabled > a:hover,
138
+ .uk-tab > li.uk-disabled > a:focus,
139
+ .uk-tab > li.uk-disabled.uk-active > a {
140
+ background: none;
141
+ border-color: transparent;
142
+ }
143
+
144
+
145
+ /* Modifier: 'tab-flip'
146
+ ========================================================================== */
147
+
148
+ .uk-tab-flip > li { float: right; }
149
+
150
+ .uk-tab-flip > li:nth-child(n+2) > a {
151
+ margin-left: 0;
152
+ margin-right: $tab-margin-horizontal;
153
+ }
154
+
155
+
156
+ /* Modifier: 'tab-responsive'
157
+ ========================================================================== */
158
+
159
+ .uk-tab > li.uk-tab-responsive > a {
160
+ margin-left: 0;
161
+ margin-right: 0;
162
+ }
163
+
164
+ /*
165
+ * Icon
166
+ */
167
+
168
+ .uk-tab-responsive > a:before {
169
+ content: "\f0c9\00a0";
170
+ font-family: FontAwesome;
171
+ }
172
+
173
+
174
+ /* Modifier: 'tab-center'
175
+ ========================================================================== */
176
+
177
+ .uk-tab-center { border-bottom: $tab-border-width solid $tab-border; }
178
+
179
+ .uk-tab-center-bottom {
180
+ border-bottom: none;
181
+ border-top: $tab-border-width solid $tab-border;
182
+ }
183
+
184
+ .uk-tab-center:before,
185
+ .uk-tab-center:after {
186
+ content: "";
187
+ display: table;
188
+ }
189
+
190
+ .uk-tab-center:after { clear: both; }
191
+
192
+
193
+ /*
194
+ * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs
195
+ */
196
+
197
+ .uk-tab-center .uk-tab {
198
+ position: relative;
199
+ right: 50%;
200
+ border: none;
201
+ float: right;
202
+ }
203
+
204
+ .uk-tab-center .uk-tab > li {
205
+ position: relative;
206
+ right: -50%;
207
+ }
208
+
209
+ .uk-tab-center .uk-tab > li > a { text-align: center; }
210
+
211
+
212
+ /* Modifier: 'tab-bottom'
213
+ ========================================================================== */
214
+
215
+ .uk-tab-bottom {
216
+ border-top: $tab-border-width solid $tab-border;
217
+ border-bottom: none;
218
+ }
219
+
220
+ .uk-tab-bottom > li {
221
+ margin-top: -$tab-border-width;
222
+ margin-bottom: 0;
223
+ }
224
+
225
+ .uk-tab-bottom > li > a {
226
+ padding-top: $tab-padding-bottom;
227
+ padding-bottom: $tab-padding-top;
228
+ border-bottom-width: $tab-border-width;
229
+ border-top-width: 0;
230
+ }
231
+
232
+ .uk-tab-bottom > li:not(.uk-active) > a:hover,
233
+ .uk-tab-bottom > li:not(.uk-active) > a:focus,
234
+ .uk-tab-bottom > li.uk-open:not(.uk-active) > a {
235
+ margin-bottom: 0;
236
+ margin-top: $tab-border-width;
237
+ padding-bottom: $tab-padding-top;
238
+ padding-top: $tab-padding-bottom - $tab-border-width;
239
+ }
240
+
241
+ .uk-tab-bottom > li.uk-active > a {
242
+ border-top-color: transparent;
243
+ border-bottom-color: $tab-active-border;
244
+ }
245
+
246
+
247
+ /* Modifier: 'tab-grid'
248
+ ========================================================================== */
249
+
250
+ /*
251
+ * 1. Create position context to prevent hidden border because of negative `z-index`
252
+ */
253
+
254
+ .uk-tab-grid {
255
+ margin-left: -$tab-margin-horizontal;
256
+ border-bottom: none;
257
+ /* 1 */
258
+ position: relative;
259
+ z-index: 0;
260
+ }
261
+
262
+ .uk-tab-grid:before {
263
+ display: block;
264
+ position: absolute;
265
+ left: $tab-margin-horizontal;
266
+ right: 0;
267
+ bottom: -$tab-border-width;
268
+ border-top: $tab-border-width solid $tab-border;
269
+ /* 1 */
270
+ z-index: -1;
271
+ }
272
+
273
+ .uk-tab-grid > li:first-child > a { margin-left: $tab-margin-horizontal; }
274
+
275
+ .uk-tab-grid > li > a { text-align: center; }
276
+
277
+ /*
278
+ * If `uk-tab-bottom`
279
+ */
280
+
281
+ .uk-tab-grid.uk-tab-bottom { border-top: none; }
282
+ .uk-tab-grid.uk-tab-bottom:before {
283
+ top: -$tab-border-width;
284
+ bottom: auto;
285
+ }
286
+
287
+
288
+ /* Modifier: 'tab-left', 'tab-right'
289
+ ========================================================================== */
290
+
291
+ /* Tablet and bigger */
292
+ @media (min-width: $breakpoint-medium) {
293
+
294
+ .uk-tab-left,
295
+ .uk-tab-right { border-bottom: none; }
296
+
297
+ .uk-tab-left > li,
298
+ .uk-tab-right > li {
299
+ margin-bottom: 0;
300
+ float: none;
301
+ }
302
+
303
+ .uk-tab-left > li > a,
304
+ .uk-tab-right > li > a {
305
+ padding-top: $tab-padding-vertical;
306
+ padding-bottom: $tab-padding-vertical;
307
+ }
308
+
309
+ .uk-tab-left > li:nth-child(n+2) > a,
310
+ .uk-tab-right > li:nth-child(n+2) > a {
311
+ margin-left: 0;
312
+ margin-top: $tab-margin-vertical;
313
+ }
314
+
315
+ .uk-tab-left > li.uk-active > a,
316
+ .uk-tab-right > li.uk-active > a { border-color: $tab-active-border; }
317
+
318
+ /*
319
+ * Modifier: 'tab-left'
320
+ */
321
+
322
+ .uk-tab-left { border-right: $tab-border-width solid $tab-border; }
323
+ .uk-tab-left > li { margin-right: -$tab-border-width; }
324
+ .uk-tab-left > li > a {
325
+ border-bottom-width: $tab-border-width;
326
+ border-right-width: 0;
327
+ }
328
+ .uk-tab-left > li:not(.uk-active) > a:hover,
329
+ .uk-tab-left > li:not(.uk-active) > a:focus {
330
+ margin-bottom: 0;
331
+ margin-right: $tab-border-width;
332
+ padding-bottom: $tab-padding-vertical;
333
+ padding-right: $tab-padding-horizontal - $tab-border-width;
334
+ }
335
+ .uk-tab-left > li.uk-active > a { border-right-color: transparent; }
336
+
337
+ /*
338
+ * Modifier: 'tab-right'
339
+ */
340
+
341
+ .uk-tab-right { border-left: $tab-border-width solid $tab-border; }
342
+ .uk-tab-right > li { margin-left: -$tab-border-width; }
343
+ .uk-tab-right > li > a {
344
+ border-bottom-width: $tab-border-width;
345
+ border-left-width: 0;
346
+ }
347
+ .uk-tab-right > li:not(.uk-active) > a:hover,
348
+ .uk-tab-right > li:not(.uk-active) > a:focus {
349
+ margin-bottom: 0;
350
+ margin-left: $tab-border-width;
351
+ padding-bottom: $tab-padding-vertical;
352
+ padding-left: $tab-padding-horizontal - $tab-border-width;
353
+ }
354
+ .uk-tab-right > li.uk-active > a { border-left-color: transparent; }
355
+
356
+ }
357
+
358
+
359
+ // Hooks
360
+ // ========================================================================
361
+
362
+ @include hook-tab-misc();
363
+
364
+ // @mixin hook-tab(){}
365
+ // @mixin hook-tab-hover(){}
366
+ // @mixin hook-tab-active(){}
367
+ // @mixin hook-tab-disabled(){}
368
+ // @mixin hook-tab-misc(){}