uikit 3.14.4-dev.10a07fe5a → 3.14.4-dev.4bd89c5ca

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 (77) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/css/uikit-core-rtl.css +120 -20
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +120 -20
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +117 -21
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +117 -21
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +7 -5
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +28 -21
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +28 -21
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +22 -7
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +22 -7
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +3 -3
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +23 -16
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +95 -67
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +148 -103
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/images/backgrounds/nav-parent-close.svg +1 -1
  44. package/src/images/backgrounds/nav-parent-open.svg +1 -1
  45. package/src/images/backgrounds/navbar-parent-close.svg +3 -0
  46. package/src/images/backgrounds/navbar-parent-open.svg +3 -0
  47. package/src/js/components/filter.js +5 -3
  48. package/src/js/components/sortable.js +2 -3
  49. package/src/js/core/height-viewport.js +11 -5
  50. package/src/js/core/navbar.js +44 -15
  51. package/src/js/core/sticky.js +8 -9
  52. package/src/js/mixin/modal.js +1 -1
  53. package/src/js/mixin/position.js +24 -7
  54. package/src/js/mixin/slider-drag.js +20 -8
  55. package/src/js/mixin/togglable.js +8 -17
  56. package/src/js/util/dimensions.js +6 -6
  57. package/src/js/util/position.js +1 -0
  58. package/src/js/util/viewport.js +2 -27
  59. package/src/less/components/dropdown.less +8 -0
  60. package/src/less/components/nav.less +22 -4
  61. package/src/less/components/navbar.less +106 -15
  62. package/src/less/components/utility.less +12 -3
  63. package/src/less/theme/nav.less +3 -7
  64. package/src/less/theme/navbar.less +12 -6
  65. package/src/scss/components/dropdown.scss +8 -0
  66. package/src/scss/components/nav.scss +24 -6
  67. package/src/scss/components/navbar.scss +82 -15
  68. package/src/scss/components/utility.scss +12 -3
  69. package/src/scss/mixins-theme.scss +26 -5
  70. package/src/scss/mixins.scss +24 -0
  71. package/src/scss/theme/nav.scss +3 -7
  72. package/src/scss/theme/navbar.scss +11 -2
  73. package/src/scss/variables-theme.scss +29 -9
  74. package/src/scss/variables.scss +29 -7
  75. package/tests/drop.html +66 -16
  76. package/tests/dropdown.html +103 -16
  77. package/tests/navbar.html +2135 -1129
@@ -51,7 +51,12 @@
51
51
  @navbar-nav-item-onclick-color: @global-emphasis-color;
52
52
  @navbar-nav-item-active-color: @global-emphasis-color;
53
53
 
54
- @navbar-item-padding-horizontal: @navbar-nav-item-padding-horizontal;
54
+ @navbar-parent-icon-width: 12px;
55
+ @navbar-parent-icon-height: 12px;
56
+ @navbar-parent-icon-margin-left: 4px;
57
+ @navbar-parent-icon-color: @navbar-nav-item-color;
58
+
59
+ @navbar-item-padding-horizontal: 15px;
55
60
  @navbar-item-color: @global-color;
56
61
 
57
62
  @navbar-toggle-color: @global-muted-color;
@@ -71,8 +76,18 @@
71
76
  @navbar-dropdown-grid-gutter-horizontal: @global-gutter;
72
77
  @navbar-dropdown-grid-gutter-vertical: @navbar-dropdown-grid-gutter-horizontal;
73
78
 
74
- @navbar-dropdown-dropbar-margin-top: 0px;
75
- @navbar-dropdown-dropbar-margin-bottom: @navbar-dropdown-dropbar-margin-top;
79
+ @navbar-dropdown-large-shift-margin: 0;
80
+ @navbar-dropdown-large-padding: 40px;
81
+
82
+ @navbar-dropdown-stretch-padding-top: 15px;
83
+ @navbar-dropdown-stretch-padding-bottom: @navbar-dropdown-stretch-padding-top;
84
+ @navbar-dropdown-stretch-padding-horizontal: 15px;
85
+ @navbar-dropdown-stretch-padding-horizontal-s: @global-gutter;
86
+ @navbar-dropdown-stretch-padding-horizontal-m: @global-medium-gutter;
87
+ @navbar-dropdown-stretch-background: @navbar-dropdown-background;
88
+
89
+ @navbar-dropdown-dropbar-padding-top: @navbar-dropdown-padding;
90
+ @navbar-dropdown-dropbar-padding-bottom: @navbar-dropdown-dropbar-padding-top;
76
91
  @navbar-dropdown-dropbar-padding-horizontal: @navbar-nav-item-padding-horizontal;
77
92
 
78
93
  @navbar-dropdown-nav-item-color: @global-muted-color;
@@ -89,6 +104,9 @@
89
104
  @navbar-dropbar-background: @navbar-dropdown-background;
90
105
  @navbar-dropbar-z-index: @global-z-index - 20;
91
106
 
107
+ @internal-navbar-parent-close-image: "../../images/backgrounds/navbar-parent-close.svg";
108
+ @internal-navbar-parent-open-image: "../../images/backgrounds/navbar-parent-open.svg";
109
+
92
110
 
93
111
  /* ========================================================================
94
112
  Component: Navbar
@@ -227,7 +245,6 @@
227
245
  /* 3 */
228
246
  box-sizing: border-box;
229
247
  min-height: @navbar-nav-item-height;
230
- padding: 0 @navbar-nav-item-padding-horizontal;
231
248
  /* 4 */
232
249
  font-size: @navbar-nav-item-font-size;
233
250
  font-family: @navbar-nav-item-font-family;
@@ -240,6 +257,7 @@
240
257
  */
241
258
 
242
259
  .uk-navbar-nav > li > a {
260
+ padding: 0 @navbar-nav-item-padding-horizontal;
243
261
  color: @navbar-nav-item-color;
244
262
  .hook-navbar-nav-item();
245
263
  }
@@ -268,6 +286,24 @@
268
286
  }
269
287
 
270
288
 
289
+ /* Parent icon modifier
290
+ ========================================================================== */
291
+
292
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a::after {
293
+ content: "";
294
+ width: @navbar-parent-icon-width;
295
+ height: @navbar-parent-icon-height;
296
+ margin-left: @navbar-parent-icon-margin-left;
297
+ .svg-fill(@internal-navbar-parent-close-image, "#000", @navbar-parent-icon-color);
298
+ background-repeat: no-repeat;
299
+ background-position: 50% 50%;
300
+ .hook-nav-parent-icon();
301
+ }
302
+
303
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent:hover > a::after,
304
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a[aria-expanded="true"]::after { .svg-fill(@internal-navbar-parent-open-image, "#000", @navbar-parent-icon-color); }
305
+
306
+
271
307
  /* Item
272
308
  ========================================================================== */
273
309
 
@@ -288,6 +324,7 @@
288
324
  ========================================================================== */
289
325
 
290
326
  .uk-navbar-toggle {
327
+ padding: 0 @navbar-item-padding-horizontal;
291
328
  color: @navbar-toggle-color;
292
329
  .hook-navbar-toggle();
293
330
  }
@@ -384,7 +421,7 @@
384
421
  /* Show */
385
422
  .uk-navbar-dropdown.uk-open { display: block; }
386
423
 
387
-
424
+ // Color Mode
388
425
  .uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
389
426
  .uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
390
427
 
@@ -412,40 +449,68 @@
412
449
  .uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) { width: (@navbar-dropdown-width * 4); }
413
450
  .uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) { width: (@navbar-dropdown-width * 5); }
414
451
 
452
+ /*
453
+ * Size modifier
454
+ */
455
+
456
+ .uk-navbar-dropdown-large {
457
+ --uk-position-shift-offset: @navbar-dropdown-large-shift-margin;
458
+ padding: @navbar-dropdown-large-padding;
459
+ }
460
+
415
461
  /*
416
462
  * Stretch modifier
417
463
  * 1. Allow scrolling
464
+ * 2. Style
418
465
  */
419
466
 
420
- .uk-navbar-dropdown-stretch {
467
+ .uk-navbar-dropdown-stretch {
421
468
  --uk-position-offset: 0;
422
469
  --uk-position-shift-offset: 0;
423
470
  --uk-position-viewport-offset: 0;
424
471
  /* 1 */
425
472
  overflow-y: auto;
426
473
  -webkit-overflow-scrolling: touch;
474
+ /* 2 */
475
+ padding: @navbar-dropdown-stretch-padding-top @navbar-dropdown-stretch-padding-horizontal @navbar-dropdown-stretch-padding-bottom @navbar-dropdown-stretch-padding-horizontal;
476
+ background: @navbar-dropdown-stretch-background;
427
477
  .hook-navbar-dropdown-stretch();
428
478
  }
429
479
 
480
+ /* Phone landscape and bigger */
481
+ @media (min-width: @breakpoint-small) {
482
+
483
+ .uk-navbar-dropdown-stretch {
484
+ padding-left: @navbar-dropdown-stretch-padding-horizontal-s;
485
+ padding-right: @navbar-dropdown-stretch-padding-horizontal-s;
486
+ }
487
+
488
+ }
489
+
490
+ /* Tablet landscape and bigger */
491
+ @media (min-width: @breakpoint-medium) {
492
+
493
+ .uk-navbar-dropdown-stretch {
494
+ padding-left: @navbar-dropdown-stretch-padding-horizontal-m;
495
+ padding-right: @navbar-dropdown-stretch-padding-horizontal-m;
496
+ }
497
+
498
+ }
499
+
430
500
  /*
431
501
  * Dropbar modifier
432
502
  * 1. Reset dropdown width to prevent to early shifting
433
- * 2. Set position
434
- * 3. Bottom padding for dropbar
435
- * 4. Horizontal padding
503
+ * 2. Reset style
504
+ * 3. Padding
436
505
  */
437
506
 
438
507
  .uk-navbar-dropdown-dropbar {
439
508
  /* 1 */
440
509
  width: auto;
441
510
  /* 2 */
442
- --uk-position-offset: @navbar-dropdown-dropbar-margin-top;
443
- --uk-position-viewport-offset: 0;
511
+ background: transparent;
444
512
  /* 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;
513
+ padding: @navbar-dropdown-dropbar-padding-top @navbar-dropdown-dropbar-padding-horizontal @navbar-dropdown-dropbar-padding-bottom @navbar-dropdown-dropbar-padding-horizontal;
449
514
  --uk-position-shift-offset: 0;
450
515
  .hook-navbar-dropdown-dropbar();
451
516
  }
@@ -572,12 +637,17 @@
572
637
  @inverse-navbar-nav-item-hover-color: @inverse-global-color;
573
638
  @inverse-navbar-nav-item-onclick-color: @inverse-global-emphasis-color;
574
639
  @inverse-navbar-nav-item-active-color: @inverse-global-emphasis-color;
640
+ @inverse-navbar-parent-icon-color: @inverse-navbar-nav-item-color;
575
641
  @inverse-navbar-item-color: @inverse-global-color;
576
642
  @inverse-navbar-toggle-color: @inverse-global-muted-color;
577
643
  @inverse-navbar-toggle-hover-color: @inverse-global-color;
578
644
 
579
645
  .hook-inverse() {
580
646
 
647
+ //
648
+ // Nav Item
649
+ //
650
+
581
651
  .uk-navbar-nav > li > a {
582
652
  color: @inverse-navbar-nav-item-color;
583
653
  .hook-inverse-navbar-nav-item();
@@ -599,11 +669,31 @@
599
669
  .hook-inverse-navbar-nav-item-active();
600
670
  }
601
671
 
672
+ //
673
+ // Parent icon modifier
674
+ //
675
+
676
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a::after {
677
+ .svg-fill(@internal-navbar-parent-close-image, "#000", @inverse-navbar-parent-icon-color);
678
+ .hook-inverse-nav-parent-icon();
679
+ }
680
+
681
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent:hover > a::after,
682
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a[aria-expanded="true"]::after { .svg-fill(@internal-navbar-parent-open-image, "#000", @inverse-navbar-parent-icon-color); }
683
+
684
+ //
685
+ // Item
686
+ //
687
+
602
688
  .uk-navbar-item {
603
689
  color: @inverse-navbar-item-color;
604
690
  .hook-inverse-navbar-item();
605
691
  }
606
692
 
693
+ //
694
+ // Toggle
695
+ //
696
+
607
697
  .uk-navbar-toggle {
608
698
  color: @inverse-navbar-toggle-color;
609
699
  .hook-inverse-navbar-toggle();
@@ -621,6 +711,7 @@
621
711
  .hook-inverse-navbar-nav-item-hover() {}
622
712
  .hook-inverse-navbar-nav-item-onclick() {}
623
713
  .hook-inverse-navbar-nav-item-active() {}
714
+ .hook-inverse-nav-parent-icon() {}
624
715
  .hook-inverse-navbar-item() {}
625
716
  .hook-inverse-navbar-toggle() {}
626
717
  .hook-inverse-navbar-toggle-hover() {}
@@ -384,18 +384,27 @@
384
384
  ========================================================================== */
385
385
 
386
386
  /*
387
- * 1. Required for `a`
387
+ * 1. Style
388
+ * 2. Required for `a`
389
+ * 3. Behave like image but can be overridden through flex utility classes
388
390
  */
389
391
 
390
392
  .uk-logo {
393
+ /* 1 */
391
394
  font-size: @logo-font-size;
392
395
  font-family: @logo-font-family;
393
396
  color: @logo-color;
394
- /* 1 */
397
+ /* 2 */
395
398
  text-decoration: none;
396
399
  .hook-logo();
397
400
  }
398
401
 
402
+ /* 3 */
403
+ :where(.uk-logo) {
404
+ display: inline-block;
405
+ vertical-align: middle;
406
+ }
407
+
399
408
  /* Hover */
400
409
  .uk-logo:hover {
401
410
  color: @logo-hover-color;
@@ -404,7 +413,7 @@
404
413
  .hook-logo-hover();
405
414
  }
406
415
 
407
- .uk-logo > :where(img, svg, video) { display: inline-block; }
416
+ .uk-logo > :where(img, svg, video) { display: block; }
408
417
 
409
418
  .uk-logo-inverse { display: none; }
410
419
 
@@ -7,14 +7,10 @@
7
7
  // Variables
8
8
  // ========================================================================
9
9
 
10
- @nav-default-subtitle-font-size: 12px;
11
-
12
- //
13
- // New
14
- //
15
-
16
10
  @nav-default-font-size: @global-small-font-size;
17
11
 
12
+ @nav-default-subtitle-font-size: 12px;
13
+
18
14
 
19
15
  // Sublists
20
16
  // ========================================================================
@@ -43,7 +39,7 @@
43
39
  // Default style modifier
44
40
  // ========================================================================
45
41
 
46
- .hook-nav-default() { font-size: @nav-default-font-size; }
42
+ .hook-nav-default() {}
47
43
 
48
44
  .hook-nav-default-item() {}
49
45
 
@@ -10,10 +10,13 @@
10
10
  @navbar-gap: 30px;
11
11
 
12
12
  @navbar-nav-gap: 30px;
13
+
13
14
  @navbar-nav-item-padding-horizontal: 0;
14
15
 
15
16
  @navbar-nav-item-font-size: @global-small-font-size;
16
17
 
18
+ @navbar-item-padding-horizontal: 0;
19
+
17
20
  @navbar-dropdown-margin: 15px;
18
21
  @navbar-dropdown-padding: 25px;
19
22
  @navbar-dropdown-background: @global-background;
@@ -31,8 +34,6 @@
31
34
 
32
35
  @navbar-dropdown-box-shadow: 0 5px 12px rgba(0,0,0,0.15);
33
36
 
34
- @navbar-dropdown-stretch-background: @global-muted-background;
35
-
36
37
  @navbar-dropbar-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
37
38
 
38
39
  @navbar-dropdown-grid-divider-border-width: @global-border-width;
@@ -67,6 +68,12 @@
67
68
  .hook-navbar-nav-item-active() {}
68
69
 
69
70
 
71
+ // Parent icon modifier
72
+ // ========================================================================
73
+
74
+ .hook-nav-parent-icon() {}
75
+
76
+
70
77
  // Item
71
78
  // ========================================================================
72
79
 
@@ -106,10 +113,7 @@
106
113
 
107
114
  .hook-navbar-dropdown() { box-shadow: @navbar-dropdown-box-shadow; }
108
115
 
109
- .hook-navbar-dropdown-stretch() {
110
- box-shadow: none;
111
- background: @navbar-dropdown-stretch-background;
112
- }
116
+ .hook-navbar-dropdown-stretch() { box-shadow: none; }
113
117
 
114
118
  .hook-navbar-dropdown-dropbar() { box-shadow: none; }
115
119
 
@@ -177,6 +181,8 @@
177
181
  .hook-inverse-navbar-nav-item-onclick() {}
178
182
  .hook-inverse-navbar-nav-item-active() {}
179
183
 
184
+ .hook-inverse-nav-parent-icon() {}
185
+
180
186
  .hook-inverse-navbar-item() {}
181
187
 
182
188
  .hook-inverse-navbar-toggle() {}
@@ -25,6 +25,8 @@ $dropdown-padding: 15px !default;
25
25
  $dropdown-background: $global-muted-background !default;
26
26
  $dropdown-color: $global-color !default;
27
27
 
28
+ $dropdown-large-padding: 40px !default;
29
+
28
30
  $dropdown-nav-item-color: $global-muted-color !default;
29
31
  $dropdown-nav-item-hover-color: $global-color !default;
30
32
  $dropdown-nav-subtitle-font-size: $global-small-font-size !default;
@@ -69,6 +71,12 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
69
71
  .uk-dropdown.uk-open { display: block; }
70
72
 
71
73
 
74
+ /* Size modifier
75
+ ========================================================================== */
76
+
77
+ .uk-dropdown-large { padding: $dropdown-large-padding; }
78
+
79
+
72
80
  /* Stretch modifier
73
81
  ========================================================================== */
74
82
 
@@ -46,6 +46,8 @@ $nav-header-margin-top: $global-margin !default;
46
46
  $nav-divider-margin-vertical: 5px !default;
47
47
  $nav-divider-margin-horizontal: 0 !default;
48
48
 
49
+ $nav-default-font-size: $global-font-size !default;
50
+ $nav-default-line-height: $global-line-height !default;
49
51
  $nav-default-item-color: $global-muted-color !default;
50
52
  $nav-default-item-hover-color: $global-color !default;
51
53
  $nav-default-item-active-color: $global-emphasis-color !default;
@@ -53,12 +55,14 @@ $nav-default-subtitle-font-size: $global-small-font-size !defaul
53
55
  $nav-default-header-color: $global-emphasis-color !default;
54
56
  $nav-default-divider-border-width: $global-border-width !default;
55
57
  $nav-default-divider-border: $global-border !default;
58
+ $nav-default-sublist-font-size: $nav-default-font-size !default;
59
+ $nav-default-sublist-line-height: $nav-default-line-height !default;
56
60
  $nav-default-sublist-item-color: $global-muted-color !default;
57
61
  $nav-default-sublist-item-hover-color: $global-color !default;
58
62
  $nav-default-sublist-item-active-color: $global-emphasis-color !default;
59
63
 
60
- $nav-primary-item-font-size: $global-large-font-size !default;
61
- $nav-primary-item-line-height: $global-line-height !default;
64
+ $nav-primary-font-size: $global-large-font-size !default;
65
+ $nav-primary-line-height: $global-line-height !default;
62
66
  $nav-primary-item-color: $global-muted-color !default;
63
67
  $nav-primary-item-hover-color: $global-color !default;
64
68
  $nav-primary-item-active-color: $global-emphasis-color !default;
@@ -66,6 +70,8 @@ $nav-primary-subtitle-font-size: $global-medium-font-size !defau
66
70
  $nav-primary-header-color: $global-emphasis-color !default;
67
71
  $nav-primary-divider-border-width: $global-border-width !default;
68
72
  $nav-primary-divider-border: $global-border !default;
73
+ $nav-primary-sublist-font-size: $global-medium-font-size !default;
74
+ $nav-primary-sublist-line-height: $global-line-height !default;
69
75
  $nav-primary-sublist-item-color: $global-muted-color !default;
70
76
  $nav-primary-sublist-item-hover-color: $global-color !default;
71
77
  $nav-primary-sublist-item-active-color: $global-emphasis-color !default;
@@ -74,8 +80,8 @@ $nav-dividers-margin-top: 0 !default;
74
80
  $nav-dividers-border-width: $global-border-width !default;
75
81
  $nav-dividers-border: $global-border !default;
76
82
 
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;
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%221%204%207%2010%2013%204%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%2213%2010%207%204%201%2010%22%20%2F%3E%0A%3C%2Fsvg%3E" !default;
79
85
 
80
86
 
81
87
  /* ========================================================================
@@ -186,6 +192,8 @@ ul.uk-nav-sub {
186
192
  ========================================================================== */
187
193
 
188
194
  .uk-nav-default {
195
+ font-size: $nav-default-font-size;
196
+ line-height: $nav-default-line-height;
189
197
  @if(mixin-exists(hook-nav-default)) {@include hook-nav-default();}
190
198
  }
191
199
 
@@ -241,6 +249,11 @@ ul.uk-nav-sub {
241
249
  * Sublists
242
250
  */
243
251
 
252
+ .uk-nav-default .uk-nav-sub {
253
+ font-size: $nav-default-sublist-font-size;
254
+ line-height: $nav-default-sublist-line-height;
255
+ }
256
+
244
257
  .uk-nav-default .uk-nav-sub a { color: $nav-default-sublist-item-color; }
245
258
 
246
259
  .uk-nav-default .uk-nav-sub a:hover { color: $nav-default-sublist-item-hover-color; }
@@ -252,6 +265,8 @@ ul.uk-nav-sub {
252
265
  ========================================================================== */
253
266
 
254
267
  .uk-nav-primary {
268
+ font-size: $nav-primary-font-size;
269
+ line-height: $nav-primary-line-height;
255
270
  @if(mixin-exists(hook-nav-primary)) {@include hook-nav-primary();}
256
271
  }
257
272
 
@@ -260,8 +275,6 @@ ul.uk-nav-sub {
260
275
  */
261
276
 
262
277
  .uk-nav-primary > li > a {
263
- font-size: $nav-primary-item-font-size;
264
- line-height: $nav-primary-item-line-height;
265
278
  color: $nav-primary-item-color;
266
279
  @if(mixin-exists(hook-nav-primary-item)) {@include hook-nav-primary-item();}
267
280
  }
@@ -309,6 +322,11 @@ ul.uk-nav-sub {
309
322
  * Sublists
310
323
  */
311
324
 
325
+ .uk-nav-primary .uk-nav-sub {
326
+ font-size: $nav-primary-sublist-font-size;
327
+ line-height: $nav-primary-sublist-line-height;
328
+ }
329
+
312
330
  .uk-nav-primary .uk-nav-sub a { color: $nav-primary-sublist-item-color; }
313
331
 
314
332
  .uk-nav-primary .uk-nav-sub a:hover { color: $nav-primary-sublist-item-hover-color; }
@@ -51,7 +51,12 @@ $navbar-nav-item-hover-color: $global-color !default;
51
51
  $navbar-nav-item-onclick-color: $global-emphasis-color !default;
52
52
  $navbar-nav-item-active-color: $global-emphasis-color !default;
53
53
 
54
- $navbar-item-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
54
+ $navbar-parent-icon-width: 12px !default;
55
+ $navbar-parent-icon-height: 12px !default;
56
+ $navbar-parent-icon-margin-left: 4px !default;
57
+ $navbar-parent-icon-color: $navbar-nav-item-color !default;
58
+
59
+ $navbar-item-padding-horizontal: 15px !default;
55
60
  $navbar-item-color: $global-color !default;
56
61
 
57
62
  $navbar-toggle-color: $global-muted-color !default;
@@ -71,8 +76,18 @@ $navbar-dropdown-color-mode: none !default;
71
76
  $navbar-dropdown-grid-gutter-horizontal: $global-gutter !default;
72
77
  $navbar-dropdown-grid-gutter-vertical: $navbar-dropdown-grid-gutter-horizontal !default;
73
78
 
74
- $navbar-dropdown-dropbar-margin-top: 0px !default;
75
- $navbar-dropdown-dropbar-margin-bottom: $navbar-dropdown-dropbar-margin-top !default;
79
+ $navbar-dropdown-large-shift-margin: 0 !default;
80
+ $navbar-dropdown-large-padding: 40px !default;
81
+
82
+ $navbar-dropdown-stretch-padding-top: 15px !default;
83
+ $navbar-dropdown-stretch-padding-bottom: $navbar-dropdown-stretch-padding-top !default;
84
+ $navbar-dropdown-stretch-padding-horizontal: 15px !default;
85
+ $navbar-dropdown-stretch-padding-horizontal-s: $global-gutter !default;
86
+ $navbar-dropdown-stretch-padding-horizontal-m: $global-medium-gutter !default;
87
+ $navbar-dropdown-stretch-background: $navbar-dropdown-background !default;
88
+
89
+ $navbar-dropdown-dropbar-padding-top: $navbar-dropdown-padding !default;
90
+ $navbar-dropdown-dropbar-padding-bottom: $navbar-dropdown-dropbar-padding-top !default;
76
91
  $navbar-dropdown-dropbar-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
77
92
 
78
93
  $navbar-dropdown-nav-item-color: $global-muted-color !default;
@@ -89,6 +104,9 @@ $navbar-dropdown-nav-sublist-item-active-color: $global-emphasis-color !default
89
104
  $navbar-dropbar-background: $navbar-dropdown-background !default;
90
105
  $navbar-dropbar-z-index: $global-z-index - 20 !default;
91
106
 
107
+ $internal-navbar-parent-close-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%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%203.5%206%208.5%2011%203.5%22%2F%3E%0A%3C%2Fsvg%3E" !default;
108
+ $internal-navbar-parent-open-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%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%2211%208.5%206%203.5%201%208.5%22%20%2F%3E%0A%3C%2Fsvg%3E" !default;
109
+
92
110
 
93
111
  /* ========================================================================
94
112
  Component: Navbar
@@ -227,7 +245,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
227
245
  /* 3 */
228
246
  box-sizing: border-box;
229
247
  min-height: $navbar-nav-item-height;
230
- padding: 0 $navbar-nav-item-padding-horizontal;
231
248
  /* 4 */
232
249
  font-size: $navbar-nav-item-font-size;
233
250
  font-family: $navbar-nav-item-font-family;
@@ -240,6 +257,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
240
257
  */
241
258
 
242
259
  .uk-navbar-nav > li > a {
260
+ padding: 0 $navbar-nav-item-padding-horizontal;
243
261
  color: $navbar-nav-item-color;
244
262
  @if(mixin-exists(hook-navbar-nav-item)) {@include hook-navbar-nav-item();}
245
263
  }
@@ -268,6 +286,24 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
268
286
  }
269
287
 
270
288
 
289
+ /* Parent icon modifier
290
+ ========================================================================== */
291
+
292
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a::after {
293
+ content: "";
294
+ width: $navbar-parent-icon-width;
295
+ height: $navbar-parent-icon-height;
296
+ margin-left: $navbar-parent-icon-margin-left;
297
+ @include svg-fill($internal-navbar-parent-close-image, "#000", $navbar-parent-icon-color);
298
+ background-repeat: no-repeat;
299
+ background-position: 50% 50%;
300
+ @if(mixin-exists(hook-nav-parent-icon)) {@include hook-nav-parent-icon();}
301
+ }
302
+
303
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent:hover > a::after,
304
+ .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a[aria-expanded="true"]::after { @include svg-fill($internal-navbar-parent-open-image, "#000", $navbar-parent-icon-color); }
305
+
306
+
271
307
  /* Item
272
308
  ========================================================================== */
273
309
 
@@ -288,6 +324,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
288
324
  ========================================================================== */
289
325
 
290
326
  .uk-navbar-toggle {
327
+ padding: 0 $navbar-item-padding-horizontal;
291
328
  color: $navbar-toggle-color;
292
329
  @if(mixin-exists(hook-navbar-toggle)) {@include hook-navbar-toggle();}
293
330
  }
@@ -384,7 +421,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
384
421
  /* Show */
385
422
  .uk-navbar-dropdown.uk-open { display: block; }
386
423
 
387
-
424
+ // Color Mode
388
425
  @if ( $navbar-dropdown-color-mode == light ) { .uk-navbar-dropdown { @extend .uk-light !optional;} }
389
426
  @if ( $navbar-dropdown-color-mode == dark ) { .uk-navbar-dropdown { @extend .uk-dark !optional;} }
390
427
 
@@ -412,40 +449,68 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
412
449
  .uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) { width: ($navbar-dropdown-width * 4); }
413
450
  .uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) { width: ($navbar-dropdown-width * 5); }
414
451
 
452
+ /*
453
+ * Size modifier
454
+ */
455
+
456
+ .uk-navbar-dropdown-large {
457
+ --uk-position-shift-offset: #{$navbar-dropdown-large-shift-margin};
458
+ padding: $navbar-dropdown-large-padding;
459
+ }
460
+
415
461
  /*
416
462
  * Stretch modifier
417
463
  * 1. Allow scrolling
464
+ * 2. Style
418
465
  */
419
466
 
420
- .uk-navbar-dropdown-stretch {
467
+ .uk-navbar-dropdown-stretch {
421
468
  --uk-position-offset: 0;
422
469
  --uk-position-shift-offset: 0;
423
470
  --uk-position-viewport-offset: 0;
424
471
  /* 1 */
425
472
  overflow-y: auto;
426
473
  -webkit-overflow-scrolling: touch;
474
+ /* 2 */
475
+ padding: $navbar-dropdown-stretch-padding-top $navbar-dropdown-stretch-padding-horizontal $navbar-dropdown-stretch-padding-bottom $navbar-dropdown-stretch-padding-horizontal;
476
+ background: $navbar-dropdown-stretch-background;
427
477
  @if(mixin-exists(hook-navbar-dropdown-stretch)) {@include hook-navbar-dropdown-stretch();}
428
478
  }
429
479
 
480
+ /* Phone landscape and bigger */
481
+ @media (min-width: $breakpoint-small) {
482
+
483
+ .uk-navbar-dropdown-stretch {
484
+ padding-left: $navbar-dropdown-stretch-padding-horizontal-s;
485
+ padding-right: $navbar-dropdown-stretch-padding-horizontal-s;
486
+ }
487
+
488
+ }
489
+
490
+ /* Tablet landscape and bigger */
491
+ @media (min-width: $breakpoint-medium) {
492
+
493
+ .uk-navbar-dropdown-stretch {
494
+ padding-left: $navbar-dropdown-stretch-padding-horizontal-m;
495
+ padding-right: $navbar-dropdown-stretch-padding-horizontal-m;
496
+ }
497
+
498
+ }
499
+
430
500
  /*
431
501
  * Dropbar modifier
432
502
  * 1. Reset dropdown width to prevent to early shifting
433
- * 2. Set position
434
- * 3. Bottom padding for dropbar
435
- * 4. Horizontal padding
503
+ * 2. Reset style
504
+ * 3. Padding
436
505
  */
437
506
 
438
507
  .uk-navbar-dropdown-dropbar {
439
508
  /* 1 */
440
509
  width: auto;
441
510
  /* 2 */
442
- --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
443
- --uk-position-viewport-offset: 0;
511
+ background: transparent;
444
512
  /* 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;
513
+ padding: $navbar-dropdown-dropbar-padding-top $navbar-dropdown-dropbar-padding-horizontal $navbar-dropdown-dropbar-padding-bottom $navbar-dropdown-dropbar-padding-horizontal;
449
514
  --uk-position-shift-offset: 0;
450
515
  @if(mixin-exists(hook-navbar-dropdown-dropbar)) {@include hook-navbar-dropdown-dropbar();}
451
516
  }
@@ -572,6 +637,7 @@ $inverse-navbar-nav-item-color: $inverse-global-muted-color !def
572
637
  $inverse-navbar-nav-item-hover-color: $inverse-global-color !default;
573
638
  $inverse-navbar-nav-item-onclick-color: $inverse-global-emphasis-color !default;
574
639
  $inverse-navbar-nav-item-active-color: $inverse-global-emphasis-color !default;
640
+ $inverse-navbar-parent-icon-color: $inverse-navbar-nav-item-color !default;
575
641
  $inverse-navbar-item-color: $inverse-global-color !default;
576
642
  $inverse-navbar-toggle-color: $inverse-global-muted-color !default;
577
643
  $inverse-navbar-toggle-hover-color: $inverse-global-color !default;
@@ -582,6 +648,7 @@ $inverse-navbar-toggle-hover-color: $inverse-global-color !default;
582
648
  // @mixin hook-inverse-navbar-nav-item-hover(){}
583
649
  // @mixin hook-inverse-navbar-nav-item-onclick(){}
584
650
  // @mixin hook-inverse-navbar-nav-item-active(){}
651
+ // @mixin hook-inverse-nav-parent-icon(){}
585
652
  // @mixin hook-inverse-navbar-item(){}
586
653
  // @mixin hook-inverse-navbar-toggle(){}
587
654
  // @mixin hook-inverse-navbar-toggle-hover(){}