uikit 3.14.3 → 3.14.4-dev.0097ef093

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 (88) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/css/uikit-core-rtl.css +100 -31
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +100 -31
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +103 -46
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +103 -46
  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 +1 -1
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +189 -26
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +189 -26
  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 +1 -1
  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 +1 -1
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +1 -1
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +135 -34
  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 +801 -617
  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 +801 -617
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/accordion.js +3 -3
  44. package/src/js/core/alert.js +1 -1
  45. package/src/js/core/drop.js +47 -20
  46. package/src/js/core/height-viewport.js +14 -9
  47. package/src/js/core/navbar.js +11 -9
  48. package/src/js/core/offcanvas.js +1 -47
  49. package/src/js/core/switcher.js +1 -1
  50. package/src/js/mixin/modal.js +90 -4
  51. package/src/js/mixin/position.js +44 -13
  52. package/src/js/mixin/togglable.js +105 -24
  53. package/src/js/util/animation.js +1 -0
  54. package/src/js/util/viewport.js +21 -10
  55. package/src/less/components/drop.less +19 -5
  56. package/src/less/components/dropdown.less +21 -5
  57. package/src/less/components/margin.less +13 -14
  58. package/src/less/components/modal.less +19 -4
  59. package/src/less/components/nav.less +23 -5
  60. package/src/less/components/navbar.less +56 -25
  61. package/src/less/components/offcanvas.less +21 -21
  62. package/src/less/components/position.less +1 -1
  63. package/src/less/components/utility.less +0 -1
  64. package/src/less/theme/dropdown.less +11 -0
  65. package/src/less/theme/nav.less +3 -7
  66. package/src/less/theme/navbar.less +12 -12
  67. package/src/scss/components/drop.scss +19 -5
  68. package/src/scss/components/dropdown.scss +21 -5
  69. package/src/scss/components/margin.scss +13 -14
  70. package/src/scss/components/modal.scss +19 -4
  71. package/src/scss/components/nav.scss +23 -5
  72. package/src/scss/components/navbar.scss +45 -14
  73. package/src/scss/components/offcanvas.scss +21 -21
  74. package/src/scss/components/position.scss +1 -1
  75. package/src/scss/components/utility.scss +0 -1
  76. package/src/scss/mixins-theme.scss +9 -13
  77. package/src/scss/mixins.scss +2 -0
  78. package/src/scss/theme/dropdown.scss +8 -0
  79. package/src/scss/theme/nav.scss +3 -7
  80. package/src/scss/theme/navbar.scss +9 -0
  81. package/src/scss/variables-theme.scss +35 -14
  82. package/src/scss/variables.scss +33 -13
  83. package/tests/drop.html +151 -2
  84. package/tests/dropdown.html +228 -13
  85. package/tests/height-viewport.html +62 -0
  86. package/tests/navbar.html +325 -18
  87. package/tests/offcanvas.html +8 -8
  88. package/tests/sticky-navbar.html +132 -0
@@ -37,8 +37,11 @@
37
37
  // ========================================================================
38
38
 
39
39
  @navbar-background: @global-muted-background;
40
+ @navbar-gap: 0px; // Must have a unit because of `calc`
40
41
  @navbar-color-mode: none;
41
42
 
43
+ @navbar-nav-gap: 0px; // Must have a unit because of `calc`
44
+
42
45
  @navbar-nav-item-height: 80px;
43
46
  @navbar-nav-item-padding-horizontal: 15px;
44
47
  @navbar-nav-item-color: @global-muted-color;
@@ -48,6 +51,7 @@
48
51
  @navbar-nav-item-onclick-color: @global-emphasis-color;
49
52
  @navbar-nav-item-active-color: @global-emphasis-color;
50
53
 
54
+ @navbar-item-padding-horizontal: @navbar-nav-item-padding-horizontal;
51
55
  @navbar-item-color: @global-color;
52
56
 
53
57
  @navbar-toggle-color: @global-muted-color;
@@ -56,11 +60,14 @@
56
60
  @navbar-subtitle-font-size: @global-small-font-size;
57
61
 
58
62
  @navbar-dropdown-z-index: @global-z-index + 20;
59
- @navbar-dropdown-margin: 0px;
63
+ @navbar-dropdown-margin: 0;
64
+ @navbar-dropdown-shift-margin: 0;
65
+ @navbar-dropdown-viewport-margin: 15px;
60
66
  @navbar-dropdown-width: 200px;
61
67
  @navbar-dropdown-padding: 15px;
62
68
  @navbar-dropdown-background: @global-muted-background;
63
69
  @navbar-dropdown-color: @global-color;
70
+ @navbar-dropdown-color-mode: none;
64
71
  @navbar-dropdown-grid-gutter-horizontal: @global-gutter;
65
72
  @navbar-dropdown-grid-gutter-vertical: @navbar-dropdown-grid-gutter-horizontal;
66
73
 
@@ -117,16 +124,13 @@
117
124
 
118
125
  /*
119
126
  * 1. Align navs and items vertically if they have a different height
120
- * 2. Note: IE 11 requires an extra `div` which affects the center selector
121
127
  */
122
128
 
123
129
  .uk-navbar-left,
124
130
  .uk-navbar-right,
125
- // 2. [class*='uk-navbar-center'],
126
- .uk-navbar-center,
127
- .uk-navbar-center-left > *,
128
- .uk-navbar-center-right > * {
131
+ [class*='uk-navbar-center'] {
129
132
  display: flex;
133
+ gap: @navbar-gap;
130
134
  /* 1 */
131
135
  align-items: center;
132
136
  }
@@ -168,8 +172,8 @@
168
172
  top: 0;
169
173
  }
170
174
 
171
- .uk-navbar-center-left { right: 100%; }
172
- .uk-navbar-center-right { left: 100%; }
175
+ .uk-navbar-center-left { right: ~'calc(100% + @{navbar-gap})'; }
176
+ .uk-navbar-center-right { left: ~'calc(100% + @{navbar-gap})'; }
173
177
 
174
178
  [class*='uk-navbar-center-'] {
175
179
  width: max-content;
@@ -186,6 +190,7 @@
186
190
 
187
191
  .uk-navbar-nav {
188
192
  display: flex;
193
+ gap: @navbar-nav-gap;
189
194
  /* 1 */
190
195
  margin: 0;
191
196
  padding: 0;
@@ -267,6 +272,7 @@
267
272
  ========================================================================== */
268
273
 
269
274
  .uk-navbar-item {
275
+ padding: 0 @navbar-item-padding-horizontal;
270
276
  color: @navbar-item-color;
271
277
  .hook-navbar-item();
272
278
  }
@@ -362,7 +368,8 @@
362
368
  position: absolute;
363
369
  z-index: @navbar-dropdown-z-index;
364
370
  --uk-position-offset: @navbar-dropdown-margin;
365
- --uk-position-viewport-offset: 10;
371
+ --uk-position-shift-offset: @navbar-dropdown-shift-margin;
372
+ --uk-position-viewport-offset: @navbar-dropdown-viewport-margin;
366
373
  /* 3 */
367
374
  box-sizing: border-box;
368
375
  width: @navbar-dropdown-width;
@@ -377,6 +384,10 @@
377
384
  /* Show */
378
385
  .uk-navbar-dropdown.uk-open { display: block; }
379
386
 
387
+
388
+ .uk-navbar-dropdown:extend(.uk-light all) when (@navbar-dropdown-color-mode = light) {}
389
+ .uk-navbar-dropdown:extend(.uk-dark all) when (@navbar-dropdown-color-mode = dark) {}
390
+
380
391
  /*
381
392
  * Grid
382
393
  * Adopts `uk-grid`
@@ -401,22 +412,41 @@
401
412
  .uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) { width: (@navbar-dropdown-width * 4); }
402
413
  .uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) { width: (@navbar-dropdown-width * 5); }
403
414
 
415
+ /*
416
+ * Stretch modifier
417
+ * 1. Allow scrolling
418
+ */
419
+
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();
428
+ }
429
+
404
430
  /*
405
431
  * Dropbar modifier
406
- * 1. Set position
407
- * 2. Bottom padding for dropbar
408
- * 3. Horizontal padding
432
+ * 1. Reset dropdown width to prevent to early shifting
433
+ * 2. Set position
434
+ * 3. Bottom padding for dropbar
435
+ * 4. Horizontal padding
409
436
  */
410
437
 
411
438
  .uk-navbar-dropdown-dropbar {
412
439
  /* 1 */
440
+ width: auto;
441
+ /* 2 */
413
442
  --uk-position-offset: @navbar-dropdown-dropbar-margin-top;
414
443
  --uk-position-viewport-offset: 0;
415
- /* 2 */
416
- margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
417
444
  /* 3 */
445
+ margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
446
+ /* 4 */
418
447
  padding-left: @navbar-dropdown-dropbar-padding-horizontal;
419
448
  padding-right: @navbar-dropdown-dropbar-padding-horizontal;
449
+ --uk-position-shift-offset: 0;
420
450
  .hook-navbar-dropdown-dropbar();
421
451
  }
422
452
 
@@ -513,24 +543,25 @@
513
543
  .hook-navbar-nav-item-onclick() {}
514
544
  .hook-navbar-nav-item-active() {}
515
545
  .hook-navbar-item() {}
516
- .hook-navbar-toggle(){}
517
- .hook-navbar-toggle-hover(){}
518
- .hook-navbar-toggle-icon(){}
519
- .hook-navbar-toggle-icon-hover(){}
546
+ .hook-navbar-toggle() {}
547
+ .hook-navbar-toggle-hover() {}
548
+ .hook-navbar-toggle-icon() {}
549
+ .hook-navbar-toggle-icon-hover() {}
520
550
  .hook-navbar-subtitle() {}
521
- .hook-navbar-primary(){}
522
- .hook-navbar-transparent(){}
523
- .hook-navbar-sticky(){}
524
- .hook-navbar-dropdown(){}
525
- .hook-navbar-dropdown-dropbar(){}
526
- .hook-navbar-dropdown-nav(){}
551
+ .hook-navbar-primary() {}
552
+ .hook-navbar-transparent() {}
553
+ .hook-navbar-sticky() {}
554
+ .hook-navbar-dropdown() {}
555
+ .hook-navbar-dropdown-stretch() {}
556
+ .hook-navbar-dropdown-dropbar() {}
557
+ .hook-navbar-dropdown-nav() {}
527
558
  .hook-navbar-dropdown-nav-item() {}
528
559
  .hook-navbar-dropdown-nav-item-hover() {}
529
560
  .hook-navbar-dropdown-nav-item-active() {}
530
561
  .hook-navbar-dropdown-nav-subtitle() {}
531
562
  .hook-navbar-dropdown-nav-header() {}
532
563
  .hook-navbar-dropdown-nav-divider() {}
533
- .hook-navbar-dropbar(){}
564
+ .hook-navbar-dropbar() {}
534
565
  .hook-navbar-misc() {}
535
566
 
536
567
 
@@ -26,19 +26,19 @@
26
26
  @offcanvas-z-index: @global-z-index;
27
27
 
28
28
  @offcanvas-bar-width: 270px;
29
- @offcanvas-bar-padding-vertical: @global-margin;
30
- @offcanvas-bar-padding-horizontal: @global-margin;
29
+ @offcanvas-bar-padding-vertical: 20px;
30
+ @offcanvas-bar-padding-horizontal: 20px;
31
31
  @offcanvas-bar-background: @global-secondary-background;
32
32
  @offcanvas-bar-color-mode: light;
33
33
 
34
- @offcanvas-bar-width-m: 350px;
35
- @offcanvas-bar-padding-vertical-m: @global-medium-gutter;
36
- @offcanvas-bar-padding-horizontal-m: @global-medium-gutter;
34
+ @offcanvas-bar-width-s: 350px;
35
+ @offcanvas-bar-padding-vertical-s: @global-gutter;
36
+ @offcanvas-bar-padding-horizontal-s: @global-gutter;
37
37
 
38
38
  @offcanvas-close-position: 5px;
39
39
  @offcanvas-close-padding: 5px;
40
40
 
41
- @offcanvas-close-position-m: 20px;
41
+ @offcanvas-close-position-s: 10px;
42
42
 
43
43
  @offcanvas-overlay-background: rgba(0,0,0,0.1);
44
44
 
@@ -99,13 +99,13 @@
99
99
  .hook-offcanvas-bar();
100
100
  }
101
101
 
102
- /* Tablet landscape and bigger */
103
- @media (min-width: @breakpoint-medium) {
102
+ /* Phone landscape and bigger */
103
+ @media (min-width: @breakpoint-small) {
104
104
 
105
105
  .uk-offcanvas-bar {
106
- left: -@offcanvas-bar-width-m;
107
- width: @offcanvas-bar-width-m;
108
- padding: @offcanvas-bar-padding-vertical-m @offcanvas-bar-padding-horizontal-m;
106
+ left: -@offcanvas-bar-width-s;
107
+ width: @offcanvas-bar-width-s;
108
+ padding: @offcanvas-bar-padding-vertical-s @offcanvas-bar-padding-horizontal-s;
109
109
  }
110
110
 
111
111
  }
@@ -121,9 +121,9 @@
121
121
  }
122
122
 
123
123
  /* Tablet landscape and bigger */
124
- @media (min-width: @breakpoint-medium) {
124
+ @media (min-width: @breakpoint-small) {
125
125
 
126
- .uk-offcanvas-flip .uk-offcanvas-bar { right: -@offcanvas-bar-width-m; }
126
+ .uk-offcanvas-flip .uk-offcanvas-bar { right: -@offcanvas-bar-width-s; }
127
127
 
128
128
  }
129
129
 
@@ -179,9 +179,9 @@
179
179
  .uk-open > .uk-offcanvas-reveal { width: @offcanvas-bar-width; }
180
180
 
181
181
  /* Tablet landscape and bigger */
182
- @media (min-width: @breakpoint-medium) {
182
+ @media (min-width: @breakpoint-small) {
183
183
 
184
- .uk-open > .uk-offcanvas-reveal { width: @offcanvas-bar-width-m; }
184
+ .uk-open > .uk-offcanvas-reveal { width: @offcanvas-bar-width-s; }
185
185
 
186
186
  }
187
187
 
@@ -209,11 +209,11 @@
209
209
  }
210
210
 
211
211
  /* Tablet landscape and bigger */
212
- @media (min-width: @breakpoint-medium) {
212
+ @media (min-width: @breakpoint-small) {
213
213
 
214
214
  .uk-offcanvas-close {
215
- top: @offcanvas-close-position-m;
216
- right: @offcanvas-close-position-m;
215
+ top: @offcanvas-close-position-s;
216
+ right: @offcanvas-close-position-s;
217
217
  }
218
218
 
219
219
  }
@@ -304,11 +304,11 @@
304
304
  .uk-offcanvas-flip.uk-offcanvas-container-animation { left: -@offcanvas-bar-width; }
305
305
 
306
306
  /* Tablet landscape and bigger */
307
- @media (min-width: @breakpoint-medium) {
307
+ @media (min-width: @breakpoint-small) {
308
308
 
309
- :not(.uk-offcanvas-flip).uk-offcanvas-container-animation { left: @offcanvas-bar-width-m; }
309
+ :not(.uk-offcanvas-flip).uk-offcanvas-container-animation { left: @offcanvas-bar-width-s; }
310
310
 
311
- .uk-offcanvas-flip.uk-offcanvas-container-animation { left: -@offcanvas-bar-width-m; }
311
+ .uk-offcanvas-flip.uk-offcanvas-container-animation { left: -@offcanvas-bar-width-s; }
312
312
 
313
313
  }
314
314
 
@@ -218,7 +218,7 @@
218
218
  ========================================================================== */
219
219
 
220
220
  .uk-position-z-index { z-index: 1; }
221
-
221
+ .uk-position-z-index-zero { z-index: 0; }
222
222
  .uk-position-z-index-negative { z-index: -1; }
223
223
 
224
224
 
@@ -137,7 +137,6 @@
137
137
 
138
138
  /*
139
139
  * Enable scrollbars if content is clipped
140
- * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
141
140
  */
142
141
 
143
142
  .uk-overflow-auto {
@@ -20,6 +20,8 @@
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
+
23
25
 
24
26
  // Component
25
27
  // ========================================================================
@@ -27,6 +29,15 @@
27
29
  .hook-dropdown() { box-shadow: @dropdown-box-shadow; }
28
30
 
29
31
 
32
+ // Stretch modifier
33
+ // ========================================================================
34
+
35
+ .hook-dropdown-stretch() {
36
+ box-shadow: none;
37
+ background: @dropdown-stretch-background;
38
+ }
39
+
40
+
30
41
  // Nav
31
42
  // ========================================================================
32
43
 
@@ -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
 
@@ -7,6 +7,11 @@
7
7
  // Variables
8
8
  // ========================================================================
9
9
 
10
+ @navbar-gap: 30px;
11
+
12
+ @navbar-nav-gap: 30px;
13
+ @navbar-nav-item-padding-horizontal: 0;
14
+
10
15
  @navbar-nav-item-font-size: @global-small-font-size;
11
16
 
12
17
  @navbar-dropdown-margin: 15px;
@@ -26,6 +31,8 @@
26
31
 
27
32
  @navbar-dropdown-box-shadow: 0 5px 12px rgba(0,0,0,0.15);
28
33
 
34
+ @navbar-dropdown-stretch-background: @global-muted-background;
35
+
29
36
  @navbar-dropbar-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
30
37
 
31
38
  @navbar-dropdown-grid-divider-border-width: @global-border-width;
@@ -99,6 +106,11 @@
99
106
 
100
107
  .hook-navbar-dropdown() { box-shadow: @navbar-dropdown-box-shadow; }
101
108
 
109
+ .hook-navbar-dropdown-stretch() {
110
+ box-shadow: none;
111
+ background: @navbar-dropdown-stretch-background;
112
+ }
113
+
102
114
  .hook-navbar-dropdown-dropbar() { box-shadow: none; }
103
115
 
104
116
 
@@ -129,18 +141,6 @@
129
141
 
130
142
  .hook-navbar-misc() {
131
143
 
132
- /*
133
- * Navbar
134
- */
135
-
136
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-nav:first-child,
137
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-item:first-child,
138
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-toggle:first-child { margin-left: -@navbar-nav-item-padding-horizontal; }
139
-
140
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-nav:last-child,
141
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-item:last-child,
142
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-toggle:last-child { margin-right: -@navbar-nav-item-padding-horizontal; }
143
-
144
144
  /*
145
145
  * Grid Divider
146
146
  */
@@ -3,10 +3,7 @@
3
3
  //
4
4
  // Component: `uk-drop`
5
5
  //
6
- // Modifiers: `uk-drop-top-*`
7
- // `uk-drop-bottom-*`
8
- // `uk-drop-left-*`
9
- // `uk-drop-right-*`
6
+ // Modifiers: `uk-drop-stretch`
10
7
  // `uk-drop-stack`
11
8
  // `uk-drop-grid`
12
9
  //
@@ -22,6 +19,7 @@
22
19
 
23
20
  $drop-z-index: $global-z-index + 20 !default;
24
21
  $drop-margin: $global-margin !default;
22
+ $drop-viewport-margin: 15px !default;
25
23
  $drop-width: 300px !default;
26
24
 
27
25
 
@@ -42,7 +40,7 @@ $drop-width: 300px !default;
42
40
  position: absolute;
43
41
  z-index: $drop-z-index;
44
42
  --uk-position-offset: #{$drop-margin};
45
- --uk-position-viewport-offset: 10;
43
+ --uk-position-viewport-offset: #{$drop-viewport-margin};
46
44
  /* 3 */
47
45
  box-sizing: border-box;
48
46
  width: $drop-width;
@@ -52,6 +50,22 @@ $drop-width: 300px !default;
52
50
  .uk-drop.uk-open { display: block; }
53
51
 
54
52
 
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
+
55
69
  /* Grid modifiers
56
70
  ========================================================================== */
57
71
 
@@ -5,10 +5,7 @@
5
5
  //
6
6
  // Adopted: `uk-dropdown-nav`
7
7
  //
8
- // Modifiers: `uk-dropdown-top-*`
9
- // `uk-dropdown-bottom-*`
10
- // `uk-dropdown-left-*`
11
- // `uk-dropdown-right-*`
8
+ // Modifiers: `uk-dropdown-stretch`
12
9
  // `uk-dropdown-stack`
13
10
  // `uk-dropdown-grid`
14
11
  //
@@ -22,6 +19,7 @@
22
19
 
23
20
  $dropdown-z-index: $global-z-index + 20 !default;
24
21
  $dropdown-margin: $global-small-margin !default;
22
+ $dropdown-viewport-margin: 15px !default;
25
23
  $dropdown-min-width: 200px !default;
26
24
  $dropdown-padding: 15px !default;
27
25
  $dropdown-background: $global-muted-background !default;
@@ -55,7 +53,7 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
55
53
  position: absolute;
56
54
  z-index: $dropdown-z-index;
57
55
  --uk-position-offset: #{$dropdown-margin};
58
- --uk-position-viewport-offset: 10;
56
+ --uk-position-viewport-offset: #{$dropdown-viewport-margin};
59
57
  /* 3 */
60
58
  box-sizing: border-box;
61
59
  min-width: $dropdown-min-width;
@@ -71,6 +69,23 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
71
69
  .uk-dropdown.uk-open { display: block; }
72
70
 
73
71
 
72
+ /* Stretch modifier
73
+ ========================================================================== */
74
+
75
+ /*
76
+ * 1. Allow scrolling
77
+ */
78
+
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
+ }
87
+
88
+
74
89
  /* Nav
75
90
  * Adopts `uk-nav`
76
91
  ========================================================================== */
@@ -145,6 +160,7 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
145
160
  @if(mixin-exists(hook-dropdown-misc)) {@include hook-dropdown-misc();}
146
161
 
147
162
  // @mixin hook-dropdown(){}
163
+ // @mixin hook-dropdown-stretch(){}
148
164
  // @mixin hook-dropdown-nav(){}
149
165
  // @mixin hook-dropdown-nav-item(){}
150
166
  // @mixin hook-dropdown-nav-item-hover(){}
@@ -193,20 +193,20 @@ $margin-xlarge-margin-l: $global-xlarge-margin !d
193
193
  /* Remove
194
194
  ========================================================================== */
195
195
 
196
- .uk-margin-remove { margin: 0 !important; }
197
- .uk-margin-remove-top { margin-top: 0 !important; }
198
- .uk-margin-remove-bottom { margin-bottom: 0 !important; }
199
- .uk-margin-remove-left { margin-left: 0 !important; }
200
- .uk-margin-remove-right { margin-right: 0 !important; }
201
-
202
- .uk-margin-remove-vertical {
203
- margin-top: 0 !important;
204
- margin-bottom: 0 !important;
205
- }
196
+ .uk-margin-remove { margin: 0 !important; }
197
+ .uk-margin-remove-top { margin-top: 0 !important; }
198
+ .uk-margin-remove-bottom { margin-bottom: 0 !important; }
199
+ .uk-margin-remove-left { margin-left: 0 !important; }
200
+ .uk-margin-remove-right { margin-right: 0 !important; }
201
+
202
+ .uk-margin-remove-vertical {
203
+ margin-top: 0 !important;
204
+ margin-bottom: 0 !important;
205
+ }
206
206
 
207
- .uk-margin-remove-adjacent + *,
208
- .uk-margin-remove-first-child > :first-child { margin-top: 0 !important; }
209
- .uk-margin-remove-last-child > :last-child { margin-bottom: 0 !important; }
207
+ .uk-margin-remove-adjacent + *,
208
+ .uk-margin-remove-first-child > :first-child { margin-top: 0 !important; }
209
+ .uk-margin-remove-last-child > :last-child { margin-bottom: 0 !important; }
210
210
 
211
211
  /* Phone landscape and bigger */
212
212
  @media (min-width: $breakpoint-small) {
@@ -241,7 +241,6 @@ $margin-xlarge-margin-l: $global-xlarge-margin !d
241
241
  }
242
242
 
243
243
 
244
-
245
244
  // Hooks
246
245
  // ========================================================================
247
246
 
@@ -40,15 +40,21 @@ $modal-dialog-background: $global-background !default;
40
40
 
41
41
  $modal-container-width: 1200px !default;
42
42
 
43
- $modal-body-padding-horizontal: $global-gutter !default;
44
- $modal-body-padding-vertical: $global-gutter !default;
43
+ $modal-body-padding-horizontal: 20px !default;
44
+ $modal-body-padding-vertical: 20px !default;
45
+ $modal-body-padding-horizontal-s: $global-gutter !default;
46
+ $modal-body-padding-vertical-s: $global-gutter !default;
45
47
 
46
- $modal-header-padding-horizontal: $global-gutter !default;
48
+ $modal-header-padding-horizontal: 20px !default;
47
49
  $modal-header-padding-vertical: ($modal-header-padding-horizontal * 0.5) !default;
50
+ $modal-header-padding-horizontal-s: $global-gutter !default;
51
+ $modal-header-padding-vertical-s: ($modal-header-padding-horizontal-s * 0.5) !default;
48
52
  $modal-header-background: $global-muted-background !default;
49
53
 
50
- $modal-footer-padding-horizontal: $global-gutter !default;
54
+ $modal-footer-padding-horizontal: 20px !default;
51
55
  $modal-footer-padding-vertical: ($modal-footer-padding-horizontal * 0.5) !default;
56
+ $modal-footer-padding-horizontal-s: $global-gutter !default;
57
+ $modal-footer-padding-vertical-s: ($modal-footer-padding-horizontal-s * 0.5) !default;
52
58
  $modal-footer-background: $global-muted-background !default;
53
59
 
54
60
  $modal-title-font-size: $global-xlarge-font-size !default;
@@ -228,6 +234,15 @@ $modal-close-outside-hover-color: $global-inverse-color !default;
228
234
  @if(mixin-exists(hook-modal-footer)) {@include hook-modal-footer();}
229
235
  }
230
236
 
237
+ /* Phone landscape and bigger */
238
+ @media (min-width: $breakpoint-small) {
239
+
240
+ .uk-modal-body { padding: $modal-body-padding-vertical-s $modal-body-padding-horizontal-s; }
241
+ .uk-modal-header { padding: $modal-header-padding-vertical-s $modal-header-padding-horizontal-s; }
242
+ .uk-modal-footer { padding: $modal-footer-padding-vertical-s $modal-footer-padding-horizontal-s; }
243
+
244
+ }
245
+
231
246
  /*
232
247
  * Remove margin from the last-child
233
248
  */