uikit 3.15.18-dev.9cbbb510d → 3.15.19-dev.699ab5a7f
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 +12 -0
- package/build/util.js +4 -4
- package/dist/css/uikit-core-rtl.css +5 -2
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +5 -2
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +5 -2
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +5 -2
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +2 -2
- package/dist/js/components/countdown.min.js +2 -1
- package/dist/js/components/filter.js +22 -30
- package/dist/js/components/filter.min.js +2 -1
- package/dist/js/components/lightbox-panel.js +75 -96
- package/dist/js/components/lightbox-panel.min.js +2 -1
- package/dist/js/components/lightbox.js +78 -99
- package/dist/js/components/lightbox.min.js +2 -1
- package/dist/js/components/notification.js +11 -14
- package/dist/js/components/notification.min.js +2 -1
- package/dist/js/components/parallax.js +24 -26
- package/dist/js/components/parallax.min.js +2 -1
- package/dist/js/components/slider-parallax.js +19 -20
- package/dist/js/components/slider-parallax.min.js +2 -1
- package/dist/js/components/slider.js +95 -51
- package/dist/js/components/slider.min.js +2 -1
- package/dist/js/components/slideshow-parallax.js +19 -20
- package/dist/js/components/slideshow-parallax.min.js +2 -1
- package/dist/js/components/slideshow.js +35 -42
- package/dist/js/components/slideshow.min.js +2 -1
- package/dist/js/components/sortable.js +12 -18
- package/dist/js/components/sortable.min.js +2 -1
- package/dist/js/components/tooltip.js +25 -30
- package/dist/js/components/tooltip.min.js +2 -1
- package/dist/js/components/upload.js +7 -7
- package/dist/js/components/upload.min.js +2 -1
- package/dist/js/uikit-core.js +277 -330
- package/dist/js/uikit-core.min.js +2 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +2 -1
- package/dist/js/uikit.js +470 -503
- package/dist/js/uikit.min.js +2 -1
- package/package.json +2 -2
- package/src/js/components/lightbox-panel.js +3 -5
- package/src/js/components/slider.js +62 -7
- package/src/js/core/accordion.js +5 -4
- package/src/js/core/sticky.js +6 -7
- package/src/js/mixin/slider-drag.js +1 -1
- package/src/js/mixin/slider.js +2 -7
- package/src/js/util/attr.js +1 -6
- package/src/less/components/sticky.less +4 -1
- package/src/scss/components/sticky.scss +4 -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.15.
|
|
5
|
+
"version": "3.15.19-dev.699ab5a7f",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"camelcase": "^7.0.0",
|
|
44
44
|
"clean-css": "^5.3.1",
|
|
45
45
|
"dateformat": "^5.0.3",
|
|
46
|
-
"esbuild": "^0.
|
|
46
|
+
"esbuild": "^0.16.4",
|
|
47
47
|
"eslint": "^8.26.0",
|
|
48
48
|
"eslint-config-prettier": "^8.5.0",
|
|
49
49
|
"fs-extra": "^11.1.0",
|
|
@@ -84,15 +84,13 @@ export default {
|
|
|
84
84
|
self: true,
|
|
85
85
|
|
|
86
86
|
delegate() {
|
|
87
|
-
return this.
|
|
87
|
+
return `${this.selList} > *`;
|
|
88
88
|
},
|
|
89
89
|
|
|
90
90
|
handler(e) {
|
|
91
|
-
if (e.defaultPrevented) {
|
|
92
|
-
|
|
91
|
+
if (!e.defaultPrevented) {
|
|
92
|
+
this.hide();
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
this.hide();
|
|
96
94
|
},
|
|
97
95
|
},
|
|
98
96
|
|
|
@@ -11,8 +11,10 @@ import {
|
|
|
11
11
|
data,
|
|
12
12
|
dimensions,
|
|
13
13
|
findIndex,
|
|
14
|
+
getIndex,
|
|
14
15
|
includes,
|
|
15
16
|
last,
|
|
17
|
+
sumBy,
|
|
16
18
|
toFloat,
|
|
17
19
|
toggleClass,
|
|
18
20
|
toNumber,
|
|
@@ -42,11 +44,7 @@ export default {
|
|
|
42
44
|
},
|
|
43
45
|
|
|
44
46
|
finite({ finite }) {
|
|
45
|
-
return (
|
|
46
|
-
finite ||
|
|
47
|
-
Math.ceil(getWidth(this.list)) <
|
|
48
|
-
Math.trunc(dimensions(this.list).width + getMaxElWidth(this.list) + this.center)
|
|
49
|
-
);
|
|
47
|
+
return finite || isFinite(this.list, this.center);
|
|
50
48
|
},
|
|
51
49
|
|
|
52
50
|
maxIndex() {
|
|
@@ -79,7 +77,7 @@ export default {
|
|
|
79
77
|
let left = 0;
|
|
80
78
|
const sets = [];
|
|
81
79
|
const width = dimensions(this.list).width;
|
|
82
|
-
for (let i = 0; i < this.
|
|
80
|
+
for (let i = 0; i < this.length; i++) {
|
|
83
81
|
const slideWidth = dimensions(this.slides[i]).width;
|
|
84
82
|
|
|
85
83
|
if (left + slideWidth > width) {
|
|
@@ -271,13 +269,70 @@ export default {
|
|
|
271
269
|
const slide = this.slides[this.getIndex(this.index + i + j++ * i)];
|
|
272
270
|
currentLeft += dimensions(slide).width * i;
|
|
273
271
|
slides.add(slide);
|
|
274
|
-
} while (this.
|
|
272
|
+
} while (this.length > j && currentLeft > left && currentLeft < right);
|
|
275
273
|
}
|
|
276
274
|
return Array.from(slides);
|
|
277
275
|
},
|
|
278
276
|
},
|
|
279
277
|
};
|
|
280
278
|
|
|
279
|
+
function isFinite(list, center) {
|
|
280
|
+
const { length } = list;
|
|
281
|
+
|
|
282
|
+
if (length < 2) {
|
|
283
|
+
return true;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
const { width: listWidth } = dimensions(list);
|
|
287
|
+
if (!center) {
|
|
288
|
+
return Math.ceil(getWidth(list)) < Math.trunc(listWidth + getMaxElWidth(list));
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
const slides = children(list);
|
|
292
|
+
const listHalf = Math.trunc(listWidth / 2);
|
|
293
|
+
for (const index in slides) {
|
|
294
|
+
const slide = slides[index];
|
|
295
|
+
const slideWidth = dimensions(slide).width;
|
|
296
|
+
const slidesInView = new Set([slide]);
|
|
297
|
+
|
|
298
|
+
let diff = 0;
|
|
299
|
+
for (const i of [-1, 1]) {
|
|
300
|
+
let left = slideWidth / 2;
|
|
301
|
+
|
|
302
|
+
let j = 0;
|
|
303
|
+
|
|
304
|
+
while (left < listHalf) {
|
|
305
|
+
const nextSlide = slides[getIndex(+index + i + j++ * i, slides)];
|
|
306
|
+
|
|
307
|
+
if (slidesInView.has(nextSlide)) {
|
|
308
|
+
return true;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
left += dimensions(nextSlide).width;
|
|
312
|
+
slidesInView.add(nextSlide);
|
|
313
|
+
}
|
|
314
|
+
diff = Math.max(
|
|
315
|
+
diff,
|
|
316
|
+
slideWidth / 2 +
|
|
317
|
+
dimensions(slides[getIndex(+index + i, slides)]).width / 2 -
|
|
318
|
+
(left - listHalf)
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
if (
|
|
323
|
+
diff >
|
|
324
|
+
sumBy(
|
|
325
|
+
slides.filter((slide) => !slidesInView.has(slide)),
|
|
326
|
+
(slide) => dimensions(slide).width
|
|
327
|
+
)
|
|
328
|
+
) {
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
return false;
|
|
334
|
+
}
|
|
335
|
+
|
|
281
336
|
function getMaxElWidth(list) {
|
|
282
337
|
return Math.max(0, ...children(list).map((el) => dimensions(el).width));
|
|
283
338
|
}
|
package/src/js/core/accordion.js
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
$$,
|
|
7
7
|
attr,
|
|
8
8
|
css,
|
|
9
|
+
dimensions,
|
|
9
10
|
filter,
|
|
10
11
|
getIndex,
|
|
11
12
|
hasClass,
|
|
@@ -169,10 +170,10 @@ async function transition(el, show, { content, duration, velocity, transition })
|
|
|
169
170
|
await Transition.cancel(wrapper);
|
|
170
171
|
hide(content, false);
|
|
171
172
|
|
|
172
|
-
const endHeight =
|
|
173
|
-
['
|
|
174
|
-
(
|
|
175
|
-
|
|
173
|
+
const endHeight =
|
|
174
|
+
sumBy(['marginTop', 'marginBottom'], (prop) => css(content, prop)) +
|
|
175
|
+
dimensions(content).height;
|
|
176
|
+
|
|
176
177
|
const percent = currentHeight / endHeight;
|
|
177
178
|
duration = (velocity * endHeight + duration) * (show ? 1 - percent : percent);
|
|
178
179
|
css(wrapper, 'height', currentHeight);
|
package/src/js/core/sticky.js
CHANGED
|
@@ -235,17 +235,19 @@ export default {
|
|
|
235
235
|
},
|
|
236
236
|
|
|
237
237
|
write({ height, width, margin, offset, sticky }) {
|
|
238
|
-
if (this.inactive) {
|
|
238
|
+
if (this.inactive || sticky || !this.isFixed) {
|
|
239
239
|
reset(this.$el);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
if (this.inactive) {
|
|
240
243
|
return;
|
|
241
244
|
}
|
|
242
245
|
|
|
243
246
|
if (sticky) {
|
|
244
247
|
height = width = margin = 0;
|
|
245
248
|
css(this.$el, { position: 'sticky', top: offset });
|
|
246
|
-
} else if (!this.isFixed) {
|
|
247
|
-
reset(this.$el);
|
|
248
249
|
}
|
|
250
|
+
|
|
249
251
|
const { placeholder } = this;
|
|
250
252
|
|
|
251
253
|
css(placeholder, { height, width, margin });
|
|
@@ -412,10 +414,7 @@ export default {
|
|
|
412
414
|
position = 'absolute';
|
|
413
415
|
}
|
|
414
416
|
|
|
415
|
-
css(this.$el, {
|
|
416
|
-
position,
|
|
417
|
-
width,
|
|
418
|
-
});
|
|
417
|
+
css(this.$el, { position, width });
|
|
419
418
|
css(this.$el, 'marginTop', 0, 'important');
|
|
420
419
|
}
|
|
421
420
|
|
package/src/js/mixin/slider.js
CHANGED
|
@@ -4,7 +4,7 @@ import SliderDrag from './slider-drag';
|
|
|
4
4
|
import SliderNav from './slider-nav';
|
|
5
5
|
import {
|
|
6
6
|
$,
|
|
7
|
-
|
|
7
|
+
children,
|
|
8
8
|
clamp,
|
|
9
9
|
getIndex,
|
|
10
10
|
hasClass,
|
|
@@ -23,7 +23,6 @@ export default {
|
|
|
23
23
|
index: Number,
|
|
24
24
|
finite: Boolean,
|
|
25
25
|
velocity: Number,
|
|
26
|
-
selSlides: String,
|
|
27
26
|
},
|
|
28
27
|
|
|
29
28
|
data: () => ({
|
|
@@ -63,13 +62,9 @@ export default {
|
|
|
63
62
|
return this.length - 1;
|
|
64
63
|
},
|
|
65
64
|
|
|
66
|
-
selSlides({ selList, selSlides }) {
|
|
67
|
-
return `${selList} ${selSlides || '> *'}`;
|
|
68
|
-
},
|
|
69
|
-
|
|
70
65
|
slides: {
|
|
71
66
|
get() {
|
|
72
|
-
return
|
|
67
|
+
return children(this.list);
|
|
73
68
|
},
|
|
74
69
|
|
|
75
70
|
watch() {
|
package/src/js/util/attr.js
CHANGED
|
@@ -30,12 +30,7 @@ export function hasAttr(element, name) {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export function removeAttr(element, name) {
|
|
33
|
-
|
|
34
|
-
for (const attribute of name.split(' ')) {
|
|
35
|
-
for (const element of elements) {
|
|
36
|
-
element.removeAttribute(attribute);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
33
|
+
toNodes(element).forEach((element) => element.removeAttribute(name));
|
|
39
34
|
}
|
|
40
35
|
|
|
41
36
|
export function data(element, attribute) {
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
|
|
26
26
|
/*
|
|
27
27
|
* 1. Create position context so it's t the same like when fixed.
|
|
28
|
+
* 2. Create stacking context already when not sticky to have the same context
|
|
29
|
+
* for position set to `sticky` and `relative`
|
|
28
30
|
* 2. More robust if padding and border are used and the sticky height is transitioned
|
|
29
31
|
*/
|
|
30
32
|
|
|
@@ -32,6 +34,8 @@
|
|
|
32
34
|
/* 1 */
|
|
33
35
|
position: relative;
|
|
34
36
|
/* 2 */
|
|
37
|
+
z-index: @sticky-z-index;
|
|
38
|
+
/* 3 */
|
|
35
39
|
box-sizing: border-box;
|
|
36
40
|
}
|
|
37
41
|
|
|
@@ -40,7 +44,6 @@
|
|
|
40
44
|
*/
|
|
41
45
|
|
|
42
46
|
.uk-sticky-fixed {
|
|
43
|
-
z-index: @sticky-z-index;
|
|
44
47
|
margin: 0 !important;
|
|
45
48
|
/* 1 */
|
|
46
49
|
-webkit-backface-visibility: hidden;
|
|
@@ -25,6 +25,8 @@ $sticky-reverse-animation-duration: 0.2s !default;
|
|
|
25
25
|
|
|
26
26
|
/*
|
|
27
27
|
* 1. Create position context so it's t the same like when fixed.
|
|
28
|
+
* 2. Create stacking context already when not sticky to have the same context
|
|
29
|
+
* for position set to `sticky` and `relative`
|
|
28
30
|
* 2. More robust if padding and border are used and the sticky height is transitioned
|
|
29
31
|
*/
|
|
30
32
|
|
|
@@ -32,6 +34,8 @@ $sticky-reverse-animation-duration: 0.2s !default;
|
|
|
32
34
|
/* 1 */
|
|
33
35
|
position: relative;
|
|
34
36
|
/* 2 */
|
|
37
|
+
z-index: $sticky-z-index;
|
|
38
|
+
/* 3 */
|
|
35
39
|
box-sizing: border-box;
|
|
36
40
|
}
|
|
37
41
|
|
|
@@ -40,7 +44,6 @@ $sticky-reverse-animation-duration: 0.2s !default;
|
|
|
40
44
|
*/
|
|
41
45
|
|
|
42
46
|
.uk-sticky-fixed {
|
|
43
|
-
z-index: $sticky-z-index;
|
|
44
47
|
margin: 0 !important;
|
|
45
48
|
/* 1 */
|
|
46
49
|
-webkit-backface-visibility: hidden;
|