uikit 3.14.1 → 3.14.2-dev.57e3417c4
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 +25 -3
- package/build/util.js +8 -2
- package/dist/css/uikit-core-rtl.css +47 -20
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +47 -20
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +49 -32
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +49 -32
- 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 +6 -1
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +6 -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 +2 -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 +25 -15
- 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 +73 -56
- 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 +74 -57
- package/dist/js/uikit.min.js +1 -1
- package/package.json +11 -11
- package/src/js/components/parallax.js +1 -1
- package/src/js/core/drop.js +16 -7
- package/src/js/core/height-viewport.js +1 -2
- package/src/js/core/toggle.js +4 -0
- package/src/js/mixin/position.js +18 -23
- package/src/js/mixin/togglable.js +5 -0
- package/src/js/util/position.js +24 -22
- package/src/js/util/viewport.js +6 -13
- package/src/less/components/drop.less +2 -0
- package/src/less/components/dropdown.less +2 -0
- package/src/less/components/modal.less +19 -4
- package/src/less/components/navbar.less +28 -8
- package/src/less/components/offcanvas.less +21 -21
- package/src/less/components/tooltip.less +1 -0
- package/src/less/components/utility.less +1 -1
- package/src/less/theme/navbar.less +3 -10
- package/src/scss/components/drop.scss +2 -0
- package/src/scss/components/dropdown.scss +2 -0
- package/src/scss/components/modal.scss +19 -4
- package/src/scss/components/navbar.scss +28 -8
- package/src/scss/components/offcanvas.scss +21 -21
- package/src/scss/components/tooltip.scss +1 -0
- package/src/scss/components/utility.scss +1 -1
- package/src/scss/mixins-theme.scss +0 -10
- package/src/scss/theme/navbar.scss +3 -0
- package/src/scss/variables-theme.scss +23 -11
- package/src/scss/variables.scss +23 -11
- package/tests/drop.html +20 -2
- package/tests/dropdown.html +6 -0
- package/tests/navbar.html +21 -59
- package/tests/offcanvas.html +8 -8
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.14.
|
|
5
|
+
"version": "3.14.2-dev.57e3417c4",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
|
@@ -34,32 +34,32 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://getuikit.com",
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@babel/core": "^7.17.
|
|
38
|
-
"@babel/preset-env": "^7.
|
|
37
|
+
"@babel/core": "^7.17.10",
|
|
38
|
+
"@babel/preset-env": "^7.17.10",
|
|
39
39
|
"@rollup/plugin-alias": "^3.1.9",
|
|
40
40
|
"@rollup/plugin-babel": "^5.3.1",
|
|
41
41
|
"@rollup/plugin-replace": "^4.0.0",
|
|
42
|
-
"archiver": "^5.3.
|
|
42
|
+
"archiver": "^5.3.1",
|
|
43
43
|
"camelcase": "^6.3.0",
|
|
44
44
|
"clean-css": "^5.3.0",
|
|
45
45
|
"dateformat": "^5.0.3",
|
|
46
|
-
"esbuild": "^0.14.
|
|
47
|
-
"eslint": "^8.
|
|
46
|
+
"esbuild": "^0.14.38",
|
|
47
|
+
"eslint": "^8.15.0",
|
|
48
48
|
"eslint-config-prettier": "^8.5.0",
|
|
49
|
-
"fs-extra": "^10.0
|
|
50
|
-
"glob": "^
|
|
51
|
-
"inquirer": "^8.2.
|
|
49
|
+
"fs-extra": "^10.1.0",
|
|
50
|
+
"glob": "^8.0.1",
|
|
51
|
+
"inquirer": "^8.2.4",
|
|
52
52
|
"less": "^4.1.2",
|
|
53
53
|
"minimist": "^1.2.6",
|
|
54
54
|
"number-precision": "^1.5.2",
|
|
55
55
|
"p-limit": "^4.0.0",
|
|
56
56
|
"prettier": "^2.6.2",
|
|
57
|
-
"rollup": "^2.
|
|
57
|
+
"rollup": "^2.72.1",
|
|
58
58
|
"rollup-plugin-esbuild": "^4.9.1",
|
|
59
59
|
"rollup-plugin-html": "^0.2.1",
|
|
60
60
|
"rollup-plugin-modify": "^3.0.0",
|
|
61
61
|
"rtlcss": "^3.5.0",
|
|
62
|
-
"semver": "^7.3.
|
|
62
|
+
"semver": "^7.3.7",
|
|
63
63
|
"svgo": "^2.8.0",
|
|
64
64
|
"watch-run": "^1.2.5"
|
|
65
65
|
}
|
|
@@ -74,7 +74,7 @@ export default {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
function ease(percent, easing) {
|
|
77
|
-
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, -easing
|
|
77
|
+
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
// SVG elements do not inherit from HTMLElement
|
package/src/js/core/drop.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
apply,
|
|
9
9
|
attr,
|
|
10
10
|
css,
|
|
11
|
+
getCssVar,
|
|
11
12
|
hasClass,
|
|
12
13
|
includes,
|
|
13
14
|
isTouch,
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
MouseTracker,
|
|
16
17
|
observeResize,
|
|
17
18
|
offset,
|
|
18
|
-
offsetViewport,
|
|
19
19
|
on,
|
|
20
20
|
once,
|
|
21
21
|
parent,
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
removeClass,
|
|
29
29
|
scrollParents,
|
|
30
30
|
toggleClass,
|
|
31
|
+
toPx,
|
|
31
32
|
within,
|
|
32
33
|
} from 'uikit-util';
|
|
33
34
|
|
|
@@ -378,19 +379,27 @@ export default {
|
|
|
378
379
|
toggleClass(this.$el, `${this.clsDrop}-boundary`, this.boundaryAlign);
|
|
379
380
|
|
|
380
381
|
const boundary = query(this.boundary, this.$el);
|
|
381
|
-
const
|
|
382
|
-
|
|
382
|
+
const scrollParentOffset = offset(
|
|
383
|
+
scrollParents(boundary && this.boundaryAlign ? boundary : this.$el)[0]
|
|
384
|
+
);
|
|
383
385
|
const boundaryOffset = boundary ? offset(boundary) : scrollParentOffset;
|
|
384
386
|
|
|
385
387
|
css(this.$el, 'maxWidth', '');
|
|
386
388
|
const maxWidth =
|
|
387
|
-
scrollParentOffset.width -
|
|
389
|
+
scrollParentOffset.width -
|
|
390
|
+
2 * toPx(getCssVar('position-viewport-offset', this.$el));
|
|
388
391
|
|
|
389
392
|
if (this.pos[1] === 'justify') {
|
|
390
393
|
const prop = this.axis === 'y' ? 'width' : 'height';
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
+
css(
|
|
395
|
+
this.$el,
|
|
396
|
+
prop,
|
|
397
|
+
Math.min(
|
|
398
|
+
(boundary ? boundaryOffset : offset(this.target))[prop],
|
|
399
|
+
scrollParentOffset[prop] -
|
|
400
|
+
2 * toPx(getCssVar('position-viewport-offset', this.$el))
|
|
401
|
+
)
|
|
402
|
+
);
|
|
394
403
|
} else if (this.$el.offsetWidth > maxWidth) {
|
|
395
404
|
addClass(this.$el, `${this.clsDrop}-stack`);
|
|
396
405
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Class from '../mixin/class';
|
|
2
1
|
import Resize from '../mixin/resize';
|
|
3
2
|
import {
|
|
4
3
|
boxModelAdjust,
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
} from 'uikit-util';
|
|
16
15
|
|
|
17
16
|
export default {
|
|
18
|
-
mixins: [
|
|
17
|
+
mixins: [Resize],
|
|
19
18
|
|
|
20
19
|
props: {
|
|
21
20
|
expand: Boolean,
|
package/src/js/core/toggle.js
CHANGED
package/src/js/mixin/position.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
$,
|
|
3
|
-
flipPosition,
|
|
4
|
-
getCssVar,
|
|
5
|
-
offset as getOffset,
|
|
6
|
-
includes,
|
|
7
|
-
isNumeric,
|
|
8
|
-
isRtl,
|
|
9
|
-
positionAt,
|
|
10
|
-
toPx,
|
|
11
|
-
} from 'uikit-util';
|
|
1
|
+
import { flipPosition, getCssVar, includes, isRtl, positionAt, toPx } from 'uikit-util';
|
|
12
2
|
|
|
13
3
|
export default {
|
|
14
4
|
props: {
|
|
@@ -21,7 +11,6 @@ export default {
|
|
|
21
11
|
pos: `bottom-${isRtl ? 'right' : 'left'}`,
|
|
22
12
|
flip: true,
|
|
23
13
|
offset: false,
|
|
24
|
-
viewportPadding: 10,
|
|
25
14
|
},
|
|
26
15
|
|
|
27
16
|
connected() {
|
|
@@ -33,16 +22,22 @@ export default {
|
|
|
33
22
|
positionAt(element, target, boundary) {
|
|
34
23
|
const [dir, align] = this.pos;
|
|
35
24
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
25
|
+
const mainAxisOffset =
|
|
26
|
+
toPx(
|
|
27
|
+
this.offset === false ? getCssVar('position-offset', element) : this.offset,
|
|
28
|
+
this.axis === 'x' ? 'width' : 'height',
|
|
29
|
+
element
|
|
30
|
+
) * (includes(['left', 'top'], dir) ? -1 : 1);
|
|
31
|
+
|
|
32
|
+
const crossAxisOffset = includes(['center', 'justify'], align)
|
|
33
|
+
? 0
|
|
34
|
+
: toPx(
|
|
35
|
+
getCssVar('position-shift-offset', element),
|
|
36
|
+
this.axis === 'y' ? 'width' : 'height',
|
|
37
|
+
element
|
|
38
|
+
) * (includes(['left', 'top'], align) ? 1 : -1);
|
|
39
|
+
|
|
40
|
+
let offset = [mainAxisOffset, crossAxisOffset];
|
|
46
41
|
|
|
47
42
|
const attach = {
|
|
48
43
|
element: [flipPosition(dir), align],
|
|
@@ -60,8 +55,8 @@ export default {
|
|
|
60
55
|
attach,
|
|
61
56
|
offset,
|
|
62
57
|
boundary,
|
|
63
|
-
viewportPadding: this.boundaryAlign ? 0 : this.viewportPadding,
|
|
64
58
|
flip: this.flip,
|
|
59
|
+
viewportOffset: toPx(getCssVar('position-viewport-offset', element)),
|
|
65
60
|
});
|
|
66
61
|
},
|
|
67
62
|
},
|
package/src/js/util/position.js
CHANGED
|
@@ -49,6 +49,10 @@ function attachTo(element, target, options) {
|
|
|
49
49
|
return position;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
function moveBy(start, end, dim) {
|
|
53
|
+
return start === 'center' ? dim / 2 : start === end ? dim : 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
function attachToWithFlip(element, target, options) {
|
|
53
57
|
const position = attachTo(element, target, options);
|
|
54
58
|
const targetDim = offset(target);
|
|
@@ -59,7 +63,7 @@ function attachToWithFlip(element, target, options) {
|
|
|
59
63
|
offset: elOffset,
|
|
60
64
|
boundary,
|
|
61
65
|
viewport,
|
|
62
|
-
|
|
66
|
+
viewportOffset,
|
|
63
67
|
} = options;
|
|
64
68
|
|
|
65
69
|
let viewports = scrollParents(element);
|
|
@@ -80,9 +84,9 @@ function attachToWithFlip(element, target, options) {
|
|
|
80
84
|
|
|
81
85
|
viewport = getIntersectionArea(...viewports.filter(Boolean).map(offsetViewport));
|
|
82
86
|
|
|
83
|
-
if (
|
|
84
|
-
viewport[start] +=
|
|
85
|
-
viewport[end] -=
|
|
87
|
+
if (viewportOffset) {
|
|
88
|
+
viewport[start] += viewportOffset;
|
|
89
|
+
viewport[end] -= viewportOffset;
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
if (boundary && !willFlip && position[prop] <= offset(boundary)[prop]) {
|
|
@@ -139,19 +143,21 @@ function attachToWithFlip(element, target, options) {
|
|
|
139
143
|
return false;
|
|
140
144
|
}
|
|
141
145
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
146
|
+
if (flip === true || includes(flip, dirs[1 - i][1])) {
|
|
147
|
+
const newPos = attachToWithFlip(element, target, {
|
|
148
|
+
...options,
|
|
149
|
+
attach: {
|
|
150
|
+
element: elAttach.map(flipDir).reverse(),
|
|
151
|
+
target: targetAttach.map(flipDir).reverse(),
|
|
152
|
+
},
|
|
153
|
+
offset: elOffset.reverse(),
|
|
154
|
+
flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
|
|
155
|
+
recursion: true,
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
|
|
159
|
+
return newPos;
|
|
160
|
+
}
|
|
155
161
|
}
|
|
156
162
|
}
|
|
157
163
|
|
|
@@ -172,10 +178,6 @@ function attachToWithFlip(element, target, options) {
|
|
|
172
178
|
return offsetPosition;
|
|
173
179
|
}
|
|
174
180
|
|
|
175
|
-
function moveBy(start, end, dim) {
|
|
176
|
-
return start === 'center' ? dim / 2 : start === end ? dim : 0;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
181
|
function getIntersectionArea(...rects) {
|
|
180
182
|
let area = {};
|
|
181
183
|
for (const rect of rects) {
|
|
@@ -188,7 +190,7 @@ function getIntersectionArea(...rects) {
|
|
|
188
190
|
}
|
|
189
191
|
|
|
190
192
|
function isInScrollArea(position, scrollElement, dir) {
|
|
191
|
-
const viewport = offsetViewport(scrollElement);
|
|
193
|
+
const viewport = offsetViewport(scrollElement, false);
|
|
192
194
|
const [prop, , start, end] = dirs[dir];
|
|
193
195
|
viewport[start] -= scrollElement[`scroll${ucfirst(start)}`];
|
|
194
196
|
viewport[end] = viewport[start] + scrollElement[`scroll${ucfirst(prop)}`];
|
package/src/js/util/viewport.js
CHANGED
|
@@ -153,32 +153,25 @@ export function scrollParents(element, overflowRe = /auto|scroll|hidden/, scroll
|
|
|
153
153
|
export function offsetViewport(scrollElement) {
|
|
154
154
|
let viewportElement = getViewport(scrollElement);
|
|
155
155
|
|
|
156
|
-
// iOS 12 returns <body> as scrollingElement
|
|
157
|
-
if (viewportElement === scrollingElement(viewportElement)) {
|
|
158
|
-
viewportElement = document.documentElement;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
156
|
let rect = offset(viewportElement);
|
|
162
157
|
for (let [prop, dir, start, end] of [
|
|
163
158
|
['width', 'x', 'left', 'right'],
|
|
164
159
|
['height', 'y', 'top', 'bottom'],
|
|
165
160
|
]) {
|
|
166
|
-
if (!isWindow(
|
|
161
|
+
if (!isWindow(viewportElement)) {
|
|
167
162
|
rect[start] += toFloat(css(viewportElement, `border${ucfirst(start)}Width`));
|
|
163
|
+
} else {
|
|
164
|
+
// iOS 12 returns <body> as scrollingElement
|
|
165
|
+
viewportElement = viewportElement.document.documentElement;
|
|
168
166
|
}
|
|
169
|
-
rect[prop] = rect[dir] = (
|
|
170
|
-
isWindow(viewportElement) ? scrollingElement(viewportElement) : viewportElement
|
|
171
|
-
)[`client${ucfirst(prop)}`];
|
|
167
|
+
rect[prop] = rect[dir] = viewportElement[`client${ucfirst(prop)}`];
|
|
172
168
|
rect[end] = rect[prop] + rect[start];
|
|
173
169
|
}
|
|
174
170
|
return rect;
|
|
175
171
|
}
|
|
176
172
|
|
|
177
173
|
function scrollingElement(element) {
|
|
178
|
-
|
|
179
|
-
document: { scrollingElement },
|
|
180
|
-
} = toWindow(element);
|
|
181
|
-
return scrollingElement;
|
|
174
|
+
return toWindow(element).document.scrollingElement;
|
|
182
175
|
}
|
|
183
176
|
|
|
184
177
|
function getViewport(scrollElement) {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
@drop-z-index: @global-z-index + 20;
|
|
24
24
|
@drop-margin: @global-margin;
|
|
25
|
+
@drop-viewport-margin: 15px;
|
|
25
26
|
@drop-width: 300px;
|
|
26
27
|
|
|
27
28
|
|
|
@@ -42,6 +43,7 @@
|
|
|
42
43
|
position: absolute;
|
|
43
44
|
z-index: @drop-z-index;
|
|
44
45
|
--uk-position-offset: @drop-margin;
|
|
46
|
+
--uk-position-viewport-offset: @drop-viewport-margin;
|
|
45
47
|
/* 3 */
|
|
46
48
|
box-sizing: border-box;
|
|
47
49
|
width: @drop-width;
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
@dropdown-z-index: @global-z-index + 20;
|
|
24
24
|
@dropdown-margin: @global-small-margin;
|
|
25
|
+
@dropdown-viewport-margin: 15px;
|
|
25
26
|
@dropdown-min-width: 200px;
|
|
26
27
|
@dropdown-padding: 15px;
|
|
27
28
|
@dropdown-background: @global-muted-background;
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
position: absolute;
|
|
56
57
|
z-index: @dropdown-z-index;
|
|
57
58
|
--uk-position-offset: @dropdown-margin;
|
|
59
|
+
--uk-position-viewport-offset: @dropdown-viewport-margin;
|
|
58
60
|
/* 3 */
|
|
59
61
|
box-sizing: border-box;
|
|
60
62
|
min-width: @dropdown-min-width;
|
|
@@ -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
|
*/
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
@navbar-color-mode: none;
|
|
41
41
|
|
|
42
42
|
@navbar-nav-item-height: 80px;
|
|
43
|
+
@navbar-nav-item-gap: 0;
|
|
43
44
|
@navbar-nav-item-padding-horizontal: 15px;
|
|
44
45
|
@navbar-nav-item-color: @global-muted-color;
|
|
45
46
|
@navbar-nav-item-font-size: @global-font-size;
|
|
@@ -48,6 +49,7 @@
|
|
|
48
49
|
@navbar-nav-item-onclick-color: @global-emphasis-color;
|
|
49
50
|
@navbar-nav-item-active-color: @global-emphasis-color;
|
|
50
51
|
|
|
52
|
+
@navbar-item-padding-horizontal: @navbar-nav-item-padding-horizontal;
|
|
51
53
|
@navbar-item-color: @global-color;
|
|
52
54
|
|
|
53
55
|
@navbar-toggle-color: @global-muted-color;
|
|
@@ -56,7 +58,9 @@
|
|
|
56
58
|
@navbar-subtitle-font-size: @global-small-font-size;
|
|
57
59
|
|
|
58
60
|
@navbar-dropdown-z-index: @global-z-index + 20;
|
|
59
|
-
@navbar-dropdown-margin:
|
|
61
|
+
@navbar-dropdown-margin: 0;
|
|
62
|
+
@navbar-dropdown-shift-margin: 0;
|
|
63
|
+
@navbar-dropdown-viewport-margin: 15px;
|
|
60
64
|
@navbar-dropdown-width: 200px;
|
|
61
65
|
@navbar-dropdown-padding: 15px;
|
|
62
66
|
@navbar-dropdown-background: @global-muted-background;
|
|
@@ -93,6 +97,7 @@
|
|
|
93
97
|
|
|
94
98
|
.uk-navbar {
|
|
95
99
|
display: flex;
|
|
100
|
+
--uk-navbar-nav-item-gap: @navbar-nav-item-gap;
|
|
96
101
|
/* 1 */
|
|
97
102
|
position: relative;
|
|
98
103
|
.hook-navbar();
|
|
@@ -127,6 +132,7 @@
|
|
|
127
132
|
.uk-navbar-center-left > *,
|
|
128
133
|
.uk-navbar-center-right > * {
|
|
129
134
|
display: flex;
|
|
135
|
+
gap: var(--uk-navbar-nav-item-gap);
|
|
130
136
|
/* 1 */
|
|
131
137
|
align-items: center;
|
|
132
138
|
}
|
|
@@ -168,8 +174,14 @@
|
|
|
168
174
|
top: 0;
|
|
169
175
|
}
|
|
170
176
|
|
|
171
|
-
.uk-navbar-center-left {
|
|
172
|
-
|
|
177
|
+
.uk-navbar-center-left {
|
|
178
|
+
right: 100%; // Fallback if gap is 0
|
|
179
|
+
right: ~'calc(100% + var(--uk-navbar-nav-item-gap))';
|
|
180
|
+
}
|
|
181
|
+
.uk-navbar-center-right {
|
|
182
|
+
left: 100%; // Fallback if gap is 0
|
|
183
|
+
left: ~'calc(100% + var(--uk-navbar-nav-item-gap))';
|
|
184
|
+
}
|
|
173
185
|
|
|
174
186
|
[class*='uk-navbar-center-'] {
|
|
175
187
|
width: max-content;
|
|
@@ -186,6 +198,7 @@
|
|
|
186
198
|
|
|
187
199
|
.uk-navbar-nav {
|
|
188
200
|
display: flex;
|
|
201
|
+
gap: var(--uk-navbar-nav-item-gap);
|
|
189
202
|
/* 1 */
|
|
190
203
|
margin: 0;
|
|
191
204
|
padding: 0;
|
|
@@ -267,6 +280,7 @@
|
|
|
267
280
|
========================================================================== */
|
|
268
281
|
|
|
269
282
|
.uk-navbar-item {
|
|
283
|
+
padding: 0 @navbar-item-padding-horizontal;
|
|
270
284
|
color: @navbar-item-color;
|
|
271
285
|
.hook-navbar-item();
|
|
272
286
|
}
|
|
@@ -362,6 +376,8 @@
|
|
|
362
376
|
position: absolute;
|
|
363
377
|
z-index: @navbar-dropdown-z-index;
|
|
364
378
|
--uk-position-offset: @navbar-dropdown-margin;
|
|
379
|
+
--uk-position-shift-offset: @navbar-dropdown-shift-margin;
|
|
380
|
+
--uk-position-viewport-offset: @navbar-dropdown-viewport-margin;
|
|
365
381
|
/* 3 */
|
|
366
382
|
box-sizing: border-box;
|
|
367
383
|
width: @navbar-dropdown-width;
|
|
@@ -402,19 +418,23 @@
|
|
|
402
418
|
|
|
403
419
|
/*
|
|
404
420
|
* Dropbar modifier
|
|
405
|
-
* 1.
|
|
406
|
-
* 2.
|
|
407
|
-
* 3.
|
|
421
|
+
* 1. Reset dropdown width to prevent to early shifting
|
|
422
|
+
* 2. Set position
|
|
423
|
+
* 3. Bottom padding for dropbar
|
|
424
|
+
* 4. Horizontal padding
|
|
408
425
|
*/
|
|
409
426
|
|
|
410
427
|
.uk-navbar-dropdown-dropbar {
|
|
411
428
|
/* 1 */
|
|
412
|
-
|
|
429
|
+
width: auto;
|
|
413
430
|
/* 2 */
|
|
414
|
-
|
|
431
|
+
--uk-position-offset: @navbar-dropdown-dropbar-margin-top;
|
|
415
432
|
/* 3 */
|
|
433
|
+
margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
|
|
434
|
+
/* 4 */
|
|
416
435
|
padding-left: @navbar-dropdown-dropbar-padding-horizontal;
|
|
417
436
|
padding-right: @navbar-dropdown-dropbar-padding-horizontal;
|
|
437
|
+
--uk-position-shift-offset: 0;
|
|
418
438
|
.hook-navbar-dropdown-dropbar();
|
|
419
439
|
}
|
|
420
440
|
|
|
@@ -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
|
|