uikit 3.14.3 → 3.14.4-dev.07daf8fb8

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 (145) hide show
  1. package/CHANGELOG.md +54 -3
  2. package/build/util.js +1 -0
  3. package/dist/css/uikit-core-rtl.css +428 -95
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +428 -95
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +444 -108
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +444 -108
  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 +7 -5
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +203 -76
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +203 -76
  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 +4 -5
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +4 -5
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +22 -7
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +4 -5
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +22 -7
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +3 -3
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +138 -76
  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 +1801 -1573
  38. package/dist/js/uikit-core.min.js +14 -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 +1081 -836
  42. package/dist/js/uikit.min.js +14 -1
  43. package/package.json +1 -1
  44. package/src/images/{backgrounds/nav-parent-open.svg → components/nav-parent-icon-large.svg} +0 -0
  45. package/src/images/components/nav-parent-icon.svg +3 -0
  46. package/src/images/components/navbar-parent-icon.svg +3 -0
  47. package/src/images/components/navbar-toggle-icon.svg +22 -3
  48. package/src/js/api/state.js +2 -2
  49. package/src/js/components/filter.js +5 -3
  50. package/src/js/components/sortable.js +2 -3
  51. package/src/js/core/accordion.js +9 -17
  52. package/src/js/core/alert.js +35 -14
  53. package/src/js/core/drop.js +102 -48
  54. package/src/js/core/height-viewport.js +22 -9
  55. package/src/js/core/icon.js +16 -0
  56. package/src/js/core/index.js +2 -0
  57. package/src/js/core/leader.js +2 -2
  58. package/src/js/core/navbar.js +47 -33
  59. package/src/js/core/offcanvas.js +1 -47
  60. package/src/js/core/scroll.js +37 -10
  61. package/src/js/core/sticky.js +8 -9
  62. package/src/js/core/switcher.js +1 -1
  63. package/src/js/mixin/media.js +4 -5
  64. package/src/js/mixin/modal.js +97 -8
  65. package/src/js/mixin/position.js +59 -14
  66. package/src/js/mixin/slider-drag.js +20 -8
  67. package/src/js/mixin/style.js +11 -0
  68. package/src/js/mixin/togglable.js +100 -72
  69. package/src/js/util/animation.js +5 -3
  70. package/src/js/util/dimensions.js +6 -6
  71. package/src/js/util/filter.js +3 -7
  72. package/src/js/util/position.js +43 -47
  73. package/src/js/util/style.js +4 -13
  74. package/src/js/util/viewport.js +21 -37
  75. package/src/less/components/_import.less +1 -0
  76. package/src/less/components/drop.less +3 -6
  77. package/src/less/components/dropbar.less +115 -0
  78. package/src/less/components/dropdown.less +22 -6
  79. package/src/less/components/leader.less +1 -1
  80. package/src/less/components/margin.less +13 -14
  81. package/src/less/components/modal.less +19 -4
  82. package/src/less/components/nav.less +241 -64
  83. package/src/less/components/navbar.less +111 -35
  84. package/src/less/components/offcanvas.less +21 -21
  85. package/src/less/components/position.less +1 -1
  86. package/src/less/components/utility.less +21 -5
  87. package/src/less/theme/_import.less +1 -0
  88. package/src/less/theme/dropbar.less +44 -0
  89. package/src/less/theme/nav.less +43 -9
  90. package/src/less/theme/navbar.less +9 -15
  91. package/src/scss/components/_import.scss +1 -0
  92. package/src/scss/components/drop.scss +3 -6
  93. package/src/scss/components/dropbar.scss +115 -0
  94. package/src/scss/components/dropdown.scss +22 -6
  95. package/src/scss/components/leader.scss +1 -1
  96. package/src/scss/components/margin.scss +13 -14
  97. package/src/scss/components/modal.scss +19 -4
  98. package/src/scss/components/nav.scss +190 -52
  99. package/src/scss/components/navbar.scss +88 -24
  100. package/src/scss/components/offcanvas.scss +21 -21
  101. package/src/scss/components/position.scss +1 -1
  102. package/src/scss/components/utility.scss +19 -4
  103. package/src/scss/mixins-theme.scss +93 -29
  104. package/src/scss/mixins.scss +89 -15
  105. package/src/scss/theme/_import.scss +1 -0
  106. package/src/scss/theme/dropbar.scss +44 -0
  107. package/src/scss/theme/nav.scss +41 -9
  108. package/src/scss/theme/navbar.scss +9 -3
  109. package/src/scss/variables-theme.scss +93 -25
  110. package/src/scss/variables.scss +82 -23
  111. package/tests/accordion.html +2 -2
  112. package/tests/alert.html +2 -2
  113. package/tests/countdown.html +1 -1
  114. package/tests/drop.html +484 -255
  115. package/tests/dropbar.html +456 -0
  116. package/tests/dropdown.html +29 -189
  117. package/tests/filter.html +9 -12
  118. package/tests/form.html +1 -1
  119. package/tests/height-viewport.html +62 -0
  120. package/tests/index.html +126 -107
  121. package/tests/js/index.js +1 -4
  122. package/tests/lightbox.html +5 -5
  123. package/tests/list.html +8 -8
  124. package/tests/modal.html +13 -13
  125. package/tests/nav.html +117 -75
  126. package/tests/navbar.html +2270 -1104
  127. package/tests/offcanvas.html +25 -29
  128. package/tests/parallax.html +1 -1
  129. package/tests/position.html +13 -24
  130. package/tests/progress.html +9 -9
  131. package/tests/scroll.html +7 -10
  132. package/tests/search.html +5 -5
  133. package/tests/slider.html +6 -5
  134. package/tests/slideshow.html +8 -8
  135. package/tests/sortable.html +6 -8
  136. package/tests/sticky-navbar.html +132 -0
  137. package/tests/sticky.html +8 -8
  138. package/tests/switcher.html +1 -1
  139. package/tests/tab.html +1 -1
  140. package/tests/table.html +7 -7
  141. package/tests/toggle.html +2 -2
  142. package/tests/tooltip.html +1 -1
  143. package/tests/upload.html +11 -11
  144. package/tests/utility.html +19 -0
  145. package/src/images/backgrounds/nav-parent-close.svg +0 -3
@@ -14,6 +14,13 @@
14
14
  width: 100%;
15
15
  }
16
16
 
17
+ .scroll-container {
18
+ padding: 15px;
19
+ border: 1px dashed rgba(0,0,0,0.2);
20
+ overflow: auto;
21
+ -webkit-overflow-scrolling: touch;
22
+ }
23
+
17
24
  </style>
18
25
  </head>
19
26
 
@@ -23,6 +30,13 @@
23
30
 
24
31
  <h1>Dropdown</h1>
25
32
 
33
+ <div class="uk-margin">
34
+ <select id="js-size-switcher" class="uk-select uk-form-width-small">
35
+ <option value="">Default</option>
36
+ <option value="uk-dropdown-large">Large</option>
37
+ </select>
38
+ </div>
39
+
26
40
  <div uk-grid>
27
41
  <div class="uk-width-1-4@m">
28
42
 
@@ -63,7 +77,7 @@
63
77
 
64
78
  <div class="uk-dropdown test">
65
79
 
66
- <ul class="uk-nav uk-dropdown-nav">
80
+ <ul class="uk-nav uk-nav-secondary">
67
81
  <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>
68
82
  <li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
69
83
  <li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing.</div></div></a></li>
@@ -77,59 +91,6 @@
77
91
 
78
92
  <div class="uk-margin" uk-margin>
79
93
 
80
- <div class="uk-inline">
81
- <button class="uk-button uk-button-default" type="button">Hover</button>
82
- <div uk-dropdown>
83
- <ul class="uk-nav uk-dropdown-nav">
84
- <li class="uk-active"><a href="#">Active</a></li>
85
- <li class="uk-parent">
86
- <a href="#">Parent</a>
87
- <ul class="uk-nav-sub">
88
- <li><a href="#">Sub item</a></li>
89
- <li><a href="#">Sub item</a></li>
90
- </ul>
91
- </li>
92
- <li class="uk-nav-header">Header</li>
93
- <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: table"></span> Item</a></li>
94
- <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: thumbnails"></span> Item</a></li>
95
- <li class="uk-nav-divider"></li>
96
- <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
97
- </ul>
98
- </div>
99
- </div>
100
-
101
- <div class="uk-inline">
102
- <button class="uk-button uk-button-default" type="button">Click</button>
103
- <div uk-dropdown="mode: click">
104
- <ul class="uk-nav uk-dropdown-nav">
105
- <li class="uk-active"><a href="#">Active</a></li>
106
- <li class="uk-parent">
107
- <a href="#">Parent</a>
108
- <ul class="uk-nav-sub">
109
- <li><a href="#">Sub item</a></li>
110
- <li><a href="#">Sub item</a></li>
111
- </ul>
112
- </li>
113
- <li class="uk-nav-header">Header</li>
114
- <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: table"></span> Item</a></li>
115
- <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: thumbnails"></span> Item</a></li>
116
- <li class="uk-nav-divider"></li>
117
- <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
118
- </ul>
119
- </div>
120
- </div>
121
-
122
- <div class="uk-inline">
123
- <button class="uk-button uk-button-default" type="button" disabled>Disabled</button>
124
- <div uk-dropdown="mode: click">
125
- <ul class="uk-nav uk-dropdown-nav">
126
- <li class="uk-active"><a href="#">Active</a></li>
127
- <li><a href="#">Item</a></li>
128
- <li><a href="#">Item</a></li>
129
- </ul>
130
- </div>
131
- </div>
132
-
133
94
  <div class="uk-inline">
134
95
  <button class="uk-button uk-button-default" type="button">Scrollable</button>
135
96
  <div class="uk-overflow-auto uk-height-medium" uk-dropdown>
@@ -151,30 +112,6 @@
151
112
  </div>
152
113
  </div>
153
114
 
154
- <div class="uk-inline">
155
- <button class="uk-button uk-button-default" type="button">Hover only</button>
156
- <div uk-dropdown="mode: hover; delay-hide: 0">
157
- <ul class="uk-nav uk-dropdown-nav">
158
- <li class="uk-active"><a href="#">Active</a></li>
159
- <li><a href="#">Item</a></li>
160
- <li><a href="#">Item</a></li>
161
- </ul>
162
- </div>
163
- </div>
164
-
165
- <div class="uk-inline">
166
- <button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button>
167
- <button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button>
168
- <button class="uk-button uk-button-default" type="button">Target</button>
169
- <div uk-dropdown>
170
- <ul class="uk-nav uk-dropdown-nav">
171
- <li class="uk-active"><a href="#">Active</a></li>
172
- <li><a href="#">Item</a></li>
173
- <li><a href="#">Item</a></li>
174
- </ul>
175
- </div>
176
- </div>
177
-
178
115
  </div>
179
116
 
180
117
  <h2>Position</h2>
@@ -214,17 +151,6 @@
214
151
  </div>
215
152
  </div>
216
153
 
217
- <div class="uk-inline">
218
- <button class="uk-button uk-button-default" type="button">Bottom Justify</button>
219
- <div uk-dropdown="pos: bottom-justify">
220
- <ul class="uk-nav uk-dropdown-nav">
221
- <li class="uk-active"><a href="#">Active</a></li>
222
- <li><a href="#">Item</a></li>
223
- <li><a href="#">Item</a></li>
224
- </ul>
225
- </div>
226
- </div>
227
-
228
154
  </div>
229
155
 
230
156
  <div class="uk-margin" uk-margin>
@@ -262,17 +188,6 @@
262
188
  </div>
263
189
  </div>
264
190
 
265
- <div class="uk-inline">
266
- <button class="uk-button uk-button-default" type="button">Top Justify</button>
267
- <div uk-dropdown="pos: top-justify">
268
- <ul class="uk-nav uk-dropdown-nav">
269
- <li class="uk-active"><a href="#">Active</a></li>
270
- <li><a href="#">Item</a></li>
271
- <li><a href="#">Item</a></li>
272
- </ul>
273
- </div>
274
- </div>
275
-
276
191
  </div>
277
192
 
278
193
  <div class="uk-margin" uk-margin>
@@ -352,96 +267,21 @@
352
267
  </div>
353
268
  </div>
354
269
 
355
- <h2>JavaScript Options</h2>
356
-
357
- <div class="uk-overflow-auto">
358
- <table class="uk-table uk-table-striped">
359
- <thead>
360
- <tr>
361
- <th>Option</th>
362
- <th>Value</th>
363
- <th>Default</th>
364
- <th>Description</th>
365
- </tr>
366
- </thead>
367
- <tbody>
368
- <tr>
369
- <td><code>toggle</code></td>
370
- <td>String, Boolean</td>
371
- <td>'- *'</td>
372
- <td>CSS selector for the element to be used as toggle. By default, the preceding element is used.</td>
373
- </tr>
374
- <tr>
375
- <td><code>pos</code></td>
376
- <td>String</td>
377
- <td>'bottom-left'</td>
378
- <td>Dropdown position.</td>
379
- </tr>
380
- <tr>
381
- <td><code>mode</code></td>
382
- <td>hover | click</td>
383
- <td>click,hover</td>
384
- <td>Comma separated list of dropdown trigger behaviour modes.</td>
385
- </tr>
386
- <tr>
387
- <td><code>delay-show</code></td>
388
- <td>Number</td>
389
- <td>0</td>
390
- <td>Delay time in hover mode before a Dropdown is shown in ms.</td>
391
- </tr>
392
- <tr>
393
- <td><code>delay-hide</code></td>
394
- <td>Number</td>
395
- <td>800</td>
396
- <td>Delay time in hover mode before a Dropdown is hidden in ms.</td>
397
- </tr>
398
- <tr>
399
- <td><code>boundary</code></td>
400
- <td>CSS selector</td>
401
- <td>true</td>
402
- <td>The area that the element will be checked for overflow, causing the Drop to flip. By default, it's the scrolling containers of the Drop's element.</td>
403
- </tr>
404
- <tr>
405
- <td><code>boundary-align</code></td>
406
- <td>Boolean</td>
407
- <td>false</td>
408
- <td>Align Drop to boundary.</td>
409
- </tr>
410
- <tr>
411
- <td><code>flip</code></td>
412
- <td>false|true|'x'|'y'</td>
413
- <td>true</td>
414
- <td>Automatic Dropdown flip.</td>
415
- </tr>
416
- <tr>
417
- <td><code>offset</code></td>
418
- <td>Number</td>
419
- <td>0</td>
420
- <td>The offset of the Dropdown container.</td>
421
- </tr>
422
- <tr>
423
- <td><code>animation</code></td>
424
- <td>String</td>
425
- <td>false</td>
426
- <td>The space separated names of animations to use.</td>
427
- </tr>
428
- <tr>
429
- <td><code>duration</code></td>
430
- <td>Number</td>
431
- <td>200</td>
432
- <td>The animation duration.</td>
433
- </tr>
434
- <tr>
435
- <td><code>container</code></td>
436
- <td>Boolean</td>
437
- <td>false</td>
438
- <td>Define a target container via a selector to specify where the drop should be appended in the DOM.</td>
439
- </tr>
440
- </tbody>
441
- </table>
442
- </div>
443
-
444
270
  </div>
445
271
 
272
+ <script>
273
+
274
+ const {$$, addClass, on, removeClass } = UIkit.util;
275
+
276
+ on('#js-size-switcher', 'change', (e) => {
277
+ const options = $$('option', e.target).map(({value}) => value);
278
+ for (const dropdown of $$('.uk-dropdown')) {
279
+ removeClass(dropdown, options);
280
+ addClass(dropdown, e.target.value);
281
+ }
282
+ });
283
+
284
+ </script>
285
+
446
286
  </body>
447
287
  </html>
package/tests/filter.html CHANGED
@@ -20,18 +20,15 @@
20
20
 
21
21
  <script>
22
22
 
23
- var util = UIkit.util;
24
-
25
- util.ready(function () {
26
-
27
- util.on(document.body, 'beforeFilter afterFilter', function (e, filter, state) {
28
- console.log(e.type, filter, state);
29
- });
30
-
31
- util.on('#js-animation-switcher', 'change', function () {
32
- util.attr(util.$$('.js-filter-animation'), 'animation', this.value);
33
- });
34
-
23
+ const {$$, attr, on, ready} = UIkit.util;
24
+
25
+ ready(() => {
26
+ on(document.body, 'beforeFilter afterFilter', (e, filter, state) =>
27
+ console.log(e.type, filter, state)
28
+ );
29
+ on('#js-animation-switcher', 'change', () =>
30
+ attr($$('.js-filter-animation'), 'animation', this.value)
31
+ );
35
32
  });
36
33
 
37
34
  </script>
package/tests/form.html CHANGED
@@ -313,7 +313,7 @@
313
313
  <label><input class="uk-checkbox js-indeterminate" type="checkbox" disabled> D</label>
314
314
  </div>
315
315
 
316
- <script>UIkit.util.$$('.js-indeterminate').forEach(function (el) { el.indeterminate = true; })</script>
316
+ <script>UIkit.util.$$('.js-indeterminate').forEach(el => { el.indeterminate = true; })</script>
317
317
 
318
318
  </div>
319
319
 
@@ -138,6 +138,68 @@
138
138
  </div>
139
139
  </div>
140
140
 
141
+ <div class="uk-child-width-1-6@m uk-light" uk-grid style="height: 600px; overflow: auto;">
142
+ <div>
143
+
144
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center uk-height-viewport">
145
+ <h1>CSS</h1>
146
+ </div>
147
+
148
+ </div>
149
+ <div>
150
+
151
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport>
152
+ <h1>JS</h1>
153
+ </div>
154
+
155
+ </div>
156
+ <div>
157
+
158
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true">
159
+ <div>
160
+ <h1>JS</h1>
161
+ <div>top: true</div>
162
+ </div>
163
+ </div>
164
+
165
+ </div>
166
+ <div>
167
+
168
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: true">
169
+ <div>
170
+ <h1>JS</h1>
171
+ <div>top: true</div>
172
+ <div>bottom: true</div>
173
+ </div>
174
+ </div>
175
+
176
+ <div class="uk-padding uk-background-secondary">Lorem ipsum dolor sit amet.</div>
177
+
178
+ </div>
179
+ <div>
180
+
181
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 10">
182
+ <div>
183
+ <h1>JS</h1>
184
+ <div>top: true</div>
185
+ <div>bottom: 10%</div>
186
+ </div>
187
+ </div>
188
+
189
+ </div>
190
+ <div>
191
+
192
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px">
193
+ <div>
194
+ <h1>JS</h1>
195
+ <div>top: true</div>
196
+ <div>bottom: 50px</div>
197
+ </div>
198
+ </div>
199
+
200
+ </div>
201
+ </div>
202
+
141
203
  <h2>JavaScript Options</h2>
142
204
 
143
205
  <div class="uk-overflow-auto">