uikit 3.25.27-dev.2d5695a → 3.25.27-dev.9e97c1f

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 (224) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/build/prefix.js +1 -1
  3. package/build/publishDev.js +1 -1
  4. package/build/scope.js +1 -1
  5. package/build/scss.js +1 -1
  6. package/build/util.js +0 -2
  7. package/dist/css/uikit-core-rtl.css +1327 -1204
  8. package/dist/css/uikit-core-rtl.min.css +1 -1
  9. package/dist/css/uikit-core.css +1327 -1204
  10. package/dist/css/uikit-core.min.css +1 -1
  11. package/dist/css/uikit-rtl.css +1339 -1223
  12. package/dist/css/uikit-rtl.min.css +1 -1
  13. package/dist/css/uikit.css +1339 -1223
  14. package/dist/css/uikit.min.css +1 -1
  15. package/dist/js/components/countdown.js +1 -1
  16. package/dist/js/components/countdown.min.js +1 -1
  17. package/dist/js/components/filter.js +1 -1
  18. package/dist/js/components/filter.min.js +1 -1
  19. package/dist/js/components/lightbox-panel.js +134 -135
  20. package/dist/js/components/lightbox-panel.min.js +1 -1
  21. package/dist/js/components/lightbox.js +135 -136
  22. package/dist/js/components/lightbox.min.js +1 -1
  23. package/dist/js/components/marquee.js +215 -0
  24. package/dist/js/components/marquee.min.js +1 -0
  25. package/dist/js/components/notification.js +8 -6
  26. package/dist/js/components/notification.min.js +1 -1
  27. package/dist/js/components/parallax.js +8 -12
  28. package/dist/js/components/parallax.min.js +1 -1
  29. package/dist/js/components/slider-parallax.js +8 -12
  30. package/dist/js/components/slider-parallax.min.js +1 -1
  31. package/dist/js/components/slider.js +51 -25
  32. package/dist/js/components/slider.min.js +1 -1
  33. package/dist/js/components/slideshow-parallax.js +8 -12
  34. package/dist/js/components/slideshow-parallax.min.js +1 -1
  35. package/dist/js/components/slideshow.js +81 -102
  36. package/dist/js/components/slideshow.min.js +1 -1
  37. package/dist/js/components/sortable.js +1 -1
  38. package/dist/js/components/sortable.min.js +1 -1
  39. package/dist/js/components/tooltip.js +15 -17
  40. package/dist/js/components/tooltip.min.js +1 -1
  41. package/dist/js/components/upload.js +1 -1
  42. package/dist/js/components/upload.min.js +1 -1
  43. package/dist/js/uikit-core.js +874 -323
  44. package/dist/js/uikit-core.min.js +1 -1
  45. package/dist/js/uikit-icons.js +1 -1
  46. package/dist/js/uikit-icons.min.js +1 -1
  47. package/dist/js/uikit.js +737 -395
  48. package/dist/js/uikit.min.js +1 -1
  49. package/package.json +1 -1
  50. package/src/js/api/component.js +2 -3
  51. package/src/js/api/observables.js +16 -4
  52. package/src/js/api/options.js +6 -3
  53. package/src/js/api/props.js +1 -3
  54. package/src/js/api/state.js +7 -8
  55. package/src/js/components/index.js +1 -0
  56. package/src/js/components/internal/lightbox-animations.js +7 -26
  57. package/src/js/components/internal/slider-preload.js +1 -0
  58. package/src/js/components/internal/slideshow-animations.js +15 -62
  59. package/src/js/components/lightbox-panel.js +121 -96
  60. package/src/js/components/lightbox.js +5 -8
  61. package/src/js/components/marquee.js +156 -0
  62. package/src/js/components/notification.js +7 -5
  63. package/src/js/core/accordion.js +62 -31
  64. package/src/js/core/alert.js +1 -1
  65. package/src/js/core/drop.js +4 -3
  66. package/src/js/core/dropnav.js +3 -3
  67. package/src/js/core/grid.js +5 -19
  68. package/src/js/core/margin.js +3 -0
  69. package/src/js/core/overflow-auto.js +5 -1
  70. package/src/js/core/sticky.js +1 -1
  71. package/src/js/core/switcher.js +12 -49
  72. package/src/js/core/video.js +236 -21
  73. package/src/js/mixin/connect.js +90 -0
  74. package/src/js/mixin/internal/slideshow-animations.js +5 -13
  75. package/src/js/mixin/internal/slideshow-transitioner.js +2 -2
  76. package/src/js/mixin/parallax.js +1 -4
  77. package/src/js/mixin/position.js +1 -1
  78. package/src/js/mixin/scroll-driven.js +57 -0
  79. package/src/js/mixin/slider-parallax.js +9 -38
  80. package/src/js/mixin/togglable.js +13 -14
  81. package/src/js/util/attr.js +7 -7
  82. package/src/js/util/dom.js +3 -4
  83. package/src/js/util/lang.js +2 -2
  84. package/src/js/util/player.js +4 -2
  85. package/src/js/util/style.js +12 -13
  86. package/src/js/util/viewport.js +22 -25
  87. package/src/less/components/_import.less +8 -3
  88. package/src/less/components/animation.less +1 -1
  89. package/src/less/components/base.less +1 -1
  90. package/src/less/components/button.less +1 -1
  91. package/src/less/components/card.less +8 -8
  92. package/src/less/components/dropcap.less +71 -0
  93. package/src/less/components/floating-shadow.less +66 -0
  94. package/src/less/components/form.less +15 -15
  95. package/src/less/components/grid.less +58 -65
  96. package/src/less/components/lightbox.less +2 -8
  97. package/src/less/components/logo.less +94 -0
  98. package/src/less/components/margin.less +155 -124
  99. package/src/less/components/marquee.less +133 -0
  100. package/src/less/components/modal.less +1 -4
  101. package/src/less/components/nav.less +1 -1
  102. package/src/less/components/navbar.less +1 -1
  103. package/src/less/components/padding.less +9 -9
  104. package/src/less/components/position.less +9 -4
  105. package/src/less/components/search.less +1 -1
  106. package/src/less/components/slideshow.less +1 -4
  107. package/src/less/components/switcher.less +5 -2
  108. package/src/less/components/table.less +4 -4
  109. package/src/less/components/text.less +10 -4
  110. package/src/less/components/utility.less +0 -163
  111. package/src/less/components/visibility.less +4 -4
  112. package/src/less/theme/_import.less +6 -2
  113. package/src/less/theme/alert.less +0 -5
  114. package/src/less/theme/dropcap.less +29 -0
  115. package/src/less/theme/floating-shadow.less +20 -0
  116. package/src/less/theme/logo.less +29 -0
  117. package/src/less/theme/marquee.less +14 -0
  118. package/src/less/theme/thumbnav.less +1 -4
  119. package/src/less/theme/utility.less +0 -32
  120. package/src/scss/components/_import.scss +8 -3
  121. package/src/scss/components/animation.scss +1 -1
  122. package/src/scss/components/base.scss +1 -1
  123. package/src/scss/components/button.scss +1 -1
  124. package/src/scss/components/card.scss +8 -8
  125. package/src/scss/components/dropcap.scss +63 -0
  126. package/src/scss/components/floating-shadow.scss +63 -0
  127. package/src/scss/components/form.scss +14 -14
  128. package/src/scss/components/grid.scss +57 -64
  129. package/src/scss/components/lightbox.scss +2 -8
  130. package/src/scss/components/logo.scss +75 -0
  131. package/src/scss/components/margin.scss +155 -124
  132. package/src/scss/components/marquee.scss +136 -0
  133. package/src/scss/components/modal.scss +1 -4
  134. package/src/scss/components/nav.scss +1 -1
  135. package/src/scss/components/navbar.scss +1 -1
  136. package/src/scss/components/padding.scss +9 -9
  137. package/src/scss/components/position.scss +9 -4
  138. package/src/scss/components/search.scss +1 -1
  139. package/src/scss/components/slideshow.scss +1 -4
  140. package/src/scss/components/switcher.scss +5 -2
  141. package/src/scss/components/table.scss +4 -4
  142. package/src/scss/components/text.scss +10 -4
  143. package/src/scss/components/utility.scss +0 -129
  144. package/src/scss/components/visibility.scss +4 -4
  145. package/src/scss/mixins-theme.scss +44 -43
  146. package/src/scss/mixins.scss +40 -31
  147. package/src/scss/variables-theme.scss +14 -14
  148. package/src/scss/variables.scss +14 -14
  149. package/tests/accordion.html +77 -10
  150. package/tests/alert.html +1 -1
  151. package/tests/align.html +5 -5
  152. package/tests/animation.html +4 -4
  153. package/tests/article.html +7 -7
  154. package/tests/background.html +2 -2
  155. package/tests/badge.html +1 -1
  156. package/tests/base.html +2 -2
  157. package/tests/button.html +1 -1
  158. package/tests/card.html +15 -15
  159. package/tests/close.html +2 -2
  160. package/tests/comment.html +9 -9
  161. package/tests/container.html +2 -2
  162. package/tests/countdown.html +21 -21
  163. package/tests/cover.html +3 -3
  164. package/tests/description-list.html +1 -1
  165. package/tests/divider.html +3 -3
  166. package/tests/dotnav.html +1 -1
  167. package/tests/drop.html +7 -7
  168. package/tests/dropbar.html +5 -5
  169. package/tests/dropcap.html +26 -0
  170. package/tests/dropdown.html +1 -1
  171. package/tests/dropnav.html +18 -18
  172. package/tests/filter.html +3 -3
  173. package/tests/floating-shadow.html +44 -0
  174. package/tests/form.html +14 -14
  175. package/tests/grid.html +41 -47
  176. package/tests/heading.html +2 -2
  177. package/tests/height-viewport.html +4 -4
  178. package/tests/height.html +5 -5
  179. package/tests/icon.html +8 -8
  180. package/tests/image.html +6 -6
  181. package/tests/index.html +13 -13
  182. package/tests/js/index.js +1 -1
  183. package/tests/leader.html +5 -5
  184. package/tests/lightbox.html +6 -6
  185. package/tests/link.html +1 -1
  186. package/tests/list.html +4 -4
  187. package/tests/logo.html +84 -0
  188. package/tests/margin.html +59 -7
  189. package/tests/marker.html +3 -3
  190. package/tests/marquee.html +617 -0
  191. package/tests/modal.html +3 -3
  192. package/tests/nav.html +5 -5
  193. package/tests/navbar.html +27 -27
  194. package/tests/notification.html +8 -2
  195. package/tests/offcanvas.html +12 -12
  196. package/tests/overlay.html +3 -3
  197. package/tests/padding.html +1 -1
  198. package/tests/pagination.html +3 -3
  199. package/tests/parallax.html +1 -1
  200. package/tests/position.html +6 -6
  201. package/tests/scrollspy.html +13 -13
  202. package/tests/search.html +5 -5
  203. package/tests/section.html +17 -17
  204. package/tests/slidenav.html +3 -3
  205. package/tests/slider.html +5 -5
  206. package/tests/slideshow.html +33 -3
  207. package/tests/sortable.html +15 -15
  208. package/tests/sticky-navbar.html +4 -4
  209. package/tests/sticky-parallax.html +3 -3
  210. package/tests/sticky.html +3 -3
  211. package/tests/svg.html +3 -2
  212. package/tests/switcher.html +7 -7
  213. package/tests/tab.html +5 -5
  214. package/tests/text.html +9 -3
  215. package/tests/tile.html +4 -4
  216. package/tests/toggle.html +1 -1
  217. package/tests/tooltip.html +3 -3
  218. package/tests/totop.html +2 -2
  219. package/tests/transition.html +1 -1
  220. package/tests/upload.html +5 -5
  221. package/tests/utility.html +16 -116
  222. package/tests/video.html +224 -24
  223. package/tests/visibility.html +4 -4
  224. package/tests/width.html +12 -12
@@ -211,7 +211,7 @@
211
211
  */
212
212
 
213
213
  .uk-input,
214
- .uk-select:not([multiple]):not([size]) {
214
+ .uk-select:not([multiple], [size]) {
215
215
  height: $form-height;
216
216
  vertical-align: middle;
217
217
  @if(meta.mixin-exists(hook-form-single-line)) {@include hook-form-single-line();}
@@ -343,7 +343,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
343
343
  * 3. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
344
344
  */
345
345
 
346
- .uk-select:not([multiple]):not([size]) {
346
+ .uk-select:not([multiple], [size]) {
347
347
  /* 1 */
348
348
  -webkit-appearance: none;
349
349
  -moz-appearance: none;
@@ -355,13 +355,13 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
355
355
  }
356
356
 
357
357
  /* 3 */
358
- .uk-select:not([multiple]):not([size]) option { color: $form-select-option-color; }
358
+ .uk-select:not([multiple], [size]) option { color: $form-select-option-color; }
359
359
 
360
360
  /*
361
361
  * Disabled
362
362
  */
363
363
 
364
- .uk-select:not([multiple]):not([size]):disabled { @include svg-fill($internal-form-select-image, "#000", $form-select-disabled-icon-color); }
364
+ .uk-select:not([multiple], [size]):disabled { @include svg-fill($internal-form-select-image, "#000", $form-select-disabled-icon-color); }
365
365
 
366
366
 
367
367
  /* Datalist
@@ -479,7 +479,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
479
479
  .uk-form-small:is(.uk-input, .uk-search-input, .uk-select, .uk-textarea) { font-size: $form-small-font-size; }
480
480
 
481
481
  /* Single-line */
482
- .uk-form-small:is(.uk-input, .uk-search-input, .uk-select:not([multiple]):not([size])) {
482
+ .uk-form-small:is(.uk-input, .uk-search-input, .uk-select:not([multiple], [size])) {
483
483
  height: $form-small-height;
484
484
  padding-left: $form-small-padding-horizontal;
485
485
  padding-right: $form-small-padding-horizontal;
@@ -489,7 +489,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
489
489
  .uk-form-small:is(.uk-select[multiple], .uk-select[size], .uk-textarea) { padding: $form-small-multi-line-padding-vertical $form-small-multi-line-padding-horizontal; }
490
490
 
491
491
  /* Any element */
492
- .uk-form-small:not(select):not(input):not(textarea):not([type="radio"]):not([type="checkbox"]) { line-height: $form-small-line-height; }
492
+ .uk-form-small:not(select, input, textarea, [type="radio"], [type="checkbox"]) { line-height: $form-small-line-height; }
493
493
 
494
494
  /* Radio + Checkbox */
495
495
  .uk-form-small:is(.uk-radio, .uk-checkbox) {
@@ -504,7 +504,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
504
504
  .uk-form-large:is(.uk-input, .uk-search-input, .uk-select, .uk-textarea) { font-size: $form-large-font-size; }
505
505
 
506
506
  /* Single-line */
507
- .uk-form-large:is(.uk-input, .uk-search-input, .uk-select:not([multiple]):not([size])) {
507
+ .uk-form-large:is(.uk-input, .uk-search-input, .uk-select:not([multiple], [size])) {
508
508
  height: $form-large-height;
509
509
  padding-left: $form-large-padding-horizontal;
510
510
  padding-right: $form-large-padding-horizontal;
@@ -514,7 +514,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
514
514
  .uk-form-large:is(.uk-select[multiple], .uk-select[size], .uk-textarea) { padding: $form-large-multi-line-padding-vertical $form-large-multi-line-padding-horizontal; }
515
515
 
516
516
  /* Any element */
517
- .uk-form-large:not(select):not(input):not(textarea):not([type="radio"]):not([type="checkbox"]) { line-height: $form-large-line-height; }
517
+ .uk-form-large:not(select, input, textarea, [type="radio"], [type="checkbox"]) { line-height: $form-large-line-height; }
518
518
 
519
519
  /* Radio + Checkbox */
520
520
  .uk-form-large:is(.uk-radio, .uk-checkbox) {
@@ -618,7 +618,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
618
618
  * Stacked
619
619
  */
620
620
 
621
- .uk-form-stacked .uk-form-label {
621
+ .uk-form-stacked :where(.uk-form-label) {
622
622
  display: block;
623
623
  margin-bottom: $form-stacked-margin-bottom;
624
624
  @if(meta.mixin-exists(hook-form-stacked-label)) {@include hook-form-stacked-label();}
@@ -632,7 +632,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
632
632
  @media (max-width: $breakpoint-small-max) {
633
633
 
634
634
  /* Behave like `uk-form-stacked` */
635
- .uk-form-horizontal .uk-form-label {
635
+ .uk-form-horizontal :where(.uk-form-label) {
636
636
  display: block;
637
637
  margin-bottom: $form-stacked-margin-bottom;
638
638
  @if(meta.mixin-exists(hook-form-stacked-label)) {@include hook-form-stacked-label();}
@@ -643,17 +643,17 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
643
643
  /* Tablet landscape and bigger */
644
644
  @media (min-width: $breakpoint-medium) {
645
645
 
646
- .uk-form-horizontal .uk-form-label {
646
+ .uk-form-horizontal :where(.uk-form-label) {
647
647
  width: $form-horizontal-label-width;
648
648
  margin-top: $form-horizontal-label-margin-top;
649
649
  float: left;
650
650
  @if(meta.mixin-exists(hook-form-horizontal-label)) {@include hook-form-horizontal-label();}
651
651
  }
652
652
 
653
- .uk-form-horizontal .uk-form-controls { margin-left: $form-horizontal-controls-margin-left; }
653
+ .uk-form-horizontal :where(.uk-form-controls) { margin-left: $form-horizontal-controls-margin-left; }
654
654
 
655
655
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
656
- .uk-form-horizontal .uk-form-controls-text { padding-top: $form-horizontal-controls-text-padding-top; }
656
+ .uk-form-horizontal :where(.uk-form-controls-text) { padding-top: $form-horizontal-controls-text-padding-top; }
657
657
 
658
658
  }
659
659
 
@@ -695,7 +695,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
695
695
  * Make `input` element clickable through icon, e.g. if it's a `span`
696
696
  */
697
697
 
698
- .uk-form-icon:not(a):not(button):not(input) { pointer-events: none; }
698
+ .uk-form-icon:not(a, button, input) { pointer-events: none; }
699
699
 
700
700
  /*
701
701
  * Input padding
@@ -21,6 +21,7 @@
21
21
  // Sub-modifier: `uk-grid-item-match`
22
22
  //
23
23
  // States: `uk-first-column`
24
+ // `uk-first-row`
24
25
  //
25
26
  // ========================================================================
26
27
 
@@ -68,32 +69,32 @@
68
69
  .uk-grid > * > :last-child { margin-bottom: 0; }
69
70
 
70
71
 
71
- /* Gutter
72
+ /* Gap
72
73
  ========================================================================== */
73
74
 
74
75
  /*
75
76
  * Default
76
77
  */
77
78
 
78
- /* Horizontal */
79
79
  .uk-grid { margin-left: (-$grid-gutter-horizontal); }
80
80
  .uk-grid > * { padding-left: $grid-gutter-horizontal; }
81
81
 
82
- /* Vertical */
83
- .uk-grid + .uk-grid,
84
- .uk-grid > .uk-grid-margin,
82
+ .uk-grid { row-gap: $grid-gutter-vertical; }
83
+
84
+ /* Margin */
85
+ .uk-grid + :where(.uk-grid),
85
86
  * + .uk-grid-margin { margin-top: $grid-gutter-vertical; }
86
87
 
87
88
  /* Desktop and bigger */
88
89
  @media (min-width: $breakpoint-large) {
89
90
 
90
- /* Horizontal */
91
91
  .uk-grid { margin-left: (-$grid-gutter-horizontal-l); }
92
92
  .uk-grid > * { padding-left: $grid-gutter-horizontal-l; }
93
93
 
94
- /* Vertical */
95
- .uk-grid + .uk-grid,
96
- .uk-grid > .uk-grid-margin,
94
+ .uk-grid { row-gap: $grid-gutter-vertical-l; }
95
+
96
+ /* Margin */
97
+ .uk-grid + :where(.uk-grid),
97
98
  * + .uk-grid-margin { margin-top: $grid-gutter-vertical-l; }
98
99
 
99
100
  }
@@ -102,67 +103,63 @@
102
103
  * Small
103
104
  */
104
105
 
105
- /* Horizontal */
106
106
  .uk-grid-small,
107
107
  .uk-grid-column-small { margin-left: (-$grid-small-gutter-horizontal); }
108
108
  .uk-grid-small > *,
109
109
  .uk-grid-column-small > * { padding-left: $grid-small-gutter-horizontal; }
110
110
 
111
- /* Vertical */
112
- .uk-grid + .uk-grid-small,
113
- .uk-grid + .uk-grid-row-small,
114
- .uk-grid-small > .uk-grid-margin,
115
- .uk-grid-row-small > .uk-grid-margin,
111
+ .uk-grid-small,
112
+ .uk-grid-row-small { row-gap: $grid-small-gutter-vertical; }
113
+
114
+ /* Margin */
115
+ .uk-grid + :where(.uk-grid-small, .uk-grid-row-small),
116
116
  * + .uk-grid-margin-small { margin-top: $grid-small-gutter-vertical; }
117
117
 
118
118
  /*
119
119
  * Medium
120
120
  */
121
121
 
122
- /* Horizontal */
123
122
  .uk-grid-medium,
124
123
  .uk-grid-column-medium { margin-left: (-$grid-medium-gutter-horizontal); }
125
124
  .uk-grid-medium > *,
126
125
  .uk-grid-column-medium > * { padding-left: $grid-medium-gutter-horizontal; }
127
126
 
128
- /* Vertical */
129
- .uk-grid + .uk-grid-medium,
130
- .uk-grid + .uk-grid-row-medium,
131
- .uk-grid-medium > .uk-grid-margin,
132
- .uk-grid-row-medium > .uk-grid-margin,
127
+ .uk-grid-medium,
128
+ .uk-grid-row-medium { row-gap: $grid-medium-gutter-vertical; }
129
+
130
+ /* Margin */
131
+ .uk-grid + :where(.uk-grid-medium, .uk-grid-row-medium),
133
132
  * + .uk-grid-margin-medium { margin-top: $grid-medium-gutter-vertical; }
134
133
 
135
134
  /*
136
135
  * Large
137
136
  */
138
137
 
139
- /* Horizontal */
140
138
  .uk-grid-large,
141
139
  .uk-grid-column-large { margin-left: (-$grid-large-gutter-horizontal); }
142
140
  .uk-grid-large > *,
143
141
  .uk-grid-column-large > * { padding-left: $grid-large-gutter-horizontal; }
144
142
 
145
- /* Vertical */
146
- .uk-grid + .uk-grid-large,
147
- .uk-grid + .uk-grid-row-large,
148
- .uk-grid-large > .uk-grid-margin,
149
- .uk-grid-row-large > .uk-grid-margin,
143
+ .uk-grid-large,
144
+ .uk-grid-row-large { row-gap: $grid-large-gutter-vertical; }
145
+
146
+ /* Margin */
147
+ .uk-grid + :where(.uk-grid-large, .uk-grid-row-large),
150
148
  * + .uk-grid-margin-large { margin-top: $grid-large-gutter-vertical; }
151
149
 
152
150
  /* Desktop and bigger */
153
151
  @media (min-width: $breakpoint-large) {
154
152
 
155
- /* Horizontal */
156
153
  .uk-grid-large,
157
154
  .uk-grid-column-large { margin-left: (-$grid-large-gutter-horizontal-l); }
158
155
  .uk-grid-large > *,
159
156
  .uk-grid-column-large > * { padding-left: $grid-large-gutter-horizontal-l; }
160
157
 
161
- /* Vertical */
162
- .uk-grid + .uk-grid-large,
163
- .uk-grid + .uk-grid-row-large,
164
- .uk-grid-large > .uk-grid-margin,
165
- .uk-grid-row-large > .uk-grid-margin,
158
+ .uk-grid-large,
159
+ .uk-grid-row-large { row-gap: $grid-large-gutter-vertical-l; }
160
+
161
+ /* Margin */
162
+ .uk-grid + :where(.uk-grid-large, .uk-grid-row-large),
166
163
  * + .uk-grid-margin-large { margin-top: $grid-large-gutter-vertical-l; }
167
164
 
168
165
  }
@@ -171,17 +168,16 @@
171
168
  * Collapse
172
169
  */
173
170
 
174
- /* Horizontal */
175
171
  .uk-grid-collapse,
176
172
  .uk-grid-column-collapse { margin-left: 0; }
177
173
  .uk-grid-collapse > *,
178
174
  .uk-grid-column-collapse > * { padding-left: 0; }
179
175
 
180
- /* Vertical */
181
- .uk-grid + .uk-grid-collapse,
182
- .uk-grid + .uk-grid-row-collapse,
183
- .uk-grid-collapse > .uk-grid-margin,
184
- .uk-grid-row-collapse > .uk-grid-margin { margin-top: 0; }
176
+ .uk-grid-collapse,
177
+ .uk-grid-row-collapse { row-gap: 0; }
178
+
179
+ /* Margin */
180
+ .uk-grid + :where(.uk-grid-collapse, .uk-grid-row-collapse) { margin-top: 0; }
185
181
 
186
182
 
187
183
  /* Divider
@@ -189,6 +185,7 @@
189
185
 
190
186
  .uk-grid-divider > * { position: relative; }
191
187
 
188
+ /* Horizontal */
192
189
  .uk-grid-divider > :not(.uk-first-column)::before {
193
190
  content: "";
194
191
  position: absolute;
@@ -199,7 +196,7 @@
199
196
  }
200
197
 
201
198
  /* Vertical */
202
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
199
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
203
200
  content: "";
204
201
  position: absolute;
205
202
  left: 0;
@@ -219,9 +216,9 @@
219
216
  .uk-grid-divider > :not(.uk-first-column)::before { left: $grid-gutter-horizontal; }
220
217
 
221
218
  /* Vertical */
222
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-gutter-vertical * 2); }
219
+ .uk-grid-divider.uk-grid-stack { row-gap: ($grid-gutter-vertical * 2); }
223
220
 
224
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
221
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
225
222
  top: (-$grid-gutter-vertical);
226
223
  left: ($grid-gutter-horizontal * 2);
227
224
  }
@@ -236,9 +233,9 @@
236
233
  .uk-grid-divider > :not(.uk-first-column)::before { left: $grid-gutter-horizontal-l; }
237
234
 
238
235
  /* Vertical */
239
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-gutter-vertical-l * 2); }
236
+ .uk-grid-divider.uk-grid-stack { row-gap: ($grid-gutter-vertical-l * 2); }
240
237
 
241
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
238
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
242
239
  top: (-$grid-gutter-vertical-l);
243
240
  left: ($grid-gutter-horizontal-l * 2);
244
241
  }
@@ -259,16 +256,15 @@
259
256
  .uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before { left: $grid-small-gutter-horizontal; }
260
257
 
261
258
  /* Vertical */
262
- .uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
263
- .uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-small-gutter-vertical * 2); }
259
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-small, .uk-grid-row-small) { row-gap: ($grid-small-gutter-vertical * 2); }
264
260
 
265
- .uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
261
+ .uk-grid-divider.uk-grid-stack.uk-grid-small > :not(.uk-first-row)::before {
266
262
  top: (-$grid-small-gutter-vertical);
267
263
  left: ($grid-small-gutter-horizontal * 2);
268
264
  }
269
265
 
270
- .uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-small-gutter-vertical); }
271
- .uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before { left: ($grid-small-gutter-horizontal * 2); }
266
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-small > :not(.uk-first-row)::before { top: (-$grid-small-gutter-vertical); }
267
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-small > :not(.uk-first-row)::before { left: ($grid-small-gutter-horizontal * 2); }
272
268
 
273
269
  /*
274
270
  * Medium
@@ -284,16 +280,15 @@
284
280
  .uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before { left: $grid-medium-gutter-horizontal; }
285
281
 
286
282
  /* Vertical */
287
- .uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
288
- .uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-medium-gutter-vertical * 2); }
283
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-medium, .uk-grid-row-medium) { row-gap: ($grid-medium-gutter-vertical * 2); }
289
284
 
290
- .uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
285
+ .uk-grid-divider.uk-grid-stack.uk-grid-medium > :not(.uk-first-row)::before {
291
286
  top: (-$grid-medium-gutter-vertical);
292
287
  left: ($grid-medium-gutter-horizontal * 2);
293
288
  }
294
289
 
295
- .uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-medium-gutter-vertical); }
296
- .uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before { left: ($grid-medium-gutter-horizontal * 2); }
290
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-medium > :not(.uk-first-row)::before { top: (-$grid-medium-gutter-vertical); }
291
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-medium > :not(.uk-first-row)::before { left: ($grid-medium-gutter-horizontal * 2); }
297
292
 
298
293
  /*
299
294
  * Large
@@ -309,16 +304,15 @@
309
304
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before { left: $grid-large-gutter-horizontal; }
310
305
 
311
306
  /* Vertical */
312
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
313
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-large-gutter-vertical * 2); }
307
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-large, .uk-grid-row-large) { row-gap: ($grid-large-gutter-vertical * 2); }
314
308
 
315
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
309
+ .uk-grid-divider.uk-grid-stack.uk-grid-large > :not(.uk-first-row)::before {
316
310
  top: (-$grid-large-gutter-vertical);
317
311
  left: ($grid-large-gutter-horizontal * 2);
318
312
  }
319
313
 
320
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-large-gutter-vertical); }
321
- .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before { left: ($grid-large-gutter-horizontal * 2); }
314
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-large > :not(.uk-first-row)::before { top: (-$grid-large-gutter-vertical); }
315
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-large > :not(.uk-first-row)::before { left: ($grid-large-gutter-horizontal * 2); }
322
316
 
323
317
  /* Desktop and bigger */
324
318
  @media (min-width: $breakpoint-large) {
@@ -333,16 +327,15 @@
333
327
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before { left: $grid-large-gutter-horizontal-l; }
334
328
 
335
329
  /* Vertical */
336
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
337
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-large-gutter-vertical-l * 2); }
330
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-large, .uk-grid-row-large) { row-gap: ($grid-large-gutter-vertical-l * 2); }
338
331
 
339
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
332
+ .uk-grid-divider.uk-grid-stack.uk-grid-large > :not(.uk-first-row)::before {
340
333
  top: (-$grid-large-gutter-vertical-l);
341
334
  left: ($grid-large-gutter-horizontal-l * 2);
342
335
  }
343
336
 
344
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-large-gutter-vertical-l); }
345
- .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before { left: ($grid-large-gutter-horizontal-l * 2); }
337
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-large > :not(.uk-first-row)::before { top: (-$grid-large-gutter-vertical-l); }
338
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-large > :not(.uk-first-row)::before { left: ($grid-large-gutter-horizontal-l * 2); }
346
339
 
347
340
  }
348
341
 
@@ -50,10 +50,7 @@
50
50
  display: none;
51
51
  /* 2 */
52
52
  position: fixed;
53
- top: 0;
54
- right: 0;
55
- bottom: 0;
56
- left: 0;
53
+ inset: 0;
57
54
  z-index: $lightbox-z-index;
58
55
  /* 5 */
59
56
  background: $lightbox-background;
@@ -118,10 +115,7 @@
118
115
  .uk-lightbox-items > * {
119
116
  /* 1 */
120
117
  position: absolute;
121
- top: 0;
122
- right: 0;
123
- bottom: 0;
124
- left: 0;
118
+ inset: 0;
125
119
  /* 2 */
126
120
  display: none;
127
121
  justify-content: center;
@@ -0,0 +1,75 @@
1
+ @use "sass:meta";
2
+
3
+ // Name: Logo
4
+ // Description: Style for the logo
5
+ //
6
+ // Component: `uk-logo`
7
+ //
8
+ // ========================================================================
9
+
10
+
11
+ // Variables
12
+ // ========================================================================
13
+
14
+
15
+ /* ========================================================================
16
+ Component: Logo
17
+ ========================================================================== */
18
+
19
+ /*
20
+ * 1. Style
21
+ * 2. Required for `a`
22
+ * 3. Behave like image but can be overridden through flex utility classes
23
+ */
24
+
25
+ .uk-logo {
26
+ /* 1 */
27
+ font-size: $logo-font-size;
28
+ font-family: $logo-font-family;
29
+ color: $logo-color;
30
+ /* 2 */
31
+ text-decoration: none;
32
+ @if(meta.mixin-exists(hook-logo)) {@include hook-logo();}
33
+ }
34
+
35
+ /* 3 */
36
+ :where(.uk-logo) {
37
+ display: inline-block;
38
+ vertical-align: middle;
39
+ }
40
+
41
+ /* Hover */
42
+ .uk-logo:hover {
43
+ color: $logo-hover-color;
44
+ /* 2 */
45
+ text-decoration: none;
46
+ @if(meta.mixin-exists(hook-logo-hover)) {@include hook-logo-hover();}
47
+ }
48
+
49
+ .uk-logo :where(img:not([uk-svg]), svg, video) { display: block; }
50
+
51
+ .uk-logo-inverse:where(:not([uk-svg])) { display: none; }
52
+
53
+
54
+ // Misc
55
+ // ========================================================================
56
+
57
+ @if(meta.mixin-exists(hook-logo-misc)) {@include hook-logo-misc();}
58
+
59
+
60
+ // Hooks
61
+ // ========================================================================
62
+
63
+ // @mixin hook-logo(){}
64
+ // @mixin hook-logo-hover(){}
65
+ // @mixin hook-logo-misc(){}
66
+
67
+
68
+ // Inverse
69
+ // ========================================================================
70
+
71
+
72
+
73
+
74
+ // @mixin hook-inverse-logo(){}
75
+ // @mixin hook-inverse-logo-hover(){}