uikit 3.14.4-dev.e3664d0d2 → 3.14.4-dev.e8873dd80

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 +39 -15
  2. package/build/util.js +1 -0
  3. package/dist/css/uikit-core-rtl.css +353 -96
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +353 -96
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +373 -101
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +373 -101
  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 +96 -139
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +96 -139
  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 +1 -1
  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 +1 -1
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +1 -1
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +100 -137
  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 +518 -454
  38. package/dist/js/uikit-core.min.js +17 -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 +524 -458
  42. package/dist/js/uikit.min.js +17 -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 +25 -3
  48. package/src/js/api/state.js +2 -2
  49. package/src/js/components/filter.js +5 -3
  50. package/src/js/core/accordion.js +9 -17
  51. package/src/js/core/alert.js +35 -14
  52. package/src/js/core/drop.js +110 -82
  53. package/src/js/core/height-viewport.js +6 -2
  54. package/src/js/core/icon.js +16 -0
  55. package/src/js/core/index.js +2 -0
  56. package/src/js/core/leader.js +2 -2
  57. package/src/js/core/navbar.js +44 -30
  58. package/src/js/core/scroll.js +37 -10
  59. package/src/js/core/toggle.js +3 -5
  60. package/src/js/mixin/media.js +4 -5
  61. package/src/js/mixin/modal.js +15 -12
  62. package/src/js/mixin/position.js +18 -11
  63. package/src/js/mixin/style.js +11 -0
  64. package/src/js/mixin/togglable.js +88 -133
  65. package/src/js/util/animation.js +4 -3
  66. package/src/js/util/class.js +3 -1
  67. package/src/js/util/filter.js +3 -7
  68. package/src/js/util/position.js +107 -107
  69. package/src/js/util/style.js +4 -13
  70. package/src/js/util/viewport.js +3 -5
  71. package/src/less/components/_import.less +1 -0
  72. package/src/less/components/drop.less +1 -18
  73. package/src/less/components/dropbar.less +115 -0
  74. package/src/less/components/dropdown.less +16 -16
  75. package/src/less/components/leader.less +1 -1
  76. package/src/less/components/nav.less +218 -59
  77. package/src/less/components/navbar.less +73 -27
  78. package/src/less/components/utility.less +10 -2
  79. package/src/less/theme/_import.less +1 -0
  80. package/src/less/theme/dropbar.less +44 -0
  81. package/src/less/theme/dropdown.less +0 -11
  82. package/src/less/theme/nav.less +45 -7
  83. package/src/less/theme/navbar.less +4 -10
  84. package/src/scss/components/_import.scss +1 -0
  85. package/src/scss/components/drop.scss +1 -18
  86. package/src/scss/components/dropbar.scss +115 -0
  87. package/src/scss/components/dropdown.scss +16 -16
  88. package/src/scss/components/leader.scss +1 -1
  89. package/src/scss/components/nav.scss +167 -47
  90. package/src/scss/components/navbar.scss +61 -27
  91. package/src/scss/components/utility.scss +8 -1
  92. package/src/scss/mixins-theme.scss +92 -24
  93. package/src/scss/mixins.scss +89 -17
  94. package/src/scss/theme/_import.scss +1 -0
  95. package/src/scss/theme/dropbar.scss +44 -0
  96. package/src/scss/theme/dropdown.scss +0 -8
  97. package/src/scss/theme/nav.scss +43 -7
  98. package/src/scss/theme/navbar.scss +4 -7
  99. package/src/scss/variables-theme.scss +61 -14
  100. package/src/scss/variables.scss +50 -11
  101. package/tests/accordion.html +2 -2
  102. package/tests/alert.html +2 -2
  103. package/tests/countdown.html +1 -1
  104. package/tests/drop.html +455 -375
  105. package/tests/dropbar.html +458 -0
  106. package/tests/dropdown.html +26 -401
  107. package/tests/filter.html +9 -12
  108. package/tests/form.html +1 -1
  109. package/tests/index.html +126 -107
  110. package/tests/js/index.js +1 -4
  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 +330 -233
  116. package/tests/offcanvas.html +17 -21
  117. package/tests/parallax.html +1 -1
  118. package/tests/position.html +18 -16
  119. package/tests/progress.html +9 -9
  120. package/tests/scroll.html +7 -10
  121. package/tests/search.html +6 -6
  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 +15 -15
  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
@@ -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 @@
51
52
  @navbar-nav-item-onclick-color: @global-emphasis-color;
52
53
  @navbar-nav-item-active-color: @global-emphasis-color;
53
54
 
54
- @navbar-item-padding-horizontal: @navbar-nav-item-padding-horizontal;
55
+ @navbar-parent-icon-margin-left: 4px;
56
+
57
+ @navbar-item-padding-horizontal: 15px;
55
58
  @navbar-item-color: @global-color;
56
59
 
57
60
  @navbar-toggle-color: @global-muted-color;
@@ -71,9 +74,15 @@
71
74
  @navbar-dropdown-grid-gutter-horizontal: @global-gutter;
72
75
  @navbar-dropdown-grid-gutter-vertical: @navbar-dropdown-grid-gutter-horizontal;
73
76
 
74
- @navbar-dropdown-dropbar-margin-top: 0px;
75
- @navbar-dropdown-dropbar-margin-bottom: @navbar-dropdown-dropbar-margin-top;
77
+ @navbar-dropdown-large-shift-margin: 0;
78
+ @navbar-dropdown-large-padding: 40px;
79
+
80
+ @navbar-dropdown-dropbar-padding-top: @navbar-dropdown-padding;
81
+ @navbar-dropdown-dropbar-padding-bottom: @navbar-dropdown-dropbar-padding-top;
76
82
  @navbar-dropdown-dropbar-padding-horizontal: @navbar-nav-item-padding-horizontal;
83
+ @navbar-dropdown-dropbar-viewport-margin: 15px;
84
+ @navbar-dropdown-dropbar-viewport-margin-s: @global-gutter;
85
+ @navbar-dropdown-dropbar-viewport-margin-m: @global-medium-gutter;
77
86
 
78
87
  @navbar-dropdown-nav-item-color: @global-muted-color;
79
88
  @navbar-dropdown-nav-item-hover-color: @global-color;
@@ -86,7 +95,6 @@
86
95
  @navbar-dropdown-nav-sublist-item-hover-color: @global-color;
87
96
  @navbar-dropdown-nav-sublist-item-active-color: @global-emphasis-color;
88
97
 
89
- @navbar-dropbar-background: @navbar-dropdown-background;
90
98
  @navbar-dropbar-z-index: @global-z-index - 20;
91
99
 
92
100
 
@@ -227,7 +235,6 @@
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 @@
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
  .hook-navbar-nav-item();
245
253
  }
@@ -268,6 +276,14 @@
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 @@
288
304
  ========================================================================== */
289
305
 
290
306
  .uk-navbar-toggle {
307
+ padding: 0 @navbar-item-padding-horizontal;
291
308
  color: @navbar-toggle-color;
292
309
  .hook-navbar-toggle();
293
310
  }
@@ -373,7 +390,6 @@
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 @@
384
400
  /* Show */
385
401
  .uk-navbar-dropdown.uk-open { display: block; }
386
402
 
403
+ /*
404
+ * Remove margin from the last-child
405
+ */
387
406
 
407
+ .uk-navbar-dropdown > :last-child { margin-bottom: 0; }
408
+
409
+ // Color Mode
388
410
  .uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
389
411
  .uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
390
412
 
@@ -413,42 +435,48 @@
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
- .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;
457
+ background: transparent;
443
458
  /* 3 */
444
- margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
445
- /* 4 */
446
- padding-left: @navbar-dropdown-dropbar-padding-horizontal;
447
- 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;
448
461
  --uk-position-shift-offset: 0;
462
+ --uk-position-viewport-offset: @navbar-dropdown-dropbar-viewport-margin;
449
463
  .hook-navbar-dropdown-dropbar();
450
464
  }
451
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
+
452
480
 
453
481
  /* Dropdown Nav
454
482
  * Adopts `uk-nav`
@@ -520,12 +548,19 @@
520
548
  /* Dropbar
521
549
  ========================================================================== */
522
550
 
551
+ /*
552
+ * 1. Reset dropbar
553
+ * 2. Width
554
+ */
555
+
523
556
  .uk-navbar-dropbar {
524
- position: absolute;
557
+ /* 1 */
558
+ display: block !important;
525
559
  z-index: @navbar-dropbar-z-index;
560
+ padding: 0;
561
+ /* 2 */
526
562
  left: 0;
527
563
  right: 0;
528
- background: @navbar-dropbar-background;
529
564
  .hook-navbar-dropbar();
530
565
  }
531
566
 
@@ -551,7 +586,6 @@
551
586
  .hook-navbar-transparent() {}
552
587
  .hook-navbar-sticky() {}
553
588
  .hook-navbar-dropdown() {}
554
- .hook-navbar-dropdown-stretch() {}
555
589
  .hook-navbar-dropdown-dropbar() {}
556
590
  .hook-navbar-dropdown-nav() {}
557
591
  .hook-navbar-dropdown-nav-item() {}
@@ -577,6 +611,10 @@
577
611
 
578
612
  .hook-inverse() {
579
613
 
614
+ //
615
+ // Nav Item
616
+ //
617
+
580
618
  .uk-navbar-nav > li > a {
581
619
  color: @inverse-navbar-nav-item-color;
582
620
  .hook-inverse-navbar-nav-item();
@@ -598,11 +636,19 @@
598
636
  .hook-inverse-navbar-nav-item-active();
599
637
  }
600
638
 
639
+ //
640
+ // Item
641
+ //
642
+
601
643
  .uk-navbar-item {
602
644
  color: @inverse-navbar-item-color;
603
645
  .hook-inverse-navbar-item();
604
646
  }
605
647
 
648
+ //
649
+ // Toggle
650
+ //
651
+
606
652
  .uk-navbar-toggle {
607
653
  color: @inverse-navbar-toggle-color;
608
654
  .hook-inverse-navbar-toggle();
@@ -147,6 +147,13 @@
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
 
@@ -413,7 +420,7 @@
413
420
  .hook-logo-hover();
414
421
  }
415
422
 
416
- .uk-logo > :where(img, svg, video) { display: block; }
423
+ .uk-logo :where(img, svg, video) { display: block; }
417
424
 
418
425
  .uk-logo-inverse { display: none; }
419
426
 
@@ -525,7 +532,8 @@
525
532
  .hook-inverse-logo-hover();
526
533
  }
527
534
 
528
- .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) { display: none; }
535
+ .uk-logo > picture:not(:only-of-type) > :not(.uk-logo-inverse),
536
+ .uk-logo > :not(picture):not(.uk-logo-inverse):not(:only-of-type) { display: none; }
529
537
  .uk-logo-inverse { display: block; }
530
538
 
531
539
  }
@@ -39,6 +39,7 @@
39
39
  @import "accordion.less";
40
40
  @import "drop.less";
41
41
  @import "dropdown.less";
42
+ @import "dropbar.less";
42
43
  @import "modal.less";
43
44
  @import "slider.less";
44
45
  @import "sticky.less";
@@ -0,0 +1,44 @@
1
+ //
2
+ // Component: Dropbar
3
+ //
4
+ // ========================================================================
5
+
6
+
7
+ // Variables
8
+ // ========================================================================
9
+
10
+ @dropbar-padding-top: 25px;
11
+ @dropbar-background: @global-background;
12
+
13
+ //
14
+ // New
15
+ //
16
+
17
+ @dropbar-top-box-shadow: 0 12px 7px -6px rgba(0, 0, 0, 0.05);
18
+ @dropbar-bottom-box-shadow: 0 -12px 7px -6px rgba(0, 0, 0, 0.05);
19
+ @dropbar-left-box-shadow: 12px 0 7px -6px rgba(0, 0, 0, 0.05);
20
+ @dropbar-right-box-shadow: -12px 0 7px -6px rgba(0, 0, 0, 0.05);
21
+
22
+
23
+ // Component
24
+ // ========================================================================
25
+
26
+ .hook-dropbar() {}
27
+
28
+
29
+ // Direction modifier
30
+ // ========================================================================
31
+
32
+ .hook-dropbar-top() { box-shadow: @dropbar-top-box-shadow; }
33
+
34
+ .hook-dropbar-bottom() { box-shadow: @dropbar-bottom-box-shadow; }
35
+
36
+ .hook-dropbar-left() { box-shadow: @dropbar-left-box-shadow; }
37
+
38
+ .hook-dropbar-right() { box-shadow: @dropbar-right-box-shadow; }
39
+
40
+
41
+ // Miscellaneous
42
+ // ========================================================================
43
+
44
+ .hook-dropbar-misc() {}
@@ -20,8 +20,6 @@
20
20
 
21
21
  @dropdown-box-shadow: 0 5px 12px rgba(0,0,0,0.15);
22
22
 
23
- @dropdown-stretch-background: @global-muted-background;
24
-
25
23
 
26
24
  // Component
27
25
  // ========================================================================
@@ -29,15 +27,6 @@
29
27
  .hook-dropdown() { box-shadow: @dropdown-box-shadow; }
30
28
 
31
29
 
32
- // Stretch modifier
33
- // ========================================================================
34
-
35
- .hook-dropdown-stretch() {
36
- box-shadow: none;
37
- background: @dropdown-stretch-background;
38
- }
39
-
40
-
41
30
  // Nav
42
31
  // ========================================================================
43
32
 
@@ -11,17 +11,21 @@
11
11
 
12
12
  @nav-default-subtitle-font-size: 12px;
13
13
 
14
+ //
15
+ // New
16
+ //
14
17
 
15
- // Sublists
16
- // ========================================================================
17
-
18
- .hook-nav-sub() {}
18
+ @nav-background-margin-top: 0;
19
+ @nav-background-item-padding-horizontal: 10px;
20
+ @nav-background-item-padding-vertical: 10px;
21
+ @nav-background-item-hover-background: @global-muted-background;
22
+ @nav-background-item-active-background: @global-muted-background;
19
23
 
20
24
 
21
- // Parent icon modifier
25
+ // Sublists
22
26
  // ========================================================================
23
27
 
24
- .hook-nav-parent-icon() {}
28
+ .hook-nav-sub() {}
25
29
 
26
30
 
27
31
  // Header
@@ -72,6 +76,30 @@
72
76
  .hook-nav-primary-divider() {}
73
77
 
74
78
 
79
+ // Secondary style modifier
80
+ // ========================================================================
81
+
82
+ .hook-nav-secondary() {
83
+ > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) { margin-top: @nav-background-margin-top; }
84
+ }
85
+
86
+ .hook-nav-secondary-item() { padding: @nav-background-item-padding-vertical @nav-background-item-padding-horizontal; }
87
+
88
+ .hook-nav-secondary-item-hover() { background-color: @nav-background-item-hover-background; }
89
+
90
+ .hook-nav-secondary-item-active() { background-color: @nav-background-item-active-background; }
91
+
92
+ .hook-nav-secondary-subtitle() {}
93
+
94
+ .hook-nav-secondary-subtitle-hover() {}
95
+
96
+ .hook-nav-secondary-subtitle-active() {}
97
+
98
+ .hook-nav-secondary-header() {}
99
+
100
+ .hook-nav-secondary-divider() {}
101
+
102
+
75
103
  // Style modifier
76
104
  // ========================================================================
77
105
 
@@ -87,7 +115,8 @@
87
115
  // Inverse
88
116
  // ========================================================================
89
117
 
90
- .hook-inverse-nav-parent-icon() {}
118
+ @inverse-nav-background-item-hover-background: @inverse-global-muted-background;
119
+ @inverse-nav-background-item-active-background: @inverse-global-muted-background;
91
120
 
92
121
  .hook-inverse-nav-default-item() {}
93
122
  .hook-inverse-nav-default-item-hover() {}
@@ -101,4 +130,13 @@
101
130
  .hook-inverse-nav-primary-header() {}
102
131
  .hook-inverse-nav-primary-divider() {}
103
132
 
133
+ .hook-inverse-nav-secondary-item() {}
134
+ .hook-inverse-nav-secondary-item-hover() { background-color: @inverse-nav-background-item-hover-background; }
135
+ .hook-inverse-nav-secondary-item-active() { background-color: @inverse-nav-background-item-active-background; }
136
+ .hook-inverse-nav-secondary-subtitle() {}
137
+ .hook-inverse-nav-secondary-subtitle-hover() {}
138
+ .hook-inverse-nav-secondary-subtitle-active() {}
139
+ .hook-inverse-nav-secondary-header() {}
140
+ .hook-inverse-nav-secondary-divider() {}
141
+
104
142
  .hook-inverse-nav-dividers() {}
@@ -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,10 +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
- @navbar-dropbar-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
37
-
38
37
  @navbar-dropdown-grid-divider-border-width: @global-border-width;
39
38
  @navbar-dropdown-grid-divider-border: @navbar-dropdown-nav-divider-border;
40
39
 
@@ -106,11 +105,6 @@
106
105
 
107
106
  .hook-navbar-dropdown() { box-shadow: @navbar-dropdown-box-shadow; }
108
107
 
109
- .hook-navbar-dropdown-stretch() {
110
- box-shadow: none;
111
- background: @navbar-dropdown-stretch-background;
112
- }
113
-
114
108
  .hook-navbar-dropdown-dropbar() { box-shadow: none; }
115
109
 
116
110
 
@@ -133,7 +127,7 @@
133
127
  // Dropbar
134
128
  // ========================================================================
135
129
 
136
- .hook-navbar-dropbar() { box-shadow: @navbar-dropbar-box-shadow; }
130
+ .hook-navbar-dropbar() {}
137
131
 
138
132
 
139
133
  // Miscellaneous
@@ -40,6 +40,7 @@
40
40
  @import "accordion.scss";
41
41
  @import "drop.scss"; // After: Card
42
42
  @import "dropdown.scss"; // After: Card
43
+ @import "dropbar.scss";
43
44
  @import "modal.scss"; // After: Close
44
45
  @import "slideshow.scss";
45
46
  @import "slider.scss";
@@ -3,8 +3,7 @@
3
3
  //
4
4
  // Component: `uk-drop`
5
5
  //
6
- // Modifiers: `uk-drop-stretch`
7
- // `uk-drop-stack`
6
+ // Modifiers: `uk-drop-stack`
8
7
  // `uk-drop-grid`
9
8
  //
10
9
  // States: `uk-open`
@@ -50,22 +49,6 @@ $drop-width: 300px !default;
50
49
  .uk-drop.uk-open { display: block; }
51
50
 
52
51
 
53
- /* Stretch modifier
54
- ========================================================================== */
55
-
56
- /*
57
- * 1. Allow scrolling
58
- */
59
-
60
- .uk-drop-stretch {
61
- --uk-position-offset: 0;
62
- --uk-position-viewport-offset: 0;
63
- /* 1 */
64
- overflow-y: auto;
65
- -webkit-overflow-scrolling: touch;
66
- }
67
-
68
-
69
52
  /* Grid modifiers
70
53
  ========================================================================== */
71
54
 
@@ -0,0 +1,115 @@
1
+ // Name: Dropbar
2
+ // Description: Component to create dropbar menus
3
+ //
4
+ // Component: `uk-dropbar`
5
+ //
6
+ // ========================================================================
7
+
8
+
9
+ // Variables
10
+ // ========================================================================
11
+
12
+ $dropbar-margin: 0 !default;
13
+ $dropbar-z-index: $global-z-index + 20 !default;
14
+ $dropbar-padding-top: 15px !default;
15
+ $dropbar-padding-bottom: $dropbar-padding-top !default;
16
+ $dropbar-padding-horizontal: 15px !default;
17
+ $dropbar-padding-horizontal-s: $global-gutter !default;
18
+ $dropbar-padding-horizontal-m: $global-medium-gutter !default;
19
+ $dropbar-background: $global-muted-background !default;
20
+ $dropbar-color: $global-color !default;
21
+ $dropbar-color-mode: none !default;
22
+
23
+
24
+ /* ========================================================================
25
+ Component: Dropbar
26
+ ========================================================================== */
27
+
28
+ /*
29
+ * 1. Hide by default
30
+ * 2. Set position
31
+ * 3. Style
32
+ */
33
+
34
+ .uk-dropbar {
35
+ --uk-position-offset: #{$dropbar-margin};
36
+ --uk-position-shift-offset: 0;
37
+ --uk-position-viewport-offset: 0;
38
+ /* 1 */
39
+ display: none;
40
+ /* 2 */
41
+ position: absolute;
42
+ z-index: $dropbar-z-index;
43
+ /* 3 */
44
+ box-sizing: border-box;
45
+ padding: $dropbar-padding-top $dropbar-padding-horizontal $dropbar-padding-bottom $dropbar-padding-horizontal;
46
+ background: $dropbar-background;
47
+ color: $dropbar-color;
48
+ @if(mixin-exists(hook-dropbar)) {@include hook-dropbar();}
49
+ }
50
+
51
+ /* Show */
52
+ .uk-dropbar.uk-open { display: block; }
53
+
54
+ /*
55
+ * Remove margin from the last-child
56
+ */
57
+
58
+ .uk-dropbar > :last-child { margin-bottom: 0; }
59
+
60
+ /* Phone landscape and bigger */
61
+ @media (min-width: $breakpoint-small) {
62
+
63
+ .uk-dropbar {
64
+ padding-left: $dropbar-padding-horizontal-s;
65
+ padding-right: $dropbar-padding-horizontal-s;
66
+ }
67
+
68
+ }
69
+
70
+ /* Tablet landscape and bigger */
71
+ @media (min-width: $breakpoint-medium) {
72
+
73
+ .uk-dropbar {
74
+ padding-left: $dropbar-padding-horizontal-m;
75
+ padding-right: $dropbar-padding-horizontal-m;
76
+ }
77
+
78
+ }
79
+
80
+ // Color Mode
81
+ @if ( $dropbar-color-mode == light ) { .uk-dropbar { @extend .uk-light !optional;} }
82
+ @if ( $dropbar-color-mode == dark ) { .uk-dropbar { @extend .uk-dark !optional;} }
83
+
84
+
85
+ /* Direction modifier
86
+ ========================================================================== */
87
+
88
+ .uk-dropbar-top {
89
+ @if(mixin-exists(hook-dropbar-top)) {@include hook-dropbar-top();}
90
+ }
91
+
92
+ .uk-dropbar-bottom {
93
+ @if(mixin-exists(hook-dropbar-bottom)) {@include hook-dropbar-bottom();}
94
+ }
95
+
96
+ .uk-dropbar-left {
97
+ @if(mixin-exists(hook-dropbar-left)) {@include hook-dropbar-left();}
98
+ }
99
+
100
+ .uk-dropbar-right {
101
+ @if(mixin-exists(hook-dropbar-right)) {@include hook-dropbar-right();}
102
+ }
103
+
104
+
105
+ // Hooks
106
+ // ========================================================================
107
+
108
+ @if(mixin-exists(hook-dropbar-misc)) {@include hook-dropbar-misc();}
109
+
110
+ // @mixin hook-dropbar(){}
111
+ // @mixin hook-dropbar-top(){}
112
+ // @mixin hook-dropbar-bottom(){}
113
+ // @mixin hook-dropbar-left(){}
114
+ // @mixin hook-dropbar-right(){}
115
+ // @mixin hook-dropbar-misc(){}
@@ -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(){}