uikit 3.14.4-dev.0097ef093 → 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 (136) hide show
  1. package/CHANGELOG.md +40 -14
  2. package/build/util.js +1 -0
  3. package/dist/css/uikit-core-rtl.css +364 -100
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +364 -100
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +384 -105
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +384 -105
  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 +99 -135
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +99 -135
  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 +93 -132
  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 +427 -383
  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 +480 -419
  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 +89 -62
  54. package/src/js/core/height-viewport.js +14 -6
  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 +42 -30
  59. package/src/js/core/scroll.js +37 -10
  60. package/src/js/core/sticky.js +8 -9
  61. package/src/js/mixin/media.js +4 -5
  62. package/src/js/mixin/modal.js +9 -6
  63. package/src/js/mixin/position.js +22 -8
  64. package/src/js/mixin/slider-drag.js +20 -8
  65. package/src/js/mixin/style.js +11 -0
  66. package/src/js/mixin/togglable.js +80 -133
  67. package/src/js/util/animation.js +4 -3
  68. package/src/js/util/dimensions.js +6 -6
  69. package/src/js/util/filter.js +3 -7
  70. package/src/js/util/position.js +43 -47
  71. package/src/js/util/style.js +4 -13
  72. package/src/js/util/viewport.js +5 -32
  73. package/src/less/components/_import.less +1 -0
  74. package/src/less/components/drop.less +1 -18
  75. package/src/less/components/dropbar.less +115 -0
  76. package/src/less/components/dropdown.less +16 -16
  77. package/src/less/components/leader.less +1 -1
  78. package/src/less/components/nav.less +218 -59
  79. package/src/less/components/navbar.less +73 -28
  80. package/src/less/components/utility.less +21 -4
  81. package/src/less/theme/_import.less +1 -0
  82. package/src/less/theme/dropbar.less +44 -0
  83. package/src/less/theme/dropdown.less +0 -11
  84. package/src/less/theme/nav.less +45 -7
  85. package/src/less/theme/navbar.less +4 -10
  86. package/src/scss/components/_import.scss +1 -0
  87. package/src/scss/components/drop.scss +1 -18
  88. package/src/scss/components/dropbar.scss +115 -0
  89. package/src/scss/components/dropdown.scss +16 -16
  90. package/src/scss/components/leader.scss +1 -1
  91. package/src/scss/components/nav.scss +167 -47
  92. package/src/scss/components/navbar.scss +61 -28
  93. package/src/scss/components/utility.scss +19 -3
  94. package/src/scss/mixins-theme.scss +92 -24
  95. package/src/scss/mixins.scss +89 -17
  96. package/src/scss/theme/_import.scss +1 -0
  97. package/src/scss/theme/dropbar.scss +44 -0
  98. package/src/scss/theme/dropdown.scss +0 -8
  99. package/src/scss/theme/nav.scss +43 -7
  100. package/src/scss/theme/navbar.scss +4 -7
  101. package/src/scss/variables-theme.scss +61 -14
  102. package/src/scss/variables.scss +50 -11
  103. package/tests/accordion.html +2 -2
  104. package/tests/alert.html +2 -2
  105. package/tests/countdown.html +1 -1
  106. package/tests/drop.html +451 -371
  107. package/tests/dropbar.html +456 -0
  108. package/tests/dropdown.html +26 -401
  109. package/tests/filter.html +9 -12
  110. package/tests/form.html +1 -1
  111. package/tests/index.html +126 -107
  112. package/tests/js/index.js +1 -4
  113. package/tests/lightbox.html +5 -5
  114. package/tests/list.html +8 -8
  115. package/tests/modal.html +13 -13
  116. package/tests/nav.html +117 -75
  117. package/tests/navbar.html +1997 -1138
  118. package/tests/offcanvas.html +17 -21
  119. package/tests/parallax.html +1 -1
  120. package/tests/position.html +13 -24
  121. package/tests/progress.html +9 -9
  122. package/tests/scroll.html +7 -10
  123. package/tests/search.html +5 -5
  124. package/tests/slider.html +6 -5
  125. package/tests/slideshow.html +8 -8
  126. package/tests/sortable.html +6 -8
  127. package/tests/sticky-navbar.html +6 -6
  128. package/tests/sticky.html +8 -8
  129. package/tests/switcher.html +1 -1
  130. package/tests/tab.html +1 -1
  131. package/tests/table.html +7 -7
  132. package/tests/toggle.html +2 -2
  133. package/tests/tooltip.html +1 -1
  134. package/tests/upload.html +11 -11
  135. package/tests/utility.html +19 -0
  136. package/src/images/backgrounds/nav-parent-close.svg +0 -3
@@ -5,7 +5,7 @@
5
5
  //
6
6
  // Adopted: `uk-dropdown-nav`
7
7
  //
8
- // Modifiers: `uk-dropdown-stretch`
8
+ // Modifiers: `uk-dropdown-large`
9
9
  // `uk-dropdown-stack`
10
10
  // `uk-dropdown-grid`
11
11
  //
@@ -24,6 +24,9 @@ $dropdown-min-width: 200px !default;
24
24
  $dropdown-padding: 15px !default;
25
25
  $dropdown-background: $global-muted-background !default;
26
26
  $dropdown-color: $global-color !default;
27
+ $dropdown-color-mode: none !default;
28
+
29
+ $dropdown-large-padding: 40px !default;
27
30
 
28
31
  $dropdown-nav-item-color: $global-muted-color !default;
29
32
  $dropdown-nav-item-hover-color: $global-color !default;
@@ -57,7 +60,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
57
60
  /* 3 */
58
61
  box-sizing: border-box;
59
62
  min-width: $dropdown-min-width;
60
- max-width: 100vw;
61
63
  /* 4 */
62
64
  padding: $dropdown-padding;
63
65
  background: $dropdown-background;
@@ -68,22 +70,21 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
68
70
  /* Show */
69
71
  .uk-dropdown.uk-open { display: block; }
70
72
 
71
-
72
- /* Stretch modifier
73
- ========================================================================== */
74
-
75
73
  /*
76
- * 1. Allow scrolling
74
+ * Remove margin from the last-child
77
75
  */
78
76
 
79
- .uk-dropdown-stretch {
80
- --uk-position-offset: 0;
81
- --uk-position-viewport-offset: 0;
82
- /* 1 */
83
- overflow-y: auto;
84
- -webkit-overflow-scrolling: touch;
85
- @if(mixin-exists(hook-dropdown-stretch)) {@include hook-dropdown-stretch();}
86
- }
77
+ .uk-dropdown > :last-child { margin-bottom: 0; }
78
+
79
+ // Color Mode
80
+ @if ( $dropdown-color-mode == light ) { .uk-dropdown { @extend .uk-light !optional;} }
81
+ @if ( $dropdown-color-mode == dark ) { .uk-dropdown { @extend .uk-dark !optional;} }
82
+
83
+
84
+ /* Size modifier
85
+ ========================================================================== */
86
+
87
+ .uk-dropdown-large { padding: $dropdown-large-padding; }
87
88
 
88
89
 
89
90
  /* Nav
@@ -160,7 +161,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
160
161
  @if(mixin-exists(hook-dropdown-misc)) {@include hook-dropdown-misc();}
161
162
 
162
163
  // @mixin hook-dropdown(){}
163
- // @mixin hook-dropdown-stretch(){}
164
164
  // @mixin hook-dropdown-nav(){}
165
165
  // @mixin hook-dropdown-nav-item(){}
166
166
  // @mixin hook-dropdown-nav-item-hover(){}
@@ -49,7 +49,7 @@ $leader-fill-margin-left: $global-small-gutter !default;
49
49
  * Pass fill character to JS
50
50
  */
51
51
 
52
- :root { --uk-leader-fill-content: '#{$leader-fill-content}'; }
52
+ :root { --uk-leader-fill-content: #{$leader-fill-content}; }
53
53
 
54
54
 
55
55
  // Hooks
@@ -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;
@@ -76,13 +72,28 @@ $nav-primary-sublist-item-color: $global-muted-color !default;
76
72
  $nav-primary-sublist-item-hover-color: $global-color !default;
77
73
  $nav-primary-sublist-item-active-color: $global-emphasis-color !default;
78
74
 
79
- $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;
80
94
  $nav-dividers-border-width: $global-border-width !default;
81
95
  $nav-dividers-border: $global-border !default;
82
96
 
83
- $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;
84
- $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;
85
-
86
97
 
87
98
  /* ========================================================================
88
99
  Component: Nav
@@ -149,21 +160,12 @@ ul.uk-nav-sub {
149
160
  .uk-nav-sub a { padding: $nav-sublist-item-padding-vertical 0; }
150
161
 
151
162
 
152
- /* Parent icon modifier
163
+ /* Parent icon
153
164
  ========================================================================== */
154
165
 
155
- .uk-nav-parent-icon > .uk-parent > a::after {
156
- content: "";
157
- width: $nav-parent-icon-width;
158
- height: $nav-parent-icon-height;
159
- margin-left: auto;
160
- @include svg-fill($internal-nav-parent-close-image, "#000", $nav-parent-icon-color);
161
- background-repeat: no-repeat;
162
- background-position: 50% 50%;
163
- @if(mixin-exists(hook-nav-parent-icon)) {@include hook-nav-parent-icon();}
164
- }
166
+ .uk-nav-parent-icon { margin-left: auto; }
165
167
 
166
- .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); }
167
169
 
168
170
 
169
171
  /* Header
@@ -334,6 +336,93 @@ ul.uk-nav-sub {
334
336
  .uk-nav-primary .uk-nav-sub li.uk-active > a { color: $nav-primary-sublist-item-active-color; }
335
337
 
336
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
+
337
426
  /* Alignment modifier
338
427
  ========================================================================== */
339
428
 
@@ -351,13 +440,18 @@ ul.uk-nav-sub {
351
440
  .uk-nav-center .uk-nav-sub,
352
441
  .uk-nav-center .uk-nav-sub ul { padding-left: 0; }
353
442
 
354
- /* Parent icon modifier */
355
- .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; }
356
445
 
357
446
 
358
447
  /* Style modifier
359
448
  ========================================================================== */
360
449
 
450
+ /*
451
+ * Divider
452
+ * Naming is in plural to prevent conflicts with divider sub object.
453
+ */
454
+
361
455
  .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
362
456
  margin-top: $nav-dividers-margin-top;
363
457
  padding-top: $nav-dividers-margin-top;
@@ -372,7 +466,6 @@ ul.uk-nav-sub {
372
466
  @if(mixin-exists(hook-nav-misc)) {@include hook-nav-misc();}
373
467
 
374
468
  // @mixin hook-nav-sub(){}
375
- // @mixin hook-nav-parent-icon(){}
376
469
  // @mixin hook-nav-header(){}
377
470
  // @mixin hook-nav-divider(){}
378
471
  // @mixin hook-nav-default(){}
@@ -389,6 +482,15 @@ ul.uk-nav-sub {
389
482
  // @mixin hook-nav-primary-subtitle(){}
390
483
  // @mixin hook-nav-primary-header(){}
391
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(){}
392
494
  // @mixin hook-nav-dividers(){}
393
495
  // @mixin hook-nav-misc(){}
394
496
 
@@ -396,30 +498,40 @@ ul.uk-nav-sub {
396
498
  // Inverse
397
499
  // ========================================================================
398
500
 
399
- $inverse-nav-parent-icon-color: $inverse-global-color !default;
400
- $inverse-nav-default-item-color: $inverse-global-muted-color !default;
401
- $inverse-nav-default-item-hover-color: $inverse-global-color !default;
402
- $inverse-nav-default-item-active-color: $inverse-global-emphasis-color !default;
403
- $inverse-nav-default-header-color: $inverse-global-emphasis-color !default;
404
- $inverse-nav-default-divider-border: $inverse-global-border !default;
405
- $inverse-nav-default-sublist-item-color: $inverse-global-muted-color !default;
406
- $inverse-nav-default-sublist-item-hover-color: $inverse-global-color !default;
407
- $inverse-nav-default-sublist-item-active-color: $inverse-global-emphasis-color !default;
408
-
409
- $inverse-nav-primary-item-color: $inverse-global-muted-color !default;
410
- $inverse-nav-primary-item-hover-color: $inverse-global-color !default;
411
- $inverse-nav-primary-item-active-color: $inverse-global-emphasis-color !default;
412
- $inverse-nav-primary-header-color: $inverse-global-emphasis-color !default;
413
- $inverse-nav-primary-divider-border: $inverse-global-border !default;
414
- $inverse-nav-primary-sublist-item-color: $inverse-global-muted-color !default;
415
- $inverse-nav-primary-sublist-item-hover-color: $inverse-global-color !default;
416
- $inverse-nav-primary-sublist-item-active-color: $inverse-global-emphasis-color !default;
417
-
418
- $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;
419
532
 
420
533
 
421
534
 
422
- // @mixin hook-inverse-nav-parent-icon(){}
423
535
  // @mixin hook-inverse-nav-default-item(){}
424
536
  // @mixin hook-inverse-nav-default-item-hover(){}
425
537
  // @mixin hook-inverse-nav-default-item-active(){}
@@ -430,4 +542,12 @@ $inverse-nav-dividers-border: $inverse-global-border !default
430
542
  // @mixin hook-inverse-nav-primary-item-active(){}
431
543
  // @mixin hook-inverse-nav-primary-header(){}
432
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(){}
433
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`
@@ -51,7 +52,9 @@ $navbar-nav-item-hover-color: $global-color !default;
51
52
  $navbar-nav-item-onclick-color: $global-emphasis-color !default;
52
53
  $navbar-nav-item-active-color: $global-emphasis-color !default;
53
54
 
54
- $navbar-item-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
55
+ $navbar-parent-icon-margin-left: 4px !default;
56
+
57
+ $navbar-item-padding-horizontal: 15px !default;
55
58
  $navbar-item-color: $global-color !default;
56
59
 
57
60
  $navbar-toggle-color: $global-muted-color !default;
@@ -71,9 +74,15 @@ $navbar-dropdown-color-mode: none !default;
71
74
  $navbar-dropdown-grid-gutter-horizontal: $global-gutter !default;
72
75
  $navbar-dropdown-grid-gutter-vertical: $navbar-dropdown-grid-gutter-horizontal !default;
73
76
 
74
- $navbar-dropdown-dropbar-margin-top: 0px !default;
75
- $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;
76
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;
77
86
 
78
87
  $navbar-dropdown-nav-item-color: $global-muted-color !default;
79
88
  $navbar-dropdown-nav-item-hover-color: $global-color !default;
@@ -86,7 +95,6 @@ $navbar-dropdown-nav-sublist-item-color: $global-muted-color !default;
86
95
  $navbar-dropdown-nav-sublist-item-hover-color: $global-color !default;
87
96
  $navbar-dropdown-nav-sublist-item-active-color: $global-emphasis-color !default;
88
97
 
89
- $navbar-dropbar-background: $navbar-dropdown-background !default;
90
98
  $navbar-dropbar-z-index: $global-z-index - 20 !default;
91
99
 
92
100
 
@@ -227,7 +235,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
227
235
  /* 3 */
228
236
  box-sizing: border-box;
229
237
  min-height: $navbar-nav-item-height;
230
- padding: 0 $navbar-nav-item-padding-horizontal;
231
238
  /* 4 */
232
239
  font-size: $navbar-nav-item-font-size;
233
240
  font-family: $navbar-nav-item-font-family;
@@ -240,6 +247,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
240
247
  */
241
248
 
242
249
  .uk-navbar-nav > li > a {
250
+ padding: 0 $navbar-nav-item-padding-horizontal;
243
251
  color: $navbar-nav-item-color;
244
252
  @if(mixin-exists(hook-navbar-nav-item)) {@include hook-navbar-nav-item();}
245
253
  }
@@ -268,6 +276,14 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
268
276
  }
269
277
 
270
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
+
271
287
  /* Item
272
288
  ========================================================================== */
273
289
 
@@ -288,6 +304,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
288
304
  ========================================================================== */
289
305
 
290
306
  .uk-navbar-toggle {
307
+ padding: 0 $navbar-item-padding-horizontal;
291
308
  color: $navbar-toggle-color;
292
309
  @if(mixin-exists(hook-navbar-toggle)) {@include hook-navbar-toggle();}
293
310
  }
@@ -373,7 +390,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
373
390
  /* 3 */
374
391
  box-sizing: border-box;
375
392
  width: $navbar-dropdown-width;
376
- max-width: 100vw;
377
393
  /* 4 */
378
394
  padding: $navbar-dropdown-padding;
379
395
  background: $navbar-dropdown-background;
@@ -384,7 +400,13 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
384
400
  /* Show */
385
401
  .uk-navbar-dropdown.uk-open { display: block; }
386
402
 
403
+ /*
404
+ * Remove margin from the last-child
405
+ */
406
+
407
+ .uk-navbar-dropdown > :last-child { margin-bottom: 0; }
387
408
 
409
+ // Color Mode
388
410
  @if ( $navbar-dropdown-color-mode == light ) { .uk-navbar-dropdown { @extend .uk-light !optional;} }
389
411
  @if ( $navbar-dropdown-color-mode == dark ) { .uk-navbar-dropdown { @extend .uk-dark !optional;} }
390
412
 
@@ -413,43 +435,48 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
413
435
  .uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) { width: ($navbar-dropdown-width * 5); }
414
436
 
415
437
  /*
416
- * Stretch modifier
417
- * 1. Allow scrolling
438
+ * Size modifier
418
439
  */
419
440
 
420
- .uk-navbar-dropdown-stretch {
421
- --uk-position-offset: 0;
422
- --uk-position-shift-offset: 0;
423
- --uk-position-viewport-offset: 0;
424
- /* 1 */
425
- overflow-y: auto;
426
- -webkit-overflow-scrolling: touch;
427
- @if(mixin-exists(hook-navbar-dropdown-stretch)) {@include hook-navbar-dropdown-stretch();}
441
+ .uk-navbar-dropdown-large {
442
+ --uk-position-shift-offset: #{$navbar-dropdown-large-shift-margin};
443
+ padding: $navbar-dropdown-large-padding;
428
444
  }
429
445
 
430
446
  /*
431
447
  * Dropbar modifier
432
448
  * 1. Reset dropdown width to prevent to early shifting
433
- * 2. Set position
434
- * 3. Bottom padding for dropbar
435
- * 4. Horizontal padding
449
+ * 2. Reset style
450
+ * 3. Padding
436
451
  */
437
452
 
438
453
  .uk-navbar-dropdown-dropbar {
439
454
  /* 1 */
440
455
  width: auto;
441
456
  /* 2 */
442
- --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
443
- --uk-position-viewport-offset: 0;
457
+ background: transparent;
444
458
  /* 3 */
445
- margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
446
- /* 4 */
447
- padding-left: $navbar-dropdown-dropbar-padding-horizontal;
448
- 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;
449
461
  --uk-position-shift-offset: 0;
462
+ --uk-position-viewport-offset: #{$navbar-dropdown-dropbar-viewport-margin};
450
463
  @if(mixin-exists(hook-navbar-dropdown-dropbar)) {@include hook-navbar-dropdown-dropbar();}
451
464
  }
452
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
+
453
480
 
454
481
  /* Dropdown Nav
455
482
  * Adopts `uk-nav`
@@ -521,12 +548,19 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
521
548
  /* Dropbar
522
549
  ========================================================================== */
523
550
 
551
+ /*
552
+ * 1. Reset dropbar
553
+ * 2. Width
554
+ */
555
+
524
556
  .uk-navbar-dropbar {
525
- position: absolute;
557
+ /* 1 */
558
+ display: block !important;
526
559
  z-index: $navbar-dropbar-z-index;
560
+ padding: 0;
561
+ /* 2 */
527
562
  left: 0;
528
563
  right: 0;
529
- background: $navbar-dropbar-background;
530
564
  @if(mixin-exists(hook-navbar-dropbar)) {@include hook-navbar-dropbar();}
531
565
  }
532
566
 
@@ -552,7 +586,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
552
586
  // @mixin hook-navbar-transparent(){}
553
587
  // @mixin hook-navbar-sticky(){}
554
588
  // @mixin hook-navbar-dropdown(){}
555
- // @mixin hook-navbar-dropdown-stretch(){}
556
589
  // @mixin hook-navbar-dropdown-dropbar(){}
557
590
  // @mixin hook-navbar-dropdown-nav(){}
558
591
  // @mixin hook-navbar-dropdown-nav-item(){}
@@ -147,6 +147,13 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
147
147
  .uk-overflow-auto > :last-child { margin-bottom: 0; }
148
148
 
149
149
 
150
+ /* Box Sizing
151
+ ========================================================================== */
152
+
153
+ .uk-box-sizing-content { box-sizing: content-box; }
154
+ .uk-box-sizing-border { box-sizing: border-box; }
155
+
156
+
150
157
  /* Resize
151
158
  ========================================================================== */
152
159
 
@@ -384,18 +391,27 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
384
391
  ========================================================================== */
385
392
 
386
393
  /*
387
- * 1. Required for `a`
394
+ * 1. Style
395
+ * 2. Required for `a`
396
+ * 3. Behave like image but can be overridden through flex utility classes
388
397
  */
389
398
 
390
399
  .uk-logo {
400
+ /* 1 */
391
401
  font-size: $logo-font-size;
392
402
  font-family: $logo-font-family;
393
403
  color: $logo-color;
394
- /* 1 */
404
+ /* 2 */
395
405
  text-decoration: none;
396
406
  @if(mixin-exists(hook-logo)) {@include hook-logo();}
397
407
  }
398
408
 
409
+ /* 3 */
410
+ :where(.uk-logo) {
411
+ display: inline-block;
412
+ vertical-align: middle;
413
+ }
414
+
399
415
  /* Hover */
400
416
  .uk-logo:hover {
401
417
  color: $logo-hover-color;
@@ -404,7 +420,7 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
404
420
  @if(mixin-exists(hook-logo-hover)) {@include hook-logo-hover();}
405
421
  }
406
422
 
407
- .uk-logo > :where(img, svg, video) { display: inline-block; }
423
+ .uk-logo :where(img, svg, video) { display: block; }
408
424
 
409
425
  .uk-logo-inverse { display: none; }
410
426