uikit 3.13.8-dev.e0d437090 → 3.13.8-dev.eab90fc4f
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 -0
- package/dist/css/uikit-core-rtl.css +14 -8
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +14 -8
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +17 -11
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +17 -11
- 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 +11 -4
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +11 -4
- 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 +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 +1 -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 +110 -78
- 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 +114 -79
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/api/hooks.js +1 -1
- package/src/js/components/lightbox-panel.js +4 -1
- package/src/js/core/height-match.js +1 -2
- package/src/js/core/margin.js +1 -1
- package/src/js/core/navbar.js +17 -7
- package/src/js/core/scrollspy.js +45 -26
- package/src/js/core/toggle.js +1 -1
- package/src/js/mixin/modal.js +6 -2
- package/src/js/uikit-core.js +0 -4
- package/src/js/util/lang.js +0 -4
- package/src/js/util/position.js +34 -1
- package/src/less/components/drop.less +0 -1
- package/src/less/components/icon.less +3 -0
- package/src/less/components/navbar.less +11 -7
- package/src/less/components/search.less +2 -0
- package/src/less/theme/dropdown.less +2 -0
- package/src/less/theme/nav.less +2 -0
- package/src/less/theme/navbar.less +2 -0
- package/src/less/theme/search.less +6 -0
- package/src/scss/components/drop.scss +0 -1
- package/src/scss/components/icon.scss +3 -0
- package/src/scss/components/navbar.scss +11 -7
- package/src/scss/components/search.scss +2 -0
- package/src/scss/mixins-theme.scss +1 -0
- package/src/scss/mixins.scss +1 -0
- package/src/scss/theme/dropdown.scss +2 -0
- package/src/scss/theme/nav.scss +2 -0
- package/src/scss/theme/navbar.scss +2 -0
- package/src/scss/theme/search.scss +6 -0
- package/src/scss/variables-theme.scss +3 -3
- package/tests/animation.html +216 -214
- package/tests/navbar.html +37 -0
- package/src/js/core/core.js +0 -25
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.13.8-dev.
|
|
5
|
+
"version": "3.13.8-dev.eab90fc4f",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/js/api/hooks.js
CHANGED
|
@@ -215,7 +215,10 @@ export default {
|
|
|
215
215
|
};
|
|
216
216
|
|
|
217
217
|
// Image
|
|
218
|
-
if (
|
|
218
|
+
if (
|
|
219
|
+
type === 'image' ||
|
|
220
|
+
src.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)
|
|
221
|
+
) {
|
|
219
222
|
try {
|
|
220
223
|
const { width, height } = await getImage(src, attrs.srcset, attrs.size);
|
|
221
224
|
this.setItem(item, createEl('img', { src, width, height, alt, ...attrs }));
|
|
@@ -15,7 +15,6 @@ export default {
|
|
|
15
15
|
data: {
|
|
16
16
|
target: '> *',
|
|
17
17
|
row: true,
|
|
18
|
-
forceHeight: true,
|
|
19
18
|
},
|
|
20
19
|
|
|
21
20
|
computed: {
|
|
@@ -31,7 +30,7 @@ export default {
|
|
|
31
30
|
},
|
|
32
31
|
|
|
33
32
|
resizeTargets() {
|
|
34
|
-
return this.elements;
|
|
33
|
+
return [this.$el, this.elements];
|
|
35
34
|
},
|
|
36
35
|
|
|
37
36
|
update: {
|
package/src/js/core/margin.js
CHANGED
package/src/js/core/navbar.js
CHANGED
|
@@ -27,8 +27,6 @@ import {
|
|
|
27
27
|
within,
|
|
28
28
|
} from 'uikit-util';
|
|
29
29
|
|
|
30
|
-
const navItem = '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle';
|
|
31
|
-
|
|
32
30
|
export default {
|
|
33
31
|
mixins: [Class, Container],
|
|
34
32
|
|
|
@@ -48,7 +46,7 @@ export default {
|
|
|
48
46
|
},
|
|
49
47
|
|
|
50
48
|
data: {
|
|
51
|
-
dropdown:
|
|
49
|
+
dropdown: '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle',
|
|
52
50
|
align: isRtl ? 'right' : 'left',
|
|
53
51
|
clsDrop: 'uk-navbar-dropdown',
|
|
54
52
|
mode: undefined,
|
|
@@ -61,8 +59,6 @@ export default {
|
|
|
61
59
|
dropbar: false,
|
|
62
60
|
dropbarAnchor: false,
|
|
63
61
|
duration: 200,
|
|
64
|
-
forceHeight: true,
|
|
65
|
-
selMinHeight: navItem,
|
|
66
62
|
container: false,
|
|
67
63
|
},
|
|
68
64
|
|
|
@@ -136,8 +132,22 @@ export default {
|
|
|
136
132
|
immediate: true,
|
|
137
133
|
},
|
|
138
134
|
|
|
139
|
-
toggles
|
|
140
|
-
|
|
135
|
+
toggles: {
|
|
136
|
+
get({ dropdown }, $el) {
|
|
137
|
+
return $$(dropdown, $el);
|
|
138
|
+
},
|
|
139
|
+
|
|
140
|
+
watch() {
|
|
141
|
+
const justify = hasClass(this.$el, 'uk-navbar-justify');
|
|
142
|
+
for (const container of $$(
|
|
143
|
+
'.uk-navbar-nav, .uk-navbar-left, .uk-navbar-right',
|
|
144
|
+
this.$el
|
|
145
|
+
)) {
|
|
146
|
+
css(container, 'flexGrow', justify ? $$(this.dropdown, container).length : '');
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
|
|
150
|
+
immediate: true,
|
|
141
151
|
},
|
|
142
152
|
},
|
|
143
153
|
|
package/src/js/core/scrollspy.js
CHANGED
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
css,
|
|
5
5
|
filter,
|
|
6
6
|
data as getData,
|
|
7
|
-
|
|
7
|
+
observeIntersection,
|
|
8
8
|
once,
|
|
9
9
|
removeClass,
|
|
10
10
|
removeClasses,
|
|
11
11
|
toggleClass,
|
|
12
|
+
toPx,
|
|
12
13
|
trigger,
|
|
13
14
|
} from 'uikit-util';
|
|
14
15
|
|
|
15
|
-
const stateKey = '_ukScrollspy';
|
|
16
16
|
export default {
|
|
17
17
|
mixins: [Scroll],
|
|
18
18
|
|
|
@@ -45,43 +45,64 @@ export default {
|
|
|
45
45
|
return target ? $$(target, $el) : [$el];
|
|
46
46
|
},
|
|
47
47
|
|
|
48
|
-
watch(elements) {
|
|
48
|
+
watch(elements, prev) {
|
|
49
49
|
if (this.hidden) {
|
|
50
50
|
css(filter(elements, `:not(.${this.inViewClass})`), 'visibility', 'hidden');
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
if (prev) {
|
|
54
|
+
this.$reset();
|
|
55
|
+
}
|
|
52
56
|
},
|
|
53
57
|
|
|
54
58
|
immediate: true,
|
|
55
59
|
},
|
|
56
60
|
},
|
|
57
61
|
|
|
62
|
+
connected() {
|
|
63
|
+
this._data.elements = new Map();
|
|
64
|
+
this.registerObserver(
|
|
65
|
+
observeIntersection(
|
|
66
|
+
this.elements,
|
|
67
|
+
(records) => {
|
|
68
|
+
const elements = this._data.elements;
|
|
69
|
+
for (const { target: el, isIntersecting } of records) {
|
|
70
|
+
if (!elements.has(el)) {
|
|
71
|
+
elements.set(el, {
|
|
72
|
+
cls: getData(el, 'uk-scrollspy-class') || this.cls,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const state = elements.get(el);
|
|
77
|
+
if (!this.repeat && state.show) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
state.show = isIntersecting;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
this.$emit();
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
rootMargin: `${toPx(this.offsetTop, 'height') - 1}px ${
|
|
88
|
+
toPx(this.offsetLeft, 'width') - 1
|
|
89
|
+
}px`,
|
|
90
|
+
},
|
|
91
|
+
false
|
|
92
|
+
)
|
|
93
|
+
);
|
|
94
|
+
},
|
|
95
|
+
|
|
58
96
|
disconnected() {
|
|
59
|
-
for (const el of this.elements) {
|
|
60
|
-
removeClass(el, this.inViewClass,
|
|
61
|
-
delete el[stateKey];
|
|
97
|
+
for (const [el, state] of this._data.elements.entries()) {
|
|
98
|
+
removeClass(el, this.inViewClass, state?.cls || '');
|
|
62
99
|
}
|
|
63
100
|
},
|
|
64
101
|
|
|
65
102
|
update: [
|
|
66
103
|
{
|
|
67
|
-
read() {
|
|
68
|
-
for (const el of this.elements) {
|
|
69
|
-
if (!el[stateKey]) {
|
|
70
|
-
el[stateKey] = { cls: getData(el, 'uk-scrollspy-class') || this.cls };
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (!this.repeat && el[stateKey].show) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
el[stateKey].show = isInView(el, this.offsetTop, this.offsetLeft);
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
|
|
81
104
|
write(data) {
|
|
82
|
-
for (const el of
|
|
83
|
-
const state = el[stateKey];
|
|
84
|
-
|
|
105
|
+
for (const [el, state] of data.elements.entries()) {
|
|
85
106
|
if (state.show && !state.inview && !state.queued) {
|
|
86
107
|
state.queued = true;
|
|
87
108
|
|
|
@@ -99,14 +120,12 @@ export default {
|
|
|
99
120
|
}
|
|
100
121
|
}
|
|
101
122
|
},
|
|
102
|
-
|
|
103
|
-
events: ['scroll', 'resize'],
|
|
104
123
|
},
|
|
105
124
|
],
|
|
106
125
|
|
|
107
126
|
methods: {
|
|
108
127
|
toggle(el, inview) {
|
|
109
|
-
const state = el
|
|
128
|
+
const state = this._data.elements.get(el);
|
|
110
129
|
|
|
111
130
|
state.off?.();
|
|
112
131
|
|
package/src/js/core/toggle.js
CHANGED
|
@@ -124,7 +124,7 @@ export default {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
// Skip if state does not change e.g. hover + focus received
|
|
127
|
-
if (this._showState && show
|
|
127
|
+
if (this._showState && show && expanded !== this._showState) {
|
|
128
128
|
// Ensure reset if state has changed through click
|
|
129
129
|
if (!show) {
|
|
130
130
|
this._showState = null;
|
package/src/js/mixin/modal.js
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
append,
|
|
5
5
|
attr,
|
|
6
6
|
css,
|
|
7
|
+
endsWith,
|
|
7
8
|
includes,
|
|
8
9
|
isFocusable,
|
|
9
10
|
last,
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
pointerUp,
|
|
16
17
|
removeClass,
|
|
17
18
|
toFloat,
|
|
18
|
-
toMs,
|
|
19
19
|
width,
|
|
20
20
|
within,
|
|
21
21
|
} from 'uikit-util';
|
|
@@ -245,7 +245,7 @@ function animate({ transitionElement, _toggle }) {
|
|
|
245
245
|
return (el, show) =>
|
|
246
246
|
new Promise((resolve, reject) =>
|
|
247
247
|
once(el, 'show hide', () => {
|
|
248
|
-
el._reject
|
|
248
|
+
el._reject?.();
|
|
249
249
|
el._reject = reject;
|
|
250
250
|
|
|
251
251
|
_toggle(el, show);
|
|
@@ -269,3 +269,7 @@ function animate({ transitionElement, _toggle }) {
|
|
|
269
269
|
})
|
|
270
270
|
).then(() => delete el._reject);
|
|
271
271
|
}
|
|
272
|
+
|
|
273
|
+
function toMs(time) {
|
|
274
|
+
return time ? (endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000) : 0;
|
|
275
|
+
}
|
package/src/js/uikit-core.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import UIkit from './api/index';
|
|
2
|
-
import Core from './core/core';
|
|
3
2
|
import boot from './api/boot';
|
|
4
3
|
import * as components from './core/index';
|
|
5
4
|
import { each } from 'uikit-util';
|
|
@@ -7,9 +6,6 @@ import { each } from 'uikit-util';
|
|
|
7
6
|
// register components
|
|
8
7
|
each(components, (component, name) => UIkit.component(name, component));
|
|
9
8
|
|
|
10
|
-
// core functionality
|
|
11
|
-
UIkit.use(Core);
|
|
12
|
-
|
|
13
9
|
boot(UIkit);
|
|
14
10
|
|
|
15
11
|
export default UIkit;
|
package/src/js/util/lang.js
CHANGED
|
@@ -133,10 +133,6 @@ export function toWindow(element) {
|
|
|
133
133
|
return document?.defaultView || window;
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
export function toMs(time) {
|
|
137
|
-
return time ? (endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000) : 0;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
136
|
export function isEqual(value, other) {
|
|
141
137
|
return (
|
|
142
138
|
value === other ||
|
package/src/js/util/position.js
CHANGED
|
@@ -51,7 +51,7 @@ function attachTo(element, target, options) {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
function attachToWithFlip(element, target, options) {
|
|
54
|
-
|
|
54
|
+
let position = attachTo(element, target, options);
|
|
55
55
|
const targetDim = offset(target);
|
|
56
56
|
const viewports = scrollParents(element).map(getViewport);
|
|
57
57
|
|
|
@@ -61,6 +61,7 @@ function attachToWithFlip(element, target, options) {
|
|
|
61
61
|
offset: elOffset,
|
|
62
62
|
boundary,
|
|
63
63
|
viewport,
|
|
64
|
+
recursion = 0,
|
|
64
65
|
} = options;
|
|
65
66
|
|
|
66
67
|
viewports.push(viewport);
|
|
@@ -110,6 +111,29 @@ function attachToWithFlip(element, target, options) {
|
|
|
110
111
|
: 0) -
|
|
111
112
|
elOffset[i] * 2;
|
|
112
113
|
|
|
114
|
+
if (
|
|
115
|
+
position[start] + offsetBy < viewport[start] ||
|
|
116
|
+
position[end] + offsetBy > viewport[end]
|
|
117
|
+
) {
|
|
118
|
+
if (recursion < 1) {
|
|
119
|
+
position =
|
|
120
|
+
attachToWithFlip(element, target, {
|
|
121
|
+
...options,
|
|
122
|
+
attach: {
|
|
123
|
+
element: elAttach.map(flipDir).reverse(),
|
|
124
|
+
target: targetAttach.map(flipDir).reverse(),
|
|
125
|
+
},
|
|
126
|
+
offset: elOffset.reverse(),
|
|
127
|
+
flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
|
|
128
|
+
recursion: recursion + 1,
|
|
129
|
+
}) || position;
|
|
130
|
+
|
|
131
|
+
continue;
|
|
132
|
+
} else {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
113
137
|
// Move
|
|
114
138
|
} else {
|
|
115
139
|
offsetBy =
|
|
@@ -153,3 +177,12 @@ function intersectLine(dimA, dimB, dir) {
|
|
|
153
177
|
const [, , start, end] = dirs[dir];
|
|
154
178
|
return dimA[end] > dimB[start] && dimB[end] > dimA[start];
|
|
155
179
|
}
|
|
180
|
+
|
|
181
|
+
function flipDir(prop) {
|
|
182
|
+
for (const i in dirs) {
|
|
183
|
+
const index = dirs[i].indexOf(prop);
|
|
184
|
+
if (~index) {
|
|
185
|
+
return dirs[1 - i][(index % 2) + 2];
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -130,10 +130,13 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
|
|
|
130
130
|
|
|
131
131
|
/*
|
|
132
132
|
* Link
|
|
133
|
+
* 1. Allow text within link
|
|
133
134
|
*/
|
|
134
135
|
|
|
135
136
|
.uk-icon-link {
|
|
136
137
|
color: @icon-link-color;
|
|
138
|
+
/* 1 */
|
|
139
|
+
text-decoration: none !important;
|
|
137
140
|
.hook-icon-link();
|
|
138
141
|
}
|
|
139
142
|
|
|
@@ -317,6 +317,17 @@
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
|
|
320
|
+
/* Justify modifier
|
|
321
|
+
========================================================================== */
|
|
322
|
+
|
|
323
|
+
.uk-navbar-justify .uk-navbar-left,
|
|
324
|
+
.uk-navbar-justify .uk-navbar-right,
|
|
325
|
+
.uk-navbar-justify .uk-navbar-nav,
|
|
326
|
+
.uk-navbar-justify .uk-navbar-nav > li, // Nav item
|
|
327
|
+
.uk-navbar-justify .uk-navbar-item, // Content item
|
|
328
|
+
.uk-navbar-justify .uk-navbar-toggle { flex-grow: 1; }
|
|
329
|
+
|
|
330
|
+
|
|
320
331
|
/* Style modifiers
|
|
321
332
|
========================================================================== */
|
|
322
333
|
|
|
@@ -394,7 +405,6 @@
|
|
|
394
405
|
* 1. Set position
|
|
395
406
|
* 2. Bottom padding for dropbar
|
|
396
407
|
* 3. Horizontal padding
|
|
397
|
-
* 4. Reset padding if aligned to boundary
|
|
398
408
|
*/
|
|
399
409
|
|
|
400
410
|
.uk-navbar-dropdown-dropbar {
|
|
@@ -408,12 +418,6 @@
|
|
|
408
418
|
.hook-navbar-dropdown-dropbar();
|
|
409
419
|
}
|
|
410
420
|
|
|
411
|
-
/* 4 */
|
|
412
|
-
.uk-navbar-dropdown-dropbar.uk-navbar-dropdown-boundary {
|
|
413
|
-
padding-left: 0;
|
|
414
|
-
padding-right: 0;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
421
|
|
|
418
422
|
/* Dropdown Nav
|
|
419
423
|
* Adopts `uk-nav`
|
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
align-items: center;
|
|
155
155
|
/* 3 */
|
|
156
156
|
color: @search-icon-color;
|
|
157
|
+
.hook-search-icon();
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
/*
|
|
@@ -294,6 +295,7 @@
|
|
|
294
295
|
.hook-search-misc();
|
|
295
296
|
|
|
296
297
|
.hook-search-input() {}
|
|
298
|
+
.hook-search-icon() {}
|
|
297
299
|
.hook-search-default-input() {}
|
|
298
300
|
.hook-search-default-input-focus() {}
|
|
299
301
|
.hook-search-navbar-input() {}
|
package/src/less/theme/nav.less
CHANGED
|
@@ -25,6 +25,12 @@
|
|
|
25
25
|
.hook-search-input() {}
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
// Icon
|
|
29
|
+
// ========================================================================
|
|
30
|
+
|
|
31
|
+
.hook-search-icon() {}
|
|
32
|
+
|
|
33
|
+
|
|
28
34
|
// Default modifiers
|
|
29
35
|
// ========================================================================
|
|
30
36
|
|
|
@@ -130,10 +130,13 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
|
|
|
130
130
|
|
|
131
131
|
/*
|
|
132
132
|
* Link
|
|
133
|
+
* 1. Allow text within link
|
|
133
134
|
*/
|
|
134
135
|
|
|
135
136
|
.uk-icon-link {
|
|
136
137
|
color: $icon-link-color;
|
|
138
|
+
/* 1 */
|
|
139
|
+
text-decoration: none !important;
|
|
137
140
|
@if(mixin-exists(hook-icon-link)) {@include hook-icon-link();}
|
|
138
141
|
}
|
|
139
142
|
|
|
@@ -317,6 +317,17 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
|
|
320
|
+
/* Justify modifier
|
|
321
|
+
========================================================================== */
|
|
322
|
+
|
|
323
|
+
.uk-navbar-justify .uk-navbar-left,
|
|
324
|
+
.uk-navbar-justify .uk-navbar-right,
|
|
325
|
+
.uk-navbar-justify .uk-navbar-nav,
|
|
326
|
+
.uk-navbar-justify .uk-navbar-nav > li, // Nav item
|
|
327
|
+
.uk-navbar-justify .uk-navbar-item, // Content item
|
|
328
|
+
.uk-navbar-justify .uk-navbar-toggle { flex-grow: 1; }
|
|
329
|
+
|
|
330
|
+
|
|
320
331
|
/* Style modifiers
|
|
321
332
|
========================================================================== */
|
|
322
333
|
|
|
@@ -394,7 +405,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
394
405
|
* 1. Set position
|
|
395
406
|
* 2. Bottom padding for dropbar
|
|
396
407
|
* 3. Horizontal padding
|
|
397
|
-
* 4. Reset padding if aligned to boundary
|
|
398
408
|
*/
|
|
399
409
|
|
|
400
410
|
.uk-navbar-dropdown-dropbar {
|
|
@@ -408,12 +418,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
408
418
|
@if(mixin-exists(hook-navbar-dropdown-dropbar)) {@include hook-navbar-dropdown-dropbar();}
|
|
409
419
|
}
|
|
410
420
|
|
|
411
|
-
/* 4 */
|
|
412
|
-
.uk-navbar-dropdown-dropbar.uk-navbar-dropdown-boundary {
|
|
413
|
-
padding-left: 0;
|
|
414
|
-
padding-right: 0;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
421
|
|
|
418
422
|
/* Dropdown Nav
|
|
419
423
|
* Adopts `uk-nav`
|
|
@@ -154,6 +154,7 @@ $search-toggle-hover-color: $global-color !default;
|
|
|
154
154
|
align-items: center;
|
|
155
155
|
/* 3 */
|
|
156
156
|
color: $search-icon-color;
|
|
157
|
+
@if(mixin-exists(hook-search-icon)) {@include hook-search-icon();}
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
/*
|
|
@@ -294,6 +295,7 @@ $search-toggle-hover-color: $global-color !default;
|
|
|
294
295
|
@if(mixin-exists(hook-search-misc)) {@include hook-search-misc();}
|
|
295
296
|
|
|
296
297
|
// @mixin hook-search-input(){}
|
|
298
|
+
// @mixin hook-search-icon(){}
|
|
297
299
|
// @mixin hook-search-default-input(){}
|
|
298
300
|
// @mixin hook-search-default-input-focus(){}
|
|
299
301
|
// @mixin hook-search-navbar-input(){}
|
|
@@ -1843,6 +1843,7 @@
|
|
|
1843
1843
|
@mixin hook-progress-bar(){}
|
|
1844
1844
|
@mixin hook-progress-misc(){}
|
|
1845
1845
|
@mixin hook-search-input(){}
|
|
1846
|
+
@mixin hook-search-icon(){}
|
|
1846
1847
|
@mixin hook-search-default-input(){ border: $search-default-border-width solid $search-default-border; }
|
|
1847
1848
|
@mixin hook-search-default-input-focus(){ border-color: $search-default-focus-border; }
|
|
1848
1849
|
@mixin hook-search-navbar-input(){}
|
package/src/scss/mixins.scss
CHANGED
|
@@ -1529,6 +1529,7 @@
|
|
|
1529
1529
|
@mixin hook-progress-bar(){}
|
|
1530
1530
|
@mixin hook-progress-misc(){}
|
|
1531
1531
|
@mixin hook-search-input(){}
|
|
1532
|
+
@mixin hook-search-icon(){}
|
|
1532
1533
|
@mixin hook-search-default-input(){}
|
|
1533
1534
|
@mixin hook-search-default-input-focus(){}
|
|
1534
1535
|
@mixin hook-search-navbar-input(){}
|
package/src/scss/theme/nav.scss
CHANGED
|
@@ -14,6 +14,8 @@ $navbar-dropdown-padding: 25px !default;
|
|
|
14
14
|
$navbar-dropdown-background: $global-background !default;
|
|
15
15
|
$navbar-dropdown-grid-gutter-horizontal: ($navbar-dropdown-padding * 2) !default;
|
|
16
16
|
|
|
17
|
+
$navbar-dropdown-nav-subtitle-font-size: 12px !default;
|
|
18
|
+
|
|
17
19
|
//
|
|
18
20
|
// New
|
|
19
21
|
//
|
|
@@ -25,6 +25,12 @@ $search-default-focus-border: $global-primary-background
|
|
|
25
25
|
// @mixin hook-search-input(){}
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
// Icon
|
|
29
|
+
// ========================================================================
|
|
30
|
+
|
|
31
|
+
// @mixin hook-search-icon(){}
|
|
32
|
+
|
|
33
|
+
|
|
28
34
|
// Default modifiers
|
|
29
35
|
// ========================================================================
|
|
30
36
|
|
|
@@ -376,7 +376,7 @@ $dropdown-background: $global-background !default;
|
|
|
376
376
|
$dropdown-color: $global-color !default;
|
|
377
377
|
$dropdown-nav-item-color: $global-muted-color !default;
|
|
378
378
|
$dropdown-nav-item-hover-color: $global-color !default;
|
|
379
|
-
$dropdown-nav-subtitle-font-size:
|
|
379
|
+
$dropdown-nav-subtitle-font-size: 12px !default;
|
|
380
380
|
$dropdown-nav-header-color: $global-emphasis-color !default;
|
|
381
381
|
$dropdown-nav-divider-border-width: $global-border-width !default;
|
|
382
382
|
$dropdown-nav-divider-border: $global-border !default;
|
|
@@ -685,7 +685,7 @@ $nav-divider-margin-horizontal: 0 !default;
|
|
|
685
685
|
$nav-default-item-color: $global-muted-color !default;
|
|
686
686
|
$nav-default-item-hover-color: $global-color !default;
|
|
687
687
|
$nav-default-item-active-color: $global-emphasis-color !default;
|
|
688
|
-
$nav-default-subtitle-font-size:
|
|
688
|
+
$nav-default-subtitle-font-size: 12px !default;
|
|
689
689
|
$nav-default-header-color: $global-emphasis-color !default;
|
|
690
690
|
$nav-default-divider-border-width: $global-border-width !default;
|
|
691
691
|
$nav-default-divider-border: $global-border !default;
|
|
@@ -755,7 +755,7 @@ $navbar-dropdown-dropbar-padding-horizontal: $navbar-nav-item-padding-horizontal
|
|
|
755
755
|
$navbar-dropdown-nav-item-color: $global-muted-color !default;
|
|
756
756
|
$navbar-dropdown-nav-item-hover-color: $global-color !default;
|
|
757
757
|
$navbar-dropdown-nav-item-active-color: $global-emphasis-color !default;
|
|
758
|
-
$navbar-dropdown-nav-subtitle-font-size:
|
|
758
|
+
$navbar-dropdown-nav-subtitle-font-size: 12px !default;
|
|
759
759
|
$navbar-dropdown-nav-header-color: $global-emphasis-color !default;
|
|
760
760
|
$navbar-dropdown-nav-divider-border-width: $global-border-width !default;
|
|
761
761
|
$navbar-dropdown-nav-divider-border: $global-border !default;
|