uikit 3.14.2-dev.404bdcedf → 3.14.2-dev.447aa311a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/css/uikit-core-rtl.css +85 -24
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +85 -24
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +88 -23
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +88 -23
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +1 -1
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +101 -22
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +101 -22
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +17 -2
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +1 -1
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +1 -1
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +1 -1
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +1 -1
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +135 -44
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +222 -110
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +238 -111
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/components/parallax.js +16 -1
- package/src/js/core/accordion.js +3 -3
- package/src/js/core/alert.js +1 -1
- package/src/js/core/drop.js +40 -20
- package/src/js/core/height-viewport.js +14 -9
- package/src/js/core/navbar.js +19 -18
- package/src/js/core/toggle.js +5 -8
- package/src/js/mixin/position.js +44 -23
- package/src/js/mixin/togglable.js +105 -24
- package/src/js/util/animation.js +1 -0
- package/src/js/util/viewport.js +2 -5
- package/src/less/components/drop.less +19 -5
- package/src/less/components/dropdown.less +21 -5
- package/src/less/components/margin.less +13 -14
- package/src/less/components/modal.less +19 -4
- package/src/less/components/nav.less +1 -1
- package/src/less/components/navbar.less +46 -19
- package/src/less/components/offcanvas.less +21 -21
- package/src/less/components/position.less +1 -1
- package/src/less/components/sticky.less +7 -0
- package/src/less/components/utility.less +1 -2
- package/src/less/theme/dropdown.less +11 -0
- package/src/less/theme/navbar.less +7 -0
- package/src/scss/components/drop.scss +19 -5
- package/src/scss/components/dropdown.scss +21 -5
- package/src/scss/components/margin.scss +13 -14
- package/src/scss/components/modal.scss +19 -4
- package/src/scss/components/nav.scss +1 -1
- package/src/scss/components/navbar.scss +35 -8
- package/src/scss/components/offcanvas.scss +21 -21
- package/src/scss/components/position.scss +1 -1
- package/src/scss/components/sticky.scss +7 -0
- package/src/scss/components/utility.scss +1 -2
- package/src/scss/mixins-theme.scss +8 -0
- package/src/scss/mixins.scss +2 -0
- package/src/scss/theme/dropdown.scss +8 -0
- package/src/scss/theme/navbar.scss +4 -0
- package/src/scss/variables-theme.scss +23 -10
- package/src/scss/variables.scss +22 -11
- package/tests/drop.html +145 -2
- package/tests/dropdown.html +228 -13
- package/tests/height-viewport.html +62 -0
- package/tests/navbar.html +321 -14
- package/tests/offcanvas.html +8 -8
- package/tests/sticky-navbar.html +132 -0
- package/tests/sticky-parallax.html +2 -1
- package/tests/sticky.html +5 -4
|
@@ -5,13 +5,15 @@ import {
|
|
|
5
5
|
css,
|
|
6
6
|
fastdom,
|
|
7
7
|
hasClass,
|
|
8
|
-
height,
|
|
9
8
|
includes,
|
|
10
9
|
isBoolean,
|
|
11
10
|
isFunction,
|
|
12
11
|
isVisible,
|
|
13
12
|
noop,
|
|
13
|
+
offset,
|
|
14
14
|
removeClass,
|
|
15
|
+
scrollParents,
|
|
16
|
+
startsWith,
|
|
15
17
|
toFloat,
|
|
16
18
|
toggleClass,
|
|
17
19
|
toNodes,
|
|
@@ -41,7 +43,7 @@ export default {
|
|
|
41
43
|
|
|
42
44
|
initProps: {
|
|
43
45
|
overflow: '',
|
|
44
|
-
|
|
46
|
+
maxHeight: '',
|
|
45
47
|
paddingTop: '',
|
|
46
48
|
paddingBottom: '',
|
|
47
49
|
marginTop: '',
|
|
@@ -51,7 +53,7 @@ export default {
|
|
|
51
53
|
|
|
52
54
|
hideProps: {
|
|
53
55
|
overflow: 'hidden',
|
|
54
|
-
|
|
56
|
+
maxHeight: 0,
|
|
55
57
|
paddingTop: 0,
|
|
56
58
|
paddingBottom: 0,
|
|
57
59
|
marginTop: 0,
|
|
@@ -66,7 +68,7 @@ export default {
|
|
|
66
68
|
},
|
|
67
69
|
|
|
68
70
|
hasTransition({ animation }) {
|
|
69
|
-
return
|
|
71
|
+
return startsWith(animation[0], 'slide');
|
|
70
72
|
},
|
|
71
73
|
},
|
|
72
74
|
|
|
@@ -81,18 +83,13 @@ export default {
|
|
|
81
83
|
return Promise.reject();
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
if (!animate) {
|
|
85
|
-
Animation.cancel(el);
|
|
86
|
-
Transition.cancel(el);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
86
|
const promise = (
|
|
90
87
|
isFunction(animate)
|
|
91
88
|
? animate
|
|
92
89
|
: animate === false || !this.hasAnimation
|
|
93
|
-
? this
|
|
90
|
+
? toggleInstant(this)
|
|
94
91
|
: this.hasTransition
|
|
95
|
-
?
|
|
92
|
+
? toggleTransition(this)
|
|
96
93
|
: toggleAnimation(this)
|
|
97
94
|
)(el, show);
|
|
98
95
|
|
|
@@ -156,7 +153,25 @@ export default {
|
|
|
156
153
|
},
|
|
157
154
|
};
|
|
158
155
|
|
|
159
|
-
|
|
156
|
+
function toggleInstant({ _toggle }) {
|
|
157
|
+
return (el, show) => {
|
|
158
|
+
Animation.cancel(el);
|
|
159
|
+
Transition.cancel(el);
|
|
160
|
+
return _toggle(el, show);
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function toggleTransition(cmp) {
|
|
165
|
+
switch (cmp.animation[0]) {
|
|
166
|
+
case 'slide-left':
|
|
167
|
+
return slideHorizontal(cmp);
|
|
168
|
+
case 'slide-right':
|
|
169
|
+
return slideHorizontal(cmp, true);
|
|
170
|
+
}
|
|
171
|
+
return slide(cmp);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export function slide({
|
|
160
175
|
isToggled,
|
|
161
176
|
duration,
|
|
162
177
|
velocity,
|
|
@@ -167,11 +182,14 @@ export function toggleHeight({
|
|
|
167
182
|
}) {
|
|
168
183
|
return (el, show) => {
|
|
169
184
|
const inProgress = Transition.inProgress(el);
|
|
170
|
-
const inner =
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
185
|
+
const inner =
|
|
186
|
+
!inProgress && el.hasChildNodes()
|
|
187
|
+
? toFloat(css(el.firstElementChild, 'marginTop')) +
|
|
188
|
+
toFloat(css(el.lastElementChild, 'marginBottom'))
|
|
189
|
+
: 0;
|
|
190
|
+
const currentHeight = isVisible(el) ? toFloat(css(el, 'height')) + inner : 0;
|
|
191
|
+
|
|
192
|
+
const props = inProgress ? css(el, Object.keys(initProps)) : show ? hideProps : initProps;
|
|
175
193
|
|
|
176
194
|
Transition.cancel(el);
|
|
177
195
|
|
|
@@ -179,34 +197,97 @@ export function toggleHeight({
|
|
|
179
197
|
_toggle(el, true);
|
|
180
198
|
}
|
|
181
199
|
|
|
182
|
-
|
|
200
|
+
css(el, 'maxHeight', '');
|
|
183
201
|
|
|
184
202
|
// Update child components first
|
|
185
203
|
fastdom.flush();
|
|
186
204
|
|
|
187
|
-
const endHeight =
|
|
188
|
-
duration = velocity *
|
|
205
|
+
const endHeight = toFloat(css(el, 'height')) + inner;
|
|
206
|
+
duration = velocity * endHeight + duration;
|
|
189
207
|
|
|
190
|
-
|
|
208
|
+
css(el, { ...props, maxHeight: currentHeight });
|
|
191
209
|
|
|
192
210
|
return (
|
|
193
211
|
show
|
|
194
212
|
? Transition.start(
|
|
195
213
|
el,
|
|
196
|
-
{ ...initProps, overflow: 'hidden',
|
|
197
|
-
|
|
214
|
+
{ ...initProps, overflow: 'hidden', maxHeight: endHeight },
|
|
215
|
+
duration * (1 - currentHeight / endHeight),
|
|
198
216
|
transition
|
|
199
217
|
)
|
|
200
218
|
: Transition.start(
|
|
201
219
|
el,
|
|
202
220
|
hideProps,
|
|
203
|
-
|
|
221
|
+
duration * (currentHeight / endHeight),
|
|
204
222
|
transition
|
|
205
223
|
).then(() => _toggle(el, false))
|
|
206
224
|
).then(() => css(el, initProps));
|
|
207
225
|
};
|
|
208
226
|
}
|
|
209
227
|
|
|
228
|
+
function slideHorizontal({ isToggled, duration, velocity, transition, _toggle }, right) {
|
|
229
|
+
return (el, show) => {
|
|
230
|
+
const visible = isVisible(el);
|
|
231
|
+
const marginLeft = toFloat(css(el, 'marginLeft'));
|
|
232
|
+
|
|
233
|
+
Transition.cancel(el);
|
|
234
|
+
|
|
235
|
+
const [scrollElement] = scrollParents(el);
|
|
236
|
+
css(scrollElement, 'overflowX', 'hidden');
|
|
237
|
+
|
|
238
|
+
if (!isToggled(el)) {
|
|
239
|
+
_toggle(el, true);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
const width = toFloat(css(el, 'width'));
|
|
243
|
+
duration = velocity * width + duration;
|
|
244
|
+
|
|
245
|
+
const percent = visible ? ((width + marginLeft * (right ? -1 : 1)) / width) * 100 : 0;
|
|
246
|
+
const offsetEl = offset(el);
|
|
247
|
+
const useClipPath = right
|
|
248
|
+
? offsetEl.right < scrollElement.clientWidth
|
|
249
|
+
: Math.round(offsetEl.left) > 0;
|
|
250
|
+
|
|
251
|
+
css(el, {
|
|
252
|
+
clipPath: useClipPath
|
|
253
|
+
? right
|
|
254
|
+
? `polygon(0 0,${percent}% 0,${percent}% 100%,0 100%)`
|
|
255
|
+
: `polygon(${100 - percent}% 0,100% 0,100% 100%,${100 - percent}% 100%)`
|
|
256
|
+
: '',
|
|
257
|
+
marginLeft: (((100 - percent) * (right ? 1 : -1)) / 100) * width,
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
return (
|
|
261
|
+
show
|
|
262
|
+
? Transition.start(
|
|
263
|
+
el,
|
|
264
|
+
{
|
|
265
|
+
clipPath: useClipPath ? `polygon(0 0,100% 0,100% 100%,0 100%)` : '',
|
|
266
|
+
marginLeft: 0,
|
|
267
|
+
},
|
|
268
|
+
duration * (1 - percent / 100),
|
|
269
|
+
transition
|
|
270
|
+
)
|
|
271
|
+
: Transition.start(
|
|
272
|
+
el,
|
|
273
|
+
{
|
|
274
|
+
clipPath: useClipPath
|
|
275
|
+
? right
|
|
276
|
+
? `polygon(0 0,0 0,0 100%,0 100%)`
|
|
277
|
+
: `polygon(100% 0,100% 0,100% 100%,100% 100%)`
|
|
278
|
+
: '',
|
|
279
|
+
marginLeft: (right ? 1 : -1) * width,
|
|
280
|
+
},
|
|
281
|
+
duration * (percent / 100),
|
|
282
|
+
transition
|
|
283
|
+
).then(() => _toggle(el, false))
|
|
284
|
+
).then(() => {
|
|
285
|
+
css(scrollElement, 'overflowX', '');
|
|
286
|
+
css(el, { clipPath: '', marginLeft: '' });
|
|
287
|
+
});
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
210
291
|
function toggleAnimation(cmp) {
|
|
211
292
|
return (el, show) => {
|
|
212
293
|
Animation.cancel(el);
|
package/src/js/util/animation.js
CHANGED
|
@@ -5,6 +5,7 @@ import { startsWith, toNodes } from './lang';
|
|
|
5
5
|
import { addClass, hasClass, removeClass, removeClasses } from './class';
|
|
6
6
|
|
|
7
7
|
export function transition(element, props, duration = 400, timing = 'linear') {
|
|
8
|
+
duration = Math.round(duration);
|
|
8
9
|
return Promise.all(
|
|
9
10
|
toNodes(element).map(
|
|
10
11
|
(element) =>
|
package/src/js/util/viewport.js
CHANGED
|
@@ -128,7 +128,7 @@ export function scrolledOver(element, startOffset = 0, endOffset = 0) {
|
|
|
128
128
|
return clamp((scrollTop - start) / (end - start));
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
export function scrollParents(element, overflowRe = /auto|scroll|hidden/, scrollable = false) {
|
|
131
|
+
export function scrollParents(element, overflowRe = /auto|scroll|hidden|clip/, scrollable = false) {
|
|
132
132
|
const scrollEl = scrollingElement(element);
|
|
133
133
|
|
|
134
134
|
let ancestors = parents(element).reverse();
|
|
@@ -171,10 +171,7 @@ export function offsetViewport(scrollElement) {
|
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
function scrollingElement(element) {
|
|
174
|
-
|
|
175
|
-
document: { scrollingElement },
|
|
176
|
-
} = toWindow(element);
|
|
177
|
-
return scrollingElement;
|
|
174
|
+
return toWindow(element).document.scrollingElement;
|
|
178
175
|
}
|
|
179
176
|
|
|
180
177
|
function getViewport(scrollElement) {
|
|
@@ -3,10 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Component: `uk-drop`
|
|
5
5
|
//
|
|
6
|
-
// Modifiers: `uk-drop-
|
|
7
|
-
// `uk-drop-bottom-*`
|
|
8
|
-
// `uk-drop-left-*`
|
|
9
|
-
// `uk-drop-right-*`
|
|
6
|
+
// Modifiers: `uk-drop-stretch`
|
|
10
7
|
// `uk-drop-stack`
|
|
11
8
|
// `uk-drop-grid`
|
|
12
9
|
//
|
|
@@ -22,6 +19,7 @@
|
|
|
22
19
|
|
|
23
20
|
@drop-z-index: @global-z-index + 20;
|
|
24
21
|
@drop-margin: @global-margin;
|
|
22
|
+
@drop-viewport-margin: 15px;
|
|
25
23
|
@drop-width: 300px;
|
|
26
24
|
|
|
27
25
|
|
|
@@ -42,7 +40,7 @@
|
|
|
42
40
|
position: absolute;
|
|
43
41
|
z-index: @drop-z-index;
|
|
44
42
|
--uk-position-offset: @drop-margin;
|
|
45
|
-
--uk-position-viewport-offset:
|
|
43
|
+
--uk-position-viewport-offset: @drop-viewport-margin;
|
|
46
44
|
/* 3 */
|
|
47
45
|
box-sizing: border-box;
|
|
48
46
|
width: @drop-width;
|
|
@@ -52,6 +50,22 @@
|
|
|
52
50
|
.uk-drop.uk-open { display: block; }
|
|
53
51
|
|
|
54
52
|
|
|
53
|
+
/* Stretch modifier
|
|
54
|
+
========================================================================== */
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* 1. Allow scrolling
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
.uk-drop-stretch {
|
|
61
|
+
--uk-position-offset: 0;
|
|
62
|
+
--uk-position-viewport-offset: 0;
|
|
63
|
+
/* 1 */
|
|
64
|
+
overflow-y: auto;
|
|
65
|
+
-webkit-overflow-scrolling: touch;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
55
69
|
/* Grid modifiers
|
|
56
70
|
========================================================================== */
|
|
57
71
|
|
|
@@ -5,10 +5,7 @@
|
|
|
5
5
|
//
|
|
6
6
|
// Adopted: `uk-dropdown-nav`
|
|
7
7
|
//
|
|
8
|
-
// Modifiers: `uk-dropdown-
|
|
9
|
-
// `uk-dropdown-bottom-*`
|
|
10
|
-
// `uk-dropdown-left-*`
|
|
11
|
-
// `uk-dropdown-right-*`
|
|
8
|
+
// Modifiers: `uk-dropdown-stretch`
|
|
12
9
|
// `uk-dropdown-stack`
|
|
13
10
|
// `uk-dropdown-grid`
|
|
14
11
|
//
|
|
@@ -22,6 +19,7 @@
|
|
|
22
19
|
|
|
23
20
|
@dropdown-z-index: @global-z-index + 20;
|
|
24
21
|
@dropdown-margin: @global-small-margin;
|
|
22
|
+
@dropdown-viewport-margin: 15px;
|
|
25
23
|
@dropdown-min-width: 200px;
|
|
26
24
|
@dropdown-padding: 15px;
|
|
27
25
|
@dropdown-background: @global-muted-background;
|
|
@@ -55,7 +53,7 @@
|
|
|
55
53
|
position: absolute;
|
|
56
54
|
z-index: @dropdown-z-index;
|
|
57
55
|
--uk-position-offset: @dropdown-margin;
|
|
58
|
-
--uk-position-viewport-offset:
|
|
56
|
+
--uk-position-viewport-offset: @dropdown-viewport-margin;
|
|
59
57
|
/* 3 */
|
|
60
58
|
box-sizing: border-box;
|
|
61
59
|
min-width: @dropdown-min-width;
|
|
@@ -71,6 +69,23 @@
|
|
|
71
69
|
.uk-dropdown.uk-open { display: block; }
|
|
72
70
|
|
|
73
71
|
|
|
72
|
+
/* Stretch modifier
|
|
73
|
+
========================================================================== */
|
|
74
|
+
|
|
75
|
+
/*
|
|
76
|
+
* 1. Allow scrolling
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
.uk-dropdown-stretch {
|
|
80
|
+
--uk-position-offset: 0;
|
|
81
|
+
--uk-position-viewport-offset: 0;
|
|
82
|
+
/* 1 */
|
|
83
|
+
overflow-y: auto;
|
|
84
|
+
-webkit-overflow-scrolling: touch;
|
|
85
|
+
.hook-dropdown-stretch();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
74
89
|
/* Nav
|
|
75
90
|
* Adopts `uk-nav`
|
|
76
91
|
========================================================================== */
|
|
@@ -145,6 +160,7 @@
|
|
|
145
160
|
.hook-dropdown-misc();
|
|
146
161
|
|
|
147
162
|
.hook-dropdown() {}
|
|
163
|
+
.hook-dropdown-stretch() {}
|
|
148
164
|
.hook-dropdown-nav() {}
|
|
149
165
|
.hook-dropdown-nav-item() {}
|
|
150
166
|
.hook-dropdown-nav-item-hover() {}
|
|
@@ -193,20 +193,20 @@
|
|
|
193
193
|
/* Remove
|
|
194
194
|
========================================================================== */
|
|
195
195
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
196
|
+
.uk-margin-remove { margin: 0 !important; }
|
|
197
|
+
.uk-margin-remove-top { margin-top: 0 !important; }
|
|
198
|
+
.uk-margin-remove-bottom { margin-bottom: 0 !important; }
|
|
199
|
+
.uk-margin-remove-left { margin-left: 0 !important; }
|
|
200
|
+
.uk-margin-remove-right { margin-right: 0 !important; }
|
|
201
|
+
|
|
202
|
+
.uk-margin-remove-vertical {
|
|
203
|
+
margin-top: 0 !important;
|
|
204
|
+
margin-bottom: 0 !important;
|
|
205
|
+
}
|
|
206
206
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
.uk-margin-remove-adjacent + *,
|
|
208
|
+
.uk-margin-remove-first-child > :first-child { margin-top: 0 !important; }
|
|
209
|
+
.uk-margin-remove-last-child > :last-child { margin-bottom: 0 !important; }
|
|
210
210
|
|
|
211
211
|
/* Phone landscape and bigger */
|
|
212
212
|
@media (min-width: @breakpoint-small) {
|
|
@@ -241,7 +241,6 @@
|
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
|
|
244
|
-
|
|
245
244
|
// Hooks
|
|
246
245
|
// ========================================================================
|
|
247
246
|
|
|
@@ -40,15 +40,21 @@
|
|
|
40
40
|
|
|
41
41
|
@modal-container-width: 1200px;
|
|
42
42
|
|
|
43
|
-
@modal-body-padding-horizontal:
|
|
44
|
-
@modal-body-padding-vertical:
|
|
43
|
+
@modal-body-padding-horizontal: 20px;
|
|
44
|
+
@modal-body-padding-vertical: 20px;
|
|
45
|
+
@modal-body-padding-horizontal-s: @global-gutter;
|
|
46
|
+
@modal-body-padding-vertical-s: @global-gutter;
|
|
45
47
|
|
|
46
|
-
@modal-header-padding-horizontal:
|
|
48
|
+
@modal-header-padding-horizontal: 20px;
|
|
47
49
|
@modal-header-padding-vertical: (@modal-header-padding-horizontal / 2);
|
|
50
|
+
@modal-header-padding-horizontal-s: @global-gutter;
|
|
51
|
+
@modal-header-padding-vertical-s: (@modal-header-padding-horizontal-s / 2);
|
|
48
52
|
@modal-header-background: @global-muted-background;
|
|
49
53
|
|
|
50
|
-
@modal-footer-padding-horizontal:
|
|
54
|
+
@modal-footer-padding-horizontal: 20px;
|
|
51
55
|
@modal-footer-padding-vertical: (@modal-footer-padding-horizontal / 2);
|
|
56
|
+
@modal-footer-padding-horizontal-s: @global-gutter;
|
|
57
|
+
@modal-footer-padding-vertical-s: (@modal-footer-padding-horizontal-s / 2);
|
|
52
58
|
@modal-footer-background: @global-muted-background;
|
|
53
59
|
|
|
54
60
|
@modal-title-font-size: @global-xlarge-font-size;
|
|
@@ -228,6 +234,15 @@
|
|
|
228
234
|
.hook-modal-footer();
|
|
229
235
|
}
|
|
230
236
|
|
|
237
|
+
/* Phone landscape and bigger */
|
|
238
|
+
@media (min-width: @breakpoint-small) {
|
|
239
|
+
|
|
240
|
+
.uk-modal-body { padding: @modal-body-padding-vertical-s @modal-body-padding-horizontal-s; }
|
|
241
|
+
.uk-modal-header { padding: @modal-header-padding-vertical-s @modal-header-padding-horizontal-s; }
|
|
242
|
+
.uk-modal-footer { padding: @modal-footer-padding-vertical-s @modal-footer-padding-horizontal-s; }
|
|
243
|
+
|
|
244
|
+
}
|
|
245
|
+
|
|
231
246
|
/*
|
|
232
247
|
* Remove margin from the last-child
|
|
233
248
|
*/
|
|
@@ -58,11 +58,14 @@
|
|
|
58
58
|
@navbar-subtitle-font-size: @global-small-font-size;
|
|
59
59
|
|
|
60
60
|
@navbar-dropdown-z-index: @global-z-index + 20;
|
|
61
|
-
@navbar-dropdown-margin:
|
|
61
|
+
@navbar-dropdown-margin: 0;
|
|
62
|
+
@navbar-dropdown-shift-margin: 0;
|
|
63
|
+
@navbar-dropdown-viewport-margin: 15px;
|
|
62
64
|
@navbar-dropdown-width: 200px;
|
|
63
65
|
@navbar-dropdown-padding: 15px;
|
|
64
66
|
@navbar-dropdown-background: @global-muted-background;
|
|
65
67
|
@navbar-dropdown-color: @global-color;
|
|
68
|
+
@navbar-dropdown-color-mode: none;
|
|
66
69
|
@navbar-dropdown-grid-gutter-horizontal: @global-gutter;
|
|
67
70
|
@navbar-dropdown-grid-gutter-vertical: @navbar-dropdown-grid-gutter-horizontal;
|
|
68
71
|
|
|
@@ -374,8 +377,8 @@
|
|
|
374
377
|
position: absolute;
|
|
375
378
|
z-index: @navbar-dropdown-z-index;
|
|
376
379
|
--uk-position-offset: @navbar-dropdown-margin;
|
|
377
|
-
--uk-position-shift-offset:
|
|
378
|
-
--uk-position-viewport-offset:
|
|
380
|
+
--uk-position-shift-offset: @navbar-dropdown-shift-margin;
|
|
381
|
+
--uk-position-viewport-offset: @navbar-dropdown-viewport-margin;
|
|
379
382
|
/* 3 */
|
|
380
383
|
box-sizing: border-box;
|
|
381
384
|
width: @navbar-dropdown-width;
|
|
@@ -390,6 +393,10 @@
|
|
|
390
393
|
/* Show */
|
|
391
394
|
.uk-navbar-dropdown.uk-open { display: block; }
|
|
392
395
|
|
|
396
|
+
|
|
397
|
+
.uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
|
|
398
|
+
.uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
|
|
399
|
+
|
|
393
400
|
/*
|
|
394
401
|
* Grid
|
|
395
402
|
* Adopts `uk-grid`
|
|
@@ -414,21 +421,40 @@
|
|
|
414
421
|
.uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) { width: (@navbar-dropdown-width * 4); }
|
|
415
422
|
.uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) { width: (@navbar-dropdown-width * 5); }
|
|
416
423
|
|
|
424
|
+
/*
|
|
425
|
+
* Stretch modifier
|
|
426
|
+
* 1. Allow scrolling
|
|
427
|
+
*/
|
|
428
|
+
|
|
429
|
+
.uk-navbar-dropdown-stretch {
|
|
430
|
+
--uk-position-offset: 0;
|
|
431
|
+
--uk-position-shift-offset: 0;
|
|
432
|
+
--uk-position-viewport-offset: 0;
|
|
433
|
+
/* 1 */
|
|
434
|
+
overflow-y: auto;
|
|
435
|
+
-webkit-overflow-scrolling: touch;
|
|
436
|
+
.hook-navbar-dropdown-stretch();
|
|
437
|
+
}
|
|
438
|
+
|
|
417
439
|
/*
|
|
418
440
|
* Dropbar modifier
|
|
419
|
-
* 1.
|
|
420
|
-
* 2.
|
|
421
|
-
* 3.
|
|
441
|
+
* 1. Reset dropdown width to prevent to early shifting
|
|
442
|
+
* 2. Set position
|
|
443
|
+
* 3. Bottom padding for dropbar
|
|
444
|
+
* 4. Horizontal padding
|
|
422
445
|
*/
|
|
423
446
|
|
|
424
447
|
.uk-navbar-dropdown-dropbar {
|
|
425
448
|
/* 1 */
|
|
426
|
-
|
|
449
|
+
width: auto;
|
|
427
450
|
/* 2 */
|
|
428
|
-
|
|
451
|
+
--uk-position-offset: @navbar-dropdown-dropbar-margin-top;
|
|
429
452
|
/* 3 */
|
|
453
|
+
margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
|
|
454
|
+
/* 4 */
|
|
430
455
|
padding-left: @navbar-dropdown-dropbar-padding-horizontal;
|
|
431
456
|
padding-right: @navbar-dropdown-dropbar-padding-horizontal;
|
|
457
|
+
--uk-position-shift-offset: 0;
|
|
432
458
|
.hook-navbar-dropdown-dropbar();
|
|
433
459
|
}
|
|
434
460
|
|
|
@@ -525,24 +551,25 @@
|
|
|
525
551
|
.hook-navbar-nav-item-onclick() {}
|
|
526
552
|
.hook-navbar-nav-item-active() {}
|
|
527
553
|
.hook-navbar-item() {}
|
|
528
|
-
.hook-navbar-toggle(){}
|
|
529
|
-
.hook-navbar-toggle-hover(){}
|
|
530
|
-
.hook-navbar-toggle-icon(){}
|
|
531
|
-
.hook-navbar-toggle-icon-hover(){}
|
|
554
|
+
.hook-navbar-toggle() {}
|
|
555
|
+
.hook-navbar-toggle-hover() {}
|
|
556
|
+
.hook-navbar-toggle-icon() {}
|
|
557
|
+
.hook-navbar-toggle-icon-hover() {}
|
|
532
558
|
.hook-navbar-subtitle() {}
|
|
533
|
-
.hook-navbar-primary(){}
|
|
534
|
-
.hook-navbar-transparent(){}
|
|
535
|
-
.hook-navbar-sticky(){}
|
|
536
|
-
.hook-navbar-dropdown(){}
|
|
537
|
-
.hook-navbar-dropdown-
|
|
538
|
-
.hook-navbar-dropdown-
|
|
559
|
+
.hook-navbar-primary() {}
|
|
560
|
+
.hook-navbar-transparent() {}
|
|
561
|
+
.hook-navbar-sticky() {}
|
|
562
|
+
.hook-navbar-dropdown() {}
|
|
563
|
+
.hook-navbar-dropdown-stretch() {}
|
|
564
|
+
.hook-navbar-dropdown-dropbar() {}
|
|
565
|
+
.hook-navbar-dropdown-nav() {}
|
|
539
566
|
.hook-navbar-dropdown-nav-item() {}
|
|
540
567
|
.hook-navbar-dropdown-nav-item-hover() {}
|
|
541
568
|
.hook-navbar-dropdown-nav-item-active() {}
|
|
542
569
|
.hook-navbar-dropdown-nav-subtitle() {}
|
|
543
570
|
.hook-navbar-dropdown-nav-header() {}
|
|
544
571
|
.hook-navbar-dropdown-nav-divider() {}
|
|
545
|
-
.hook-navbar-dropbar(){}
|
|
572
|
+
.hook-navbar-dropbar() {}
|
|
546
573
|
.hook-navbar-misc() {}
|
|
547
574
|
|
|
548
575
|
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
@offcanvas-z-index: @global-z-index;
|
|
27
27
|
|
|
28
28
|
@offcanvas-bar-width: 270px;
|
|
29
|
-
@offcanvas-bar-padding-vertical:
|
|
30
|
-
@offcanvas-bar-padding-horizontal:
|
|
29
|
+
@offcanvas-bar-padding-vertical: 20px;
|
|
30
|
+
@offcanvas-bar-padding-horizontal: 20px;
|
|
31
31
|
@offcanvas-bar-background: @global-secondary-background;
|
|
32
32
|
@offcanvas-bar-color-mode: light;
|
|
33
33
|
|
|
34
|
-
@offcanvas-bar-width-
|
|
35
|
-
@offcanvas-bar-padding-vertical-
|
|
36
|
-
@offcanvas-bar-padding-horizontal-
|
|
34
|
+
@offcanvas-bar-width-s: 350px;
|
|
35
|
+
@offcanvas-bar-padding-vertical-s: @global-gutter;
|
|
36
|
+
@offcanvas-bar-padding-horizontal-s: @global-gutter;
|
|
37
37
|
|
|
38
38
|
@offcanvas-close-position: 5px;
|
|
39
39
|
@offcanvas-close-padding: 5px;
|
|
40
40
|
|
|
41
|
-
@offcanvas-close-position-
|
|
41
|
+
@offcanvas-close-position-s: 10px;
|
|
42
42
|
|
|
43
43
|
@offcanvas-overlay-background: rgba(0,0,0,0.1);
|
|
44
44
|
|
|
@@ -99,13 +99,13 @@
|
|
|
99
99
|
.hook-offcanvas-bar();
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
/*
|
|
103
|
-
@media (min-width: @breakpoint-
|
|
102
|
+
/* Phone landscape and bigger */
|
|
103
|
+
@media (min-width: @breakpoint-small) {
|
|
104
104
|
|
|
105
105
|
.uk-offcanvas-bar {
|
|
106
|
-
left: -@offcanvas-bar-width-
|
|
107
|
-
width: @offcanvas-bar-width-
|
|
108
|
-
padding: @offcanvas-bar-padding-vertical-
|
|
106
|
+
left: -@offcanvas-bar-width-s;
|
|
107
|
+
width: @offcanvas-bar-width-s;
|
|
108
|
+
padding: @offcanvas-bar-padding-vertical-s @offcanvas-bar-padding-horizontal-s;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
}
|
|
@@ -121,9 +121,9 @@
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
/* Tablet landscape and bigger */
|
|
124
|
-
@media (min-width: @breakpoint-
|
|
124
|
+
@media (min-width: @breakpoint-small) {
|
|
125
125
|
|
|
126
|
-
.uk-offcanvas-flip .uk-offcanvas-bar { right: -@offcanvas-bar-width-
|
|
126
|
+
.uk-offcanvas-flip .uk-offcanvas-bar { right: -@offcanvas-bar-width-s; }
|
|
127
127
|
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -179,9 +179,9 @@
|
|
|
179
179
|
.uk-open > .uk-offcanvas-reveal { width: @offcanvas-bar-width; }
|
|
180
180
|
|
|
181
181
|
/* Tablet landscape and bigger */
|
|
182
|
-
@media (min-width: @breakpoint-
|
|
182
|
+
@media (min-width: @breakpoint-small) {
|
|
183
183
|
|
|
184
|
-
.uk-open > .uk-offcanvas-reveal { width: @offcanvas-bar-width-
|
|
184
|
+
.uk-open > .uk-offcanvas-reveal { width: @offcanvas-bar-width-s; }
|
|
185
185
|
|
|
186
186
|
}
|
|
187
187
|
|
|
@@ -209,11 +209,11 @@
|
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
/* Tablet landscape and bigger */
|
|
212
|
-
@media (min-width: @breakpoint-
|
|
212
|
+
@media (min-width: @breakpoint-small) {
|
|
213
213
|
|
|
214
214
|
.uk-offcanvas-close {
|
|
215
|
-
top: @offcanvas-close-position-
|
|
216
|
-
right: @offcanvas-close-position-
|
|
215
|
+
top: @offcanvas-close-position-s;
|
|
216
|
+
right: @offcanvas-close-position-s;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
}
|
|
@@ -304,11 +304,11 @@
|
|
|
304
304
|
.uk-offcanvas-flip.uk-offcanvas-container-animation { left: -@offcanvas-bar-width; }
|
|
305
305
|
|
|
306
306
|
/* Tablet landscape and bigger */
|
|
307
|
-
@media (min-width: @breakpoint-
|
|
307
|
+
@media (min-width: @breakpoint-small) {
|
|
308
308
|
|
|
309
|
-
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation { left: @offcanvas-bar-width-
|
|
309
|
+
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation { left: @offcanvas-bar-width-s; }
|
|
310
310
|
|
|
311
|
-
.uk-offcanvas-flip.uk-offcanvas-container-animation { left: -@offcanvas-bar-width-
|
|
311
|
+
.uk-offcanvas-flip.uk-offcanvas-container-animation { left: -@offcanvas-bar-width-s; }
|
|
312
312
|
|
|
313
313
|
}
|
|
314
314
|
|