uikit 3.14.4-dev.dbd727038 → 3.14.4-dev.ed37f5c44
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 +51 -52
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +51 -52
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +51 -52
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +51 -52
- 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 +70 -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 +70 -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/components/nav-parent-icon.svg +3 -0
- package/src/js/core/height-viewport.js +4 -2
- package/src/js/core/icon.js +14 -0
- package/src/js/core/index.js +1 -0
- package/src/js/core/leader.js +2 -2
- package/src/js/core/scroll.js +38 -11
- 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 +7 -37
- package/src/less/components/navbar.less +7 -0
- package/src/less/components/utility.less +10 -2
- package/src/less/theme/nav.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 +7 -26
- package/src/scss/components/navbar.scss +7 -0
- package/src/scss/components/utility.scss +8 -1
- package/src/scss/mixins-theme.scss +2 -14
- package/src/scss/mixins.scss +2 -14
- package/src/scss/theme/nav.scss +0 -8
- package/src/scss/variables-theme.scss +1 -7
- package/src/scss/variables.scss +1 -7
- package/tests/index.html +2 -2
- package/tests/nav.html +8 -8
- package/tests/navbar.html +0 -6
- 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.ed37f5c44",
|
|
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
|
|
@@ -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,8 @@ 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';
|
|
5
7
|
import navbarParentIcon from '../../images/components/navbar-parent-icon.svg';
|
|
6
8
|
import navbarToggleIcon from '../../images/components/navbar-toggle-icon.svg';
|
|
7
9
|
import overlayIcon from '../../images/components/overlay-icon.svg';
|
|
@@ -20,6 +22,7 @@ import {
|
|
|
20
22
|
$,
|
|
21
23
|
addClass,
|
|
22
24
|
apply,
|
|
25
|
+
closest,
|
|
23
26
|
css,
|
|
24
27
|
each,
|
|
25
28
|
hasClass,
|
|
@@ -36,6 +39,8 @@ const icons = {
|
|
|
36
39
|
marker,
|
|
37
40
|
'close-icon': closeIcon,
|
|
38
41
|
'close-large': closeLarge,
|
|
42
|
+
'nav-parent-icon': navParentIcon,
|
|
43
|
+
'nav-parent-icon-large': navParentIconLarge,
|
|
39
44
|
'navbar-parent-icon': navbarParentIcon,
|
|
40
45
|
'navbar-toggle-icon': navbarToggleIcon,
|
|
41
46
|
'overlay-icon': overlayIcon,
|
|
@@ -98,6 +103,15 @@ export const IconComponent = {
|
|
|
98
103
|
},
|
|
99
104
|
};
|
|
100
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
|
+
|
|
101
115
|
export const Slidenav = {
|
|
102
116
|
extends: IconComponent,
|
|
103
117
|
|
package/src/js/core/index.js
CHANGED
|
@@ -29,6 +29,7 @@ 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';
|
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
|
+
}
|
|
28
37
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
components.add(cmp);
|
|
39
|
+
}
|
|
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
|
+
e.preventDefault();
|
|
55
|
+
for (const component of components) {
|
|
56
|
+
if (within(component.$el, e.target)) {
|
|
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
|
|
@@ -152,18 +145,9 @@ ul.uk-nav-sub {
|
|
|
152
145
|
/* Parent icon modifier
|
|
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
|
|
@@ -352,7 +336,7 @@ ul.uk-nav-sub {
|
|
|
352
336
|
.uk-nav-center .uk-nav-sub ul { padding-left: 0; }
|
|
353
337
|
|
|
354
338
|
/* Parent icon modifier */
|
|
355
|
-
.uk-nav-center.uk-nav-parent-icon
|
|
339
|
+
.uk-nav-center .uk-nav-parent-icon { margin-left: 0; }
|
|
356
340
|
|
|
357
341
|
|
|
358
342
|
/* Style modifier
|
|
@@ -372,7 +356,6 @@ ul.uk-nav-sub {
|
|
|
372
356
|
.hook-nav-misc();
|
|
373
357
|
|
|
374
358
|
.hook-nav-sub() {}
|
|
375
|
-
.hook-nav-parent-icon() {}
|
|
376
359
|
.hook-nav-header() {}
|
|
377
360
|
.hook-nav-divider() {}
|
|
378
361
|
.hook-nav-default() {}
|
|
@@ -396,7 +379,6 @@ ul.uk-nav-sub {
|
|
|
396
379
|
// Inverse
|
|
397
380
|
// ========================================================================
|
|
398
381
|
|
|
399
|
-
@inverse-nav-parent-icon-color: @inverse-global-color;
|
|
400
382
|
@inverse-nav-default-item-color: @inverse-global-muted-color;
|
|
401
383
|
@inverse-nav-default-item-hover-color: @inverse-global-color;
|
|
402
384
|
@inverse-nav-default-item-active-color: @inverse-global-emphasis-color;
|
|
@@ -419,17 +401,6 @@ ul.uk-nav-sub {
|
|
|
419
401
|
|
|
420
402
|
.hook-inverse() {
|
|
421
403
|
|
|
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
404
|
//
|
|
434
405
|
// Default
|
|
435
406
|
//
|
|
@@ -511,7 +482,6 @@ ul.uk-nav-sub {
|
|
|
511
482
|
|
|
512
483
|
}
|
|
513
484
|
|
|
514
|
-
.hook-inverse-nav-parent-icon() {}
|
|
515
485
|
.hook-inverse-nav-default-item() {}
|
|
516
486
|
.hook-inverse-nav-default-item-hover() {}
|
|
517
487
|
.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`
|
|
@@ -408,6 +409,12 @@
|
|
|
408
409
|
/* Show */
|
|
409
410
|
.uk-navbar-dropdown.uk-open { display: block; }
|
|
410
411
|
|
|
412
|
+
/*
|
|
413
|
+
* Remove margin from the last-child
|
|
414
|
+
*/
|
|
415
|
+
|
|
416
|
+
.uk-navbar-dropdown > :last-child { margin-bottom: 0; }
|
|
417
|
+
|
|
411
418
|
// Color Mode
|
|
412
419
|
.uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
|
|
413
420
|
.uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
|
|
@@ -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() {}
|
|
@@ -70,6 +70,12 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
|
|
|
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 @@ $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-width: ($global-line-height * 1em) !default;
|
|
37
|
-
$nav-parent-icon-height: $nav-parent-icon-width !default;
|
|
38
|
-
$nav-parent-icon-color: $global-color !default;
|
|
39
|
-
|
|
40
36
|
$nav-header-padding-vertical: $nav-item-padding-vertical !default;
|
|
41
37
|
$nav-header-padding-horizontal: $nav-item-padding-horizontal !default;
|
|
42
38
|
$nav-header-font-size: $global-small-font-size !default;
|
|
@@ -76,13 +72,10 @@ $nav-primary-sublist-item-color: $global-muted-color !default;
|
|
|
76
72
|
$nav-primary-sublist-item-hover-color: $global-color !default;
|
|
77
73
|
$nav-primary-sublist-item-active-color: $global-emphasis-color !default;
|
|
78
74
|
|
|
79
|
-
$nav-dividers-margin-top:
|
|
75
|
+
$nav-dividers-margin-top: 5px !default;
|
|
80
76
|
$nav-dividers-border-width: $global-border-width !default;
|
|
81
77
|
$nav-dividers-border: $global-border !default;
|
|
82
78
|
|
|
83
|
-
$internal-nav-parent-close-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22#000%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E" !default;
|
|
84
|
-
$internal-nav-parent-open-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22#000%22%20stroke-width%3D%221.1%22%20points%3D%2213%2010%207%204%201%2010%22%20%2F%3E%0A%3C%2Fsvg%3E" !default;
|
|
85
|
-
|
|
86
79
|
|
|
87
80
|
/* ========================================================================
|
|
88
81
|
Component: Nav
|
|
@@ -152,18 +145,9 @@ ul.uk-nav-sub {
|
|
|
152
145
|
/* Parent icon modifier
|
|
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
|
-
@include svg-fill($internal-nav-parent-close-image, "#000", $nav-parent-icon-color);
|
|
161
|
-
background-repeat: no-repeat;
|
|
162
|
-
background-position: 50% 50%;
|
|
163
|
-
@if(mixin-exists(hook-nav-parent-icon)) {@include 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
|
|
@@ -352,7 +336,7 @@ ul.uk-nav-sub {
|
|
|
352
336
|
.uk-nav-center .uk-nav-sub ul { padding-left: 0; }
|
|
353
337
|
|
|
354
338
|
/* Parent icon modifier */
|
|
355
|
-
.uk-nav-center.uk-nav-parent-icon
|
|
339
|
+
.uk-nav-center .uk-nav-parent-icon { margin-left: 0; }
|
|
356
340
|
|
|
357
341
|
|
|
358
342
|
/* Style modifier
|
|
@@ -372,7 +356,6 @@ ul.uk-nav-sub {
|
|
|
372
356
|
@if(mixin-exists(hook-nav-misc)) {@include hook-nav-misc();}
|
|
373
357
|
|
|
374
358
|
// @mixin hook-nav-sub(){}
|
|
375
|
-
// @mixin hook-nav-parent-icon(){}
|
|
376
359
|
// @mixin hook-nav-header(){}
|
|
377
360
|
// @mixin hook-nav-divider(){}
|
|
378
361
|
// @mixin hook-nav-default(){}
|
|
@@ -396,7 +379,6 @@ ul.uk-nav-sub {
|
|
|
396
379
|
// Inverse
|
|
397
380
|
// ========================================================================
|
|
398
381
|
|
|
399
|
-
$inverse-nav-parent-icon-color: $inverse-global-color !default;
|
|
400
382
|
$inverse-nav-default-item-color: $inverse-global-muted-color !default;
|
|
401
383
|
$inverse-nav-default-item-hover-color: $inverse-global-color !default;
|
|
402
384
|
$inverse-nav-default-item-active-color: $inverse-global-emphasis-color !default;
|
|
@@ -419,7 +401,6 @@ $inverse-nav-dividers-border: $inverse-global-border !default
|
|
|
419
401
|
|
|
420
402
|
|
|
421
403
|
|
|
422
|
-
// @mixin hook-inverse-nav-parent-icon(){}
|
|
423
404
|
// @mixin hook-inverse-nav-default-item(){}
|
|
424
405
|
// @mixin hook-inverse-nav-default-item-hover(){}
|
|
425
406
|
// @mixin 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`
|
|
@@ -408,6 +409,12 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
408
409
|
/* Show */
|
|
409
410
|
.uk-navbar-dropdown.uk-open { display: block; }
|
|
410
411
|
|
|
412
|
+
/*
|
|
413
|
+
* Remove margin from the last-child
|
|
414
|
+
*/
|
|
415
|
+
|
|
416
|
+
.uk-navbar-dropdown > :last-child { margin-bottom: 0; }
|
|
417
|
+
|
|
411
418
|
// Color Mode
|
|
412
419
|
@if ( $navbar-dropdown-color-mode == light ) { .uk-navbar-dropdown { @extend .uk-light !optional;} }
|
|
413
420
|
@if ( $navbar-dropdown-color-mode == dark ) { .uk-navbar-dropdown { @extend .uk-dark !optional;} }
|