uikit 3.15.23-dev.0a3f7fb6d → 3.15.23-dev.7b7e06a3a
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 +10 -0
- package/build/util.js +22 -24
- package/dist/css/uikit-core-rtl.css +9 -5
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +9 -5
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +9 -5
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +9 -5
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +1 -1
- package/dist/js/components/countdown.min.js +2 -2
- package/dist/js/components/filter.js +1 -1
- package/dist/js/components/filter.min.js +2 -2
- package/dist/js/components/lightbox-panel.js +14 -61
- package/dist/js/components/lightbox-panel.min.js +2 -2
- package/dist/js/components/lightbox.js +14 -61
- package/dist/js/components/lightbox.min.js +2 -2
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +2 -2
- package/dist/js/components/parallax.js +1 -1
- package/dist/js/components/parallax.min.js +2 -2
- package/dist/js/components/slider-parallax.js +1 -1
- package/dist/js/components/slider-parallax.min.js +2 -2
- package/dist/js/components/slider.js +1 -1
- package/dist/js/components/slider.min.js +2 -2
- package/dist/js/components/slideshow-parallax.js +1 -1
- package/dist/js/components/slideshow-parallax.min.js +2 -2
- package/dist/js/components/slideshow.js +1 -1
- package/dist/js/components/slideshow.min.js +2 -2
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +2 -2
- package/dist/js/components/tooltip.js +1 -1
- package/dist/js/components/tooltip.min.js +2 -2
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +2 -2
- package/dist/js/uikit-core.js +25 -73
- package/dist/js/uikit-core.min.js +2 -2
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +2 -2
- package/dist/js/uikit.js +25 -73
- package/dist/js/uikit.min.js +2 -2
- package/package.json +1 -1
- package/src/images/components/subnav-parent-icon.svg +3 -0
- package/src/js/core/drop.js +8 -13
- package/src/js/core/icon.js +2 -0
- package/src/js/core/index.js +1 -0
- package/src/js/mixin/modal.js +22 -71
- package/src/less/components/form.less +7 -1
- package/src/less/components/modal.less +0 -1
- package/src/less/components/offcanvas.less +0 -1
- package/src/less/components/subnav.less +12 -0
- package/src/less/components/utility.less +1 -5
- package/src/less/theme/form.less +9 -1
- package/src/scss/components/form.scss +3 -0
- package/src/scss/components/modal.scss +0 -1
- package/src/scss/components/offcanvas.scss +0 -1
- package/src/scss/components/subnav.scss +12 -0
- package/src/scss/components/utility.scss +1 -5
- package/src/scss/mixins-theme.scss +6 -1
- package/src/scss/mixins.scss +6 -1
- package/src/scss/theme/form.scss +9 -0
- package/src/scss/variables-theme.scss +1 -0
- package/src/scss/variables.scss +1 -0
- package/tests/dropdown.html +0 -1
- package/tests/index.html +42 -3
- package/tests/navbar.html +0 -1
- package/tests/subnav.html +35 -38
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.15.23-dev.
|
|
5
|
+
"version": "3.15.23-dev.7b7e06a3a",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/js/core/drop.js
CHANGED
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
removeClass,
|
|
30
30
|
within,
|
|
31
31
|
} from 'uikit-util';
|
|
32
|
-
import { isSameSiteAnchor, preventBackgroundScroll
|
|
32
|
+
import { isSameSiteAnchor, preventBackgroundScroll } from '../mixin/modal';
|
|
33
33
|
|
|
34
34
|
export let active;
|
|
35
35
|
|
|
@@ -302,20 +302,15 @@ export default {
|
|
|
302
302
|
return () => observer.disconnect();
|
|
303
303
|
})(),
|
|
304
304
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
: []),
|
|
312
|
-
|
|
313
|
-
...(this.bgScroll
|
|
314
|
-
? []
|
|
315
|
-
: [preventOverscroll(this.$el), preventBackgroundScroll()]),
|
|
305
|
+
this.autoUpdate &&
|
|
306
|
+
on([document, ...overflowParents(this.$el)], 'scroll', update, {
|
|
307
|
+
passive: true,
|
|
308
|
+
}),
|
|
309
|
+
|
|
310
|
+
this.bgScroll && preventBackgroundScroll(this.$el),
|
|
316
311
|
];
|
|
317
312
|
|
|
318
|
-
once(this.$el, 'hide', () => handlers.forEach((handler) => handler()), {
|
|
313
|
+
once(this.$el, 'hide', () => handlers.forEach((handler) => handler?.()), {
|
|
319
314
|
self: true,
|
|
320
315
|
});
|
|
321
316
|
},
|
package/src/js/core/icon.js
CHANGED
|
@@ -17,6 +17,7 @@ import slidenavNextLarge from '../../images/components/slidenav-next-large.svg';
|
|
|
17
17
|
import slidenavPrevious from '../../images/components/slidenav-previous.svg';
|
|
18
18
|
import slidenavPreviousLarge from '../../images/components/slidenav-previous-large.svg';
|
|
19
19
|
import spinner from '../../images/components/spinner.svg';
|
|
20
|
+
import subnavParentIcon from '../../images/components/subnav-parent-icon.svg';
|
|
20
21
|
import totop from '../../images/components/totop.svg';
|
|
21
22
|
import {
|
|
22
23
|
$,
|
|
@@ -53,6 +54,7 @@ const icons = {
|
|
|
53
54
|
'slidenav-next-large': slidenavNextLarge,
|
|
54
55
|
'slidenav-previous': slidenavPrevious,
|
|
55
56
|
'slidenav-previous-large': slidenavPreviousLarge,
|
|
57
|
+
'subnav-parent-icon': subnavParentIcon,
|
|
56
58
|
};
|
|
57
59
|
|
|
58
60
|
const Icon = {
|
package/src/js/core/index.js
CHANGED
|
@@ -40,3 +40,4 @@ export { IconComponent as OverlayIcon } from './icon';
|
|
|
40
40
|
export { IconComponent as PaginationNext } from './icon';
|
|
41
41
|
export { IconComponent as PaginationPrevious } from './icon';
|
|
42
42
|
export { IconComponent as Totop } from './icon';
|
|
43
|
+
export { IconComponent as SubnavParentIcon } from './icon';
|
package/src/js/mixin/modal.js
CHANGED
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
$,
|
|
3
3
|
addClass,
|
|
4
4
|
append,
|
|
5
|
-
apply,
|
|
6
5
|
attr,
|
|
7
6
|
css,
|
|
8
7
|
endsWith,
|
|
@@ -10,7 +9,6 @@ import {
|
|
|
10
9
|
isFocusable,
|
|
11
10
|
last,
|
|
12
11
|
matches,
|
|
13
|
-
noop,
|
|
14
12
|
on,
|
|
15
13
|
once,
|
|
16
14
|
parent,
|
|
@@ -148,8 +146,7 @@ export default {
|
|
|
148
146
|
);
|
|
149
147
|
|
|
150
148
|
if (this.overlay) {
|
|
151
|
-
once(this.$el, 'hidden',
|
|
152
|
-
once(this.$el, 'hidden', preventBackgroundScroll(), { self: true });
|
|
149
|
+
once(this.$el, 'hidden', preventBackgroundScroll(this.$el), { self: true });
|
|
153
150
|
}
|
|
154
151
|
|
|
155
152
|
if (this.stack) {
|
|
@@ -294,90 +291,44 @@ function toMs(time) {
|
|
|
294
291
|
return time ? (endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000) : 0;
|
|
295
292
|
}
|
|
296
293
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
let startClientY;
|
|
308
|
-
|
|
309
|
-
const events = [
|
|
310
|
-
on(
|
|
311
|
-
el,
|
|
312
|
-
'touchstart',
|
|
313
|
-
({ targetTouches }) => {
|
|
314
|
-
if (targetTouches.length === 1) {
|
|
315
|
-
startClientY = targetTouches[0].clientY;
|
|
316
|
-
}
|
|
317
|
-
},
|
|
318
|
-
{ passive: true }
|
|
319
|
-
),
|
|
320
|
-
|
|
321
|
-
on(
|
|
322
|
-
el,
|
|
323
|
-
'touchmove',
|
|
324
|
-
(e) => {
|
|
325
|
-
if (e.targetTouches.length !== 1) {
|
|
326
|
-
return;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
let [scrollParent] = scrollParents(e.target);
|
|
330
|
-
if (!within(scrollParent, el)) {
|
|
331
|
-
scrollParent = el;
|
|
332
|
-
}
|
|
294
|
+
let prevented;
|
|
295
|
+
export function preventBackgroundScroll(el) {
|
|
296
|
+
// 'overscroll-behavior: contain' only works consistently if el overflows (Safari)
|
|
297
|
+
const off = on(
|
|
298
|
+
el,
|
|
299
|
+
'touchmove',
|
|
300
|
+
(e) => {
|
|
301
|
+
if (e.targetTouches.length !== 1) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
333
304
|
|
|
334
|
-
|
|
335
|
-
const { scrollTop, scrollHeight, clientHeight } = scrollParent;
|
|
305
|
+
let [{ scrollHeight, clientHeight }] = scrollParents(e.target);
|
|
336
306
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
}
|
|
344
|
-
},
|
|
345
|
-
{ passive: false }
|
|
346
|
-
),
|
|
347
|
-
];
|
|
348
|
-
|
|
349
|
-
return () => events.forEach((fn) => fn());
|
|
350
|
-
}
|
|
307
|
+
if (clientHeight >= scrollHeight && e.cancelable) {
|
|
308
|
+
e.preventDefault();
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{ passive: false }
|
|
312
|
+
);
|
|
351
313
|
|
|
352
|
-
let prevented;
|
|
353
|
-
export function preventBackgroundScroll() {
|
|
354
314
|
if (prevented) {
|
|
355
|
-
return
|
|
315
|
+
return off;
|
|
356
316
|
}
|
|
357
317
|
prevented = true;
|
|
358
318
|
|
|
359
319
|
const { scrollingElement } = document;
|
|
360
320
|
css(scrollingElement, {
|
|
361
|
-
overflowY: 'hidden',
|
|
321
|
+
overflowY: CSS.supports('overflow', 'clip') ? 'clip' : 'hidden',
|
|
362
322
|
touchAction: 'none',
|
|
363
|
-
paddingRight: width(window) - scrollingElement.clientWidth,
|
|
323
|
+
paddingRight: width(window) - scrollingElement.clientWidth || '',
|
|
364
324
|
});
|
|
365
325
|
return () => {
|
|
366
326
|
prevented = false;
|
|
327
|
+
off();
|
|
367
328
|
css(scrollingElement, { overflowY: '', touchAction: '', paddingRight: '' });
|
|
368
329
|
};
|
|
369
330
|
}
|
|
370
331
|
|
|
371
|
-
function filterChildren(el, fn) {
|
|
372
|
-
const children = [];
|
|
373
|
-
apply(el, (node) => {
|
|
374
|
-
if (fn(node)) {
|
|
375
|
-
children.push(node);
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
return children;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
332
|
export function isSameSiteAnchor(a) {
|
|
382
333
|
return ['origin', 'pathname', 'search'].every((part) => a[part] === location[part]);
|
|
383
334
|
}
|
|
@@ -710,6 +710,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
|
|
|
710
710
|
align-items: center;
|
|
711
711
|
/* 4 */
|
|
712
712
|
color: @form-icon-color;
|
|
713
|
+
.hook-form-icon();
|
|
713
714
|
}
|
|
714
715
|
|
|
715
716
|
/*
|
|
@@ -765,6 +766,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
|
|
|
765
766
|
.hook-form-label() {}
|
|
766
767
|
.hook-form-stacked-label() {}
|
|
767
768
|
.hook-form-horizontal-label() {}
|
|
769
|
+
.hook-form-icon() {}
|
|
768
770
|
.hook-form-misc() {}
|
|
769
771
|
|
|
770
772
|
|
|
@@ -875,7 +877,10 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
|
|
|
875
877
|
}
|
|
876
878
|
|
|
877
879
|
// Icon
|
|
878
|
-
.uk-form-icon {
|
|
880
|
+
.uk-form-icon {
|
|
881
|
+
color: @inverse-form-icon-color;
|
|
882
|
+
.hook-inverse-form-icon();
|
|
883
|
+
}
|
|
879
884
|
.uk-form-icon:hover { color: @inverse-form-icon-hover-color; }
|
|
880
885
|
|
|
881
886
|
}
|
|
@@ -887,3 +892,4 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
|
|
|
887
892
|
.hook-inverse-form-radio-checked() {}
|
|
888
893
|
.hook-inverse-form-radio-checked-focus() {}
|
|
889
894
|
.hook-inverse-form-label() {}
|
|
895
|
+
.hook-inverse-form-icon() {}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Component: `uk-subnav`
|
|
5
5
|
//
|
|
6
|
+
// Sub-objects: `uk-subnav-parent-icon`
|
|
7
|
+
//
|
|
6
8
|
// Modifiers: `uk-subnav-divider`
|
|
7
9
|
// `uk-subnav-pill`
|
|
8
10
|
//
|
|
@@ -22,6 +24,8 @@
|
|
|
22
24
|
@subnav-item-hover-text-decoration: none;
|
|
23
25
|
@subnav-item-active-color: @global-emphasis-color;
|
|
24
26
|
|
|
27
|
+
@subnav-parent-icon-margin-left: 4px;
|
|
28
|
+
|
|
25
29
|
@subnav-divider-margin-horizontal: @subnav-margin-horizontal;
|
|
26
30
|
@subnav-divider-border-height: 1.5em;
|
|
27
31
|
@subnav-divider-border-width: @global-border-width;
|
|
@@ -118,6 +122,14 @@
|
|
|
118
122
|
}
|
|
119
123
|
|
|
120
124
|
|
|
125
|
+
/* Parent icon modifier
|
|
126
|
+
========================================================================== */
|
|
127
|
+
|
|
128
|
+
.uk-subnav-parent-icon { margin-left: @subnav-parent-icon-margin-left; }
|
|
129
|
+
|
|
130
|
+
.uk-subnav > li > a[aria-expanded="true"] .uk-subnav-parent-icon { transform: rotate(180deg); }
|
|
131
|
+
|
|
132
|
+
|
|
121
133
|
/* Divider modifier
|
|
122
134
|
========================================================================== */
|
|
123
135
|
|
|
@@ -87,7 +87,6 @@
|
|
|
87
87
|
padding: @panel-scrollable-padding;
|
|
88
88
|
border: @panel-scrollable-border-width solid @panel-scrollable-border;
|
|
89
89
|
overflow: auto;
|
|
90
|
-
-webkit-overflow-scrolling: touch;
|
|
91
90
|
resize: both;
|
|
92
91
|
.hook-panel-scrollable();
|
|
93
92
|
}
|
|
@@ -139,10 +138,7 @@
|
|
|
139
138
|
* Enable scrollbars if content is clipped
|
|
140
139
|
*/
|
|
141
140
|
|
|
142
|
-
.uk-overflow-auto {
|
|
143
|
-
overflow: auto;
|
|
144
|
-
-webkit-overflow-scrolling: touch;
|
|
145
|
-
}
|
|
141
|
+
.uk-overflow-auto { overflow: auto; }
|
|
146
142
|
|
|
147
143
|
.uk-overflow-auto > :last-child { margin-bottom: 0; }
|
|
148
144
|
|
package/src/less/theme/form.less
CHANGED
|
@@ -123,6 +123,12 @@
|
|
|
123
123
|
.hook-form-horizontal-label() {}
|
|
124
124
|
|
|
125
125
|
|
|
126
|
+
// Icon
|
|
127
|
+
// ========================================================================
|
|
128
|
+
|
|
129
|
+
.hook-form-icon() {}
|
|
130
|
+
|
|
131
|
+
|
|
126
132
|
// Miscellaneous
|
|
127
133
|
// ========================================================================
|
|
128
134
|
|
|
@@ -143,4 +149,6 @@
|
|
|
143
149
|
.hook-inverse-form-radio-checked() { border-color: @inverse-global-primary-background; }
|
|
144
150
|
.hook-inverse-form-radio-checked-focus() {}
|
|
145
151
|
|
|
146
|
-
.hook-inverse-form-label() { color: @inverse-form-label-color; }
|
|
152
|
+
.hook-inverse-form-label() { color: @inverse-form-label-color; }
|
|
153
|
+
|
|
154
|
+
.hook-inverse-form-icon() {}
|
|
@@ -710,6 +710,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
|
|
|
710
710
|
align-items: center;
|
|
711
711
|
/* 4 */
|
|
712
712
|
color: $form-icon-color;
|
|
713
|
+
@if(mixin-exists(hook-form-icon)) {@include hook-form-icon();}
|
|
713
714
|
}
|
|
714
715
|
|
|
715
716
|
/*
|
|
@@ -765,6 +766,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
|
|
|
765
766
|
// @mixin hook-form-label(){}
|
|
766
767
|
// @mixin hook-form-stacked-label(){}
|
|
767
768
|
// @mixin hook-form-horizontal-label(){}
|
|
769
|
+
// @mixin hook-form-icon(){}
|
|
768
770
|
// @mixin hook-form-misc(){}
|
|
769
771
|
|
|
770
772
|
|
|
@@ -802,3 +804,4 @@ $inverse-form-icon-hover-color: $inverse-global-color !default;
|
|
|
802
804
|
// @mixin hook-inverse-form-radio-checked(){}
|
|
803
805
|
// @mixin hook-inverse-form-radio-checked-focus(){}
|
|
804
806
|
// @mixin hook-inverse-form-label(){}
|
|
807
|
+
// @mixin hook-inverse-form-icon(){}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Component: `uk-subnav`
|
|
5
5
|
//
|
|
6
|
+
// Sub-objects: `uk-subnav-parent-icon`
|
|
7
|
+
//
|
|
6
8
|
// Modifiers: `uk-subnav-divider`
|
|
7
9
|
// `uk-subnav-pill`
|
|
8
10
|
//
|
|
@@ -22,6 +24,8 @@ $subnav-item-hover-color: $global-color !default;
|
|
|
22
24
|
$subnav-item-hover-text-decoration: none !default;
|
|
23
25
|
$subnav-item-active-color: $global-emphasis-color !default;
|
|
24
26
|
|
|
27
|
+
$subnav-parent-icon-margin-left: 4px !default;
|
|
28
|
+
|
|
25
29
|
$subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
|
|
26
30
|
$subnav-divider-border-height: 1.5em !default;
|
|
27
31
|
$subnav-divider-border-width: $global-border-width !default;
|
|
@@ -118,6 +122,14 @@ $subnav-item-disabled-color: $global-muted-color !default;
|
|
|
118
122
|
}
|
|
119
123
|
|
|
120
124
|
|
|
125
|
+
/* Parent icon modifier
|
|
126
|
+
========================================================================== */
|
|
127
|
+
|
|
128
|
+
.uk-subnav-parent-icon { margin-left: $subnav-parent-icon-margin-left; }
|
|
129
|
+
|
|
130
|
+
.uk-subnav > li > a[aria-expanded="true"] .uk-subnav-parent-icon { transform: rotate(180deg); }
|
|
131
|
+
|
|
132
|
+
|
|
121
133
|
/* Divider modifier
|
|
122
134
|
========================================================================== */
|
|
123
135
|
|
|
@@ -87,7 +87,6 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
|
|
|
87
87
|
padding: $panel-scrollable-padding;
|
|
88
88
|
border: $panel-scrollable-border-width solid $panel-scrollable-border;
|
|
89
89
|
overflow: auto;
|
|
90
|
-
-webkit-overflow-scrolling: touch;
|
|
91
90
|
resize: both;
|
|
92
91
|
@if(mixin-exists(hook-panel-scrollable)) {@include hook-panel-scrollable();}
|
|
93
92
|
}
|
|
@@ -139,10 +138,7 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
|
|
|
139
138
|
* Enable scrollbars if content is clipped
|
|
140
139
|
*/
|
|
141
140
|
|
|
142
|
-
.uk-overflow-auto {
|
|
143
|
-
overflow: auto;
|
|
144
|
-
-webkit-overflow-scrolling: touch;
|
|
145
|
-
}
|
|
141
|
+
.uk-overflow-auto { overflow: auto; }
|
|
146
142
|
|
|
147
143
|
.uk-overflow-auto > :last-child { margin-bottom: 0; }
|
|
148
144
|
|
|
@@ -858,6 +858,7 @@
|
|
|
858
858
|
}
|
|
859
859
|
@mixin hook-form-stacked-label(){}
|
|
860
860
|
@mixin hook-form-horizontal-label(){}
|
|
861
|
+
@mixin hook-form-icon(){}
|
|
861
862
|
@mixin hook-form-misc(){}
|
|
862
863
|
@mixin hook-inverse-form(){ border-color: $inverse-global-border; }
|
|
863
864
|
@mixin hook-inverse-form-focus(){ border-color: $inverse-global-color; }
|
|
@@ -866,6 +867,7 @@
|
|
|
866
867
|
@mixin hook-inverse-form-radio-checked(){ border-color: $inverse-global-primary-background; }
|
|
867
868
|
@mixin hook-inverse-form-radio-checked-focus(){}
|
|
868
869
|
@mixin hook-inverse-form-label(){ color: $inverse-form-label-color; }
|
|
870
|
+
@mixin hook-inverse-form-icon(){}
|
|
869
871
|
@mixin hook-inverse-component-form(){
|
|
870
872
|
|
|
871
873
|
.uk-input,
|
|
@@ -948,7 +950,10 @@
|
|
|
948
950
|
}
|
|
949
951
|
|
|
950
952
|
// Icon
|
|
951
|
-
.uk-form-icon {
|
|
953
|
+
.uk-form-icon {
|
|
954
|
+
color: $inverse-form-icon-color;
|
|
955
|
+
@if(mixin-exists(hook-inverse-form-icon)) {@include hook-inverse-form-icon();}
|
|
956
|
+
}
|
|
952
957
|
.uk-form-icon:hover { color: $inverse-form-icon-hover-color; }
|
|
953
958
|
|
|
954
959
|
}
|
package/src/scss/mixins.scss
CHANGED
|
@@ -618,6 +618,7 @@
|
|
|
618
618
|
@mixin hook-form-label(){}
|
|
619
619
|
@mixin hook-form-stacked-label(){}
|
|
620
620
|
@mixin hook-form-horizontal-label(){}
|
|
621
|
+
@mixin hook-form-icon(){}
|
|
621
622
|
@mixin hook-form-misc(){}
|
|
622
623
|
@mixin hook-inverse-form(){}
|
|
623
624
|
@mixin hook-inverse-form-focus(){}
|
|
@@ -626,6 +627,7 @@
|
|
|
626
627
|
@mixin hook-inverse-form-radio-checked(){}
|
|
627
628
|
@mixin hook-inverse-form-radio-checked-focus(){}
|
|
628
629
|
@mixin hook-inverse-form-label(){}
|
|
630
|
+
@mixin hook-inverse-form-icon(){}
|
|
629
631
|
@mixin hook-inverse-component-form(){
|
|
630
632
|
|
|
631
633
|
.uk-input,
|
|
@@ -708,7 +710,10 @@
|
|
|
708
710
|
}
|
|
709
711
|
|
|
710
712
|
// Icon
|
|
711
|
-
.uk-form-icon {
|
|
713
|
+
.uk-form-icon {
|
|
714
|
+
color: $inverse-form-icon-color;
|
|
715
|
+
@if(mixin-exists(hook-inverse-form-icon)) {@include hook-inverse-form-icon();}
|
|
716
|
+
}
|
|
712
717
|
.uk-form-icon:hover { color: $inverse-form-icon-hover-color; }
|
|
713
718
|
|
|
714
719
|
}
|
package/src/scss/theme/form.scss
CHANGED
|
@@ -109,6 +109,12 @@ $form-label-font-size: $global-small-font-size !defaul
|
|
|
109
109
|
// @mixin hook-form-horizontal-label(){}
|
|
110
110
|
|
|
111
111
|
|
|
112
|
+
// Icon
|
|
113
|
+
// ========================================================================
|
|
114
|
+
|
|
115
|
+
// @mixin hook-form-icon(){}
|
|
116
|
+
|
|
117
|
+
|
|
112
118
|
// Miscellaneous
|
|
113
119
|
// ========================================================================
|
|
114
120
|
|
|
@@ -129,3 +135,6 @@ $inverse-form-label-color: $inverse-global-emphasis-color
|
|
|
129
135
|
|
|
130
136
|
// @mixin hook-inverse-form-radio-checked-focus(){}
|
|
131
137
|
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
// @mixin hook-inverse-form-icon(){}
|
|
@@ -976,6 +976,7 @@ $subnav-item-color: $global-muted-color !default;
|
|
|
976
976
|
$subnav-item-hover-color: $global-color !default;
|
|
977
977
|
$subnav-item-hover-text-decoration: none !default;
|
|
978
978
|
$subnav-item-active-color: $global-emphasis-color !default;
|
|
979
|
+
$subnav-parent-icon-margin-left: 4px !default;
|
|
979
980
|
$subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
|
|
980
981
|
$subnav-divider-border-height: 1.5em !default;
|
|
981
982
|
$subnav-divider-border-width: $global-border-width !default;
|
package/src/scss/variables.scss
CHANGED
|
@@ -974,6 +974,7 @@ $subnav-item-color: $global-muted-color !default;
|
|
|
974
974
|
$subnav-item-hover-color: $global-color !default;
|
|
975
975
|
$subnav-item-hover-text-decoration: none !default;
|
|
976
976
|
$subnav-item-active-color: $global-emphasis-color !default;
|
|
977
|
+
$subnav-parent-icon-margin-left: 4px !default;
|
|
977
978
|
$subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
|
|
978
979
|
$subnav-divider-border-height: 1.5em !default;
|
|
979
980
|
$subnav-divider-border-width: $global-border-width !default;
|
package/tests/dropdown.html
CHANGED
package/tests/index.html
CHANGED
|
@@ -590,7 +590,20 @@
|
|
|
590
590
|
|
|
591
591
|
<ul class="uk-subnav uk-subnav-divider" uk-margin>
|
|
592
592
|
<li class="uk-active"><a href="#">Active</a></li>
|
|
593
|
-
<li
|
|
593
|
+
<li>
|
|
594
|
+
<a href="#">Parent <span uk-subnav-parent-icon></span></a>
|
|
595
|
+
<div uk-dropdown="mode: click">
|
|
596
|
+
<ul class="uk-nav uk-dropdown-nav">
|
|
597
|
+
<li class="uk-active"><a href="#">Active</a></li>
|
|
598
|
+
<li><a href="#">Item</a></li>
|
|
599
|
+
<li class="uk-nav-header">Header</li>
|
|
600
|
+
<li><a href="#">Item</a></li>
|
|
601
|
+
<li><a href="#">Item</a></li>
|
|
602
|
+
<li class="uk-nav-divider"></li>
|
|
603
|
+
<li><a href="#">Item</a></li>
|
|
604
|
+
</ul>
|
|
605
|
+
</div>
|
|
606
|
+
</li>
|
|
594
607
|
<li class="uk-disabled"><a>Disabled</a></li>
|
|
595
608
|
</ul>
|
|
596
609
|
|
|
@@ -599,7 +612,20 @@
|
|
|
599
612
|
|
|
600
613
|
<ul class="uk-subnav uk-subnav-pill" uk-margin>
|
|
601
614
|
<li class="uk-active"><a href="#">Active</a></li>
|
|
602
|
-
<li
|
|
615
|
+
<li>
|
|
616
|
+
<a href="#">Parent <span uk-subnav-parent-icon></span></a>
|
|
617
|
+
<div uk-dropdown="mode: click">
|
|
618
|
+
<ul class="uk-nav uk-dropdown-nav">
|
|
619
|
+
<li class="uk-active"><a href="#">Active</a></li>
|
|
620
|
+
<li><a href="#">Item</a></li>
|
|
621
|
+
<li class="uk-nav-header">Header</li>
|
|
622
|
+
<li><a href="#">Item</a></li>
|
|
623
|
+
<li><a href="#">Item</a></li>
|
|
624
|
+
<li class="uk-nav-divider"></li>
|
|
625
|
+
<li><a href="#">Item</a></li>
|
|
626
|
+
</ul>
|
|
627
|
+
</div>
|
|
628
|
+
</li>
|
|
603
629
|
<li class="uk-disabled"><a>Disabled</a></li>
|
|
604
630
|
</ul>
|
|
605
631
|
|
|
@@ -608,7 +634,20 @@
|
|
|
608
634
|
|
|
609
635
|
<ul uk-tab>
|
|
610
636
|
<li class="uk-active"><a href="#">Active</a></li>
|
|
611
|
-
<li
|
|
637
|
+
<li>
|
|
638
|
+
<a href="#">Parent <span uk-subnav-parent-icon></span></a>
|
|
639
|
+
<div uk-dropdown="mode: click">
|
|
640
|
+
<ul class="uk-nav uk-dropdown-nav">
|
|
641
|
+
<li class="uk-active"><a href="#">Active</a></li>
|
|
642
|
+
<li><a href="#">Item</a></li>
|
|
643
|
+
<li class="uk-nav-header">Header</li>
|
|
644
|
+
<li><a href="#">Item</a></li>
|
|
645
|
+
<li><a href="#">Item</a></li>
|
|
646
|
+
<li class="uk-nav-divider"></li>
|
|
647
|
+
<li><a href="#">Item</a></li>
|
|
648
|
+
</ul>
|
|
649
|
+
</div>
|
|
650
|
+
</li>
|
|
612
651
|
<li class="uk-disabled"><a>Disabled</a></li>
|
|
613
652
|
</ul>
|
|
614
653
|
|