uikit 3.14.4-dev.0097ef093 → 3.14.4-dev.17d2f2727

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 (50) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/css/uikit-core-rtl.css +12 -5
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +12 -5
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +12 -5
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +12 -5
  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 +1 -1
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +22 -7
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +22 -7
  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 +22 -7
  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 +22 -7
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +1 -1
  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 +17 -13
  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 +62 -43
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/height-viewport.js +9 -5
  44. package/src/js/mixin/slider-drag.js +20 -8
  45. package/src/js/util/dimensions.js +6 -6
  46. package/src/less/components/navbar.less +0 -1
  47. package/src/less/components/utility.less +12 -3
  48. package/src/scss/components/navbar.scss +0 -1
  49. package/src/scss/components/utility.scss +12 -3
  50. package/tests/navbar.html +2040 -1266
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.14.4-dev.0097ef093",
5
+ "version": "3.14.4-dev.17d2f2727",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -56,14 +56,18 @@ export default {
56
56
  0
57
57
  );
58
58
  } else {
59
+ const isScrollingElement = document.scrollingElement === scrollElement;
60
+
59
61
  // on mobile devices (iOS and Android) window.innerHeight !== 100vh
60
- minHeight = `calc(${
61
- document.scrollingElement === scrollElement ? '100vh' : `${viewportHeight}px`
62
- }`;
62
+ minHeight = `calc(${isScrollingElement ? '100vh' : `${viewportHeight}px`}`;
63
63
 
64
64
  if (this.offsetTop) {
65
- const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
66
- minHeight += top > 0 && top < viewportHeight / 2 ? ` - ${top}px` : '';
65
+ if (isScrollingElement) {
66
+ const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
67
+ minHeight += top > 0 && top < viewportHeight / 2 ? ` - ${top}px` : '';
68
+ } else {
69
+ minHeight += ` - ${css(scrollElement, 'paddingTop')}`;
70
+ }
67
71
  }
68
72
 
69
73
  if (this.offsetBottom === true) {
@@ -5,16 +5,18 @@ import {
5
5
  includes,
6
6
  isRtl,
7
7
  isTouch,
8
+ noop,
8
9
  off,
9
10
  on,
10
- pointerCancel,
11
- pointerDown,
12
- pointerMove,
13
- pointerUp,
14
11
  selInput,
15
12
  trigger,
16
13
  } from 'uikit-util';
17
14
 
15
+ const pointerOptions = { passive: false, capture: true };
16
+ const pointerDown = 'touchstart mousedown';
17
+ const pointerMove = 'touchmove mousemove';
18
+ const pointerUp = 'touchend touchcancel mouseup click input';
19
+
18
20
  export default {
19
21
  props: {
20
22
  draggable: Boolean,
@@ -69,6 +71,16 @@ export default {
69
71
  e.preventDefault();
70
72
  },
71
73
  },
74
+
75
+ {
76
+ // iOS workaround for slider stopping if swiping fast
77
+ name: `${pointerMove} ${pointerUp}`,
78
+ el() {
79
+ return this.list;
80
+ },
81
+ handler: noop,
82
+ ...pointerOptions,
83
+ },
72
84
  ],
73
85
 
74
86
  methods: {
@@ -89,10 +101,10 @@ export default {
89
101
  this.prevIndex = this.index;
90
102
  }
91
103
 
92
- on(document, pointerMove, this.move, { passive: false });
104
+ on(document, pointerMove, this.move, pointerOptions);
93
105
 
94
106
  // 'input' event is triggered by video controls
95
- on(document, `${pointerUp} ${pointerCancel} input`, this.end, true);
107
+ on(document, pointerUp, this.end, pointerOptions);
96
108
 
97
109
  css(this.list, 'userSelect', 'none');
98
110
  },
@@ -172,8 +184,8 @@ export default {
172
184
  },
173
185
 
174
186
  end() {
175
- off(document, pointerMove, this.move, { passive: false });
176
- off(document, `${pointerUp} ${pointerCancel} input`, this.end, true);
187
+ off(document, pointerMove, this.move, pointerOptions);
188
+ off(document, pointerUp, this.end, pointerOptions);
177
189
 
178
190
  if (this.dragging) {
179
191
  this.dragging = null;
@@ -94,13 +94,13 @@ export function position(element) {
94
94
  }
95
95
 
96
96
  export function offsetPosition(element) {
97
- const offset = [0, 0];
98
-
99
97
  element = toNode(element);
100
98
 
101
- do {
102
- offset[0] += element.offsetTop;
103
- offset[1] += element.offsetLeft;
99
+ const offset = [element.offsetTop, element.offsetLeft];
100
+
101
+ while ((element = element.offsetParent)) {
102
+ offset[0] += element.offsetTop + toFloat(css(element, `borderTopWidth`));
103
+ offset[1] += element.offsetLeft + toFloat(css(element, `borderLeftWidth`));
104
104
 
105
105
  if (css(element, 'position') === 'fixed') {
106
106
  const win = toWindow(element);
@@ -108,7 +108,7 @@ export function offsetPosition(element) {
108
108
  offset[1] += win.scrollX;
109
109
  return offset;
110
110
  }
111
- } while ((element = element.offsetParent));
111
+ }
112
112
 
113
113
  return offset;
114
114
  }
@@ -440,7 +440,6 @@
440
440
  width: auto;
441
441
  /* 2 */
442
442
  --uk-position-offset: @navbar-dropdown-dropbar-margin-top;
443
- --uk-position-viewport-offset: 0;
444
443
  /* 3 */
445
444
  margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
446
445
  /* 4 */
@@ -384,18 +384,27 @@
384
384
  ========================================================================== */
385
385
 
386
386
  /*
387
- * 1. Required for `a`
387
+ * 1. Style
388
+ * 2. Required for `a`
389
+ * 3. Behave like image but can be overridden through flex utility classes
388
390
  */
389
391
 
390
392
  .uk-logo {
393
+ /* 1 */
391
394
  font-size: @logo-font-size;
392
395
  font-family: @logo-font-family;
393
396
  color: @logo-color;
394
- /* 1 */
397
+ /* 2 */
395
398
  text-decoration: none;
396
399
  .hook-logo();
397
400
  }
398
401
 
402
+ /* 3 */
403
+ :where(.uk-logo) {
404
+ display: inline-block;
405
+ vertical-align: middle;
406
+ }
407
+
399
408
  /* Hover */
400
409
  .uk-logo:hover {
401
410
  color: @logo-hover-color;
@@ -404,7 +413,7 @@
404
413
  .hook-logo-hover();
405
414
  }
406
415
 
407
- .uk-logo > :where(img, svg, video) { display: inline-block; }
416
+ .uk-logo > :where(img, svg, video) { display: block; }
408
417
 
409
418
  .uk-logo-inverse { display: none; }
410
419
 
@@ -440,7 +440,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
440
440
  width: auto;
441
441
  /* 2 */
442
442
  --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
443
- --uk-position-viewport-offset: 0;
444
443
  /* 3 */
445
444
  margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
446
445
  /* 4 */
@@ -384,18 +384,27 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
384
384
  ========================================================================== */
385
385
 
386
386
  /*
387
- * 1. Required for `a`
387
+ * 1. Style
388
+ * 2. Required for `a`
389
+ * 3. Behave like image but can be overridden through flex utility classes
388
390
  */
389
391
 
390
392
  .uk-logo {
393
+ /* 1 */
391
394
  font-size: $logo-font-size;
392
395
  font-family: $logo-font-family;
393
396
  color: $logo-color;
394
- /* 1 */
397
+ /* 2 */
395
398
  text-decoration: none;
396
399
  @if(mixin-exists(hook-logo)) {@include hook-logo();}
397
400
  }
398
401
 
402
+ /* 3 */
403
+ :where(.uk-logo) {
404
+ display: inline-block;
405
+ vertical-align: middle;
406
+ }
407
+
399
408
  /* Hover */
400
409
  .uk-logo:hover {
401
410
  color: $logo-hover-color;
@@ -404,7 +413,7 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
404
413
  @if(mixin-exists(hook-logo-hover)) {@include hook-logo-hover();}
405
414
  }
406
415
 
407
- .uk-logo > :where(img, svg, video) { display: inline-block; }
416
+ .uk-logo > :where(img, svg, video) { display: block; }
408
417
 
409
418
  .uk-logo-inverse { display: none; }
410
419