uikit 3.14.4-dev.fef7412a0 → 3.15.1-dev.a99898921
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 +6 -0
- package/dist/css/uikit-core-rtl.css +4 -3
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +4 -3
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +3 -2
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +3 -2
- 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 +3 -1
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +3 -1
- 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 +1 -1
- 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 +9 -2
- 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 +9 -2
- 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 +3 -1
- 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 +84 -70
- package/dist/js/uikit-core.min.js +2 -2
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +84 -70
- package/dist/js/uikit.min.js +2 -2
- package/package.json +1 -1
- package/src/js/core/drop.js +2 -2
- package/src/js/core/navbar.js +5 -5
- package/src/js/core/switcher.js +4 -5
- package/src/js/core/toggle.js +1 -2
- package/src/js/mixin/lazyload.js +8 -1
- package/src/js/mixin/togglable.js +2 -0
- package/src/js/util/position.js +61 -55
- package/src/less/components/nav.less +3 -1
- package/src/less/components/navbar.less +9 -3
- package/src/less/theme/navbar.less +4 -0
- package/src/scss/components/nav.scss +3 -1
- package/src/scss/components/navbar.scss +9 -3
- package/src/scss/mixins-theme.scss +2 -0
- package/src/scss/mixins.scss +2 -0
- package/src/scss/theme/navbar.scss +4 -0
- package/src/scss/variables-theme.scss +3 -1
- package/src/scss/variables.scss +3 -1
- package/tests/flex.html +36 -36
- package/tests/grid.html +22 -22
- package/tests/height.html +6 -6
- package/tests/index.html +3 -3
- package/tests/modal.html +2 -2
- package/tests/pagination.html +6 -6
- package/tests/utility.html +16 -16
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "uikit",
|
|
3
3
|
"title": "UIkit",
|
|
4
4
|
"description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.15.1-dev.a99898921",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/js/core/drop.js
CHANGED
|
@@ -277,7 +277,7 @@ export default {
|
|
|
277
277
|
|
|
278
278
|
(() => {
|
|
279
279
|
const observer = observeResize(
|
|
280
|
-
scrollParents(this.$el).concat(this.
|
|
280
|
+
scrollParents(this.$el).concat(this.target),
|
|
281
281
|
update
|
|
282
282
|
);
|
|
283
283
|
return () => observer.disconnect();
|
|
@@ -409,7 +409,7 @@ export default {
|
|
|
409
409
|
this.$el.hidden = true;
|
|
410
410
|
|
|
411
411
|
const boundary = query(this.boundary, this.$el);
|
|
412
|
-
const boundaryOffset =
|
|
412
|
+
const boundaryOffset = offset(boundary || window);
|
|
413
413
|
const viewports = this.target.map((target) => offsetViewport(scrollParents(target)[0]));
|
|
414
414
|
const viewportOffset = this.getViewportOffset(this.$el);
|
|
415
415
|
|
package/src/js/core/navbar.js
CHANGED
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
observeResize,
|
|
19
19
|
offset,
|
|
20
20
|
once,
|
|
21
|
-
parent,
|
|
22
21
|
parents,
|
|
23
22
|
query,
|
|
24
23
|
remove,
|
|
@@ -74,7 +73,7 @@ export default {
|
|
|
74
73
|
},
|
|
75
74
|
|
|
76
75
|
dropbarAnchor({ dropbarAnchor }, $el) {
|
|
77
|
-
return query(dropbarAnchor, $el);
|
|
76
|
+
return query(dropbarAnchor, $el) || $el;
|
|
78
77
|
},
|
|
79
78
|
|
|
80
79
|
pos({ align }) {
|
|
@@ -295,8 +294,8 @@ export default {
|
|
|
295
294
|
return;
|
|
296
295
|
}
|
|
297
296
|
|
|
298
|
-
if (
|
|
299
|
-
after(this.dropbarAnchor
|
|
297
|
+
if (this.dropbar.previousElementSibling !== this.dropbarAnchor) {
|
|
298
|
+
after(this.dropbarAnchor, this.dropbar);
|
|
300
299
|
}
|
|
301
300
|
|
|
302
301
|
addClass(target, `${this.clsDrop}-dropbar`);
|
|
@@ -319,7 +318,8 @@ export default {
|
|
|
319
318
|
return;
|
|
320
319
|
}
|
|
321
320
|
|
|
322
|
-
|
|
321
|
+
const drop = this.getDropdown(target);
|
|
322
|
+
this._observer = observeResize([drop.$el, ...drop.target], () => {
|
|
323
323
|
const targetOffsets = parents(target, `.${this.clsDrop}`)
|
|
324
324
|
.concat(target)
|
|
325
325
|
.map((el) => offset(el));
|
package/src/js/core/switcher.js
CHANGED
|
@@ -52,9 +52,10 @@ export default {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
const index = this.index();
|
|
55
|
-
this.connects.forEach((el) =>
|
|
56
|
-
children(el).forEach((child, i) => toggleClass(child, this.cls, i === index))
|
|
57
|
-
|
|
55
|
+
this.connects.forEach((el) => {
|
|
56
|
+
children(el).forEach((child, i) => toggleClass(child, this.cls, i === index));
|
|
57
|
+
this.lazyload(this.$el, children(el));
|
|
58
|
+
});
|
|
58
59
|
},
|
|
59
60
|
|
|
60
61
|
immediate: true,
|
|
@@ -87,8 +88,6 @@ export default {
|
|
|
87
88
|
},
|
|
88
89
|
|
|
89
90
|
connected() {
|
|
90
|
-
this.lazyload(this.$el, this.connects);
|
|
91
|
-
|
|
92
91
|
// check for connects
|
|
93
92
|
ready(() => this.$emit());
|
|
94
93
|
},
|
package/src/js/core/toggle.js
CHANGED
|
@@ -51,6 +51,7 @@ export default {
|
|
|
51
51
|
|
|
52
52
|
watch() {
|
|
53
53
|
this.updateAria();
|
|
54
|
+
this.lazyload(this.$el, this.target);
|
|
54
55
|
},
|
|
55
56
|
|
|
56
57
|
immediate: true,
|
|
@@ -62,8 +63,6 @@ export default {
|
|
|
62
63
|
attr(this.$el, 'tabindex', '0');
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
this.lazyload(this.$el, this.target);
|
|
66
|
-
|
|
67
66
|
// check for target
|
|
68
67
|
ready(() => this.$emit());
|
|
69
68
|
},
|
package/src/js/mixin/lazyload.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { $$, isFunction, observeIntersection, removeAttr, toNodes } from 'uikit-util';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
+
data: {
|
|
5
|
+
preload: 5,
|
|
6
|
+
},
|
|
7
|
+
|
|
4
8
|
methods: {
|
|
5
9
|
lazyload(observeTargets = this.$el, targets = this.$el) {
|
|
6
10
|
this.registerObserver(
|
|
7
11
|
observeIntersection(observeTargets, (entries, observer) => {
|
|
8
12
|
for (const el of toNodes(isFunction(targets) ? targets() : targets)) {
|
|
9
|
-
$$('[loading="lazy"]', el)
|
|
13
|
+
$$('[loading="lazy"]', el)
|
|
14
|
+
.slice(0, this.preload - 1)
|
|
15
|
+
.forEach((el) => removeAttr(el, 'loading'));
|
|
10
16
|
}
|
|
17
|
+
|
|
11
18
|
for (const el of entries
|
|
12
19
|
.filter(({ isIntersecting }) => isIntersecting)
|
|
13
20
|
.map(({ target }) => target)) {
|
package/src/js/util/position.js
CHANGED
|
@@ -28,35 +28,13 @@ export function positionAt(element, target, options) {
|
|
|
28
28
|
|
|
29
29
|
function getPosition(element, target, options) {
|
|
30
30
|
const position = attachTo(element, target, options);
|
|
31
|
-
|
|
32
|
-
let {
|
|
33
|
-
attach: { element: elAttach, target: targetAttach },
|
|
34
|
-
offset: elOffset,
|
|
35
|
-
boundary,
|
|
36
|
-
viewportOffset,
|
|
37
|
-
placement,
|
|
38
|
-
} = options;
|
|
31
|
+
const { boundary, viewportOffset = 0, placement } = options;
|
|
39
32
|
|
|
40
33
|
let offsetPosition = position;
|
|
41
34
|
for (const [i, [prop, , start, end]] of Object.entries(dirs)) {
|
|
42
|
-
|
|
43
|
-
const [scrollElement] = viewports;
|
|
44
|
-
|
|
45
|
-
let viewport = getIntersectionArea(...viewports.map(offsetViewport));
|
|
46
|
-
|
|
47
|
-
if (viewportOffset) {
|
|
48
|
-
viewport[start] += viewportOffset;
|
|
49
|
-
viewport[end] -= viewportOffset;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (boundary) {
|
|
53
|
-
viewport = getIntersectionArea(viewport, offsetViewport(boundary));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const isInStartViewport = position[start] >= viewport[start];
|
|
57
|
-
const isInEndViewport = position[end] <= viewport[end];
|
|
35
|
+
const viewport = getViewport(target[i], viewportOffset, boundary, i);
|
|
58
36
|
|
|
59
|
-
if (
|
|
37
|
+
if (isWithin(position, viewport, i)) {
|
|
60
38
|
continue;
|
|
61
39
|
}
|
|
62
40
|
|
|
@@ -64,17 +42,20 @@ function getPosition(element, target, options) {
|
|
|
64
42
|
|
|
65
43
|
// Flip
|
|
66
44
|
if (placement[i] === 'flip') {
|
|
45
|
+
const attach = options.attach.target[i];
|
|
67
46
|
if (
|
|
68
|
-
(
|
|
69
|
-
(
|
|
47
|
+
(attach === end && position[end] <= viewport[end]) ||
|
|
48
|
+
(attach === start && position[start] >= viewport[start])
|
|
70
49
|
) {
|
|
71
50
|
continue;
|
|
72
51
|
}
|
|
73
52
|
|
|
74
53
|
offsetBy = flip(element, target, options, i)[start] - position[start];
|
|
75
54
|
|
|
76
|
-
|
|
77
|
-
|
|
55
|
+
const scrollArea = getScrollArea(target[i], viewportOffset, i);
|
|
56
|
+
|
|
57
|
+
if (!isWithin(applyOffset(position, offsetBy, i), scrollArea, i)) {
|
|
58
|
+
if (isWithin(position, scrollArea, i)) {
|
|
78
59
|
continue;
|
|
79
60
|
}
|
|
80
61
|
|
|
@@ -82,18 +63,9 @@ function getPosition(element, target, options) {
|
|
|
82
63
|
return false;
|
|
83
64
|
}
|
|
84
65
|
|
|
85
|
-
const newPos =
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
element: elAttach.map(flipAxis).reverse(),
|
|
89
|
-
target: targetAttach.map(flipAxis).reverse(),
|
|
90
|
-
},
|
|
91
|
-
offset: elOffset.reverse(),
|
|
92
|
-
placement: placement.reverse(),
|
|
93
|
-
recursion: true,
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
|
|
66
|
+
const newPos = flipAxis(element, target, options);
|
|
67
|
+
|
|
68
|
+
if (newPos && isWithin(newPos, scrollArea, 1 - i)) {
|
|
97
69
|
return newPos;
|
|
98
70
|
}
|
|
99
71
|
|
|
@@ -103,6 +75,7 @@ function getPosition(element, target, options) {
|
|
|
103
75
|
// Shift
|
|
104
76
|
} else if (placement[i] === 'shift') {
|
|
105
77
|
const targetDim = offset(target[i]);
|
|
78
|
+
const { offset: elOffset } = options;
|
|
106
79
|
offsetBy =
|
|
107
80
|
clamp(
|
|
108
81
|
clamp(position[start], viewport[start], viewport[end] - position[prop]),
|
|
@@ -159,6 +132,30 @@ function moveBy(attach, end, dim) {
|
|
|
159
132
|
return attach === 'center' ? dim / 2 : attach === end ? dim : 0;
|
|
160
133
|
}
|
|
161
134
|
|
|
135
|
+
function getViewport(element, viewportOffset, boundary, i) {
|
|
136
|
+
let viewport = getIntersectionArea(...scrollParents(element).map(offsetViewport));
|
|
137
|
+
|
|
138
|
+
if (viewportOffset) {
|
|
139
|
+
viewport[dirs[i][2]] += viewportOffset;
|
|
140
|
+
viewport[dirs[i][3]] -= viewportOffset;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (boundary) {
|
|
144
|
+
viewport = getIntersectionArea(viewport, offset(boundary));
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return viewport;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function getScrollArea(element, viewportOffset, i) {
|
|
151
|
+
const [prop, , start, end] = dirs[i];
|
|
152
|
+
const [scrollElement] = scrollParents(element);
|
|
153
|
+
const viewport = offsetViewport(scrollElement);
|
|
154
|
+
viewport[start] -= scrollElement[`scroll${ucfirst(start)}`] - viewportOffset;
|
|
155
|
+
viewport[end] = viewport[start] + scrollElement[`scroll${ucfirst(prop)}`] - viewportOffset;
|
|
156
|
+
return viewport;
|
|
157
|
+
}
|
|
158
|
+
|
|
162
159
|
function getIntersectionArea(...rects) {
|
|
163
160
|
let area = {};
|
|
164
161
|
for (const rect of rects) {
|
|
@@ -170,13 +167,9 @@ function getIntersectionArea(...rects) {
|
|
|
170
167
|
return area;
|
|
171
168
|
}
|
|
172
169
|
|
|
173
|
-
function
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
viewport[start] -= scrollElement[`scroll${ucfirst(start)}`];
|
|
177
|
-
viewport[end] = viewport[start] + scrollElement[`scroll${ucfirst(prop)}`];
|
|
178
|
-
|
|
179
|
-
return position[start] >= viewport[start] && position[end] <= viewport[end];
|
|
170
|
+
function isWithin(positionA, positionB, i) {
|
|
171
|
+
const [, , start, end] = dirs[i];
|
|
172
|
+
return positionA[start] >= positionB[start] && positionA[end] <= positionB[end];
|
|
180
173
|
}
|
|
181
174
|
|
|
182
175
|
function flip(element, target, { offset, attach }, i) {
|
|
@@ -189,6 +182,19 @@ function flip(element, target, { offset, attach }, i) {
|
|
|
189
182
|
});
|
|
190
183
|
}
|
|
191
184
|
|
|
185
|
+
function flipAxis(element, target, options) {
|
|
186
|
+
return getPosition(element, target, {
|
|
187
|
+
...options,
|
|
188
|
+
attach: {
|
|
189
|
+
element: options.attach.element.map(flipAttachAxis).reverse(),
|
|
190
|
+
target: options.attach.target.map(flipAttachAxis).reverse(),
|
|
191
|
+
},
|
|
192
|
+
offset: options.offset.reverse(),
|
|
193
|
+
placement: options.placement.reverse(),
|
|
194
|
+
recursion: true,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
|
|
192
198
|
function flipAttach(attach, i) {
|
|
193
199
|
const newAttach = [...attach];
|
|
194
200
|
const index = dirs[i].indexOf(attach[i]);
|
|
@@ -198,13 +204,7 @@ function flipAttach(attach, i) {
|
|
|
198
204
|
return newAttach;
|
|
199
205
|
}
|
|
200
206
|
|
|
201
|
-
function
|
|
202
|
-
offset = [...offset];
|
|
203
|
-
offset[i] *= -1;
|
|
204
|
-
return offset;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
function flipAxis(prop) {
|
|
207
|
+
function flipAttachAxis(prop) {
|
|
208
208
|
for (let i = 0; i < dirs.length; i++) {
|
|
209
209
|
const index = dirs[i].indexOf(prop);
|
|
210
210
|
if (~index) {
|
|
@@ -212,3 +212,9 @@ function flipAxis(prop) {
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
+
|
|
216
|
+
function flipOffset(offset, i) {
|
|
217
|
+
offset = [...offset];
|
|
218
|
+
offset[i] *= -1;
|
|
219
|
+
return offset;
|
|
220
|
+
}
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
@nav-sublist-deeper-padding-left: 15px;
|
|
34
34
|
@nav-sublist-item-padding-vertical: 2px;
|
|
35
35
|
|
|
36
|
+
@nav-parent-icon-margin-left: 4px;
|
|
37
|
+
|
|
36
38
|
@nav-header-padding-vertical: @nav-item-padding-vertical;
|
|
37
39
|
@nav-header-padding-horizontal: @nav-item-padding-horizontal;
|
|
38
40
|
@nav-header-font-size: @global-small-font-size;
|
|
@@ -441,7 +443,7 @@ ul.uk-nav-sub {
|
|
|
441
443
|
.uk-nav-center .uk-nav-sub ul { padding-left: 0; }
|
|
442
444
|
|
|
443
445
|
/* Parent icon */
|
|
444
|
-
.uk-nav-center .uk-nav-parent-icon { margin-left:
|
|
446
|
+
.uk-nav-center .uk-nav-parent-icon { margin-left: @nav-parent-icon-margin-left; }
|
|
445
447
|
|
|
446
448
|
|
|
447
449
|
/* Style modifier
|
|
@@ -77,13 +77,14 @@
|
|
|
77
77
|
@navbar-dropdown-large-shift-margin: 0;
|
|
78
78
|
@navbar-dropdown-large-padding: 40px;
|
|
79
79
|
|
|
80
|
+
@navbar-dropdown-dropbar-shift-margin: 0;
|
|
80
81
|
@navbar-dropdown-dropbar-padding-top: @navbar-dropdown-padding;
|
|
81
82
|
@navbar-dropdown-dropbar-padding-bottom: @navbar-dropdown-dropbar-padding-top;
|
|
82
|
-
@navbar-dropdown-dropbar-padding-horizontal: @navbar-nav-item-padding-horizontal;
|
|
83
83
|
@navbar-dropdown-dropbar-viewport-margin: 15px;
|
|
84
84
|
@navbar-dropdown-dropbar-viewport-margin-s: @global-gutter;
|
|
85
85
|
@navbar-dropdown-dropbar-viewport-margin-m: @global-medium-gutter;
|
|
86
86
|
|
|
87
|
+
@navbar-dropdown-dropbar-large-shift-margin: 0;
|
|
87
88
|
@navbar-dropdown-dropbar-large-padding-top: @navbar-dropdown-large-padding;
|
|
88
89
|
@navbar-dropdown-dropbar-large-padding-bottom: @navbar-dropdown-dropbar-large-padding-top;
|
|
89
90
|
|
|
@@ -444,6 +445,7 @@
|
|
|
444
445
|
.uk-navbar-dropdown-large {
|
|
445
446
|
--uk-position-shift-offset: @navbar-dropdown-large-shift-margin;
|
|
446
447
|
padding: @navbar-dropdown-large-padding;
|
|
448
|
+
.hook-navbar-dropdown-large();
|
|
447
449
|
}
|
|
448
450
|
|
|
449
451
|
/*
|
|
@@ -459,9 +461,9 @@
|
|
|
459
461
|
/* 2 */
|
|
460
462
|
background: transparent;
|
|
461
463
|
/* 3 */
|
|
462
|
-
padding: @navbar-dropdown-dropbar-padding-top
|
|
464
|
+
padding: @navbar-dropdown-dropbar-padding-top 0 @navbar-dropdown-dropbar-padding-bottom 0;
|
|
463
465
|
--uk-position-offset: 0;
|
|
464
|
-
--uk-position-shift-offset:
|
|
466
|
+
--uk-position-shift-offset: @navbar-dropdown-dropbar-shift-margin;
|
|
465
467
|
--uk-position-viewport-offset: @navbar-dropdown-dropbar-viewport-margin;
|
|
466
468
|
.hook-navbar-dropdown-dropbar();
|
|
467
469
|
}
|
|
@@ -481,8 +483,10 @@
|
|
|
481
483
|
}
|
|
482
484
|
|
|
483
485
|
.uk-navbar-dropdown-dropbar-large {
|
|
486
|
+
--uk-position-shift-offset: @navbar-dropdown-dropbar-large-shift-margin;
|
|
484
487
|
padding-top: @navbar-dropdown-dropbar-large-padding-top;
|
|
485
488
|
padding-bottom: @navbar-dropdown-dropbar-large-padding-bottom;
|
|
489
|
+
.hook-navbar-dropdown-dropbar-large();
|
|
486
490
|
}
|
|
487
491
|
|
|
488
492
|
|
|
@@ -594,7 +598,9 @@
|
|
|
594
598
|
.hook-navbar-transparent() {}
|
|
595
599
|
.hook-navbar-sticky() {}
|
|
596
600
|
.hook-navbar-dropdown() {}
|
|
601
|
+
.hook-navbar-dropdown-large() {}
|
|
597
602
|
.hook-navbar-dropdown-dropbar() {}
|
|
603
|
+
.hook-navbar-dropdown-dropbar-large() {}
|
|
598
604
|
.hook-navbar-dropdown-nav() {}
|
|
599
605
|
.hook-navbar-dropdown-nav-item() {}
|
|
600
606
|
.hook-navbar-dropdown-nav-item-hover() {}
|
|
@@ -101,8 +101,12 @@
|
|
|
101
101
|
|
|
102
102
|
.hook-navbar-dropdown() { box-shadow: @navbar-dropdown-box-shadow; }
|
|
103
103
|
|
|
104
|
+
.hook-navbar-dropdown-large() {}
|
|
105
|
+
|
|
104
106
|
.hook-navbar-dropdown-dropbar() { box-shadow: none; }
|
|
105
107
|
|
|
108
|
+
.hook-navbar-dropdown-dropbar-large() {}
|
|
109
|
+
|
|
106
110
|
|
|
107
111
|
// Dropdown nav
|
|
108
112
|
// ========================================================================
|
|
@@ -33,6 +33,8 @@ $nav-sublist-padding-left: 15px !default;
|
|
|
33
33
|
$nav-sublist-deeper-padding-left: 15px !default;
|
|
34
34
|
$nav-sublist-item-padding-vertical: 2px !default;
|
|
35
35
|
|
|
36
|
+
$nav-parent-icon-margin-left: 4px !default;
|
|
37
|
+
|
|
36
38
|
$nav-header-padding-vertical: $nav-item-padding-vertical !default;
|
|
37
39
|
$nav-header-padding-horizontal: $nav-item-padding-horizontal !default;
|
|
38
40
|
$nav-header-font-size: $global-small-font-size !default;
|
|
@@ -441,7 +443,7 @@ ul.uk-nav-sub {
|
|
|
441
443
|
.uk-nav-center .uk-nav-sub ul { padding-left: 0; }
|
|
442
444
|
|
|
443
445
|
/* Parent icon */
|
|
444
|
-
.uk-nav-center .uk-nav-parent-icon { margin-left:
|
|
446
|
+
.uk-nav-center .uk-nav-parent-icon { margin-left: $nav-parent-icon-margin-left; }
|
|
445
447
|
|
|
446
448
|
|
|
447
449
|
/* Style modifier
|
|
@@ -77,13 +77,14 @@ $navbar-dropdown-grid-gutter-vertical: $navbar-dropdown-grid-gutter-ho
|
|
|
77
77
|
$navbar-dropdown-large-shift-margin: 0 !default;
|
|
78
78
|
$navbar-dropdown-large-padding: 40px !default;
|
|
79
79
|
|
|
80
|
+
$navbar-dropdown-dropbar-shift-margin: 0 !default;
|
|
80
81
|
$navbar-dropdown-dropbar-padding-top: $navbar-dropdown-padding !default;
|
|
81
82
|
$navbar-dropdown-dropbar-padding-bottom: $navbar-dropdown-dropbar-padding-top !default;
|
|
82
|
-
$navbar-dropdown-dropbar-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
|
|
83
83
|
$navbar-dropdown-dropbar-viewport-margin: 15px !default;
|
|
84
84
|
$navbar-dropdown-dropbar-viewport-margin-s: $global-gutter !default;
|
|
85
85
|
$navbar-dropdown-dropbar-viewport-margin-m: $global-medium-gutter !default;
|
|
86
86
|
|
|
87
|
+
$navbar-dropdown-dropbar-large-shift-margin: 0 !default;
|
|
87
88
|
$navbar-dropdown-dropbar-large-padding-top: $navbar-dropdown-large-padding !default;
|
|
88
89
|
$navbar-dropdown-dropbar-large-padding-bottom: $navbar-dropdown-dropbar-large-padding-top !default;
|
|
89
90
|
|
|
@@ -444,6 +445,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
444
445
|
.uk-navbar-dropdown-large {
|
|
445
446
|
--uk-position-shift-offset: #{$navbar-dropdown-large-shift-margin};
|
|
446
447
|
padding: $navbar-dropdown-large-padding;
|
|
448
|
+
@if(mixin-exists(hook-navbar-dropdown-large)) {@include hook-navbar-dropdown-large();}
|
|
447
449
|
}
|
|
448
450
|
|
|
449
451
|
/*
|
|
@@ -459,9 +461,9 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
459
461
|
/* 2 */
|
|
460
462
|
background: transparent;
|
|
461
463
|
/* 3 */
|
|
462
|
-
padding: $navbar-dropdown-dropbar-padding-top
|
|
464
|
+
padding: $navbar-dropdown-dropbar-padding-top 0 $navbar-dropdown-dropbar-padding-bottom 0;
|
|
463
465
|
--uk-position-offset: 0;
|
|
464
|
-
--uk-position-shift-offset:
|
|
466
|
+
--uk-position-shift-offset: #{$navbar-dropdown-dropbar-shift-margin};
|
|
465
467
|
--uk-position-viewport-offset: #{$navbar-dropdown-dropbar-viewport-margin};
|
|
466
468
|
@if(mixin-exists(hook-navbar-dropdown-dropbar)) {@include hook-navbar-dropdown-dropbar();}
|
|
467
469
|
}
|
|
@@ -481,8 +483,10 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
481
483
|
}
|
|
482
484
|
|
|
483
485
|
.uk-navbar-dropdown-dropbar-large {
|
|
486
|
+
--uk-position-shift-offset: #{$navbar-dropdown-dropbar-large-shift-margin};
|
|
484
487
|
padding-top: $navbar-dropdown-dropbar-large-padding-top;
|
|
485
488
|
padding-bottom: $navbar-dropdown-dropbar-large-padding-bottom;
|
|
489
|
+
@if(mixin-exists(hook-navbar-dropdown-dropbar-large)) {@include hook-navbar-dropdown-dropbar-large();}
|
|
486
490
|
}
|
|
487
491
|
|
|
488
492
|
|
|
@@ -594,7 +598,9 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
594
598
|
// @mixin hook-navbar-transparent(){}
|
|
595
599
|
// @mixin hook-navbar-sticky(){}
|
|
596
600
|
// @mixin hook-navbar-dropdown(){}
|
|
601
|
+
// @mixin hook-navbar-dropdown-large(){}
|
|
597
602
|
// @mixin hook-navbar-dropdown-dropbar(){}
|
|
603
|
+
// @mixin hook-navbar-dropdown-dropbar-large(){}
|
|
598
604
|
// @mixin hook-navbar-dropdown-nav(){}
|
|
599
605
|
// @mixin hook-navbar-dropdown-nav-item(){}
|
|
600
606
|
// @mixin hook-navbar-dropdown-nav-item-hover(){}
|
|
@@ -1826,7 +1826,9 @@
|
|
|
1826
1826
|
@mixin hook-navbar-transparent(){}
|
|
1827
1827
|
@mixin hook-navbar-sticky(){}
|
|
1828
1828
|
@mixin hook-navbar-dropdown(){ box-shadow: $navbar-dropdown-box-shadow; }
|
|
1829
|
+
@mixin hook-navbar-dropdown-large(){}
|
|
1829
1830
|
@mixin hook-navbar-dropdown-dropbar(){ box-shadow: none; }
|
|
1831
|
+
@mixin hook-navbar-dropdown-dropbar-large(){}
|
|
1830
1832
|
@mixin hook-navbar-dropdown-nav(){ font-size: $navbar-dropdown-nav-font-size; }
|
|
1831
1833
|
@mixin hook-navbar-dropdown-nav-item(){}
|
|
1832
1834
|
@mixin hook-navbar-dropdown-nav-item-hover(){}
|
package/src/scss/mixins.scss
CHANGED
|
@@ -1550,7 +1550,9 @@
|
|
|
1550
1550
|
@mixin hook-navbar-transparent(){}
|
|
1551
1551
|
@mixin hook-navbar-sticky(){}
|
|
1552
1552
|
@mixin hook-navbar-dropdown(){}
|
|
1553
|
+
@mixin hook-navbar-dropdown-large(){}
|
|
1553
1554
|
@mixin hook-navbar-dropdown-dropbar(){}
|
|
1555
|
+
@mixin hook-navbar-dropdown-dropbar-large(){}
|
|
1554
1556
|
@mixin hook-navbar-dropdown-nav(){}
|
|
1555
1557
|
@mixin hook-navbar-dropdown-nav-item(){}
|
|
1556
1558
|
@mixin hook-navbar-dropdown-nav-item-hover(){}
|
|
@@ -97,9 +97,13 @@ $navbar-dropdown-box-shadow: 0 5px 12px rgba(0,0,0,0.15) !de
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
100
|
+
// @mixin hook-navbar-dropdown-large(){}
|
|
100
101
|
|
|
101
102
|
|
|
102
103
|
|
|
104
|
+
// @mixin hook-navbar-dropdown-dropbar-large(){}
|
|
105
|
+
|
|
106
|
+
|
|
103
107
|
// Dropdown nav
|
|
104
108
|
// ========================================================================
|
|
105
109
|
|
|
@@ -694,6 +694,7 @@ $nav-sublist-padding-vertical: 5px !default;
|
|
|
694
694
|
$nav-sublist-padding-left: 15px !default;
|
|
695
695
|
$nav-sublist-deeper-padding-left: 15px !default;
|
|
696
696
|
$nav-sublist-item-padding-vertical: 2px !default;
|
|
697
|
+
$nav-parent-icon-margin-left: 4px !default;
|
|
697
698
|
$nav-header-padding-vertical: $nav-item-padding-vertical !default;
|
|
698
699
|
$nav-header-padding-horizontal: $nav-item-padding-horizontal !default;
|
|
699
700
|
$nav-header-font-size: $global-small-font-size !default;
|
|
@@ -808,12 +809,13 @@ $navbar-dropdown-grid-gutter-horizontal: $global-gutter !default;
|
|
|
808
809
|
$navbar-dropdown-grid-gutter-vertical: $navbar-dropdown-grid-gutter-horizontal !default;
|
|
809
810
|
$navbar-dropdown-large-shift-margin: 0 !default;
|
|
810
811
|
$navbar-dropdown-large-padding: 40px !default;
|
|
812
|
+
$navbar-dropdown-dropbar-shift-margin: 0 !default;
|
|
811
813
|
$navbar-dropdown-dropbar-padding-top: $navbar-dropdown-padding !default;
|
|
812
814
|
$navbar-dropdown-dropbar-padding-bottom: $navbar-dropdown-dropbar-padding-top !default;
|
|
813
|
-
$navbar-dropdown-dropbar-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
|
|
814
815
|
$navbar-dropdown-dropbar-viewport-margin: 15px !default;
|
|
815
816
|
$navbar-dropdown-dropbar-viewport-margin-s: $global-gutter !default;
|
|
816
817
|
$navbar-dropdown-dropbar-viewport-margin-m: $global-medium-gutter !default;
|
|
818
|
+
$navbar-dropdown-dropbar-large-shift-margin: 0 !default;
|
|
817
819
|
$navbar-dropdown-dropbar-large-padding-top: $navbar-dropdown-large-padding !default;
|
|
818
820
|
$navbar-dropdown-dropbar-large-padding-bottom: $navbar-dropdown-dropbar-large-padding-top !default;
|
|
819
821
|
$navbar-dropdown-nav-item-color: $global-muted-color !default;
|
package/src/scss/variables.scss
CHANGED
|
@@ -692,6 +692,7 @@ $nav-sublist-padding-vertical: 5px !default;
|
|
|
692
692
|
$nav-sublist-padding-left: 15px !default;
|
|
693
693
|
$nav-sublist-deeper-padding-left: 15px !default;
|
|
694
694
|
$nav-sublist-item-padding-vertical: 2px !default;
|
|
695
|
+
$nav-parent-icon-margin-left: 4px !default;
|
|
695
696
|
$nav-header-padding-vertical: $nav-item-padding-vertical !default;
|
|
696
697
|
$nav-header-padding-horizontal: $nav-item-padding-horizontal !default;
|
|
697
698
|
$nav-header-font-size: $global-small-font-size !default;
|
|
@@ -806,12 +807,13 @@ $navbar-dropdown-grid-gutter-horizontal: $global-gutter !default;
|
|
|
806
807
|
$navbar-dropdown-grid-gutter-vertical: $navbar-dropdown-grid-gutter-horizontal !default;
|
|
807
808
|
$navbar-dropdown-large-shift-margin: 0 !default;
|
|
808
809
|
$navbar-dropdown-large-padding: 40px !default;
|
|
810
|
+
$navbar-dropdown-dropbar-shift-margin: 0 !default;
|
|
809
811
|
$navbar-dropdown-dropbar-padding-top: $navbar-dropdown-padding !default;
|
|
810
812
|
$navbar-dropdown-dropbar-padding-bottom: $navbar-dropdown-dropbar-padding-top !default;
|
|
811
|
-
$navbar-dropdown-dropbar-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
|
|
812
813
|
$navbar-dropdown-dropbar-viewport-margin: 15px !default;
|
|
813
814
|
$navbar-dropdown-dropbar-viewport-margin-s: $global-gutter !default;
|
|
814
815
|
$navbar-dropdown-dropbar-viewport-margin-m: $global-medium-gutter !default;
|
|
816
|
+
$navbar-dropdown-dropbar-large-shift-margin: 0 !default;
|
|
815
817
|
$navbar-dropdown-dropbar-large-padding-top: $navbar-dropdown-large-padding !default;
|
|
816
818
|
$navbar-dropdown-dropbar-large-padding-bottom: $navbar-dropdown-dropbar-large-padding-top !default;
|
|
817
819
|
$navbar-dropdown-nav-item-color: $global-muted-color !default;
|