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
@@ -3,13 +3,13 @@
3
3
  //
4
4
  // Component: `uk-nav`
5
5
  //
6
- // Sub-objects: `uk-nav-header`
6
+ // Sub-objects: `uk-nav-parent-icon`
7
+ // `uk-nav-header`
7
8
  // `uk-nav-divider`
8
9
  // `uk-nav-subtitle`
9
10
  // `uk-nav-sub`
10
11
  //
11
- // Modifiers: `uk-nav-parent-icon`
12
- // `uk-nav-default`
12
+ // Modifiers: `uk-nav-default`
13
13
  // `uk-nav-primary`
14
14
  // `uk-nav-center`,
15
15
  // `uk-nav-divider`
@@ -33,10 +33,6 @@ $nav-sublist-padding-left: 15px !default;
33
33
  $nav-sublist-deeper-padding-left: 15px !default;
34
34
  $nav-sublist-item-padding-vertical: 2px !default;
35
35
 
36
- $nav-parent-icon-width: ($global-line-height * 1em) !default;
37
- $nav-parent-icon-height: $nav-parent-icon-width !default;
38
- $nav-parent-icon-color: $global-color !default;
39
-
40
36
  $nav-header-padding-vertical: $nav-item-padding-vertical !default;
41
37
  $nav-header-padding-horizontal: $nav-item-padding-horizontal !default;
42
38
  $nav-header-font-size: $global-small-font-size !default;
@@ -46,6 +42,8 @@ $nav-header-margin-top: $global-margin !default;
46
42
  $nav-divider-margin-vertical: 5px !default;
47
43
  $nav-divider-margin-horizontal: 0 !default;
48
44
 
45
+ $nav-default-font-size: $global-font-size !default;
46
+ $nav-default-line-height: $global-line-height !default;
49
47
  $nav-default-item-color: $global-muted-color !default;
50
48
  $nav-default-item-hover-color: $global-color !default;
51
49
  $nav-default-item-active-color: $global-emphasis-color !default;
@@ -53,12 +51,14 @@ $nav-default-subtitle-font-size: $global-small-font-size !defaul
53
51
  $nav-default-header-color: $global-emphasis-color !default;
54
52
  $nav-default-divider-border-width: $global-border-width !default;
55
53
  $nav-default-divider-border: $global-border !default;
54
+ $nav-default-sublist-font-size: $nav-default-font-size !default;
55
+ $nav-default-sublist-line-height: $nav-default-line-height !default;
56
56
  $nav-default-sublist-item-color: $global-muted-color !default;
57
57
  $nav-default-sublist-item-hover-color: $global-color !default;
58
58
  $nav-default-sublist-item-active-color: $global-emphasis-color !default;
59
59
 
60
- $nav-primary-item-font-size: $global-large-font-size !default;
61
- $nav-primary-item-line-height: $global-line-height !default;
60
+ $nav-primary-font-size: $global-large-font-size !default;
61
+ $nav-primary-line-height: $global-line-height !default;
62
62
  $nav-primary-item-color: $global-muted-color !default;
63
63
  $nav-primary-item-hover-color: $global-color !default;
64
64
  $nav-primary-item-active-color: $global-emphasis-color !default;
@@ -66,17 +66,34 @@ $nav-primary-subtitle-font-size: $global-medium-font-size !defau
66
66
  $nav-primary-header-color: $global-emphasis-color !default;
67
67
  $nav-primary-divider-border-width: $global-border-width !default;
68
68
  $nav-primary-divider-border: $global-border !default;
69
+ $nav-primary-sublist-font-size: $global-medium-font-size !default;
70
+ $nav-primary-sublist-line-height: $global-line-height !default;
69
71
  $nav-primary-sublist-item-color: $global-muted-color !default;
70
72
  $nav-primary-sublist-item-hover-color: $global-color !default;
71
73
  $nav-primary-sublist-item-active-color: $global-emphasis-color !default;
72
74
 
73
- $nav-dividers-margin-top: 0 !default;
75
+ $nav-secondary-font-size: $global-font-size !default;
76
+ $nav-secondary-line-height: $global-line-height !default;
77
+ $nav-secondary-item-color: $global-emphasis-color !default;
78
+ $nav-secondary-item-hover-color: $global-emphasis-color !default;
79
+ $nav-secondary-item-active-color: $global-emphasis-color !default;
80
+ $nav-secondary-subtitle-font-size: $global-small-font-size !default;
81
+ $nav-secondary-subtitle-color: $global-muted-color !default;
82
+ $nav-secondary-subtitle-hover-color: $global-color !default;
83
+ $nav-secondary-subtitle-active-color: $global-emphasis-color !default;
84
+ $nav-secondary-header-color: $global-emphasis-color !default;
85
+ $nav-secondary-divider-border-width: $global-border-width !default;
86
+ $nav-secondary-divider-border: $global-border !default;
87
+ $nav-secondary-sublist-font-size: $global-small-font-size !default;
88
+ $nav-secondary-sublist-line-height: $global-line-height !default;
89
+ $nav-secondary-sublist-item-color: $global-muted-color !default;
90
+ $nav-secondary-sublist-item-hover-color: $global-color !default;
91
+ $nav-secondary-sublist-item-active-color: $global-emphasis-color !default;
92
+
93
+ $nav-dividers-margin-top: 5px !default;
74
94
  $nav-dividers-border-width: $global-border-width !default;
75
95
  $nav-dividers-border: $global-border !default;
76
96
 
77
- $internal-nav-parent-close-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22#000%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E" !default;
78
- $internal-nav-parent-open-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22#000%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E" !default;
79
-
80
97
 
81
98
  /* ========================================================================
82
99
  Component: Nav
@@ -143,21 +160,12 @@ ul.uk-nav-sub {
143
160
  .uk-nav-sub a { padding: $nav-sublist-item-padding-vertical 0; }
144
161
 
145
162
 
146
- /* Parent icon modifier
163
+ /* Parent icon
147
164
  ========================================================================== */
148
165
 
149
- .uk-nav-parent-icon > .uk-parent > a::after {
150
- content: "";
151
- width: $nav-parent-icon-width;
152
- height: $nav-parent-icon-height;
153
- margin-left: auto;
154
- @include svg-fill($internal-nav-parent-close-image, "#000", $nav-parent-icon-color);
155
- background-repeat: no-repeat;
156
- background-position: 50% 50%;
157
- @if(mixin-exists(hook-nav-parent-icon)) {@include hook-nav-parent-icon();}
158
- }
166
+ .uk-nav-parent-icon { margin-left: auto; }
159
167
 
160
- .uk-nav-parent-icon > .uk-parent.uk-open > a::after { @include svg-fill($internal-nav-parent-open-image, "#000", $nav-parent-icon-color); }
168
+ .uk-nav > li > a[aria-expanded="true"] .uk-nav-parent-icon { transform: rotate(180deg); }
161
169
 
162
170
 
163
171
  /* Header
@@ -186,6 +194,8 @@ ul.uk-nav-sub {
186
194
  ========================================================================== */
187
195
 
188
196
  .uk-nav-default {
197
+ font-size: $nav-default-font-size;
198
+ line-height: $nav-default-line-height;
189
199
  @if(mixin-exists(hook-nav-default)) {@include hook-nav-default();}
190
200
  }
191
201
 
@@ -241,6 +251,11 @@ ul.uk-nav-sub {
241
251
  * Sublists
242
252
  */
243
253
 
254
+ .uk-nav-default .uk-nav-sub {
255
+ font-size: $nav-default-sublist-font-size;
256
+ line-height: $nav-default-sublist-line-height;
257
+ }
258
+
244
259
  .uk-nav-default .uk-nav-sub a { color: $nav-default-sublist-item-color; }
245
260
 
246
261
  .uk-nav-default .uk-nav-sub a:hover { color: $nav-default-sublist-item-hover-color; }
@@ -252,6 +267,8 @@ ul.uk-nav-sub {
252
267
  ========================================================================== */
253
268
 
254
269
  .uk-nav-primary {
270
+ font-size: $nav-primary-font-size;
271
+ line-height: $nav-primary-line-height;
255
272
  @if(mixin-exists(hook-nav-primary)) {@include hook-nav-primary();}
256
273
  }
257
274
 
@@ -260,8 +277,6 @@ ul.uk-nav-sub {
260
277
  */
261
278
 
262
279
  .uk-nav-primary > li > a {
263
- font-size: $nav-primary-item-font-size;
264
- line-height: $nav-primary-item-line-height;
265
280
  color: $nav-primary-item-color;
266
281
  @if(mixin-exists(hook-nav-primary-item)) {@include hook-nav-primary-item();}
267
282
  }
@@ -282,7 +297,7 @@ ul.uk-nav-sub {
282
297
  * Subtitle
283
298
  */
284
299
 
285
- .uk-nav-primary .uk-nav-subtitle {
300
+ .uk-nav-primary .uk-nav-subtitle {
286
301
  font-size: $nav-primary-subtitle-font-size;
287
302
  @if(mixin-exists(hook-nav-primary-subtitle)) {@include hook-nav-primary-subtitle();}
288
303
  }
@@ -309,6 +324,11 @@ ul.uk-nav-sub {
309
324
  * Sublists
310
325
  */
311
326
 
327
+ .uk-nav-primary .uk-nav-sub {
328
+ font-size: $nav-primary-sublist-font-size;
329
+ line-height: $nav-primary-sublist-line-height;
330
+ }
331
+
312
332
  .uk-nav-primary .uk-nav-sub a { color: $nav-primary-sublist-item-color; }
313
333
 
314
334
  .uk-nav-primary .uk-nav-sub a:hover { color: $nav-primary-sublist-item-hover-color; }
@@ -316,6 +336,93 @@ ul.uk-nav-sub {
316
336
  .uk-nav-primary .uk-nav-sub li.uk-active > a { color: $nav-primary-sublist-item-active-color; }
317
337
 
318
338
 
339
+ /* Secondary modifier
340
+ ========================================================================== */
341
+
342
+ .uk-nav-secondary {
343
+ font-size: $nav-secondary-font-size;
344
+ line-height: $nav-secondary-line-height;
345
+ @if(mixin-exists(hook-nav-secondary)) {@include hook-nav-secondary();}
346
+ }
347
+
348
+ /*
349
+ * Items
350
+ */
351
+
352
+ .uk-nav-secondary > li > a {
353
+
354
+ color: $nav-secondary-item-color;
355
+ @if(mixin-exists(hook-nav-secondary-item)) {@include hook-nav-secondary-item();}
356
+ }
357
+
358
+ /* Hover */
359
+ .uk-nav-secondary > li > a:hover {
360
+ color: $nav-secondary-item-hover-color;
361
+ @if(mixin-exists(hook-nav-secondary-item-hover)) {@include hook-nav-secondary-item-hover();}
362
+ }
363
+
364
+ /* Active */
365
+ .uk-nav-secondary > li.uk-active > a {
366
+ color: $nav-secondary-item-active-color;
367
+ @if(mixin-exists(hook-nav-secondary-item-active)) {@include hook-nav-secondary-item-active();}
368
+ }
369
+
370
+ /*
371
+ * Subtitle
372
+ */
373
+
374
+ .uk-nav-secondary .uk-nav-subtitle {
375
+ font-size: $nav-secondary-subtitle-font-size;
376
+ color: $nav-secondary-subtitle-color;
377
+ @if(mixin-exists(hook-nav-secondary-subtitle)) {@include hook-nav-secondary-subtitle();}
378
+ }
379
+
380
+ /* Hover */
381
+ .uk-nav-secondary > li > a:hover .uk-nav-subtitle {
382
+ color: $nav-secondary-subtitle-hover-color;
383
+ @if(mixin-exists(hook-nav-secondary-subtitle-hover)) {@include hook-nav-secondary-subtitle-hover();}
384
+ }
385
+
386
+ /* Active */
387
+ .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle {
388
+ color: $nav-secondary-subtitle-active-color;
389
+ @if(mixin-exists(hook-nav-secondary-subtitle-active)) {@include hook-nav-secondary-subtitle-active();}
390
+ }
391
+
392
+ /*
393
+ * Header
394
+ */
395
+
396
+ .uk-nav-secondary .uk-nav-header {
397
+ color: $nav-secondary-header-color;
398
+ @if(mixin-exists(hook-nav-secondary-header)) {@include hook-nav-secondary-header();}
399
+ }
400
+
401
+ /*
402
+ * Divider
403
+ */
404
+
405
+ .uk-nav-secondary .uk-nav-divider {
406
+ border-top: $nav-secondary-divider-border-width solid $nav-secondary-divider-border;
407
+ @if(mixin-exists(hook-nav-secondary-divider)) {@include hook-nav-secondary-divider();}
408
+ }
409
+
410
+ /*
411
+ * Sublists
412
+ */
413
+
414
+ .uk-nav-secondary .uk-nav-sub {
415
+ font-size: $nav-secondary-sublist-font-size;
416
+ line-height: $nav-secondary-sublist-line-height;
417
+ }
418
+
419
+ .uk-nav-secondary .uk-nav-sub a { color: $nav-secondary-sublist-item-color; }
420
+
421
+ .uk-nav-secondary .uk-nav-sub a:hover { color: $nav-secondary-sublist-item-hover-color; }
422
+
423
+ .uk-nav-secondary .uk-nav-sub li.uk-active > a { color: $nav-secondary-sublist-item-active-color; }
424
+
425
+
319
426
  /* Alignment modifier
320
427
  ========================================================================== */
321
428
 
@@ -333,13 +440,18 @@ ul.uk-nav-sub {
333
440
  .uk-nav-center .uk-nav-sub,
334
441
  .uk-nav-center .uk-nav-sub ul { padding-left: 0; }
335
442
 
336
- /* Parent icon modifier */
337
- .uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after { margin-left: 0; }
443
+ /* Parent icon */
444
+ .uk-nav-center .uk-nav-parent-icon { margin-left: 0; }
338
445
 
339
446
 
340
447
  /* Style modifier
341
448
  ========================================================================== */
342
449
 
450
+ /*
451
+ * Divider
452
+ * Naming is in plural to prevent conflicts with divider sub object.
453
+ */
454
+
343
455
  .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
344
456
  margin-top: $nav-dividers-margin-top;
345
457
  padding-top: $nav-dividers-margin-top;
@@ -354,7 +466,6 @@ ul.uk-nav-sub {
354
466
  @if(mixin-exists(hook-nav-misc)) {@include hook-nav-misc();}
355
467
 
356
468
  // @mixin hook-nav-sub(){}
357
- // @mixin hook-nav-parent-icon(){}
358
469
  // @mixin hook-nav-header(){}
359
470
  // @mixin hook-nav-divider(){}
360
471
  // @mixin hook-nav-default(){}
@@ -371,6 +482,15 @@ ul.uk-nav-sub {
371
482
  // @mixin hook-nav-primary-subtitle(){}
372
483
  // @mixin hook-nav-primary-header(){}
373
484
  // @mixin hook-nav-primary-divider(){}
485
+ // @mixin hook-nav-secondary(){}
486
+ // @mixin hook-nav-secondary-item(){}
487
+ // @mixin hook-nav-secondary-item-hover(){}
488
+ // @mixin hook-nav-secondary-item-active(){}
489
+ // @mixin hook-nav-secondary-subtitle(){}
490
+ // @mixin hook-nav-secondary-subtitle-hover(){}
491
+ // @mixin hook-nav-secondary-subtitle-active(){}
492
+ // @mixin hook-nav-secondary-header(){}
493
+ // @mixin hook-nav-secondary-divider(){}
374
494
  // @mixin hook-nav-dividers(){}
375
495
  // @mixin hook-nav-misc(){}
376
496
 
@@ -378,30 +498,40 @@ ul.uk-nav-sub {
378
498
  // Inverse
379
499
  // ========================================================================
380
500
 
381
- $inverse-nav-parent-icon-color: $inverse-global-color !default;
382
- $inverse-nav-default-item-color: $inverse-global-muted-color !default;
383
- $inverse-nav-default-item-hover-color: $inverse-global-color !default;
384
- $inverse-nav-default-item-active-color: $inverse-global-emphasis-color !default;
385
- $inverse-nav-default-header-color: $inverse-global-emphasis-color !default;
386
- $inverse-nav-default-divider-border: $inverse-global-border !default;
387
- $inverse-nav-default-sublist-item-color: $inverse-global-muted-color !default;
388
- $inverse-nav-default-sublist-item-hover-color: $inverse-global-color !default;
389
- $inverse-nav-default-sublist-item-active-color: $inverse-global-emphasis-color !default;
390
-
391
- $inverse-nav-primary-item-color: $inverse-global-muted-color !default;
392
- $inverse-nav-primary-item-hover-color: $inverse-global-color !default;
393
- $inverse-nav-primary-item-active-color: $inverse-global-emphasis-color !default;
394
- $inverse-nav-primary-header-color: $inverse-global-emphasis-color !default;
395
- $inverse-nav-primary-divider-border: $inverse-global-border !default;
396
- $inverse-nav-primary-sublist-item-color: $inverse-global-muted-color !default;
397
- $inverse-nav-primary-sublist-item-hover-color: $inverse-global-color !default;
398
- $inverse-nav-primary-sublist-item-active-color: $inverse-global-emphasis-color !default;
399
-
400
- $inverse-nav-dividers-border: $inverse-global-border !default;
501
+ $inverse-nav-default-item-color: $inverse-global-muted-color !default;
502
+ $inverse-nav-default-item-hover-color: $inverse-global-color !default;
503
+ $inverse-nav-default-item-active-color: $inverse-global-emphasis-color !default;
504
+ $inverse-nav-default-header-color: $inverse-global-emphasis-color !default;
505
+ $inverse-nav-default-divider-border: $inverse-global-border !default;
506
+ $inverse-nav-default-sublist-item-color: $inverse-global-muted-color !default;
507
+ $inverse-nav-default-sublist-item-hover-color: $inverse-global-color !default;
508
+ $inverse-nav-default-sublist-item-active-color: $inverse-global-emphasis-color !default;
509
+
510
+ $inverse-nav-primary-item-color: $inverse-global-muted-color !default;
511
+ $inverse-nav-primary-item-hover-color: $inverse-global-color !default;
512
+ $inverse-nav-primary-item-active-color: $inverse-global-emphasis-color !default;
513
+ $inverse-nav-primary-header-color: $inverse-global-emphasis-color !default;
514
+ $inverse-nav-primary-divider-border: $inverse-global-border !default;
515
+ $inverse-nav-primary-sublist-item-color: $inverse-global-muted-color !default;
516
+ $inverse-nav-primary-sublist-item-hover-color: $inverse-global-color !default;
517
+ $inverse-nav-primary-sublist-item-active-color: $inverse-global-emphasis-color !default;
518
+
519
+ $inverse-nav-secondary-item-color: $inverse-global-emphasis-color !default;
520
+ $inverse-nav-secondary-item-hover-color: $inverse-global-emphasis-color !default;
521
+ $inverse-nav-secondary-item-active-color: $inverse-global-emphasis-color !default;
522
+ $inverse-nav-secondary-subtitle-color: $inverse-global-muted-color !default;
523
+ $inverse-nav-secondary-subtitle-hover-color: $inverse-global-color !default;
524
+ $inverse-nav-secondary-subtitle-active-color: $inverse-global-emphasis-color !default;
525
+ $inverse-nav-secondary-header-color: $inverse-global-emphasis-color !default;
526
+ $inverse-nav-secondary-divider-border: $inverse-global-border !default;
527
+ $inverse-nav-secondary-sublist-item-color: $inverse-global-muted-color !default;
528
+ $inverse-nav-secondary-sublist-item-hover-color: $inverse-global-color !default;
529
+ $inverse-nav-secondary-sublist-item-active-color: $inverse-global-emphasis-color !default;
530
+
531
+ $inverse-nav-dividers-border: $inverse-global-border !default;
401
532
 
402
533
 
403
534
 
404
- // @mixin hook-inverse-nav-parent-icon(){}
405
535
  // @mixin hook-inverse-nav-default-item(){}
406
536
  // @mixin hook-inverse-nav-default-item-hover(){}
407
537
  // @mixin hook-inverse-nav-default-item-active(){}
@@ -412,4 +542,12 @@ $inverse-nav-dividers-border: $inverse-global-border !default
412
542
  // @mixin hook-inverse-nav-primary-item-active(){}
413
543
  // @mixin hook-inverse-nav-primary-header(){}
414
544
  // @mixin hook-inverse-nav-primary-divider(){}
545
+ // @mixin hook-inverse-nav-secondary-item(){}
546
+ // @mixin hook-inverse-nav-secondary-item-hover(){}
547
+ // @mixin hook-inverse-nav-secondary-item-active(){}
548
+ // @mixin hook-inverse-nav-secondary-subtitle(){}
549
+ // @mixin hook-inverse-nav-secondary-subtitle-hover(){}
550
+ // @mixin hook-inverse-nav-secondary-subtitle-active(){}
551
+ // @mixin hook-inverse-nav-secondary-header(){}
552
+ // @mixin hook-inverse-nav-secondary-divider(){}
415
553
  // @mixin hook-inverse-nav-dividers(){}
@@ -10,6 +10,7 @@
10
10
  // `uk-navbar-center-left`
11
11
  // `uk-navbar-center-right`
12
12
  // `uk-navbar-nav`
13
+ // `uk-navbar-parent-icon`
13
14
  // `uk-navbar-item`
14
15
  // `uk-navbar-toggle`
15
16
  // `uk-navbar-subtitle`
@@ -37,8 +38,11 @@
37
38
  // ========================================================================
38
39
 
39
40
  $navbar-background: $global-muted-background !default;
41
+ $navbar-gap: 0px !default; // Must have a unit because of `calc`
40
42
  $navbar-color-mode: none !default;
41
43
 
44
+ $navbar-nav-gap: 0px !default; // Must have a unit because of `calc`
45
+
42
46
  $navbar-nav-item-height: 80px !default;
43
47
  $navbar-nav-item-padding-horizontal: 15px !default;
44
48
  $navbar-nav-item-color: $global-muted-color !default;
@@ -48,6 +52,9 @@ $navbar-nav-item-hover-color: $global-color !default;
48
52
  $navbar-nav-item-onclick-color: $global-emphasis-color !default;
49
53
  $navbar-nav-item-active-color: $global-emphasis-color !default;
50
54
 
55
+ $navbar-parent-icon-margin-left: 4px !default;
56
+
57
+ $navbar-item-padding-horizontal: 15px !default;
51
58
  $navbar-item-color: $global-color !default;
52
59
 
53
60
  $navbar-toggle-color: $global-muted-color !default;
@@ -56,17 +63,26 @@ $navbar-toggle-hover-color: $global-color !default;
56
63
  $navbar-subtitle-font-size: $global-small-font-size !default;
57
64
 
58
65
  $navbar-dropdown-z-index: $global-z-index + 20 !default;
59
- $navbar-dropdown-margin: 0px !default;
66
+ $navbar-dropdown-margin: 0 !default;
67
+ $navbar-dropdown-shift-margin: 0 !default;
68
+ $navbar-dropdown-viewport-margin: 15px !default;
60
69
  $navbar-dropdown-width: 200px !default;
61
70
  $navbar-dropdown-padding: 15px !default;
62
71
  $navbar-dropdown-background: $global-muted-background !default;
63
72
  $navbar-dropdown-color: $global-color !default;
73
+ $navbar-dropdown-color-mode: none !default;
64
74
  $navbar-dropdown-grid-gutter-horizontal: $global-gutter !default;
65
75
  $navbar-dropdown-grid-gutter-vertical: $navbar-dropdown-grid-gutter-horizontal !default;
66
76
 
67
- $navbar-dropdown-dropbar-margin-top: 0px !default;
68
- $navbar-dropdown-dropbar-margin-bottom: $navbar-dropdown-dropbar-margin-top !default;
77
+ $navbar-dropdown-large-shift-margin: 0 !default;
78
+ $navbar-dropdown-large-padding: 40px !default;
79
+
80
+ $navbar-dropdown-dropbar-padding-top: $navbar-dropdown-padding !default;
81
+ $navbar-dropdown-dropbar-padding-bottom: $navbar-dropdown-dropbar-padding-top !default;
69
82
  $navbar-dropdown-dropbar-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
83
+ $navbar-dropdown-dropbar-viewport-margin: 15px !default;
84
+ $navbar-dropdown-dropbar-viewport-margin-s: $global-gutter !default;
85
+ $navbar-dropdown-dropbar-viewport-margin-m: $global-medium-gutter !default;
70
86
 
71
87
  $navbar-dropdown-nav-item-color: $global-muted-color !default;
72
88
  $navbar-dropdown-nav-item-hover-color: $global-color !default;
@@ -79,7 +95,6 @@ $navbar-dropdown-nav-sublist-item-color: $global-muted-color !default;
79
95
  $navbar-dropdown-nav-sublist-item-hover-color: $global-color !default;
80
96
  $navbar-dropdown-nav-sublist-item-active-color: $global-emphasis-color !default;
81
97
 
82
- $navbar-dropbar-background: $navbar-dropdown-background !default;
83
98
  $navbar-dropbar-z-index: $global-z-index - 20 !default;
84
99
 
85
100
 
@@ -117,16 +132,13 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
117
132
 
118
133
  /*
119
134
  * 1. Align navs and items vertically if they have a different height
120
- * 2. Note: IE 11 requires an extra `div` which affects the center selector
121
135
  */
122
136
 
123
137
  .uk-navbar-left,
124
138
  .uk-navbar-right,
125
- // 2. [class*='uk-navbar-center'],
126
- .uk-navbar-center,
127
- .uk-navbar-center-left > *,
128
- .uk-navbar-center-right > * {
139
+ [class*='uk-navbar-center'] {
129
140
  display: flex;
141
+ gap: $navbar-gap;
130
142
  /* 1 */
131
143
  align-items: center;
132
144
  }
@@ -168,8 +180,8 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
168
180
  top: 0;
169
181
  }
170
182
 
171
- .uk-navbar-center-left { right: 100%; }
172
- .uk-navbar-center-right { left: 100%; }
183
+ .uk-navbar-center-left { right: unquote('calc(100% + #{$navbar-gap})'); }
184
+ .uk-navbar-center-right { left: unquote('calc(100% + #{$navbar-gap})'); }
173
185
 
174
186
  [class*='uk-navbar-center-'] {
175
187
  width: max-content;
@@ -186,6 +198,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
186
198
 
187
199
  .uk-navbar-nav {
188
200
  display: flex;
201
+ gap: $navbar-nav-gap;
189
202
  /* 1 */
190
203
  margin: 0;
191
204
  padding: 0;
@@ -222,7 +235,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
222
235
  /* 3 */
223
236
  box-sizing: border-box;
224
237
  min-height: $navbar-nav-item-height;
225
- padding: 0 $navbar-nav-item-padding-horizontal;
226
238
  /* 4 */
227
239
  font-size: $navbar-nav-item-font-size;
228
240
  font-family: $navbar-nav-item-font-family;
@@ -235,6 +247,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
235
247
  */
236
248
 
237
249
  .uk-navbar-nav > li > a {
250
+ padding: 0 $navbar-nav-item-padding-horizontal;
238
251
  color: $navbar-nav-item-color;
239
252
  @if(mixin-exists(hook-navbar-nav-item)) {@include hook-navbar-nav-item();}
240
253
  }
@@ -263,10 +276,19 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
263
276
  }
264
277
 
265
278
 
279
+ /* Parent icon modifier
280
+ ========================================================================== */
281
+
282
+ .uk-navbar-parent-icon { margin-left: $navbar-parent-icon-margin-left; }
283
+
284
+ .uk-navbar-nav > li > a[aria-expanded="true"] .uk-navbar-parent-icon { transform: rotate(180deg); }
285
+
286
+
266
287
  /* Item
267
288
  ========================================================================== */
268
289
 
269
290
  .uk-navbar-item {
291
+ padding: 0 $navbar-item-padding-horizontal;
270
292
  color: $navbar-item-color;
271
293
  @if(mixin-exists(hook-navbar-item)) {@include hook-navbar-item();}
272
294
  }
@@ -282,6 +304,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
282
304
  ========================================================================== */
283
305
 
284
306
  .uk-navbar-toggle {
307
+ padding: 0 $navbar-item-padding-horizontal;
285
308
  color: $navbar-toggle-color;
286
309
  @if(mixin-exists(hook-navbar-toggle)) {@include hook-navbar-toggle();}
287
310
  }
@@ -362,11 +385,11 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
362
385
  position: absolute;
363
386
  z-index: $navbar-dropdown-z-index;
364
387
  --uk-position-offset: #{$navbar-dropdown-margin};
365
- --uk-position-viewport-offset: 10;
388
+ --uk-position-shift-offset: #{$navbar-dropdown-shift-margin};
389
+ --uk-position-viewport-offset: #{$navbar-dropdown-viewport-margin};
366
390
  /* 3 */
367
391
  box-sizing: border-box;
368
392
  width: $navbar-dropdown-width;
369
- max-width: 100vw;
370
393
  /* 4 */
371
394
  padding: $navbar-dropdown-padding;
372
395
  background: $navbar-dropdown-background;
@@ -377,6 +400,16 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
377
400
  /* Show */
378
401
  .uk-navbar-dropdown.uk-open { display: block; }
379
402
 
403
+ /*
404
+ * Remove margin from the last-child
405
+ */
406
+
407
+ .uk-navbar-dropdown > :last-child { margin-bottom: 0; }
408
+
409
+ // Color Mode
410
+ @if ( $navbar-dropdown-color-mode == light ) { .uk-navbar-dropdown { @extend .uk-light !optional;} }
411
+ @if ( $navbar-dropdown-color-mode == dark ) { .uk-navbar-dropdown { @extend .uk-dark !optional;} }
412
+
380
413
  /*
381
414
  * Grid
382
415
  * Adopts `uk-grid`
@@ -401,25 +434,49 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
401
434
  .uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) { width: ($navbar-dropdown-width * 4); }
402
435
  .uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) { width: ($navbar-dropdown-width * 5); }
403
436
 
437
+ /*
438
+ * Size modifier
439
+ */
440
+
441
+ .uk-navbar-dropdown-large {
442
+ --uk-position-shift-offset: #{$navbar-dropdown-large-shift-margin};
443
+ padding: $navbar-dropdown-large-padding;
444
+ }
445
+
404
446
  /*
405
447
  * Dropbar modifier
406
- * 1. Set position
407
- * 2. Bottom padding for dropbar
408
- * 3. Horizontal padding
448
+ * 1. Reset dropdown width to prevent to early shifting
449
+ * 2. Reset style
450
+ * 3. Padding
409
451
  */
410
452
 
411
453
  .uk-navbar-dropdown-dropbar {
412
454
  /* 1 */
413
- --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
414
- --uk-position-viewport-offset: 0;
455
+ width: auto;
415
456
  /* 2 */
416
- margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
457
+ background: transparent;
417
458
  /* 3 */
418
- padding-left: $navbar-dropdown-dropbar-padding-horizontal;
419
- padding-right: $navbar-dropdown-dropbar-padding-horizontal;
459
+ padding: $navbar-dropdown-dropbar-padding-top $navbar-dropdown-dropbar-padding-horizontal $navbar-dropdown-dropbar-padding-bottom $navbar-dropdown-dropbar-padding-horizontal;
460
+ --uk-position-offset: 0;
461
+ --uk-position-shift-offset: 0;
462
+ --uk-position-viewport-offset: #{$navbar-dropdown-dropbar-viewport-margin};
420
463
  @if(mixin-exists(hook-navbar-dropdown-dropbar)) {@include hook-navbar-dropdown-dropbar();}
421
464
  }
422
465
 
466
+ /* Phone landscape and bigger */
467
+ @media (min-width: $breakpoint-small) {
468
+
469
+ .uk-navbar-dropdown-dropbar { --uk-position-viewport-offset: #{$navbar-dropdown-dropbar-viewport-margin-s}; }
470
+
471
+ }
472
+
473
+ /* Tablet landscape and bigger */
474
+ @media (min-width: $breakpoint-medium) {
475
+
476
+ .uk-navbar-dropdown-dropbar { --uk-position-viewport-offset: #{$navbar-dropdown-dropbar-viewport-margin-m}; }
477
+
478
+ }
479
+
423
480
 
424
481
  /* Dropdown Nav
425
482
  * Adopts `uk-nav`
@@ -491,12 +548,19 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
491
548
  /* Dropbar
492
549
  ========================================================================== */
493
550
 
551
+ /*
552
+ * 1. Reset dropbar
553
+ * 2. Width
554
+ */
555
+
494
556
  .uk-navbar-dropbar {
495
- position: absolute;
557
+ /* 1 */
558
+ display: block !important;
496
559
  z-index: $navbar-dropbar-z-index;
560
+ padding: 0;
561
+ /* 2 */
497
562
  left: 0;
498
563
  right: 0;
499
- background: $navbar-dropbar-background;
500
564
  @if(mixin-exists(hook-navbar-dropbar)) {@include hook-navbar-dropbar();}
501
565
  }
502
566