uikit 3.23.13 → 3.23.14-dev.be820cd99

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 (128) hide show
  1. package/.prettierignore +1 -0
  2. package/CHANGELOG.md +36 -0
  3. package/dist/css/uikit-core-rtl.css +301 -111
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +301 -111
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +305 -111
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +305 -111
  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 +49 -23
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +19 -14
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +19 -14
  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 +2 -2
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +2 -2
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +8 -3
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +2 -2
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +8 -3
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +48 -22
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +3 -3
  34. package/dist/js/components/tooltip.min.js +1 -1
  35. package/dist/js/components/upload.js +2 -2
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +136 -63
  38. package/dist/js/uikit-core.min.js +1 -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 +185 -90
  42. package/dist/js/uikit.min.js +1 -1
  43. package/eslint.config.mjs +1 -1
  44. package/package.json +1 -1
  45. package/src/images/backgrounds/form-checkbox.svg +2 -2
  46. package/src/images/components/navbar-toggle-icon.svg +14 -7
  47. package/src/js/api/options.js +1 -1
  48. package/src/js/components/lightbox-panel.js +6 -4
  49. package/src/js/components/upload.js +1 -3
  50. package/src/js/core/drop.js +3 -8
  51. package/src/js/core/dropnav.js +4 -4
  52. package/src/js/core/img.js +1 -1
  53. package/src/js/core/index.js +1 -0
  54. package/src/js/core/navbar.js +3 -5
  55. package/src/js/core/overflow-fade.js +67 -0
  56. package/src/js/core/scrollspy.js +10 -10
  57. package/src/js/core/sticky.js +18 -16
  58. package/src/js/core/toggle.js +3 -5
  59. package/src/js/core/video.js +36 -10
  60. package/src/js/mixin/internal/animate-fade.js +32 -15
  61. package/src/js/mixin/internal/animate-slide.js +27 -9
  62. package/src/js/mixin/modal.js +3 -4
  63. package/src/js/mixin/slider.js +3 -1
  64. package/src/js/mixin/togglable.js +1 -1
  65. package/src/js/util/animation.js +3 -4
  66. package/src/js/util/await.js +7 -0
  67. package/src/js/util/player.js +1 -3
  68. package/src/js/util/scroll.js +2 -2
  69. package/src/js/util/selector.js +1 -1
  70. package/src/js/util/viewport.js +3 -1
  71. package/src/less/components/base.less +19 -4
  72. package/src/less/components/card.less +40 -1
  73. package/src/less/components/countdown.less +4 -42
  74. package/src/less/components/form.less +87 -67
  75. package/src/less/components/heading.less +0 -84
  76. package/src/less/components/icon.less +44 -0
  77. package/src/less/components/navbar.less +23 -9
  78. package/src/less/components/position.less +1 -1
  79. package/src/less/components/section.less +33 -0
  80. package/src/less/components/subnav.less +1 -1
  81. package/src/less/components/utility.less +45 -0
  82. package/src/less/components/visibility.less +1 -1
  83. package/src/less/components/width.less +0 -5
  84. package/src/less/theme/card.less +13 -0
  85. package/src/less/theme/icon.less +14 -0
  86. package/src/scss/components/base.scss +19 -4
  87. package/src/scss/components/card.scss +35 -1
  88. package/src/scss/components/countdown.scss +2 -40
  89. package/src/scss/components/form.scss +73 -55
  90. package/src/scss/components/heading.scss +0 -83
  91. package/src/scss/components/icon.scss +22 -0
  92. package/src/scss/components/navbar.scss +23 -9
  93. package/src/scss/components/position.scss +1 -1
  94. package/src/scss/components/section.scss +33 -0
  95. package/src/scss/components/subnav.scss +1 -1
  96. package/src/scss/components/utility.scss +45 -0
  97. package/src/scss/components/visibility.scss +1 -1
  98. package/src/scss/components/width.scss +0 -15
  99. package/src/scss/mixins-theme.scss +28 -8
  100. package/src/scss/mixins.scss +25 -8
  101. package/src/scss/variables-theme.scss +27 -30
  102. package/src/scss/variables.scss +25 -30
  103. package/tests/article.html +7 -7
  104. package/tests/base.html +13 -13
  105. package/tests/card.html +9 -1
  106. package/tests/column.html +1 -1
  107. package/tests/countdown.html +595 -8
  108. package/tests/cover.html +7 -13
  109. package/tests/dropbar.html +3 -3
  110. package/tests/dropdown.html +13 -13
  111. package/tests/dropnav.html +9 -9
  112. package/tests/form.html +56 -3
  113. package/tests/icon.html +31 -0
  114. package/tests/index.html +68 -58
  115. package/tests/js/index.js +76 -83
  116. package/tests/lightbox.html +4 -4
  117. package/tests/link.html +71 -8
  118. package/tests/modal.html +1 -1
  119. package/tests/navbar.html +32 -32
  120. package/tests/notification.html +5 -5
  121. package/tests/search.html +3 -3
  122. package/tests/slideshow.html +3 -3
  123. package/tests/sticky-navbar.html +72 -72
  124. package/tests/subnav.html +106 -2
  125. package/tests/tab.html +68 -21
  126. package/tests/table.html +8 -8
  127. package/tests/utility.html +159 -1
  128. package/tests/video.html +137 -10
@@ -15,13 +15,6 @@
15
15
  // Variables
16
16
  // ========================================================================
17
17
 
18
- $countdown-number-font-size: 2rem !default; // 32px
19
- $countdown-number-font-size-s: 4rem !default; // 64px
20
- $countdown-number-font-size-m: 6rem !default; // 96px
21
-
22
- $countdown-separator-font-size: 1rem !default; // 16px
23
- $countdown-separator-font-size-s: 2rem !default; // 32px
24
- $countdown-separator-font-size-m: 3rem !default; // 48px
25
18
 
26
19
 
27
20
  /* ========================================================================
@@ -29,6 +22,7 @@ $countdown-separator-font-size-m: 3rem !default; // 48px
29
22
  ========================================================================== */
30
23
 
31
24
  .uk-countdown {
25
+ margin: 0;
32
26
  @if(meta.mixin-exists(hook-countdown)) {@include hook-countdown();}
33
27
  }
34
28
 
@@ -45,35 +39,17 @@ $countdown-separator-font-size-m: 3rem !default; // 48px
45
39
  /* Number
46
40
  ========================================================================== */
47
41
 
48
-
49
42
  /*
50
43
  * 1. Make numbers all of the same size to prevent jumping. Must be supported by the font.
51
- * 2. Style
52
44
  */
53
45
 
54
46
  .uk-countdown-number {
47
+ margin: 0;
55
48
  /* 1 */
56
49
  font-variant-numeric: tabular-nums;
57
- /* 2 */
58
- font-size: $countdown-number-font-size;
59
- line-height: $countdown-number-line-height;
60
50
  @if(meta.mixin-exists(hook-countdown-number)) {@include hook-countdown-number();}
61
51
  }
62
52
 
63
- /* Phone landscape and bigger */
64
- @media (min-width: $breakpoint-small) {
65
-
66
- .uk-countdown-number { font-size: $countdown-number-font-size-s; }
67
-
68
- }
69
-
70
- /* Tablet landscape and bigger */
71
- @media (min-width: $breakpoint-medium) {
72
-
73
- .uk-countdown-number { font-size: $countdown-number-font-size-m; }
74
-
75
- }
76
-
77
53
 
78
54
  /* Separator
79
55
  ========================================================================== */
@@ -84,20 +60,6 @@ $countdown-separator-font-size-m: 3rem !default; // 48px
84
60
  @if(meta.mixin-exists(hook-countdown-separator)) {@include hook-countdown-separator();}
85
61
  }
86
62
 
87
- /* Phone landscape and bigger */
88
- @media (min-width: $breakpoint-small) {
89
-
90
- .uk-countdown-separator { font-size: $countdown-separator-font-size-s; }
91
-
92
- }
93
-
94
- /* Tablet landscape and bigger */
95
- @media (min-width: $breakpoint-medium) {
96
-
97
- .uk-countdown-separator { font-size: $countdown-separator-font-size-m; }
98
-
99
- }
100
-
101
63
 
102
64
  /* Label
103
65
  ========================================================================== */
@@ -213,23 +213,32 @@
213
213
 
214
214
  /*
215
215
  * Single-line
216
- * 1. Allow any element to look like an `input` or `select` element
217
- * 2. Make sure line-height is not larger than height
218
- * Also needed to center the text vertically
219
216
  */
220
217
 
221
218
  .uk-input,
222
219
  .uk-select:not([multiple]):not([size]) {
223
220
  height: $form-height;
224
221
  vertical-align: middle;
225
- /* 1 */
226
- display: inline-block;
227
222
  @if(meta.mixin-exists(hook-form-single-line)) {@include hook-form-single-line();}
228
223
  }
229
224
 
230
- /* 2 */
231
- .uk-input:not(input),
232
- .uk-select:not(select) { line-height: $form-line-height; }
225
+ /*
226
+ * 1. Allow any element to look like an `input` or `select` element
227
+ * 2. Make sure line-height is not larger than height. Also needed to center the text vertically
228
+ * 3. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
229
+ */
230
+
231
+ .uk-input:where(:not(input)),
232
+ .uk-select:where(:not(select)) {
233
+ /* 1 */
234
+ display: inline-block;
235
+ /* 2 */
236
+ line-height: $form-line-height;
237
+ /* 3 */
238
+ overflow: hidden;
239
+ text-overflow: ellipsis;
240
+ white-space: nowrap;
241
+ }
233
242
 
234
243
  /*
235
244
  * Multi-line
@@ -275,50 +284,6 @@
275
284
  .uk-textarea::placeholder { color: $form-placeholder-color; }
276
285
 
277
286
 
278
- /* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
279
- ========================================================================== */
280
-
281
- /*
282
- * Small
283
- */
284
-
285
- .uk-form-small { font-size: $form-small-font-size; }
286
-
287
- /* Single-line */
288
- .uk-form-small:not(textarea):not([multiple]):not([size]) {
289
- height: $form-small-height;
290
- padding-left: $form-small-padding-horizontal;
291
- padding-right: $form-small-padding-horizontal;
292
- }
293
-
294
- /* Multi-line */
295
- textarea.uk-form-small,
296
- [multiple].uk-form-small,
297
- [size].uk-form-small { padding: $form-small-padding-vertical $form-small-padding-horizontal; }
298
-
299
- .uk-form-small:not(select):not(input):not(textarea) { line-height: $form-small-line-height; }
300
-
301
- /*
302
- * Large
303
- */
304
-
305
- .uk-form-large { font-size: $form-large-font-size; }
306
-
307
- /* Single-line */
308
- .uk-form-large:not(textarea):not([multiple]):not([size]) {
309
- height: $form-large-height;
310
- padding-left: $form-large-padding-horizontal;
311
- padding-right: $form-large-padding-horizontal;
312
- }
313
-
314
- /* Multi-line */
315
- textarea.uk-form-large,
316
- [multiple].uk-form-large,
317
- [size].uk-form-large { padding: $form-large-padding-vertical $form-large-padding-horizontal; }
318
-
319
- .uk-form-large:not(select):not(input):not(textarea) { line-height: $form-large-line-height; }
320
-
321
-
322
287
  /* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
323
288
  ========================================================================== */
324
289
 
@@ -434,7 +399,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
434
399
  * 3. Vertical alignment
435
400
  * 4. Remove default style
436
401
  * 5. Fix black background on iOS
437
- * 6. Center icons
402
+ * 6. Cover icons
438
403
  */
439
404
 
440
405
  .uk-radio,
@@ -454,8 +419,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
454
419
  /* 5 */
455
420
  background-color: $form-radio-background;
456
421
  /* 6 */
457
- background-repeat: no-repeat;
458
- background-position: 50% 50%;
422
+ background-size: cover;
459
423
  @if(meta.mixin-exists(hook-form-radio)) {@include hook-form-radio();}
460
424
  }
461
425
 
@@ -511,6 +475,60 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
511
475
  .uk-checkbox:disabled:indeterminate { @include svg-fill($internal-form-checkbox-indeterminate-image, "#000", $form-radio-disabled-icon-color); }
512
476
 
513
477
 
478
+ /* Style modifier (`uk-input`, `uk-select`, `uk-textarea`, `uk-radio`, `uk-checkbox`)
479
+ ========================================================================== */
480
+
481
+ /*
482
+ * Small
483
+ */
484
+
485
+ .uk-form-small:is(.uk-input, .uk-search-input, .uk-select, .uk-textarea) { font-size: $form-small-font-size; }
486
+
487
+ /* Single-line */
488
+ .uk-form-small:is(.uk-input, .uk-search-input, .uk-select:not([multiple]):not([size])) {
489
+ height: $form-small-height;
490
+ padding-left: $form-small-padding-horizontal;
491
+ padding-right: $form-small-padding-horizontal;
492
+ }
493
+
494
+ /* Multi-line */
495
+ .uk-form-small:is(.uk-select[multiple], .uk-select[size], .uk-textarea) { padding: $form-small-padding-vertical $form-small-padding-horizontal; }
496
+
497
+ /* Any element */
498
+ .uk-form-small:not(select):not(input):not(textarea):not([type="radio"]):not([type="checkbox"]) { line-height: $form-small-line-height; }
499
+
500
+ /* Radio + Checkbox */
501
+ .uk-form-small:is(.uk-radio, .uk-checkbox) {
502
+ height: $form-small-radio-size;
503
+ width: $form-small-radio-size;
504
+ }
505
+
506
+ /*
507
+ * Large
508
+ */
509
+
510
+ .uk-form-large:is(.uk-input, .uk-search-input, .uk-select, .uk-textarea) { font-size: $form-large-font-size; }
511
+
512
+ /* Single-line */
513
+ .uk-form-large:is(.uk-input, .uk-search-input, .uk-select:not([multiple]):not([size])) {
514
+ height: $form-large-height;
515
+ padding-left: $form-large-padding-horizontal;
516
+ padding-right: $form-large-padding-horizontal;
517
+ }
518
+
519
+ /* Multi-line */
520
+ .uk-form-large:is(.uk-select[multiple], .uk-select[size], .uk-textarea) { padding: $form-large-padding-vertical $form-large-padding-horizontal; }
521
+
522
+ /* Any element */
523
+ .uk-form-large:not(select):not(input):not(textarea):not([type="radio"]):not([type="checkbox"]) { line-height: $form-large-line-height; }
524
+
525
+ /* Radio + Checkbox */
526
+ .uk-form-large:is(.uk-radio, .uk-checkbox) {
527
+ height: $form-large-radio-size;
528
+ width: $form-large-radio-size;
529
+ }
530
+
531
+
514
532
  /* Legend
515
533
  ========================================================================== */
516
534
 
@@ -105,89 +105,6 @@ $heading-3xlarge-font-size-l: 15rem !default;
105
105
  }
106
106
 
107
107
 
108
- /* Primary
109
- Deprecated: Use `uk-heading-medium` instead
110
- ========================================================================== */
111
-
112
- $heading-primary-font-size-l: 3.75rem !default; // 60px
113
-
114
- $heading-primary-font-size-m: $heading-primary-font-size-l * 0.9 !default; // 54px
115
-
116
- $heading-primary-font-size: $heading-primary-font-size-l * 0.8 !default; // 48px
117
-
118
- @if ($deprecated == true) {
119
- .uk-heading-primary {
120
- font-size: $heading-primary-font-size;
121
- line-height: $heading-primary-line-height;
122
- @if(meta.mixin-exists(hook-heading-primary)) {@include hook-heading-primary();}
123
- }
124
- }
125
-
126
- /* Tablet landscape and bigger */
127
- @media (min-width: $breakpoint-medium) {
128
-
129
- @if ($deprecated == true) {
130
- .uk-heading-primary { font-size: $heading-primary-font-size-m; }
131
- }
132
-
133
- }
134
-
135
- /* Desktop and bigger */
136
- @media (min-width: $breakpoint-large) {
137
-
138
- @if ($deprecated == true) {
139
- .uk-heading-primary {
140
- font-size: $heading-primary-font-size-l;
141
- line-height: $heading-primary-line-height-l;
142
- }
143
- }
144
-
145
- }
146
-
147
-
148
- /* Hero
149
- Deprecated: Use `uk-heading-xlarge` instead
150
- ========================================================================== */
151
-
152
- $heading-hero-font-size-l: 8rem !default; // 128px
153
-
154
- $heading-hero-font-size-m: $heading-hero-font-size-l * 0.75 !default; // 96px
155
-
156
- $heading-hero-font-size: $heading-hero-font-size-l * 0.5 !default; // 64px
157
-
158
- @if ($deprecated == true) {
159
- .uk-heading-hero {
160
- font-size: $heading-hero-font-size;
161
- line-height: $heading-hero-line-height;
162
- @if(meta.mixin-exists(hook-heading-hero)) {@include hook-heading-hero();}
163
- }
164
- }
165
-
166
- /* Tablet landscape and bigger */
167
- @media (min-width: $breakpoint-medium) {
168
-
169
- @if ($deprecated == true) {
170
- .uk-heading-hero {
171
- font-size: $heading-hero-font-size-m;
172
- line-height: $heading-hero-line-height-m;
173
- }
174
- }
175
-
176
- }
177
-
178
- /* Desktop and bigger */
179
- @media (min-width: $breakpoint-large) {
180
-
181
- @if ($deprecated == true) {
182
- .uk-heading-hero {
183
- font-size: $heading-hero-font-size-l;
184
- line-height: $heading-hero-line-height-l;
185
- }
186
- }
187
-
188
- }
189
-
190
-
191
108
  /* Divider
192
109
  ========================================================================== */
193
110
 
@@ -8,6 +8,7 @@
8
8
  // Modifiers: `uk-icon-image`
9
9
  // `uk-icon-link`
10
10
  // `uk-icon-button`
11
+ // `uk-icon-overlay`
11
12
  //
12
13
  // States: `uk-preserve`
13
14
  //
@@ -23,6 +24,7 @@
23
24
 
24
25
 
25
26
 
27
+
26
28
  /* ========================================================================
27
29
  Component: Icon
28
30
  ========================================================================== */
@@ -177,6 +179,22 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
177
179
  @if(meta.mixin-exists(hook-icon-button-active)) {@include hook-icon-button-active();}
178
180
  }
179
181
 
182
+ /*
183
+ * Overlay
184
+ */
185
+
186
+ .uk-icon-overlay,
187
+ a .uk-icon-overlay {
188
+ color: $icon-overlay-color;
189
+ @if(meta.mixin-exists(hook-icon-overlay)) {@include hook-icon-overlay();}
190
+ }
191
+
192
+ .uk-icon-overlay:hover,
193
+ a:hover .uk-icon-overlay {
194
+ color: $icon-overlay-hover-color;
195
+ @if(meta.mixin-exists(hook-icon-overlay-hover)) {@include hook-icon-overlay-hover();}
196
+ }
197
+
180
198
 
181
199
  // Hooks
182
200
  // ========================================================================
@@ -189,6 +207,8 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
189
207
  // @mixin hook-icon-button(){}
190
208
  // @mixin hook-icon-button-hover(){}
191
209
  // @mixin hook-icon-button-active(){}
210
+ // @mixin hook-icon-overlay(){}
211
+ // @mixin hook-icon-overlay-hover(){}
192
212
  // @mixin hook-icon-misc(){}
193
213
 
194
214
 
@@ -204,3 +224,5 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
204
224
  // @mixin hook-inverse-icon-button(){}
205
225
  // @mixin hook-inverse-icon-button-hover(){}
206
226
  // @mixin hook-inverse-icon-button-active(){}
227
+ // @mixin hook-inverse-icon-overlay(){}
228
+ // @mixin hook-inverse-icon-overlay-hover(){}
@@ -85,7 +85,7 @@ $navbar-nav-gap: 0px !default; // Must have a un
85
85
  ========================================================================== */
86
86
 
87
87
  /*
88
- * 1. Align navs and items vertically if they have a different height
88
+ * 1. Stretch height if a sibling's height is expanded by its content
89
89
  */
90
90
 
91
91
  .uk-navbar-left,
@@ -94,7 +94,7 @@ $navbar-nav-gap: 0px !default; // Must have a un
94
94
  display: flex;
95
95
  gap: $navbar-gap;
96
96
  /* 1 */
97
- align-items: center;
97
+ align-items: stretch;
98
98
  }
99
99
 
100
100
  /*
@@ -103,7 +103,8 @@ $navbar-nav-gap: 0px !default; // Must have a un
103
103
  * 2. Fix text wrapping if content is larger than 50% of the container.
104
104
  * 3. Needed for dropdowns because a new position context is created
105
105
  * `z-index` must be smaller than off-canvas
106
- * 4. Align sub groups for centered navbar
106
+ * 4. Stretch height if a sibling's height is expanded by its content
107
+ * 5. Align sub groups for centered navbar
107
108
  */
108
109
 
109
110
  .uk-navbar-right { margin-left: auto; }
@@ -125,13 +126,18 @@ $navbar-nav-gap: 0px !default; // Must have a un
125
126
  box-sizing: border-box;
126
127
  /* 3 */
127
128
  z-index: $global-z-index - 10;
129
+ /* 4 */
130
+ height: 100%;
131
+ align-items: stretch;
128
132
  }
129
133
 
130
- /* 4 */
131
134
  .uk-navbar-center-left,
132
135
  .uk-navbar-center-right {
133
- position: absolute;
134
- top: 0;
136
+ /* 4 */
137
+ height: 100%;
138
+ /* 5 */
139
+ position: absolute;
140
+ top: 0;
135
141
  }
136
142
 
137
143
  .uk-navbar-center-left { right: string.unquote('calc(100% + #{$navbar-gap})'); }
@@ -147,13 +153,16 @@ $navbar-nav-gap: 0px !default; // Must have a un
147
153
  ========================================================================== */
148
154
 
149
155
  /*
150
- * 1. Reset list
156
+ * 1. Stretch height if a sibling's height is expanded by its content
157
+ * 2. Reset list
151
158
  */
152
159
 
153
160
  .uk-navbar-nav {
154
161
  display: flex;
155
162
  gap: $navbar-nav-gap;
156
163
  /* 1 */
164
+ align-items: stretch;
165
+ /* 2 */
157
166
  margin: 0;
158
167
  padding: 0;
159
168
  list-style: none;
@@ -198,9 +207,14 @@ $navbar-nav-gap: 0px !default; // Must have a un
198
207
 
199
208
  /*
200
209
  * Nav items
210
+ * 1. Stretch height if a sibling's height is expanded by its content
211
+ * 2. Reset list
201
212
  */
202
213
 
203
214
  .uk-navbar-nav > li > a {
215
+ /* 1 */
216
+ height: 100%;
217
+ /* 2 */
204
218
  padding: 0 $navbar-nav-item-padding-horizontal;
205
219
  color: $navbar-nav-item-color;
206
220
  @if(meta.mixin-exists(hook-navbar-nav-item)) {@include hook-navbar-nav-item();}
@@ -354,8 +368,8 @@ $navbar-nav-gap: 0px !default; // Must have a un
354
368
  .uk-navbar-dropdown > :last-child { margin-bottom: 0; }
355
369
 
356
370
  // Color Mode
357
- @if ( $navbar-dropdown-color-mode == light ) { .uk-navbar-dropdown { @extend .uk-light !optional;} }
358
- @if ( $navbar-dropdown-color-mode == dark ) { .uk-navbar-dropdown { @extend .uk-dark !optional;} }
371
+ @if ( $navbar-dropdown-color-mode == light ) { .uk-navbar-dropdown:not(.uk-preserve-color) { @extend .uk-light !optional;} }
372
+ @if ( $navbar-dropdown-color-mode == dark ) { .uk-navbar-dropdown:not(.uk-preserve-color) { @extend .uk-dark !optional;} }
359
373
 
360
374
  @if ($navbar-dropdown-color-mode != $inverse-global-color-mode) {
361
375
  .uk-navbar-dropdown :focus-visible {
@@ -230,7 +230,7 @@
230
230
  .uk-position-z-index-zero { z-index: 0; }
231
231
  .uk-position-z-index-negative { z-index: -1; }
232
232
  .uk-position-z-index-high { z-index: $global-z-index - 10; } // Higher than dropbar so it is behind
233
-
233
+ .uk-position-z-index-highest { z-index: $global-z-index + 60; }
234
234
 
235
235
  // Hooks
236
236
  // ========================================================================
@@ -78,6 +78,9 @@
78
78
  padding-bottom: $section-xsmall-padding-vertical;
79
79
  }
80
80
 
81
+ .uk-section-xsmall-top { padding-top: $section-xsmall-padding-vertical; }
82
+ .uk-section-xsmall-bottom { padding-bottom: $section-xsmall-padding-vertical; }
83
+
81
84
  /*
82
85
  * Small
83
86
  */
@@ -87,6 +90,24 @@
87
90
  padding-bottom: $section-small-padding-vertical;
88
91
  }
89
92
 
93
+ .uk-section-small-top { padding-top: $section-small-padding-vertical; }
94
+ .uk-section-small-bottom { padding-bottom: $section-small-padding-vertical; }
95
+
96
+ /*
97
+ * Medium
98
+ */
99
+
100
+ .uk-section-medium-top { padding-top: $section-padding-vertical; }
101
+ .uk-section-medium-bottom { padding-bottom: $section-padding-vertical; }
102
+
103
+ /* Desktop and bigger */
104
+ @media (min-width: $breakpoint-medium) {
105
+
106
+ .uk-section-medium-top { padding-top: $section-padding-vertical-m; }
107
+ .uk-section-medium-bottom { padding-bottom: $section-padding-vertical-m; }
108
+
109
+ }
110
+
90
111
  /*
91
112
  * Large
92
113
  */
@@ -96,6 +117,9 @@
96
117
  padding-bottom: $section-large-padding-vertical;
97
118
  }
98
119
 
120
+ .uk-section-large-top { padding-top: $section-large-padding-vertical; }
121
+ .uk-section-large-bottom { padding-bottom: $section-large-padding-vertical; }
122
+
99
123
  /* Tablet landscape and bigger */
100
124
  @media (min-width: $breakpoint-medium) {
101
125
 
@@ -104,6 +128,9 @@
104
128
  padding-bottom: $section-large-padding-vertical-m;
105
129
  }
106
130
 
131
+ .uk-section-large-top { padding-top: $section-large-padding-vertical-m; }
132
+ .uk-section-large-bottom { padding-bottom: $section-large-padding-vertical-m; }
133
+
107
134
  }
108
135
 
109
136
  /*
@@ -115,6 +142,9 @@
115
142
  padding-bottom: $section-xlarge-padding-vertical;
116
143
  }
117
144
 
145
+ .uk-section-xlarge-top { padding-top: $section-xlarge-padding-vertical; }
146
+ .uk-section-xlarge-bottom { padding-bottom: $section-xlarge-padding-vertical; }
147
+
118
148
  /* Tablet landscape and bigger */
119
149
  @media (min-width: $breakpoint-medium) {
120
150
 
@@ -123,6 +153,9 @@
123
153
  padding-bottom: $section-xlarge-padding-vertical-m;
124
154
  }
125
155
 
156
+ .uk-section-xlarge-top { padding-top: $section-xlarge-padding-vertical-m; }
157
+ .uk-section-xlarge-bottom { padding-bottom: $section-xlarge-padding-vertical-m; }
158
+
126
159
  }
127
160
 
128
161
 
@@ -181,7 +181,7 @@
181
181
  * The same for all style modifiers
182
182
  ========================================================================== */
183
183
 
184
- .uk-subnav > .uk-disabled > a {
184
+ .uk-subnav > .uk-disabled > :first-child {
185
185
  color: $subnav-item-disabled-color;
186
186
  @if(meta.mixin-exists(hook-subnav-item-disabled)) {@include hook-subnav-item-disabled();}
187
187
  }
@@ -1,4 +1,5 @@
1
1
  @use "sass:meta";
2
+ @use "sass:string";
2
3
 
3
4
  // Name: Utility
4
5
  // Description: Utilities collection
@@ -41,6 +42,7 @@
41
42
 
42
43
 
43
44
 
45
+
44
46
  /* ========================================================================
45
47
  Component: Utility
46
48
  ========================================================================== */
@@ -126,6 +128,49 @@
126
128
 
127
129
  .uk-overflow-auto > :last-child { margin-bottom: 0; }
128
130
 
131
+ /*
132
+ * Overflow fade
133
+ * 1. Overflow
134
+ * 2. Mask
135
+ */
136
+
137
+ $property --uk-overflow-fade-start-opacity {
138
+ syntax: "<number>";
139
+ inherits: false;
140
+ initial-value: 0;
141
+ }
142
+
143
+ $property --uk-overflow-fade-end-opacity {
144
+ syntax: "<number>";
145
+ inherits: false;
146
+ initial-value: 0;
147
+ }
148
+
149
+ .uk-overflow-fade-horizontal {
150
+ overflow-x: auto;
151
+ --uk-overflow-fade-direction: right;
152
+ }
153
+
154
+ .uk-overflow-fade-vertical {
155
+ overflow-y: auto;
156
+ --uk-overflow-fade-direction: bottom;
157
+ }
158
+
159
+ .uk-overflow-fade-horizontal,
160
+ .uk-overflow-fade-vertical {
161
+ /* 1 */
162
+ -webkit-overflow-scrolling: touch;
163
+ -ms-overflow-style: -ms-autohiding-scrollbar;
164
+ /* 2 */
165
+ mask-image: linear-gradient(to var(--uk-overflow-fade-direction), rgba(0,0,0,var(--uk-overflow-fade-start-opacity)), #000 $overflow-fade-size, #000 string.unquote('calc(100% - #{$overflow-fade-size})'), rgba(0,0,0,var(--uk-overflow-fade-end-opacity)));
166
+ }
167
+
168
+ .uk-overflow-fade-horizontal > *,
169
+ .uk-overflow-fade-vertical > * { min-width: max-content; }
170
+
171
+ .uk-overflow-fade-horizontal::-webkit-scrollbar,
172
+ .uk-overflow-fade-vertical::-webkit-scrollbar { display: none; }
173
+
129
174
 
130
175
  /* Box Sizing
131
176
  ========================================================================== */
@@ -126,7 +126,7 @@
126
126
  width: 0 !important;
127
127
  height: 0 !important;
128
128
  padding: 0 !important;
129
- border: 0 !important;
129
+ border-width: 0 !important;
130
130
  margin: 0 !important;
131
131
  overflow: hidden !important;
132
132
  }
@@ -199,9 +199,6 @@
199
199
  .uk-width-large { width: $width-large-width; }
200
200
  .uk-width-xlarge { width: $width-xlarge-width; }
201
201
  .uk-width-2xlarge { width: $width-2xlarge-width; }
202
- @if ($deprecated == true) {
203
- .uk-width-xxlarge { width: $width-2xlarge-width; }
204
- }
205
202
 
206
203
  /* Auto */
207
204
  .uk-width-auto { width: auto; }
@@ -245,9 +242,6 @@
245
242
  .uk-width-large\@s { width: $width-large-width; }
246
243
  .uk-width-xlarge\@s { width: $width-xlarge-width; }
247
244
  .uk-width-2xlarge\@s { width: $width-2xlarge-width; }
248
- @if ($deprecated == true) {
249
- .uk-width-xxlarge\@s { width: $width-2xlarge-width; }
250
- }
251
245
 
252
246
  /* Auto */
253
247
  .uk-width-auto\@s { width: auto; }
@@ -313,9 +307,6 @@
313
307
  .uk-width-large\@m { width: $width-large-width; }
314
308
  .uk-width-xlarge\@m { width: $width-xlarge-width; }
315
309
  .uk-width-2xlarge\@m { width: $width-2xlarge-width; }
316
- @if ($deprecated == true) {
317
- .uk-width-xxlarge\@m { width: $width-2xlarge-width; }
318
- }
319
310
 
320
311
  /* Auto */
321
312
  .uk-width-auto\@m { width: auto; }
@@ -381,9 +372,6 @@
381
372
  .uk-width-large\@l { width: $width-large-width; }
382
373
  .uk-width-xlarge\@l { width: $width-xlarge-width; }
383
374
  .uk-width-2xlarge\@l { width: $width-2xlarge-width; }
384
- @if ($deprecated == true) {
385
- .uk-width-xxlarge\@l { width: $width-2xlarge-width; }
386
- }
387
375
 
388
376
  /* Auto */
389
377
  .uk-width-auto\@l { width: auto; }
@@ -449,9 +437,6 @@
449
437
  .uk-width-large\@xl { width: $width-large-width; }
450
438
  .uk-width-xlarge\@xl { width: $width-xlarge-width; }
451
439
  .uk-width-2xlarge\@xl { width: $width-2xlarge-width; }
452
- @if ($deprecated == true) {
453
- .uk-width-xxlarge\@xl { width: $width-2xlarge-width; }
454
- }
455
440
 
456
441
  /* Auto */
457
442
  .uk-width-auto\@xl { width: auto; }