uikit 3.25.26 → 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 (226) 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 +149 -146
  20. package/dist/js/components/lightbox-panel.min.js +1 -1
  21. package/dist/js/components/lightbox.js +150 -147
  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 +65 -26
  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 +95 -103
  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 +888 -337
  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 +766 -433
  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 +123 -109
  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 +13 -32
  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 +18 -62
  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-nav.js +2 -12
  80. package/src/js/mixin/slider-parallax.js +9 -38
  81. package/src/js/mixin/togglable.js +13 -14
  82. package/src/js/util/attr.js +7 -7
  83. package/src/js/util/dom.js +3 -4
  84. package/src/js/util/keys.js +14 -0
  85. package/src/js/util/lang.js +2 -2
  86. package/src/js/util/player.js +4 -2
  87. package/src/js/util/style.js +12 -13
  88. package/src/js/util/viewport.js +22 -25
  89. package/src/less/components/_import.less +8 -3
  90. package/src/less/components/animation.less +1 -1
  91. package/src/less/components/base.less +1 -1
  92. package/src/less/components/button.less +1 -1
  93. package/src/less/components/card.less +8 -8
  94. package/src/less/components/dropcap.less +71 -0
  95. package/src/less/components/floating-shadow.less +66 -0
  96. package/src/less/components/form.less +15 -15
  97. package/src/less/components/grid.less +58 -65
  98. package/src/less/components/lightbox.less +2 -8
  99. package/src/less/components/logo.less +94 -0
  100. package/src/less/components/margin.less +155 -124
  101. package/src/less/components/marquee.less +133 -0
  102. package/src/less/components/modal.less +1 -4
  103. package/src/less/components/nav.less +1 -1
  104. package/src/less/components/navbar.less +1 -1
  105. package/src/less/components/padding.less +9 -9
  106. package/src/less/components/position.less +9 -4
  107. package/src/less/components/search.less +1 -1
  108. package/src/less/components/slideshow.less +1 -4
  109. package/src/less/components/switcher.less +5 -2
  110. package/src/less/components/table.less +4 -4
  111. package/src/less/components/text.less +10 -4
  112. package/src/less/components/utility.less +0 -163
  113. package/src/less/components/visibility.less +4 -4
  114. package/src/less/theme/_import.less +6 -2
  115. package/src/less/theme/alert.less +0 -5
  116. package/src/less/theme/dropcap.less +29 -0
  117. package/src/less/theme/floating-shadow.less +20 -0
  118. package/src/less/theme/logo.less +29 -0
  119. package/src/less/theme/marquee.less +14 -0
  120. package/src/less/theme/thumbnav.less +1 -4
  121. package/src/less/theme/utility.less +0 -32
  122. package/src/scss/components/_import.scss +8 -3
  123. package/src/scss/components/animation.scss +1 -1
  124. package/src/scss/components/base.scss +1 -1
  125. package/src/scss/components/button.scss +1 -1
  126. package/src/scss/components/card.scss +8 -8
  127. package/src/scss/components/dropcap.scss +63 -0
  128. package/src/scss/components/floating-shadow.scss +63 -0
  129. package/src/scss/components/form.scss +14 -14
  130. package/src/scss/components/grid.scss +57 -64
  131. package/src/scss/components/lightbox.scss +2 -8
  132. package/src/scss/components/logo.scss +75 -0
  133. package/src/scss/components/margin.scss +155 -124
  134. package/src/scss/components/marquee.scss +136 -0
  135. package/src/scss/components/modal.scss +1 -4
  136. package/src/scss/components/nav.scss +1 -1
  137. package/src/scss/components/navbar.scss +1 -1
  138. package/src/scss/components/padding.scss +9 -9
  139. package/src/scss/components/position.scss +9 -4
  140. package/src/scss/components/search.scss +1 -1
  141. package/src/scss/components/slideshow.scss +1 -4
  142. package/src/scss/components/switcher.scss +5 -2
  143. package/src/scss/components/table.scss +4 -4
  144. package/src/scss/components/text.scss +10 -4
  145. package/src/scss/components/utility.scss +0 -129
  146. package/src/scss/components/visibility.scss +4 -4
  147. package/src/scss/mixins-theme.scss +44 -43
  148. package/src/scss/mixins.scss +40 -31
  149. package/src/scss/variables-theme.scss +14 -14
  150. package/src/scss/variables.scss +14 -14
  151. package/tests/accordion.html +77 -10
  152. package/tests/alert.html +1 -1
  153. package/tests/align.html +5 -5
  154. package/tests/animation.html +4 -4
  155. package/tests/article.html +7 -7
  156. package/tests/background.html +2 -2
  157. package/tests/badge.html +1 -1
  158. package/tests/base.html +2 -2
  159. package/tests/button.html +1 -1
  160. package/tests/card.html +15 -15
  161. package/tests/close.html +2 -2
  162. package/tests/comment.html +9 -9
  163. package/tests/container.html +2 -2
  164. package/tests/countdown.html +21 -21
  165. package/tests/cover.html +3 -3
  166. package/tests/description-list.html +1 -1
  167. package/tests/divider.html +3 -3
  168. package/tests/dotnav.html +1 -1
  169. package/tests/drop.html +7 -7
  170. package/tests/dropbar.html +5 -5
  171. package/tests/dropcap.html +26 -0
  172. package/tests/dropdown.html +1 -1
  173. package/tests/dropnav.html +18 -18
  174. package/tests/filter.html +3 -3
  175. package/tests/floating-shadow.html +44 -0
  176. package/tests/form.html +14 -14
  177. package/tests/grid.html +41 -47
  178. package/tests/heading.html +2 -2
  179. package/tests/height-viewport.html +4 -4
  180. package/tests/height.html +5 -5
  181. package/tests/icon.html +8 -8
  182. package/tests/image.html +6 -6
  183. package/tests/index.html +13 -13
  184. package/tests/js/index.js +1 -1
  185. package/tests/leader.html +5 -5
  186. package/tests/lightbox.html +6 -6
  187. package/tests/link.html +1 -1
  188. package/tests/list.html +4 -4
  189. package/tests/logo.html +84 -0
  190. package/tests/margin.html +59 -7
  191. package/tests/marker.html +3 -3
  192. package/tests/marquee.html +617 -0
  193. package/tests/modal.html +3 -3
  194. package/tests/nav.html +5 -5
  195. package/tests/navbar.html +27 -27
  196. package/tests/notification.html +8 -2
  197. package/tests/offcanvas.html +12 -12
  198. package/tests/overlay.html +3 -3
  199. package/tests/padding.html +1 -1
  200. package/tests/pagination.html +3 -3
  201. package/tests/parallax.html +1 -1
  202. package/tests/position.html +6 -6
  203. package/tests/scrollspy.html +13 -13
  204. package/tests/search.html +5 -5
  205. package/tests/section.html +17 -17
  206. package/tests/slidenav.html +3 -3
  207. package/tests/slider.html +5 -5
  208. package/tests/slideshow.html +33 -3
  209. package/tests/sortable.html +15 -15
  210. package/tests/sticky-navbar.html +4 -4
  211. package/tests/sticky-parallax.html +3 -3
  212. package/tests/sticky.html +3 -3
  213. package/tests/svg.html +3 -2
  214. package/tests/switcher.html +7 -7
  215. package/tests/tab.html +5 -5
  216. package/tests/text.html +9 -3
  217. package/tests/tile.html +4 -4
  218. package/tests/toggle.html +1 -1
  219. package/tests/tooltip.html +3 -3
  220. package/tests/totop.html +2 -2
  221. package/tests/transition.html +1 -1
  222. package/tests/upload.html +5 -5
  223. package/tests/utility.html +16 -116
  224. package/tests/video.html +224 -24
  225. package/tests/visibility.html +4 -4
  226. package/tests/width.html +12 -12
@@ -271,7 +271,7 @@
271
271
  */
272
272
 
273
273
  .uk-input,
274
- .uk-select:not([multiple]):not([size]) {
274
+ .uk-select:not([multiple], [size]) {
275
275
  height: @form-height;
276
276
  vertical-align: middle;
277
277
  .hook-form-single-line();
@@ -403,7 +403,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
403
403
  * 3. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
404
404
  */
405
405
 
406
- .uk-select:not([multiple]):not([size]) {
406
+ .uk-select:not([multiple], [size]) {
407
407
  /* 1 */
408
408
  -webkit-appearance: none;
409
409
  -moz-appearance: none;
@@ -415,13 +415,13 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
415
415
  }
416
416
 
417
417
  /* 3 */
418
- .uk-select:not([multiple]):not([size]) option { color: @form-select-option-color; }
418
+ .uk-select:not([multiple], [size]) option { color: @form-select-option-color; }
419
419
 
420
420
  /*
421
421
  * Disabled
422
422
  */
423
423
 
424
- .uk-select:not([multiple]):not([size]):disabled { .svg-fill(@internal-form-select-image, "#000", @form-select-disabled-icon-color); }
424
+ .uk-select:not([multiple], [size]):disabled { .svg-fill(@internal-form-select-image, "#000", @form-select-disabled-icon-color); }
425
425
 
426
426
 
427
427
  /* Datalist
@@ -539,7 +539,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
539
539
  .uk-form-small:is(.uk-input, .uk-search-input, .uk-select, .uk-textarea) { font-size: @form-small-font-size; }
540
540
 
541
541
  /* Single-line */
542
- .uk-form-small:is(.uk-input, .uk-search-input, .uk-select:not([multiple]):not([size])) {
542
+ .uk-form-small:is(.uk-input, .uk-search-input, .uk-select:not([multiple], [size])) {
543
543
  height: @form-small-height;
544
544
  padding-left: @form-small-padding-horizontal;
545
545
  padding-right: @form-small-padding-horizontal;
@@ -549,7 +549,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
549
549
  .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; }
550
550
 
551
551
  /* Any element */
552
- .uk-form-small:not(select):not(input):not(textarea):not([type="radio"]):not([type="checkbox"]) { line-height: @form-small-line-height; }
552
+ .uk-form-small:not(select, input, textarea, [type="radio"], [type="checkbox"]) { line-height: @form-small-line-height; }
553
553
 
554
554
  /* Radio + Checkbox */
555
555
  .uk-form-small:is(.uk-radio, .uk-checkbox) {
@@ -564,7 +564,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
564
564
  .uk-form-large:is(.uk-input, .uk-search-input, .uk-select, .uk-textarea) { font-size: @form-large-font-size; }
565
565
 
566
566
  /* Single-line */
567
- .uk-form-large:is(.uk-input, .uk-search-input, .uk-select:not([multiple]):not([size])) {
567
+ .uk-form-large:is(.uk-input, .uk-search-input, .uk-select:not([multiple], [size])) {
568
568
  height: @form-large-height;
569
569
  padding-left: @form-large-padding-horizontal;
570
570
  padding-right: @form-large-padding-horizontal;
@@ -574,7 +574,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
574
574
  .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; }
575
575
 
576
576
  /* Any element */
577
- .uk-form-large:not(select):not(input):not(textarea):not([type="radio"]):not([type="checkbox"]) { line-height: @form-large-line-height; }
577
+ .uk-form-large:not(select, input, textarea, [type="radio"], [type="checkbox"]) { line-height: @form-large-line-height; }
578
578
 
579
579
  /* Radio + Checkbox */
580
580
  .uk-form-large:is(.uk-radio, .uk-checkbox) {
@@ -678,7 +678,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
678
678
  * Stacked
679
679
  */
680
680
 
681
- .uk-form-stacked .uk-form-label {
681
+ .uk-form-stacked :where(.uk-form-label) {
682
682
  display: block;
683
683
  margin-bottom: @form-stacked-margin-bottom;
684
684
  .hook-form-stacked-label();
@@ -692,7 +692,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
692
692
  @media (max-width: @breakpoint-small-max) {
693
693
 
694
694
  /* Behave like `uk-form-stacked` */
695
- .uk-form-horizontal .uk-form-label {
695
+ .uk-form-horizontal :where(.uk-form-label) {
696
696
  display: block;
697
697
  margin-bottom: @form-stacked-margin-bottom;
698
698
  .hook-form-stacked-label();
@@ -703,17 +703,17 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
703
703
  /* Tablet landscape and bigger */
704
704
  @media (min-width: @breakpoint-medium) {
705
705
 
706
- .uk-form-horizontal .uk-form-label {
706
+ .uk-form-horizontal :where(.uk-form-label) {
707
707
  width: @form-horizontal-label-width;
708
708
  margin-top: @form-horizontal-label-margin-top;
709
709
  float: left;
710
710
  .hook-form-horizontal-label();
711
711
  }
712
712
 
713
- .uk-form-horizontal .uk-form-controls { margin-left: @form-horizontal-controls-margin-left; }
713
+ .uk-form-horizontal :where(.uk-form-controls) { margin-left: @form-horizontal-controls-margin-left; }
714
714
 
715
715
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
716
- .uk-form-horizontal .uk-form-controls-text { padding-top: @form-horizontal-controls-text-padding-top; }
716
+ .uk-form-horizontal :where(.uk-form-controls-text) { padding-top: @form-horizontal-controls-text-padding-top; }
717
717
 
718
718
  }
719
719
 
@@ -755,7 +755,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
755
755
  * Make `input` element clickable through icon, e.g. if it's a `span`
756
756
  */
757
757
 
758
- .uk-form-icon:not(a):not(button):not(input) { pointer-events: none; }
758
+ .uk-form-icon:not(a, button, input) { pointer-events: none; }
759
759
 
760
760
  /*
761
761
  * Input padding
@@ -856,7 +856,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
856
856
  // Select
857
857
  //
858
858
 
859
- .uk-select:not([multiple]):not([size]) { .svg-fill(@internal-form-select-image, "#000", @inverse-form-select-icon-color); }
859
+ .uk-select:not([multiple], [size]) { .svg-fill(@internal-form-select-image, "#000", @inverse-form-select-icon-color); }
860
860
 
861
861
  //
862
862
  // Datalist
@@ -19,6 +19,7 @@
19
19
  // Sub-modifier: `uk-grid-item-match`
20
20
  //
21
21
  // States: `uk-first-column`
22
+ // `uk-first-row`
22
23
  //
23
24
  // ========================================================================
24
25
 
@@ -80,32 +81,32 @@
80
81
  .uk-grid > * > :last-child { margin-bottom: 0; }
81
82
 
82
83
 
83
- /* Gutter
84
+ /* Gap
84
85
  ========================================================================== */
85
86
 
86
87
  /*
87
88
  * Default
88
89
  */
89
90
 
90
- /* Horizontal */
91
91
  .uk-grid { margin-left: -@grid-gutter-horizontal; }
92
92
  .uk-grid > * { padding-left: @grid-gutter-horizontal; }
93
93
 
94
- /* Vertical */
95
- .uk-grid + .uk-grid,
96
- .uk-grid > .uk-grid-margin,
94
+ .uk-grid { row-gap: @grid-gutter-vertical; }
95
+
96
+ /* Margin */
97
+ .uk-grid + :where(.uk-grid),
97
98
  * + .uk-grid-margin { margin-top: @grid-gutter-vertical; }
98
99
 
99
100
  /* Desktop and bigger */
100
101
  @media (min-width: @breakpoint-large) {
101
102
 
102
- /* Horizontal */
103
103
  .uk-grid { margin-left: -@grid-gutter-horizontal-l; }
104
104
  .uk-grid > * { padding-left: @grid-gutter-horizontal-l; }
105
105
 
106
- /* Vertical */
107
- .uk-grid + .uk-grid,
108
- .uk-grid > .uk-grid-margin,
106
+ .uk-grid { row-gap: @grid-gutter-vertical-l; }
107
+
108
+ /* Margin */
109
+ .uk-grid + :where(.uk-grid),
109
110
  * + .uk-grid-margin { margin-top: @grid-gutter-vertical-l; }
110
111
 
111
112
  }
@@ -114,67 +115,63 @@
114
115
  * Small
115
116
  */
116
117
 
117
- /* Horizontal */
118
118
  .uk-grid-small,
119
119
  .uk-grid-column-small { margin-left: -@grid-small-gutter-horizontal; }
120
120
  .uk-grid-small > *,
121
121
  .uk-grid-column-small > * { padding-left: @grid-small-gutter-horizontal; }
122
122
 
123
- /* Vertical */
124
- .uk-grid + .uk-grid-small,
125
- .uk-grid + .uk-grid-row-small,
126
- .uk-grid-small > .uk-grid-margin,
127
- .uk-grid-row-small > .uk-grid-margin,
123
+ .uk-grid-small,
124
+ .uk-grid-row-small { row-gap: @grid-small-gutter-vertical; }
125
+
126
+ /* Margin */
127
+ .uk-grid + :where(.uk-grid-small, .uk-grid-row-small),
128
128
  * + .uk-grid-margin-small { margin-top: @grid-small-gutter-vertical; }
129
129
 
130
130
  /*
131
131
  * Medium
132
132
  */
133
133
 
134
- /* Horizontal */
135
134
  .uk-grid-medium,
136
135
  .uk-grid-column-medium { margin-left: -@grid-medium-gutter-horizontal; }
137
136
  .uk-grid-medium > *,
138
137
  .uk-grid-column-medium > * { padding-left: @grid-medium-gutter-horizontal; }
139
138
 
140
- /* Vertical */
141
- .uk-grid + .uk-grid-medium,
142
- .uk-grid + .uk-grid-row-medium,
143
- .uk-grid-medium > .uk-grid-margin,
144
- .uk-grid-row-medium > .uk-grid-margin,
139
+ .uk-grid-medium,
140
+ .uk-grid-row-medium { row-gap: @grid-medium-gutter-vertical; }
141
+
142
+ /* Margin */
143
+ .uk-grid + :where(.uk-grid-medium, .uk-grid-row-medium),
145
144
  * + .uk-grid-margin-medium { margin-top: @grid-medium-gutter-vertical; }
146
145
 
147
146
  /*
148
147
  * Large
149
148
  */
150
149
 
151
- /* Horizontal */
152
150
  .uk-grid-large,
153
151
  .uk-grid-column-large { margin-left: -@grid-large-gutter-horizontal; }
154
152
  .uk-grid-large > *,
155
153
  .uk-grid-column-large > * { padding-left: @grid-large-gutter-horizontal; }
156
154
 
157
- /* Vertical */
158
- .uk-grid + .uk-grid-large,
159
- .uk-grid + .uk-grid-row-large,
160
- .uk-grid-large > .uk-grid-margin,
161
- .uk-grid-row-large > .uk-grid-margin,
155
+ .uk-grid-large,
156
+ .uk-grid-row-large { row-gap: @grid-large-gutter-vertical; }
157
+
158
+ /* Margin */
159
+ .uk-grid + :where(.uk-grid-large, .uk-grid-row-large),
162
160
  * + .uk-grid-margin-large { margin-top: @grid-large-gutter-vertical; }
163
161
 
164
162
  /* Desktop and bigger */
165
163
  @media (min-width: @breakpoint-large) {
166
164
 
167
- /* Horizontal */
168
165
  .uk-grid-large,
169
166
  .uk-grid-column-large { margin-left: -@grid-large-gutter-horizontal-l; }
170
167
  .uk-grid-large > *,
171
168
  .uk-grid-column-large > * { padding-left: @grid-large-gutter-horizontal-l; }
172
169
 
173
- /* Vertical */
174
- .uk-grid + .uk-grid-large,
175
- .uk-grid + .uk-grid-row-large,
176
- .uk-grid-large > .uk-grid-margin,
177
- .uk-grid-row-large > .uk-grid-margin,
170
+ .uk-grid-large,
171
+ .uk-grid-row-large { row-gap: @grid-large-gutter-vertical-l; }
172
+
173
+ /* Margin */
174
+ .uk-grid + :where(.uk-grid-large, .uk-grid-row-large),
178
175
  * + .uk-grid-margin-large { margin-top: @grid-large-gutter-vertical-l; }
179
176
 
180
177
  }
@@ -183,17 +180,16 @@
183
180
  * Collapse
184
181
  */
185
182
 
186
- /* Horizontal */
187
183
  .uk-grid-collapse,
188
184
  .uk-grid-column-collapse { margin-left: 0; }
189
185
  .uk-grid-collapse > *,
190
186
  .uk-grid-column-collapse > * { padding-left: 0; }
191
187
 
192
- /* Vertical */
193
- .uk-grid + .uk-grid-collapse,
194
- .uk-grid + .uk-grid-row-collapse,
195
- .uk-grid-collapse > .uk-grid-margin,
196
- .uk-grid-row-collapse > .uk-grid-margin { margin-top: 0; }
188
+ .uk-grid-collapse,
189
+ .uk-grid-row-collapse { row-gap: 0; }
190
+
191
+ /* Margin */
192
+ .uk-grid + :where(.uk-grid-collapse, .uk-grid-row-collapse) { margin-top: 0; }
197
193
 
198
194
 
199
195
  /* Divider
@@ -201,6 +197,7 @@
201
197
 
202
198
  .uk-grid-divider > * { position: relative; }
203
199
 
200
+ /* Horizontal */
204
201
  .uk-grid-divider > :not(.uk-first-column)::before {
205
202
  content: "";
206
203
  position: absolute;
@@ -211,7 +208,7 @@
211
208
  }
212
209
 
213
210
  /* Vertical */
214
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
211
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
215
212
  content: "";
216
213
  position: absolute;
217
214
  left: 0;
@@ -231,9 +228,9 @@
231
228
  .uk-grid-divider > :not(.uk-first-column)::before { left: @grid-gutter-horizontal; }
232
229
 
233
230
  /* Vertical */
234
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin { margin-top: (@grid-gutter-vertical * 2); }
231
+ .uk-grid-divider.uk-grid-stack { row-gap: (@grid-gutter-vertical * 2); }
235
232
 
236
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
233
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
237
234
  top: -@grid-gutter-vertical;
238
235
  left: (@grid-gutter-horizontal * 2);
239
236
  }
@@ -248,9 +245,9 @@
248
245
  .uk-grid-divider > :not(.uk-first-column)::before { left: @grid-gutter-horizontal-l; }
249
246
 
250
247
  /* Vertical */
251
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin { margin-top: (@grid-gutter-vertical-l * 2); }
248
+ .uk-grid-divider.uk-grid-stack { row-gap: (@grid-gutter-vertical-l * 2); }
252
249
 
253
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
250
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
254
251
  top: -@grid-gutter-vertical-l;
255
252
  left: (@grid-gutter-horizontal-l * 2);
256
253
  }
@@ -271,16 +268,15 @@
271
268
  .uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before { left: @grid-small-gutter-horizontal; }
272
269
 
273
270
  /* Vertical */
274
- .uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
275
- .uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin { margin-top: (@grid-small-gutter-vertical * 2); }
271
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-small, .uk-grid-row-small) { row-gap: (@grid-small-gutter-vertical * 2); }
276
272
 
277
- .uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
273
+ .uk-grid-divider.uk-grid-stack.uk-grid-small > :not(.uk-first-row)::before {
278
274
  top: -@grid-small-gutter-vertical;
279
275
  left: (@grid-small-gutter-horizontal * 2);
280
276
  }
281
277
 
282
- .uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before { top: -@grid-small-gutter-vertical; }
283
- .uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before { left: (@grid-small-gutter-horizontal * 2); }
278
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-small > :not(.uk-first-row)::before { top: -@grid-small-gutter-vertical; }
279
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-small > :not(.uk-first-row)::before { left: (@grid-small-gutter-horizontal * 2); }
284
280
 
285
281
  /*
286
282
  * Medium
@@ -296,16 +292,15 @@
296
292
  .uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before { left: @grid-medium-gutter-horizontal; }
297
293
 
298
294
  /* Vertical */
299
- .uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
300
- .uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin { margin-top: (@grid-medium-gutter-vertical * 2); }
295
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-medium, .uk-grid-row-medium) { row-gap: (@grid-medium-gutter-vertical * 2); }
301
296
 
302
- .uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
297
+ .uk-grid-divider.uk-grid-stack.uk-grid-medium > :not(.uk-first-row)::before {
303
298
  top: -@grid-medium-gutter-vertical;
304
299
  left: (@grid-medium-gutter-horizontal * 2);
305
300
  }
306
301
 
307
- .uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before { top: -@grid-medium-gutter-vertical; }
308
- .uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before { left: (@grid-medium-gutter-horizontal * 2); }
302
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-medium > :not(.uk-first-row)::before { top: -@grid-medium-gutter-vertical; }
303
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-medium > :not(.uk-first-row)::before { left: (@grid-medium-gutter-horizontal * 2); }
309
304
 
310
305
  /*
311
306
  * Large
@@ -321,16 +316,15 @@
321
316
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before { left: @grid-large-gutter-horizontal; }
322
317
 
323
318
  /* Vertical */
324
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
325
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin { margin-top: (@grid-large-gutter-vertical * 2); }
319
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-large, .uk-grid-row-large) { row-gap: (@grid-large-gutter-vertical * 2); }
326
320
 
327
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
321
+ .uk-grid-divider.uk-grid-stack.uk-grid-large > :not(.uk-first-row)::before {
328
322
  top: -@grid-large-gutter-vertical;
329
323
  left: (@grid-large-gutter-horizontal * 2);
330
324
  }
331
325
 
332
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before { top: -@grid-large-gutter-vertical; }
333
- .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before { left: (@grid-large-gutter-horizontal * 2); }
326
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-large > :not(.uk-first-row)::before { top: -@grid-large-gutter-vertical; }
327
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-large > :not(.uk-first-row)::before { left: (@grid-large-gutter-horizontal * 2); }
334
328
 
335
329
  /* Desktop and bigger */
336
330
  @media (min-width: @breakpoint-large) {
@@ -345,16 +339,15 @@
345
339
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before { left: @grid-large-gutter-horizontal-l; }
346
340
 
347
341
  /* Vertical */
348
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
349
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin { margin-top: (@grid-large-gutter-vertical-l * 2); }
342
+ .uk-grid-divider.uk-grid-stack:where(.uk-grid-large, .uk-grid-row-large) { row-gap: (@grid-large-gutter-vertical-l * 2); }
350
343
 
351
- .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
344
+ .uk-grid-divider.uk-grid-stack.uk-grid-large > :not(.uk-first-row)::before {
352
345
  top: -@grid-large-gutter-vertical-l;
353
346
  left: (@grid-large-gutter-horizontal-l * 2);
354
347
  }
355
348
 
356
- .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before { top: -@grid-large-gutter-vertical-l; }
357
- .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before { left: (@grid-large-gutter-horizontal-l * 2); }
349
+ .uk-grid-divider.uk-grid-stack.uk-grid-row-large > :not(.uk-first-row)::before { top: -@grid-large-gutter-vertical-l; }
350
+ .uk-grid-divider.uk-grid-stack.uk-grid-column-large > :not(.uk-first-row)::before { left: (@grid-large-gutter-horizontal-l * 2); }
358
351
 
359
352
  }
360
353
 
@@ -408,7 +401,7 @@
408
401
  .hook-inverse-grid-divider-horizontal();
409
402
  }
410
403
 
411
- .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
404
+ .uk-grid-divider.uk-grid-stack > :not(.uk-first-row)::before {
412
405
  border-top-color: @inverse-grid-divider-border;
413
406
  .hook-inverse-grid-divider-vertical();
414
407
  }
@@ -60,10 +60,7 @@
60
60
  display: none;
61
61
  /* 2 */
62
62
  position: fixed;
63
- top: 0;
64
- right: 0;
65
- bottom: 0;
66
- left: 0;
63
+ inset: 0;
67
64
  z-index: @lightbox-z-index;
68
65
  /* 5 */
69
66
  background: @lightbox-background;
@@ -128,10 +125,7 @@
128
125
  .uk-lightbox-items > * {
129
126
  /* 1 */
130
127
  position: absolute;
131
- top: 0;
132
- right: 0;
133
- bottom: 0;
134
- left: 0;
128
+ inset: 0;
135
129
  /* 2 */
136
130
  display: none;
137
131
  justify-content: center;
@@ -0,0 +1,94 @@
1
+ // Name: Logo
2
+ // Description: Style for the logo
3
+ //
4
+ // Component: `uk-logo`
5
+ //
6
+ // ========================================================================
7
+
8
+
9
+ // Variables
10
+ // ========================================================================
11
+
12
+ @logo-font-size: @global-large-font-size;
13
+ @logo-font-family: @global-font-family;
14
+ @logo-color: @global-emphasis-color;
15
+ @logo-hover-color: @global-emphasis-color;
16
+
17
+ /* ========================================================================
18
+ Component: Logo
19
+ ========================================================================== */
20
+
21
+ /*
22
+ * 1. Style
23
+ * 2. Required for `a`
24
+ * 3. Behave like image but can be overridden through flex utility classes
25
+ */
26
+
27
+ .uk-logo {
28
+ /* 1 */
29
+ font-size: @logo-font-size;
30
+ font-family: @logo-font-family;
31
+ color: @logo-color;
32
+ /* 2 */
33
+ text-decoration: none;
34
+ .hook-logo();
35
+ }
36
+
37
+ /* 3 */
38
+ :where(.uk-logo) {
39
+ display: inline-block;
40
+ vertical-align: middle;
41
+ }
42
+
43
+ /* Hover */
44
+ .uk-logo:hover {
45
+ color: @logo-hover-color;
46
+ /* 2 */
47
+ text-decoration: none;
48
+ .hook-logo-hover();
49
+ }
50
+
51
+ .uk-logo :where(img:not([uk-svg]), svg, video) { display: block; }
52
+
53
+ .uk-logo-inverse:where(:not([uk-svg])) { display: none; }
54
+
55
+
56
+ // Misc
57
+ // ========================================================================
58
+
59
+ .hook-logo-misc();
60
+
61
+
62
+ // Hooks
63
+ // ========================================================================
64
+
65
+ .hook-logo() {}
66
+ .hook-logo-hover() {}
67
+ .hook-logo-misc() {}
68
+
69
+
70
+ // Inverse
71
+ // ========================================================================
72
+
73
+ @inverse-logo-color: @inverse-global-emphasis-color;
74
+ @inverse-logo-hover-color: @inverse-global-emphasis-color;
75
+
76
+ .hook-inverse () {
77
+
78
+ .uk-logo {
79
+ color: @inverse-logo-color;
80
+ .hook-inverse-logo();
81
+ }
82
+
83
+ .uk-logo:hover {
84
+ color: @inverse-logo-hover-color;
85
+ .hook-inverse-logo-hover();
86
+ }
87
+
88
+ .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse:not([uk-svg])), .uk-logo-inverse, [uk-svg]) { display: none; }
89
+ .uk-logo-inverse:not([uk-svg]) { display: block; }
90
+
91
+ }
92
+
93
+ .hook-inverse-logo() {}
94
+ .hook-inverse-logo-hover() {}