uikit 3.14.4-dev.cd89debeb → 3.14.4-dev.d2929b5b7

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 (134) hide show
  1. package/CHANGELOG.md +41 -12
  2. package/build/util.js +1 -0
  3. package/dist/css/uikit-core-rtl.css +380 -102
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +380 -102
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +397 -107
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +397 -107
  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 +419 -381
  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 +472 -417
  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 +1 -1
  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 +90 -61
  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/togglable.js +80 -133
  66. package/src/js/util/animation.js +4 -3
  67. package/src/js/util/dimensions.js +6 -6
  68. package/src/js/util/filter.js +3 -7
  69. package/src/js/util/position.js +43 -47
  70. package/src/js/util/style.js +4 -13
  71. package/src/js/util/viewport.js +5 -32
  72. package/src/less/components/_import.less +1 -0
  73. package/src/less/components/drop.less +1 -18
  74. package/src/less/components/dropbar.less +115 -0
  75. package/src/less/components/dropdown.less +16 -16
  76. package/src/less/components/leader.less +1 -1
  77. package/src/less/components/nav.less +240 -63
  78. package/src/less/components/navbar.less +73 -28
  79. package/src/less/components/utility.less +21 -4
  80. package/src/less/theme/_import.less +1 -0
  81. package/src/less/theme/dropbar.less +44 -0
  82. package/src/less/theme/dropdown.less +0 -11
  83. package/src/less/theme/nav.less +43 -9
  84. package/src/less/theme/navbar.less +4 -10
  85. package/src/scss/components/_import.scss +1 -0
  86. package/src/scss/components/drop.scss +1 -18
  87. package/src/scss/components/dropbar.scss +115 -0
  88. package/src/scss/components/dropdown.scss +16 -16
  89. package/src/scss/components/leader.scss +1 -1
  90. package/src/scss/components/nav.scss +189 -51
  91. package/src/scss/components/navbar.scss +61 -28
  92. package/src/scss/components/utility.scss +19 -3
  93. package/src/scss/mixins-theme.scss +93 -25
  94. package/src/scss/mixins.scss +89 -17
  95. package/src/scss/theme/_import.scss +1 -0
  96. package/src/scss/theme/dropbar.scss +44 -0
  97. package/src/scss/theme/dropdown.scss +0 -8
  98. package/src/scss/theme/nav.scss +41 -9
  99. package/src/scss/theme/navbar.scss +4 -7
  100. package/src/scss/variables-theme.scss +69 -17
  101. package/src/scss/variables.scss +58 -13
  102. package/tests/accordion.html +2 -2
  103. package/tests/alert.html +2 -2
  104. package/tests/countdown.html +1 -1
  105. package/tests/drop.html +453 -371
  106. package/tests/dropbar.html +456 -0
  107. package/tests/dropdown.html +26 -401
  108. package/tests/filter.html +9 -12
  109. package/tests/form.html +1 -1
  110. package/tests/index.html +126 -107
  111. package/tests/lightbox.html +5 -5
  112. package/tests/list.html +8 -8
  113. package/tests/modal.html +13 -13
  114. package/tests/nav.html +117 -75
  115. package/tests/navbar.html +1997 -1138
  116. package/tests/offcanvas.html +17 -21
  117. package/tests/parallax.html +1 -1
  118. package/tests/position.html +13 -24
  119. package/tests/progress.html +9 -9
  120. package/tests/scroll.html +7 -10
  121. package/tests/search.html +5 -5
  122. package/tests/slider.html +6 -5
  123. package/tests/slideshow.html +8 -8
  124. package/tests/sortable.html +6 -8
  125. package/tests/sticky-navbar.html +6 -6
  126. package/tests/sticky.html +8 -8
  127. package/tests/switcher.html +1 -1
  128. package/tests/tab.html +1 -1
  129. package/tests/table.html +7 -7
  130. package/tests/toggle.html +2 -2
  131. package/tests/tooltip.html +1 -1
  132. package/tests/upload.html +11 -11
  133. package/tests/utility.html +19 -0
  134. 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;
@@ -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
  }
@@ -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`
@@ -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(){}