uikit 3.9.5-dev.e48c5e252 → 3.10.1-dev.6b26facf9
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 +24 -8
- package/CONTRIBUTING.md +1 -1
- package/README.md +4 -2
- package/build/.eslintrc.json +10 -1
- package/build/build.js +5 -5
- package/build/less.js +29 -11
- package/build/publishDev.js +2 -1
- package/build/scss.js +1 -1
- package/build/util.js +1 -20
- package/dist/css/uikit-core-rtl.css +24 -13
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +21 -10
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +24 -13
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +21 -10
- 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 +5 -5
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +2 -2
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +2 -2
- 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 +2 -2
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +2 -2
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +2 -2
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +2 -2
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +6 -2
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +6 -6
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +3 -2
- 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 +72 -80
- 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 +85 -88
- package/dist/js/uikit.min.js +1 -1
- package/package.json +9 -11
- package/src/js/api/component.js +3 -3
- package/src/js/api/state.js +3 -3
- package/src/js/components/slideshow.js +4 -0
- package/src/js/components/sortable.js +1 -1
- package/src/js/components/tooltip.js +2 -1
- package/src/js/core/cover.js +1 -2
- package/src/js/core/img.js +40 -57
- package/src/js/core/sticky.js +1 -1
- package/src/js/core/toggle.js +4 -3
- package/src/js/mixin/animate.js +4 -4
- package/src/js/mixin/internal/slideshow-animations.js +1 -1
- package/src/js/mixin/parallax.js +1 -1
- package/src/js/util/dom.js +5 -8
- package/src/js/util/selector.js +4 -2
- package/src/js/util/viewport.js +3 -3
- package/src/less/components/cover.less +5 -4
- package/src/less/components/divider.less +1 -1
- package/src/less/components/list.less +1 -1
- package/src/less/components/search.less +9 -6
- package/src/less/components/utility.less +5 -3
- package/src/less/components/width.less +7 -0
- package/src/scss/components/cover.scss +5 -4
- package/src/scss/components/divider.scss +1 -1
- package/src/scss/components/list.scss +1 -1
- package/src/scss/components/search.scss +9 -6
- package/src/scss/components/utility.scss +5 -3
- package/src/scss/components/width.scss +7 -0
- package/src/scss/variables-theme.scss +4 -0
- package/src/scss/variables.scss +4 -0
- package/tests/base.html +12 -12
- package/tests/button.html +1 -1
- package/tests/cover.html +5 -5
- package/tests/drop.html +2 -2
- package/tests/dropdown.html +1 -1
- package/tests/flex.html +1 -1
- package/tests/grid-masonry.html +1 -1
- package/tests/grid-parallax.html +1 -1
- package/tests/grid.html +1 -1
- package/tests/height.html +2 -2
- package/tests/margin.html +1 -1
- package/tests/modal.html +2 -2
- package/tests/navbar.html +2 -2
- package/tests/padding.html +1 -1
- package/tests/parallax.html +1 -1
- package/tests/search.html +1 -1
- package/tests/slider.html +1 -1
- package/tests/slideshow.html +2 -2
- package/tests/sticky.html +2 -2
- package/tests/switcher.html +1 -1
- package/tests/tab.html +1 -1
- package/tests/utility.html +1 -1
- package/tests/video.html +3 -3
- package/tests/width.html +1 -1
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.
|
|
5
|
+
"version": "3.10.1-dev.6b26facf9",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"prefix": "node build/prefix",
|
|
21
21
|
"scope": "node build/scope",
|
|
22
22
|
"release": "node build/release",
|
|
23
|
-
"watch": "watch-run -i -p '
|
|
23
|
+
"watch": "watch-run -i -p '**/*.less' yarn compile-less",
|
|
24
24
|
"eslint": "eslint src/js",
|
|
25
25
|
"eslint-fix": "eslint --fix src/js"
|
|
26
26
|
},
|
|
@@ -34,15 +34,15 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://getuikit.com",
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@rollup/plugin-alias": "^3.1.
|
|
37
|
+
"@rollup/plugin-alias": "^3.1.9",
|
|
38
38
|
"@rollup/plugin-buble": "^0.21.3",
|
|
39
|
-
"@rollup/plugin-replace": "^3.0.
|
|
39
|
+
"@rollup/plugin-replace": "^3.0.1",
|
|
40
40
|
"archiver": "^5.3.0",
|
|
41
|
-
"camelcase": "^6.
|
|
41
|
+
"camelcase": "^6.3.0",
|
|
42
42
|
"clean-css": "^5.2.2",
|
|
43
43
|
"dateformat": "^5.0.2",
|
|
44
|
-
"esbuild": "^0.
|
|
45
|
-
"eslint": "^8.
|
|
44
|
+
"esbuild": "^0.14.11",
|
|
45
|
+
"eslint": "^8.6.0",
|
|
46
46
|
"fs-extra": "^10.0.0",
|
|
47
47
|
"glob": "^7.2.0",
|
|
48
48
|
"inquirer": "^8.2.0",
|
|
@@ -50,10 +50,8 @@
|
|
|
50
50
|
"minimist": "^1.2.5",
|
|
51
51
|
"number-precision": "^1.5.1",
|
|
52
52
|
"p-limit": "^4.0.0",
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"rollup": "^2.60.0",
|
|
56
|
-
"rollup-plugin-esbuild": "^4.7.1",
|
|
53
|
+
"rollup": "^2.63.0",
|
|
54
|
+
"rollup-plugin-esbuild": "^4.8.2",
|
|
57
55
|
"rollup-plugin-html": "^0.2.1",
|
|
58
56
|
"rollup-plugin-modify": "^3.0.0",
|
|
59
57
|
"rtlcss": "^3.5.0",
|
package/src/js/api/component.js
CHANGED
package/src/js/api/state.js
CHANGED
|
@@ -87,12 +87,12 @@ export default function (UIkit) {
|
|
|
87
87
|
|
|
88
88
|
events.forEach(event => {
|
|
89
89
|
|
|
90
|
-
if (
|
|
90
|
+
if (hasOwn(event, 'handler')) {
|
|
91
|
+
registerEvent(this, event);
|
|
92
|
+
} else {
|
|
91
93
|
for (const key in event) {
|
|
92
94
|
registerEvent(this, event[key], key);
|
|
93
95
|
}
|
|
94
|
-
} else {
|
|
95
|
-
registerEvent(this, event);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
});
|
|
@@ -300,7 +300,7 @@ function trackScroll(pos) {
|
|
|
300
300
|
const dist = (Date.now() - last) * .3;
|
|
301
301
|
last = Date.now();
|
|
302
302
|
|
|
303
|
-
scrollParents(document.elementFromPoint(x, pos.y)).reverse().some(scrollEl => {
|
|
303
|
+
scrollParents(document.elementFromPoint(x, pos.y), /auto|scroll/).reverse().some(scrollEl => {
|
|
304
304
|
|
|
305
305
|
let {scrollTop: scroll, scrollHeight} = scrollEl;
|
|
306
306
|
|
package/src/js/core/cover.js
CHANGED
package/src/js/core/img.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {createEvent, css, Dimensions, escape, getImage, includes, isUndefined, queryAll, startsWith, toFloat, toPx, trigger} from 'uikit-util';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
|
|
@@ -6,6 +6,8 @@ export default {
|
|
|
6
6
|
|
|
7
7
|
props: {
|
|
8
8
|
dataSrc: String,
|
|
9
|
+
dataSrcset: Boolean,
|
|
10
|
+
sizes: String,
|
|
9
11
|
width: Number,
|
|
10
12
|
height: Number,
|
|
11
13
|
offsetTop: String,
|
|
@@ -15,6 +17,8 @@ export default {
|
|
|
15
17
|
|
|
16
18
|
data: {
|
|
17
19
|
dataSrc: '',
|
|
20
|
+
dataSrcset: false,
|
|
21
|
+
sizes: false,
|
|
18
22
|
width: false,
|
|
19
23
|
height: false,
|
|
20
24
|
offsetTop: '50vh',
|
|
@@ -28,6 +32,22 @@ export default {
|
|
|
28
32
|
return `${this.$name}.${dataSrc}`;
|
|
29
33
|
},
|
|
30
34
|
|
|
35
|
+
width({width, dataWidth}) {
|
|
36
|
+
return width || dataWidth;
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
height({height, dataHeight}) {
|
|
40
|
+
return height || dataHeight;
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
sizes({sizes, dataSizes}) {
|
|
44
|
+
return sizes || dataSizes;
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
isImg(_, $el) {
|
|
48
|
+
return isImg($el);
|
|
49
|
+
},
|
|
50
|
+
|
|
31
51
|
target: {
|
|
32
52
|
|
|
33
53
|
get({target}) {
|
|
@@ -53,14 +73,14 @@ export default {
|
|
|
53
73
|
connected() {
|
|
54
74
|
|
|
55
75
|
if (!window.IntersectionObserver) {
|
|
56
|
-
setSrcAttrs(this.$el);
|
|
76
|
+
setSrcAttrs(this.$el, this.dataSrc, this.dataSrcset, this.sizes);
|
|
57
77
|
return;
|
|
58
78
|
}
|
|
59
79
|
|
|
60
80
|
if (storage[this.cacheKey]) {
|
|
61
|
-
setSrcAttrs(this.$el, storage[this.cacheKey]);
|
|
62
|
-
} else if (isImg
|
|
63
|
-
|
|
81
|
+
setSrcAttrs(this.$el, storage[this.cacheKey], this.dataSrcset, this.sizes);
|
|
82
|
+
} else if (this.isImg && this.width && this.height) {
|
|
83
|
+
setSrcAttrs(this.$el, getPlaceholderImage(this.width, this.height, this.sizes));
|
|
64
84
|
}
|
|
65
85
|
|
|
66
86
|
this.observer = new IntersectionObserver(this.load, {
|
|
@@ -87,7 +107,7 @@ export default {
|
|
|
87
107
|
this.load(this.observer.takeRecords());
|
|
88
108
|
}
|
|
89
109
|
|
|
90
|
-
if (isImg
|
|
110
|
+
if (this.isImg) {
|
|
91
111
|
return false;
|
|
92
112
|
}
|
|
93
113
|
|
|
@@ -95,15 +115,14 @@ export default {
|
|
|
95
115
|
|
|
96
116
|
},
|
|
97
117
|
|
|
98
|
-
write(
|
|
118
|
+
write(data) {
|
|
99
119
|
|
|
100
|
-
|
|
101
|
-
if (srcset && window.devicePixelRatio !== 1) {
|
|
120
|
+
if (this.dataSrcset && window.devicePixelRatio !== 1) {
|
|
102
121
|
|
|
103
122
|
const bgSize = css(this.$el, 'backgroundSize');
|
|
104
|
-
if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) ===
|
|
105
|
-
|
|
106
|
-
css(this.$el, 'backgroundSize', `${
|
|
123
|
+
if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) === data.bgSize) {
|
|
124
|
+
data.bgSize = getSourceSize(this.dataSrcset, this.sizes);
|
|
125
|
+
css(this.$el, 'backgroundSize', `${data.bgSize}px`);
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
}
|
|
@@ -123,9 +142,9 @@ export default {
|
|
|
123
142
|
return;
|
|
124
143
|
}
|
|
125
144
|
|
|
126
|
-
this._data.image =
|
|
145
|
+
this._data.image = getImage(this.dataSrc, this.dataSrcset, this.sizes).then(img => {
|
|
127
146
|
|
|
128
|
-
setSrcAttrs(this.$el, currentSrc(img));
|
|
147
|
+
setSrcAttrs(this.$el, currentSrc(img), img.srcset, img.sizes);
|
|
129
148
|
storage[this.cacheKey] = currentSrc(img);
|
|
130
149
|
return img;
|
|
131
150
|
|
|
@@ -144,20 +163,13 @@ export default {
|
|
|
144
163
|
|
|
145
164
|
};
|
|
146
165
|
|
|
147
|
-
|
|
148
|
-
function setSrcAttrs(el, src) {
|
|
166
|
+
function setSrcAttrs(el, src, srcset, sizes) {
|
|
149
167
|
|
|
150
|
-
const parentNode = parent(el);
|
|
151
168
|
if (isImg(el)) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
attr(el, prop.replace(/^(data-)+/, ''), value);
|
|
157
|
-
}
|
|
158
|
-
})
|
|
159
|
-
);
|
|
160
|
-
src && attr(el, 'src', src);
|
|
169
|
+
const set = (prop, val) => val && val !== el[prop] && (el[prop] = val);
|
|
170
|
+
set('sizes', sizes);
|
|
171
|
+
set('srcset', srcset);
|
|
172
|
+
set('src', src);
|
|
161
173
|
} else if (src) {
|
|
162
174
|
|
|
163
175
|
const change = !includes(el.style.backgroundImage, src);
|
|
@@ -170,10 +182,7 @@ function setSrcAttrs(el, src) {
|
|
|
170
182
|
|
|
171
183
|
}
|
|
172
184
|
|
|
173
|
-
function getPlaceholderImage(
|
|
174
|
-
const sizes = data(el, 'sizes');
|
|
175
|
-
let width = data(el, 'width');
|
|
176
|
-
let height = data(el, 'height');
|
|
185
|
+
function getPlaceholderImage(width, height, sizes) {
|
|
177
186
|
|
|
178
187
|
if (sizes) {
|
|
179
188
|
({width, height} = Dimensions.ratio({width, height}, 'width', toPx(sizesToPixel(sizes))));
|
|
@@ -198,24 +207,6 @@ function sizesToPixel(sizes) {
|
|
|
198
207
|
return matches || '100vw';
|
|
199
208
|
}
|
|
200
209
|
|
|
201
|
-
function getImageFromElement(el, src) {
|
|
202
|
-
const parentNode = parent(el);
|
|
203
|
-
|
|
204
|
-
if (!src) {
|
|
205
|
-
return Promise.reject(createEvent('error', false));
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
if (!isPicture(parentNode)) {
|
|
209
|
-
return getImage(src, ...srcProps.slice(1).map(prop => data(el, prop)));
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return new Promise((resolve, reject) => {
|
|
213
|
-
const picture = parentNode.cloneNode(true);
|
|
214
|
-
once(picture, 'load error', e => e.type === 'error' ? reject(e) : resolve(e.target), true);
|
|
215
|
-
setSrcAttrs($('img', picture));
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
|
|
219
210
|
const sizeRe = /\d+(?:\w+|%)/g;
|
|
220
211
|
const additionRe = /[+-]?(\d+)/g;
|
|
221
212
|
function evaluateSize(size) {
|
|
@@ -237,16 +228,8 @@ function getSourceSize(srcset, sizes) {
|
|
|
237
228
|
return descriptors.filter(size => size >= srcSize)[0] || descriptors.pop() || '';
|
|
238
229
|
}
|
|
239
230
|
|
|
240
|
-
function isPicture(el) {
|
|
241
|
-
return isA(el, 'PICTURE');
|
|
242
|
-
}
|
|
243
|
-
|
|
244
231
|
function isImg(el) {
|
|
245
|
-
return
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
function isA(el, tagName) {
|
|
249
|
-
return el && el.tagName === tagName;
|
|
232
|
+
return el.tagName === 'IMG';
|
|
250
233
|
}
|
|
251
234
|
|
|
252
235
|
function currentSrc(el) {
|
package/src/js/core/sticky.js
CHANGED
package/src/js/core/toggle.js
CHANGED
|
@@ -2,6 +2,8 @@ import Media from '../mixin/media';
|
|
|
2
2
|
import Togglable from '../mixin/togglable';
|
|
3
3
|
import {attr, closest, hasClass, includes, isBoolean, isFocusable, isTouch, matches, once, pointerDown, pointerEnter, pointerLeave, queryAll, trigger, within} from 'uikit-util';
|
|
4
4
|
|
|
5
|
+
const KEY_SPACE = 32;
|
|
6
|
+
|
|
5
7
|
export default {
|
|
6
8
|
|
|
7
9
|
mixins: [Media, Togglable],
|
|
@@ -119,12 +121,11 @@ export default {
|
|
|
119
121
|
name: 'keydown',
|
|
120
122
|
|
|
121
123
|
filter() {
|
|
122
|
-
return includes(this.mode, 'click');
|
|
124
|
+
return includes(this.mode, 'click') && this.$el.tagName !== 'INPUT';
|
|
123
125
|
},
|
|
124
126
|
|
|
125
127
|
handler(e) {
|
|
126
|
-
|
|
127
|
-
if (e.keyCode === 32) {
|
|
128
|
+
if (e.keyCode === KEY_SPACE) {
|
|
128
129
|
e.preventDefault();
|
|
129
130
|
this.$el.click();
|
|
130
131
|
}
|
package/src/js/mixin/animate.js
CHANGED
|
@@ -23,12 +23,12 @@ export default {
|
|
|
23
23
|
? fade
|
|
24
24
|
: name === 'delayed-fade'
|
|
25
25
|
? (...args) => fade(...args, 40)
|
|
26
|
-
:
|
|
27
|
-
?
|
|
26
|
+
: name
|
|
27
|
+
? slide
|
|
28
|
+
: () => {
|
|
28
29
|
action();
|
|
29
30
|
return Promise.resolve();
|
|
30
|
-
}
|
|
31
|
-
: slide;
|
|
31
|
+
};
|
|
32
32
|
|
|
33
33
|
return animationFn(action, target, this.duration)
|
|
34
34
|
.then(() => this.$update(target, 'resize'), noop);
|
|
@@ -32,7 +32,7 @@ export function translated(el) {
|
|
|
32
32
|
|
|
33
33
|
export function translate(value = 0, unit = '%') {
|
|
34
34
|
value += value ? unit : '';
|
|
35
|
-
return isIE ? `translateX(${value})` : `translate3d(${value}, 0, 0)`; // currently not translate3d in IE, translate3d within translate3d does not work while transitioning
|
|
35
|
+
return isIE ? `translateX(${value})` : `translate3d(${value}, 0, 0)`; // currently, not translate3d in IE, translate3d within translate3d does not work while transitioning
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
export function scale3d(value) {
|
package/src/js/mixin/parallax.js
CHANGED
package/src/js/util/dom.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {once} from './event';
|
|
2
2
|
import {parent} from './filter';
|
|
3
3
|
import {find, findAll} from './selector';
|
|
4
4
|
import {isElement, isString, isUndefined, toNode, toNodes} from './lang';
|
|
@@ -10,10 +10,7 @@ export function ready(fn) {
|
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
unbind();
|
|
15
|
-
fn();
|
|
16
|
-
});
|
|
13
|
+
once(document, 'DOMContentLoaded', fn);
|
|
17
14
|
}
|
|
18
15
|
|
|
19
16
|
export function empty(element) {
|
|
@@ -33,10 +30,10 @@ export function prepend(parent, element) {
|
|
|
33
30
|
|
|
34
31
|
parent = $(parent);
|
|
35
32
|
|
|
36
|
-
if (
|
|
37
|
-
return append(parent, element);
|
|
38
|
-
} else {
|
|
33
|
+
if (parent.hasChildNodes()) {
|
|
39
34
|
return insertNodes(element, element => parent.insertBefore(element, parent.firstChild));
|
|
35
|
+
} else {
|
|
36
|
+
return append(parent, element);
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
|
package/src/js/util/selector.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {attr} from './attr';
|
|
1
2
|
import {inBrowser} from './env';
|
|
2
3
|
import {closest, index, matches, parent} from './filter';
|
|
3
4
|
import {isDocument, isString, memoize, toNode, toNodes} from './lang';
|
|
@@ -95,8 +96,9 @@ const splitSelector = memoize(selector =>
|
|
|
95
96
|
function domPath(element) {
|
|
96
97
|
const names = [];
|
|
97
98
|
while (element.parentNode) {
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
const id = attr(element, 'id');
|
|
100
|
+
if (id) {
|
|
101
|
+
names.unshift(`#${escape(id)}`);
|
|
100
102
|
break;
|
|
101
103
|
} else {
|
|
102
104
|
let {tagName} = element;
|
package/src/js/util/viewport.js
CHANGED
|
@@ -82,10 +82,10 @@ export function scrollIntoView(element, {offset: offsetBy = 0} = {}) {
|
|
|
82
82
|
scrollTop(element, scroll + top * percent);
|
|
83
83
|
|
|
84
84
|
// scroll more if we have not reached our destination
|
|
85
|
-
if (percent
|
|
86
|
-
requestAnimationFrame(step);
|
|
87
|
-
} else {
|
|
85
|
+
if (percent === 1) {
|
|
88
86
|
resolve();
|
|
87
|
+
} else {
|
|
88
|
+
requestAnimationFrame(step);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
})();
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
/*
|
|
16
16
|
* Works with iframes and embedded content
|
|
17
|
-
* 1.
|
|
17
|
+
* 1. Use attribute to apply transform instantly. Needed if transform is transitioned.
|
|
18
18
|
* 2. Reset responsiveness for embedded content
|
|
19
19
|
* 3. Center object
|
|
20
20
|
* Note: Percent values on the `top` property only works if this element
|
|
21
21
|
* is absolute positioned or if the container has a height
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
.uk-cover,
|
|
25
24
|
/* 1 */
|
|
26
|
-
[uk-cover]
|
|
25
|
+
[uk-cover],
|
|
26
|
+
[data-uk-cover] {
|
|
27
27
|
/* 2 */
|
|
28
28
|
max-width: none;
|
|
29
29
|
/* 3 */
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
iframe
|
|
38
|
+
iframe[uk-cover],
|
|
39
|
+
iframe[data-uk-cover] { pointer-events: none; }
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
/* Container
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
@search-default-focus-background: darken(@search-default-background, 5%);
|
|
31
31
|
|
|
32
32
|
@search-default-icon-width: @global-control-height;
|
|
33
|
+
@search-default-icon-padding: 0;
|
|
33
34
|
|
|
34
35
|
@search-navbar-width: 400px;
|
|
35
36
|
@search-navbar-height: 40px;
|
|
@@ -37,6 +38,7 @@
|
|
|
37
38
|
@search-navbar-font-size: @global-large-font-size;
|
|
38
39
|
|
|
39
40
|
@search-navbar-icon-width: 40px;
|
|
41
|
+
@search-navbar-icon-padding: 0;
|
|
40
42
|
|
|
41
43
|
@search-large-width: 500px;
|
|
42
44
|
@search-large-height: 80px;
|
|
@@ -44,6 +46,7 @@
|
|
|
44
46
|
@search-large-font-size: @global-2xlarge-font-size;
|
|
45
47
|
|
|
46
48
|
@search-large-icon-width: 80px;
|
|
49
|
+
@search-large-icon-padding: 0;
|
|
47
50
|
|
|
48
51
|
@search-toggle-color: @global-muted-color;
|
|
49
52
|
@search-toggle-hover-color: @global-color;
|
|
@@ -205,8 +208,8 @@
|
|
|
205
208
|
|
|
206
209
|
.uk-search-default .uk-search-icon { width: @search-default-icon-width; }
|
|
207
210
|
|
|
208
|
-
.uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input { padding-left: (@search-default-icon-width); }
|
|
209
|
-
.uk-search-default .uk-search-icon-flip ~ .uk-search-input { padding-right: (@search-default-icon-width); }
|
|
211
|
+
.uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input { padding-left: (@search-default-icon-width + @search-default-icon-padding); }
|
|
212
|
+
.uk-search-default .uk-search-icon-flip ~ .uk-search-input { padding-right: (@search-default-icon-width + @search-default-icon-padding); }
|
|
210
213
|
|
|
211
214
|
|
|
212
215
|
/* Navbar modifier
|
|
@@ -236,8 +239,8 @@
|
|
|
236
239
|
|
|
237
240
|
.uk-search-navbar .uk-search-icon { width: @search-navbar-icon-width; }
|
|
238
241
|
|
|
239
|
-
.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input { padding-left: (@search-navbar-icon-width); }
|
|
240
|
-
.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input { padding-right: (@search-navbar-icon-width); }
|
|
242
|
+
.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input { padding-left: (@search-navbar-icon-width + @search-navbar-icon-padding); }
|
|
243
|
+
.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input { padding-right: (@search-navbar-icon-width + @search-navbar-icon-padding); }
|
|
241
244
|
|
|
242
245
|
|
|
243
246
|
/* Large modifier
|
|
@@ -267,8 +270,8 @@
|
|
|
267
270
|
|
|
268
271
|
.uk-search-large .uk-search-icon { width: @search-large-icon-width; }
|
|
269
272
|
|
|
270
|
-
.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input { padding-left: (@search-large-icon-width); }
|
|
271
|
-
.uk-search-large .uk-search-icon-flip ~ .uk-search-input { padding-right: (@search-large-icon-width); }
|
|
273
|
+
.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input { padding-left: (@search-large-icon-width + @search-large-icon-padding); }
|
|
274
|
+
.uk-search-large .uk-search-icon-flip ~ .uk-search-input { padding-right: (@search-large-icon-width + @search-large-icon-padding); }
|
|
272
275
|
|
|
273
276
|
|
|
274
277
|
/* Toggle
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
@box-shadow-duration: 0.1s;
|
|
41
41
|
|
|
42
42
|
@box-shadow-bottom-height: 30px;
|
|
43
|
+
@box-shadow-bottom-bottom: -@box-shadow-bottom-height;
|
|
43
44
|
@box-shadow-bottom-border-radius: 100%;
|
|
44
45
|
@box-shadow-bottom-background: #444;
|
|
45
46
|
@box-shadow-bottom-blur: 20px;
|
|
@@ -246,7 +247,8 @@
|
|
|
246
247
|
* Fix initial iframe width. Without the viewport is expanded on iOS devices
|
|
247
248
|
*/
|
|
248
249
|
|
|
249
|
-
[uk-responsive]
|
|
250
|
+
[uk-responsive],
|
|
251
|
+
[data-uk-responsive] { max-width: 100%; }
|
|
250
252
|
|
|
251
253
|
|
|
252
254
|
/* Border
|
|
@@ -303,10 +305,10 @@
|
|
|
303
305
|
}
|
|
304
306
|
|
|
305
307
|
.uk-box-shadow-bottom::after {
|
|
306
|
-
content:
|
|
308
|
+
content: "";
|
|
307
309
|
/* 1 */
|
|
308
310
|
position: absolute;
|
|
309
|
-
bottom:
|
|
311
|
+
bottom: @box-shadow-bottom-bottom;
|
|
310
312
|
left: 0;
|
|
311
313
|
right: 0;
|
|
312
314
|
z-index: -1;
|
|
@@ -360,6 +360,13 @@
|
|
|
360
360
|
|
|
361
361
|
}
|
|
362
362
|
|
|
363
|
+
/* Intrinsic Widths
|
|
364
|
+
========================================================================== */
|
|
365
|
+
|
|
366
|
+
.uk-width-max-content { width: max-content; }
|
|
367
|
+
|
|
368
|
+
.uk-width-min-content { width: min-content; }
|
|
369
|
+
|
|
363
370
|
|
|
364
371
|
// Hooks
|
|
365
372
|
// ========================================================================
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
/*
|
|
16
16
|
* Works with iframes and embedded content
|
|
17
|
-
* 1.
|
|
17
|
+
* 1. Use attribute to apply transform instantly. Needed if transform is transitioned.
|
|
18
18
|
* 2. Reset responsiveness for embedded content
|
|
19
19
|
* 3. Center object
|
|
20
20
|
* Note: Percent values on the `top` property only works if this element
|
|
21
21
|
* is absolute positioned or if the container has a height
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
.uk-cover,
|
|
25
24
|
/* 1 */
|
|
26
|
-
[uk-cover]
|
|
25
|
+
[uk-cover],
|
|
26
|
+
[data-uk-cover] {
|
|
27
27
|
/* 2 */
|
|
28
28
|
max-width: none;
|
|
29
29
|
/* 3 */
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
iframe
|
|
38
|
+
iframe[uk-cover],
|
|
39
|
+
iframe[data-uk-cover] { pointer-events: none; }
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
/* Container
|
|
@@ -114,7 +114,7 @@ $divider-vertical-border: $global-border !default;
|
|
|
114
114
|
========================================================================== */
|
|
115
115
|
|
|
116
116
|
.uk-divider-vertical {
|
|
117
|
-
width:
|
|
117
|
+
width: max-content;
|
|
118
118
|
height: $divider-vertical-height;
|
|
119
119
|
margin-left: auto;
|
|
120
120
|
margin-right: auto;
|
|
@@ -95,7 +95,7 @@ $internal-list-bullet-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D
|
|
|
95
95
|
.uk-list-decimal > * { counter-increment: decimal; }
|
|
96
96
|
|
|
97
97
|
[class*='uk-list'] > ::before {
|
|
98
|
-
content:
|
|
98
|
+
content: "";
|
|
99
99
|
position: relative;
|
|
100
100
|
left: (-$list-padding-left);
|
|
101
101
|
width: $list-padding-left;
|