juicelang-theme 0.1.0

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 (179) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +37 -0
  4. data/_includes/logo.html +5 -0
  5. data/_layouts/default.html +97 -0
  6. data/_layouts/fullwidth_page.html +7 -0
  7. data/_layouts/page.html +7 -0
  8. data/_layouts/post.html +5 -0
  9. data/_sass/uikit/components/_import.components.scss +56 -0
  10. data/_sass/uikit/components/_import.scss +95 -0
  11. data/_sass/uikit/components/_import.utilities.scss +19 -0
  12. data/_sass/uikit/components/accordion.scss +105 -0
  13. data/_sass/uikit/components/alert.scss +146 -0
  14. data/_sass/uikit/components/align.scss +142 -0
  15. data/_sass/uikit/components/animation.scss +283 -0
  16. data/_sass/uikit/components/article.scss +99 -0
  17. data/_sass/uikit/components/background.scss +148 -0
  18. data/_sass/uikit/components/badge.scss +78 -0
  19. data/_sass/uikit/components/base.scss +611 -0
  20. data/_sass/uikit/components/breadcrumb.scss +122 -0
  21. data/_sass/uikit/components/button.scss +439 -0
  22. data/_sass/uikit/components/card.scss +384 -0
  23. data/_sass/uikit/components/close.scss +55 -0
  24. data/_sass/uikit/components/column.scss +139 -0
  25. data/_sass/uikit/components/comment.scss +160 -0
  26. data/_sass/uikit/components/container.scss +185 -0
  27. data/_sass/uikit/components/countdown.scss +131 -0
  28. data/_sass/uikit/components/cover.scss +63 -0
  29. data/_sass/uikit/components/description-list.scss +71 -0
  30. data/_sass/uikit/components/divider.scss +153 -0
  31. data/_sass/uikit/components/dotnav.scss +155 -0
  32. data/_sass/uikit/components/drop.scss +63 -0
  33. data/_sass/uikit/components/dropbar.scss +126 -0
  34. data/_sass/uikit/components/dropdown.scss +170 -0
  35. data/_sass/uikit/components/flex.scss +200 -0
  36. data/_sass/uikit/components/form-range.scss +139 -0
  37. data/_sass/uikit/components/form.scss +804 -0
  38. data/_sass/uikit/components/grid-masonry.scss +69 -0
  39. data/_sass/uikit/components/grid.scss +407 -0
  40. data/_sass/uikit/components/heading.scss +321 -0
  41. data/_sass/uikit/components/height.scss +57 -0
  42. data/_sass/uikit/components/icon.scss +225 -0
  43. data/_sass/uikit/components/iconnav.scss +146 -0
  44. data/_sass/uikit/components/inverse.scss +46 -0
  45. data/_sass/uikit/components/label.scss +102 -0
  46. data/_sass/uikit/components/leader.scss +69 -0
  47. data/_sass/uikit/components/lightbox.scss +248 -0
  48. data/_sass/uikit/components/link.scss +138 -0
  49. data/_sass/uikit/components/list.scss +240 -0
  50. data/_sass/uikit/components/margin.scss +249 -0
  51. data/_sass/uikit/components/marker.scss +61 -0
  52. data/_sass/uikit/components/mixin.scss +32 -0
  53. data/_sass/uikit/components/modal.scss +367 -0
  54. data/_sass/uikit/components/nav.scss +555 -0
  55. data/_sass/uikit/components/navbar.scss +634 -0
  56. data/_sass/uikit/components/notification.scss +191 -0
  57. data/_sass/uikit/components/offcanvas.scss +324 -0
  58. data/_sass/uikit/components/overlay.scss +85 -0
  59. data/_sass/uikit/components/padding.scss +81 -0
  60. data/_sass/uikit/components/pagination.scss +130 -0
  61. data/_sass/uikit/components/placeholder.scss +45 -0
  62. data/_sass/uikit/components/position.scss +230 -0
  63. data/_sass/uikit/components/print.scss +61 -0
  64. data/_sass/uikit/components/progress.scss +83 -0
  65. data/_sass/uikit/components/search.scss +339 -0
  66. data/_sass/uikit/components/section.scss +212 -0
  67. data/_sass/uikit/components/slidenav.scss +120 -0
  68. data/_sass/uikit/components/slider.scss +116 -0
  69. data/_sass/uikit/components/slideshow.scss +93 -0
  70. data/_sass/uikit/components/sortable.scss +90 -0
  71. data/_sass/uikit/components/spinner.scss +74 -0
  72. data/_sass/uikit/components/sticky.scss +71 -0
  73. data/_sass/uikit/components/subnav.scss +246 -0
  74. data/_sass/uikit/components/svg.scss +36 -0
  75. data/_sass/uikit/components/switcher.scss +47 -0
  76. data/_sass/uikit/components/tab.scss +196 -0
  77. data/_sass/uikit/components/table.scss +315 -0
  78. data/_sass/uikit/components/text.scss +268 -0
  79. data/_sass/uikit/components/thumbnav.scss +119 -0
  80. data/_sass/uikit/components/tile.scss +233 -0
  81. data/_sass/uikit/components/tooltip.scss +79 -0
  82. data/_sass/uikit/components/totop.scss +69 -0
  83. data/_sass/uikit/components/transition.scss +165 -0
  84. data/_sass/uikit/components/utility.scss +522 -0
  85. data/_sass/uikit/components/variables.scss +123 -0
  86. data/_sass/uikit/components/visibility.scss +146 -0
  87. data/_sass/uikit/components/width.scss +386 -0
  88. data/_sass/uikit/mixins-theme.scss +2170 -0
  89. data/_sass/uikit/mixins.scss +1812 -0
  90. data/_sass/uikit/theme/_import.scss +82 -0
  91. data/_sass/uikit/theme/accordion.scss +59 -0
  92. data/_sass/uikit/theme/alert.scss +46 -0
  93. data/_sass/uikit/theme/align.scss +14 -0
  94. data/_sass/uikit/theme/animation.scss +14 -0
  95. data/_sass/uikit/theme/article.scss +51 -0
  96. data/_sass/uikit/theme/background.scss +14 -0
  97. data/_sass/uikit/theme/badge.scss +29 -0
  98. data/_sass/uikit/theme/base.scss +116 -0
  99. data/_sass/uikit/theme/breadcrumb.scss +45 -0
  100. data/_sass/uikit/theme/button.scss +157 -0
  101. data/_sass/uikit/theme/card.scss +128 -0
  102. data/_sass/uikit/theme/close.scss +29 -0
  103. data/_sass/uikit/theme/column.scss +14 -0
  104. data/_sass/uikit/theme/comment.scss +69 -0
  105. data/_sass/uikit/theme/container.scss +14 -0
  106. data/_sass/uikit/theme/countdown.scss +53 -0
  107. data/_sass/uikit/theme/description-list.scss +32 -0
  108. data/_sass/uikit/theme/divider.scss +49 -0
  109. data/_sass/uikit/theme/dotnav.scss +52 -0
  110. data/_sass/uikit/theme/drop.scss +14 -0
  111. data/_sass/uikit/theme/dropbar.scss +44 -0
  112. data/_sass/uikit/theme/dropdown.scss +49 -0
  113. data/_sass/uikit/theme/form-range.scss +45 -0
  114. data/_sass/uikit/theme/form.scss +131 -0
  115. data/_sass/uikit/theme/grid.scss +28 -0
  116. data/_sass/uikit/theme/heading.scss +67 -0
  117. data/_sass/uikit/theme/height.scss +14 -0
  118. data/_sass/uikit/theme/icon.scss +50 -0
  119. data/_sass/uikit/theme/iconnav.scss +40 -0
  120. data/_sass/uikit/theme/inverse.scss +14 -0
  121. data/_sass/uikit/theme/label.scss +43 -0
  122. data/_sass/uikit/theme/leader.scss +26 -0
  123. data/_sass/uikit/theme/lightbox.scss +50 -0
  124. data/_sass/uikit/theme/link.scss +55 -0
  125. data/_sass/uikit/theme/list.scss +36 -0
  126. data/_sass/uikit/theme/margin.scss +14 -0
  127. data/_sass/uikit/theme/marker.scss +29 -0
  128. data/_sass/uikit/theme/modal.scss +84 -0
  129. data/_sass/uikit/theme/nav.scss +140 -0
  130. data/_sass/uikit/theme/navbar.scss +146 -0
  131. data/_sass/uikit/theme/notification.scss +44 -0
  132. data/_sass/uikit/theme/offcanvas.scss +32 -0
  133. data/_sass/uikit/theme/overlay.scss +33 -0
  134. data/_sass/uikit/theme/padding.scss +14 -0
  135. data/_sass/uikit/theme/pagination.scss +41 -0
  136. data/_sass/uikit/theme/placeholder.scss +29 -0
  137. data/_sass/uikit/theme/position.scss +14 -0
  138. data/_sass/uikit/theme/progress.scss +24 -0
  139. data/_sass/uikit/theme/search.scss +87 -0
  140. data/_sass/uikit/theme/section.scss +32 -0
  141. data/_sass/uikit/theme/slidenav.scss +52 -0
  142. data/_sass/uikit/theme/slider.scss +14 -0
  143. data/_sass/uikit/theme/sortable.scss +38 -0
  144. data/_sass/uikit/theme/spinner.scss +14 -0
  145. data/_sass/uikit/theme/sticky.scss +14 -0
  146. data/_sass/uikit/theme/subnav.scss +74 -0
  147. data/_sass/uikit/theme/tab.scss +74 -0
  148. data/_sass/uikit/theme/table.scss +69 -0
  149. data/_sass/uikit/theme/text.scss +50 -0
  150. data/_sass/uikit/theme/thumbnav.scss +42 -0
  151. data/_sass/uikit/theme/tile.scss +52 -0
  152. data/_sass/uikit/theme/tooltip.scss +20 -0
  153. data/_sass/uikit/theme/totop.scss +32 -0
  154. data/_sass/uikit/theme/transition.scss +14 -0
  155. data/_sass/uikit/theme/utility.scss +49 -0
  156. data/_sass/uikit/theme/variables.scss +36 -0
  157. data/_sass/uikit/theme/width.scss +14 -0
  158. data/_sass/uikit/uikit-theme.scss +9 -0
  159. data/_sass/uikit/uikit.scss +5 -0
  160. data/_sass/uikit/variables-theme.scss +1260 -0
  161. data/_sass/uikit/variables.scss +1142 -0
  162. data/assets/css/default.scss +220 -0
  163. data/assets/images/icons/android-chrome-192x192.png +0 -0
  164. data/assets/images/icons/android-chrome-512x512.png +0 -0
  165. data/assets/images/icons/apple-touch-icon.png +0 -0
  166. data/assets/images/icons/browserconfig.xml +9 -0
  167. data/assets/images/icons/favicon-16x16.png +0 -0
  168. data/assets/images/icons/favicon-32x32.png +0 -0
  169. data/assets/images/icons/favicon.ico +0 -0
  170. data/assets/images/icons/mstile-144x144.png +0 -0
  171. data/assets/images/icons/mstile-150x150.png +0 -0
  172. data/assets/images/icons/mstile-310x150.png +0 -0
  173. data/assets/images/icons/mstile-310x310.png +0 -0
  174. data/assets/images/icons/mstile-70x70.png +0 -0
  175. data/assets/images/icons/safari-pinned-tab.svg +46 -0
  176. data/assets/images/icons/site.webmanifest +18 -0
  177. data/assets/images/juice.svg +47 -0
  178. data/assets/js/default.js +0 -0
  179. metadata +248 -0
@@ -0,0 +1,116 @@
1
+ // Name: Slider
2
+ // Description: Component to create horizontal sliders
3
+ //
4
+ // Component: `uk-slider`
5
+ //
6
+ // Sub-objects: `uk-slider-container`
7
+ // `uk-slider-items`
8
+ //
9
+ // States: `uk-active`
10
+ //
11
+ // ========================================================================
12
+
13
+
14
+ // Variables
15
+ // ========================================================================
16
+
17
+ $slider-container-margin-top: -11px !default;
18
+ $slider-container-margin-bottom: -39px !default;
19
+ $slider-container-margin-left: -25px !default;
20
+ $slider-container-margin-right: -25px !default;
21
+
22
+
23
+ /* ========================================================================
24
+ Component: Slider
25
+ ========================================================================== */
26
+
27
+ /*
28
+ * 1. Prevent tab highlighting on iOS.
29
+ */
30
+
31
+ .uk-slider {
32
+ /* 1 */
33
+ -webkit-tap-highlight-color: transparent;
34
+ @if(mixin-exists(hook-slider)) {@include hook-slider();}
35
+ }
36
+
37
+
38
+ /* Container
39
+ ========================================================================== */
40
+
41
+ /*
42
+ * Clip child elements
43
+ */
44
+
45
+ .uk-slider-container { overflow: hidden; }
46
+
47
+ /*
48
+ * Widen container to prevent box-shadows from clipping, `large-box-shadow`
49
+ */
50
+
51
+ .uk-slider-container-offset {
52
+ margin: $slider-container-margin-top $slider-container-margin-right $slider-container-margin-bottom $slider-container-margin-left;
53
+ padding: ($slider-container-margin-top * -1) ($slider-container-margin-right * -1) ($slider-container-margin-bottom * -1) ($slider-container-margin-left * -1);
54
+ }
55
+
56
+ /* Items
57
+ ========================================================================== */
58
+
59
+ /*
60
+ * 1. Optimize animation
61
+ * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
62
+ * 3. Disable horizontal panning gestures
63
+ */
64
+
65
+ .uk-slider-items {
66
+ /* 1 */
67
+ will-change: transform;
68
+ /* 2 */
69
+ position: relative;
70
+ /* 3 */
71
+ touch-action: pan-y;
72
+ }
73
+
74
+ /*
75
+ * 1. Reset list style without interfering with grid
76
+ * 2. Prevent displaying the callout information on iOS.
77
+ */
78
+
79
+ .uk-slider-items:not(.uk-grid) {
80
+ display: flex;
81
+ /* 1 */
82
+ margin: 0;
83
+ padding: 0;
84
+ list-style: none;
85
+ /* 2 */
86
+ -webkit-touch-callout: none;
87
+ }
88
+
89
+ .uk-slider-items.uk-grid { flex-wrap: nowrap; }
90
+
91
+
92
+ /* Item
93
+ ========================================================================== */
94
+
95
+ /*
96
+ * 1. Let items take content dimensions (0 0 auto)
97
+ * `max-width` needed to keep image responsiveness and prevent content overflow
98
+ * 3. Create position context
99
+ */
100
+
101
+ .uk-slider-items > * {
102
+ /* 1 */
103
+ flex: none;
104
+ max-width: 100%;
105
+ /* 3 */
106
+ position: relative;
107
+ }
108
+
109
+
110
+ // Hooks
111
+ // ========================================================================
112
+
113
+ @if(mixin-exists(hook-slider-misc)) {@include hook-slider-misc();}
114
+
115
+ // @mixin hook-slider(){}
116
+ // @mixin hook-slider-misc(){}
@@ -0,0 +1,93 @@
1
+ // Name: Slideshow
2
+ // Description: Component to create slideshows
3
+ //
4
+ // Component: `uk-slideshow`
5
+ //
6
+ // Sub-objects: `uk-slideshow-items`
7
+ //
8
+ // States: `uk-active`
9
+ //
10
+ // ========================================================================
11
+
12
+
13
+ /* ========================================================================
14
+ Component: Slideshow
15
+ ========================================================================== */
16
+
17
+ /*
18
+ * 1. Prevent tab highlighting on iOS.
19
+ */
20
+
21
+ .uk-slideshow {
22
+ /* 1 */
23
+ -webkit-tap-highlight-color: transparent;
24
+ @if(mixin-exists(hook-slideshow)) {@include hook-slideshow();}
25
+ }
26
+
27
+
28
+ /* Items
29
+ ========================================================================== */
30
+
31
+ /*
32
+ * 1. Create position and stacking context
33
+ * 2. Reset list
34
+ * 3. Clip child elements
35
+ * 4. Prevent displaying the callout information on iOS.
36
+ * 5. Disable horizontal panning gestures
37
+ */
38
+
39
+ .uk-slideshow-items {
40
+ /* 1 */
41
+ position: relative;
42
+ z-index: 0;
43
+ /* 2 */
44
+ margin: 0;
45
+ padding: 0;
46
+ list-style: none;
47
+ /* 3 */
48
+ overflow: hidden;
49
+ /* 4 */
50
+ -webkit-touch-callout: none;
51
+ /* 5 */
52
+ touch-action: pan-y;
53
+ }
54
+
55
+
56
+ /* Item
57
+ ========================================================================== */
58
+
59
+ /*
60
+ * 1. Position items above each other
61
+ * 2. Take the full width
62
+ * 3. Clip child elements, e.g. for `uk-cover`
63
+ * 4. Optimize animation
64
+ */
65
+
66
+ .uk-slideshow-items > * {
67
+ /* 1 */
68
+ position: absolute;
69
+ top: 0;
70
+ left: 0;
71
+ /* 2 */
72
+ right: 0;
73
+ bottom: 0;
74
+ /* 3 */
75
+ overflow: hidden;
76
+ /* 4 */
77
+ will-change: transform, opacity;
78
+ }
79
+
80
+ /*
81
+ * Hide not active items
82
+ */
83
+
84
+ .uk-slideshow-items > :not(.uk-active) { display: none; }
85
+
86
+
87
+ // Hooks
88
+ // ========================================================================
89
+
90
+ @if(mixin-exists(hook-slideshow-misc)) {@include hook-slideshow-misc();}
91
+
92
+ // @mixin hook-slideshow(){}
93
+ // @mixin hook-slideshow-misc(){}
@@ -0,0 +1,90 @@
1
+ // Name: Sortable
2
+ // Description: Component to create sortable grids and lists
3
+ //
4
+ // Component: `uk-sortable`
5
+ //
6
+ // Sub-objects: `uk-sortable-drag`
7
+ // `uk-sortable-placeholder`
8
+ // `uk-sortable-handle`
9
+ //
10
+ // Modifiers: `uk-sortable-empty`
11
+ //
12
+ // States: `uk-drag`
13
+ //
14
+ // ========================================================================
15
+
16
+
17
+ // Variables
18
+ // ========================================================================
19
+
20
+ $sortable-dragged-z-index: $global-z-index + 50 !default;
21
+
22
+ $sortable-placeholder-opacity: 0 !default;
23
+
24
+ $sortable-empty-height: 50px !default;
25
+
26
+
27
+ /* ========================================================================
28
+ Component: Sortable
29
+ ========================================================================== */
30
+
31
+ .uk-sortable {
32
+ position: relative;
33
+ @if(mixin-exists(hook-sortable)) {@include hook-sortable();}
34
+ }
35
+
36
+ /*
37
+ * Remove margin from the last-child
38
+ */
39
+
40
+ .uk-sortable > :last-child { margin-bottom: 0; }
41
+
42
+
43
+ /* Drag
44
+ ========================================================================== */
45
+
46
+ .uk-sortable-drag {
47
+ position: fixed !important;
48
+ z-index: $sortable-dragged-z-index !important;
49
+ pointer-events: none;
50
+ @if(mixin-exists(hook-sortable-drag)) {@include hook-sortable-drag();}
51
+ }
52
+
53
+
54
+ /* Placeholder
55
+ ========================================================================== */
56
+
57
+ .uk-sortable-placeholder {
58
+ opacity: $sortable-placeholder-opacity;
59
+ pointer-events: none;
60
+ @if(mixin-exists(hook-sortable-placeholder)) {@include hook-sortable-placeholder();}
61
+ }
62
+
63
+
64
+ /* Empty modifier
65
+ ========================================================================== */
66
+
67
+ .uk-sortable-empty {
68
+ min-height: $sortable-empty-height;
69
+ @if(mixin-exists(hook-sortable-empty)) {@include hook-sortable-empty();}
70
+ }
71
+
72
+
73
+ /* Handle
74
+ ========================================================================== */
75
+
76
+ /* Hover */
77
+ .uk-sortable-handle:hover { cursor: move; }
78
+
79
+
80
+
81
+ // Hooks
82
+ // ========================================================================
83
+
84
+ @if(mixin-exists(hook-sortable-misc)) {@include hook-sortable-misc();}
85
+
86
+ // @mixin hook-sortable(){}
87
+ // @mixin hook-sortable-drag(){}
88
+ // @mixin hook-sortable-placeholder(){}
89
+ // @mixin hook-sortable-empty(){}
90
+ // @mixin hook-sortable-misc(){}
@@ -0,0 +1,74 @@
1
+ // Name: Spinner
2
+ // Description: Component to create a loading spinner
3
+ //
4
+ // Component: `uk-spinner`
5
+ //
6
+ // ========================================================================
7
+
8
+
9
+ // Variables
10
+ // ========================================================================
11
+
12
+ $spinner-size: 30px !default;
13
+ $spinner-stroke-width: 1 !default;
14
+ $spinner-radius: floor((($spinner-size - $spinner-stroke-width) * 0.5)) !default; // Minus stroke width to prevent overflow clipping
15
+ $spinner-circumference: round(2 * 3.141 * $spinner-radius) !default;
16
+ $spinner-duration: 1.4s !default;
17
+
18
+
19
+ /* ========================================================================
20
+ Component: Spinner
21
+ ========================================================================== */
22
+
23
+ /*
24
+ * Adopts `uk-icon`
25
+ */
26
+
27
+ .uk-spinner {
28
+ @if(mixin-exists(hook-spinner)) {@include hook-spinner();}
29
+ }
30
+
31
+
32
+ /* SVG
33
+ ========================================================================== */
34
+
35
+ .uk-spinner > * { animation: uk-spinner-rotate $spinner-duration linear infinite; }
36
+
37
+ @keyframes uk-spinner-rotate {
38
+ 0% { transform: rotate(0deg); }
39
+ 100% { transform: rotate(270deg); }
40
+ }
41
+
42
+ /*
43
+ * Circle
44
+ */
45
+
46
+ .uk-spinner > * > * {
47
+ stroke-dasharray: $spinner-circumference;
48
+ stroke-dashoffset: 0;
49
+ transform-origin: center;
50
+ animation: uk-spinner-dash $spinner-duration ease-in-out infinite;
51
+ stroke-width: $spinner-stroke-width;
52
+ stroke-linecap: round;
53
+ }
54
+
55
+ @keyframes uk-spinner-dash {
56
+ 0% { stroke-dashoffset: $spinner-circumference; }
57
+ 50% {
58
+ stroke-dashoffset: ($spinner-circumference * 0.25);
59
+ transform:rotate(135deg);
60
+ }
61
+ 100% {
62
+ stroke-dashoffset: $spinner-circumference;
63
+ transform:rotate(450deg);
64
+ }
65
+ }
66
+
67
+
68
+ // Hooks
69
+ // ========================================================================
70
+
71
+ @if(mixin-exists(hook-spinner-misc)) {@include hook-spinner-misc();}
72
+
73
+ // @mixin hook-spinner(){}
74
+ // @mixin hook-spinner-misc(){}
@@ -0,0 +1,71 @@
1
+ // Name: Sticky
2
+ // Description: Component to make elements sticky in the viewport
3
+ //
4
+ // Component: `uk-sticky`
5
+ //
6
+ // Modifier: `uk-sticky-fixed`
7
+ //
8
+ // States: `uk-active`
9
+ //
10
+ // ========================================================================
11
+
12
+
13
+ // Variables
14
+ // ========================================================================
15
+
16
+ $sticky-z-index: $global-z-index - 20 !default;
17
+
18
+ $sticky-animation-duration: 0.2s !default;
19
+ $sticky-reverse-animation-duration: 0.2s !default;
20
+
21
+
22
+ /* ========================================================================
23
+ Component: Sticky
24
+ ========================================================================== */
25
+
26
+ /*
27
+ * 1. Create position context so it's t the same like when fixed.
28
+ * 2. More robust if padding and border are used and the sticky height is transitioned
29
+ */
30
+
31
+ .uk-sticky {
32
+ /* 1 */
33
+ position: relative;
34
+ /* 2 */
35
+ box-sizing: border-box;
36
+ }
37
+
38
+ /*
39
+ * 1. Force new layer to resolve frame rate issues on devices with lower frame rates
40
+ */
41
+
42
+ .uk-sticky-fixed {
43
+ z-index: $sticky-z-index;
44
+ margin: 0 !important;
45
+ /* 1 */
46
+ -webkit-backface-visibility: hidden;
47
+ backface-visibility: hidden;
48
+ }
49
+
50
+ /*
51
+ * Faster animations
52
+ */
53
+
54
+ .uk-sticky[class*='uk-animation-'] { animation-duration: $sticky-animation-duration; }
55
+
56
+ .uk-sticky.uk-animation-reverse { animation-duration: $sticky-reverse-animation-duration; }
57
+
58
+ /*
59
+ * Placeholder
60
+ * Make content clickable for sticky cover and reveal effects
61
+ */
62
+
63
+ .uk-sticky-placeholder { pointer-events: none; }
64
+
65
+
66
+ // Hooks
67
+ // ========================================================================
68
+
69
+ @if(mixin-exists(hook-sticky-misc)) {@include hook-sticky-misc();}
70
+
71
+ // @mixin hook-sticky-misc(){}
@@ -0,0 +1,246 @@
1
+ // Name: Subnav
2
+ // Description: Component to create a sub navigation
3
+ //
4
+ // Component: `uk-subnav`
5
+ //
6
+ // Modifiers: `uk-subnav-divider`
7
+ // `uk-subnav-pill`
8
+ //
9
+ // States: `uk-active`
10
+ // `uk-first-column`
11
+ //
12
+ // ========================================================================
13
+
14
+
15
+ // Variables
16
+ // ========================================================================
17
+
18
+ $subnav-margin-horizontal: 20px !default;
19
+
20
+ $subnav-item-color: $global-muted-color !default;
21
+ $subnav-item-hover-color: $global-color !default;
22
+ $subnav-item-hover-text-decoration: none !default;
23
+ $subnav-item-active-color: $global-emphasis-color !default;
24
+
25
+ $subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
26
+ $subnav-divider-border-height: 1.5em !default;
27
+ $subnav-divider-border-width: $global-border-width !default;
28
+ $subnav-divider-border: $global-border !default;
29
+
30
+ $subnav-pill-item-padding-vertical: 5px !default;
31
+ $subnav-pill-item-padding-horizontal: 10px !default;
32
+ $subnav-pill-item-background: transparent !default;
33
+ $subnav-pill-item-color: $subnav-item-color !default;
34
+ $subnav-pill-item-hover-background: $global-muted-background !default;
35
+ $subnav-pill-item-hover-color: $global-color !default;
36
+ $subnav-pill-item-onclick-background: $subnav-pill-item-hover-background !default;
37
+ $subnav-pill-item-onclick-color: $subnav-pill-item-hover-color !default;
38
+ $subnav-pill-item-active-background: $global-primary-background !default;
39
+ $subnav-pill-item-active-color: $global-inverse-color !default;
40
+
41
+ $subnav-item-disabled-color: $global-muted-color !default;
42
+
43
+
44
+ /* ========================================================================
45
+ Component: Subnav
46
+ ========================================================================== */
47
+
48
+ /*
49
+ * 1. Allow items to wrap into the next line
50
+ * 2. Center items vertically if they have a different height
51
+ * 3. Gutter
52
+ * 4. Reset list
53
+ */
54
+
55
+ .uk-subnav {
56
+ display: flex;
57
+ /* 1 */
58
+ flex-wrap: wrap;
59
+ /* 2 */
60
+ align-items: center;
61
+ /* 3 */
62
+ margin-left: (-$subnav-margin-horizontal);
63
+ /* 4 */
64
+ padding: 0;
65
+ list-style: none;
66
+ @if(mixin-exists(hook-subnav)) {@include hook-subnav();}
67
+ }
68
+
69
+ /*
70
+ * 1. Space is allocated solely based on content dimensions: 0 0 auto
71
+ * 2. Gutter
72
+ * 3. Create position context for dropdowns
73
+ */
74
+
75
+ .uk-subnav > * {
76
+ /* 1 */
77
+ flex: none;
78
+ /* 2 */
79
+ padding-left: $subnav-margin-horizontal;
80
+ /* 3 */
81
+ position: relative;
82
+ }
83
+
84
+
85
+ /* Items
86
+ ========================================================================== */
87
+
88
+ /*
89
+ * Items must target `a` elements to exclude other elements (e.g. dropdowns)
90
+ * Using `:first-child` instead of `a` to support `span` elements for text
91
+ * 1. Center content vertically, e.g. an icon
92
+ * 2. Imitate white space gap when using flexbox
93
+ * 3. Style
94
+ */
95
+
96
+ .uk-subnav > * > :first-child {
97
+ /* 1 */
98
+ display: flex;
99
+ align-items: center;
100
+ /* 2 */
101
+ column-gap: 0.25em;
102
+ /* 3 */
103
+ color: $subnav-item-color;
104
+ @if(mixin-exists(hook-subnav-item)) {@include hook-subnav-item();}
105
+ }
106
+
107
+ /* Hover */
108
+ .uk-subnav > * > a:hover {
109
+ color: $subnav-item-hover-color;
110
+ text-decoration: $subnav-item-hover-text-decoration;
111
+ @if(mixin-exists(hook-subnav-item-hover)) {@include hook-subnav-item-hover();}
112
+ }
113
+
114
+ /* Active */
115
+ .uk-subnav > .uk-active > a {
116
+ color: $subnav-item-active-color;
117
+ @if(mixin-exists(hook-subnav-item-active)) {@include hook-subnav-item-active();}
118
+ }
119
+
120
+
121
+ /* Divider modifier
122
+ ========================================================================== */
123
+
124
+ /*
125
+ * Set gutter
126
+ */
127
+
128
+ .uk-subnav-divider { margin-left: -(($subnav-divider-margin-horizontal * 2) + $subnav-divider-border-width); }
129
+
130
+ /*
131
+ * Align items and divider vertically
132
+ */
133
+
134
+ .uk-subnav-divider > * {
135
+ display: flex;
136
+ align-items: center;
137
+ }
138
+
139
+ /*
140
+ * Divider
141
+ * 1. `nth-child` makes it also work without JS if it's only one row
142
+ */
143
+
144
+ .uk-subnav-divider > ::before {
145
+ content: "";
146
+ height: $subnav-divider-border-height;
147
+ margin-left: ($subnav-divider-margin-horizontal - $subnav-margin-horizontal);
148
+ margin-right: $subnav-divider-margin-horizontal;
149
+ border-left: $subnav-divider-border-width solid transparent;
150
+ }
151
+
152
+ /* 1 */
153
+ .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
154
+ border-left-color: $subnav-divider-border;
155
+ @if(mixin-exists(hook-subnav-divider)) {@include hook-subnav-divider();}
156
+ }
157
+
158
+
159
+ /* Pill modifier
160
+ ========================================================================== */
161
+
162
+ .uk-subnav-pill > * > :first-child {
163
+ padding: $subnav-pill-item-padding-vertical $subnav-pill-item-padding-horizontal;
164
+ background: $subnav-pill-item-background;
165
+ color: $subnav-pill-item-color;
166
+ @if(mixin-exists(hook-subnav-pill-item)) {@include hook-subnav-pill-item();}
167
+ }
168
+
169
+ /* Hover */
170
+ .uk-subnav-pill > * > a:hover {
171
+ background-color: $subnav-pill-item-hover-background;
172
+ color: $subnav-pill-item-hover-color;
173
+ @if(mixin-exists(hook-subnav-pill-item-hover)) {@include hook-subnav-pill-item-hover();}
174
+ }
175
+
176
+ /* OnClick */
177
+ .uk-subnav-pill > * > a:active {
178
+ background-color: $subnav-pill-item-onclick-background;
179
+ color: $subnav-pill-item-onclick-color;
180
+ @if(mixin-exists(hook-subnav-pill-item-onclick)) {@include hook-subnav-pill-item-onclick();}
181
+ }
182
+
183
+ /* Active */
184
+ .uk-subnav-pill > .uk-active > a {
185
+ background-color: $subnav-pill-item-active-background;
186
+ color: $subnav-pill-item-active-color;
187
+ @if(mixin-exists(hook-subnav-pill-item-active)) {@include hook-subnav-pill-item-active();}
188
+ }
189
+
190
+
191
+ /* Disabled
192
+ * The same for all style modifiers
193
+ ========================================================================== */
194
+
195
+ .uk-subnav > .uk-disabled > a {
196
+ color: $subnav-item-disabled-color;
197
+ @if(mixin-exists(hook-subnav-item-disabled)) {@include hook-subnav-item-disabled();}
198
+ }
199
+
200
+
201
+ // Hooks
202
+ // ========================================================================
203
+
204
+ @if(mixin-exists(hook-subnav-misc)) {@include hook-subnav-misc();}
205
+
206
+ // @mixin hook-subnav(){}
207
+ // @mixin hook-subnav-item(){}
208
+ // @mixin hook-subnav-item-hover(){}
209
+ // @mixin hook-subnav-item-active(){}
210
+ // @mixin hook-subnav-divider(){}
211
+ // @mixin hook-subnav-pill-item(){}
212
+ // @mixin hook-subnav-pill-item-hover(){}
213
+ // @mixin hook-subnav-pill-item-onclick(){}
214
+ // @mixin hook-subnav-pill-item-active(){}
215
+ // @mixin hook-subnav-item-disabled(){}
216
+ // @mixin hook-subnav-misc(){}
217
+
218
+
219
+ // Inverse
220
+ // ========================================================================
221
+
222
+ $inverse-subnav-item-color: $inverse-global-muted-color !default;
223
+ $inverse-subnav-item-hover-color: $inverse-global-color !default;
224
+ $inverse-subnav-item-active-color: $inverse-global-emphasis-color !default;
225
+ $inverse-subnav-divider-border: $inverse-global-border !default;
226
+ $inverse-subnav-pill-item-background: transparent !default;
227
+ $inverse-subnav-pill-item-color: $inverse-global-muted-color !default;
228
+ $inverse-subnav-pill-item-hover-background: $inverse-global-muted-background !default;
229
+ $inverse-subnav-pill-item-hover-color: $inverse-global-color !default;
230
+ $inverse-subnav-pill-item-onclick-background: $inverse-subnav-pill-item-hover-background !default;
231
+ $inverse-subnav-pill-item-onclick-color: $inverse-subnav-pill-item-hover-color !default;
232
+ $inverse-subnav-pill-item-active-background: $inverse-global-primary-background !default;
233
+ $inverse-subnav-pill-item-active-color: $inverse-global-inverse-color !default;
234
+ $inverse-subnav-item-disabled-color: $inverse-global-muted-color !default;
235
+
236
+
237
+
238
+ // @mixin hook-inverse-subnav-item(){}
239
+ // @mixin hook-inverse-subnav-item-hover(){}
240
+ // @mixin hook-inverse-subnav-item-active(){}
241
+ // @mixin hook-inverse-subnav-divider(){}
242
+ // @mixin hook-inverse-subnav-pill-item(){}
243
+ // @mixin hook-inverse-subnav-pill-item-hover(){}
244
+ // @mixin hook-inverse-subnav-pill-item-onclick(){}
245
+ // @mixin hook-inverse-subnav-pill-item-active(){}
246
+ // @mixin hook-inverse-subnav-item-disabled(){}