uikit 3.7.7-dev.8ab84e819 → 3.8.2-dev.713899c03

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 (135) hide show
  1. package/CHANGELOG.md +38 -6
  2. package/build/prefix.js +2 -2
  3. package/build/release.js +12 -16
  4. package/build/scope.js +14 -19
  5. package/build/scss.js +1 -0
  6. package/build/util.js +1 -1
  7. package/dist/css/uikit-core-rtl.css +332 -840
  8. package/dist/css/uikit-core-rtl.min.css +1 -1
  9. package/dist/css/uikit-core.css +332 -840
  10. package/dist/css/uikit-core.min.css +1 -1
  11. package/dist/css/uikit-rtl.css +364 -848
  12. package/dist/css/uikit-rtl.min.css +1 -1
  13. package/dist/css/uikit.css +364 -848
  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 +1 -1
  20. package/dist/js/components/lightbox-panel.min.js +1 -1
  21. package/dist/js/components/lightbox.js +1 -1
  22. package/dist/js/components/lightbox.min.js +1 -1
  23. package/dist/js/components/notification.js +1 -1
  24. package/dist/js/components/notification.min.js +1 -1
  25. package/dist/js/components/parallax.js +1 -1
  26. package/dist/js/components/parallax.min.js +1 -1
  27. package/dist/js/components/slider-parallax.js +1 -1
  28. package/dist/js/components/slider-parallax.min.js +1 -1
  29. package/dist/js/components/slider.js +1 -1
  30. package/dist/js/components/slider.min.js +1 -1
  31. package/dist/js/components/slideshow-parallax.js +1 -1
  32. package/dist/js/components/slideshow-parallax.min.js +1 -1
  33. package/dist/js/components/slideshow.js +1 -1
  34. package/dist/js/components/slideshow.min.js +1 -1
  35. package/dist/js/components/sortable.js +1 -1
  36. package/dist/js/components/sortable.min.js +1 -1
  37. package/dist/js/components/tooltip.js +1 -1
  38. package/dist/js/components/tooltip.min.js +1 -1
  39. package/dist/js/components/upload.js +1 -1
  40. package/dist/js/components/upload.min.js +1 -1
  41. package/dist/js/uikit-core.js +22 -10
  42. package/dist/js/uikit-core.min.js +2 -2
  43. package/dist/js/uikit-icons.js +1 -1
  44. package/dist/js/uikit-icons.min.js +1 -1
  45. package/dist/js/uikit.js +22 -10
  46. package/dist/js/uikit.min.js +2 -2
  47. package/package.json +11 -11
  48. package/src/js/core/sticky.js +5 -2
  49. package/src/js/util/viewport.js +13 -7
  50. package/src/less/components/accordion.less +3 -6
  51. package/src/less/components/alert.less +2 -3
  52. package/src/less/components/animation.less +69 -216
  53. package/src/less/components/badge.less +2 -5
  54. package/src/less/components/base.less +42 -11
  55. package/src/less/components/breadcrumb.less +3 -5
  56. package/src/less/components/button.less +17 -36
  57. package/src/less/components/card.less +7 -7
  58. package/src/less/components/close.less +3 -6
  59. package/src/less/components/cover.less +11 -6
  60. package/src/less/components/dotnav.less +3 -6
  61. package/src/less/components/dropdown.less +1 -3
  62. package/src/less/components/form-range.less +1 -1
  63. package/src/less/components/icon.less +5 -11
  64. package/src/less/components/iconnav.less +3 -6
  65. package/src/less/components/lightbox.less +11 -7
  66. package/src/less/components/link.less +6 -14
  67. package/src/less/components/marker.less +3 -6
  68. package/src/less/components/nav.less +10 -24
  69. package/src/less/components/navbar.less +6 -15
  70. package/src/less/components/notification.less +1 -1
  71. package/src/less/components/padding.less +1 -1
  72. package/src/less/components/pagination.less +3 -5
  73. package/src/less/components/position.less +45 -82
  74. package/src/less/components/search.less +3 -11
  75. package/src/less/components/slidenav.less +3 -6
  76. package/src/less/components/slider.less +0 -4
  77. package/src/less/components/slideshow.less +0 -4
  78. package/src/less/components/spinner.less +2 -2
  79. package/src/less/components/subnav.less +6 -11
  80. package/src/less/components/tab.less +3 -5
  81. package/src/less/components/table.less +3 -3
  82. package/src/less/components/thumbnav.less +3 -6
  83. package/src/less/components/totop.less +3 -6
  84. package/src/less/components/transition.less +48 -40
  85. package/src/less/components/utility.less +7 -10
  86. package/src/less/components/visibility.less +16 -45
  87. package/src/less/theme/button.less +0 -3
  88. package/src/less/theme/form.less +1 -1
  89. package/src/less/theme/table.less +9 -1
  90. package/src/scss/components/accordion.scss +2 -4
  91. package/src/scss/components/alert.scss +2 -3
  92. package/src/scss/components/animation.scss +69 -216
  93. package/src/scss/components/badge.scss +1 -3
  94. package/src/scss/components/base.scss +34 -9
  95. package/src/scss/components/breadcrumb.scss +2 -3
  96. package/src/scss/components/button.scss +12 -25
  97. package/src/scss/components/card.scss +7 -7
  98. package/src/scss/components/close.scss +2 -4
  99. package/src/scss/components/cover.scss +11 -6
  100. package/src/scss/components/dotnav.scss +2 -4
  101. package/src/scss/components/dropdown.scss +1 -3
  102. package/src/scss/components/form-range.scss +1 -1
  103. package/src/scss/components/icon.scss +3 -7
  104. package/src/scss/components/iconnav.scss +2 -4
  105. package/src/scss/components/lightbox.scss +11 -7
  106. package/src/scss/components/link.scss +3 -8
  107. package/src/scss/components/marker.scss +2 -4
  108. package/src/scss/components/nav.scss +6 -16
  109. package/src/scss/components/navbar.scss +6 -13
  110. package/src/scss/components/notification.scss +1 -1
  111. package/src/scss/components/padding.scss +1 -1
  112. package/src/scss/components/pagination.scss +2 -3
  113. package/src/scss/components/position.scss +45 -82
  114. package/src/scss/components/search.scss +2 -9
  115. package/src/scss/components/slidenav.scss +2 -4
  116. package/src/scss/components/slider.scss +0 -4
  117. package/src/scss/components/slideshow.scss +0 -4
  118. package/src/scss/components/spinner.scss +2 -2
  119. package/src/scss/components/subnav.scss +4 -7
  120. package/src/scss/components/tab.scss +2 -3
  121. package/src/scss/components/table.scss +3 -3
  122. package/src/scss/components/thumbnav.scss +2 -4
  123. package/src/scss/components/totop.scss +2 -4
  124. package/src/scss/components/transition.scss +48 -40
  125. package/src/scss/components/utility.scss +6 -8
  126. package/src/scss/components/visibility.scss +16 -45
  127. package/src/scss/mixins-theme.scss +42 -101
  128. package/src/scss/mixins.scss +38 -66
  129. package/src/scss/theme/button.scss +0 -2
  130. package/src/scss/theme/form.scss +1 -1
  131. package/src/scss/theme/table.scss +2 -1
  132. package/src/scss/variables-theme.scss +20 -14
  133. package/src/scss/variables.scss +19 -13
  134. package/tests/scroll.html +65 -1
  135. package/tests/transition.html +4 -10
@@ -76,6 +76,11 @@ $base-pre-line-height: 1.5 !default;
76
76
  $base-pre-font-family: $base-code-font-family !default;
77
77
  $base-pre-color: $global-color !default;
78
78
 
79
+ $base-focus-outline-width: 2px !default;
80
+ $base-focus-outline-style: dotted !default;
81
+ $base-focus-outline: $global-emphasis-color !default;
82
+ $base-focus-outline-offset: 1px !default;
83
+
79
84
  $base-selection-background: #39f !default;
80
85
  $base-selection-color: $global-inverse-color !default;
81
86
 
@@ -115,13 +120,6 @@ body { margin: 0; }
115
120
  /* Links
116
121
  ========================================================================== */
117
122
 
118
- /*
119
- * Remove the outline on focused links when they are also active or hovered
120
- */
121
-
122
- a:active,
123
- a:hover { outline: none; }
124
-
125
123
  /*
126
124
  * Style
127
125
  */
@@ -136,8 +134,7 @@ a,
136
134
 
137
135
  a:hover,
138
136
  .uk-link:hover,
139
- .uk-link-toggle:hover .uk-link,
140
- .uk-link-toggle:focus .uk-link {
137
+ .uk-link-toggle:hover .uk-link {
141
138
  color: $base-link-hover-color;
142
139
  text-decoration: $base-link-hover-text-decoration;
143
140
  @if(mixin-exists(hook-base-link-hover)) {@include hook-base-link-hover();}
@@ -522,6 +519,33 @@ pre {
522
519
  pre code { font-family: $base-pre-font-family; }
523
520
 
524
521
 
522
+ /* Focus
523
+ ========================================================================== */
524
+
525
+ /*
526
+ * Safari doesn't support `:focus-visible` yet. It also doesn't set focus if clicking a button or anchor.
527
+ * 1. Fallback: Remove `:focus` for a negative tabindexes.
528
+ * 2. Fallback: Set `:focus` style but not for negative tabindexes.
529
+ * 3. Fallback: Remove `:focus` style for browsers which support `:focus-visible`.
530
+ * 4. Set `:focus-visible` style for browsers which support it.
531
+ */
532
+
533
+ /* 1 */
534
+ :focus { outline: none; }
535
+
536
+ /* 2 */
537
+ :focus:not([tabindex^='-']) {
538
+ outline: $base-focus-outline-width $base-focus-outline-style $base-focus-outline;
539
+ outline-offset: $base-focus-outline-offset;
540
+ }
541
+
542
+ /* 3 */
543
+ :focus:not(:focus-visible) { outline: none; }
544
+
545
+ /* 4 */
546
+ :focus-visible { outline: $base-focus-outline-width $base-focus-outline-style $base-focus-outline; }
547
+
548
+
525
549
  /* Selection pseudo-element
526
550
  ========================================================================== */
527
551
 
@@ -610,6 +634,7 @@ $inverse-base-code-color: $inverse-global-color !default;
610
634
  $inverse-base-em-color: $inverse-global-emphasis-color !default;
611
635
  $inverse-base-heading-color: $inverse-global-emphasis-color !default;
612
636
  $inverse-base-hr-border: $inverse-global-border !default;
637
+ $inverse-base-focus-outline: $inverse-global-emphasis-color !default;
613
638
 
614
639
 
615
640
 
@@ -53,9 +53,8 @@ $breadcrumb-divider-color: $global-muted-color !defaul
53
53
  @if(mixin-exists(hook-breadcrumb-item)) {@include hook-breadcrumb-item();}
54
54
  }
55
55
 
56
- /* Hover + Focus */
57
- .uk-breadcrumb > * > :hover,
58
- .uk-breadcrumb > * > :focus {
56
+ /* Hover */
57
+ .uk-breadcrumb > * > :hover {
59
58
  color: $breadcrumb-item-hover-color;
60
59
  text-decoration: $breadcrumb-item-hover-text-decoration;
61
60
  @if(mixin-exists(hook-breadcrumb-item-hover)) {@include hook-breadcrumb-item-hover();}
@@ -143,12 +143,6 @@ $button-link-disabled-color: $global-muted-color !default;
143
143
  @if(mixin-exists(hook-button-hover)) {@include hook-button-hover();}
144
144
  }
145
145
 
146
- /* Focus */
147
- .uk-button:focus {
148
- outline: none;
149
- @if(mixin-exists(hook-button-focus)) {@include hook-button-focus();}
150
- }
151
-
152
146
  /* OnClick + Active */
153
147
  .uk-button:active,
154
148
  .uk-button.uk-active {
@@ -169,9 +163,8 @@ $button-link-disabled-color: $global-muted-color !default;
169
163
  @if(mixin-exists(hook-button-default)) {@include hook-button-default();}
170
164
  }
171
165
 
172
- /* Hover + Focus */
173
- .uk-button-default:hover,
174
- .uk-button-default:focus {
166
+ /* Hover */
167
+ .uk-button-default:hover {
175
168
  background-color: $button-default-hover-background;
176
169
  color: $button-default-hover-color;
177
170
  @if(mixin-exists(hook-button-default-hover)) {@include hook-button-default-hover();}
@@ -195,9 +188,8 @@ $button-link-disabled-color: $global-muted-color !default;
195
188
  @if(mixin-exists(hook-button-primary)) {@include hook-button-primary();}
196
189
  }
197
190
 
198
- /* Hover + Focus */
199
- .uk-button-primary:hover,
200
- .uk-button-primary:focus {
191
+ /* Hover */
192
+ .uk-button-primary:hover {
201
193
  background-color: $button-primary-hover-background;
202
194
  color: $button-primary-hover-color;
203
195
  @if(mixin-exists(hook-button-primary-hover)) {@include hook-button-primary-hover();}
@@ -221,9 +213,8 @@ $button-link-disabled-color: $global-muted-color !default;
221
213
  @if(mixin-exists(hook-button-secondary)) {@include hook-button-secondary();}
222
214
  }
223
215
 
224
- /* Hover + Focus */
225
- .uk-button-secondary:hover,
226
- .uk-button-secondary:focus {
216
+ /* Hover */
217
+ .uk-button-secondary:hover {
227
218
  background-color: $button-secondary-hover-background;
228
219
  color: $button-secondary-hover-color;
229
220
  @if(mixin-exists(hook-button-secondary-hover)) {@include hook-button-secondary-hover();}
@@ -247,9 +238,8 @@ $button-link-disabled-color: $global-muted-color !default;
247
238
  @if(mixin-exists(hook-button-danger)) {@include hook-button-danger();}
248
239
  }
249
240
 
250
- /* Hover + Focus */
251
- .uk-button-danger:hover,
252
- .uk-button-danger:focus {
241
+ /* Hover */
242
+ .uk-button-danger:hover {
253
243
  background-color: $button-danger-hover-background;
254
244
  color: $button-danger-hover-color;
255
245
  @if(mixin-exists(hook-button-danger-hover)) {@include hook-button-danger-hover();}
@@ -315,9 +305,8 @@ $button-link-disabled-color: $global-muted-color !default;
315
305
  @if(mixin-exists(hook-button-text)) {@include hook-button-text();}
316
306
  }
317
307
 
318
- /* Hover + Focus */
319
- .uk-button-text:hover,
320
- .uk-button-text:focus {
308
+ /* Hover */
309
+ .uk-button-text:hover {
321
310
  color: $button-text-hover-color;
322
311
  @if(mixin-exists(hook-button-text-hover)) {@include hook-button-text-hover();}
323
312
  }
@@ -344,9 +333,8 @@ $button-link-disabled-color: $global-muted-color !default;
344
333
  @if(mixin-exists(hook-button-link)) {@include hook-button-link();}
345
334
  }
346
335
 
347
- /* Hover + Focus */
348
- .uk-button-link:hover,
349
- .uk-button-link:focus {
336
+ /* Hover */
337
+ .uk-button-link:hover {
350
338
  color: $button-link-hover-color;
351
339
  text-decoration: $button-link-hover-text-decoration;
352
340
  }
@@ -384,7 +372,6 @@ $button-link-disabled-color: $global-muted-color !default;
384
372
 
385
373
  // @mixin hook-button(){}
386
374
  // @mixin hook-button-hover(){}
387
- // @mixin hook-button-focus(){}
388
375
  // @mixin hook-button-active(){}
389
376
  // @mixin hook-button-default(){}
390
377
  // @mixin hook-button-default-hover(){}
@@ -32,16 +32,16 @@ $card-body-padding-horizontal-l: $global-medium-gutter !default;
32
32
  $card-body-padding-vertical-l: $global-medium-gutter !default;
33
33
 
34
34
  $card-header-padding-horizontal: $global-gutter !default;
35
- $card-header-padding-vertical: round($global-gutter / 2) !default;
35
+ $card-header-padding-vertical: round(($global-gutter / 2)) !default;
36
36
 
37
37
  $card-header-padding-horizontal-l: $global-medium-gutter !default;
38
- $card-header-padding-vertical-l: round($global-medium-gutter / 2) !default;
38
+ $card-header-padding-vertical-l: round(($global-medium-gutter / 2)) !default;
39
39
 
40
40
  $card-footer-padding-horizontal: $global-gutter !default;
41
41
  $card-footer-padding-vertical: ($global-gutter / 2) !default;
42
42
 
43
43
  $card-footer-padding-horizontal-l: $global-medium-gutter !default;
44
- $card-footer-padding-vertical-l: round($global-medium-gutter / 2) !default;
44
+ $card-footer-padding-vertical-l: round(($global-medium-gutter / 2)) !default;
45
45
 
46
46
  $card-title-font-size: $global-large-font-size !default;
47
47
  $card-title-line-height: 1.4 !default;
@@ -76,16 +76,16 @@ $card-secondary-color-mode: light !default;
76
76
  $card-small-body-padding-horizontal: $global-margin !default;
77
77
  $card-small-body-padding-vertical: $global-margin !default;
78
78
  $card-small-header-padding-horizontal: $global-margin !default;
79
- $card-small-header-padding-vertical: round($global-margin / 1.5) !default;
79
+ $card-small-header-padding-vertical: round(($global-margin / 1.5)) !default;
80
80
  $card-small-footer-padding-horizontal: $global-margin !default;
81
- $card-small-footer-padding-vertical: round($global-margin / 1.5) !default;
81
+ $card-small-footer-padding-vertical: round(($global-margin / 1.5)) !default;
82
82
 
83
83
  $card-large-body-padding-horizontal-l: $global-large-gutter !default;
84
84
  $card-large-body-padding-vertical-l: $global-large-gutter !default;
85
85
  $card-large-header-padding-horizontal-l: $global-large-gutter !default;
86
- $card-large-header-padding-vertical-l: round($global-large-gutter / 2) !default;
86
+ $card-large-header-padding-vertical-l: round(($global-large-gutter / 2)) !default;
87
87
  $card-large-footer-padding-horizontal-l: $global-large-gutter !default;
88
- $card-large-footer-padding-vertical-l: round($global-large-gutter / 2) !default;
88
+ $card-large-footer-padding-vertical-l: round(($global-large-gutter / 2)) !default;
89
89
 
90
90
 
91
91
  /* ========================================================================
@@ -26,11 +26,9 @@ $close-hover-color: $global-color !default;
26
26
  @if(mixin-exists(hook-close)) {@include hook-close();}
27
27
  }
28
28
 
29
- /* Hover + Focus */
30
- .uk-close:hover,
31
- .uk-close:focus {
29
+ /* Hover */
30
+ .uk-close:hover {
32
31
  color: $close-hover-color;
33
- outline: none;
34
32
  @if(mixin-exists(hook-close-hover)) {@include hook-close-hover();}
35
33
  }
36
34
 
@@ -14,20 +14,25 @@
14
14
 
15
15
  /*
16
16
  * Works with iframes and embedded content
17
- * 1. Reset responsiveness for embedded content
18
- * 2. Center object
17
+ * 1. Apply transform instantly. Needed if transform is transitioned.
18
+ * 2. Reset responsiveness for embedded content
19
+ * 3. Center object
19
20
  * Note: Percent values on the `top` property only works if this element
20
21
  * is absolute positioned or if the container has a height
21
22
  */
22
23
 
23
- .uk-cover {
24
- /* 1 */
25
- max-width: none;
24
+ .uk-cover,
25
+ /* 1 */
26
+ [uk-cover] {
26
27
  /* 2 */
28
+ max-width: none;
29
+ /* 3 */
27
30
  position: absolute;
28
31
  left: 50%;
29
32
  top: 50%;
30
- transform: translate(-50%,-50%);
33
+ --uk-position-translate-x: -50%;
34
+ --uk-position-translate-y: -50%;
35
+ transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
31
36
  }
32
37
 
33
38
  iframe.uk-cover { pointer-events: none; }
@@ -84,11 +84,9 @@ $dotnav-item-active-background: rgba($global-color, 0.6) !defau
84
84
  @if(mixin-exists(hook-dotnav-item)) {@include hook-dotnav-item();}
85
85
  }
86
86
 
87
- /* Hover + Focus */
88
- .uk-dotnav > * > :hover,
89
- .uk-dotnav > * > :focus {
87
+ /* Hover */
88
+ .uk-dotnav > * > :hover {
90
89
  background-color: $dotnav-item-hover-background;
91
- outline: none;
92
90
  @if(mixin-exists(hook-dotnav-item-hover)) {@include hook-dotnav-item-hover();}
93
91
  }
94
92
 
@@ -85,9 +85,8 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
85
85
  @if(mixin-exists(hook-dropdown-nav-item)) {@include hook-dropdown-nav-item();}
86
86
  }
87
87
 
88
- /* Hover + Focus + Active */
88
+ /* Hover + Active */
89
89
  .uk-dropdown-nav > li > a:hover,
90
- .uk-dropdown-nav > li > a:focus,
91
90
  .uk-dropdown-nav > li.uk-active > a {
92
91
  color: $dropdown-nav-item-hover-color;
93
92
  @if(mixin-exists(hook-dropdown-nav-item-hover)) {@include hook-dropdown-nav-item-hover();}
@@ -118,7 +117,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
118
117
  .uk-dropdown-nav .uk-nav-sub a { color: $dropdown-nav-sublist-item-color; }
119
118
 
120
119
  .uk-dropdown-nav .uk-nav-sub a:hover,
121
- .uk-dropdown-nav .uk-nav-sub a:focus,
122
120
  .uk-dropdown-nav .uk-nav-sub li.uk-active > a { color: $dropdown-nav-sublist-item-hover-color; }
123
121
 
124
122
 
@@ -83,7 +83,7 @@ $form-range-track-focus-background: darken($form-range-track-backgr
83
83
  .uk-range::-webkit-slider-thumb {
84
84
  /* 1 */
85
85
  -webkit-appearance: none;
86
- margin-top: (floor($form-range-thumb-height / 2) * -1);
86
+ margin-top: (floor(($form-range-thumb-height / 2)) * -1);
87
87
  /* 2 */
88
88
  height: $form-range-thumb-height;
89
89
  width: $form-range-thumb-width;
@@ -131,10 +131,8 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
131
131
  @if(mixin-exists(hook-icon-link)) {@include hook-icon-link();}
132
132
  }
133
133
 
134
- .uk-icon-link:hover,
135
- .uk-icon-link:focus {
134
+ .uk-icon-link:hover {
136
135
  color: $icon-link-hover-color;
137
- outline: none;
138
136
  @if(mixin-exists(hook-icon-link-hover)) {@include hook-icon-link-hover();}
139
137
  }
140
138
 
@@ -165,12 +163,10 @@ button.uk-icon:not(:disabled) { cursor: pointer; }
165
163
  @if(mixin-exists(hook-icon-button)) {@include hook-icon-button();}
166
164
  }
167
165
 
168
- /* Hover + Focus */
169
- .uk-icon-button:hover,
170
- .uk-icon-button:focus {
166
+ /* Hover */
167
+ .uk-icon-button:hover {
171
168
  background-color: $icon-button-hover-background;
172
169
  color: $icon-button-hover-color;
173
- outline: none;
174
170
  @if(mixin-exists(hook-icon-button-hover)) {@include hook-icon-button-hover();}
175
171
  }
176
172
 
@@ -84,11 +84,9 @@ $iconnav-item-active-color: $global-color !default;
84
84
  @if(mixin-exists(hook-iconnav-item)) {@include hook-iconnav-item();}
85
85
  }
86
86
 
87
- /* Hover + Focus */
88
- .uk-iconnav > * > a:hover,
89
- .uk-iconnav > * > a:focus {
87
+ /* Hover */
88
+ .uk-iconnav > * > a:hover {
90
89
  color: $iconnav-item-hover-color;
91
- outline: none;
92
90
  @if(mixin-exists(hook-iconnav-item-hover)) {@include hook-iconnav-item-hover();}
93
91
  }
94
92
 
@@ -22,6 +22,8 @@
22
22
  $lightbox-z-index: $global-z-index + 10 !default;
23
23
  $lightbox-background: #000 !default;
24
24
 
25
+ $lightbox-focus-outline: rgba(255,255,255,0.7) !default;
26
+
25
27
  $lightbox-item-color: rgba(255,255,255,0.7) !default;
26
28
  $lightbox-item-max-width: 100vw !default;
27
29
  $lightbox-item-max-height: 100vh !default;
@@ -89,6 +91,13 @@ $lightbox-button-hover-color: #fff !default;
89
91
  opacity: 1;
90
92
  }
91
93
 
94
+ /*
95
+ * Focus
96
+ */
97
+
98
+ .uk-lightbox :focus { outline-color: $lightbox-focus-outline; }
99
+ .uk-lightbox :focus-visible { outline-color: $lightbox-focus-outline; }
100
+
92
101
 
93
102
  /* Page
94
103
  ========================================================================== */
@@ -111,7 +120,6 @@ $lightbox-button-hover-color: #fff !default;
111
120
  * 5. Responsiveness
112
121
  * Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
113
122
  * Using `vh` and `vw` to make responsive image work in IE11
114
- * 6. Suppress outline on focus
115
123
  */
116
124
 
117
125
  .uk-lightbox-items > * {
@@ -138,9 +146,6 @@ $lightbox-button-hover-color: #fff !default;
138
146
  max-height: $lightbox-item-max-height;
139
147
  }
140
148
 
141
- /* 6 */
142
- .uk-lightbox-items > :focus { outline: none; }
143
-
144
149
  .uk-lightbox-items > * > :not(iframe) {
145
150
  width: auto;
146
151
  height: auto;
@@ -201,9 +206,8 @@ $lightbox-button-hover-color: #fff !default;
201
206
  @if(mixin-exists(hook-lightbox-button)) {@include hook-lightbox-button();}
202
207
  }
203
208
 
204
- /* Hover + Focus */
205
- .uk-lightbox-button:hover,
206
- .uk-lightbox-button:focus {
209
+ /* Hover */
210
+ .uk-lightbox-button:hover {
207
211
  color: $lightbox-button-hover-color;
208
212
  @if(mixin-exists(hook-lightbox-button-hover)) {@include hook-lightbox-button-hover();}
209
213
  }
@@ -39,8 +39,7 @@ a.uk-link-muted,
39
39
 
40
40
  a.uk-link-muted:hover,
41
41
  .uk-link-muted a:hover,
42
- .uk-link-toggle:hover .uk-link-muted,
43
- .uk-link-toggle:focus .uk-link-muted {
42
+ .uk-link-toggle:hover .uk-link-muted {
44
43
  color: $link-muted-hover-color;
45
44
  @if(mixin-exists(hook-link-muted-hover)) {@include hook-link-muted-hover();}
46
45
  }
@@ -57,8 +56,7 @@ a.uk-link-text,
57
56
 
58
57
  a.uk-link-text:hover,
59
58
  .uk-link-text a:hover,
60
- .uk-link-toggle:hover .uk-link-text,
61
- .uk-link-toggle:focus .uk-link-text {
59
+ .uk-link-toggle:hover .uk-link-text {
62
60
  color: $link-text-hover-color;
63
61
  @if(mixin-exists(hook-link-text-hover)) {@include hook-link-text-hover();}
64
62
  }
@@ -75,8 +73,7 @@ a.uk-link-heading,
75
73
 
76
74
  a.uk-link-heading:hover,
77
75
  .uk-link-heading a:hover,
78
- .uk-link-toggle:hover .uk-link-heading,
79
- .uk-link-toggle:focus .uk-link-heading {
76
+ .uk-link-toggle:hover .uk-link-heading {
80
77
  color: $link-heading-hover-color;
81
78
  text-decoration: $link-heading-hover-text-decoration;
82
79
  @if(mixin-exists(hook-link-heading-hover)) {@include hook-link-heading-hover();}
@@ -105,8 +102,6 @@ a.uk-link-reset,
105
102
  color: inherit !important;
106
103
  text-decoration: none !important;
107
104
  }
108
-
109
- .uk-link-toggle:focus { outline: none; }
110
105
 
111
106
 
112
107
  // Hooks
@@ -31,11 +31,9 @@ $marker-hover-color: $global-inverse-color !default
31
31
  @if(mixin-exists(hook-marker)) {@include hook-marker();}
32
32
  }
33
33
 
34
- /* Hover + Focus */
35
- .uk-marker:hover,
36
- .uk-marker:focus {
34
+ /* Hover */
35
+ .uk-marker:hover {
37
36
  color: $marker-hover-color;
38
- outline: none;
39
37
  @if(mixin-exists(hook-marker-hover)) {@include hook-marker-hover();}
40
38
  }
41
39
 
@@ -110,12 +110,6 @@ $internal-nav-parent-open-image: "data:image/svg+xml;charset=UTF-8,%3Csvg%20widt
110
110
  /* 4 */
111
111
  .uk-nav li > a > * { flex: none; }
112
112
 
113
- /*
114
- * Remove default focus style
115
- */
116
-
117
- .uk-nav li > a:focus { outline: none; }
118
-
119
113
  /*
120
114
  * Items
121
115
  * Must target `a` elements to exclude other elements (e.g. lists)
@@ -205,9 +199,8 @@ ul.uk-nav-sub {
205
199
  @if(mixin-exists(hook-nav-default-item)) {@include hook-nav-default-item();}
206
200
  }
207
201
 
208
- /* Hover + Focus */
209
- .uk-nav-default > li > a:hover,
210
- .uk-nav-default > li > a:focus {
202
+ /* Hover */
203
+ .uk-nav-default > li > a:hover {
211
204
  color: $nav-default-item-hover-color;
212
205
  @if(mixin-exists(hook-nav-default-item-hover)) {@include hook-nav-default-item-hover();}
213
206
  }
@@ -242,8 +235,7 @@ ul.uk-nav-sub {
242
235
 
243
236
  .uk-nav-default .uk-nav-sub a { color: $nav-default-sublist-item-color; }
244
237
 
245
- .uk-nav-default .uk-nav-sub a:hover,
246
- .uk-nav-default .uk-nav-sub a:focus { color: $nav-default-sublist-item-hover-color; }
238
+ .uk-nav-default .uk-nav-sub a:hover { color: $nav-default-sublist-item-hover-color; }
247
239
 
248
240
  .uk-nav-default .uk-nav-sub li.uk-active > a { color: $nav-default-sublist-item-active-color; }
249
241
 
@@ -266,9 +258,8 @@ ul.uk-nav-sub {
266
258
  @if(mixin-exists(hook-nav-primary-item)) {@include hook-nav-primary-item();}
267
259
  }
268
260
 
269
- /* Hover + Focus */
270
- .uk-nav-primary > li > a:hover,
271
- .uk-nav-primary > li > a:focus {
261
+ /* Hover */
262
+ .uk-nav-primary > li > a:hover {
272
263
  color: $nav-primary-item-hover-color;
273
264
  @if(mixin-exists(hook-nav-primary-item-hover)) {@include hook-nav-primary-item-hover();}
274
265
  }
@@ -303,8 +294,7 @@ ul.uk-nav-sub {
303
294
 
304
295
  .uk-nav-primary .uk-nav-sub a { color: $nav-primary-sublist-item-color; }
305
296
 
306
- .uk-nav-primary .uk-nav-sub a:hover,
307
- .uk-nav-primary .uk-nav-sub a:focus { color: $nav-primary-sublist-item-hover-color; }
297
+ .uk-nav-primary .uk-nav-sub a:hover { color: $nav-primary-sublist-item-hover-color; }
308
298
 
309
299
  .uk-nav-primary .uk-nav-sub li.uk-active > a { color: $nav-primary-sublist-item-active-color; }
310
300
 
@@ -246,14 +246,12 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
246
246
 
247
247
  /*
248
248
  * Hover
249
- * Apply hover style also to focus state and if dropdown is opened
249
+ * Apply hover style also if dropdown is opened
250
250
  */
251
251
 
252
252
  .uk-navbar-nav > li:hover > a,
253
- .uk-navbar-nav > li > a:focus,
254
253
  .uk-navbar-nav > li > a[aria-expanded="true"] {
255
254
  color: $navbar-nav-item-hover-color;
256
- outline: none;
257
255
  @if(mixin-exists(hook-navbar-nav-item-hover)) {@include hook-navbar-nav-item-hover();}
258
256
  }
259
257
 
@@ -294,10 +292,8 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
294
292
  }
295
293
 
296
294
  .uk-navbar-toggle:hover,
297
- .uk-navbar-toggle:focus,
298
295
  .uk-navbar-toggle[aria-expanded="true"] {
299
296
  color: $navbar-toggle-hover-color;
300
- outline: none;
301
297
  text-decoration: none;
302
298
  @if(mixin-exists(hook-navbar-toggle-hover)) {@include hook-navbar-toggle-hover();}
303
299
  }
@@ -311,9 +307,8 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
311
307
  @if(mixin-exists(hook-navbar-toggle-icon)) {@include hook-navbar-toggle-icon();}
312
308
  }
313
309
 
314
- /* Hover + Focus */
315
- :hover > .uk-navbar-toggle-icon,
316
- :focus > .uk-navbar-toggle-icon {
310
+ /* Hover */
311
+ :hover > .uk-navbar-toggle-icon {
317
312
  @if(mixin-exists(hook-navbar-toggle-icon-hover)) {@include hook-navbar-toggle-icon-hover();}
318
313
  }
319
314
 
@@ -435,9 +430,8 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
435
430
  @if(mixin-exists(hook-navbar-dropdown-nav-item)) {@include hook-navbar-dropdown-nav-item();}
436
431
  }
437
432
 
438
- /* Hover + Focus */
439
- .uk-navbar-dropdown-nav > li > a:hover,
440
- .uk-navbar-dropdown-nav > li > a:focus {
433
+ /* Hover */
434
+ .uk-navbar-dropdown-nav > li > a:hover {
441
435
  color: $navbar-dropdown-nav-item-hover-color;
442
436
  @if(mixin-exists(hook-navbar-dropdown-nav-item-hover)) {@include hook-navbar-dropdown-nav-item-hover();}
443
437
  }
@@ -472,8 +466,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
472
466
 
473
467
  .uk-navbar-dropdown-nav .uk-nav-sub a { color: $navbar-dropdown-nav-sublist-item-color; }
474
468
 
475
- .uk-navbar-dropdown-nav .uk-nav-sub a:hover,
476
- .uk-navbar-dropdown-nav .uk-nav-sub a:focus { color: $navbar-dropdown-nav-sublist-item-hover-color; }
469
+ .uk-navbar-dropdown-nav .uk-nav-sub a:hover { color: $navbar-dropdown-nav-sublist-item-hover-color; }
477
470
 
478
471
  .uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a { color: $navbar-dropdown-nav-sublist-item-active-color; }
479
472
 
@@ -77,7 +77,7 @@ $notification-message-danger-color: $global-danger-background
77
77
  .uk-notification-top-center,
78
78
  .uk-notification-bottom-center {
79
79
  left: 50%;
80
- margin-left: ($notification-width / -2);
80
+ margin-left: (($notification-width / -2));
81
81
  }
82
82
 
83
83
  .uk-notification-bottom-left,
@@ -16,7 +16,7 @@ $padding-padding-l: $global-medium-gutter !
16
16
 
17
17
  $padding-small-padding: $global-small-gutter !default;
18
18
 
19
- $padding-large-padding: $global-gutter !default;
19
+ $padding-large-padding: $global-medium-gutter !default;
20
20
  $padding-large-padding-l: $global-large-gutter !default;
21
21
 
22
22
 
@@ -81,9 +81,8 @@ $pagination-item-disabled-color: $global-muted-color !default;
81
81
  @if(mixin-exists(hook-pagination-item)) {@include hook-pagination-item();}
82
82
  }
83
83
 
84
- /* Hover + Focus */
85
- .uk-pagination > * > :hover,
86
- .uk-pagination > * > :focus {
84
+ /* Hover */
85
+ .uk-pagination > * > :hover {
87
86
  color: $pagination-item-hover-color;
88
87
  text-decoration: $pagination-item-hover-text-decoration;
89
88
  @if(mixin-exists(hook-pagination-item-hover)) {@include hook-pagination-item-hover();}