@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,218 @@
1
+ // Name: Dropdown
2
+ // Description: Component to create dropdown menus
3
+ //
4
+ // Component: `uk-dropdown`
5
+ //
6
+ // Adopted: `uk-dropdown-nav`
7
+ //
8
+ // Modifiers: `uk-dropdown-placement-top-*`
9
+ // `uk-dropdown-placement-bottom-*`
10
+ // `uk-dropdown-stack`
11
+ // `uk-dropdown-grid`
12
+ //
13
+ // States: `uk-dropdown-hidden`
14
+ //
15
+ // ========================================================================
16
+
17
+ @use 'sass:map';
18
+ @use 'sass:meta';
19
+
20
+
21
+ // Variables
22
+ // ========================================================================
23
+
24
+ @use '../variables' as *;
25
+ @use '../mixins' as *;
26
+
27
+
28
+ @mixin dropdown-styles {
29
+ /* ========================================================================
30
+ Component: Dropdown
31
+ ========================================================================== */
32
+
33
+ /*
34
+ * 1. Set position
35
+ * 2. Set a default width
36
+ * 3. Style
37
+ */
38
+
39
+ .#{$prefix}-dropdown {
40
+ --uk-inverse: #{$dropdown-color-mode};
41
+ background: var(--dropdown-background); /* 3 */
42
+ box-sizing: border-box; /* 2 */
43
+ color: var(--dropdown-color); /* 3 */
44
+ min-width: var(--dropdown-min-width); /* 2 */
45
+ padding: var(--dropdown-padding); /* 3 */
46
+ position: absolute; /* 1 */
47
+ z-index: var(--dropdown-z-index); /* 1 */
48
+ @if map.has-key($mixins, 'hook-dropdown') {
49
+ @include meta.apply(map.get($mixins, 'hook-dropdown'));
50
+ }
51
+ }
52
+
53
+ /* Hide */
54
+ .#{$prefix}-dropdown-hidden { display: none; }
55
+
56
+
57
+ /* Position Animation
58
+ ========================================================================== */
59
+
60
+ [class*='#{$prefix}-dropdown-placement-bottom'] {
61
+ &.#{$prefix}-slide-up-enter.#{$prefix}-slide-up-enter-active,
62
+ &.#{$prefix}-slide-up-appear.#{$prefix}-slide-up-appear-active {
63
+ animation-name: uk-slide-up-in;
64
+ }
65
+
66
+ &.#{$prefix}-slide-up-leave.#{$prefix}-slide-up-leave-active {
67
+ animation-name: uk-slide-up-out;
68
+ }
69
+ }
70
+
71
+ [class*='#{$prefix}-dropdown-placement-top'] {
72
+ &.#{$prefix}-slide-up-enter.#{$prefix}-slide-up-enter-active,
73
+ &.#{$prefix}-slide-up-appear.#{$prefix}-slide-up-appear-active {
74
+ animation-name: uk-slide-down-in;
75
+ }
76
+
77
+ &.#{$prefix}-slide-up-leave.#{$prefix}-slide-up-leave-active {
78
+ animation-name: uk-slide-down-out;
79
+ }
80
+ }
81
+
82
+
83
+ /* Nav
84
+ * Adopts `uk-nav`
85
+ ========================================================================== */
86
+
87
+ .#{$prefix}-dropdown-nav {
88
+ white-space: nowrap;
89
+ @if map.has-key($mixins, 'hook-dropdown-nav') {
90
+ @include meta.apply(map.get($mixins, 'hook-dropdown-nav'));
91
+ }
92
+ }
93
+
94
+ /*
95
+ * Items
96
+ */
97
+
98
+ .#{$prefix}-dropdown-nav > li > a {
99
+ color: var(--dropdown-nav-item-color);
100
+ @if map.has-key($mixins, 'hook-dropdown-nav-item') {
101
+ @include meta.apply(map.get($mixins, 'hook-dropdown-nav-item'));
102
+ }
103
+ }
104
+
105
+ /* Hover + Focus + Active */
106
+ .#{$prefix}-dropdown-nav > li > a:hover,
107
+ .#{$prefix}-dropdown-nav > li > a:focus,
108
+ .#{$prefix}-dropdown-nav > li.#{$prefix}-active > a {
109
+ color: var(--dropdown-nav-item-hover-color);
110
+ @if map.has-key($mixins, 'hook-dropdown-nav-item-hover') {
111
+ @include meta.apply(map.get($mixins, 'hook-dropdown-nav-item-hover'));
112
+ }
113
+ }
114
+
115
+ /*
116
+ * Header
117
+ */
118
+
119
+ .#{$prefix}-dropdown-nav .#{$prefix}-nav-header {
120
+ color: var(--dropdown-nav-header-color);
121
+ @if map.has-key($mixins, 'hook-dropdown-nav-header') {
122
+ @include meta.apply(map.get($mixins, 'hook-dropdown-nav-header'));
123
+ }
124
+ }
125
+
126
+ /*
127
+ * Divider
128
+ */
129
+
130
+ .#{$prefix}-dropdown-nav .#{$prefix}-nav-divider {
131
+ border-top: var(--dropdown-nav-divider-border-width) solid var(--dropdown-nav-divider-border);
132
+ @if map.has-key($mixins, 'hook-dropdown-nav-divider') {
133
+ @include meta.apply(map.get($mixins, 'hook-dropdown-nav-divider'));
134
+ }
135
+ }
136
+
137
+ /*
138
+ * Sublists
139
+ */
140
+
141
+ // noinspection Stylelint
142
+ .#{$prefix}-dropdown-nav .#{$prefix}-nav-sub a {
143
+ color: var(--dropdown-nav-sublist-item-color);
144
+ }
145
+
146
+ .#{$prefix}-dropdown-nav .#{$prefix}-nav-sub a:hover,
147
+ .#{$prefix}-dropdown-nav .#{$prefix}-nav-sub a:focus,
148
+ .#{$prefix}-dropdown-nav .#{$prefix}-nav-sub li.#{$prefix}-active > a {
149
+ color: var(--dropdown-nav-sublist-item-hover-color);
150
+ }
151
+
152
+
153
+ /* Grid modifiers
154
+ ========================================================================== */
155
+
156
+ .#{$prefix}-dropdown-stack .#{$prefix}-dropdown-grid > * {
157
+ width: 100% !important;
158
+ }
159
+
160
+
161
+ // Hooks
162
+ // ========================================================================
163
+
164
+ @if map.has-key($mixins, 'hook-dropdown-misc') {
165
+ @include meta.apply(map.get($mixins, 'hook-dropdown-misc'));
166
+ }
167
+
168
+ @content;
169
+ }
170
+
171
+ @mixin dropdown-inverse-styles {
172
+ // Color mode
173
+ @if $dropdown-color-mode == dark {
174
+ .#{$prefix}-dropdown {
175
+ @extend .#{$prefix}-dark !optional;
176
+ }
177
+ }
178
+
179
+ @if $dropdown-color-mode == light {
180
+ .#{$prefix}-dropdown {
181
+ @extend .#{$prefix}-light !optional;
182
+ }
183
+ }
184
+
185
+ @content;
186
+ }
187
+
188
+ @mixin dropdown-tokens {
189
+ --dropdown-z-index: #{$dropdown-z-index};
190
+ --dropdown-min-width: #{$dropdown-min-width};
191
+ --dropdown-padding: #{$dropdown-padding};
192
+ --dropdown-background: var(--global-muted-background);
193
+ --dropdown-border-radius: var(--global-border-radius);
194
+ --dropdown-color: var(--global-color);
195
+ --dropdown-margin: var(--global-small-margin);
196
+ --dropdown-nav-item-color: var(--global-muted-color);
197
+ --dropdown-nav-item-hover-color: var(--global-color);
198
+ --dropdown-nav-header-color: var(--global-emphasis-color);
199
+ --dropdown-nav-divider-border-width: var(--global-border-width);
200
+ --dropdown-nav-divider-border: var(--global-border);
201
+ --dropdown-nav-sublist-item-color: var(--global-muted-color);
202
+ --dropdown-nav-sublist-item-hover-color: var(--global-color);
203
+
204
+ @content;
205
+ }
206
+
207
+ @mixin dropdown-inverse-tokens {
208
+ --inverse-dropdown-background: var(--inverse-global-muted-background);
209
+ --inverse-dropdown-color: var(--inverse-global-color);
210
+ --inverse-dropdown-nav-item-color: var(--inverse-global-muted-color);
211
+ --inverse-dropdown-nav-item-hover-color: var(--inverse-global-color);
212
+ --inverse-dropdown-nav-header-color: var(--inverse-global-emphasis-color);
213
+ --inverse-dropdown-nav-divider-border: var(--inverse-global-border);
214
+ --inverse-dropdown-nav-sublist-item-color: var(--inverse-global-muted-color);
215
+ --inverse-dropdown-nav-sublist-item-hover-color: var(--inverse-global-color);
216
+
217
+ @content;
218
+ }
@@ -0,0 +1,11 @@
1
+ @use 'dropdown' as *;
2
+
3
+ $generate-tokens: true !default;
4
+
5
+ @include dropdown-styles;
6
+
7
+ @if $generate-tokens {
8
+ :root {
9
+ @include dropdown-tokens;
10
+ }
11
+ }
@@ -0,0 +1,338 @@
1
+ // Name: Flex
2
+ // Description: Utilities for layouts based on flexbox
3
+ //
4
+ // Component: `uk-flex-*`
5
+ //
6
+ // ========================================================================
7
+
8
+ @use 'sass:map';
9
+ @use 'sass:meta';
10
+
11
+
12
+ // Variables
13
+ // ========================================================================
14
+
15
+ @use '../variables' as *;
16
+ @use '../mixins' as *;
17
+
18
+
19
+ @mixin flex-styles {
20
+ /* ========================================================================
21
+ Component: Flex
22
+ ========================================================================== */
23
+
24
+ .#{$prefix}-flex { display: flex; }
25
+
26
+ .#{$prefix}-flex-inline { display: inline-flex; }
27
+
28
+ /*
29
+ * Remove pseudo elements created by micro clearfix as precaution
30
+ */
31
+
32
+ .#{$prefix}-flex::before,
33
+ .#{$prefix}-flex::after,
34
+ .#{$prefix}-flex-inline::before,
35
+ .#{$prefix}-flex-inline::after { display: none; }
36
+
37
+
38
+ /* Alignment
39
+ ========================================================================== */
40
+
41
+ /*
42
+ * Align items along the main axis of the current line of the flex container
43
+ * Row: Horizontal
44
+ */
45
+
46
+ // Default
47
+ .#{$prefix}-flex-left { justify-content: flex-start; }
48
+
49
+ .#{$prefix}-flex-center { justify-content: center; }
50
+
51
+ .#{$prefix}-flex-right { justify-content: flex-end; }
52
+
53
+ .#{$prefix}-flex-between { justify-content: space-between; }
54
+
55
+ .#{$prefix}-flex-around { justify-content: space-around; }
56
+
57
+
58
+ /* Phone landscape and bigger */
59
+ // noinspection Stylelint
60
+ @media (--media-breakpoint-small) {
61
+ .#{$prefix}-flex-left\@s { justify-content: flex-start; }
62
+
63
+ .#{$prefix}-flex-center\@s { justify-content: center; }
64
+
65
+ .#{$prefix}-flex-right\@s { justify-content: flex-end; }
66
+
67
+ .#{$prefix}-flex-between\@s { justify-content: space-between; }
68
+
69
+ .#{$prefix}-flex-around\@s { justify-content: space-around; }
70
+ }
71
+
72
+ /* Tablet landscape and bigger */
73
+ // noinspection Stylelint
74
+ @media (--media-breakpoint-medium) {
75
+ .#{$prefix}-flex-left\@m { justify-content: flex-start; }
76
+
77
+ .#{$prefix}-flex-center\@m { justify-content: center; }
78
+
79
+ .#{$prefix}-flex-right\@m { justify-content: flex-end; }
80
+
81
+ .#{$prefix}-flex-between\@m { justify-content: space-between; }
82
+
83
+ .#{$prefix}-flex-around\@m { justify-content: space-around; }
84
+ }
85
+
86
+ /* Desktop and bigger */
87
+ // noinspection Stylelint
88
+ @media (--media-breakpoint-large) {
89
+ .#{$prefix}-flex-left\@l { justify-content: flex-start; }
90
+
91
+ .#{$prefix}-flex-center\@l { justify-content: center; }
92
+
93
+ .#{$prefix}-flex-right\@l { justify-content: flex-end; }
94
+
95
+ .#{$prefix}-flex-between\@l { justify-content: space-between; }
96
+
97
+ .#{$prefix}-flex-around\@l { justify-content: space-around; }
98
+ }
99
+
100
+ /* Large screen and bigger */
101
+ // noinspection Stylelint
102
+ @media (--media-breakpoint-xlarge) {
103
+ .#{$prefix}-flex-left\@xl { justify-content: flex-start; }
104
+
105
+ .#{$prefix}-flex-center\@xl { justify-content: center; }
106
+
107
+ .#{$prefix}-flex-right\@xl { justify-content: flex-end; }
108
+
109
+ .#{$prefix}-flex-between\@xl { justify-content: space-between; }
110
+
111
+ .#{$prefix}-flex-around\@xl { justify-content: space-around; }
112
+ }
113
+
114
+ /*
115
+ * Align items in the cross axis of the current line of the flex container
116
+ * Row: Vertical
117
+ */
118
+
119
+ // Default
120
+ .#{$prefix}-flex-stretch { align-items: stretch; }
121
+
122
+ .#{$prefix}-flex-top { align-items: flex-start; }
123
+
124
+ .#{$prefix}-flex-middle { align-items: center; }
125
+
126
+ .#{$prefix}-flex-bottom { align-items: flex-end; }
127
+
128
+
129
+ /* Direction
130
+ ========================================================================== */
131
+
132
+ // Default
133
+ .#{$prefix}-flex-row { flex-direction: row; }
134
+
135
+ .#{$prefix}-flex-row-reverse { flex-direction: row-reverse; }
136
+
137
+ .#{$prefix}-flex-column { flex-direction: column; }
138
+
139
+ .#{$prefix}-flex-column-reverse { flex-direction: column-reverse; }
140
+
141
+
142
+ /* Wrap
143
+ ========================================================================== */
144
+
145
+ // Default
146
+ .#{$prefix}-flex-nowrap { flex-wrap: nowrap; }
147
+
148
+ .#{$prefix}-flex-wrap { flex-wrap: wrap; }
149
+
150
+ .#{$prefix}-flex-wrap-reverse { flex-wrap: wrap-reverse; }
151
+
152
+ /*
153
+ * Aligns items within the flex container when there is extra space in the cross-axis
154
+ * Only works if there is more than one line of flex items
155
+ */
156
+
157
+ // Default
158
+ .#{$prefix}-flex-wrap-stretch { align-content: stretch; }
159
+
160
+ .#{$prefix}-flex-wrap-top { align-content: flex-start; }
161
+
162
+ .#{$prefix}-flex-wrap-middle { align-content: center; }
163
+
164
+ .#{$prefix}-flex-wrap-bottom { align-content: flex-end; }
165
+
166
+ .#{$prefix}-flex-wrap-between { align-content: space-between; }
167
+
168
+ .#{$prefix}-flex-wrap-around { align-content: space-around; }
169
+
170
+
171
+ /* Item ordering
172
+ ========================================================================== */
173
+
174
+ /*
175
+ * Default is 0
176
+ */
177
+
178
+ .#{$prefix}-flex-first { order: -1; }
179
+
180
+ .#{$prefix}-flex-last { order: 99; }
181
+
182
+
183
+ /* Phone landscape and bigger */
184
+ // noinspection Stylelint
185
+ @media (--media-breakpoint-small) {
186
+ .#{$prefix}-flex-first\@s { order: -1; }
187
+
188
+ .#{$prefix}-flex-last\@s { order: 99; }
189
+
190
+ .#{$prefix}-flex-nowrap\@s { flex-wrap: nowrap; }
191
+
192
+ .#{$prefix}-flex-wrap\@s { flex-wrap: wrap; }
193
+
194
+ .#{$prefix}-flex-wrap-reverse\@s { flex-wrap: wrap-reverse; }
195
+
196
+ .#{$prefix}-flex-wrap-stretch\@s { align-content: stretch; }
197
+
198
+ .#{$prefix}-flex-wrap-top\@s { align-content: flex-start; }
199
+
200
+ .#{$prefix}-flex-wrap-middle\@s { align-content: center; }
201
+
202
+ .#{$prefix}-flex-wrap-bottom\@s { align-content: flex-end; }
203
+
204
+ .#{$prefix}-flex-wrap-between\@s { align-content: space-between; }
205
+
206
+ .#{$prefix}-flex-wrap-around\@s { align-content: space-around; }
207
+ }
208
+
209
+ /* Tablet landscape and bigger */
210
+ // noinspection Stylelint
211
+ @media (--media-breakpoint-medium) {
212
+ .#{$prefix}-flex-first\@m { order: -1; }
213
+
214
+ .#{$prefix}-flex-last\@m { order: 99; }
215
+
216
+ .#{$prefix}-flex-nowrap\@m { flex-wrap: nowrap; }
217
+
218
+ .#{$prefix}-flex-wrap\@m { flex-wrap: wrap; }
219
+
220
+ .#{$prefix}-flex-wrap-reverse\@m { flex-wrap: wrap-reverse; }
221
+
222
+ .#{$prefix}-flex-wrap-stretch\@m { align-content: stretch; }
223
+
224
+ .#{$prefix}-flex-wrap-top\@m { align-content: flex-start; }
225
+
226
+ .#{$prefix}-flex-wrap-middle\@m { align-content: center; }
227
+
228
+ .#{$prefix}-flex-wrap-bottom\@m { align-content: flex-end; }
229
+
230
+ .#{$prefix}-flex-wrap-between\@m { align-content: space-between; }
231
+
232
+ .#{$prefix}-flex-wrap-around\@m { align-content: space-around; }
233
+ }
234
+
235
+ /* Desktop and bigger */
236
+ // noinspection Stylelint
237
+ @media (--media-breakpoint-large) {
238
+ .#{$prefix}-flex-first\@l { order: -1; }
239
+
240
+ .#{$prefix}-flex-last\@l { order: 99; }
241
+
242
+ .#{$prefix}-flex-nowrap\@l { flex-wrap: nowrap; }
243
+
244
+ .#{$prefix}-flex-wrap\@l { flex-wrap: wrap; }
245
+
246
+ .#{$prefix}-flex-wrap-reverse\@l { flex-wrap: wrap-reverse; }
247
+
248
+ .#{$prefix}-flex-wrap-stretch\@l { align-content: stretch; }
249
+
250
+ .#{$prefix}-flex-wrap-top\@l { align-content: flex-start; }
251
+
252
+ .#{$prefix}-flex-wrap-middle\@l { align-content: center; }
253
+
254
+ .#{$prefix}-flex-wrap-bottom\@l { align-content: flex-end; }
255
+
256
+ .#{$prefix}-flex-wrap-between\@l { align-content: space-between; }
257
+
258
+ .#{$prefix}-flex-wrap-around\@l { align-content: space-around; }
259
+ }
260
+
261
+ /* Large screen and bigger */
262
+ // noinspection Stylelint
263
+ @media (--media-breakpoint-xlarge) {
264
+ .#{$prefix}-flex-first\@xl { order: -1; }
265
+
266
+ .#{$prefix}-flex-last\@xl { order: 99; }
267
+
268
+ .#{$prefix}-flex-nowrap\@xl { flex-wrap: nowrap; }
269
+
270
+ .#{$prefix}-flex-wrap\@xl { flex-wrap: wrap; }
271
+
272
+ .#{$prefix}-flex-wrap-reverse\@xl { flex-wrap: wrap-reverse; }
273
+
274
+ .#{$prefix}-flex-wrap-stretch\@xl { align-content: stretch; }
275
+
276
+ .#{$prefix}-flex-wrap-top\@xl { align-content: flex-start; }
277
+
278
+ .#{$prefix}-flex-wrap-middle\@xl { align-content: center; }
279
+
280
+ .#{$prefix}-flex-wrap-bottom\@xl { align-content: flex-end; }
281
+
282
+ .#{$prefix}-flex-wrap-between\@xl { align-content: space-between; }
283
+
284
+ .#{$prefix}-flex-wrap-around\@xl { align-content: space-around; }
285
+ }
286
+
287
+
288
+ /* Item dimensions
289
+ ========================================================================== */
290
+
291
+ /*
292
+ * Initial: 0 1 auto
293
+ * Content dimensions, but shrinks
294
+ */
295
+
296
+ /*
297
+ * No Flex: 0 0 auto
298
+ * Content dimensions
299
+ */
300
+
301
+ .#{$prefix}-flex-none { flex: none; }
302
+
303
+ /*
304
+ * Relative Flex: 1 1 auto
305
+ * Space is allocated considering content
306
+ */
307
+
308
+ .#{$prefix}-flex-auto { flex: auto; }
309
+
310
+ /*
311
+ * Absolute Flex: 1 1 0%
312
+ * Space is allocated solely based on flex
313
+ */
314
+
315
+ .#{$prefix}-flex-1 { flex: 1; }
316
+
317
+ /*
318
+ * Fill Flex: 1 0 auto
319
+ */
320
+
321
+ .#{$prefix}-flex-fill { flex: 1 0 auto; }
322
+
323
+
324
+ // Hooks
325
+ // ========================================================================
326
+
327
+ @if map.has-key($mixins, 'hook-flex-misc') {
328
+ @include meta.apply(map.get($mixins, 'hook-flex-misc'));
329
+ }
330
+
331
+
332
+ @content;
333
+ }
334
+
335
+ // No CSS custom properties for this component
336
+ @mixin flex-tokens {
337
+ @content;
338
+ }
@@ -0,0 +1,8 @@
1
+ @use 'flex' as *;
2
+
3
+ $generate-tokens: true !default;
4
+
5
+ @include flex-styles;
6
+
7
+ // No tokens for this component
8
+ // :root { @include flex-tokens; }