uikit 3.11.2-dev.21a5b7139 → 3.11.2-dev.29f2881ed
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 +36 -19
- package/dist/css/uikit-core-rtl.css +86 -185
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +86 -185
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +88 -191
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +88 -191
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +3 -3
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +10 -14
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +31 -60
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +34 -64
- 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 +110 -72
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +110 -72
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +75 -28
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +110 -72
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +57 -21
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +16 -20
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +2 -2
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +10 -14
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +340 -337
- 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 +584 -518
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/api/component.js +2 -11
- package/src/js/api/hooks.js +1 -1
- package/src/js/api/state.js +3 -3
- package/src/js/components/countdown.js +2 -2
- package/src/js/components/filter.js +2 -3
- package/src/js/components/internal/lightbox-animations.js +4 -3
- package/src/js/components/internal/slider-preload.js +37 -0
- package/src/js/components/internal/slider-transitioner.js +2 -2
- package/src/js/components/internal/slideshow-animations.js +4 -3
- package/src/js/components/lightbox-panel.js +34 -58
- package/src/js/components/lightbox.js +3 -4
- package/src/js/components/slider.js +30 -11
- package/src/js/components/slideshow.js +8 -1
- package/src/js/components/sortable.js +8 -8
- package/src/js/components/upload.js +9 -13
- package/src/js/core/accordion.js +3 -3
- package/src/js/core/alert.js +1 -2
- package/src/js/core/height-match.js +3 -3
- package/src/js/core/icon.js +13 -6
- package/src/js/core/img.js +134 -115
- package/src/js/core/margin.js +11 -13
- package/src/js/core/modal.js +1 -2
- package/src/js/core/navbar.js +5 -5
- package/src/js/core/scrollspy.js +6 -6
- package/src/js/core/sticky.js +34 -35
- package/src/js/core/svg.js +10 -6
- package/src/js/core/toggle.js +4 -3
- package/src/js/mixin/internal/animate-slide.js +9 -12
- package/src/js/mixin/parallax.js +110 -72
- package/src/js/mixin/slider-drag.js +3 -3
- package/src/js/mixin/slider-nav.js +2 -2
- package/src/js/mixin/slider.js +8 -16
- package/src/js/mixin/slideshow.js +2 -2
- package/src/js/mixin/togglable.js +1 -2
- package/src/js/util/ajax.js +15 -14
- package/src/js/util/animation.js +7 -12
- package/src/js/util/attr.js +14 -12
- package/src/js/util/dimensions.js +4 -4
- package/src/js/util/dom.js +23 -32
- package/src/js/util/lang.js +7 -6
- package/src/js/util/options.js +2 -11
- package/src/js/util/player.js +5 -4
- package/src/js/util/position.js +2 -2
- package/src/js/util/selector.js +12 -18
- package/src/js/util/style.js +4 -4
- package/src/less/components/base.less +10 -33
- 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/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/scss/components/base.scss +10 -33
- package/src/scss/components/form-range.scss +48 -95
- package/src/scss/components/form.scss +0 -1
- package/src/scss/components/height.scss +3 -0
- 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/progress.scss +14 -36
- 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/mixins-theme.scss +1 -1
- package/src/scss/mixins.scss +1 -1
- package/src/scss/variables-theme.scss +3 -3
- package/src/scss/variables.scss +3 -3
- 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/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/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 +14 -5
- 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 +55 -70
- 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 +33 -33
- package/tests/video.html +1 -1
- package/tests/width.html +1 -1
- package/src/js/util/promise.js +0 -0
- package/tests/images/animated.gif +0 -0
package/src/js/util/dom.js
CHANGED
|
@@ -12,6 +12,10 @@ export function ready(fn) {
|
|
|
12
12
|
once(document, 'DOMContentLoaded', fn);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
export function isTag(element, tagName) {
|
|
16
|
+
return element?.tagName?.toLowerCase() === tagName.toLowerCase();
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
export function empty(element) {
|
|
16
20
|
return replaceChildren(element, '');
|
|
17
21
|
}
|
|
@@ -20,34 +24,20 @@ export function html(parent, html) {
|
|
|
20
24
|
return isUndefined(html) ? $(parent).innerHTML : replaceChildren(parent, html);
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export function prepend(parent, element) {
|
|
30
|
-
const nodes = $$(element);
|
|
31
|
-
$(parent).prepend(...nodes);
|
|
32
|
-
return nodes;
|
|
33
|
-
}
|
|
27
|
+
export const replaceChildren = applyFn('replaceChildren');
|
|
28
|
+
export const prepend = applyFn('prepend');
|
|
29
|
+
export const append = applyFn('append');
|
|
30
|
+
export const before = applyFn('before');
|
|
31
|
+
export const after = applyFn('after');
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
$(ref).before(...nodes);
|
|
44
|
-
return nodes;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export function after(ref, element) {
|
|
48
|
-
const nodes = $$(element);
|
|
49
|
-
$(ref).after(...nodes);
|
|
50
|
-
return nodes;
|
|
33
|
+
function applyFn(fn) {
|
|
34
|
+
return function (ref, element) {
|
|
35
|
+
const nodes = toNodes(isString(element) ? fragment(element) : element);
|
|
36
|
+
if (nodes.length) {
|
|
37
|
+
$(ref)[fn](...nodes);
|
|
38
|
+
}
|
|
39
|
+
return unwrapSingle(nodes);
|
|
40
|
+
};
|
|
51
41
|
}
|
|
52
42
|
|
|
53
43
|
export function remove(element) {
|
|
@@ -80,10 +70,7 @@ export function unwrap(element) {
|
|
|
80
70
|
toNodes(element)
|
|
81
71
|
.map(parent)
|
|
82
72
|
.filter((value, index, self) => self.indexOf(value) === index)
|
|
83
|
-
.forEach((parent) =>
|
|
84
|
-
before(parent, parent.childNodes);
|
|
85
|
-
remove(parent);
|
|
86
|
-
});
|
|
73
|
+
.forEach((parent) => parent.replaceWith(...parent.childNodes));
|
|
87
74
|
}
|
|
88
75
|
|
|
89
76
|
const fragmentRe = /^\s*<(\w+|!)[^>]*>/;
|
|
@@ -102,7 +89,11 @@ export function fragment(html) {
|
|
|
102
89
|
container.textContent = html;
|
|
103
90
|
}
|
|
104
91
|
|
|
105
|
-
return
|
|
92
|
+
return unwrapSingle(container.childNodes);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function unwrapSingle(nodes) {
|
|
96
|
+
return nodes.length > 1 ? nodes : nodes[0];
|
|
106
97
|
}
|
|
107
98
|
|
|
108
99
|
export function apply(node, fn) {
|
package/src/js/util/lang.js
CHANGED
|
@@ -21,19 +21,19 @@ function toUpper(_, c) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export function startsWith(str, search) {
|
|
24
|
-
return str
|
|
24
|
+
return str?.startsWith?.(search);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export function endsWith(str, search) {
|
|
28
|
-
return str
|
|
28
|
+
return str?.endsWith?.(search);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export function includes(obj, search) {
|
|
32
|
-
return obj
|
|
32
|
+
return obj?.includes?.(search);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export function findIndex(array, predicate) {
|
|
36
|
-
return array
|
|
36
|
+
return array?.findIndex?.(predicate);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export const { isArray, from: toArray } = Array;
|
|
@@ -128,8 +128,9 @@ export function toWindow(element) {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
element = toNode(element);
|
|
131
|
+
const document = isDocument(element) ? element : element?.ownerDocument;
|
|
131
132
|
|
|
132
|
-
return
|
|
133
|
+
return document?.defaultView || window;
|
|
133
134
|
}
|
|
134
135
|
|
|
135
136
|
export function toMs(time) {
|
|
@@ -216,7 +217,7 @@ export const Dimensions = {
|
|
|
216
217
|
},
|
|
217
218
|
|
|
218
219
|
contain(dimensions, maxDimensions) {
|
|
219
|
-
dimensions =
|
|
220
|
+
dimensions = { ...dimensions };
|
|
220
221
|
|
|
221
222
|
each(
|
|
222
223
|
dimensions,
|
package/src/js/util/options.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
assign,
|
|
3
|
-
hasOwn,
|
|
4
|
-
includes,
|
|
5
|
-
isArray,
|
|
6
|
-
isFunction,
|
|
7
|
-
isUndefined,
|
|
8
|
-
sortBy,
|
|
9
|
-
startsWith,
|
|
10
|
-
} from './lang';
|
|
1
|
+
import { hasOwn, includes, isArray, isFunction, isUndefined, sortBy, startsWith } from './lang';
|
|
11
2
|
|
|
12
3
|
const strats = {};
|
|
13
4
|
|
|
@@ -48,7 +39,7 @@ strats.props = function (parentVal, childVal) {
|
|
|
48
39
|
|
|
49
40
|
// extend strategy
|
|
50
41
|
strats.computed = strats.methods = function (parentVal, childVal) {
|
|
51
|
-
return childVal ? (parentVal ?
|
|
42
|
+
return childVal ? (parentVal ? { ...parentVal, ...childVal } : childVal) : parentVal;
|
|
52
43
|
};
|
|
53
44
|
|
|
54
45
|
// data strategy
|
package/src/js/util/player.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { isTag } from './dom';
|
|
1
2
|
import { once } from './event';
|
|
2
|
-
import {
|
|
3
|
+
import { includes, noop } from './lang';
|
|
3
4
|
|
|
4
5
|
export function play(el) {
|
|
5
6
|
if (isIFrame(el)) {
|
|
@@ -40,11 +41,11 @@ export function isVideo(el) {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
function isHTML5(el) {
|
|
43
|
-
return el
|
|
44
|
+
return isTag(el, 'video');
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
function isIFrame(el) {
|
|
47
|
-
return el
|
|
48
|
+
return isTag(el, 'iframe') && (isYoutube(el) || isVimeo(el));
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
function isYoutube(el) {
|
|
@@ -64,7 +65,7 @@ async function call(el, cmd) {
|
|
|
64
65
|
|
|
65
66
|
function post(el, cmd) {
|
|
66
67
|
try {
|
|
67
|
-
el.contentWindow.postMessage(JSON.stringify(
|
|
68
|
+
el.contentWindow.postMessage(JSON.stringify({ event: 'command', ...cmd }), '*');
|
|
68
69
|
} catch (e) {
|
|
69
70
|
// noop
|
|
70
71
|
}
|
package/src/js/util/position.js
CHANGED
|
@@ -95,14 +95,14 @@ export function positionAt(
|
|
|
95
95
|
if (newVal >= boundary[align] && newVal + dim[prop] <= boundary[alignFlip]) {
|
|
96
96
|
position[align] = newVal;
|
|
97
97
|
|
|
98
|
-
['element', 'target']
|
|
98
|
+
for (const el of ['element', 'target']) {
|
|
99
99
|
if (elemOffset) {
|
|
100
100
|
flipped[el][dir] =
|
|
101
101
|
flipped[el][dir] === dirs[prop][1]
|
|
102
102
|
? dirs[prop][2]
|
|
103
103
|
: dirs[prop][1];
|
|
104
104
|
}
|
|
105
|
-
}
|
|
105
|
+
}
|
|
106
106
|
|
|
107
107
|
return true;
|
|
108
108
|
}
|
package/src/js/util/selector.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { attr } from './attr';
|
|
2
|
-
import { inBrowser } from './env';
|
|
3
2
|
import { closest, index, matches, parent } from './filter';
|
|
4
3
|
import { isDocument, isString, memoize, toNode, toNodes } from './lang';
|
|
5
4
|
|
|
@@ -11,12 +10,6 @@ export function queryAll(selector, context) {
|
|
|
11
10
|
return findAll(selector, getContext(selector, context));
|
|
12
11
|
}
|
|
13
12
|
|
|
14
|
-
function getContext(selector, context = document) {
|
|
15
|
-
return (isString(selector) && isContextSelector(selector)) || isDocument(context)
|
|
16
|
-
? context
|
|
17
|
-
: context.ownerDocument;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
13
|
export function find(selector, context) {
|
|
21
14
|
return toNode(_query(selector, context, 'querySelector'));
|
|
22
15
|
}
|
|
@@ -25,6 +18,17 @@ export function findAll(selector, context) {
|
|
|
25
18
|
return toNodes(_query(selector, context, 'querySelectorAll'));
|
|
26
19
|
}
|
|
27
20
|
|
|
21
|
+
const contextSelectorRe = /(^|[^\\],)\s*[!>+~-]/;
|
|
22
|
+
const isContextSelector = memoize((selector) => selector.match(contextSelectorRe));
|
|
23
|
+
|
|
24
|
+
function getContext(selector, context = document) {
|
|
25
|
+
return (isString(selector) && isContextSelector(selector)) || isDocument(context)
|
|
26
|
+
? context
|
|
27
|
+
: context.ownerDocument;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const contextSanitizeRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
|
|
31
|
+
|
|
28
32
|
function _query(selector, context = document, queryFn) {
|
|
29
33
|
if (!selector || !isString(selector)) {
|
|
30
34
|
return selector;
|
|
@@ -69,11 +73,6 @@ function _query(selector, context = document, queryFn) {
|
|
|
69
73
|
}
|
|
70
74
|
}
|
|
71
75
|
|
|
72
|
-
const contextSelectorRe = /(^|[^\\],)\s*[!>+~-]/;
|
|
73
|
-
const contextSanitizeRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
|
|
74
|
-
|
|
75
|
-
const isContextSelector = memoize((selector) => selector.match(contextSelectorRe));
|
|
76
|
-
|
|
77
76
|
const selectorRe = /.*?[^\\](?:,|$)/g;
|
|
78
77
|
|
|
79
78
|
const splitSelector = memoize((selector) =>
|
|
@@ -99,11 +98,6 @@ function domPath(element) {
|
|
|
99
98
|
return names.join(' > ');
|
|
100
99
|
}
|
|
101
100
|
|
|
102
|
-
const escapeFn =
|
|
103
|
-
(inBrowser && window.CSS && CSS.escape) ||
|
|
104
|
-
function (css) {
|
|
105
|
-
return css.replace(/([^\x7f-\uFFFF\w-])/g, (match) => `\\${match}`);
|
|
106
|
-
};
|
|
107
101
|
export function escape(css) {
|
|
108
|
-
return isString(css) ?
|
|
102
|
+
return isString(css) ? CSS.escape(css) : '';
|
|
109
103
|
}
|
package/src/js/util/style.js
CHANGED
|
@@ -31,7 +31,8 @@ const cssNumber = {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
export function css(element, property, value, priority = '') {
|
|
34
|
-
|
|
34
|
+
const elements = toNodes(element);
|
|
35
|
+
for (const element of elements) {
|
|
35
36
|
if (isString(property)) {
|
|
36
37
|
property = propName(property);
|
|
37
38
|
|
|
@@ -57,9 +58,8 @@ export function css(element, property, value, priority = '') {
|
|
|
57
58
|
priority = value;
|
|
58
59
|
each(property, (value, property) => css(element, property, value, priority));
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
})[0];
|
|
61
|
+
}
|
|
62
|
+
return elements[0];
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
function getStyles(element, pseudoElt) {
|
|
@@ -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;
|
|
@@ -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;
|