uikit 3.12.3-dev.6377276f3 → 3.12.3-dev.cbf065cc2
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 +5 -0
- package/dist/css/uikit-core-rtl.css +1 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +1 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +1 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +1 -1
- 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 +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +13 -2
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +13 -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 +44 -2
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +9 -7
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +13 -2
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +9 -7
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +13 -2
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +12 -20
- 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 +211 -171
- 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 +221 -179
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/api/hooks.js +3 -3
- package/src/js/api/state.js +14 -39
- package/src/js/components/parallax.js +3 -1
- package/src/js/components/slider-parallax.js +6 -4
- package/src/js/core/core.js +2 -17
- package/src/js/core/cover.js +3 -6
- package/src/js/core/drop.js +5 -10
- package/src/js/core/gif.js +5 -3
- package/src/js/core/grid.js +2 -1
- package/src/js/core/height-match.js +21 -1
- package/src/js/core/height-viewport.js +10 -7
- package/src/js/core/img.js +1 -2
- package/src/js/core/leader.js +7 -13
- package/src/js/core/margin.js +18 -1
- package/src/js/core/overflow-auto.js +8 -7
- package/src/js/core/scrollspy-nav.js +3 -0
- package/src/js/core/scrollspy.js +3 -0
- package/src/js/core/sticky.js +7 -1
- package/src/js/core/svg.js +16 -14
- package/src/js/core/video.js +2 -8
- package/src/js/mixin/position.js +10 -18
- package/src/js/mixin/resize.js +13 -0
- package/src/js/mixin/scroll.js +32 -0
- package/src/js/mixin/slider.js +2 -1
- package/src/js/util/class.js +1 -6
- package/src/js/util/observer.js +57 -20
- package/tests/js/index.js +1 -1
package/src/js/mixin/position.js
CHANGED
|
@@ -24,18 +24,10 @@ export default {
|
|
|
24
24
|
clsPos: '',
|
|
25
25
|
},
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
pos
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
dir() {
|
|
33
|
-
return this.pos[0];
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
align() {
|
|
37
|
-
return this.pos[1];
|
|
38
|
-
},
|
|
27
|
+
connected() {
|
|
28
|
+
this.pos = this.$props.pos.split('-').concat('center').slice(0, 2);
|
|
29
|
+
this.dir = this.pos[0];
|
|
30
|
+
this.align = this.pos[1];
|
|
39
31
|
},
|
|
40
32
|
|
|
41
33
|
methods: {
|
|
@@ -44,6 +36,8 @@ export default {
|
|
|
44
36
|
|
|
45
37
|
let { offset } = this;
|
|
46
38
|
const axis = this.getAxis();
|
|
39
|
+
const dir = this.pos[0];
|
|
40
|
+
const align = this.pos[1];
|
|
47
41
|
|
|
48
42
|
if (!isNumeric(offset)) {
|
|
49
43
|
const node = $(offset);
|
|
@@ -56,13 +50,11 @@ export default {
|
|
|
56
50
|
const { x, y } = positionAt(
|
|
57
51
|
element,
|
|
58
52
|
target,
|
|
53
|
+
axis === 'x' ? `${flipPosition(dir)} ${align}` : `${align} ${flipPosition(dir)}`,
|
|
54
|
+
axis === 'x' ? `${dir} ${align}` : `${align} ${dir}`,
|
|
59
55
|
axis === 'x'
|
|
60
|
-
? `${
|
|
61
|
-
:
|
|
62
|
-
axis === 'x' ? `${this.dir} ${this.align}` : `${this.align} ${this.dir}`,
|
|
63
|
-
axis === 'x'
|
|
64
|
-
? `${this.dir === 'left' ? -offset : offset}`
|
|
65
|
-
: ` ${this.dir === 'top' ? -offset : offset}`,
|
|
56
|
+
? `${dir === 'left' ? -offset : offset}`
|
|
57
|
+
: ` ${dir === 'top' ? -offset : offset}`,
|
|
66
58
|
null,
|
|
67
59
|
this.flip,
|
|
68
60
|
boundary
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { on } from 'uikit-util';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
connected() {
|
|
5
|
+
registerScrollListener(this._uid, () => this.$emit('scroll'));
|
|
6
|
+
},
|
|
7
|
+
|
|
8
|
+
disconnected() {
|
|
9
|
+
unregisterScrollListener(this._uid);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const scrollListeners = new Map();
|
|
14
|
+
let unbindScrollListener;
|
|
15
|
+
function registerScrollListener(id, listener) {
|
|
16
|
+
unbindScrollListener =
|
|
17
|
+
unbindScrollListener ||
|
|
18
|
+
on(window, 'scroll', () => scrollListeners.forEach((listener) => listener()), {
|
|
19
|
+
passive: true,
|
|
20
|
+
capture: true,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
scrollListeners.set(id, listener);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function unregisterScrollListener(id) {
|
|
27
|
+
scrollListeners.delete(id);
|
|
28
|
+
if (unbindScrollListener && !scrollListeners.size) {
|
|
29
|
+
unbindScrollListener();
|
|
30
|
+
unbindScrollListener = null;
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/js/mixin/slider.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Resize from './resize';
|
|
1
2
|
import SliderAutoplay from './slider-autoplay';
|
|
2
3
|
import SliderDrag from './slider-drag';
|
|
3
4
|
import SliderNav from './slider-nav';
|
|
@@ -15,7 +16,7 @@ import {
|
|
|
15
16
|
} from 'uikit-util';
|
|
16
17
|
|
|
17
18
|
export default {
|
|
18
|
-
mixins: [SliderAutoplay, SliderDrag, SliderNav],
|
|
19
|
+
mixins: [SliderAutoplay, SliderDrag, SliderNav, Resize],
|
|
19
20
|
|
|
20
21
|
props: {
|
|
21
22
|
clsActivated: Boolean,
|
package/src/js/util/class.js
CHANGED
|
@@ -20,12 +20,7 @@ export function replaceClass(element, ...args) {
|
|
|
20
20
|
|
|
21
21
|
export function hasClass(element, cls) {
|
|
22
22
|
[cls] = getClasses(cls);
|
|
23
|
-
|
|
24
|
-
if (cls && node.classList.contains(cls)) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return false;
|
|
23
|
+
return !!cls && toNodes(element).some((node) => node.classList.contains(cls));
|
|
29
24
|
}
|
|
30
25
|
|
|
31
26
|
export function toggleClass(element, cls, force) {
|
package/src/js/util/observer.js
CHANGED
|
@@ -1,33 +1,70 @@
|
|
|
1
|
+
import { on } from './event';
|
|
1
2
|
import { toNodes } from './lang';
|
|
3
|
+
import { fastdom } from './fastdom';
|
|
2
4
|
|
|
3
|
-
// Old chromium based browsers (UC Browser) did not implement `isIntersecting`
|
|
4
|
-
export const hasIntersectionObserver =
|
|
5
|
-
window.IntersectionObserver && 'isIntersecting' in IntersectionObserverEntry.prototype;
|
|
6
5
|
export function observeIntersection(targets, cb, options, intersecting = true) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return observer;
|
|
6
|
+
return observe(
|
|
7
|
+
IntersectionObserver,
|
|
8
|
+
targets,
|
|
9
|
+
intersecting
|
|
10
|
+
? (entries, observer) => {
|
|
11
|
+
if (entries.some((entry) => entry.isIntersecting)) {
|
|
12
|
+
cb(entries, observer);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
: cb,
|
|
16
|
+
options
|
|
17
|
+
);
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
const hasResizeObserver = window.ResizeObserver;
|
|
23
21
|
export function observeResize(targets, cb, options = { box: 'border-box' }) {
|
|
24
|
-
if (
|
|
22
|
+
if (hasResizeObserver) {
|
|
23
|
+
return observe(ResizeObserver, targets, cb, options);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Fallback Safari < 13.1
|
|
27
|
+
initResizeListener();
|
|
28
|
+
listeners.add(cb);
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
disconnect() {
|
|
32
|
+
listeners.delete(cb);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let listeners;
|
|
38
|
+
function initResizeListener() {
|
|
39
|
+
if (listeners) {
|
|
25
40
|
return;
|
|
26
41
|
}
|
|
27
42
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
listeners = new Set();
|
|
44
|
+
|
|
45
|
+
// throttle 'resize'
|
|
46
|
+
let pendingResize;
|
|
47
|
+
const handleResize = () => {
|
|
48
|
+
if (pendingResize) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
pendingResize = true;
|
|
52
|
+
fastdom.read(() => (pendingResize = false));
|
|
53
|
+
for (const listener of listeners) {
|
|
54
|
+
listener();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
on(window, 'load resize', handleResize);
|
|
59
|
+
on(document, 'loadedmetadata load', handleResize, true);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function observeMutation(targets, cb, options) {
|
|
63
|
+
return observe(MutationObserver, targets, cb, options);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function observe(Observer, targets, cb, options) {
|
|
67
|
+
const observer = new Observer(cb);
|
|
31
68
|
for (const el of toNodes(targets)) {
|
|
32
69
|
observer.observe(el, options);
|
|
33
70
|
}
|
package/tests/js/index.js
CHANGED