uikit 3.14.4-dev.a02c81d72 → 3.14.4-dev.a3fc077ea

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 (133) hide show
  1. package/CHANGELOG.md +34 -17
  2. package/build/util.js +1 -0
  3. package/dist/css/uikit-core-rtl.css +339 -109
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +339 -109
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +359 -113
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +359 -113
  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 +1 -1
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +89 -132
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +89 -132
  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 +102 -147
  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 +476 -452
  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 +476 -452
  42. package/dist/js/uikit.min.js +14 -1
  43. package/package.json +1 -1
  44. package/src/images/{backgrounds/nav-parent-close.svg → components/nav-parent-icon-large.svg} +0 -0
  45. package/src/images/{backgrounds/navbar-parent-close.svg → components/nav-parent-icon.svg} +0 -0
  46. package/src/images/{backgrounds/navbar-parent-open.svg → components/navbar-parent-icon.svg} +1 -1
  47. package/src/images/components/navbar-toggle-icon.svg +22 -3
  48. package/src/js/api/state.js +2 -2
  49. package/src/js/core/accordion.js +9 -17
  50. package/src/js/core/alert.js +35 -14
  51. package/src/js/core/drop.js +89 -62
  52. package/src/js/core/height-viewport.js +4 -2
  53. package/src/js/core/icon.js +16 -0
  54. package/src/js/core/index.js +2 -0
  55. package/src/js/core/leader.js +2 -2
  56. package/src/js/core/navbar.js +30 -45
  57. package/src/js/core/scroll.js +37 -10
  58. package/src/js/core/toggle.js +3 -5
  59. package/src/js/mixin/media.js +4 -5
  60. package/src/js/mixin/modal.js +9 -6
  61. package/src/js/mixin/position.js +24 -26
  62. package/src/js/mixin/style.js +11 -0
  63. package/src/js/mixin/togglable.js +88 -133
  64. package/src/js/util/animation.js +4 -3
  65. package/src/js/util/class.js +3 -1
  66. package/src/js/util/filter.js +3 -7
  67. package/src/js/util/position.js +107 -107
  68. package/src/js/util/style.js +4 -13
  69. package/src/js/util/viewport.js +3 -5
  70. package/src/less/components/_import.less +1 -0
  71. package/src/less/components/drop.less +1 -18
  72. package/src/less/components/dropbar.less +115 -0
  73. package/src/less/components/dropdown.less +11 -19
  74. package/src/less/components/leader.less +1 -1
  75. package/src/less/components/nav.less +218 -59
  76. package/src/less/components/navbar.less +54 -47
  77. package/src/less/components/utility.less +10 -2
  78. package/src/less/theme/_import.less +1 -0
  79. package/src/less/theme/dropbar.less +44 -0
  80. package/src/less/theme/dropdown.less +0 -11
  81. package/src/less/theme/nav.less +45 -7
  82. package/src/less/theme/navbar.less +1 -5
  83. package/src/scss/components/_import.scss +1 -0
  84. package/src/scss/components/drop.scss +1 -18
  85. package/src/scss/components/dropbar.scss +115 -0
  86. package/src/scss/components/dropdown.scss +11 -19
  87. package/src/scss/components/leader.scss +1 -1
  88. package/src/scss/components/nav.scss +167 -47
  89. package/src/scss/components/navbar.scss +42 -47
  90. package/src/scss/components/utility.scss +8 -1
  91. package/src/scss/mixins-theme.scss +92 -21
  92. package/src/scss/mixins.scss +89 -17
  93. package/src/scss/theme/_import.scss +1 -0
  94. package/src/scss/theme/dropbar.scss +44 -0
  95. package/src/scss/theme/dropdown.scss +0 -8
  96. package/src/scss/theme/nav.scss +43 -7
  97. package/src/scss/theme/navbar.scss +1 -5
  98. package/src/scss/variables-theme.scss +56 -19
  99. package/src/scss/variables.scss +45 -17
  100. package/tests/accordion.html +2 -2
  101. package/tests/alert.html +2 -2
  102. package/tests/countdown.html +1 -1
  103. package/tests/drop.html +442 -412
  104. package/tests/dropbar.html +456 -0
  105. package/tests/dropdown.html +8 -470
  106. package/tests/filter.html +9 -12
  107. package/tests/form.html +1 -1
  108. package/tests/index.html +126 -107
  109. package/tests/js/index.js +1 -4
  110. package/tests/lightbox.html +5 -5
  111. package/tests/list.html +8 -8
  112. package/tests/modal.html +13 -13
  113. package/tests/nav.html +117 -75
  114. package/tests/navbar.html +102 -237
  115. package/tests/offcanvas.html +17 -21
  116. package/tests/parallax.html +1 -1
  117. package/tests/position.html +18 -16
  118. package/tests/progress.html +9 -9
  119. package/tests/scroll.html +7 -10
  120. package/tests/search.html +5 -5
  121. package/tests/slider.html +6 -5
  122. package/tests/slideshow.html +8 -8
  123. package/tests/sortable.html +6 -8
  124. package/tests/sticky-navbar.html +6 -6
  125. package/tests/sticky.html +8 -8
  126. package/tests/switcher.html +1 -1
  127. package/tests/tab.html +1 -1
  128. package/tests/table.html +7 -7
  129. package/tests/toggle.html +2 -2
  130. package/tests/tooltip.html +1 -1
  131. package/tests/upload.html +11 -11
  132. package/tests/utility.html +19 -0
  133. package/src/images/backgrounds/nav-parent-open.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,9 +52,7 @@
51
52
  @navbar-nav-item-onclick-color: @global-emphasis-color;
52
53
  @navbar-nav-item-active-color: @global-emphasis-color;
53
54
 
54
- @navbar-parent-icon-width: 12px;
55
- @navbar-parent-icon-height: 12px;
56
- @navbar-parent-icon-color: @navbar-nav-item-color;
55
+ @navbar-parent-icon-margin-left: 4px;
57
56
 
58
57
  @navbar-item-padding-horizontal: 15px;
59
58
  @navbar-item-color: @global-color;
@@ -75,16 +74,15 @@
75
74
  @navbar-dropdown-grid-gutter-horizontal: @global-gutter;
76
75
  @navbar-dropdown-grid-gutter-vertical: @navbar-dropdown-grid-gutter-horizontal;
77
76
 
77
+ @navbar-dropdown-large-shift-margin: 0;
78
78
  @navbar-dropdown-large-padding: 40px;
79
79
 
80
- @navbar-dropdown-stretch-padding-top: 15px;
81
- @navbar-dropdown-stretch-padding-bottom: @navbar-dropdown-stretch-padding-top;
82
- @navbar-dropdown-stretch-padding-horizontal: 15px;
83
- @navbar-dropdown-stretch-background: @global-background;
84
-
85
80
  @navbar-dropdown-dropbar-padding-top: @navbar-dropdown-padding;
86
81
  @navbar-dropdown-dropbar-padding-bottom: @navbar-dropdown-dropbar-padding-top;
87
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;
88
86
 
89
87
  @navbar-dropdown-nav-item-color: @global-muted-color;
90
88
  @navbar-dropdown-nav-item-hover-color: @global-color;
@@ -97,12 +95,8 @@
97
95
  @navbar-dropdown-nav-sublist-item-hover-color: @global-color;
98
96
  @navbar-dropdown-nav-sublist-item-active-color: @global-emphasis-color;
99
97
 
100
- @navbar-dropbar-background: @navbar-dropdown-background;
101
98
  @navbar-dropbar-z-index: @global-z-index - 20;
102
99
 
103
- @internal-navbar-parent-close-image: "../../images/backgrounds/navbar-parent-close.svg";
104
- @internal-navbar-parent-open-image: "../../images/backgrounds/navbar-parent-open.svg";
105
-
106
100
 
107
101
  /* ========================================================================
108
102
  Component: Navbar
@@ -285,19 +279,9 @@
285
279
  /* Parent icon modifier
286
280
  ========================================================================== */
287
281
 
288
- .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent > a::after {
289
- content: "";
290
- width: @navbar-parent-icon-width;
291
- height: @navbar-parent-icon-height;
292
- margin-left: auto;
293
- .svg-fill(@internal-navbar-parent-close-image, "#000", @navbar-parent-icon-color);
294
- background-repeat: no-repeat;
295
- background-position: 50% 50%;
296
- .hook-nav-parent-icon();
297
- }
282
+ .uk-navbar-parent-icon { margin-left: @navbar-parent-icon-margin-left; }
298
283
 
299
- .uk-navbar-parent-icon .uk-navbar-nav > .uk-parent:hover > a::after,
300
- .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); }
284
+ .uk-navbar-nav > li > a[aria-expanded="true"] .uk-navbar-parent-icon { transform: rotate(180deg); }
301
285
 
302
286
 
303
287
  /* Item
@@ -406,7 +390,6 @@
406
390
  /* 3 */
407
391
  box-sizing: border-box;
408
392
  width: @navbar-dropdown-width;
409
- max-width: 100vw;
410
393
  /* 4 */
411
394
  padding: @navbar-dropdown-padding;
412
395
  background: @navbar-dropdown-background;
@@ -417,6 +400,12 @@
417
400
  /* Show */
418
401
  .uk-navbar-dropdown.uk-open { display: block; }
419
402
 
403
+ /*
404
+ * Remove margin from the last-child
405
+ */
406
+
407
+ .uk-navbar-dropdown > :last-child { margin-bottom: 0; }
408
+
420
409
  // Color Mode
421
410
  .uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
422
411
  .uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
@@ -449,25 +438,9 @@
449
438
  * Size modifier
450
439
  */
451
440
 
452
- .uk-navbar-dropdown-large { padding: @navbar-dropdown-large-padding; }
453
-
454
- /*
455
- * Stretch modifier
456
- * 1. Allow scrolling
457
- * 2. Style
458
- */
459
-
460
- .uk-navbar-dropdown-stretch {
461
- --uk-position-offset: 0;
462
- --uk-position-shift-offset: 0;
463
- --uk-position-viewport-offset: 0;
464
- /* 1 */
465
- overflow-y: auto;
466
- -webkit-overflow-scrolling: touch;
467
- /* 2 */
468
- padding: @navbar-dropdown-stretch-padding-top @navbar-dropdown-stretch-padding-horizontal @navbar-dropdown-stretch-padding-bottom @navbar-dropdown-stretch-padding-horizontal;
469
- background: @navbar-dropdown-stretch-background;
470
- .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;
471
444
  }
472
445
 
473
446
  /*
@@ -484,10 +457,26 @@
484
457
  background: transparent;
485
458
  /* 3 */
486
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;
487
461
  --uk-position-shift-offset: 0;
462
+ --uk-position-viewport-offset: @navbar-dropdown-dropbar-viewport-margin;
488
463
  .hook-navbar-dropdown-dropbar();
489
464
  }
490
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
+
491
480
 
492
481
  /* Dropdown Nav
493
482
  * Adopts `uk-nav`
@@ -559,12 +548,19 @@
559
548
  /* Dropbar
560
549
  ========================================================================== */
561
550
 
551
+ /*
552
+ * 1. Reset dropbar
553
+ * 2. Width
554
+ */
555
+
562
556
  .uk-navbar-dropbar {
563
- position: absolute;
557
+ /* 1 */
558
+ display: block !important;
564
559
  z-index: @navbar-dropbar-z-index;
560
+ padding: 0;
561
+ /* 2 */
565
562
  left: 0;
566
563
  right: 0;
567
- background: @navbar-dropbar-background;
568
564
  .hook-navbar-dropbar();
569
565
  }
570
566
 
@@ -590,7 +586,6 @@
590
586
  .hook-navbar-transparent() {}
591
587
  .hook-navbar-sticky() {}
592
588
  .hook-navbar-dropdown() {}
593
- .hook-navbar-dropdown-stretch() {}
594
589
  .hook-navbar-dropdown-dropbar() {}
595
590
  .hook-navbar-dropdown-nav() {}
596
591
  .hook-navbar-dropdown-nav-item() {}
@@ -616,6 +611,10 @@
616
611
 
617
612
  .hook-inverse() {
618
613
 
614
+ //
615
+ // Nav Item
616
+ //
617
+
619
618
  .uk-navbar-nav > li > a {
620
619
  color: @inverse-navbar-nav-item-color;
621
620
  .hook-inverse-navbar-nav-item();
@@ -637,11 +636,19 @@
637
636
  .hook-inverse-navbar-nav-item-active();
638
637
  }
639
638
 
639
+ //
640
+ // Item
641
+ //
642
+
640
643
  .uk-navbar-item {
641
644
  color: @inverse-navbar-item-color;
642
645
  .hook-inverse-navbar-item();
643
646
  }
644
647
 
648
+ //
649
+ // Toggle
650
+ //
651
+
645
652
  .uk-navbar-toggle {
646
653
  color: @inverse-navbar-toggle-color;
647
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() {}
@@ -34,8 +34,6 @@
34
34
 
35
35
  @navbar-dropdown-box-shadow: 0 5px 12px rgba(0,0,0,0.15);
36
36
 
37
- @navbar-dropbar-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
38
-
39
37
  @navbar-dropdown-grid-divider-border-width: @global-border-width;
40
38
  @navbar-dropdown-grid-divider-border: @navbar-dropdown-nav-divider-border;
41
39
 
@@ -107,8 +105,6 @@
107
105
 
108
106
  .hook-navbar-dropdown() { box-shadow: @navbar-dropdown-box-shadow; }
109
107
 
110
- .hook-navbar-dropdown-stretch() { box-shadow: none; }
111
-
112
108
  .hook-navbar-dropdown-dropbar() { box-shadow: none; }
113
109
 
114
110
 
@@ -131,7 +127,7 @@
131
127
  // Dropbar
132
128
  // ========================================================================
133
129
 
134
- .hook-navbar-dropbar() { box-shadow: @navbar-dropbar-box-shadow; }
130
+ .hook-navbar-dropbar() {}
135
131
 
136
132
 
137
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,7 @@ $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;
27
28
 
28
29
  $dropdown-large-padding: 40px !default;
29
30
 
@@ -59,7 +60,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
59
60
  /* 3 */
60
61
  box-sizing: border-box;
61
62
  min-width: $dropdown-min-width;
62
- max-width: 100vw;
63
63
  /* 4 */
64
64
  padding: $dropdown-padding;
65
65
  background: $dropdown-background;
@@ -70,28 +70,21 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
70
70
  /* Show */
71
71
  .uk-dropdown.uk-open { display: block; }
72
72
 
73
+ /*
74
+ * Remove margin from the last-child
75
+ */
73
76
 
74
- /* Size modifier
75
- ========================================================================== */
77
+ .uk-dropdown > :last-child { margin-bottom: 0; }
76
78
 
77
- .uk-dropdown-large { padding: $dropdown-large-padding; }
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;} }
78
82
 
79
83
 
80
- /* Stretch modifier
84
+ /* Size modifier
81
85
  ========================================================================== */
82
86
 
83
- /*
84
- * 1. Allow scrolling
85
- */
86
-
87
- .uk-dropdown-stretch {
88
- --uk-position-offset: 0;
89
- --uk-position-viewport-offset: 0;
90
- /* 1 */
91
- overflow-y: auto;
92
- -webkit-overflow-scrolling: touch;
93
- @if(mixin-exists(hook-dropdown-stretch)) {@include hook-dropdown-stretch();}
94
- }
87
+ .uk-dropdown-large { padding: $dropdown-large-padding; }
95
88
 
96
89
 
97
90
  /* Nav
@@ -168,7 +161,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
168
161
  @if(mixin-exists(hook-dropdown-misc)) {@include hook-dropdown-misc();}
169
162
 
170
163
  // @mixin hook-dropdown(){}
171
- // @mixin hook-dropdown-stretch(){}
172
164
  // @mixin hook-dropdown-nav(){}
173
165
  // @mixin hook-dropdown-nav-item(){}
174
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