uikit 3.13.9 → 3.13.11-dev.98491b3f4

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 (90) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/build/build.js +4 -1
  3. package/dist/css/uikit-core-rtl.css +41 -6
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +41 -6
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +41 -4
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +41 -4
  10. package/dist/css/uikit.min.css +1 -1
  11. package/dist/js/components/countdown.js +1 -1
  12. package/dist/js/components/countdown.min.js +1 -1
  13. package/dist/js/components/filter.js +1 -1
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +7 -3
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +7 -3
  18. package/dist/js/components/lightbox.min.js +1 -1
  19. package/dist/js/components/notification.js +1 -1
  20. package/dist/js/components/notification.min.js +1 -1
  21. package/dist/js/components/parallax.js +18 -11
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +18 -11
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +1 -1
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +18 -11
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +1 -1
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +2 -2
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +62 -30
  34. package/dist/js/components/tooltip.min.js +1 -1
  35. package/dist/js/components/upload.js +1 -1
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +328 -260
  38. package/dist/js/uikit-core.min.js +1 -1
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +1 -1
  41. package/dist/js/uikit.js +371 -266
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +1 -1
  44. package/src/js/components/sortable.js +2 -3
  45. package/src/js/components/tooltip.js +38 -3
  46. package/src/js/core/drop.js +20 -16
  47. package/src/js/core/navbar.js +18 -6
  48. package/src/js/core/scrollspy-nav.js +4 -9
  49. package/src/js/core/sticky.js +28 -16
  50. package/src/js/core/toggle.js +8 -8
  51. package/src/js/mixin/media.js +12 -9
  52. package/src/js/mixin/modal.js +6 -2
  53. package/src/js/mixin/parallax.js +5 -1
  54. package/src/js/mixin/position.js +24 -24
  55. package/src/js/uikit-core.js +0 -4
  56. package/src/js/util/lang.js +0 -4
  57. package/src/js/util/position.js +180 -125
  58. package/src/js/util/viewport.js +42 -22
  59. package/src/less/components/drop.less +0 -1
  60. package/src/less/components/dropdown.less +11 -1
  61. package/src/less/components/icon.less +3 -0
  62. package/src/less/components/nav.less +22 -0
  63. package/src/less/components/navbar.less +26 -2
  64. package/src/less/components/search.less +2 -0
  65. package/src/less/theme/dropdown.less +4 -0
  66. package/src/less/theme/nav.less +6 -0
  67. package/src/less/theme/navbar.less +4 -0
  68. package/src/less/theme/search.less +6 -0
  69. package/src/scss/components/drop.scss +0 -1
  70. package/src/scss/components/dropdown.scss +11 -1
  71. package/src/scss/components/icon.scss +3 -0
  72. package/src/scss/components/nav.scss +22 -0
  73. package/src/scss/components/navbar.scss +26 -2
  74. package/src/scss/components/search.scss +2 -0
  75. package/src/scss/mixins-theme.scss +5 -0
  76. package/src/scss/mixins.scss +5 -0
  77. package/src/scss/theme/dropdown.scss +4 -0
  78. package/src/scss/theme/nav.scss +6 -0
  79. package/src/scss/theme/navbar.scss +4 -0
  80. package/src/scss/theme/search.scss +6 -0
  81. package/src/scss/variables-theme.scss +5 -1
  82. package/src/scss/variables.scss +5 -1
  83. package/tests/animation.html +216 -214
  84. package/tests/dropdown.html +16 -2
  85. package/tests/nav.html +27 -0
  86. package/tests/navbar.html +55 -4
  87. package/tests/position.html +38 -39
  88. package/tests/sticky-parallax.html +16 -0
  89. package/tests/sticky.html +212 -36
  90. package/src/js/core/core.js +0 -25
package/tests/navbar.html CHANGED
@@ -26,7 +26,7 @@
26
26
  <h1>Navbar</h1>
27
27
 
28
28
  <div uk-grid>
29
- <div class="uk-width-2-3@m">
29
+ <div class="uk-width-1-2@m">
30
30
 
31
31
  <nav class="uk-navbar-container uk-margin" uk-navbar>
32
32
  <div class="uk-navbar-left">
@@ -103,7 +103,7 @@
103
103
  <h2>Transparent</h2>
104
104
 
105
105
  <div class="uk-margin uk-position-relative uk-light">
106
- <canvas class="uk-background-cover" style="background-image: url('images/dark.jpg')" width="1000" height="200"></canvas>
106
+ <canvas class="uk-background-cover" style="background-image: url('images/dark.jpg')" width="1000" height="300"></canvas>
107
107
  <div class="uk-position-top">
108
108
  <nav class="uk-navbar-container uk-navbar-transparent" uk-navbar>
109
109
  <div class="uk-navbar-left">
@@ -144,7 +144,7 @@
144
144
  </div>
145
145
 
146
146
  <div class="uk-margin uk-position-relative uk-dark">
147
- <canvas class="uk-background-cover" style="background-image: url('images/light.jpg')" width="1000" height="200"></canvas>
147
+ <canvas class="uk-background-cover" style="background-image: url('images/light.jpg')" width="1000" height="300"></canvas>
148
148
  <div class="uk-position-top">
149
149
  <nav class="uk-navbar-container uk-navbar-transparent" uk-navbar>
150
150
  <div class="uk-navbar-left">
@@ -185,7 +185,7 @@
185
185
  </div>
186
186
 
187
187
  </div>
188
- <div class="uk-width-1-3@m">
188
+ <div class="uk-width-1-4@m">
189
189
 
190
190
  <div class="uk-navbar-dropdown test">
191
191
 
@@ -220,6 +220,20 @@
220
220
  </div>
221
221
 
222
222
  </div>
223
+ <div class="uk-width-1-4@m">
224
+
225
+ <div class="uk-navbar-dropdown test">
226
+
227
+ <ul class="uk-nav uk-navbar-dropdown-nav">
228
+ <li class="uk-active"><a href="#"><div>Active<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
229
+ <li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
230
+ <li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
231
+ <li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
232
+ </ul>
233
+
234
+ </div>
235
+
236
+ </div>
223
237
  </div>
224
238
 
225
239
  <h2>Dropdown</h2>
@@ -1707,6 +1721,43 @@
1707
1721
  </div>
1708
1722
  </nav>
1709
1723
 
1724
+ <h2>Justify</h2>
1725
+
1726
+ <nav class="uk-navbar-container uk-margin">
1727
+ <div class="uk-navbar-justify" uk-navbar>
1728
+ <div class="uk-navbar-left">
1729
+
1730
+ <a class="uk-navbar-item uk-logo" href="#">Logo</a>
1731
+
1732
+ <ul class="uk-navbar-nav">
1733
+ <li class="uk-active"><a href="#">Active</a></li>
1734
+ <li><a href="#">Parent</a></li>
1735
+ <li><a href="#">Item</a></li>
1736
+ <li><a href="#">Item</a></li>
1737
+ </ul>
1738
+
1739
+ </div>
1740
+ <div class="uk-navbar-right">
1741
+
1742
+ <ul class="uk-navbar-nav">
1743
+ <li><a href="#">Item</a></li>
1744
+ </ul>
1745
+
1746
+ <div class="uk-navbar-item">
1747
+ <ul class="uk-grid-small" uk-grid>
1748
+ <li>
1749
+ <a class="uk-icon-button" href="#" uk-icon="icon: trash"></a>
1750
+ </li>
1751
+ <li>
1752
+ <a class="uk-icon-button" href="#" uk-icon="icon: trash"></a>
1753
+ </li>
1754
+ </ul>
1755
+ </div>
1756
+
1757
+ </div>
1758
+ </div>
1759
+ </nav>
1760
+
1710
1761
  <h2>Layouts</h2>
1711
1762
 
1712
1763
  </div>
@@ -9,7 +9,7 @@
9
9
  <style>
10
10
 
11
11
  /* JavaScript */
12
- #js-boundary {
12
+ #js-viewport {
13
13
  height: 300px;
14
14
  outline: 1px solid rgba(0,0,0,0.1);
15
15
  position: relative;
@@ -26,7 +26,6 @@
26
26
 
27
27
  #js-element {
28
28
  position: absolute;
29
- display: none;
30
29
  width: 75px;
31
30
  height: 75px;
32
31
  background: rgba(0,0,0,0.1);
@@ -238,13 +237,13 @@
238
237
 
239
238
  <h2>JavaScript</h2>
240
239
 
241
- <div id="js-boundary" class="uk-margin">
240
+ <div id="js-viewport" class="uk-margin">
242
241
  <div id="js-target" class="uk-flex uk-flex-center uk-flex-middle" draggable="true">Drag me!</div>
243
242
  </div>
244
243
 
245
244
  <div id="js-element"></div>
246
245
 
247
- <div class="uk-grid uk-child-width-auto uk-form-stacked">
246
+ <div class="uk-grid uk-child-width-auto uk-form-stacked" style="margin-bottom: 100vh">
248
247
  <div>
249
248
 
250
249
  <div class="uk-margin">
@@ -327,27 +326,26 @@
327
326
 
328
327
  <script>
329
328
 
330
- var util = UIkit.util,
331
- $ = util.$,
332
- on = util.on,
333
- offset = util.offset,
334
- ticking,
335
- element = $('#js-element'),
336
- boundary = $('#js-boundary'),
337
- target = $('#js-target'),
338
- offsetX,
339
- offsetY;
329
+ const {$, $$, css, getEventPos, on, offset, positionAt} = UIkit.util;
330
+ let viewport = $('#js-viewport');
331
+ let element = $('#js-element');
332
+ let target = $('#js-target');
333
+ let offsetX;
334
+ let offsetY;
340
335
 
341
336
  function position() {
342
- util.positionAt(
337
+ positionAt(
343
338
  element,
344
339
  target,
345
- $('#js-element_x').value + ' ' + $('#js-element_y').value,
346
- $('#js-target_x').value + ' ' + $('#js-target_y').value,
347
- $('#js-offset_x').value + ' ' + $('#js-offset_y').value,
348
- null,
349
- $('#js-flip_x').value + $('#js-flip_y').value,
350
- boundary
340
+ {
341
+ viewport,
342
+ attach:{
343
+ element: [$('#js-element_x').value, $('#js-element_y').value],
344
+ target: [$('#js-target_x').value, $('#js-target_y').value]
345
+ },
346
+ offset: [$('#js-offset_x').value, $('#js-offset_y').value],
347
+ flip: [$('#js-flip_x').value, $('#js-flip_y').value]
348
+ }
351
349
  );
352
350
  }
353
351
 
@@ -359,33 +357,34 @@
359
357
 
360
358
  });
361
359
 
360
+ let lastPos;
362
361
  on(window, 'dragover', function (e) {
363
362
 
364
- e.preventDefault();
365
-
366
- if (!ticking) {
367
- requestAnimationFrame(function () {
363
+ const pos = getEventPos(e);
368
364
 
369
- util.positionAt(
370
- target,
371
- boundary,
372
- 'left top',
373
- 'left top',
374
- (e.pageX - offset(boundary).left - offsetX) + ' ' + (e.pageY - offset(boundary).top - offsetY)
375
- );
365
+ if (lastPos?.x === pos.x && lastPos?.y === pos.y) {
366
+ return;
367
+ }
368
+ lastPos = pos;
376
369
 
377
- position();
370
+ e.preventDefault();
378
371
 
379
- ticking = false;
380
- });
381
- ticking = true;
382
- }
372
+ // positions target at mouse cursor
373
+ positionAt(
374
+ target,
375
+ viewport,
376
+ {
377
+ offset: [e.pageX - offset(viewport).left - offsetX, e.pageY - offset(viewport).top - offsetY]
378
+ }
379
+ );
383
380
 
381
+ // positions element at target
382
+ position();
384
383
  });
385
384
 
386
- util.$$('select,input').forEach(el => on(el, 'change', position));
385
+ on($$('select,input'), 'change', position);
386
+ on(window, 'scroll', position);
387
387
 
388
- util.css(element, 'display', 'block');
389
388
  position();
390
389
 
391
390
  </script>
@@ -258,5 +258,21 @@
258
258
 
259
259
  </div>
260
260
 
261
+ <div class="uk-section uk-section-muted uk-section-xlarge uk-flex uk-flex-center uk-flex-middle uk-text-center">
262
+ <div class="uk-container">
263
+
264
+ <h1 class="uk-heading-2xlarge">Reveal Following Section</h1>
265
+
266
+ </div>
267
+ </div>
268
+
269
+ <div class="uk-section uk-section-primary uk-section-xlarge uk-flex uk-flex-center uk-flex-middle uk-text-center uk-position-z-index-negative" uk-sticky="position: bottom; top: -100%; bottom: body">
270
+ <div class="uk-container">
271
+
272
+ <h1 class="uk-heading-2xlarge">Sticky Section</h1>
273
+
274
+ </div>
275
+ </div>
276
+
261
277
  </body>
262
278
  </html>
package/tests/sticky.html CHANGED
@@ -8,7 +8,10 @@
8
8
  <script src="js/test.js"></script>
9
9
  <style>
10
10
 
11
- .viewport { border: 1px dashed rgba(0,0,0,0.2); }
11
+ .container {
12
+ height: 500px;
13
+ border: 1px dashed rgba(0,0,0,0.2);
14
+ }
12
15
 
13
16
  </style>
14
17
  </head>
@@ -19,65 +22,238 @@
19
22
 
20
23
  <h1>Sticky</h1>
21
24
 
22
- <div class="uk-grid">
23
- <div class="uk-width-5-6">
24
- <div class="viewport uk-margin">
25
- <div class="uk-grid uk-child-width-1-6" uk-height-viewport="offset-top: true">
26
- <div>
25
+ <h2>Position</h2>
27
26
 
28
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="offset: 50; bottom: !.viewport">Stick to container; 50px offset</div>
27
+ <div class="container uk-margin">
28
+ <div class="uk-grid uk-grid-small uk-child-width-1-4">
29
+ <div>
29
30
 
30
- </div>
31
- <div>
31
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="bottom: !.container">
32
+ position: top<br>
33
+ end: !.container
34
+ </div>
35
+
36
+ </div>
37
+ <div>
38
+
39
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="position: bottom; bottom: !.container">
40
+ position: bottom<br>
41
+ end: !.container
42
+ </div>
43
+
44
+ </div>
45
+ <div>
46
+
47
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="position: auto; bottom: !.container">
48
+ position: auto<br>
49
+ end: !.container
50
+ </div>
51
+
52
+ </div>
53
+ <div>
54
+
55
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="position: auto; bottom: !.container" style="height: 600px">
56
+ position: auto<br>
57
+ end: !.container
58
+ </div>
59
+
60
+ </div>
61
+ </div>
62
+ </div>
63
+
64
+ <h2>Start and End</h2>
65
+
66
+ <div class="container uk-margin">
67
+ <div class="uk-grid uk-grid-small uk-child-width-1-4">
68
+ <div>
69
+
70
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: 50; bottom: !.container">
71
+ start: 50<br>
72
+ end: !.container
73
+ </div>
74
+
75
+ </div>
76
+ <div>
32
77
 
33
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="top: 50vh; target-offset: 10">Sticky after 50vh; Scroll up if initially above paragraph below</div>
78
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: 50%; bottom: !.container">
79
+ start: 50%<br>
80
+ end: !.container
81
+ </div>
82
+
83
+ </div>
84
+ <div>
34
85
 
35
- </div>
36
- <div>
86
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: 10vh; bottom: 30vh">
87
+ start: 10vh<br>
88
+ end: 30vh
89
+ </div>
37
90
 
38
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="top: !.viewport; animation: uk-animation-slide-top">Stick below container; animation</div>
91
+ </div>
92
+ <div>
39
93
 
40
- </div>
41
- <div>
94
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: 50; bottom: 200">
95
+ top: 50<br>
96
+ end: 200
97
+ </div>
42
98
 
43
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="bottom: #hash">Stick until next paragraph</div>
99
+ </div>
100
+ </div>
101
+ </div>
44
102
 
45
- </div>
46
- <div>
103
+ <h2>Offset</h2>
47
104
 
48
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="show-on-up: true; animation: uk-animation-slide-top">Sticky on scroll up; animation</div>
105
+ <div class="container uk-margin">
106
+ <div class="uk-grid uk-grid-small uk-child-width-1-4">
107
+ <div>
49
108
 
50
- </div>
51
- <div>
109
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="offset: 50; bottom: !.container">
110
+ offset: 50<br>
111
+ bottom: !.container
112
+ </div>
52
113
 
53
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="top: 300; animation: uk-animation-slide-top; media: 640">Sticky after 300px scrolling; @media 640px</div>
114
+ </div>
115
+ <div>
54
116
 
55
- </div>
117
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="offset: 50%; bottom: !.container">
118
+ offset: 50%<br>
119
+ bottom: !.container
56
120
  </div>
121
+
57
122
  </div>
123
+ <div>
58
124
 
59
- <p id="hash" class="uk-margin-large">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
125
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="offset: 50vh; bottom: !.container">
126
+ offset: 50vh<br>
127
+ bottom: !.container
128
+ </div>
129
+
130
+ </div>
131
+ </div>
132
+ </div>
133
+
134
+ <h2>Target Offset, Animation, Show On Up and Media</h2>
135
+
136
+ <div class="container uk-margin">
137
+ <div class="uk-grid uk-grid-small uk-child-width-1-4">
138
+ <div>
139
+
140
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: 50vh; target-offset: 10; bottom: !.container ~ h2">
141
+ start: 50vh<br>
142
+ target-offset: 10<br>
143
+ end: !.container ~ h2
144
+ </div>
145
+
146
+ </div>
147
+ <div>
60
148
 
61
- <div class="viewport uk-margin">
62
- <div class="uk-grid uk-child-width-1-6" uk-height-viewport>
63
- <div>
149
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: !.container; bottom: !.container ~ h2; animation: uk-animation-slide-top">
150
+ start: !.container<br>
151
+ end: !.container ~ h2<br>
152
+ animation: uk-animation-slide-top
153
+ </div>
64
154
 
65
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="position: bottom; bottom: !.viewport">Sticky bottom</div>
155
+ </div>
156
+ <div>
66
157
 
67
- </div>
158
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="bottom: !.container + .paragraph; show-on-up: true; animation: uk-animation-slide-top">
159
+ end: !.container + .paragraph<br>
160
+ show-on-up: true<br>
161
+ animation: uk-animation-slide-top
68
162
  </div>
163
+
69
164
  </div>
165
+ <div>
70
166
 
167
+ <div class="uk-card uk-card-primary uk-card-body uk-card-small" uk-sticky="top: 300; bottom: !.container + .paragraph; animation: uk-animation-slide-top; media: 640">
168
+ start: 300<br>
169
+ end: !.container + .paragraph<br>
170
+ animation: uk-animation-slide-top<br>
171
+ media: 640
172
+ </div>
173
+
174
+ </div>
71
175
  </div>
72
- <div class="uk-width-1-6">
73
- <div class="viewport" style="min-height: 200vh;">
74
- <div>
75
- <div class="uk-card uk-card-primary uk-card-body" uk-sticky="bottom: !.viewport">
76
- <p>Oversized Content</p>
176
+ </div>
177
+
178
+ <p class="paragraph uk-margin-large-top">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
179
+
180
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
181
+
182
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
183
+
184
+ <p class="uk-margin-large-bottom">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
185
+
186
+ <h2>Oversized Content</h2>
187
+
188
+ <div class="uk-margin">
189
+ <div class="uk-grid">
190
+ <div class="uk-width-1-4">
191
+
192
+ <div class="uk-card uk-card-primary uk-card-body" uk-sticky="bottom: !.uk-grid">
193
+
194
+ <h3>Heading 1</h3>
195
+
196
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
197
+
198
+ <h3>Heading 2</h3>
199
+
200
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
201
+
202
+ <h3>Heading 3</h3>
203
+
204
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
77
205
 
78
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p>
79
- </div>
80
206
  </div>
207
+
208
+ </div>
209
+ <div class="uk-width-3-4">
210
+
211
+ <h2>Heading 1</h2>
212
+
213
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
214
+
215
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
216
+
217
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
218
+
219
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
220
+
221
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
222
+
223
+ <h2>Heading 2</h2>
224
+
225
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
226
+
227
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
228
+
229
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
230
+
231
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
232
+
233
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
234
+
235
+ <h2>Heading 3</h2>
236
+
237
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
238
+
239
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
240
+
241
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
242
+
243
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
244
+
245
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
246
+
247
+ <h2>Heading 4</h2>
248
+
249
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
250
+
251
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
252
+
253
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
254
+
255
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
256
+
81
257
  </div>
82
258
  </div>
83
259
  </div>
@@ -1,25 +0,0 @@
1
- import { css, inBrowser, on, toMs } from 'uikit-util';
2
-
3
- export default function () {
4
- if (!inBrowser) {
5
- return;
6
- }
7
-
8
- let started = 0;
9
- on(
10
- document,
11
- 'animationstart',
12
- ({ target }) => {
13
- if ((css(target, 'animationName') || '').match(/^uk-.*(left|right)/)) {
14
- started++;
15
- css(document.documentElement, 'overflowX', 'hidden');
16
- setTimeout(() => {
17
- if (!--started) {
18
- css(document.documentElement, 'overflowX', '');
19
- }
20
- }, toMs(css(target, 'animationDuration')) + 100);
21
- }
22
- },
23
- true
24
- );
25
- }