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
@@ -234,11 +234,17 @@ td.uk-text-truncate { max-width: 0; }
234
234
  * Note: Not using `hyphens: auto` because it hyphenates text even if not needed.
235
235
  */
236
236
 
237
- .uk-text-break { overflow-wrap: break-word; }
237
+ .uk-text-break { overflow-wrap: break-word; }
238
238
 
239
- /* 1 */
240
- th.uk-text-break,
241
- td.uk-text-break { word-break: break-word; }
239
+ /* 1 */
240
+ th.uk-text-break,
241
+ td.uk-text-break { word-break: break-word; }
242
+
243
+ /*
244
+ * Balance text when wrapping onto multiple lines
245
+ */
246
+
247
+ .uk-text-balance { text-wrap: balance; }
242
248
 
243
249
 
244
250
  /* Stroke modifiers
@@ -13,9 +13,6 @@
13
13
  // `uk-object-*`
14
14
  // `uk-border-*`
15
15
  // `uk-box-shadow-*`
16
- // `uk-box-shadow-bottom`
17
- // `uk-dropcap`
18
- // `uk-logo`
19
16
  // `uk-blend-*`
20
17
  // `uk-transform-*`
21
18
  // `uk-transform-origin-*`
@@ -42,21 +39,6 @@
42
39
 
43
40
  @box-shadow-duration: 0.1s;
44
41
 
45
- @box-shadow-bottom-height: 30px;
46
- @box-shadow-bottom-bottom: -@box-shadow-bottom-height;
47
- @box-shadow-bottom-border-radius: 100%;
48
- @box-shadow-bottom-background: #444;
49
- @box-shadow-bottom-blur: 20px;
50
-
51
- @dropcap-margin-right: 10px;
52
- @dropcap-font-size: ((@global-line-height * 3) * 1em);
53
- @dropcap-line-height: 1;
54
-
55
- @logo-font-size: @global-large-font-size;
56
- @logo-font-family: @global-font-family;
57
- @logo-color: @global-emphasis-color;
58
- @logo-hover-color: @global-emphasis-color;
59
-
60
42
  @dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3);
61
43
 
62
44
 
@@ -364,114 +346,6 @@
364
346
  .uk-box-shadow-hover-xlarge:hover { box-shadow: @global-xlarge-box-shadow; }
365
347
 
366
348
 
367
- /* Box-shadow bottom
368
- ========================================================================== */
369
-
370
- /*
371
- * 1. Set position.
372
- * 2. Set style
373
- * 3. Fix shadow being clipped in Safari if container is animated
374
- */
375
-
376
- @supports (filter: blur(0)) {
377
-
378
- .uk-box-shadow-bottom {
379
- display: inline-block;
380
- position: relative;
381
- z-index: 0;
382
- max-width: 100%;
383
- vertical-align: middle;
384
- }
385
-
386
- .uk-box-shadow-bottom::after {
387
- content: "";
388
- /* 1 */
389
- position: absolute;
390
- bottom: @box-shadow-bottom-bottom;
391
- left: 0;
392
- right: 0;
393
- z-index: -1;
394
- /* 2 */
395
- height: @box-shadow-bottom-height;
396
- border-radius: @box-shadow-bottom-border-radius;
397
- background: @box-shadow-bottom-background;
398
- filter: blur(@box-shadow-bottom-blur);
399
- /* 3 */
400
- will-change: filter;
401
- .hook-box-shadow-bottom();
402
- }
403
-
404
- }
405
-
406
-
407
- /* Drop cap
408
- ========================================================================== */
409
-
410
- /*
411
- * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
412
- * https://bugzilla.mozilla.org/show_bug.cgi?id=214004
413
- * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
414
- * https://bugzilla.mozilla.org/show_bug.cgi?id=317933
415
- */
416
-
417
- .uk-dropcap::first-letter,
418
- /* 1 */
419
- .uk-dropcap > p:first-of-type::first-letter {
420
- display: block;
421
- margin-right: @dropcap-margin-right;
422
- float: left;
423
- font-size: @dropcap-font-size;
424
- line-height: @dropcap-line-height;
425
- .hook-dropcap();
426
- }
427
-
428
- /* 2 */
429
- @-moz-document url-prefix() {
430
-
431
- .uk-dropcap::first-letter,
432
- .uk-dropcap > p:first-of-type::first-letter { margin-top: 1.1%; }
433
-
434
- }
435
-
436
-
437
- /* Logo
438
- ========================================================================== */
439
-
440
- /*
441
- * 1. Style
442
- * 2. Required for `a`
443
- * 3. Behave like image but can be overridden through flex utility classes
444
- */
445
-
446
- .uk-logo {
447
- /* 1 */
448
- font-size: @logo-font-size;
449
- font-family: @logo-font-family;
450
- color: @logo-color;
451
- /* 2 */
452
- text-decoration: none;
453
- .hook-logo();
454
- }
455
-
456
- /* 3 */
457
- :where(.uk-logo) {
458
- display: inline-block;
459
- vertical-align: middle;
460
- }
461
-
462
- /* Hover */
463
- .uk-logo:hover {
464
- color: @logo-hover-color;
465
- /* 1 */
466
- text-decoration: none;
467
- .hook-logo-hover();
468
- }
469
-
470
- .uk-logo :where(img, svg, video) { display: block; }
471
-
472
- .uk-logo-inverse { display: none; }
473
-
474
-
475
349
  /* Disabled State
476
350
  ========================================================================== */
477
351
 
@@ -549,41 +423,4 @@
549
423
  .hook-utility-misc();
550
424
 
551
425
  .hook-panel-scrollable() {}
552
- .hook-box-shadow-bottom() {}
553
- .hook-dropcap() {}
554
- .hook-logo() {}
555
- .hook-logo-hover() {}
556
426
  .hook-utility-misc() {}
557
-
558
-
559
- // Inverse
560
- // ========================================================================
561
-
562
- @inverse-logo-color: @inverse-global-emphasis-color;
563
- @inverse-logo-hover-color: @inverse-global-emphasis-color;
564
-
565
- .hook-inverse() {
566
-
567
- .uk-dropcap::first-letter,
568
- .uk-dropcap p:first-of-type::first-letter {
569
- .hook-inverse-dropcap();
570
- }
571
-
572
- .uk-logo {
573
- color: @inverse-logo-color;
574
- .hook-inverse-logo();
575
- }
576
-
577
- .uk-logo:hover {
578
- color: @inverse-logo-hover-color;
579
- .hook-inverse-logo-hover();
580
- }
581
-
582
- .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse) { display: none; }
583
- .uk-logo-inverse { display: block; }
584
-
585
- }
586
-
587
- .hook-inverse-dropcap() {}
588
- .hook-inverse-logo() {}
589
- .hook-inverse-logo-hover() {}
@@ -114,10 +114,10 @@
114
114
  * Note: `clip-path` doesn't work with `tabindex` on touch devices.
115
115
  */
116
116
 
117
- .uk-hidden-visually:not(:focus):not(:active):not(:focus-within),
118
- .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-visible):not(:has(:focus-visible)),
117
+ .uk-hidden-visually:not(:focus, :active, :focus-within),
118
+ .uk-visible-toggle:not(:hover, :focus) .uk-hidden-hover:not(:focus-visible, :has(:focus-visible)),
119
119
  // Fallback for Safari 18.3 `:not(:has(...)) invalidation` bug. Remove when fixed.
120
- .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
120
+ .uk-visible-toggle:not(:hover, :focus) .uk-hidden-hover:not(:focus-within) {
121
121
  /* 1 */
122
122
  position: absolute !important;
123
123
  /* 2 */
@@ -135,7 +135,7 @@
135
135
  * Note: `clip-path` doesn't work with hover for elements outside of the toggle box.
136
136
  */
137
137
 
138
- .uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) { opacity: 0 !important; }
138
+ .uk-visible-toggle:not(:hover, :focus) .uk-invisible-hover:not(:focus-within) { opacity: 0 !important; }
139
139
 
140
140
 
141
141
  /* Based on Hover Capability of the Pointing Device
@@ -12,6 +12,7 @@
12
12
  @import "icon.less";
13
13
  @import "form-range.less";
14
14
  @import "form.less";
15
+ @import "search.less";
15
16
  @import "button.less";
16
17
  @import "progress.less";
17
18
 
@@ -30,10 +31,11 @@
30
31
  @import "placeholder.less";
31
32
  @import "badge.less";
32
33
  @import "label.less";
34
+ @import "dropcap.less";
35
+ @import "floating-shadow.less";
33
36
  @import "overlay.less";
34
37
  @import "article.less";
35
38
  @import "comment.less";
36
- @import "search.less";
37
39
 
38
40
  // JavaScript
39
41
  @import "accordion.less";
@@ -41,6 +43,7 @@
41
43
  @import "dropbar.less";
42
44
  @import "modal.less";
43
45
  @import "slider.less";
46
+ @import "marquee.less";
44
47
  @import "sticky.less";
45
48
  @import "offcanvas.less";
46
49
  @import "leader.less";
@@ -65,6 +68,7 @@
65
68
 
66
69
  @import "dropdown.less";
67
70
  @import "lightbox.less";
71
+ @import "logo.less";
68
72
 
69
73
  // Utilities
70
74
  @import "animation.less";
@@ -75,8 +79,8 @@
75
79
  @import "background.less";
76
80
  @import "align.less";
77
81
  @import "utility.less";
82
+ @import "position.less";
78
83
  @import "margin.less";
79
84
  @import "padding.less";
80
- @import "position.less";
81
85
  @import "transition.less";
82
86
  @import "inverse.less";
@@ -68,9 +68,4 @@
68
68
  text-decoration: underline;
69
69
  }
70
70
 
71
- .uk-alert a:not([class]):hover {
72
- color: inherit;
73
- text-decoration: underline;
74
- }
75
-
76
71
  }
@@ -0,0 +1,29 @@
1
+ //
2
+ // Component: Dropcap
3
+ //
4
+ // ========================================================================
5
+
6
+
7
+ // Variables
8
+ // ========================================================================
9
+
10
+
11
+ // Component
12
+ // ========================================================================
13
+
14
+ .hook-dropcap() {
15
+ // Prevent line wrap
16
+ margin-bottom: -2px;
17
+ }
18
+
19
+
20
+ // Miscellaneous
21
+ // ========================================================================
22
+
23
+ .hook-dropcap-misc() {}
24
+
25
+
26
+ // Inverse
27
+ // ========================================================================
28
+
29
+ .hook-inverse-dropcap() {}
@@ -0,0 +1,20 @@
1
+ //
2
+ // Component: Floating Shadow
3
+ //
4
+ // ========================================================================
5
+
6
+
7
+ // Variables
8
+ // ========================================================================
9
+
10
+
11
+ // Component
12
+ // ========================================================================
13
+
14
+ .hook-floating-shadow() {}
15
+
16
+
17
+ // Miscellaneous
18
+ // ========================================================================
19
+
20
+ .hook-floating-shadow-misc() {}
@@ -0,0 +1,29 @@
1
+ //
2
+ // Component: Logo
3
+ //
4
+ // ========================================================================
5
+
6
+
7
+ // Variables
8
+ // ========================================================================
9
+
10
+
11
+ // Component
12
+ // ========================================================================
13
+
14
+ .hook-logo() {}
15
+
16
+ .hook-logo-hover() {}
17
+
18
+
19
+ // Miscellaneous
20
+ // ========================================================================
21
+
22
+ .hook-logo-misc() {}
23
+
24
+
25
+ // Inverse
26
+ // ========================================================================
27
+
28
+ .hook-inverse-logo() {}
29
+ .hook-inverse-logo-hover() {}
@@ -0,0 +1,14 @@
1
+ //
2
+ // Component: Marquee
3
+ //
4
+ // ========================================================================
5
+
6
+
7
+ // Variables
8
+ // ========================================================================
9
+
10
+
11
+ // Miscellaneous
12
+ // ========================================================================
13
+
14
+ .hook-marquee-misc() {}
@@ -28,10 +28,7 @@
28
28
  &::after {
29
29
  content: "";
30
30
  position: absolute;
31
- top: 0;
32
- bottom: 0;
33
- left: 0;
34
- right: 0;
31
+ inset: 0;
35
32
  background-image: @thumbnav-item-gradient;
36
33
  transition: opacity 0.1s ease-in-out;
37
34
  }
@@ -14,39 +14,7 @@
14
14
  .hook-panel-scrollable() {}
15
15
 
16
16
 
17
- // Box-shadow bottom
18
- // ========================================================================
19
-
20
- .hook-box-shadow-bottom() {}
21
-
22
-
23
- // Drop cap
24
- // ========================================================================
25
-
26
- .hook-dropcap() {
27
- // Prevent line wrap
28
- margin-bottom: -2px;
29
- }
30
-
31
-
32
- // Logo
33
- // ========================================================================
34
-
35
- .hook-logo() {}
36
-
37
- .hook-logo-hover() {}
38
-
39
-
40
17
  // Miscellaneous
41
18
  // ========================================================================
42
19
 
43
20
  .hook-utility-misc() {}
44
-
45
-
46
- // Inverse
47
- // ========================================================================
48
-
49
- .hook-inverse-dropcap() {}
50
-
51
- .hook-inverse-logo() {}
52
- .hook-inverse-logo-hover() {}
@@ -13,6 +13,7 @@
13
13
  @import "icon.scss";
14
14
  @import "form-range.scss";
15
15
  @import "form.scss"; // After: Icon, Form Range
16
+ @import "search.scss"; // After: Icon
16
17
  @import "button.scss";
17
18
  @import "progress.scss";
18
19
 
@@ -31,10 +32,11 @@
31
32
  @import "placeholder.scss";
32
33
  @import "badge.scss";
33
34
  @import "label.scss";
35
+ @import "dropcap.scss";
36
+ @import "floating-shadow.scss";
34
37
  @import "overlay.scss"; // After: Icon
35
38
  @import "article.scss";
36
39
  @import "comment.scss";
37
- @import "search.scss"; // After: Icon
38
40
 
39
41
  // JavaScript
40
42
  @import "accordion.scss";
@@ -44,6 +46,7 @@
44
46
  @import "modal.scss"; // After: Close
45
47
  @import "slideshow.scss";
46
48
  @import "slider.scss";
49
+ @import "marquee.scss";
47
50
  @import "sticky.scss";
48
51
  @import "offcanvas.scss";
49
52
  @import "switcher.scss";
@@ -70,8 +73,10 @@
70
73
  @import "tab.scss";
71
74
  @import "slidenav.scss"; // After: Icon
72
75
  @import "dotnav.scss";
76
+
73
77
  @import "dropdown.scss"; // After: Card, Nav
74
78
  @import "lightbox.scss"; // After: Close, Slidenav
79
+ @import "logo.scss"; // After: Navbar
75
80
 
76
81
  // Utilities
77
82
  @import "animation.scss";
@@ -85,9 +90,9 @@
85
90
  @import "svg.scss";
86
91
  @import "utility.scss";
87
92
  @import "flex.scss"; // After: Utility
88
- @import "margin.scss";
89
- @import "padding.scss";
90
93
  @import "position.scss";
94
+ @import "margin.scss"; // After: Position
95
+ @import "padding.scss";
91
96
  @import "transition.scss";
92
97
  @import "visibility.scss";
93
98
  @import "inverse.scss";
@@ -133,7 +133,7 @@
133
133
  /* Toggle animation based on the State of the Parent Element
134
134
  ========================================================================== */
135
135
 
136
- .uk-animation-toggle:not(:hover):not(:focus) [class*="uk-animation-"] { animation-name: none; }
136
+ .uk-animation-toggle:not(:hover, :focus) [class*="uk-animation-"] { animation-name: none; }
137
137
 
138
138
 
139
139
  /* Keyframes used by animation classes
@@ -423,7 +423,7 @@ blockquote {
423
423
  * Content
424
424
  */
425
425
 
426
- blockquote p:last-of-type { margin-bottom: 0; }
426
+ blockquote :where(p:last-of-type) { margin-bottom: 0; }
427
427
 
428
428
  blockquote footer {
429
429
  margin-top: $base-blockquote-footer-margin-top;
@@ -88,7 +88,7 @@
88
88
 
89
89
  /* Hover */
90
90
  .uk-button:hover {
91
- /* 9 */
91
+ /* 10 */
92
92
  text-decoration: none;
93
93
  @if(meta.mixin-exists(hook-button-hover)) {@include hook-button-hover();}
94
94
  }
@@ -314,11 +314,11 @@
314
314
  * Small
315
315
  */
316
316
 
317
- .uk-card-small.uk-card-body,
318
- .uk-card-small .uk-card-body { padding: $card-small-body-padding-vertical $card-small-body-padding-horizontal; }
317
+ .uk-card-small:where(.uk-card-body),
318
+ .uk-card-small :where(.uk-card-body) { padding: $card-small-body-padding-vertical $card-small-body-padding-horizontal; }
319
319
 
320
- .uk-card-small .uk-card-header { padding: $card-small-header-padding-vertical $card-small-header-padding-horizontal; }
321
- .uk-card-small .uk-card-footer { padding: $card-small-footer-padding-vertical $card-small-footer-padding-horizontal; }
320
+ .uk-card-small :where(.uk-card-header) { padding: $card-small-header-padding-vertical $card-small-header-padding-horizontal; }
321
+ .uk-card-small :where(.uk-card-footer) { padding: $card-small-footer-padding-vertical $card-small-footer-padding-horizontal; }
322
322
 
323
323
  /*
324
324
  * Large
@@ -327,11 +327,11 @@
327
327
  /* Desktop and bigger */
328
328
  @media (min-width: $breakpoint-large) {
329
329
 
330
- .uk-card-large.uk-card-body,
331
- .uk-card-large .uk-card-body { padding: $card-large-body-padding-vertical-l $card-large-body-padding-horizontal-l; }
330
+ .uk-card-large:where(.uk-card-body),
331
+ .uk-card-large :where(.uk-card-body) { padding: $card-large-body-padding-vertical-l $card-large-body-padding-horizontal-l; }
332
332
 
333
- .uk-card-large .uk-card-header { padding: $card-large-header-padding-vertical-l $card-large-header-padding-horizontal-l; }
334
- .uk-card-large .uk-card-footer { padding: $card-large-footer-padding-vertical-l $card-large-footer-padding-horizontal-l; }
333
+ .uk-card-large :where(.uk-card-header) { padding: $card-large-header-padding-vertical-l $card-large-header-padding-horizontal-l; }
334
+ .uk-card-large :where(.uk-card-footer) { padding: $card-large-footer-padding-vertical-l $card-large-footer-padding-horizontal-l; }
335
335
 
336
336
  }
337
337
 
@@ -0,0 +1,63 @@
1
+ @use "sass:meta";
2
+
3
+ // Name: Dropcap
4
+ // Description: Style for the drop cap
5
+ //
6
+ // Component: `uk-dropcap`
7
+ //
8
+ // ========================================================================
9
+
10
+
11
+ // Variables
12
+ // ========================================================================
13
+
14
+ /* ========================================================================
15
+ Component: Dropcap
16
+ ========================================================================== */
17
+
18
+ /*
19
+ * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
20
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=214004
21
+ * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
22
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=317933
23
+ */
24
+
25
+ .uk-dropcap::first-letter,
26
+ /* 1 */
27
+ .uk-dropcap > p:first-of-type::first-letter {
28
+ display: block;
29
+ margin-right: $dropcap-margin-right;
30
+ float: left;
31
+ font-size: $dropcap-font-size;
32
+ line-height: $dropcap-line-height;
33
+ @if(meta.mixin-exists(hook-dropcap)) {@include hook-dropcap();}
34
+ }
35
+
36
+ /* 2 */
37
+ @-moz-document url-prefix() {
38
+
39
+ .uk-dropcap::first-letter,
40
+ .uk-dropcap > p:first-of-type::first-letter { margin-top: 1.1%; }
41
+
42
+ }
43
+
44
+
45
+ // Misc
46
+ // ========================================================================
47
+
48
+ @if(meta.mixin-exists(hook-dropcap-misc)) {@include hook-dropcap-misc();}
49
+
50
+
51
+ // Hooks
52
+ // ========================================================================
53
+
54
+ // @mixin hook-dropcap(){}
55
+ // @mixin hook-dropcap-misc(){}
56
+
57
+
58
+ // Inverse
59
+ // ========================================================================
60
+
61
+
62
+
63
+ // @mixin hook-inverse-dropcap(){}
@@ -0,0 +1,63 @@
1
+ @use "sass:meta";
2
+
3
+ // Name: Floating Shadow
4
+ // Description: Component to create floating shadows
5
+ //
6
+ // Component: `uk-floating-shadow`
7
+ //
8
+ // ========================================================================
9
+
10
+
11
+ // Variables
12
+ // ========================================================================
13
+
14
+
15
+
16
+ /* ========================================================================
17
+ Component: Floating Shadow
18
+ ========================================================================== */
19
+
20
+ /*
21
+ * 1. Set position.
22
+ * 2. Set style
23
+ * 3. Fix shadow being clipped in Safari if container is animated
24
+ */
25
+
26
+ .uk-floating-shadow {
27
+ display: inline-block;
28
+ position: relative;
29
+ z-index: 0;
30
+ max-width: 100%;
31
+ vertical-align: middle;
32
+ }
33
+
34
+ .uk-floating-shadow::after {
35
+ content: "";
36
+ /* 1 */
37
+ position: absolute;
38
+ bottom: $floating-shadow-bottom;
39
+ left: 0;
40
+ right: 0;
41
+ z-index: -1;
42
+ /* 2 */
43
+ height: $floating-shadow-height;
44
+ border-radius: $floating-shadow-border-radius;
45
+ background: $floating-shadow-background;
46
+ filter: blur($floating-shadow-blur);
47
+ /* 3 */
48
+ will-change: filter;
49
+ @if(meta.mixin-exists(hook-floating-shadow)) {@include hook-floating-shadow();}
50
+ }
51
+
52
+
53
+ // Misc
54
+ // ========================================================================
55
+
56
+ @if(meta.mixin-exists(hook-floating-shadow-misc)) {@include hook-floating-shadow-misc();}
57
+
58
+
59
+ // Hooks
60
+ // ========================================================================
61
+
62
+ // @mixin hook-floating-shadow(){}
63
+ // @mixin hook-floating-shadow-misc(){}