uikit 3.11.2-dev.4c11be04b → 3.11.2-dev.536e1a374
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/.eslintrc.json +4 -49
- package/.prettierignore +14 -0
- package/.prettierrc.json +13 -0
- package/.webstorm.js +3 -3
- package/CHANGELOG.md +59 -17
- package/build/.eslintrc.json +1 -3
- package/build/build.js +26 -28
- package/build/icons.js +7 -11
- package/build/less.js +48 -36
- package/build/package.json +2 -2
- package/build/prefix.js +21 -18
- package/build/publishDev.js +6 -8
- package/build/release.js +20 -17
- package/build/scope.js +21 -11
- package/build/scss.js +72 -39
- package/build/util.js +71 -62
- package/build/wrapper/icons.js +0 -2
- package/dist/css/uikit-core-rtl.css +133 -201
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +133 -201
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +135 -207
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +135 -207
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +66 -138
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +408 -439
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +1091 -1319
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +1137 -1396
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +94 -114
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +347 -372
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +345 -360
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +749 -843
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +345 -360
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +628 -798
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +587 -621
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +324 -356
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +156 -167
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +5325 -6495
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +7 -9
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +8007 -9632
- package/dist/js/uikit.min.js +1 -1
- package/jsconfig.json +1 -1
- package/package.json +64 -60
- package/src/js/api/boot.js +25 -32
- package/src/js/api/component.js +15 -28
- package/src/js/api/global.js +6 -12
- package/src/js/api/hooks.js +14 -33
- package/src/js/api/instance.js +7 -15
- package/src/js/api/state.js +199 -187
- package/src/js/components/countdown.js +32 -85
- package/src/js/components/filter.js +70 -66
- package/src/js/components/index.js +13 -13
- package/src/js/components/internal/lightbox-animations.js +14 -25
- package/src/js/components/internal/slider-preload.js +9 -0
- package/src/js/components/internal/slider-transitioner.js +66 -45
- package/src/js/components/internal/slideshow-animations.js +46 -64
- package/src/js/components/lightbox-panel.js +107 -105
- package/src/js/components/lightbox.js +17 -39
- package/src/js/components/notification.js +49 -43
- package/src/js/components/parallax.js +21 -46
- package/src/js/components/slider-parallax.js +13 -23
- package/src/js/components/slider.js +117 -89
- package/src/js/components/slideshow-parallax.js +1 -1
- package/src/js/components/slideshow.js +15 -13
- package/src/js/components/sortable.js +126 -108
- package/src/js/components/tooltip.js +41 -31
- package/src/js/components/upload.js +53 -63
- package/src/js/core/accordion.js +58 -48
- package/src/js/core/alert.js +9 -17
- package/src/js/core/core.js +17 -69
- package/src/js/core/cover.js +15 -15
- package/src/js/core/drop.js +110 -94
- package/src/js/core/form-custom.js +22 -27
- package/src/js/core/gif.js +3 -7
- package/src/js/core/grid.js +57 -58
- package/src/js/core/height-match.js +16 -29
- package/src/js/core/height-viewport.js +31 -35
- package/src/js/core/icon.js +47 -52
- package/src/js/core/img.js +153 -143
- package/src/js/core/index.js +39 -39
- package/src/js/core/leader.js +9 -18
- package/src/js/core/margin.js +21 -37
- package/src/js/core/modal.js +49 -36
- package/src/js/core/nav.js +2 -4
- package/src/js/core/navbar.js +113 -85
- package/src/js/core/offcanvas.js +51 -54
- package/src/js/core/overflow-auto.js +13 -17
- package/src/js/core/responsive.js +14 -12
- package/src/js/core/scroll.js +10 -20
- package/src/js/core/scrollspy-nav.js +34 -31
- package/src/js/core/scrollspy.js +37 -54
- package/src/js/core/sticky.js +197 -132
- package/src/js/core/svg.js +68 -83
- package/src/js/core/switcher.js +56 -47
- package/src/js/core/tab.js +7 -10
- package/src/js/core/toggle.js +69 -68
- package/src/js/core/video.js +22 -21
- package/src/js/mixin/animate.js +19 -20
- package/src/js/mixin/class.js +2 -4
- package/src/js/mixin/container.js +7 -11
- package/src/js/mixin/internal/animate-fade.js +73 -30
- package/src/js/mixin/internal/animate-slide.js +58 -41
- package/src/js/mixin/internal/slideshow-animations.js +7 -14
- package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
- package/src/js/mixin/lazyload.js +20 -0
- package/src/js/mixin/media.js +5 -10
- package/src/js/mixin/modal.js +89 -66
- package/src/js/mixin/parallax.js +149 -107
- package/src/js/mixin/position.js +26 -20
- package/src/js/mixin/slider-autoplay.js +12 -21
- package/src/js/mixin/slider-drag.js +64 -65
- package/src/js/mixin/slider-nav.js +26 -35
- package/src/js/mixin/slider-reactive.js +2 -8
- package/src/js/mixin/slider.js +47 -60
- package/src/js/mixin/slideshow.js +12 -22
- package/src/js/mixin/swipe.js +72 -0
- package/src/js/mixin/togglable.js +89 -63
- package/src/js/uikit-core.js +2 -4
- package/src/js/uikit.js +2 -4
- package/src/js/util/ajax.js +25 -40
- package/src/js/util/animation.js +77 -75
- package/src/js/util/attr.js +17 -21
- package/src/js/util/class.js +14 -52
- package/src/js/util/dimensions.js +78 -49
- package/src/js/util/dom.js +37 -66
- package/src/js/util/env.js +7 -12
- package/src/js/util/event.js +60 -59
- package/src/js/util/fastdom.js +3 -8
- package/src/js/util/filter.js +18 -36
- package/src/js/util/index.js +1 -1
- package/src/js/util/lang.js +82 -121
- package/src/js/util/mouse.js +19 -17
- package/src/js/util/observer.js +36 -0
- package/src/js/util/options.js +35 -49
- package/src/js/util/player.js +41 -36
- package/src/js/util/position.js +54 -46
- package/src/js/util/selector.js +43 -58
- package/src/js/util/style.js +39 -49
- package/src/js/util/viewport.js +81 -66
- package/src/less/components/base.less +10 -33
- package/src/less/components/flex.less +0 -9
- package/src/less/components/form-range.less +48 -95
- package/src/less/components/form.less +0 -1
- package/src/less/components/height.less +3 -0
- package/src/less/components/leader.less +0 -1
- package/src/less/components/lightbox.less +0 -1
- package/src/less/components/modal.less +3 -7
- package/src/less/components/navbar.less +0 -7
- package/src/less/components/progress.less +14 -36
- package/src/less/components/slider.less +0 -3
- package/src/less/components/slideshow.less +0 -3
- package/src/less/components/text.less +16 -32
- package/src/less/components/utility.less +25 -0
- package/src/scss/components/base.scss +10 -33
- package/src/scss/components/flex.scss +0 -9
- package/src/scss/components/form-range.scss +48 -95
- package/src/scss/components/form.scss +3 -4
- package/src/scss/components/height.scss +3 -0
- package/src/scss/components/icon.scss +2 -2
- package/src/scss/components/leader.scss +0 -1
- package/src/scss/components/lightbox.scss +0 -1
- package/src/scss/components/modal.scss +3 -7
- package/src/scss/components/navbar.scss +0 -7
- package/src/scss/components/progress.scss +14 -36
- package/src/scss/components/search.scss +1 -1
- package/src/scss/components/slider.scss +0 -3
- package/src/scss/components/slideshow.scss +0 -3
- package/src/scss/components/text.scss +16 -32
- package/src/scss/components/utility.scss +25 -0
- package/src/scss/mixins-theme.scss +1 -1
- package/src/scss/mixins.scss +1 -1
- package/src/scss/variables-theme.scss +9 -9
- package/src/scss/variables.scss +9 -9
- package/tests/align.html +10 -10
- package/tests/animation.html +2 -2
- package/tests/article.html +2 -2
- package/tests/base.html +3 -3
- package/tests/card.html +10 -10
- package/tests/column.html +3 -3
- package/tests/comment.html +9 -9
- package/tests/countdown.html +10 -8
- package/tests/dotnav.html +3 -3
- package/tests/image.html +296 -64
- package/tests/images/image-type.avif +0 -0
- package/tests/images/image-type.jpeg +0 -0
- package/tests/images/image-type.webp +0 -0
- package/tests/index.html +8 -8
- package/tests/js/index.js +114 -85
- package/tests/lightbox.html +10 -10
- package/tests/marker.html +2 -2
- package/tests/modal.html +8 -9
- package/tests/navbar.html +2 -2
- package/tests/overlay.html +7 -7
- package/tests/parallax.html +16 -7
- package/tests/position.html +12 -12
- package/tests/slidenav.html +12 -12
- package/tests/slider.html +20 -20
- package/tests/sortable.html +1 -1
- package/tests/sticky-parallax.html +87 -99
- package/tests/sticky.html +56 -24
- package/tests/svg.html +6 -6
- package/tests/table.html +11 -11
- package/tests/thumbnav.html +12 -12
- package/tests/transition.html +30 -30
- package/tests/utility.html +50 -33
- package/tests/video.html +1 -1
- package/tests/width.html +1 -1
- package/src/js/mixin/flex-bug.js +0 -56
- package/src/js/util/promise.js +0 -191
- package/tests/images/animated.gif +0 -0
package/src/js/util/viewport.js
CHANGED
|
@@ -1,82 +1,90 @@
|
|
|
1
|
-
import {css} from './style';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { css } from './style';
|
|
2
|
+
import { isVisible, parents } from './filter';
|
|
3
|
+
import { offset, offsetPosition } from './dimensions';
|
|
4
|
+
import {
|
|
5
|
+
clamp,
|
|
6
|
+
findIndex,
|
|
7
|
+
intersectRect,
|
|
8
|
+
isDocument,
|
|
9
|
+
isUndefined,
|
|
10
|
+
isWindow,
|
|
11
|
+
toNode,
|
|
12
|
+
toWindow,
|
|
13
|
+
} from './lang';
|
|
6
14
|
|
|
7
15
|
export function isInView(element, offsetTop = 0, offsetLeft = 0) {
|
|
8
|
-
|
|
9
16
|
if (!isVisible(element)) {
|
|
10
17
|
return false;
|
|
11
18
|
}
|
|
12
19
|
|
|
13
|
-
return intersectRect(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
return intersectRect(
|
|
21
|
+
...scrollParents(element)
|
|
22
|
+
.map((parent) => {
|
|
23
|
+
const { top, left, bottom, right } = offset(getViewport(parent));
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
top: top - offsetTop,
|
|
27
|
+
left: left - offsetLeft,
|
|
28
|
+
bottom: bottom + offsetTop,
|
|
29
|
+
right: right + offsetLeft,
|
|
30
|
+
};
|
|
31
|
+
})
|
|
32
|
+
.concat(offset(element))
|
|
33
|
+
);
|
|
24
34
|
}
|
|
25
35
|
|
|
26
36
|
export function scrollTop(element, top) {
|
|
27
|
-
|
|
28
37
|
if (isWindow(element) || isDocument(element)) {
|
|
29
38
|
element = getScrollingElement(element);
|
|
30
39
|
} else {
|
|
31
40
|
element = toNode(element);
|
|
32
41
|
}
|
|
33
42
|
|
|
34
|
-
|
|
43
|
+
if (isUndefined(top)) {
|
|
44
|
+
return element.scrollTop;
|
|
45
|
+
} else {
|
|
46
|
+
element.scrollTop = top;
|
|
47
|
+
}
|
|
35
48
|
}
|
|
36
49
|
|
|
37
|
-
export function scrollIntoView(element, {offset: offsetBy = 0} = {}) {
|
|
38
|
-
|
|
50
|
+
export function scrollIntoView(element, { offset: offsetBy = 0 } = {}) {
|
|
39
51
|
const parents = isVisible(element) ? scrollParents(element) : [];
|
|
40
|
-
return parents.reduce(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
+
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
top
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}, () => Promise.resolve())();
|
|
52
|
+
return parents.reduce(
|
|
53
|
+
(fn, scrollElement, i) => {
|
|
54
|
+
const { scrollTop, scrollHeight, offsetHeight } = scrollElement;
|
|
55
|
+
const maxScroll = scrollHeight - getViewportClientHeight(scrollElement);
|
|
56
|
+
const { height: elHeight, top: elTop } = offset(parents[i - 1] || element);
|
|
57
|
+
|
|
58
|
+
let top = Math.ceil(
|
|
59
|
+
elTop - offset(getViewport(scrollElement)).top - offsetBy + scrollTop
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
if (offsetBy > 0 && offsetHeight < elHeight + offsetBy) {
|
|
63
|
+
top += offsetBy;
|
|
64
|
+
} else {
|
|
65
|
+
offsetBy = 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (top > maxScroll) {
|
|
69
|
+
offsetBy -= top - maxScroll;
|
|
70
|
+
top = maxScroll;
|
|
71
|
+
} else if (top < 0) {
|
|
72
|
+
offsetBy -= top;
|
|
73
|
+
top = 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return () => scrollTo(scrollElement, top - scrollTop).then(fn);
|
|
77
|
+
},
|
|
78
|
+
() => Promise.resolve()
|
|
79
|
+
)();
|
|
70
80
|
|
|
71
81
|
function scrollTo(element, top) {
|
|
72
|
-
return new Promise(resolve => {
|
|
73
|
-
|
|
82
|
+
return new Promise((resolve) => {
|
|
74
83
|
const scroll = element.scrollTop;
|
|
75
84
|
const duration = getDuration(Math.abs(top));
|
|
76
85
|
const start = Date.now();
|
|
77
86
|
|
|
78
87
|
(function step() {
|
|
79
|
-
|
|
80
88
|
const percent = ease(clamp((Date.now() - start) / duration));
|
|
81
89
|
|
|
82
90
|
scrollTop(element, scroll + top * percent);
|
|
@@ -87,29 +95,26 @@ export function scrollIntoView(element, {offset: offsetBy = 0} = {}) {
|
|
|
87
95
|
} else {
|
|
88
96
|
requestAnimationFrame(step);
|
|
89
97
|
}
|
|
90
|
-
|
|
91
98
|
})();
|
|
92
99
|
});
|
|
93
100
|
}
|
|
94
101
|
|
|
95
102
|
function getDuration(dist) {
|
|
96
|
-
return 40 * Math.pow(dist, .375);
|
|
103
|
+
return 40 * Math.pow(dist, 0.375);
|
|
97
104
|
}
|
|
98
105
|
|
|
99
106
|
function ease(k) {
|
|
100
107
|
return 0.5 * (1 - Math.cos(Math.PI * k));
|
|
101
108
|
}
|
|
102
|
-
|
|
103
109
|
}
|
|
104
110
|
|
|
105
111
|
export function scrolledOver(element, startOffset = 0, endOffset = 0) {
|
|
106
|
-
|
|
107
112
|
if (!isVisible(element)) {
|
|
108
113
|
return 0;
|
|
109
114
|
}
|
|
110
115
|
|
|
111
116
|
const [scrollElement] = scrollParents(element, /auto|scroll/, true);
|
|
112
|
-
const {scrollHeight, scrollTop} = scrollElement;
|
|
117
|
+
const { scrollHeight, scrollTop } = scrollElement;
|
|
113
118
|
const viewportHeight = getViewportClientHeight(scrollElement);
|
|
114
119
|
const maxScroll = scrollHeight - viewportHeight;
|
|
115
120
|
const elementOffsetTop = offsetPosition(element)[0] - offsetPosition(scrollElement)[0];
|
|
@@ -126,14 +131,20 @@ export function scrollParents(element, overflowRe = /auto|scroll|hidden/, scroll
|
|
|
126
131
|
let ancestors = parents(element).reverse();
|
|
127
132
|
ancestors = ancestors.slice(ancestors.indexOf(scrollEl) + 1);
|
|
128
133
|
|
|
129
|
-
const fixedIndex = findIndex(ancestors, el => css(el, 'position') === 'fixed');
|
|
134
|
+
const fixedIndex = findIndex(ancestors, (el) => css(el, 'position') === 'fixed');
|
|
130
135
|
if (~fixedIndex) {
|
|
131
136
|
ancestors = ancestors.slice(fixedIndex);
|
|
132
137
|
}
|
|
133
138
|
|
|
134
|
-
return [scrollEl]
|
|
135
|
-
|
|
136
|
-
|
|
139
|
+
return [scrollEl]
|
|
140
|
+
.concat(
|
|
141
|
+
ancestors.filter(
|
|
142
|
+
(parent) =>
|
|
143
|
+
overflowRe.test(css(parent, 'overflow')) &&
|
|
144
|
+
(!scrollable || parent.scrollHeight > getViewportClientHeight(parent))
|
|
145
|
+
)
|
|
146
|
+
)
|
|
147
|
+
.reverse();
|
|
137
148
|
}
|
|
138
149
|
|
|
139
150
|
export function getViewport(scrollElement) {
|
|
@@ -142,10 +153,14 @@ export function getViewport(scrollElement) {
|
|
|
142
153
|
|
|
143
154
|
// iOS 12 returns <body> as scrollingElement
|
|
144
155
|
export function getViewportClientHeight(scrollElement) {
|
|
145
|
-
return (
|
|
156
|
+
return (
|
|
157
|
+
scrollElement === getScrollingElement(scrollElement)
|
|
158
|
+
? document.documentElement
|
|
159
|
+
: scrollElement
|
|
160
|
+
).clientHeight;
|
|
146
161
|
}
|
|
147
162
|
|
|
148
|
-
function getScrollingElement(element) {
|
|
149
|
-
const {document} = toWindow(element);
|
|
163
|
+
export function getScrollingElement(element) {
|
|
164
|
+
const { document } = toWindow(element);
|
|
150
165
|
return document.scrollingElement || document.documentElement;
|
|
151
166
|
}
|
|
@@ -91,7 +91,6 @@
|
|
|
91
91
|
|
|
92
92
|
/*
|
|
93
93
|
* 1. Set `font-size` to support `rem` units
|
|
94
|
-
* Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
|
|
95
94
|
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
|
96
95
|
* 3. Style
|
|
97
96
|
*/
|
|
@@ -239,7 +238,7 @@ sub { bottom: -0.25em; }
|
|
|
239
238
|
========================================================================== */
|
|
240
239
|
|
|
241
240
|
/*
|
|
242
|
-
* Remove the gap between
|
|
241
|
+
* Remove the gap between the element and the bottom of its parent container.
|
|
243
242
|
*/
|
|
244
243
|
|
|
245
244
|
audio,
|
|
@@ -250,14 +249,14 @@ svg,
|
|
|
250
249
|
video { vertical-align: middle; }
|
|
251
250
|
|
|
252
251
|
/*
|
|
253
|
-
* 1.
|
|
254
|
-
* 2.
|
|
255
|
-
* 3.
|
|
256
|
-
* 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
|
|
252
|
+
* 1. Constrain the element to its parent width.
|
|
253
|
+
* 2. Preserve the intrinsic aspect ratio and auto-scale the height of an image if the `height` attribute is present.
|
|
254
|
+
* 3. Take border and padding into account.
|
|
257
255
|
*/
|
|
258
256
|
|
|
259
257
|
canvas,
|
|
260
258
|
img,
|
|
259
|
+
svg,
|
|
261
260
|
video {
|
|
262
261
|
/* 1 */
|
|
263
262
|
max-width: 100%;
|
|
@@ -267,34 +266,17 @@ video {
|
|
|
267
266
|
box-sizing: border-box;
|
|
268
267
|
}
|
|
269
268
|
|
|
270
|
-
/* 4 */
|
|
271
|
-
@supports (display: block) {
|
|
272
|
-
|
|
273
|
-
svg {
|
|
274
|
-
max-width: 100%;
|
|
275
|
-
height: auto;
|
|
276
|
-
box-sizing: border-box;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/*
|
|
282
|
-
* Hide the overflow in IE.
|
|
283
|
-
*/
|
|
284
|
-
|
|
285
|
-
svg:not(:root) { overflow: hidden; }
|
|
286
|
-
|
|
287
269
|
/*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
270
|
+
* Deprecated: only needed for `img` elements with `uk-img`
|
|
271
|
+
* 1. Hide `alt` text for lazy load images.
|
|
272
|
+
* 2. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
|
|
291
273
|
*/
|
|
292
274
|
|
|
293
275
|
img:not([src]) {
|
|
294
276
|
/* 1 */
|
|
295
|
-
min-width: 1px;
|
|
296
|
-
/* 2 */
|
|
297
277
|
visibility: hidden;
|
|
278
|
+
/* 2 */
|
|
279
|
+
min-width: 1px;
|
|
298
280
|
}
|
|
299
281
|
|
|
300
282
|
/*
|
|
@@ -589,11 +571,6 @@ template { display: none; }
|
|
|
589
571
|
* Breakpoints
|
|
590
572
|
*/
|
|
591
573
|
|
|
592
|
-
.uk-breakpoint-s::before { content: '@{breakpoint-small}'; }
|
|
593
|
-
.uk-breakpoint-m::before { content: '@{breakpoint-medium}'; }
|
|
594
|
-
.uk-breakpoint-l::before { content: '@{breakpoint-large}'; }
|
|
595
|
-
.uk-breakpoint-xl::before { content: '@{breakpoint-xlarge}'; }
|
|
596
|
-
|
|
597
574
|
:root {
|
|
598
575
|
--uk-breakpoint-s: @breakpoint-small;
|
|
599
576
|
--uk-breakpoint-m: @breakpoint-medium;
|
|
@@ -13,15 +13,6 @@
|
|
|
13
13
|
.uk-flex { display: flex; }
|
|
14
14
|
.uk-flex-inline { display: inline-flex; }
|
|
15
15
|
|
|
16
|
-
/*
|
|
17
|
-
* Remove pseudo elements created by micro clearfix as precaution
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
.uk-flex::before,
|
|
21
|
-
.uk-flex::after,
|
|
22
|
-
.uk-flex-inline::before,
|
|
23
|
-
.uk-flex-inline::after { display: none; }
|
|
24
|
-
|
|
25
16
|
|
|
26
17
|
/* Alignment
|
|
27
18
|
========================================================================== */
|
|
@@ -9,44 +9,45 @@
|
|
|
9
9
|
// Variables
|
|
10
10
|
// ========================================================================
|
|
11
11
|
|
|
12
|
+
@form-range-track-height: 3px;
|
|
13
|
+
@form-range-track-background: darken(@global-muted-background, 5%);
|
|
14
|
+
@form-range-track-focus-background: darken(@form-range-track-background, 5%);
|
|
15
|
+
|
|
12
16
|
@form-range-thumb-height: 15px;
|
|
13
17
|
@form-range-thumb-width: @form-range-thumb-height;
|
|
14
18
|
@form-range-thumb-border-radius: 500px;
|
|
15
19
|
@form-range-thumb-background: @global-color;
|
|
16
20
|
|
|
17
|
-
@form-range-track-height: 3px;
|
|
18
|
-
@form-range-track-background: darken(@global-muted-background, 5%);
|
|
19
|
-
@form-range-track-focus-background: darken(@form-range-track-background, 5%);
|
|
20
|
-
|
|
21
21
|
|
|
22
22
|
/* ========================================================================
|
|
23
23
|
Component: Form Range
|
|
24
24
|
========================================================================== */
|
|
25
25
|
|
|
26
26
|
/*
|
|
27
|
-
* 1.
|
|
28
|
-
* 2.
|
|
29
|
-
* 3.
|
|
30
|
-
* 4.
|
|
31
|
-
* 5.
|
|
32
|
-
* 6.
|
|
27
|
+
* 1. Remove default style.
|
|
28
|
+
* 2. Define consistent box sizing.
|
|
29
|
+
* 3. Remove `margin` in all browsers.
|
|
30
|
+
* 4. Align to the center of the line box.
|
|
31
|
+
* 5. Prevent content overflow if a fixed width is used.
|
|
32
|
+
* 6. Take the full width.
|
|
33
|
+
* 7. Remove white background in Chrome.
|
|
33
34
|
*/
|
|
34
35
|
|
|
35
36
|
.uk-range {
|
|
36
37
|
/* 1 */
|
|
38
|
+
-webkit-appearance: none;
|
|
39
|
+
/* 2 */
|
|
37
40
|
box-sizing: border-box;
|
|
41
|
+
/* 3 */
|
|
38
42
|
margin: 0;
|
|
43
|
+
/* 4 */
|
|
39
44
|
vertical-align: middle;
|
|
40
|
-
/*
|
|
45
|
+
/* 5 */
|
|
41
46
|
max-width: 100%;
|
|
42
|
-
/*
|
|
47
|
+
/* 6 */
|
|
43
48
|
width: 100%;
|
|
44
|
-
/*
|
|
45
|
-
-webkit-appearance: none;
|
|
46
|
-
/* 5 */
|
|
49
|
+
/* 7 */
|
|
47
50
|
background: transparent;
|
|
48
|
-
/* 6 */
|
|
49
|
-
padding: 0;
|
|
50
51
|
.hook-form-range();
|
|
51
52
|
}
|
|
52
53
|
|
|
@@ -54,82 +55,16 @@
|
|
|
54
55
|
.uk-range:focus { outline: none; }
|
|
55
56
|
.uk-range::-moz-focus-outer { border: none; }
|
|
56
57
|
|
|
57
|
-
/* IE11 Reset */
|
|
58
|
-
.uk-range::-ms-track {
|
|
59
|
-
height: @form-range-thumb-height;
|
|
60
|
-
background: transparent;
|
|
61
|
-
border-color: transparent;
|
|
62
|
-
color: transparent;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
58
|
/*
|
|
66
59
|
* Improves consistency of cursor style for clickable elements
|
|
67
60
|
*/
|
|
68
61
|
|
|
69
62
|
.uk-range:not(:disabled)::-webkit-slider-thumb { cursor: pointer; }
|
|
70
63
|
.uk-range:not(:disabled)::-moz-range-thumb { cursor: pointer; }
|
|
71
|
-
.uk-range:not(:disabled)::-ms-thumb { cursor: pointer; }
|
|
72
64
|
|
|
73
65
|
|
|
74
|
-
/* Thumb
|
|
75
|
-
========================================================================== */
|
|
76
|
-
|
|
77
|
-
/*
|
|
78
|
-
* 1. Reset
|
|
79
|
-
* 2. Style
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
/* Webkit */
|
|
83
|
-
.uk-range::-webkit-slider-thumb {
|
|
84
|
-
/* 1 */
|
|
85
|
-
-webkit-appearance: none;
|
|
86
|
-
margin-top: (floor((@form-range-thumb-height / 2)) * -1);
|
|
87
|
-
/* 2 */
|
|
88
|
-
height: @form-range-thumb-height;
|
|
89
|
-
width: @form-range-thumb-width;
|
|
90
|
-
border-radius: @form-range-thumb-border-radius;
|
|
91
|
-
background: @form-range-thumb-background;
|
|
92
|
-
.hook-form-range-thumb();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* Firefox */
|
|
96
|
-
.uk-range::-moz-range-thumb {
|
|
97
|
-
/* 1 */
|
|
98
|
-
border: none;
|
|
99
|
-
/* 2 */
|
|
100
|
-
height: @form-range-thumb-height;
|
|
101
|
-
width: @form-range-thumb-width;
|
|
102
|
-
border-radius: @form-range-thumb-border-radius;
|
|
103
|
-
background: @form-range-thumb-background;
|
|
104
|
-
.hook-form-range-thumb();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/* Edge */
|
|
108
|
-
.uk-range::-ms-thumb {
|
|
109
|
-
/* 1 */
|
|
110
|
-
margin-top: 0;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/* IE11 */
|
|
114
|
-
.uk-range::-ms-thumb {
|
|
115
|
-
/* 1 */
|
|
116
|
-
border: none;
|
|
117
|
-
/* 2 */
|
|
118
|
-
height: @form-range-thumb-height;
|
|
119
|
-
width: @form-range-thumb-width;
|
|
120
|
-
border-radius: @form-range-thumb-border-radius;
|
|
121
|
-
background: @form-range-thumb-background;
|
|
122
|
-
.hook-form-range-thumb();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/* Edge + IE11 */
|
|
126
|
-
.uk-range::-ms-tooltip { display: none; }
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
/* Track
|
|
130
|
-
========================================================================== */
|
|
131
|
-
|
|
132
66
|
/*
|
|
67
|
+
* Track
|
|
133
68
|
* 1. Safari doesn't have a focus state. Using active instead.
|
|
134
69
|
*/
|
|
135
70
|
|
|
@@ -159,18 +94,36 @@
|
|
|
159
94
|
.hook-form-range-track-focus();
|
|
160
95
|
}
|
|
161
96
|
|
|
162
|
-
/*
|
|
163
|
-
|
|
164
|
-
.
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
97
|
+
/*
|
|
98
|
+
* Thumb
|
|
99
|
+
* 1. Reset
|
|
100
|
+
* 2. Style
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
/* Webkit */
|
|
104
|
+
.uk-range::-webkit-slider-thumb {
|
|
105
|
+
/* 1 */
|
|
106
|
+
-webkit-appearance: none;
|
|
107
|
+
margin-top: (floor((@form-range-thumb-height / 2)) * -1);
|
|
108
|
+
/* 2 */
|
|
109
|
+
height: @form-range-thumb-height;
|
|
110
|
+
width: @form-range-thumb-width;
|
|
111
|
+
border-radius: @form-range-thumb-border-radius;
|
|
112
|
+
background: @form-range-thumb-background;
|
|
113
|
+
.hook-form-range-thumb();
|
|
168
114
|
}
|
|
169
115
|
|
|
170
|
-
|
|
171
|
-
.uk-range
|
|
172
|
-
|
|
173
|
-
|
|
116
|
+
/* Firefox */
|
|
117
|
+
.uk-range::-moz-range-thumb {
|
|
118
|
+
/* 1 */
|
|
119
|
+
border: none;
|
|
120
|
+
/* 2 */
|
|
121
|
+
height: @form-range-thumb-height;
|
|
122
|
+
width: @form-range-thumb-width;
|
|
123
|
+
margin-top: (floor((@form-range-thumb-height / 2)) * -1);
|
|
124
|
+
border-radius: @form-range-thumb-border-radius;
|
|
125
|
+
background: @form-range-thumb-background;
|
|
126
|
+
.hook-form-range-thumb();
|
|
174
127
|
}
|
|
175
128
|
|
|
176
129
|
|
|
@@ -180,7 +133,7 @@
|
|
|
180
133
|
.hook-form-range-misc();
|
|
181
134
|
|
|
182
135
|
.hook-form-range() {}
|
|
183
|
-
.hook-form-range-thumb() {}
|
|
184
136
|
.hook-form-range-track() {}
|
|
185
137
|
.hook-form-range-track-focus() {}
|
|
138
|
+
.hook-form-range-thumb() {}
|
|
186
139
|
.hook-form-range-misc() {}
|
|
@@ -139,10 +139,8 @@
|
|
|
139
139
|
/*
|
|
140
140
|
* 1. Create position context for spinner and close button
|
|
141
141
|
* 2. Dimensions
|
|
142
|
-
* 3.
|
|
143
|
-
*
|
|
144
|
-
* 4. Style
|
|
145
|
-
* 5. Slide-in transition
|
|
142
|
+
* 3. Style
|
|
143
|
+
* 4. Slide-in transition
|
|
146
144
|
*/
|
|
147
145
|
|
|
148
146
|
.uk-modal-dialog {
|
|
@@ -153,10 +151,8 @@
|
|
|
153
151
|
margin: 0 auto;
|
|
154
152
|
width: @modal-dialog-width;
|
|
155
153
|
/* 3 */
|
|
156
|
-
max-width: ~'calc(100% - 0.01px)' !important;
|
|
157
|
-
/* 4 */
|
|
158
154
|
background: @modal-dialog-background;
|
|
159
|
-
/*
|
|
155
|
+
/* 4 */
|
|
160
156
|
opacity: 0;
|
|
161
157
|
transform: translateY(-100px);
|
|
162
158
|
transition: 0.3s linear;
|
|
@@ -109,13 +109,6 @@
|
|
|
109
109
|
.uk-navbar-container:not(.uk-navbar-transparent):extend(.uk-light all) when (@navbar-color-mode = light) {}
|
|
110
110
|
.uk-navbar-container:not(.uk-navbar-transparent):extend(.uk-dark all) when (@navbar-color-mode = dark) {}
|
|
111
111
|
|
|
112
|
-
/*
|
|
113
|
-
* Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
.uk-navbar-container > ::before,
|
|
117
|
-
.uk-navbar-container > ::after { display: none !important; }
|
|
118
|
-
|
|
119
112
|
|
|
120
113
|
/* Groups
|
|
121
114
|
========================================================================== */
|