uikit 3.21.4 → 3.21.5-dev.7822c0af7

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/dist/css/uikit-core-rtl.css +1 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +1 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +1 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +1 -1
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +2 -2
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +36 -34
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +36 -34
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +1 -1
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +1 -1
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +2 -2
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +1 -1
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +44 -37
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +48 -44
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/components/lightbox-panel.js +3 -7
  44. package/src/js/core/scrollspy-nav.js +4 -1
  45. package/src/js/core/sticky.js +3 -2
  46. package/src/js/mixin/internal/animate-slide.js +2 -2
  47. package/src/js/util/scroll.js +40 -35
  48. package/src/js/util/viewport.js +9 -5
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.21.4",
5
+ "version": "3.21.5-dev.7822c0af7",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -45,7 +45,7 @@ export default {
45
45
  velocity: 2,
46
46
  Animations,
47
47
  template: `<div class="uk-lightbox uk-overflow-hidden">
48
- <ul class="uk-lightbox-items"></ul>
48
+ <div class="uk-lightbox-items"></div>
49
49
  <div class="uk-lightbox-toolbar uk-position-top uk-text-right uk-transition-slide-top uk-transition-opaque">
50
50
  <button class="uk-lightbox-toolbar-icon uk-close-large" type="button" uk-close></button>
51
51
  </div>
@@ -58,7 +58,7 @@ export default {
58
58
  created() {
59
59
  const $el = $(this.template);
60
60
  const list = $(this.selList, $el);
61
- this.items.forEach(() => append(list, '<li>'));
61
+ this.items.forEach(() => append(list, '<div>'));
62
62
 
63
63
  const close = $('[uk-close]', $el);
64
64
  const closeLabel = this.t('close');
@@ -69,10 +69,6 @@ export default {
69
69
  this.$mount(append(this.container, $el));
70
70
  },
71
71
 
72
- computed: {
73
- caption: ({ selCaption }, $el) => $(selCaption, $el),
74
- },
75
-
76
72
  events: [
77
73
  {
78
74
  name: `${pointerMove} ${pointerDown} keydown`,
@@ -177,7 +173,7 @@ export default {
177
173
  name: 'itemshow',
178
174
 
179
175
  handler() {
180
- html(this.caption, this.getItem().caption || '');
176
+ html($(this.selCaption, this.$el), this.getItem().caption || '');
181
177
 
182
178
  for (let j = -this.preload; j <= this.preload; j++) {
183
179
  this.loadItem(this.index + j);
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  $$,
3
+ dimensions,
3
4
  getCoveringElement,
4
5
  getTargetedElement,
5
6
  hasClass,
@@ -69,7 +70,9 @@ export default {
69
70
  active = length - 1;
70
71
  } else {
71
72
  const offsetBy =
72
- this.offset + offset(getCoveringElement()).height + viewport.height * 0.1;
73
+ this.offset +
74
+ dimensions(getCoveringElement()).height +
75
+ viewport.height * 0.1;
73
76
 
74
77
  for (let i = 0; i < targets.length; i++) {
75
78
  if (offset(targets[i]).top - viewport.top - offsetBy > 0) {
@@ -6,6 +6,7 @@ import {
6
6
  before,
7
7
  clamp,
8
8
  css,
9
+ dimensions,
9
10
  height as getHeight,
10
11
  offset as getOffset,
11
12
  hasClass,
@@ -159,7 +160,7 @@ export default {
159
160
  }
160
161
 
161
162
  if (!this.active) {
162
- ({ height, width } = getOffset(this.$el));
163
+ ({ height, width } = dimensions(this.$el));
163
164
  margin = css(this.$el, 'margin');
164
165
  }
165
166
 
@@ -187,7 +188,7 @@ export default {
187
188
 
188
189
  const overflow = this.overflowFlip ? 0 : Math.max(0, height + offset - viewport);
189
190
  const topOffset = getOffset(referenceElement).top;
190
- const elHeight = getOffset(this.$el).height;
191
+ const elHeight = dimensions(this.$el).height;
191
192
 
192
193
  const start =
193
194
  (this.start === false
@@ -2,10 +2,10 @@ import {
2
2
  attr,
3
3
  children,
4
4
  css,
5
+ dimensions,
5
6
  includes,
6
7
  index,
7
8
  isVisible,
8
- offset,
9
9
  parent,
10
10
  position,
11
11
  Transition,
@@ -134,7 +134,7 @@ function resetProps(el, props) {
134
134
  }
135
135
 
136
136
  function getPositionWithMargin(el) {
137
- const { height, width } = offset(el);
137
+ const { height, width } = dimensions(el);
138
138
 
139
139
  return {
140
140
  height,
@@ -3,41 +3,46 @@ import { css, getEventPos, matches, on, once, scrollParents, width } from 'uikit
3
3
  let prevented;
4
4
  export function preventBackgroundScroll(el) {
5
5
  // 'overscroll-behavior: contain' only works consistently if el overflows (Safari)
6
- const off = on(el, 'touchstart', (e) => {
7
- if (e.targetTouches.length !== 1 || matches(e.target, 'input[type="range"')) {
8
- return;
9
- }
10
-
11
- let prev = getEventPos(e).y;
12
-
13
- const offMove = on(
14
- el,
15
- 'touchmove',
16
- (e) => {
17
- const pos = getEventPos(e).y;
18
- if (pos === prev) {
19
- return;
20
- }
21
- prev = pos;
22
-
23
- if (
24
- !scrollParents(e.target).some((scrollParent) => {
25
- if (!el.contains(scrollParent)) {
26
- return false;
27
- }
28
-
29
- let { scrollHeight, clientHeight } = scrollParent;
30
- return clientHeight < scrollHeight;
31
- })
32
- ) {
33
- e.preventDefault();
34
- }
35
- },
36
- { passive: false },
37
- );
38
-
39
- once(el, 'scroll touchend touchcanel', offMove, { capture: true });
40
- });
6
+ const off = on(
7
+ el,
8
+ 'touchstart',
9
+ (e) => {
10
+ if (e.targetTouches.length !== 1 || matches(e.target, 'input[type="range"')) {
11
+ return;
12
+ }
13
+
14
+ let prev = getEventPos(e).y;
15
+
16
+ const offMove = on(
17
+ el,
18
+ 'touchmove',
19
+ (e) => {
20
+ const pos = getEventPos(e).y;
21
+ if (pos === prev) {
22
+ return;
23
+ }
24
+ prev = pos;
25
+
26
+ if (
27
+ !scrollParents(e.target).some((scrollParent) => {
28
+ if (!el.contains(scrollParent)) {
29
+ return false;
30
+ }
31
+
32
+ let { scrollHeight, clientHeight } = scrollParent;
33
+ return clientHeight < scrollHeight;
34
+ })
35
+ ) {
36
+ e.preventDefault();
37
+ }
38
+ },
39
+ { passive: false },
40
+ );
41
+
42
+ once(el, 'scroll touchend touchcanel', offMove, { capture: true });
43
+ },
44
+ { passive: true },
45
+ );
41
46
 
42
47
  if (prevented) {
43
48
  return off;
@@ -84,9 +84,8 @@ export function scrollIntoView(element, { offset: offsetBy = 0 } = {}) {
84
84
  diff =
85
85
  offset(targetEl).top +
86
86
  (isScrollingElement ? 0 : element.scrollTop) -
87
- targetTop;
88
- const coverEl = getCoveringElement(targetEl);
89
- diff -= coverEl ? offset(coverEl).height : 0;
87
+ targetTop -
88
+ dimensions(getCoveringElement(targetEl)).height;
90
89
  }
91
90
 
92
91
  element.scrollTop = scroll + (top + diff) * percent;
@@ -200,6 +199,7 @@ export function offsetViewport(scrollElement) {
200
199
  export function getCoveringElement(target) {
201
200
  const { left, width, top } = dimensions(target);
202
201
  for (const position of top ? [0, top] : [0]) {
202
+ let coverEl;
203
203
  for (const el of toWindow(target).document.elementsFromPoint(left + width / 2, position)) {
204
204
  if (
205
205
  !el.contains(target) &&
@@ -213,11 +213,15 @@ export function getCoveringElement(target) {
213
213
  (parent) => !parent.contains(el) && !hasPosition(parent, 'static'),
214
214
  ),
215
215
  ) < zIndex(el)) ||
216
- (hasPosition(el, 'sticky') && parent(el).contains(target)))
216
+ (hasPosition(el, 'sticky') && parent(el).contains(target))) &&
217
+ (!coverEl || dimensions(coverEl).height < dimensions(el).height)
217
218
  ) {
218
- return el;
219
+ coverEl = el;
219
220
  }
220
221
  }
222
+ if (coverEl) {
223
+ return coverEl;
224
+ }
221
225
  }
222
226
  }
223
227