zenkit-css 1.0.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 (96) hide show
  1. package/README.md +182 -0
  2. package/dist/zenkit.css +33721 -0
  3. package/dist/zenkit.css.map +1 -0
  4. package/dist/zenkit.min.css +1 -0
  5. package/dist/zenkit.min.css.map +1 -0
  6. package/package.json +41 -0
  7. package/scss/abstracts/_functions.scss +174 -0
  8. package/scss/abstracts/_mixins.scss +272 -0
  9. package/scss/abstracts/_variables.scss +216 -0
  10. package/scss/base/_reset.scss +130 -0
  11. package/scss/base/_root.scss +194 -0
  12. package/scss/base/_typography.scss +271 -0
  13. package/scss/components/_accordion.scss +200 -0
  14. package/scss/components/_affix.scss +278 -0
  15. package/scss/components/_alerts.scss +175 -0
  16. package/scss/components/_anchor.scss +438 -0
  17. package/scss/components/_autocomplete.scss +530 -0
  18. package/scss/components/_avatar.scss +256 -0
  19. package/scss/components/_backtop.scss +329 -0
  20. package/scss/components/_badges.scss +266 -0
  21. package/scss/components/_breadcrumb.scss +102 -0
  22. package/scss/components/_buttons.scss +340 -0
  23. package/scss/components/_calendar.scss +787 -0
  24. package/scss/components/_cards.scss +265 -0
  25. package/scss/components/_carousel.scss +306 -0
  26. package/scss/components/_cascader.scss +510 -0
  27. package/scss/components/_close-button.scss +106 -0
  28. package/scss/components/_colorpicker.scss +593 -0
  29. package/scss/components/_datepicker.scss +625 -0
  30. package/scss/components/_descriptions.scss +453 -0
  31. package/scss/components/_divider.scss +253 -0
  32. package/scss/components/_drawer.scss +485 -0
  33. package/scss/components/_dropdown.scss +323 -0
  34. package/scss/components/_empty.scss +321 -0
  35. package/scss/components/_floatbutton.scss +400 -0
  36. package/scss/components/_forms.scss +753 -0
  37. package/scss/components/_image.scss +497 -0
  38. package/scss/components/_inputnumber.scss +475 -0
  39. package/scss/components/_layout.scss +538 -0
  40. package/scss/components/_list-group.scss +227 -0
  41. package/scss/components/_list.scss +528 -0
  42. package/scss/components/_mentions.scss +479 -0
  43. package/scss/components/_menu.scss +510 -0
  44. package/scss/components/_message.scss +412 -0
  45. package/scss/components/_modal.scss +304 -0
  46. package/scss/components/_navbar.scss +329 -0
  47. package/scss/components/_notification.scss +499 -0
  48. package/scss/components/_offcanvas.scss +274 -0
  49. package/scss/components/_pagination.scss +176 -0
  50. package/scss/components/_placeholder.scss +237 -0
  51. package/scss/components/_popconfirm.scss +393 -0
  52. package/scss/components/_popover.scss +298 -0
  53. package/scss/components/_progress.scss +225 -0
  54. package/scss/components/_rating.scss +314 -0
  55. package/scss/components/_result.scss +383 -0
  56. package/scss/components/_segmented.scss +441 -0
  57. package/scss/components/_select.scss +412 -0
  58. package/scss/components/_spinners.scss +229 -0
  59. package/scss/components/_statistic.scss +336 -0
  60. package/scss/components/_steps.scss +343 -0
  61. package/scss/components/_tabs.scss +239 -0
  62. package/scss/components/_tag.scss +317 -0
  63. package/scss/components/_timeline.scss +341 -0
  64. package/scss/components/_timepicker.scss +468 -0
  65. package/scss/components/_toast.scss +279 -0
  66. package/scss/components/_tooltip.scss +305 -0
  67. package/scss/components/_tour.scss +488 -0
  68. package/scss/components/_transfer.scss +556 -0
  69. package/scss/components/_tree.scss +518 -0
  70. package/scss/components/_treeselect.scss +531 -0
  71. package/scss/components/_upload.scss +510 -0
  72. package/scss/components/_watermark.scss +314 -0
  73. package/scss/content/_figures.scss +38 -0
  74. package/scss/content/_images.scss +138 -0
  75. package/scss/content/_tables.scss +232 -0
  76. package/scss/layout/_container.scss +71 -0
  77. package/scss/layout/_grid.scss +258 -0
  78. package/scss/utilities/_animations.scss +494 -0
  79. package/scss/utilities/_borders.scss +246 -0
  80. package/scss/utilities/_colors.scss +194 -0
  81. package/scss/utilities/_display.scss +263 -0
  82. package/scss/utilities/_filters.scss +328 -0
  83. package/scss/utilities/_flex.scss +178 -0
  84. package/scss/utilities/_float.scss +70 -0
  85. package/scss/utilities/_grid-utils.scss +151 -0
  86. package/scss/utilities/_helpers.scss +479 -0
  87. package/scss/utilities/_interactions.scss +249 -0
  88. package/scss/utilities/_overflow.scss +204 -0
  89. package/scss/utilities/_position.scss +245 -0
  90. package/scss/utilities/_shadows.scss +67 -0
  91. package/scss/utilities/_sizing.scss +217 -0
  92. package/scss/utilities/_spacing.scss +207 -0
  93. package/scss/utilities/_text.scss +237 -0
  94. package/scss/utilities/_transforms.scss +368 -0
  95. package/scss/utilities/_visibility.scss +251 -0
  96. package/scss/zenkit.scss +121 -0
@@ -0,0 +1,328 @@
1
+ // ========================================
2
+ // ZenKit - Filter Utilities
3
+ // Brightness, contrast, saturate, blur, and other filter utilities
4
+ // ========================================
5
+
6
+ @use '../abstracts/variables' as *;
7
+
8
+ // ----------------------------------------
9
+ // Blur
10
+ // ----------------------------------------
11
+ .blur-none { filter: blur(0); }
12
+ .blur-sm { filter: blur(4px); }
13
+ .blur { filter: blur(8px); }
14
+ .blur-md { filter: blur(12px); }
15
+ .blur-lg { filter: blur(16px); }
16
+ .blur-xl { filter: blur(24px); }
17
+ .blur-2xl { filter: blur(40px); }
18
+ .blur-3xl { filter: blur(64px); }
19
+
20
+ // ----------------------------------------
21
+ // Brightness
22
+ // ----------------------------------------
23
+ .brightness-0 { filter: brightness(0); }
24
+ .brightness-50 { filter: brightness(0.5); }
25
+ .brightness-75 { filter: brightness(0.75); }
26
+ .brightness-90 { filter: brightness(0.9); }
27
+ .brightness-95 { filter: brightness(0.95); }
28
+ .brightness-100 { filter: brightness(1); }
29
+ .brightness-105 { filter: brightness(1.05); }
30
+ .brightness-110 { filter: brightness(1.1); }
31
+ .brightness-125 { filter: brightness(1.25); }
32
+ .brightness-150 { filter: brightness(1.5); }
33
+ .brightness-200 { filter: brightness(2); }
34
+
35
+ // ----------------------------------------
36
+ // Contrast
37
+ // ----------------------------------------
38
+ .contrast-0 { filter: contrast(0); }
39
+ .contrast-50 { filter: contrast(0.5); }
40
+ .contrast-75 { filter: contrast(0.75); }
41
+ .contrast-100 { filter: contrast(1); }
42
+ .contrast-125 { filter: contrast(1.25); }
43
+ .contrast-150 { filter: contrast(1.5); }
44
+ .contrast-200 { filter: contrast(2); }
45
+
46
+ // ----------------------------------------
47
+ // Grayscale
48
+ // ----------------------------------------
49
+ .grayscale-0 { filter: grayscale(0); }
50
+ .grayscale { filter: grayscale(100%); }
51
+ .grayscale-25 { filter: grayscale(25%); }
52
+ .grayscale-50 { filter: grayscale(50%); }
53
+ .grayscale-75 { filter: grayscale(75%); }
54
+
55
+ // ----------------------------------------
56
+ // Hue Rotate
57
+ // ----------------------------------------
58
+ .hue-rotate-0 { filter: hue-rotate(0deg); }
59
+ .hue-rotate-15 { filter: hue-rotate(15deg); }
60
+ .hue-rotate-30 { filter: hue-rotate(30deg); }
61
+ .hue-rotate-60 { filter: hue-rotate(60deg); }
62
+ .hue-rotate-90 { filter: hue-rotate(90deg); }
63
+ .hue-rotate-180 { filter: hue-rotate(180deg); }
64
+
65
+ .-hue-rotate-15 { filter: hue-rotate(-15deg); }
66
+ .-hue-rotate-30 { filter: hue-rotate(-30deg); }
67
+ .-hue-rotate-60 { filter: hue-rotate(-60deg); }
68
+ .-hue-rotate-90 { filter: hue-rotate(-90deg); }
69
+ .-hue-rotate-180 { filter: hue-rotate(-180deg); }
70
+
71
+ // ----------------------------------------
72
+ // Invert
73
+ // ----------------------------------------
74
+ .invert-0 { filter: invert(0); }
75
+ .invert { filter: invert(100%); }
76
+ .invert-25 { filter: invert(25%); }
77
+ .invert-50 { filter: invert(50%); }
78
+ .invert-75 { filter: invert(75%); }
79
+
80
+ // ----------------------------------------
81
+ // Saturate
82
+ // ----------------------------------------
83
+ .saturate-0 { filter: saturate(0); }
84
+ .saturate-50 { filter: saturate(0.5); }
85
+ .saturate-100 { filter: saturate(1); }
86
+ .saturate-150 { filter: saturate(1.5); }
87
+ .saturate-200 { filter: saturate(2); }
88
+
89
+ // ----------------------------------------
90
+ // Sepia
91
+ // ----------------------------------------
92
+ .sepia-0 { filter: sepia(0); }
93
+ .sepia { filter: sepia(100%); }
94
+ .sepia-25 { filter: sepia(25%); }
95
+ .sepia-50 { filter: sepia(50%); }
96
+ .sepia-75 { filter: sepia(75%); }
97
+
98
+ // ----------------------------------------
99
+ // Drop Shadow
100
+ // ----------------------------------------
101
+ .drop-shadow-none { filter: drop-shadow(0 0 0 transparent); }
102
+ .drop-shadow-sm { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05)); }
103
+ .drop-shadow { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06)); }
104
+ .drop-shadow-md { filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06)); }
105
+ .drop-shadow-lg { filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)); }
106
+ .drop-shadow-xl { filter: drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08)); }
107
+ .drop-shadow-2xl { filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15)); }
108
+
109
+ // Colored drop shadows
110
+ .drop-shadow-primary { filter: drop-shadow(0 4px 6px rgba(var(--primary-rgb), 0.25)); }
111
+ .drop-shadow-success { filter: drop-shadow(0 4px 6px rgba(var(--success-rgb), 0.25)); }
112
+ .drop-shadow-warning { filter: drop-shadow(0 4px 6px rgba(var(--warning-rgb), 0.25)); }
113
+ .drop-shadow-danger { filter: drop-shadow(0 4px 6px rgba(var(--danger-rgb), 0.25)); }
114
+ .drop-shadow-info { filter: drop-shadow(0 4px 6px rgba(var(--info-rgb), 0.25)); }
115
+
116
+ // ----------------------------------------
117
+ // Filter None
118
+ // ----------------------------------------
119
+ .filter-none { filter: none; }
120
+
121
+ // ----------------------------------------
122
+ // Backdrop Blur
123
+ // ----------------------------------------
124
+ .backdrop-blur-none { backdrop-filter: blur(0); }
125
+ .backdrop-blur-sm { backdrop-filter: blur(4px); }
126
+ .backdrop-blur { backdrop-filter: blur(8px); }
127
+ .backdrop-blur-md { backdrop-filter: blur(12px); }
128
+ .backdrop-blur-lg { backdrop-filter: blur(16px); }
129
+ .backdrop-blur-xl { backdrop-filter: blur(24px); }
130
+ .backdrop-blur-2xl { backdrop-filter: blur(40px); }
131
+ .backdrop-blur-3xl { backdrop-filter: blur(64px); }
132
+
133
+ // ----------------------------------------
134
+ // Backdrop Brightness
135
+ // ----------------------------------------
136
+ .backdrop-brightness-0 { backdrop-filter: brightness(0); }
137
+ .backdrop-brightness-50 { backdrop-filter: brightness(0.5); }
138
+ .backdrop-brightness-75 { backdrop-filter: brightness(0.75); }
139
+ .backdrop-brightness-90 { backdrop-filter: brightness(0.9); }
140
+ .backdrop-brightness-95 { backdrop-filter: brightness(0.95); }
141
+ .backdrop-brightness-100 { backdrop-filter: brightness(1); }
142
+ .backdrop-brightness-105 { backdrop-filter: brightness(1.05); }
143
+ .backdrop-brightness-110 { backdrop-filter: brightness(1.1); }
144
+ .backdrop-brightness-125 { backdrop-filter: brightness(1.25); }
145
+ .backdrop-brightness-150 { backdrop-filter: brightness(1.5); }
146
+ .backdrop-brightness-200 { backdrop-filter: brightness(2); }
147
+
148
+ // ----------------------------------------
149
+ // Backdrop Contrast
150
+ // ----------------------------------------
151
+ .backdrop-contrast-0 { backdrop-filter: contrast(0); }
152
+ .backdrop-contrast-50 { backdrop-filter: contrast(0.5); }
153
+ .backdrop-contrast-75 { backdrop-filter: contrast(0.75); }
154
+ .backdrop-contrast-100 { backdrop-filter: contrast(1); }
155
+ .backdrop-contrast-125 { backdrop-filter: contrast(1.25); }
156
+ .backdrop-contrast-150 { backdrop-filter: contrast(1.5); }
157
+ .backdrop-contrast-200 { backdrop-filter: contrast(2); }
158
+
159
+ // ----------------------------------------
160
+ // Backdrop Grayscale
161
+ // ----------------------------------------
162
+ .backdrop-grayscale-0 { backdrop-filter: grayscale(0); }
163
+ .backdrop-grayscale { backdrop-filter: grayscale(100%); }
164
+
165
+ // ----------------------------------------
166
+ // Backdrop Hue Rotate
167
+ // ----------------------------------------
168
+ .backdrop-hue-rotate-0 { backdrop-filter: hue-rotate(0deg); }
169
+ .backdrop-hue-rotate-15 { backdrop-filter: hue-rotate(15deg); }
170
+ .backdrop-hue-rotate-30 { backdrop-filter: hue-rotate(30deg); }
171
+ .backdrop-hue-rotate-60 { backdrop-filter: hue-rotate(60deg); }
172
+ .backdrop-hue-rotate-90 { backdrop-filter: hue-rotate(90deg); }
173
+ .backdrop-hue-rotate-180 { backdrop-filter: hue-rotate(180deg); }
174
+
175
+ // ----------------------------------------
176
+ // Backdrop Invert
177
+ // ----------------------------------------
178
+ .backdrop-invert-0 { backdrop-filter: invert(0); }
179
+ .backdrop-invert { backdrop-filter: invert(100%); }
180
+
181
+ // ----------------------------------------
182
+ // Backdrop Opacity
183
+ // ----------------------------------------
184
+ .backdrop-opacity-0 { backdrop-filter: opacity(0); }
185
+ .backdrop-opacity-5 { backdrop-filter: opacity(0.05); }
186
+ .backdrop-opacity-10 { backdrop-filter: opacity(0.1); }
187
+ .backdrop-opacity-25 { backdrop-filter: opacity(0.25); }
188
+ .backdrop-opacity-50 { backdrop-filter: opacity(0.5); }
189
+ .backdrop-opacity-75 { backdrop-filter: opacity(0.75); }
190
+ .backdrop-opacity-100 { backdrop-filter: opacity(1); }
191
+
192
+ // ----------------------------------------
193
+ // Backdrop Saturate
194
+ // ----------------------------------------
195
+ .backdrop-saturate-0 { backdrop-filter: saturate(0); }
196
+ .backdrop-saturate-50 { backdrop-filter: saturate(0.5); }
197
+ .backdrop-saturate-100 { backdrop-filter: saturate(1); }
198
+ .backdrop-saturate-150 { backdrop-filter: saturate(1.5); }
199
+ .backdrop-saturate-200 { backdrop-filter: saturate(2); }
200
+
201
+ // ----------------------------------------
202
+ // Backdrop Sepia
203
+ // ----------------------------------------
204
+ .backdrop-sepia-0 { backdrop-filter: sepia(0); }
205
+ .backdrop-sepia { backdrop-filter: sepia(100%); }
206
+
207
+ // ----------------------------------------
208
+ // Backdrop Filter None
209
+ // ----------------------------------------
210
+ .backdrop-filter-none { backdrop-filter: none; }
211
+
212
+ // ----------------------------------------
213
+ // Hover Filter Utilities
214
+ // ----------------------------------------
215
+ .hover\:brightness-110:hover { filter: brightness(1.1); }
216
+ .hover\:brightness-125:hover { filter: brightness(1.25); }
217
+ .hover\:brightness-90:hover { filter: brightness(0.9); }
218
+ .hover\:brightness-75:hover { filter: brightness(0.75); }
219
+ .hover\:contrast-125:hover { filter: contrast(1.25); }
220
+ .hover\:saturate-150:hover { filter: saturate(1.5); }
221
+ .hover\:saturate-200:hover { filter: saturate(2); }
222
+ .hover\:grayscale-0:hover { filter: grayscale(0); }
223
+ .hover\:grayscale:hover { filter: grayscale(100%); }
224
+ .hover\:blur-none:hover { filter: blur(0); }
225
+
226
+ // ----------------------------------------
227
+ // Group Hover Filters
228
+ // ----------------------------------------
229
+ .group:hover .group-hover\:brightness-110 { filter: brightness(1.1); }
230
+ .group:hover .group-hover\:saturate-150 { filter: saturate(1.5); }
231
+ .group:hover .group-hover\:grayscale-0 { filter: grayscale(0); }
232
+
233
+ // ----------------------------------------
234
+ // Filter Combinations (Common Presets)
235
+ // ----------------------------------------
236
+ .filter-vintage {
237
+ filter: sepia(50%) contrast(95%) brightness(90%) saturate(150%);
238
+ }
239
+
240
+ .filter-cool {
241
+ filter: hue-rotate(180deg) saturate(80%) brightness(105%);
242
+ }
243
+
244
+ .filter-warm {
245
+ filter: sepia(20%) saturate(140%) brightness(105%) hue-rotate(-10deg);
246
+ }
247
+
248
+ .filter-dramatic {
249
+ filter: contrast(150%) saturate(120%) brightness(90%);
250
+ }
251
+
252
+ .filter-muted {
253
+ filter: saturate(50%) brightness(95%) contrast(95%);
254
+ }
255
+
256
+ .filter-noir {
257
+ filter: grayscale(100%) contrast(120%) brightness(90%);
258
+ }
259
+
260
+ .filter-vivid {
261
+ filter: saturate(200%) contrast(110%) brightness(105%);
262
+ }
263
+
264
+ .filter-faded {
265
+ filter: saturate(80%) brightness(110%) contrast(90%);
266
+ }
267
+
268
+ // ----------------------------------------
269
+ // Glassmorphism Helper
270
+ // ----------------------------------------
271
+ .glass {
272
+ background: rgba(255, 255, 255, 0.1);
273
+ backdrop-filter: blur(10px) saturate(180%);
274
+ border: 1px solid rgba(255, 255, 255, 0.2);
275
+ }
276
+
277
+ .glass-dark {
278
+ background: rgba(0, 0, 0, 0.2);
279
+ backdrop-filter: blur(10px) saturate(180%);
280
+ border: 1px solid rgba(255, 255, 255, 0.1);
281
+ }
282
+
283
+ .glass-strong {
284
+ background: rgba(255, 255, 255, 0.25);
285
+ backdrop-filter: blur(20px) saturate(200%);
286
+ border: 1px solid rgba(255, 255, 255, 0.3);
287
+ }
288
+
289
+ // ----------------------------------------
290
+ // Responsive Filters
291
+ // ----------------------------------------
292
+ @media (min-width: 576px) {
293
+ .sm\:blur-none { filter: blur(0); }
294
+ .sm\:blur { filter: blur(8px); }
295
+ .sm\:grayscale-0 { filter: grayscale(0); }
296
+ .sm\:grayscale { filter: grayscale(100%); }
297
+ }
298
+
299
+ @media (min-width: 768px) {
300
+ .md\:blur-none { filter: blur(0); }
301
+ .md\:blur { filter: blur(8px); }
302
+ .md\:grayscale-0 { filter: grayscale(0); }
303
+ .md\:grayscale { filter: grayscale(100%); }
304
+ }
305
+
306
+ @media (min-width: 992px) {
307
+ .lg\:blur-none { filter: blur(0); }
308
+ .lg\:blur { filter: blur(8px); }
309
+ .lg\:grayscale-0 { filter: grayscale(0); }
310
+ .lg\:grayscale { filter: grayscale(100%); }
311
+ }
312
+
313
+ @media (min-width: 1200px) {
314
+ .xl\:blur-none { filter: blur(0); }
315
+ .xl\:blur { filter: blur(8px); }
316
+ .xl\:grayscale-0 { filter: grayscale(0); }
317
+ .xl\:grayscale { filter: grayscale(100%); }
318
+ }
319
+
320
+ // ----------------------------------------
321
+ // Motion Reduce
322
+ // ----------------------------------------
323
+ @media (prefers-reduced-motion: reduce) {
324
+ .motion-reduce\:filter-none {
325
+ filter: none !important;
326
+ backdrop-filter: none !important;
327
+ }
328
+ }
@@ -0,0 +1,178 @@
1
+ // ========================================
2
+ // ZenKit - Flexbox Utilities
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+ @use '../abstracts/mixins' as *;
7
+
8
+ // ----------------------------------------
9
+ // Flex Direction
10
+ // ----------------------------------------
11
+ .flex-row { flex-direction: row; }
12
+ .flex-row-reverse { flex-direction: row-reverse; }
13
+ .flex-col { flex-direction: column; }
14
+ .flex-col-reverse { flex-direction: column-reverse; }
15
+
16
+ // ----------------------------------------
17
+ // Flex Wrap
18
+ // ----------------------------------------
19
+ .flex-wrap { flex-wrap: wrap; }
20
+ .flex-wrap-reverse { flex-wrap: wrap-reverse; }
21
+ .flex-nowrap { flex-wrap: nowrap; }
22
+
23
+ // ----------------------------------------
24
+ // Justify Content
25
+ // ----------------------------------------
26
+ .justify-start { justify-content: flex-start; }
27
+ .justify-end { justify-content: flex-end; }
28
+ .justify-center { justify-content: center; }
29
+ .justify-between { justify-content: space-between; }
30
+ .justify-around { justify-content: space-around; }
31
+ .justify-evenly { justify-content: space-evenly; }
32
+
33
+ // ----------------------------------------
34
+ // Align Items
35
+ // ----------------------------------------
36
+ .items-start { align-items: flex-start; }
37
+ .items-end { align-items: flex-end; }
38
+ .items-center { align-items: center; }
39
+ .items-baseline { align-items: baseline; }
40
+ .items-stretch { align-items: stretch; }
41
+
42
+ // ----------------------------------------
43
+ // Align Content
44
+ // ----------------------------------------
45
+ .content-start { align-content: flex-start; }
46
+ .content-end { align-content: flex-end; }
47
+ .content-center { align-content: center; }
48
+ .content-between { align-content: space-between; }
49
+ .content-around { align-content: space-around; }
50
+ .content-evenly { align-content: space-evenly; }
51
+ .content-stretch { align-content: stretch; }
52
+
53
+ // ----------------------------------------
54
+ // Align Self
55
+ // ----------------------------------------
56
+ .self-auto { align-self: auto; }
57
+ .self-start { align-self: flex-start; }
58
+ .self-end { align-self: flex-end; }
59
+ .self-center { align-self: center; }
60
+ .self-baseline { align-self: baseline; }
61
+ .self-stretch { align-self: stretch; }
62
+
63
+ // ----------------------------------------
64
+ // Flex
65
+ // ----------------------------------------
66
+ .flex-1 { flex: 1 1 0%; }
67
+ .flex-auto { flex: 1 1 auto; }
68
+ .flex-initial { flex: 0 1 auto; }
69
+ .flex-none { flex: none; }
70
+
71
+ // ----------------------------------------
72
+ // Flex Grow
73
+ // ----------------------------------------
74
+ .flex-grow { flex-grow: 1; }
75
+ .flex-grow-0 { flex-grow: 0; }
76
+
77
+ // ----------------------------------------
78
+ // Flex Shrink
79
+ // ----------------------------------------
80
+ .flex-shrink { flex-shrink: 1; }
81
+ .flex-shrink-0 { flex-shrink: 0; }
82
+
83
+ // ----------------------------------------
84
+ // Flex Basis
85
+ // ----------------------------------------
86
+ .basis-auto { flex-basis: auto; }
87
+ .basis-0 { flex-basis: 0%; }
88
+ .basis-full { flex-basis: 100%; }
89
+ .basis-1\/2 { flex-basis: 50%; }
90
+ .basis-1\/3 { flex-basis: 33.333333%; }
91
+ .basis-2\/3 { flex-basis: 66.666667%; }
92
+ .basis-1\/4 { flex-basis: 25%; }
93
+ .basis-3\/4 { flex-basis: 75%; }
94
+
95
+ // ----------------------------------------
96
+ // Place Content
97
+ // ----------------------------------------
98
+ .place-content-center { place-content: center; }
99
+ .place-content-start { place-content: start; }
100
+ .place-content-end { place-content: end; }
101
+ .place-content-between { place-content: space-between; }
102
+ .place-content-around { place-content: space-around; }
103
+ .place-content-evenly { place-content: space-evenly; }
104
+ .place-content-stretch { place-content: stretch; }
105
+
106
+ // ----------------------------------------
107
+ // Place Items
108
+ // ----------------------------------------
109
+ .place-items-center { place-items: center; }
110
+ .place-items-start { place-items: start; }
111
+ .place-items-end { place-items: end; }
112
+ .place-items-stretch { place-items: stretch; }
113
+
114
+ // ----------------------------------------
115
+ // Responsive Flexbox
116
+ // ----------------------------------------
117
+ @include sm {
118
+ .sm\:flex-row { flex-direction: row; }
119
+ .sm\:flex-row-reverse { flex-direction: row-reverse; }
120
+ .sm\:flex-col { flex-direction: column; }
121
+ .sm\:flex-col-reverse { flex-direction: column-reverse; }
122
+ .sm\:flex-wrap { flex-wrap: wrap; }
123
+ .sm\:flex-nowrap { flex-wrap: nowrap; }
124
+ .sm\:justify-start { justify-content: flex-start; }
125
+ .sm\:justify-end { justify-content: flex-end; }
126
+ .sm\:justify-center { justify-content: center; }
127
+ .sm\:justify-between { justify-content: space-between; }
128
+ .sm\:items-start { align-items: flex-start; }
129
+ .sm\:items-end { align-items: flex-end; }
130
+ .sm\:items-center { align-items: center; }
131
+ .sm\:items-stretch { align-items: stretch; }
132
+ }
133
+
134
+ @include md {
135
+ .md\:flex-row { flex-direction: row; }
136
+ .md\:flex-row-reverse { flex-direction: row-reverse; }
137
+ .md\:flex-col { flex-direction: column; }
138
+ .md\:flex-col-reverse { flex-direction: column-reverse; }
139
+ .md\:flex-wrap { flex-wrap: wrap; }
140
+ .md\:flex-nowrap { flex-wrap: nowrap; }
141
+ .md\:justify-start { justify-content: flex-start; }
142
+ .md\:justify-end { justify-content: flex-end; }
143
+ .md\:justify-center { justify-content: center; }
144
+ .md\:justify-between { justify-content: space-between; }
145
+ .md\:items-start { align-items: flex-start; }
146
+ .md\:items-end { align-items: flex-end; }
147
+ .md\:items-center { align-items: center; }
148
+ .md\:items-stretch { align-items: stretch; }
149
+ }
150
+
151
+ @include lg {
152
+ .lg\:flex-row { flex-direction: row; }
153
+ .lg\:flex-row-reverse { flex-direction: row-reverse; }
154
+ .lg\:flex-col { flex-direction: column; }
155
+ .lg\:flex-col-reverse { flex-direction: column-reverse; }
156
+ .lg\:flex-wrap { flex-wrap: wrap; }
157
+ .lg\:flex-nowrap { flex-wrap: nowrap; }
158
+ .lg\:justify-start { justify-content: flex-start; }
159
+ .lg\:justify-end { justify-content: flex-end; }
160
+ .lg\:justify-center { justify-content: center; }
161
+ .lg\:justify-between { justify-content: space-between; }
162
+ .lg\:items-start { align-items: flex-start; }
163
+ .lg\:items-end { align-items: flex-end; }
164
+ .lg\:items-center { align-items: center; }
165
+ .lg\:items-stretch { align-items: stretch; }
166
+ }
167
+
168
+ @include xl {
169
+ .xl\:flex-row { flex-direction: row; }
170
+ .xl\:flex-col { flex-direction: column; }
171
+ .xl\:justify-start { justify-content: flex-start; }
172
+ .xl\:justify-end { justify-content: flex-end; }
173
+ .xl\:justify-center { justify-content: center; }
174
+ .xl\:justify-between { justify-content: space-between; }
175
+ .xl\:items-start { align-items: flex-start; }
176
+ .xl\:items-end { align-items: flex-end; }
177
+ .xl\:items-center { align-items: center; }
178
+ }
@@ -0,0 +1,70 @@
1
+ // ========================================
2
+ // ZenKit - Float Utilities
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+
7
+ // ----------------------------------------
8
+ // Float
9
+ // ----------------------------------------
10
+ .float-start { float: left; }
11
+ .float-end { float: right; }
12
+ .float-none { float: none; }
13
+
14
+ // Legacy naming
15
+ .float-left { float: left; }
16
+ .float-right { float: right; }
17
+
18
+ // ----------------------------------------
19
+ // Clear
20
+ // ----------------------------------------
21
+ .clear-start { clear: left; }
22
+ .clear-end { clear: right; }
23
+ .clear-both { clear: both; }
24
+ .clear-none { clear: none; }
25
+
26
+ // Legacy naming
27
+ .clear-left { clear: left; }
28
+ .clear-right { clear: right; }
29
+
30
+ // ----------------------------------------
31
+ // Clearfix
32
+ // ----------------------------------------
33
+ .clearfix::after {
34
+ display: block;
35
+ clear: both;
36
+ content: "";
37
+ }
38
+
39
+ // ----------------------------------------
40
+ // Responsive Float Utilities
41
+ // ----------------------------------------
42
+ @media (min-width: 576px) {
43
+ .sm\:float-start { float: left; }
44
+ .sm\:float-end { float: right; }
45
+ .sm\:float-none { float: none; }
46
+ }
47
+
48
+ @media (min-width: 768px) {
49
+ .md\:float-start { float: left; }
50
+ .md\:float-end { float: right; }
51
+ .md\:float-none { float: none; }
52
+ }
53
+
54
+ @media (min-width: 1024px) {
55
+ .lg\:float-start { float: left; }
56
+ .lg\:float-end { float: right; }
57
+ .lg\:float-none { float: none; }
58
+ }
59
+
60
+ @media (min-width: 1280px) {
61
+ .xl\:float-start { float: left; }
62
+ .xl\:float-end { float: right; }
63
+ .xl\:float-none { float: none; }
64
+ }
65
+
66
+ @media (min-width: 1536px) {
67
+ .xxl\:float-start { float: left; }
68
+ .xxl\:float-end { float: right; }
69
+ .xxl\:float-none { float: none; }
70
+ }