uikit 3.14.4-dev.4bd89c5ca → 3.14.4-dev.7db3661de
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 +8 -1
- package/dist/css/uikit-core-rtl.css +73 -101
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +73 -101
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +73 -101
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +73 -101
- 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 +1 -1
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +1 -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 +4 -5
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +4 -5
- 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 +4 -5
- 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 +4 -4
- 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 +74 -39
- 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 -39
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/images/{backgrounds/nav-parent-close.svg → components/nav-parent-icon-large.svg} +0 -0
- package/src/images/{backgrounds/navbar-parent-close.svg → components/nav-parent-icon.svg} +0 -0
- package/src/images/{backgrounds/navbar-parent-open.svg → components/navbar-parent-icon.svg} +1 -1
- package/src/js/core/height-viewport.js +4 -2
- package/src/js/core/icon.js +16 -0
- package/src/js/core/index.js +2 -0
- package/src/js/core/leader.js +2 -2
- package/src/js/core/scroll.js +37 -10
- package/src/js/mixin/media.js +4 -5
- package/src/js/mixin/position.js +3 -4
- package/src/js/util/style.js +4 -13
- package/src/js/util/viewport.js +2 -4
- package/src/less/components/dropdown.less +6 -0
- package/src/less/components/leader.less +1 -1
- package/src/less/components/nav.less +15 -40
- package/src/less/components/navbar.less +27 -32
- package/src/less/components/utility.less +10 -2
- package/src/less/theme/nav.less +0 -8
- package/src/less/theme/navbar.less +0 -8
- package/src/scss/components/dropdown.scss +6 -0
- package/src/scss/components/leader.scss +1 -1
- package/src/scss/components/nav.scss +14 -28
- package/src/scss/components/navbar.scss +27 -20
- package/src/scss/components/utility.scss +8 -1
- package/src/scss/mixins-theme.scss +4 -27
- package/src/scss/mixins.scss +4 -27
- package/src/scss/theme/nav.scss +0 -8
- package/src/scss/theme/navbar.scss +0 -8
- package/src/scss/variables-theme.scss +4 -13
- package/src/scss/variables.scss +4 -13
- package/tests/index.html +3 -3
- package/tests/nav.html +20 -87
- package/tests/navbar.html +20 -31
- package/tests/offcanvas.html +8 -8
- package/tests/utility.html +19 -0
- package/src/images/backgrounds/nav-parent-open.svg +0 -3
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.4-dev.
|
|
5
|
+
"version": "3.14.4-dev.7db3661de",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/images/{backgrounds/nav-parent-close.svg → components/nav-parent-icon-large.svg}
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -45,8 +45,11 @@ export default {
|
|
|
45
45
|
let minHeight = '';
|
|
46
46
|
const box = boxModelAdjust(this.$el, 'height', 'content-box');
|
|
47
47
|
|
|
48
|
+
const { body, scrollingElement } = document;
|
|
48
49
|
const [scrollElement] = scrollParents(this.$el, /auto|scroll/);
|
|
49
|
-
const { height: viewportHeight } = offsetViewport(
|
|
50
|
+
const { height: viewportHeight } = offsetViewport(
|
|
51
|
+
scrollElement === body ? scrollingElement : scrollElement
|
|
52
|
+
);
|
|
50
53
|
|
|
51
54
|
if (this.expand) {
|
|
52
55
|
minHeight = Math.max(
|
|
@@ -56,7 +59,6 @@ export default {
|
|
|
56
59
|
0
|
|
57
60
|
);
|
|
58
61
|
} else {
|
|
59
|
-
const { body, scrollingElement } = document;
|
|
60
62
|
const isScrollingElement =
|
|
61
63
|
scrollingElement === scrollElement || body === scrollElement;
|
|
62
64
|
|
package/src/js/core/icon.js
CHANGED
|
@@ -2,6 +2,9 @@ import SVG from './svg';
|
|
|
2
2
|
import closeIcon from '../../images/components/close-icon.svg';
|
|
3
3
|
import closeLarge from '../../images/components/close-large.svg';
|
|
4
4
|
import marker from '../../images/components/marker.svg';
|
|
5
|
+
import navParentIcon from '../../images/components/nav-parent-icon.svg';
|
|
6
|
+
import navParentIconLarge from '../../images/components/nav-parent-icon-large.svg';
|
|
7
|
+
import navbarParentIcon from '../../images/components/navbar-parent-icon.svg';
|
|
5
8
|
import navbarToggleIcon from '../../images/components/navbar-toggle-icon.svg';
|
|
6
9
|
import overlayIcon from '../../images/components/overlay-icon.svg';
|
|
7
10
|
import paginationNext from '../../images/components/pagination-next.svg';
|
|
@@ -19,6 +22,7 @@ import {
|
|
|
19
22
|
$,
|
|
20
23
|
addClass,
|
|
21
24
|
apply,
|
|
25
|
+
closest,
|
|
22
26
|
css,
|
|
23
27
|
each,
|
|
24
28
|
hasClass,
|
|
@@ -35,6 +39,9 @@ const icons = {
|
|
|
35
39
|
marker,
|
|
36
40
|
'close-icon': closeIcon,
|
|
37
41
|
'close-large': closeLarge,
|
|
42
|
+
'nav-parent-icon': navParentIcon,
|
|
43
|
+
'nav-parent-icon-large': navParentIconLarge,
|
|
44
|
+
'navbar-parent-icon': navbarParentIcon,
|
|
38
45
|
'navbar-toggle-icon': navbarToggleIcon,
|
|
39
46
|
'overlay-icon': overlayIcon,
|
|
40
47
|
'pagination-next': paginationNext,
|
|
@@ -96,6 +103,15 @@ export const IconComponent = {
|
|
|
96
103
|
},
|
|
97
104
|
};
|
|
98
105
|
|
|
106
|
+
export const NavParentIcon = {
|
|
107
|
+
extends: IconComponent,
|
|
108
|
+
|
|
109
|
+
beforeConnect() {
|
|
110
|
+
const icon = this.$props.icon;
|
|
111
|
+
this.icon = closest(this.$el, '.uk-nav-primary') ? `${icon}-large` : icon;
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
|
|
99
115
|
export const Slidenav = {
|
|
100
116
|
extends: IconComponent,
|
|
101
117
|
|
package/src/js/core/index.js
CHANGED
|
@@ -29,10 +29,12 @@ export { default as Video } from './video';
|
|
|
29
29
|
// Icon components
|
|
30
30
|
export { Close } from './icon';
|
|
31
31
|
export { Spinner } from './icon';
|
|
32
|
+
export { NavParentIcon } from './icon';
|
|
32
33
|
export { Slidenav as SlidenavNext } from './icon';
|
|
33
34
|
export { Slidenav as SlidenavPrevious } from './icon';
|
|
34
35
|
export { Search as SearchIcon } from './icon';
|
|
35
36
|
export { IconComponent as Marker } from './icon';
|
|
37
|
+
export { IconComponent as NavbarParentIcon } from './icon';
|
|
36
38
|
export { IconComponent as NavbarToggleIcon } from './icon';
|
|
37
39
|
export { IconComponent as OverlayIcon } from './icon';
|
|
38
40
|
export { IconComponent as PaginationNext } from './icon';
|
package/src/js/core/leader.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Class from '../mixin/class';
|
|
2
2
|
import Media from '../mixin/media';
|
|
3
|
-
import { attr,
|
|
3
|
+
import { attr, css, toggleClass, unwrap, wrapInner } from 'uikit-util';
|
|
4
4
|
import Resize from '../mixin/resize';
|
|
5
5
|
|
|
6
6
|
export default {
|
|
@@ -19,7 +19,7 @@ export default {
|
|
|
19
19
|
|
|
20
20
|
computed: {
|
|
21
21
|
fill({ fill }) {
|
|
22
|
-
return fill ||
|
|
22
|
+
return fill || css(this.$el, '--uk-leader-fill-content');
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
25
|
|
package/src/js/core/scroll.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $, scrollIntoView, trigger } from 'uikit-util';
|
|
1
|
+
import { $, off, on, scrollIntoView, trigger, within } from 'uikit-util';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
props: {
|
|
@@ -9,6 +9,14 @@ export default {
|
|
|
9
9
|
offset: 0,
|
|
10
10
|
},
|
|
11
11
|
|
|
12
|
+
connected() {
|
|
13
|
+
registerClick(this);
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
disconnected() {
|
|
17
|
+
unregisterClick(this);
|
|
18
|
+
},
|
|
19
|
+
|
|
12
20
|
methods: {
|
|
13
21
|
async scrollTo(el) {
|
|
14
22
|
el = (el && $(el)) || document.body;
|
|
@@ -19,18 +27,37 @@ export default {
|
|
|
19
27
|
}
|
|
20
28
|
},
|
|
21
29
|
},
|
|
30
|
+
};
|
|
22
31
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
const components = new Set();
|
|
33
|
+
function registerClick(cmp) {
|
|
34
|
+
if (!components.size) {
|
|
35
|
+
on(document, 'click', clickHandler);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
components.add(cmp);
|
|
39
|
+
}
|
|
28
40
|
|
|
41
|
+
function unregisterClick(cmp) {
|
|
42
|
+
components.delete(cmp);
|
|
43
|
+
|
|
44
|
+
if (!components.length) {
|
|
45
|
+
off(document, 'click', clickHandler);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function clickHandler(e) {
|
|
50
|
+
if (e.defaultPrevented) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
for (const component of components) {
|
|
55
|
+
if (within(component.$el, e.target)) {
|
|
29
56
|
e.preventDefault();
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
57
|
+
component.scrollTo(getTargetElement(component.$el));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
34
61
|
|
|
35
62
|
export function getTargetElement(el) {
|
|
36
63
|
return document.getElementById(decodeURIComponent(el.hash).substring(1));
|
package/src/js/mixin/media.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createEvent,
|
|
3
|
-
|
|
3
|
+
css,
|
|
4
4
|
isNumeric,
|
|
5
5
|
isString,
|
|
6
6
|
on,
|
|
@@ -19,7 +19,7 @@ export default {
|
|
|
19
19
|
},
|
|
20
20
|
|
|
21
21
|
connected() {
|
|
22
|
-
const media = toMedia(this.media);
|
|
22
|
+
const media = toMedia(this.media, this.$el);
|
|
23
23
|
this.matchMedia = true;
|
|
24
24
|
if (media) {
|
|
25
25
|
this.mediaObj = window.matchMedia(media);
|
|
@@ -40,11 +40,10 @@ export default {
|
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
function toMedia(value) {
|
|
43
|
+
function toMedia(value, element) {
|
|
44
44
|
if (isString(value)) {
|
|
45
45
|
if (startsWith(value, '@')) {
|
|
46
|
-
|
|
47
|
-
value = toFloat(getCssVar(name));
|
|
46
|
+
value = toFloat(css(element, `--uk-breakpoint-${value.substr(1)}`));
|
|
48
47
|
} else if (isNaN(value)) {
|
|
49
48
|
return value;
|
|
50
49
|
}
|
package/src/js/mixin/position.js
CHANGED
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
css,
|
|
3
3
|
dimensions,
|
|
4
4
|
flipPosition,
|
|
5
|
-
getCssVar,
|
|
6
5
|
includes,
|
|
7
6
|
isRtl,
|
|
8
7
|
positionAt,
|
|
@@ -77,7 +76,7 @@ export default {
|
|
|
77
76
|
getPositionOffset(element) {
|
|
78
77
|
return (
|
|
79
78
|
toPx(
|
|
80
|
-
this.offset === false ?
|
|
79
|
+
this.offset === false ? css(element, '--uk-position-offset') : this.offset,
|
|
81
80
|
this.axis === 'x' ? 'width' : 'height',
|
|
82
81
|
element
|
|
83
82
|
) * (includes(['left', 'top'], this.dir) ? -1 : 1)
|
|
@@ -88,14 +87,14 @@ export default {
|
|
|
88
87
|
return includes(['center', 'justify', 'stretch'], this.align)
|
|
89
88
|
? 0
|
|
90
89
|
: toPx(
|
|
91
|
-
|
|
90
|
+
css(element, '--uk-position-shift-offset'),
|
|
92
91
|
this.axis === 'y' ? 'width' : 'height',
|
|
93
92
|
element
|
|
94
93
|
) * (includes(['left', 'top'], this.align) ? 1 : -1);
|
|
95
94
|
},
|
|
96
95
|
|
|
97
96
|
getViewportOffset(element) {
|
|
98
|
-
return toPx(
|
|
97
|
+
return toPx(css(element, '--uk-position-viewport-offset'));
|
|
99
98
|
},
|
|
100
99
|
},
|
|
101
100
|
};
|
package/src/js/util/style.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
isString,
|
|
9
9
|
isUndefined,
|
|
10
10
|
memoize,
|
|
11
|
+
startsWith,
|
|
11
12
|
toNodes,
|
|
12
13
|
} from './lang';
|
|
13
14
|
|
|
@@ -62,18 +63,11 @@ export function css(element, property, value, priority = '') {
|
|
|
62
63
|
return elements[0];
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
const propertyRe = /^\s*(["'])?(.*?)\1\s*$/;
|
|
66
|
-
export function getCssVar(name, element = document.documentElement) {
|
|
67
|
-
return css(element, `--uk-${name}`).replace(propertyRe, '$2');
|
|
68
|
-
}
|
|
69
|
-
|
|
70
66
|
// https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty
|
|
71
67
|
export const propName = memoize((name) => vendorPropName(name));
|
|
72
68
|
|
|
73
|
-
const cssPrefixes = ['webkit', 'moz'];
|
|
74
|
-
|
|
75
69
|
function vendorPropName(name) {
|
|
76
|
-
if (name
|
|
70
|
+
if (startsWith(name, '--')) {
|
|
77
71
|
return name;
|
|
78
72
|
}
|
|
79
73
|
|
|
@@ -85,11 +79,8 @@ function vendorPropName(name) {
|
|
|
85
79
|
return name;
|
|
86
80
|
}
|
|
87
81
|
|
|
88
|
-
|
|
89
|
-
prefixedName
|
|
90
|
-
|
|
91
|
-
while (i--) {
|
|
92
|
-
prefixedName = `-${cssPrefixes[i]}-${name}`;
|
|
82
|
+
for (const prefix of ['webkit', 'moz']) {
|
|
83
|
+
const prefixedName = `-${prefix}-${name}`;
|
|
93
84
|
if (prefixedName in style) {
|
|
94
85
|
return prefixedName;
|
|
95
86
|
}
|
package/src/js/util/viewport.js
CHANGED
|
@@ -128,12 +128,10 @@ export function scrollParents(element, overflowRe = /auto|scroll|hidden|clip/, s
|
|
|
128
128
|
export function offsetViewport(scrollElement) {
|
|
129
129
|
const window = toWindow(scrollElement);
|
|
130
130
|
const {
|
|
131
|
-
document: {
|
|
131
|
+
document: { documentElement },
|
|
132
132
|
} = window;
|
|
133
133
|
let viewportElement =
|
|
134
|
-
scrollElement === scrollingElement(scrollElement)
|
|
135
|
-
? window
|
|
136
|
-
: scrollElement;
|
|
134
|
+
scrollElement === scrollingElement(scrollElement) ? window : scrollElement;
|
|
137
135
|
|
|
138
136
|
const { visualViewport } = window;
|
|
139
137
|
if (isWindow(viewportElement) && visualViewport) {
|
|
@@ -70,6 +70,12 @@
|
|
|
70
70
|
/* Show */
|
|
71
71
|
.uk-dropdown.uk-open { display: block; }
|
|
72
72
|
|
|
73
|
+
/*
|
|
74
|
+
* Remove margin from the last-child
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
.uk-dropdown > :last-child { margin-bottom: 0; }
|
|
78
|
+
|
|
73
79
|
|
|
74
80
|
/* Size modifier
|
|
75
81
|
========================================================================== */
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Component: `uk-nav`
|
|
5
5
|
//
|
|
6
|
-
// Sub-objects: `uk-nav-
|
|
6
|
+
// Sub-objects: `uk-nav-parent-icon`
|
|
7
|
+
// `uk-nav-header`
|
|
7
8
|
// `uk-nav-divider`
|
|
8
9
|
// `uk-nav-subtitle`
|
|
9
10
|
// `uk-nav-sub`
|
|
10
11
|
//
|
|
11
|
-
// Modifiers: `uk-nav-
|
|
12
|
-
// `uk-nav-default`
|
|
12
|
+
// Modifiers: `uk-nav-default`
|
|
13
13
|
// `uk-nav-primary`
|
|
14
14
|
// `uk-nav-center`,
|
|
15
15
|
// `uk-nav-divider`
|
|
@@ -33,10 +33,6 @@
|
|
|
33
33
|
@nav-sublist-deeper-padding-left: 15px;
|
|
34
34
|
@nav-sublist-item-padding-vertical: 2px;
|
|
35
35
|
|
|
36
|
-
@nav-parent-icon-width: (@global-line-height * 1em);
|
|
37
|
-
@nav-parent-icon-height: @nav-parent-icon-width;
|
|
38
|
-
@nav-parent-icon-color: @global-color;
|
|
39
|
-
|
|
40
36
|
@nav-header-padding-vertical: @nav-item-padding-vertical;
|
|
41
37
|
@nav-header-padding-horizontal: @nav-item-padding-horizontal;
|
|
42
38
|
@nav-header-font-size: @global-small-font-size;
|
|
@@ -76,13 +72,10 @@
|
|
|
76
72
|
@nav-primary-sublist-item-hover-color: @global-color;
|
|
77
73
|
@nav-primary-sublist-item-active-color: @global-emphasis-color;
|
|
78
74
|
|
|
79
|
-
@nav-dividers-margin-top:
|
|
75
|
+
@nav-dividers-margin-top: 5px;
|
|
80
76
|
@nav-dividers-border-width: @global-border-width;
|
|
81
77
|
@nav-dividers-border: @global-border;
|
|
82
78
|
|
|
83
|
-
@internal-nav-parent-close-image: "../../images/backgrounds/nav-parent-close.svg";
|
|
84
|
-
@internal-nav-parent-open-image: "../../images/backgrounds/nav-parent-open.svg";
|
|
85
|
-
|
|
86
79
|
|
|
87
80
|
/* ========================================================================
|
|
88
81
|
Component: Nav
|
|
@@ -149,21 +142,12 @@ ul.uk-nav-sub {
|
|
|
149
142
|
.uk-nav-sub a { padding: @nav-sublist-item-padding-vertical 0; }
|
|
150
143
|
|
|
151
144
|
|
|
152
|
-
/* Parent icon
|
|
145
|
+
/* Parent icon
|
|
153
146
|
========================================================================== */
|
|
154
147
|
|
|
155
|
-
.uk-nav-parent-icon
|
|
156
|
-
content: "";
|
|
157
|
-
width: @nav-parent-icon-width;
|
|
158
|
-
height: @nav-parent-icon-height;
|
|
159
|
-
margin-left: auto;
|
|
160
|
-
.svg-fill(@internal-nav-parent-close-image, "#000", @nav-parent-icon-color);
|
|
161
|
-
background-repeat: no-repeat;
|
|
162
|
-
background-position: 50% 50%;
|
|
163
|
-
.hook-nav-parent-icon();
|
|
164
|
-
}
|
|
148
|
+
.uk-nav-parent-icon { margin-left: auto; }
|
|
165
149
|
|
|
166
|
-
.uk-nav
|
|
150
|
+
.uk-nav > li > a[aria-expanded="true"] .uk-nav-parent-icon { transform: rotate(180deg); }
|
|
167
151
|
|
|
168
152
|
|
|
169
153
|
/* Header
|
|
@@ -351,13 +335,18 @@ ul.uk-nav-sub {
|
|
|
351
335
|
.uk-nav-center .uk-nav-sub,
|
|
352
336
|
.uk-nav-center .uk-nav-sub ul { padding-left: 0; }
|
|
353
337
|
|
|
354
|
-
/* Parent icon
|
|
355
|
-
.uk-nav-center.uk-nav-parent-icon
|
|
338
|
+
/* Parent icon */
|
|
339
|
+
.uk-nav-center .uk-nav-parent-icon { margin-left: 0; }
|
|
356
340
|
|
|
357
341
|
|
|
358
342
|
/* Style modifier
|
|
359
343
|
========================================================================== */
|
|
360
344
|
|
|
345
|
+
/*
|
|
346
|
+
* Divider
|
|
347
|
+
* Naming is in plural to prevent conflicts with divider sub object.
|
|
348
|
+
*/
|
|
349
|
+
|
|
361
350
|
.uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
|
|
362
351
|
margin-top: @nav-dividers-margin-top;
|
|
363
352
|
padding-top: @nav-dividers-margin-top;
|
|
@@ -372,7 +361,6 @@ ul.uk-nav-sub {
|
|
|
372
361
|
.hook-nav-misc();
|
|
373
362
|
|
|
374
363
|
.hook-nav-sub() {}
|
|
375
|
-
.hook-nav-parent-icon() {}
|
|
376
364
|
.hook-nav-header() {}
|
|
377
365
|
.hook-nav-divider() {}
|
|
378
366
|
.hook-nav-default() {}
|
|
@@ -396,7 +384,6 @@ ul.uk-nav-sub {
|
|
|
396
384
|
// Inverse
|
|
397
385
|
// ========================================================================
|
|
398
386
|
|
|
399
|
-
@inverse-nav-parent-icon-color: @inverse-global-color;
|
|
400
387
|
@inverse-nav-default-item-color: @inverse-global-muted-color;
|
|
401
388
|
@inverse-nav-default-item-hover-color: @inverse-global-color;
|
|
402
389
|
@inverse-nav-default-item-active-color: @inverse-global-emphasis-color;
|
|
@@ -419,17 +406,6 @@ ul.uk-nav-sub {
|
|
|
419
406
|
|
|
420
407
|
.hook-inverse() {
|
|
421
408
|
|
|
422
|
-
//
|
|
423
|
-
// Parent icon modifier
|
|
424
|
-
//
|
|
425
|
-
|
|
426
|
-
.uk-nav-parent-icon > .uk-parent > a::after {
|
|
427
|
-
.svg-fill(@internal-nav-parent-close-image, "#000", @inverse-nav-parent-icon-color);
|
|
428
|
-
.hook-inverse-nav-parent-icon();
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
.uk-nav-parent-icon > .uk-parent.uk-open > a::after { .svg-fill(@internal-nav-parent-open-image, "#000", @inverse-nav-parent-icon-color); }
|
|
432
|
-
|
|
433
409
|
//
|
|
434
410
|
// Default
|
|
435
411
|
//
|
|
@@ -506,12 +482,11 @@ ul.uk-nav-sub {
|
|
|
506
482
|
|
|
507
483
|
.uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
|
|
508
484
|
border-top-color: @inverse-nav-dividers-border;
|
|
509
|
-
.hook-nav-dividers();
|
|
485
|
+
.hook-inverse-nav-dividers();
|
|
510
486
|
}
|
|
511
487
|
|
|
512
488
|
}
|
|
513
489
|
|
|
514
|
-
.hook-inverse-nav-parent-icon() {}
|
|
515
490
|
.hook-inverse-nav-default-item() {}
|
|
516
491
|
.hook-inverse-nav-default-item-hover() {}
|
|
517
492
|
.hook-inverse-nav-default-item-active() {}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
// `uk-navbar-center-left`
|
|
11
11
|
// `uk-navbar-center-right`
|
|
12
12
|
// `uk-navbar-nav`
|
|
13
|
+
// `uk-navbar-parent-icon`
|
|
13
14
|
// `uk-navbar-item`
|
|
14
15
|
// `uk-navbar-toggle`
|
|
15
16
|
// `uk-navbar-subtitle`
|
|
@@ -51,10 +52,7 @@
|
|
|
51
52
|
@navbar-nav-item-onclick-color: @global-emphasis-color;
|
|
52
53
|
@navbar-nav-item-active-color: @global-emphasis-color;
|
|
53
54
|
|
|
54
|
-
@navbar-parent-icon-width: 12px;
|
|
55
|
-
@navbar-parent-icon-height: 12px;
|
|
56
55
|
@navbar-parent-icon-margin-left: 4px;
|
|
57
|
-
@navbar-parent-icon-color: @navbar-nav-item-color;
|
|
58
56
|
|
|
59
57
|
@navbar-item-padding-horizontal: 15px;
|
|
60
58
|
@navbar-item-color: @global-color;
|
|
@@ -89,6 +87,9 @@
|
|
|
89
87
|
@navbar-dropdown-dropbar-padding-top: @navbar-dropdown-padding;
|
|
90
88
|
@navbar-dropdown-dropbar-padding-bottom: @navbar-dropdown-dropbar-padding-top;
|
|
91
89
|
@navbar-dropdown-dropbar-padding-horizontal: @navbar-nav-item-padding-horizontal;
|
|
90
|
+
@navbar-dropdown-dropbar-viewport-margin: 15px;
|
|
91
|
+
@navbar-dropdown-dropbar-viewport-margin-s: @global-gutter;
|
|
92
|
+
@navbar-dropdown-dropbar-viewport-margin-m: @global-medium-gutter;
|
|
92
93
|
|
|
93
94
|
@navbar-dropdown-nav-item-color: @global-muted-color;
|
|
94
95
|
@navbar-dropdown-nav-item-hover-color: @global-color;
|
|
@@ -104,9 +105,6 @@
|
|
|
104
105
|
@navbar-dropbar-background: @navbar-dropdown-background;
|
|
105
106
|
@navbar-dropbar-z-index: @global-z-index - 20;
|
|
106
107
|
|
|
107
|
-
@internal-navbar-parent-close-image: "../../images/backgrounds/navbar-parent-close.svg";
|
|
108
|
-
@internal-navbar-parent-open-image: "../../images/backgrounds/navbar-parent-open.svg";
|
|
109
|
-
|
|
110
108
|
|
|
111
109
|
/* ========================================================================
|
|
112
110
|
Component: Navbar
|
|
@@ -289,19 +287,9 @@
|
|
|
289
287
|
/* Parent icon modifier
|
|
290
288
|
========================================================================== */
|
|
291
289
|
|
|
292
|
-
.uk-navbar-parent-icon
|
|
293
|
-
content: "";
|
|
294
|
-
width: @navbar-parent-icon-width;
|
|
295
|
-
height: @navbar-parent-icon-height;
|
|
296
|
-
margin-left: @navbar-parent-icon-margin-left;
|
|
297
|
-
.svg-fill(@internal-navbar-parent-close-image, "#000", @navbar-parent-icon-color);
|
|
298
|
-
background-repeat: no-repeat;
|
|
299
|
-
background-position: 50% 50%;
|
|
300
|
-
.hook-nav-parent-icon();
|
|
301
|
-
}
|
|
290
|
+
.uk-navbar-parent-icon { margin-left: @navbar-parent-icon-margin-left; }
|
|
302
291
|
|
|
303
|
-
.uk-navbar-
|
|
304
|
-
.uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a[aria-expanded="true"]::after { .svg-fill(@internal-navbar-parent-open-image, "#000", @navbar-parent-icon-color); }
|
|
292
|
+
.uk-navbar-nav > li > a[aria-expanded="true"] .uk-navbar-parent-icon { transform: rotate(180deg); }
|
|
305
293
|
|
|
306
294
|
|
|
307
295
|
/* Item
|
|
@@ -421,6 +409,12 @@
|
|
|
421
409
|
/* Show */
|
|
422
410
|
.uk-navbar-dropdown.uk-open { display: block; }
|
|
423
411
|
|
|
412
|
+
/*
|
|
413
|
+
* Remove margin from the last-child
|
|
414
|
+
*/
|
|
415
|
+
|
|
416
|
+
.uk-navbar-dropdown > :last-child { margin-bottom: 0; }
|
|
417
|
+
|
|
424
418
|
// Color Mode
|
|
425
419
|
.uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
|
|
426
420
|
.uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
|
|
@@ -512,9 +506,24 @@
|
|
|
512
506
|
/* 3 */
|
|
513
507
|
padding: @navbar-dropdown-dropbar-padding-top @navbar-dropdown-dropbar-padding-horizontal @navbar-dropdown-dropbar-padding-bottom @navbar-dropdown-dropbar-padding-horizontal;
|
|
514
508
|
--uk-position-shift-offset: 0;
|
|
509
|
+
--uk-position-viewport-offset: @navbar-dropdown-dropbar-viewport-margin;
|
|
515
510
|
.hook-navbar-dropdown-dropbar();
|
|
516
511
|
}
|
|
517
512
|
|
|
513
|
+
/* Phone landscape and bigger */
|
|
514
|
+
@media (min-width: @breakpoint-small) {
|
|
515
|
+
|
|
516
|
+
.uk-navbar-dropdown-dropbar { --uk-position-viewport-offset: @navbar-dropdown-dropbar-viewport-margin-s; }
|
|
517
|
+
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/* Tablet landscape and bigger */
|
|
521
|
+
@media (min-width: @breakpoint-medium) {
|
|
522
|
+
|
|
523
|
+
.uk-navbar-dropdown-dropbar { --uk-position-viewport-offset: @navbar-dropdown-dropbar-viewport-margin-m; }
|
|
524
|
+
|
|
525
|
+
}
|
|
526
|
+
|
|
518
527
|
|
|
519
528
|
/* Dropdown Nav
|
|
520
529
|
* Adopts `uk-nav`
|
|
@@ -637,7 +646,6 @@
|
|
|
637
646
|
@inverse-navbar-nav-item-hover-color: @inverse-global-color;
|
|
638
647
|
@inverse-navbar-nav-item-onclick-color: @inverse-global-emphasis-color;
|
|
639
648
|
@inverse-navbar-nav-item-active-color: @inverse-global-emphasis-color;
|
|
640
|
-
@inverse-navbar-parent-icon-color: @inverse-navbar-nav-item-color;
|
|
641
649
|
@inverse-navbar-item-color: @inverse-global-color;
|
|
642
650
|
@inverse-navbar-toggle-color: @inverse-global-muted-color;
|
|
643
651
|
@inverse-navbar-toggle-hover-color: @inverse-global-color;
|
|
@@ -669,18 +677,6 @@
|
|
|
669
677
|
.hook-inverse-navbar-nav-item-active();
|
|
670
678
|
}
|
|
671
679
|
|
|
672
|
-
//
|
|
673
|
-
// Parent icon modifier
|
|
674
|
-
//
|
|
675
|
-
|
|
676
|
-
.uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a::after {
|
|
677
|
-
.svg-fill(@internal-navbar-parent-close-image, "#000", @inverse-navbar-parent-icon-color);
|
|
678
|
-
.hook-inverse-nav-parent-icon();
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
.uk-navbar-parent-icon .uk-navbar-nav > .uk-parent:hover > a::after,
|
|
682
|
-
.uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a[aria-expanded="true"]::after { .svg-fill(@internal-navbar-parent-open-image, "#000", @inverse-navbar-parent-icon-color); }
|
|
683
|
-
|
|
684
680
|
//
|
|
685
681
|
// Item
|
|
686
682
|
//
|
|
@@ -711,7 +707,6 @@
|
|
|
711
707
|
.hook-inverse-navbar-nav-item-hover() {}
|
|
712
708
|
.hook-inverse-navbar-nav-item-onclick() {}
|
|
713
709
|
.hook-inverse-navbar-nav-item-active() {}
|
|
714
|
-
.hook-inverse-nav-parent-icon() {}
|
|
715
710
|
.hook-inverse-navbar-item() {}
|
|
716
711
|
.hook-inverse-navbar-toggle() {}
|
|
717
712
|
.hook-inverse-navbar-toggle-hover() {}
|
|
@@ -147,6 +147,13 @@
|
|
|
147
147
|
.uk-overflow-auto > :last-child { margin-bottom: 0; }
|
|
148
148
|
|
|
149
149
|
|
|
150
|
+
/* Box Sizing
|
|
151
|
+
========================================================================== */
|
|
152
|
+
|
|
153
|
+
.uk-box-sizing-content { box-sizing: content-box; }
|
|
154
|
+
.uk-box-sizing-border { box-sizing: border-box; }
|
|
155
|
+
|
|
156
|
+
|
|
150
157
|
/* Resize
|
|
151
158
|
========================================================================== */
|
|
152
159
|
|
|
@@ -413,7 +420,7 @@
|
|
|
413
420
|
.hook-logo-hover();
|
|
414
421
|
}
|
|
415
422
|
|
|
416
|
-
.uk-logo
|
|
423
|
+
.uk-logo :where(img, svg, video) { display: block; }
|
|
417
424
|
|
|
418
425
|
.uk-logo-inverse { display: none; }
|
|
419
426
|
|
|
@@ -525,7 +532,8 @@
|
|
|
525
532
|
.hook-inverse-logo-hover();
|
|
526
533
|
}
|
|
527
534
|
|
|
528
|
-
.uk-logo > :not(
|
|
535
|
+
.uk-logo > picture:not(:only-of-type) > :not(.uk-logo-inverse),
|
|
536
|
+
.uk-logo > :not(picture):not(.uk-logo-inverse):not(:only-of-type) { display: none; }
|
|
529
537
|
.uk-logo-inverse { display: block; }
|
|
530
538
|
|
|
531
539
|
}
|
package/src/less/theme/nav.less
CHANGED
|
@@ -18,12 +18,6 @@
|
|
|
18
18
|
.hook-nav-sub() {}
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
// Parent icon modifier
|
|
22
|
-
// ========================================================================
|
|
23
|
-
|
|
24
|
-
.hook-nav-parent-icon() {}
|
|
25
|
-
|
|
26
|
-
|
|
27
21
|
// Header
|
|
28
22
|
// ========================================================================
|
|
29
23
|
|
|
@@ -87,8 +81,6 @@
|
|
|
87
81
|
// Inverse
|
|
88
82
|
// ========================================================================
|
|
89
83
|
|
|
90
|
-
.hook-inverse-nav-parent-icon() {}
|
|
91
|
-
|
|
92
84
|
.hook-inverse-nav-default-item() {}
|
|
93
85
|
.hook-inverse-nav-default-item-hover() {}
|
|
94
86
|
.hook-inverse-nav-default-item-active() {}
|
|
@@ -68,12 +68,6 @@
|
|
|
68
68
|
.hook-navbar-nav-item-active() {}
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
// Parent icon modifier
|
|
72
|
-
// ========================================================================
|
|
73
|
-
|
|
74
|
-
.hook-nav-parent-icon() {}
|
|
75
|
-
|
|
76
|
-
|
|
77
71
|
// Item
|
|
78
72
|
// ========================================================================
|
|
79
73
|
|
|
@@ -181,8 +175,6 @@
|
|
|
181
175
|
.hook-inverse-navbar-nav-item-onclick() {}
|
|
182
176
|
.hook-inverse-navbar-nav-item-active() {}
|
|
183
177
|
|
|
184
|
-
.hook-inverse-nav-parent-icon() {}
|
|
185
|
-
|
|
186
178
|
.hook-inverse-navbar-item() {}
|
|
187
179
|
|
|
188
180
|
.hook-inverse-navbar-toggle() {}
|