uikit 3.14.2-dev.7f1f28069 → 3.14.2-dev.854a8e6b0

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 (53) hide show
  1. package/dist/css/uikit-core-rtl.css +15 -11
  2. package/dist/css/uikit-core-rtl.min.css +1 -1
  3. package/dist/css/uikit-core.css +15 -11
  4. package/dist/css/uikit-core.min.css +1 -1
  5. package/dist/css/uikit-rtl.css +14 -10
  6. package/dist/css/uikit-rtl.min.css +1 -1
  7. package/dist/css/uikit.css +14 -10
  8. package/dist/css/uikit.min.css +1 -1
  9. package/dist/js/components/countdown.js +1 -1
  10. package/dist/js/components/countdown.min.js +1 -1
  11. package/dist/js/components/filter.js +1 -1
  12. package/dist/js/components/filter.min.js +1 -1
  13. package/dist/js/components/lightbox-panel.js +1 -1
  14. package/dist/js/components/lightbox-panel.min.js +1 -1
  15. package/dist/js/components/lightbox.js +1 -1
  16. package/dist/js/components/lightbox.min.js +1 -1
  17. package/dist/js/components/notification.js +1 -1
  18. package/dist/js/components/notification.min.js +1 -1
  19. package/dist/js/components/parallax.js +2 -2
  20. package/dist/js/components/parallax.min.js +1 -1
  21. package/dist/js/components/slider-parallax.js +1 -1
  22. package/dist/js/components/slider-parallax.min.js +1 -1
  23. package/dist/js/components/slider.js +1 -1
  24. package/dist/js/components/slider.min.js +1 -1
  25. package/dist/js/components/slideshow-parallax.js +1 -1
  26. package/dist/js/components/slideshow-parallax.min.js +1 -1
  27. package/dist/js/components/slideshow.js +1 -1
  28. package/dist/js/components/slideshow.min.js +1 -1
  29. package/dist/js/components/sortable.js +1 -1
  30. package/dist/js/components/sortable.min.js +1 -1
  31. package/dist/js/components/tooltip.js +15 -5
  32. package/dist/js/components/tooltip.min.js +1 -1
  33. package/dist/js/components/upload.js +1 -1
  34. package/dist/js/components/upload.min.js +1 -1
  35. package/dist/js/uikit-core.js +28 -19
  36. package/dist/js/uikit-core.min.js +1 -1
  37. package/dist/js/uikit-icons.js +1 -1
  38. package/dist/js/uikit-icons.min.js +1 -1
  39. package/dist/js/uikit.js +29 -20
  40. package/dist/js/uikit.min.js +1 -1
  41. package/package.json +1 -1
  42. package/src/js/components/parallax.js +1 -1
  43. package/src/js/mixin/position.js +16 -6
  44. package/src/js/util/position.js +15 -13
  45. package/src/js/util/viewport.js +1 -4
  46. package/src/less/components/drop.less +2 -1
  47. package/src/less/components/dropdown.less +2 -1
  48. package/src/less/components/navbar.less +14 -8
  49. package/src/scss/components/drop.scss +2 -1
  50. package/src/scss/components/dropdown.scss +2 -1
  51. package/src/scss/components/navbar.scss +14 -8
  52. package/src/scss/variables-theme.scss +4 -0
  53. package/src/scss/variables.scss +5 -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.14.2-dev.7f1f28069",
5
+ "version": "3.14.2-dev.854a8e6b0",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -74,7 +74,7 @@ export default {
74
74
  };
75
75
 
76
76
  function ease(percent, easing) {
77
- return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, -easing + 1);
77
+ return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
78
78
  }
79
79
 
80
80
  // SVG elements do not inherit from HTMLElement
@@ -22,12 +22,22 @@ export default {
22
22
  positionAt(element, target, boundary) {
23
23
  const [dir, align] = this.pos;
24
24
 
25
- let offset = toPx(
26
- this.offset === false ? getCssVar('position-offset', element) : this.offset,
27
- this.axis === 'x' ? 'width' : 'height',
28
- element
29
- );
30
- offset = [includes(['left', 'top'], dir) ? -offset : +offset, 0];
25
+ const mainAxisOffset =
26
+ toPx(
27
+ this.offset === false ? getCssVar('position-offset', element) : this.offset,
28
+ this.axis === 'x' ? 'width' : 'height',
29
+ element
30
+ ) * (includes(['left', 'top'], dir) ? -1 : 1);
31
+
32
+ const crossAxisOffset = includes(['center', 'justify'], align)
33
+ ? 0
34
+ : toPx(
35
+ getCssVar('position-shift-offset', element),
36
+ this.axis === 'y' ? 'width' : 'height',
37
+ element
38
+ ) * (includes(['left', 'top'], align) ? 1 : -1);
39
+
40
+ let offset = [mainAxisOffset, crossAxisOffset];
31
41
 
32
42
  const attach = {
33
43
  element: [flipPosition(dir), align],
@@ -143,19 +143,21 @@ function attachToWithFlip(element, target, options) {
143
143
  return false;
144
144
  }
145
145
 
146
- const newPos = attachToWithFlip(element, target, {
147
- ...options,
148
- attach: {
149
- element: elAttach.map(flipDir).reverse(),
150
- target: targetAttach.map(flipDir).reverse(),
151
- },
152
- offset: elOffset.reverse(),
153
- flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
154
- recursion: true,
155
- });
156
-
157
- if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
158
- return newPos;
146
+ if (flip === true || includes(flip, dirs[1 - i][1])) {
147
+ const newPos = attachToWithFlip(element, target, {
148
+ ...options,
149
+ attach: {
150
+ element: elAttach.map(flipDir).reverse(),
151
+ target: targetAttach.map(flipDir).reverse(),
152
+ },
153
+ offset: elOffset.reverse(),
154
+ flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
155
+ recursion: true,
156
+ });
157
+
158
+ if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
159
+ return newPos;
160
+ }
159
161
  }
160
162
  }
161
163
 
@@ -171,10 +171,7 @@ export function offsetViewport(scrollElement) {
171
171
  }
172
172
 
173
173
  function scrollingElement(element) {
174
- const {
175
- document: { scrollingElement },
176
- } = toWindow(element);
177
- return scrollingElement;
174
+ return toWindow(element).document.scrollingElement;
178
175
  }
179
176
 
180
177
  function getViewport(scrollElement) {
@@ -22,6 +22,7 @@
22
22
 
23
23
  @drop-z-index: @global-z-index + 20;
24
24
  @drop-margin: @global-margin;
25
+ @drop-viewport-margin: 15px;
25
26
  @drop-width: 300px;
26
27
 
27
28
 
@@ -42,7 +43,7 @@
42
43
  position: absolute;
43
44
  z-index: @drop-z-index;
44
45
  --uk-position-offset: @drop-margin;
45
- --uk-position-viewport-offset: 10;
46
+ --uk-position-viewport-offset: @drop-viewport-margin;
46
47
  /* 3 */
47
48
  box-sizing: border-box;
48
49
  width: @drop-width;
@@ -22,6 +22,7 @@
22
22
 
23
23
  @dropdown-z-index: @global-z-index + 20;
24
24
  @dropdown-margin: @global-small-margin;
25
+ @dropdown-viewport-margin: 15px;
25
26
  @dropdown-min-width: 200px;
26
27
  @dropdown-padding: 15px;
27
28
  @dropdown-background: @global-muted-background;
@@ -55,7 +56,7 @@
55
56
  position: absolute;
56
57
  z-index: @dropdown-z-index;
57
58
  --uk-position-offset: @dropdown-margin;
58
- --uk-position-viewport-offset: 10;
59
+ --uk-position-viewport-offset: @dropdown-viewport-margin;
59
60
  /* 3 */
60
61
  box-sizing: border-box;
61
62
  min-width: @dropdown-min-width;
@@ -58,7 +58,9 @@
58
58
  @navbar-subtitle-font-size: @global-small-font-size;
59
59
 
60
60
  @navbar-dropdown-z-index: @global-z-index + 20;
61
- @navbar-dropdown-margin: 0px;
61
+ @navbar-dropdown-margin: 0;
62
+ @navbar-dropdown-shift-margin: 0;
63
+ @navbar-dropdown-viewport-margin: 15px;
62
64
  @navbar-dropdown-width: 200px;
63
65
  @navbar-dropdown-padding: 15px;
64
66
  @navbar-dropdown-background: @global-muted-background;
@@ -374,7 +376,8 @@
374
376
  position: absolute;
375
377
  z-index: @navbar-dropdown-z-index;
376
378
  --uk-position-offset: @navbar-dropdown-margin;
377
- --uk-position-viewport-offset: 10;
379
+ --uk-position-shift-offset: @navbar-dropdown-shift-margin;
380
+ --uk-position-viewport-offset: @navbar-dropdown-viewport-margin;
378
381
  /* 3 */
379
382
  box-sizing: border-box;
380
383
  width: @navbar-dropdown-width;
@@ -415,20 +418,23 @@
415
418
 
416
419
  /*
417
420
  * Dropbar modifier
418
- * 1. Set position
419
- * 2. Bottom padding for dropbar
420
- * 3. Horizontal padding
421
+ * 1. Reset dropdown width to prevent to early shifting
422
+ * 2. Set position
423
+ * 3. Bottom padding for dropbar
424
+ * 4. Horizontal padding
421
425
  */
422
426
 
423
427
  .uk-navbar-dropdown-dropbar {
424
428
  /* 1 */
425
- --uk-position-offset: @navbar-dropdown-dropbar-margin-top;
426
- --uk-position-viewport-offset: 0;
429
+ width: auto;
427
430
  /* 2 */
428
- margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
431
+ --uk-position-offset: @navbar-dropdown-dropbar-margin-top;
429
432
  /* 3 */
433
+ margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
434
+ /* 4 */
430
435
  padding-left: @navbar-dropdown-dropbar-padding-horizontal;
431
436
  padding-right: @navbar-dropdown-dropbar-padding-horizontal;
437
+ --uk-position-shift-offset: 0;
432
438
  .hook-navbar-dropdown-dropbar();
433
439
  }
434
440
 
@@ -22,6 +22,7 @@
22
22
 
23
23
  $drop-z-index: $global-z-index + 20 !default;
24
24
  $drop-margin: $global-margin !default;
25
+ $drop-viewport-margin: 15px !default;
25
26
  $drop-width: 300px !default;
26
27
 
27
28
 
@@ -42,7 +43,7 @@ $drop-width: 300px !default;
42
43
  position: absolute;
43
44
  z-index: $drop-z-index;
44
45
  --uk-position-offset: #{$drop-margin};
45
- --uk-position-viewport-offset: 10;
46
+ --uk-position-viewport-offset: #{$drop-viewport-margin};
46
47
  /* 3 */
47
48
  box-sizing: border-box;
48
49
  width: $drop-width;
@@ -22,6 +22,7 @@
22
22
 
23
23
  $dropdown-z-index: $global-z-index + 20 !default;
24
24
  $dropdown-margin: $global-small-margin !default;
25
+ $dropdown-viewport-margin: 15px !default;
25
26
  $dropdown-min-width: 200px !default;
26
27
  $dropdown-padding: 15px !default;
27
28
  $dropdown-background: $global-muted-background !default;
@@ -55,7 +56,7 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
55
56
  position: absolute;
56
57
  z-index: $dropdown-z-index;
57
58
  --uk-position-offset: #{$dropdown-margin};
58
- --uk-position-viewport-offset: 10;
59
+ --uk-position-viewport-offset: #{$dropdown-viewport-margin};
59
60
  /* 3 */
60
61
  box-sizing: border-box;
61
62
  min-width: $dropdown-min-width;
@@ -58,7 +58,9 @@ $navbar-toggle-hover-color: $global-color !default;
58
58
  $navbar-subtitle-font-size: $global-small-font-size !default;
59
59
 
60
60
  $navbar-dropdown-z-index: $global-z-index + 20 !default;
61
- $navbar-dropdown-margin: 0px !default;
61
+ $navbar-dropdown-margin: 0 !default;
62
+ $navbar-dropdown-shift-margin: 0 !default;
63
+ $navbar-dropdown-viewport-margin: 15px !default;
62
64
  $navbar-dropdown-width: 200px !default;
63
65
  $navbar-dropdown-padding: 15px !default;
64
66
  $navbar-dropdown-background: $global-muted-background !default;
@@ -374,7 +376,8 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
374
376
  position: absolute;
375
377
  z-index: $navbar-dropdown-z-index;
376
378
  --uk-position-offset: #{$navbar-dropdown-margin};
377
- --uk-position-viewport-offset: 10;
379
+ --uk-position-shift-offset: #{$navbar-dropdown-shift-margin};
380
+ --uk-position-viewport-offset: #{$navbar-dropdown-viewport-margin};
378
381
  /* 3 */
379
382
  box-sizing: border-box;
380
383
  width: $navbar-dropdown-width;
@@ -415,20 +418,23 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
415
418
 
416
419
  /*
417
420
  * Dropbar modifier
418
- * 1. Set position
419
- * 2. Bottom padding for dropbar
420
- * 3. Horizontal padding
421
+ * 1. Reset dropdown width to prevent to early shifting
422
+ * 2. Set position
423
+ * 3. Bottom padding for dropbar
424
+ * 4. Horizontal padding
421
425
  */
422
426
 
423
427
  .uk-navbar-dropdown-dropbar {
424
428
  /* 1 */
425
- --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
426
- --uk-position-viewport-offset: 0;
429
+ width: auto;
427
430
  /* 2 */
428
- margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
431
+ --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
429
432
  /* 3 */
433
+ margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
434
+ /* 4 */
430
435
  padding-left: $navbar-dropdown-dropbar-padding-horizontal;
431
436
  padding-right: $navbar-dropdown-dropbar-padding-horizontal;
437
+ --uk-position-shift-offset: 0;
432
438
  @if(mixin-exists(hook-navbar-dropdown-dropbar)) {@include hook-navbar-dropdown-dropbar();}
433
439
  }
434
440
 
@@ -367,9 +367,11 @@ $inverse-dotnav-item-active-background: rgba($inverse-global-color, 0.9) !defaul
367
367
  $global-z-index: 1000 !default;
368
368
  $drop-z-index: $global-z-index + 20 !default;
369
369
  $drop-margin: $global-margin !default;
370
+ $drop-viewport-margin: 15px !default;
370
371
  $drop-width: 300px !default;
371
372
  $dropdown-z-index: $global-z-index + 20 !default;
372
373
  $dropdown-margin: $global-small-margin !default;
374
+ $dropdown-viewport-margin: 15px !default;
373
375
  $dropdown-min-width: 200px !default;
374
376
  $dropdown-padding: 25px !default;
375
377
  $dropdown-background: $global-background !default;
@@ -745,6 +747,8 @@ $navbar-toggle-hover-color: $global-color !default;
745
747
  $navbar-subtitle-font-size: $global-small-font-size !default;
746
748
  $navbar-dropdown-z-index: $global-z-index + 20 !default;
747
749
  $navbar-dropdown-margin: 15px !default;
750
+ $navbar-dropdown-shift-margin: 0 !default;
751
+ $navbar-dropdown-viewport-margin: 15px !default;
748
752
  $navbar-dropdown-width: 200px !default;
749
753
  $navbar-dropdown-padding: 25px !default;
750
754
  $navbar-dropdown-background: $global-background !default;
@@ -366,9 +366,11 @@ $inverse-dotnav-item-active-background: rgba($inverse-global-color, 0.9) !defaul
366
366
  $global-z-index: 1000 !default;
367
367
  $drop-z-index: $global-z-index + 20 !default;
368
368
  $drop-margin: $global-margin !default;
369
+ $drop-viewport-margin: 15px !default;
369
370
  $drop-width: 300px !default;
370
371
  $dropdown-z-index: $global-z-index + 20 !default;
371
372
  $dropdown-margin: $global-small-margin !default;
373
+ $dropdown-viewport-margin: 15px !default;
372
374
  $dropdown-min-width: 200px !default;
373
375
  $dropdown-padding: 15px !default;
374
376
  $dropdown-background: $global-muted-background !default;
@@ -742,7 +744,9 @@ $navbar-toggle-color: $global-muted-color !default;
742
744
  $navbar-toggle-hover-color: $global-color !default;
743
745
  $navbar-subtitle-font-size: $global-small-font-size !default;
744
746
  $navbar-dropdown-z-index: $global-z-index + 20 !default;
745
- $navbar-dropdown-margin: 0px !default;
747
+ $navbar-dropdown-margin: 0 !default;
748
+ $navbar-dropdown-shift-margin: 0 !default;
749
+ $navbar-dropdown-viewport-margin: 15px !default;
746
750
  $navbar-dropdown-width: 200px !default;
747
751
  $navbar-dropdown-padding: 15px !default;
748
752
  $navbar-dropdown-background: $global-muted-background !default;