@broxus/react-uikit 0.23.2 → 0.24.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 (319) hide show
  1. package/README.md +328 -1
  2. package/dist/assets/accordion.css +1 -4
  3. package/dist/assets/alert.css +28 -1
  4. package/dist/assets/align.css +5 -5
  5. package/dist/assets/animation.css +1 -1
  6. package/dist/assets/article.css +2 -3
  7. package/dist/assets/background.css +5 -5
  8. package/dist/assets/badge.css +1 -4
  9. package/dist/assets/base.css +2 -12
  10. package/dist/assets/breadcrumb.css +1 -5
  11. package/dist/assets/button.css +12 -37
  12. package/dist/assets/card.css +3 -5
  13. package/dist/assets/checkbox.css +1 -1
  14. package/dist/assets/close.css +1 -3
  15. package/dist/assets/column.css +7 -8
  16. package/dist/assets/comment.css +2 -2
  17. package/dist/assets/container.css +7 -7
  18. package/dist/assets/control.css +1 -16
  19. package/dist/assets/cover.css +1 -1
  20. package/dist/assets/custom-media.css +15 -0
  21. package/dist/assets/datepicker.css +5 -3
  22. package/dist/assets/description-list.css +1 -2
  23. package/dist/assets/divider.css +2 -5
  24. package/dist/assets/dotnav.css +1 -5
  25. package/dist/assets/drawer.css +1 -1
  26. package/dist/assets/drop.css +1 -1
  27. package/dist/assets/dropdown.css +1 -9
  28. package/dist/assets/flex.css +9 -9
  29. package/dist/assets/form.css +3 -11
  30. package/dist/assets/grid.css +7 -8
  31. package/dist/assets/heading.css +3 -6
  32. package/dist/assets/height.css +1 -1
  33. package/dist/assets/icon.css +1 -10
  34. package/dist/assets/iconnav.css +1 -4
  35. package/dist/assets/input-number.css +1 -1
  36. package/dist/assets/input-password.css +1 -1
  37. package/dist/assets/inverse.css +1 -1
  38. package/dist/assets/label.css +1 -3
  39. package/dist/assets/leader.css +1 -1
  40. package/dist/assets/link.css +1 -5
  41. package/dist/assets/list.css +1 -8
  42. package/dist/assets/margin.css +11 -11
  43. package/dist/assets/marker.css +1 -4
  44. package/dist/assets/modal.css +4 -4
  45. package/dist/assets/motion.css +3 -2
  46. package/dist/assets/nav.css +1 -18
  47. package/dist/assets/navbar.css +5 -23
  48. package/dist/assets/overlay.css +1 -1
  49. package/dist/assets/padding.css +3 -3
  50. package/dist/assets/pagination.css +1 -5
  51. package/dist/assets/placeholder.css +1 -1
  52. package/dist/assets/position.css +2 -2
  53. package/dist/assets/print.css +4 -4
  54. package/dist/assets/progress.css +1 -1
  55. package/dist/assets/radio.css +1 -1
  56. package/dist/assets/search.css +1 -10
  57. package/dist/assets/section.css +4 -4
  58. package/dist/assets/segmented.css +1 -1
  59. package/dist/assets/select.css +1 -1
  60. package/dist/assets/slider.css +1 -1
  61. package/dist/assets/spinner.css +1 -1
  62. package/dist/assets/sticky.css +1 -1
  63. package/dist/assets/subnav.css +1 -14
  64. package/dist/assets/svg.css +1 -1
  65. package/dist/assets/switch.css +1 -1
  66. package/dist/assets/table.css +2 -8
  67. package/dist/assets/tabs.css +1 -6
  68. package/dist/assets/text.css +5 -12
  69. package/dist/assets/textarea.css +1 -1
  70. package/dist/assets/thumbnav.css +1 -1
  71. package/dist/assets/tile.css +5 -5
  72. package/dist/assets/tooltip.css +1 -1
  73. package/dist/assets/totop.css +1 -4
  74. package/dist/assets/transition.css +1 -1
  75. package/dist/assets/uikit.min.css +1 -1
  76. package/dist/assets/utility.css +1 -3
  77. package/dist/assets/vars.css +72 -4
  78. package/dist/assets/visibility.css +9 -9
  79. package/dist/assets/width.css +9 -9
  80. package/dist/esm/components/Navbar/Nav.d.ts +1 -1
  81. package/package.json +324 -21
  82. package/styles/_components.scss +85 -0
  83. package/styles/_globals.scss +151 -0
  84. package/styles/_import.components.scss +508 -58
  85. package/styles/_import.scss +608 -83
  86. package/styles/_import.utilities.scss +162 -17
  87. package/styles/_mixins.scss +1865 -0
  88. package/styles/_tokens.scss +85 -0
  89. package/styles/{mixin.scss → _utils.scss} +8 -2
  90. package/styles/{variables.scss → _variables.scss} +40 -26
  91. package/styles/accordion/_accordion.scss +231 -0
  92. package/styles/accordion/_index.scss +11 -0
  93. package/styles/alert/_alert.scss +201 -0
  94. package/styles/alert/_index.scss +11 -0
  95. package/styles/align/_align.scss +153 -0
  96. package/styles/align/_index.scss +11 -0
  97. package/styles/animation/_animation.scss +353 -0
  98. package/styles/animation/_index.scss +11 -0
  99. package/styles/article/_article.scss +112 -0
  100. package/styles/article/_index.scss +11 -0
  101. package/styles/background/_background.scss +170 -0
  102. package/styles/background/_index.scss +11 -0
  103. package/styles/badge/_badge.scss +92 -0
  104. package/styles/badge/_index.scss +11 -0
  105. package/styles/base/_base.scss +661 -0
  106. package/styles/base/_index.scss +11 -0
  107. package/styles/breadcrumb/_breadcrumb.scss +133 -0
  108. package/styles/breadcrumb/_index.scss +11 -0
  109. package/styles/button/_button.scss +707 -0
  110. package/styles/button/_index.scss +11 -0
  111. package/styles/card/_card.scss +544 -0
  112. package/styles/card/_index.scss +11 -0
  113. package/styles/checkbox/_checkbox.scss +329 -0
  114. package/styles/checkbox/_index.scss +11 -0
  115. package/styles/close/_close.scss +69 -0
  116. package/styles/close/_index.scss +11 -0
  117. package/styles/column/_column.scss +159 -0
  118. package/styles/column/_index.scss +11 -0
  119. package/styles/comment/_comment.scss +195 -0
  120. package/styles/comment/_index.scss +11 -0
  121. package/styles/container/_container.scss +240 -0
  122. package/styles/container/_index.scss +11 -0
  123. package/styles/control/_control.scss +364 -0
  124. package/styles/control/_index.scss +11 -0
  125. package/styles/cover/_cover.scss +99 -0
  126. package/styles/cover/_index.scss +8 -0
  127. package/styles/custom-media.scss +17 -0
  128. package/styles/datepicker/_datepicker.scss +841 -0
  129. package/styles/datepicker/_index.scss +11 -0
  130. package/styles/description-list/_description-list.scss +96 -0
  131. package/styles/description-list/_index.scss +11 -0
  132. package/styles/divider/_divider.scss +168 -0
  133. package/styles/divider/_index.scss +11 -0
  134. package/styles/dotnav/_dotnav.scss +171 -0
  135. package/styles/dotnav/_index.scss +11 -0
  136. package/styles/drawer/_drawer.scss +588 -0
  137. package/styles/drawer/_index.scss +11 -0
  138. package/styles/drop/_drop.scss +97 -0
  139. package/styles/drop/_index.scss +11 -0
  140. package/styles/dropdown/_dropdown.scss +218 -0
  141. package/styles/dropdown/_index.scss +11 -0
  142. package/styles/flex/_flex.scss +338 -0
  143. package/styles/flex/_index.scss +8 -0
  144. package/styles/form/_form.scss +665 -0
  145. package/styles/form/_index.scss +11 -0
  146. package/styles/grid/_grid.scss +657 -0
  147. package/styles/grid/_index.scss +11 -0
  148. package/styles/heading/_heading.scss +265 -0
  149. package/styles/heading/_index.scss +11 -0
  150. package/styles/height/_height.scss +77 -0
  151. package/styles/height/_index.scss +11 -0
  152. package/styles/icon/_icon.scss +274 -0
  153. package/styles/icon/_index.scss +11 -0
  154. package/styles/iconnav/_iconnav.scss +149 -0
  155. package/styles/iconnav/_index.scss +11 -0
  156. package/styles/input-number/_index.scss +8 -0
  157. package/styles/input-number/_input-number.scss +115 -0
  158. package/styles/input-password/_index.scss +8 -0
  159. package/styles/input-password/_input-password.scss +52 -0
  160. package/styles/inverse/_index.scss +11 -0
  161. package/styles/inverse/_inverse.scss +68 -0
  162. package/styles/label/_index.scss +11 -0
  163. package/styles/label/_label.scss +132 -0
  164. package/styles/leader/_index.scss +11 -0
  165. package/styles/leader/_leader.scss +80 -0
  166. package/styles/link/_index.scss +11 -0
  167. package/styles/link/_link.scss +158 -0
  168. package/styles/list/_index.scss +11 -0
  169. package/styles/list/_list.scss +288 -0
  170. package/styles/margin/_index.scss +11 -0
  171. package/styles/margin/_margin.scss +312 -0
  172. package/styles/marker/_index.scss +11 -0
  173. package/styles/marker/_marker.scss +73 -0
  174. package/styles/modal/_index.scss +11 -0
  175. package/styles/modal/_modal.scss +374 -0
  176. package/styles/motion/_index.scss +8 -0
  177. package/styles/motion/_motion.scss +640 -0
  178. package/styles/nav/_index.scss +11 -0
  179. package/styles/nav/_nav.scss +583 -0
  180. package/styles/navbar/_index.scss +11 -0
  181. package/styles/navbar/_navbar.scss +694 -0
  182. package/styles/overlay/_index.scss +11 -0
  183. package/styles/overlay/_overlay.scss +115 -0
  184. package/styles/padding/_index.scss +11 -0
  185. package/styles/padding/_padding.scss +93 -0
  186. package/styles/pagination/_index.scss +11 -0
  187. package/styles/pagination/_pagination.scss +149 -0
  188. package/styles/placeholder/_index.scss +11 -0
  189. package/styles/placeholder/_placeholder.scss +60 -0
  190. package/styles/position/_index.scss +11 -0
  191. package/styles/position/_position.scss +257 -0
  192. package/styles/print.scss +8 -5
  193. package/styles/progress/_index.scss +11 -0
  194. package/styles/progress/_progress.scss +131 -0
  195. package/styles/radio/_index.scss +11 -0
  196. package/styles/radio/_radio.scss +272 -0
  197. package/styles/search/_index.scss +11 -0
  198. package/styles/search/_search.scss +353 -0
  199. package/styles/section/_index.scss +11 -0
  200. package/styles/section/_section.scss +293 -0
  201. package/styles/segmented/_index.scss +11 -0
  202. package/styles/segmented/_segmented.scss +275 -0
  203. package/styles/select/_index.scss +11 -0
  204. package/styles/select/_select.scss +641 -0
  205. package/styles/slider/_index.scss +11 -0
  206. package/styles/slider/_slider.scss +525 -0
  207. package/styles/spinner/_index.scss +11 -0
  208. package/styles/spinner/_spinner.scss +90 -0
  209. package/styles/sticky/_index.scss +11 -0
  210. package/styles/sticky/_sticky.scss +66 -0
  211. package/styles/subnav/_index.scss +11 -0
  212. package/styles/subnav/_subnav.scss +267 -0
  213. package/styles/svg/_index.scss +8 -0
  214. package/styles/svg/_svg.scss +64 -0
  215. package/styles/switch/_index.scss +11 -0
  216. package/styles/switch/_switch.scss +226 -0
  217. package/styles/table/_index.scss +11 -0
  218. package/styles/table/_table.scss +337 -0
  219. package/styles/tabs/_index.scss +11 -0
  220. package/styles/tabs/_tabs.scss +809 -0
  221. package/styles/text/_index.scss +11 -0
  222. package/styles/text/_text.scss +432 -0
  223. package/styles/textarea/_index.scss +11 -0
  224. package/styles/textarea/_textarea.scss +98 -0
  225. package/styles/thumbnav/_index.scss +11 -0
  226. package/styles/thumbnav/_thumbnav.scss +130 -0
  227. package/styles/tile/_index.scss +11 -0
  228. package/styles/tile/_tile.scss +313 -0
  229. package/styles/tooltip/_index.scss +11 -0
  230. package/styles/tooltip/_tooltip.scss +101 -0
  231. package/styles/totop/_index.scss +11 -0
  232. package/styles/totop/_totop.scss +80 -0
  233. package/styles/transition/_index.scss +11 -0
  234. package/styles/transition/_transition.scss +197 -0
  235. package/styles/utility/_index.scss +11 -0
  236. package/styles/utility/_utility.scss +642 -0
  237. package/styles/vars.scss +474 -139
  238. package/styles/visibility/_index.scss +8 -0
  239. package/styles/visibility/_visibility.scss +196 -0
  240. package/styles/width/_index.scss +11 -0
  241. package/styles/width/_width.scss +698 -0
  242. package/dist/assets/mixin.css +0 -1
  243. package/dist/assets/mixins.css +0 -1
  244. package/dist/assets/variables.css +0 -1
  245. package/styles/accordion.scss +0 -224
  246. package/styles/alert.scss +0 -197
  247. package/styles/align.scss +0 -149
  248. package/styles/animation.scss +0 -349
  249. package/styles/article.scss +0 -105
  250. package/styles/background.scss +0 -167
  251. package/styles/badge.scss +0 -85
  252. package/styles/base.scss +0 -656
  253. package/styles/breadcrumb.scss +0 -126
  254. package/styles/button.scss +0 -700
  255. package/styles/card.scss +0 -534
  256. package/styles/checkbox.scss +0 -325
  257. package/styles/close.scss +0 -62
  258. package/styles/column.scss +0 -152
  259. package/styles/comment.scss +0 -191
  260. package/styles/container.scss +0 -236
  261. package/styles/control.scss +0 -357
  262. package/styles/cover.scss +0 -81
  263. package/styles/datepicker.scss +0 -834
  264. package/styles/description-list.scss +0 -89
  265. package/styles/divider.scss +0 -161
  266. package/styles/dotnav.scss +0 -164
  267. package/styles/drawer.scss +0 -584
  268. package/styles/drop.scss +0 -93
  269. package/styles/dropdown.scss +0 -207
  270. package/styles/flex.scss +0 -326
  271. package/styles/form.scss +0 -658
  272. package/styles/grid.scss +0 -650
  273. package/styles/heading.scss +0 -258
  274. package/styles/height.scss +0 -73
  275. package/styles/icon.scss +0 -267
  276. package/styles/iconnav.scss +0 -142
  277. package/styles/input-number.scss +0 -98
  278. package/styles/input-password.scss +0 -35
  279. package/styles/inverse.scss +0 -65
  280. package/styles/label.scss +0 -125
  281. package/styles/leader.scss +0 -76
  282. package/styles/link.scss +0 -151
  283. package/styles/list.scss +0 -281
  284. package/styles/margin.scss +0 -308
  285. package/styles/marker.scss +0 -66
  286. package/styles/mixins.scss +0 -2555
  287. package/styles/modal.scss +0 -370
  288. package/styles/motion.scss +0 -627
  289. package/styles/nav.scss +0 -576
  290. package/styles/navbar.scss +0 -682
  291. package/styles/overlay.scss +0 -107
  292. package/styles/padding.scss +0 -89
  293. package/styles/pagination.scss +0 -142
  294. package/styles/placeholder.scss +0 -56
  295. package/styles/position.scss +0 -253
  296. package/styles/progress.scss +0 -127
  297. package/styles/radio.scss +0 -268
  298. package/styles/search.scss +0 -346
  299. package/styles/section.scss +0 -285
  300. package/styles/segmented.scss +0 -271
  301. package/styles/select.scss +0 -644
  302. package/styles/slider.scss +0 -521
  303. package/styles/spinner.scss +0 -86
  304. package/styles/sticky.scss +0 -62
  305. package/styles/subnav.scss +0 -260
  306. package/styles/svg.scss +0 -46
  307. package/styles/switch.scss +0 -218
  308. package/styles/table.scss +0 -330
  309. package/styles/tabs.scss +0 -802
  310. package/styles/text.scss +0 -425
  311. package/styles/textarea.scss +0 -94
  312. package/styles/thumbnav.scss +0 -126
  313. package/styles/tile.scss +0 -309
  314. package/styles/tooltip.scss +0 -94
  315. package/styles/totop.scss +0 -73
  316. package/styles/transition.scss +0 -193
  317. package/styles/utility.scss +0 -635
  318. package/styles/visibility.scss +0 -184
  319. package/styles/width.scss +0 -694
@@ -0,0 +1,661 @@
1
+ // Name: Base
2
+ // Description: Default values for HTML elements
3
+ //
4
+ // Component: `uk-link`
5
+ // `uk-h1`, `uk-h2`, `uk-h3`, `uk-h4`, `uk-h5`, `uk-h6`
6
+ // `uk-hr`
7
+ //
8
+ // ========================================================================
9
+
10
+ @use 'sass:map';
11
+ @use 'sass:meta';
12
+ @use 'sass:string';
13
+
14
+
15
+ // Variables
16
+ // ========================================================================
17
+
18
+ @use '../variables' as *;
19
+ @use '../mixins' as *;
20
+
21
+
22
+ @mixin base-styles {
23
+ /* ========================================================================
24
+ Component: Base
25
+ ========================================================================== */
26
+
27
+ /*
28
+ * 1. Set `font-size` to support `rem` units
29
+ * Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
30
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
31
+ * 3. Style
32
+ */
33
+
34
+ html {
35
+ background: var(--base-body-background); /* 3 */
36
+ color: var(--base-body-color); /* 3 */
37
+ font-family: var(--base-body-font-family), system-ui;
38
+ font-size: var(--base-body-font-size); /* 1 */
39
+ font-weight: var(--base-body-font-weight);
40
+ line-height: var(--base-body-line-height);
41
+ text-size-adjust: 100%; /* 2 */
42
+ @if map.has-key($mixins, 'hook-base-body') {
43
+ @include meta.apply(map.get($mixins, 'hook-base-body'));
44
+ }
45
+ }
46
+
47
+ /*
48
+ * Remove the margin in all browsers.
49
+ */
50
+
51
+ body { margin: 0; }
52
+
53
+
54
+ /* Links
55
+ ========================================================================== */
56
+
57
+ /*
58
+ * Style
59
+ */
60
+
61
+ a,
62
+ .#{$prefix}-link {
63
+ color: var(--base-link-color);
64
+ cursor: pointer;
65
+ text-decoration: var(--base-link-text-decoration);
66
+ @if map.has-key($mixins, 'hook-base-link') {
67
+ @include meta.apply(map.get($mixins, 'hook-base-link'));
68
+ }
69
+ }
70
+
71
+ a:hover,
72
+ .#{$prefix}-link:hover,
73
+ .#{$prefix}-link-toggle:hover .#{$prefix}-link,
74
+ .#{$prefix}-link-toggle:focus .#{$prefix}-link {
75
+ color: var(--base-link-hover-color);
76
+ text-decoration: var(--base-link-hover-text-decoration);
77
+ @if map.has-key($mixins, 'hook-base-link-hover') {
78
+ @include meta.apply(map.get($mixins, 'hook-base-link-hover'));
79
+ }
80
+ }
81
+
82
+ /*
83
+ * Fix text underline offset if `vertical-align`is set to `middle`
84
+ */
85
+
86
+ a:has(.#{$prefix}-text-middle),
87
+ .#{$prefix}-link:has(.#{$prefix}-text-middle),
88
+ .#{$prefix}-link-toggle:hover .#{$prefix}-link:has(.#{$prefix}-text-middle) { text-underline-offset: 0.1875em; }
89
+
90
+
91
+ /* Text-level semantics
92
+ ========================================================================== */
93
+
94
+ /*
95
+ * 1. Add the correct text decoration in Edge.
96
+ * 2. The shorthand declaration `underline dotted` is not supported in Safari.
97
+ */
98
+
99
+ abbr[title] {
100
+ text-decoration: underline dotted; /* 1 */
101
+ -webkit-text-decoration-style: dotted; /* 2 */
102
+ }
103
+
104
+ /*
105
+ * Add the correct font weight in Chrome, Edge, and Safari.
106
+ */
107
+
108
+ b,
109
+ strong { font-weight: var(--base-strong-font-weight); }
110
+
111
+ /*
112
+ * 1. Consolas has a better baseline in running text compared to `Courier`
113
+ * 2. Correct the odd `em` font sizing in all browsers.
114
+ * 3. Style
115
+ */
116
+
117
+ :not(pre) > code,
118
+ :not(pre) > kbd,
119
+ :not(pre) > samp {
120
+ color: var(--base-code-color); /* 3 */
121
+ font-family: var(--base-code-font-family), monospace; /* 1 */
122
+ font-size: var(--base-code-font-size); /* 2 */
123
+ padding: var(--base-code-padding-vertical) var(--base-code-padding-horizontal);
124
+ white-space: nowrap;
125
+ @if map.has-key($mixins, 'hook-base-code') {
126
+ @include meta.apply(map.get($mixins, 'hook-base-code'));
127
+ }
128
+ }
129
+
130
+ /*
131
+ * Emphasize
132
+ */
133
+
134
+ em { color: var(--base-em-color); }
135
+
136
+ /*
137
+ * Insert
138
+ */
139
+
140
+ ins {
141
+ background: var(--base-ins-background);
142
+ color: var(--base-ins-color);
143
+ text-decoration: none;
144
+ }
145
+
146
+ /*
147
+ * Mark
148
+ */
149
+
150
+ mark {
151
+ background: var(--base-mark-background);
152
+ color: var(--base-mark-color);
153
+ }
154
+
155
+ /*
156
+ * Quote
157
+ */
158
+
159
+ q { font-style: var(--base-quote-font-style); }
160
+
161
+ /*
162
+ * Add the correct font size in all browsers.
163
+ */
164
+
165
+ small { font-size: var(--base-small-font-size); }
166
+
167
+ /*
168
+ * Prevents `sub` and `sup` affecting `line-height` in all browsers.
169
+ */
170
+
171
+ sub,
172
+ sup {
173
+ font-size: 75%;
174
+ line-height: 0;
175
+ position: relative;
176
+ vertical-align: baseline;
177
+ }
178
+
179
+ sup { top: -0.5em; }
180
+ sub { bottom: -0.25em; }
181
+
182
+
183
+ /* Embedded content
184
+ ========================================================================== */
185
+
186
+ /*
187
+ * Remove the gap between the element and the bottom of its parent container.
188
+ */
189
+
190
+ audio,
191
+ canvas,
192
+ iframe,
193
+ img,
194
+ svg,
195
+ video { vertical-align: middle; }
196
+
197
+ /*
198
+ * 1. Constrain the element to its parent width.
199
+ * 2. Take border and padding into account.
200
+ * 3. Reset `height` attribute if present to scale the height based on the intrinsic aspect ratio.
201
+ * 4. Scale height based on the extrinsic aspect ratio. Works only in Chrome yet.
202
+ * 5. Size image to fill the element's content box.
203
+ * Note: Add `iframe` as soon as `attr` is supported in all browsers and remove `uk-responsive`.
204
+ */
205
+
206
+ canvas,
207
+ img,
208
+ svg,
209
+ video {
210
+ aspect-ratio: string.unquote('attr(width type(<number>)) / attr(height type(<number>))'); /* 4 */
211
+ box-sizing: border-box; /* 3 */
212
+ height: auto; /* 2 */
213
+ max-width: 100%; /* 1 */
214
+ object-fit: cover; /* 5 */
215
+ }
216
+
217
+ /*
218
+ * Deprecated: only needed for `img` elements with `uk-img`
219
+ * 1. Hide `alt` text for lazy load images.
220
+ * 2. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
221
+ */
222
+
223
+ img:not([src]) {
224
+ min-width: 1px; /* 2 */
225
+ visibility: hidden; /* 1 */
226
+ }
227
+
228
+ /*
229
+ * Iframe
230
+ * Remove border in all browsers
231
+ */
232
+
233
+ iframe { border: 0; }
234
+
235
+
236
+ /* Block elements
237
+ ========================================================================== */
238
+
239
+ /*
240
+ * Margins
241
+ */
242
+
243
+ p,
244
+ ul,
245
+ ol,
246
+ dl,
247
+ pre,
248
+ address,
249
+ fieldset,
250
+ figure { margin: 0 0 var(--base-margin-vertical) 0; }
251
+
252
+ /* Add margin if adjacent element */
253
+ * + p,
254
+ * + ul,
255
+ * + ol,
256
+ * + dl,
257
+ * + pre,
258
+ * + address,
259
+ * + fieldset,
260
+ * + figure { margin-top: var(--base-margin-vertical); }
261
+
262
+
263
+ /* Headings
264
+ ========================================================================== */
265
+
266
+ h1, .#{$prefix}-h1,
267
+ h2, .#{$prefix}-h2,
268
+ h3, .#{$prefix}-h3,
269
+ h4, .#{$prefix}-h4,
270
+ h5, .#{$prefix}-h5,
271
+ h6, .#{$prefix}-h6,
272
+ .#{$prefix}-heading-small,
273
+ .#{$prefix}-heading-medium,
274
+ .#{$prefix}-heading-large,
275
+ .#{$prefix}-heading-xlarge,
276
+ .#{$prefix}-heading-2xlarge,
277
+ .#{$prefix}-heading-3xlarge {
278
+ color: var(--base-heading-color);
279
+ font-family: var(--base-heading-font-family), system-ui;
280
+ font-weight: var(--base-heading-font-weight);
281
+ margin: 0 0 var(--base-margin-vertical) 0;
282
+ text-transform: var(--base-heading-text-transform);
283
+ @if map.has-key($mixins, 'hook-base-heading') {
284
+ @include meta.apply(map.get($mixins, 'hook-base-heading'));
285
+ }
286
+ }
287
+
288
+ /* Add margin if adjacent element */
289
+ * + h1, * + .#{$prefix}-h1,
290
+ * + h2, * + .#{$prefix}-h2,
291
+ * + h3, * + .#{$prefix}-h3,
292
+ * + h4, * + .#{$prefix}-h4,
293
+ * + h5, * + .#{$prefix}-h5,
294
+ * + h6, * + .#{$prefix}-h6,
295
+ * + .#{$prefix}-heading-small,
296
+ * + .#{$prefix}-heading-medium,
297
+ * + .#{$prefix}-heading-large,
298
+ * + .#{$prefix}-heading-xlarge,
299
+ * + .#{$prefix}-heading-2xlarge,
300
+ * + .#{$prefix}-heading-3xlarge {
301
+ margin-top: var(--base-heading-margin-top);
302
+ }
303
+
304
+ /*
305
+ * Sizes
306
+ */
307
+
308
+ h1, .#{$prefix}-h1 {
309
+ font-size: var(--base-h1-font-size);
310
+ line-height: var(--base-h1-line-height);
311
+ @if map.has-key($mixins, 'hook-base-h1') {
312
+ @include meta.apply(map.get($mixins, 'hook-base-h1'));
313
+ }
314
+ }
315
+
316
+ h2, .#{$prefix}-h2 {
317
+ font-size: var(--base-h2-font-size);
318
+ line-height: var(--base-h2-line-height);
319
+ @if map.has-key($mixins, 'hook-base-h2') {
320
+ @include meta.apply(map.get($mixins, 'hook-base-h2'));
321
+ }
322
+ }
323
+
324
+ h3, .#{$prefix}-h3 {
325
+ font-size: var(--base-h3-font-size);
326
+ line-height: var(--base-h3-line-height);
327
+ @if map.has-key($mixins, 'hook-base-h3') {
328
+ @include meta.apply(map.get($mixins, 'hook-base-h3'));
329
+ }
330
+ }
331
+
332
+ h4, .#{$prefix}-h4 {
333
+ font-size: var(--base-h4-font-size);
334
+ line-height: var(--base-h4-line-height);
335
+ @if map.has-key($mixins, 'hook-base-h4') {
336
+ @include meta.apply(map.get($mixins, 'hook-base-h4'));
337
+ }
338
+ }
339
+
340
+ h5, .#{$prefix}-h5 {
341
+ font-size: var(--base-h5-font-size);
342
+ line-height: var(--base-h5-line-height);
343
+ @if map.has-key($mixins, 'hook-base-h5') {
344
+ @include meta.apply(map.get($mixins, 'hook-base-h5'));
345
+ }
346
+ }
347
+
348
+ h6, .#{$prefix}-h6 {
349
+ font-size: var(--base-h6-font-size);
350
+ line-height: var(--base-h6-line-height);
351
+ @if map.has-key($mixins, 'hook-base-h6') {
352
+ @include meta.apply(map.get($mixins, 'hook-base-h6'));
353
+ }
354
+ }
355
+
356
+ /* Tablet landscape and bigger */
357
+ @media (--media-breakpoint-medium) {
358
+
359
+ h1, .#{$prefix}-h1 { font-size: var(--base-h1-font-size-m); }
360
+ h2, .#{$prefix}-h2 { font-size: var(--base-h2-font-size-m); }
361
+
362
+ }
363
+
364
+
365
+ /* Lists
366
+ ========================================================================== */
367
+
368
+ ul, ol { padding-left: var(--base-list-padding-left); }
369
+
370
+ /*
371
+ * Reset margin for nested lists
372
+ */
373
+
374
+ ul > li > ul,
375
+ ul > li > ol,
376
+ ol > li > ol,
377
+ ol > li > ul {
378
+ margin: 0;
379
+ }
380
+
381
+
382
+ /* Description lists
383
+ ========================================================================== */
384
+
385
+ dt { font-weight: bold; }
386
+ dd { margin-left: 0; }
387
+
388
+
389
+ /* Horizontal rules
390
+ ========================================================================== */
391
+
392
+ /*
393
+ * 1. Show the overflow in Chrome, Edge and IE.
394
+ * 2. Add the correct text-align in Edge and IE.
395
+ * 3. Style
396
+ */
397
+
398
+ hr, .#{$prefix}-hr {
399
+ border: 0; /* 3 */
400
+ border-top: var(--base-hr-border-width) solid var(--base-hr-border); /* 3 */
401
+ margin: 0 0 var(--base-hr-margin-vertical) 0; /* 3 */
402
+ overflow: visible; /* 1 */
403
+ text-align: inherit; /* 2 */
404
+ @if map.has-key($mixins, 'hook-base-hr') {
405
+ @include meta.apply(map.get($mixins, 'hook-base-hr'));
406
+ }
407
+ }
408
+
409
+ /* Add margin if adjacent element */
410
+ * + hr,
411
+ * + .#{$prefix}-hr {
412
+ margin-top: var(--base-hr-margin-vertical);
413
+ }
414
+
415
+
416
+ /* Address
417
+ ========================================================================== */
418
+
419
+ address { font-style: normal; }
420
+
421
+
422
+ /* Blockquotes
423
+ ========================================================================== */
424
+
425
+ blockquote {
426
+ color: var(--base-blockquote-color);
427
+ font-size: var(--base-blockquote-font-size);
428
+ font-style: var(--base-blockquote-font-style);
429
+ line-height: var(--base-blockquote-line-height);
430
+ margin: 0 0 var(--base-blockquote-margin-vertical) 0;
431
+ @if map.has-key($mixins, 'hook-base-blockquote') {
432
+ @include meta.apply(map.get($mixins, 'hook-base-blockquote'));
433
+ }
434
+ }
435
+
436
+ /* Add margin if adjacent element */
437
+ * + blockquote {
438
+ margin-top: var(--base-blockquote-margin-vertical);
439
+ }
440
+
441
+ /*
442
+ * Content
443
+ */
444
+
445
+ blockquote p:last-of-type {
446
+ margin-bottom: 0;
447
+ }
448
+
449
+ blockquote footer {
450
+ color: var(--base-blockquote-footer-color);
451
+ font-size: var(--base-blockquote-footer-font-size);
452
+ line-height: var(--base-blockquote-footer-line-height);
453
+ margin-top: var(--base-blockquote-footer-margin-top);
454
+ @if map.has-key($mixins, 'hook-base-blockquote-footer') {
455
+ @include meta.apply(map.get($mixins, 'hook-base-blockquote-footer'));
456
+ }
457
+ }
458
+
459
+
460
+ /* Preformatted text
461
+ ========================================================================== */
462
+
463
+ /*
464
+ * 1. Contain overflow in all browsers.
465
+ */
466
+
467
+ pre {
468
+ color: var(--base-pre-color);
469
+ font-family: var(--base-pre-font-family), monospace;
470
+ font-size: var(--base-pre-font-size);
471
+ line-height: var(--base-pre-line-height);
472
+ overflow: auto; /* 1 */
473
+ tab-size: 4;
474
+ @if map.has-key($mixins, 'hook-base-pre') {
475
+ @include meta.apply(map.get($mixins, 'hook-base-pre'));
476
+ }
477
+ }
478
+
479
+ pre code { font-family: var(--base-pre-font-family), monospace; }
480
+
481
+
482
+ /* Focus
483
+ ========================================================================== */
484
+
485
+ /*
486
+ * Safari doesn't support `:focus-visible` yet. It also doesn't set focus if clicking a button or anchor.
487
+ * 1. Fallback: Remove `:focus` for a negative tab-indexes.
488
+ * 2. Fallback: Set `:focus` style but not for negative tab-indexes.
489
+ * 3. Fallback: Remove `:focus` style for browsers which support `:focus-visible`.
490
+ * 4. Set `:focus-visible` style for browsers which support it.
491
+ */
492
+
493
+ /* 1 */
494
+ :focus { outline: none; }
495
+
496
+ /* 2 */
497
+ :focus:not([tabindex^='-']) {
498
+ outline: var(--base-focus-outline-width) var(--base-focus-outline-style) var(--base-focus-outline);
499
+ outline-offset: var(--base-focus-outline-offset);
500
+ }
501
+
502
+ /* 3 */
503
+ :focus:not(:focus-visible) {
504
+ outline: none;
505
+ }
506
+
507
+ /* 4 */
508
+ :focus-visible {
509
+ outline: var(--base-focus-outline-width) var(--base-focus-outline-style) var(--base-focus-outline);
510
+ outline-offset: var(--base-focus-outline-offset);
511
+ }
512
+
513
+
514
+ /* Selection pseudo-element
515
+ ========================================================================== */
516
+
517
+ ::selection {
518
+ background: var(--base-selection-background);
519
+ color: var(--base-selection-color);
520
+ text-shadow: none;
521
+ }
522
+
523
+
524
+ /* HTML5 elements
525
+ ========================================================================== */
526
+
527
+ /*
528
+ * 1. Add the correct display in Edge, IE 10+, and Firefox.
529
+ * 2. Add the correct display in IE.
530
+ */
531
+
532
+ details, /* 1 */
533
+ main { /* 2 */
534
+ display: block;
535
+ }
536
+
537
+ /*
538
+ * Add the correct display in all browsers.
539
+ */
540
+
541
+ summary { display: list-item; }
542
+
543
+ /*
544
+ * Add the correct display in IE.
545
+ */
546
+
547
+ template { display: none; }
548
+
549
+
550
+ /* Pass media breakpoints to JS
551
+ ========================================================================== */
552
+
553
+ /*
554
+ * Breakpoints
555
+ */
556
+
557
+ .#{$prefix}-breakpoint-s::before { content: var(--breakpoint-small); }
558
+ .#{$prefix}-breakpoint-m::before { content: var(--breakpoint-medium); }
559
+ .#{$prefix}-breakpoint-l::before { content: var(--breakpoint-large); }
560
+ .#{$prefix}-breakpoint-xl::before { content: var(--breakpoint-xlarge); }
561
+
562
+
563
+ // Hooks
564
+ // ========================================================================
565
+
566
+ @if map.has-key($mixins, 'hook-base-misc') {
567
+ @include meta.apply(map.get($mixins, 'hook-base-misc'));
568
+ }
569
+
570
+ @content;
571
+ }
572
+
573
+ @mixin base-tokens {
574
+ --base-body-background: var(--global-background);
575
+ --base-body-font-family: var(--global-font-family);
576
+ --base-body-font-weight: #{$base-body-font-weight};
577
+ --base-body-font-size: var(--global-font-size);
578
+ --base-body-line-height: var(--global-line-height);
579
+ --base-body-color: var(--global-color);
580
+ --base-link-color: var(--global-link-color);
581
+ --base-link-text-decoration: #{$base-link-text-decoration};
582
+ --base-link-hover-color: var(--global-link-hover-color);
583
+ --base-link-hover-text-decoration: #{$base-link-hover-text-decoration};
584
+ --base-strong-font-weight: #{$base-strong-font-weight};
585
+ --base-code-font-size: var(--global-small-font-size);
586
+ --base-code-font-family: #{$base-code-font-family};
587
+ --base-code-color: var(--global-danger-background);
588
+ --base-code-padding-horizontal: #{$base-code-padding-horizontal};
589
+ --base-code-padding-vertical: #{$base-code-padding-vertical};
590
+ --base-em-color: var(--global-danger-background);
591
+ --base-ins-background: #{$base-ins-background};
592
+ --base-ins-color: var(--global-color);
593
+ --base-mark-background: #{$base-mark-background};
594
+ --base-mark-color: var(--global-color);
595
+ --base-quote-font-style: #{$base-quote-font-style};
596
+ --base-small-font-size: #{$base-small-font-size};
597
+ --base-margin-vertical: var(--global-margin);
598
+ --base-heading-font-family: var(--global-font-family);
599
+ --base-heading-font-weight: #{$base-heading-font-weight};
600
+ --base-heading-color: var(--global-emphasis-color);
601
+ --base-heading-text-transform: #{$base-heading-text-transform};
602
+ --base-heading-margin-top: var(--global-medium-margin);
603
+ --base-h1-font-size-m: var(--global-2xlarge-font-size);
604
+ --base-h1-font-size: calc(var(--base-h1-font-size-m) * 0.85);
605
+ --base-h1-line-height: #{$base-h1-line-height};
606
+ --base-h2-font-size-m: var(--global-xlarge-font-size);
607
+ --base-h2-font-size: calc(var(--base-h2-font-size-m) * 0.85);
608
+ --base-h2-line-height: #{$base-h2-line-height};
609
+ --base-h3-font-size: var(--global-large-font-size);
610
+ --base-h3-line-height: #{$base-h3-line-height};
611
+ --base-h4-font-size: var(--global-medium-font-size);
612
+ --base-h4-line-height: #{$base-h4-line-height};
613
+ --base-h5-font-size: var(--global-font-size);
614
+ --base-h5-line-height: #{$base-h5-line-height};
615
+ --base-h6-font-size: var(--global-small-font-size);
616
+ --base-h6-line-height: #{$base-h6-line-height};
617
+ --base-list-padding-left: #{$base-list-padding-left};
618
+ --base-hr-margin-vertical: var(--global-margin);
619
+ --base-hr-border-width: var(--global-border-width);
620
+ --base-hr-border: var(--global-border);
621
+ --base-blockquote-font-size: var(--global-medium-font-size);
622
+ --base-blockquote-line-height: #{$base-blockquote-line-height};
623
+ --base-blockquote-font-style: #{$base-blockquote-font-style};
624
+ --base-blockquote-margin-vertical: var(--global-margin);
625
+ --base-blockquote-color: var(--global-emphasis-color);
626
+ --base-blockquote-footer-color: var(--global-color);
627
+ --base-blockquote-footer-margin-top: var(--global-small-margin);
628
+ --base-blockquote-footer-font-size: var(--global-small-font-size);
629
+ --base-blockquote-footer-line-height: #{$base-blockquote-footer-line-height};
630
+ --base-pre-font-size: var(--global-small-font-size);
631
+ --base-pre-line-height: #{$base-pre-line-height};
632
+ --base-pre-font-family: var(--base-code-font-family);
633
+ --base-pre-color: var(--global-color);
634
+ --base-focus-outline-width: #{$base-focus-outline-width};
635
+ --base-focus-outline-style: #{$base-focus-outline-style};
636
+ --base-focus-outline: var(--global-emphasis-color);
637
+ --base-focus-outline-offset: #{$base-focus-outline-offset};
638
+ --base-selection-background: #{$base-selection-background};
639
+ --base-selection-color: var(--global-inverse-color);
640
+ --uk-breakpoint-s: var(--breakpoint-small);
641
+ --uk-breakpoint-m: var(--breakpoint-medium);
642
+ --uk-breakpoint-l: var(--breakpoint-large);
643
+ --uk-breakpoint-xl: var(--breakpoint-xlarge);
644
+
645
+ @content;
646
+ }
647
+
648
+ @mixin base-inverse-tokens {
649
+ --inverse-base-color: var(--inverse-global-color);
650
+ --inverse-base-link-color: var(--inverse-global-emphasis-color);
651
+ --inverse-base-link-hover-color: var(--inverse-global-emphasis-color);
652
+ --inverse-base-code-color: var(--inverse-global-color);
653
+ --inverse-base-em-color: var(--inverse-global-emphasis-color);
654
+ --inverse-base-heading-color: var(--inverse-global-emphasis-color);
655
+ --inverse-base-hr-border: var(--inverse-global-color);
656
+ --inverse-base-focus-outline: var(--inverse-global-emphasis-color);
657
+ --inverse-base-blockquote-color: var(--inverse-global-emphasis-color);
658
+ --inverse-base-blockquote-footer-color: var(--inverse-global-color);
659
+
660
+ @content;
661
+ }
@@ -0,0 +1,11 @@
1
+ @use 'base' as *;
2
+
3
+ $generate-tokens: true !default;
4
+
5
+ @include base-styles;
6
+
7
+ @if $generate-tokens {
8
+ :root {
9
+ @include base-tokens;
10
+ }
11
+ }