fluxgrid-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.
@@ -0,0 +1,411 @@
1
+ input,
2
+ textarea,
3
+ select,
4
+ button,
5
+ [type="button"],
6
+ [type="reset"],
7
+ [type="submit"] {
8
+ font: inherit;
9
+ color: inherit;
10
+ background: transparent;
11
+ border: none;
12
+ outline: none;
13
+ padding: 0;
14
+ margin: 0;
15
+ }
16
+
17
+ input[type="search"]::-webkit-search-decoration,
18
+ input[type="search"]::-webkit-search-cancel-button,
19
+ input[type="search"]::-webkit-search-results-button,
20
+ input[type="search"]::-webkit-search-results-decoration {
21
+ -webkit-appearance: none;
22
+ }
23
+
24
+ input::-webkit-outer-spin-button,
25
+ input::-webkit-inner-spin-button {
26
+ -webkit-appearance: none;
27
+ margin: 0;
28
+ }
29
+
30
+ input[type="number"] {
31
+ -moz-appearance: textfield;
32
+ }
33
+
34
+ input[type="checkbox"],
35
+ input[type="radio"] {
36
+ appearance: none;
37
+ -webkit-appearance: none;
38
+ display: inline-block;
39
+ width: 16px;
40
+ height: 16px;
41
+ border: 2px solid var(--c-gray-300);
42
+ vertical-align: middle;
43
+ cursor: pointer;
44
+ flex-shrink: 0;
45
+ }
46
+
47
+ input[type="checkbox"] {
48
+ border-radius: 4px;
49
+ }
50
+
51
+ input[type="radio"] {
52
+ border-radius: 9999px;
53
+ }
54
+
55
+ input[type="checkbox"]:checked,
56
+ input[type="radio"]:checked {
57
+ background-color: var(--c-primary-500);
58
+ border-color: var(--c-primary-500);
59
+ }
60
+
61
+ input[type="checkbox"]:checked::after {
62
+ content: "";
63
+ display: block;
64
+ width: 4px;
65
+ height: 8px;
66
+ border: 2px solid white;
67
+ border-top: none;
68
+ border-left: none;
69
+ transform: rotate(45deg) translate(1px, -1px);
70
+ margin: auto;
71
+ }
72
+
73
+ input[type="radio"]:checked::after {
74
+ content: "";
75
+ display: block;
76
+ width: 6px;
77
+ height: 6px;
78
+ border-radius: 9999px;
79
+ background: white;
80
+ margin: auto;
81
+ margin-top: 3px;
82
+ }
83
+
84
+ input[type="range"] {
85
+ appearance: none;
86
+ -webkit-appearance: none;
87
+ width: 100%;
88
+ height: 6px;
89
+ border-radius: 9999px;
90
+ background: var(--c-gray-200);
91
+ cursor: pointer;
92
+ }
93
+
94
+ input[type="range"]::-webkit-slider-thumb {
95
+ -webkit-appearance: none;
96
+ width: 18px;
97
+ height: 18px;
98
+ border-radius: 9999px;
99
+ background: var(--c-primary-500);
100
+ cursor: pointer;
101
+ box-shadow: var(--c-shadow-sm);
102
+ }
103
+
104
+ input[type="range"]::-moz-range-thumb {
105
+ width: 18px;
106
+ height: 18px;
107
+ border-radius: 9999px;
108
+ background: var(--c-primary-500);
109
+ cursor: pointer;
110
+ border: none;
111
+ }
112
+
113
+ .c-input {
114
+ display: block;
115
+ width: 100%;
116
+ padding: 10px 14px;
117
+ border: 1px solid var(--c-gray-300);
118
+ border-radius: 8px;
119
+ background: var(--c-white);
120
+ color: var(--c-gray-900);
121
+ font-size: 0.875rem;
122
+ line-height: 1.5;
123
+ transition:
124
+ border-color 200ms,
125
+ box-shadow 200ms;
126
+ }
127
+
128
+ .c-input:focus {
129
+ border-color: var(--c-primary-500);
130
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
131
+ outline: none;
132
+ }
133
+
134
+ .c-input::placeholder {
135
+ color: var(--c-gray-400);
136
+ }
137
+
138
+ .c-input:disabled {
139
+ opacity: 0.5;
140
+ cursor: not-allowed;
141
+ background: var(--c-gray-50);
142
+ }
143
+
144
+ .c-input-sm {
145
+ padding: 6px 10px;
146
+ font-size: 0.75rem;
147
+ border-radius: 6px;
148
+ }
149
+ .c-input-lg {
150
+ padding: 14px 18px;
151
+ font-size: 1rem;
152
+ border-radius: 10px;
153
+ }
154
+
155
+ .c-input-error {
156
+ border-color: var(--c-error-500);
157
+ }
158
+ .c-input-error:focus {
159
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
160
+ }
161
+
162
+ .c-input-success {
163
+ border-color: var(--c-success-500);
164
+ }
165
+ .c-input-success:focus {
166
+ box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15);
167
+ }
168
+
169
+ .c-textarea {
170
+ display: block;
171
+ width: 100%;
172
+ padding: 10px 14px;
173
+ border: 1px solid var(--c-gray-300);
174
+ border-radius: 8px;
175
+ background: var(--c-white);
176
+ color: var(--c-gray-900);
177
+ font-size: 0.875rem;
178
+ line-height: 1.5;
179
+ resize: vertical;
180
+ min-height: 80px;
181
+ transition:
182
+ border-color 200ms,
183
+ box-shadow 200ms;
184
+ }
185
+
186
+ .c-textarea:focus {
187
+ border-color: var(--c-primary-500);
188
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
189
+ outline: none;
190
+ }
191
+
192
+ .c-select {
193
+ display: block;
194
+ width: 100%;
195
+ padding: 10px 36px 10px 14px;
196
+ border: 1px solid var(--c-gray-300);
197
+ border-radius: 8px;
198
+ background: var(--c-white)
199
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")
200
+ no-repeat right 10px center;
201
+ background-size: 20px;
202
+ color: var(--c-gray-900);
203
+ font-size: 0.875rem;
204
+ line-height: 1.5;
205
+ cursor: pointer;
206
+ appearance: none;
207
+ -webkit-appearance: none;
208
+ transition:
209
+ border-color 200ms,
210
+ box-shadow 200ms;
211
+ }
212
+
213
+ .c-select:focus {
214
+ border-color: var(--c-primary-500);
215
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
216
+ outline: none;
217
+ }
218
+
219
+ .c-label {
220
+ display: block;
221
+ font-size: 0.875rem;
222
+ font-weight: 500;
223
+ color: var(--c-gray-700);
224
+ margin-bottom: 6px;
225
+ }
226
+
227
+ .c-label-required::after {
228
+ content: " *";
229
+ color: var(--c-error-500);
230
+ }
231
+
232
+ .c-form-hint {
233
+ font-size: 0.75rem;
234
+ color: var(--c-gray-500);
235
+ margin-top: 4px;
236
+ }
237
+
238
+ .c-form-error {
239
+ font-size: 0.75rem;
240
+ color: var(--c-error-600);
241
+ margin-top: 4px;
242
+ }
243
+
244
+ .c-form-group {
245
+ display: flex;
246
+ flex-direction: column;
247
+ gap: 4px;
248
+ margin-bottom: 16px;
249
+ }
250
+
251
+ .c-form-row {
252
+ display: flex;
253
+ gap: 16px;
254
+ align-items: flex-start;
255
+ }
256
+
257
+ .c-input-group {
258
+ display: flex;
259
+ align-items: stretch;
260
+ }
261
+
262
+ .c-input-group .c-input {
263
+ border-radius: 0;
264
+ flex: 1;
265
+ }
266
+
267
+ .c-input-group > :first-child {
268
+ border-radius: 8px 0 0 8px;
269
+ }
270
+ .c-input-group > :last-child {
271
+ border-radius: 0 8px 8px 0;
272
+ }
273
+
274
+ .c-input-addon {
275
+ display: flex;
276
+ align-items: center;
277
+ padding: 0 12px;
278
+ border: 1px solid var(--c-gray-300);
279
+ background: var(--c-gray-50);
280
+ color: var(--c-gray-500);
281
+ font-size: 0.875rem;
282
+ white-space: nowrap;
283
+ }
284
+
285
+ .c-btn {
286
+ display: inline-flex;
287
+ align-items: center;
288
+ justify-content: center;
289
+ gap: 8px;
290
+ padding: 10px 20px;
291
+ border-radius: 8px;
292
+ font-size: 0.875rem;
293
+ font-weight: 500;
294
+ line-height: 1;
295
+ cursor: pointer;
296
+ transition: all 200ms;
297
+ white-space: nowrap;
298
+ border: 1px solid transparent;
299
+ text-decoration: none;
300
+ user-select: none;
301
+ }
302
+
303
+ .c-btn:disabled {
304
+ opacity: 0.5;
305
+ cursor: not-allowed;
306
+ pointer-events: none;
307
+ }
308
+
309
+ .c-btn-primary {
310
+ background: var(--c-primary-600);
311
+ color: white;
312
+ }
313
+ .c-btn-primary:hover {
314
+ background: var(--c-primary-700);
315
+ }
316
+
317
+ .c-btn-secondary {
318
+ background: var(--c-gray-100);
319
+ color: var(--c-gray-800);
320
+ border-color: var(--c-gray-200);
321
+ }
322
+ .c-btn-secondary:hover {
323
+ background: var(--c-gray-200);
324
+ }
325
+
326
+ .c-btn-outline {
327
+ background: transparent;
328
+ color: var(--c-primary-600);
329
+ border-color: var(--c-primary-600);
330
+ }
331
+ .c-btn-outline:hover {
332
+ background: var(--c-primary-50);
333
+ }
334
+
335
+ .c-btn-ghost {
336
+ background: transparent;
337
+ color: var(--c-gray-700);
338
+ }
339
+ .c-btn-ghost:hover {
340
+ background: var(--c-gray-100);
341
+ }
342
+
343
+ .c-btn-danger {
344
+ background: var(--c-error-600);
345
+ color: white;
346
+ }
347
+ .c-btn-danger:hover {
348
+ background: var(--c-error-700);
349
+ }
350
+
351
+ .c-btn-success {
352
+ background: var(--c-success-600);
353
+ color: white;
354
+ }
355
+ .c-btn-success:hover {
356
+ background: var(--c-success-700);
357
+ }
358
+
359
+ .c-btn-xs {
360
+ padding: 4px 10px;
361
+ font-size: 0.7rem;
362
+ border-radius: 6px;
363
+ }
364
+ .c-btn-sm {
365
+ padding: 6px 14px;
366
+ font-size: 0.8rem;
367
+ border-radius: 6px;
368
+ }
369
+ .c-btn-lg {
370
+ padding: 14px 28px;
371
+ font-size: 1rem;
372
+ border-radius: 10px;
373
+ }
374
+ .c-btn-xl {
375
+ padding: 18px 36px;
376
+ font-size: 1.1rem;
377
+ border-radius: 12px;
378
+ }
379
+ .c-btn-full {
380
+ width: 100%;
381
+ }
382
+ .c-btn-icon {
383
+ padding: 10px;
384
+ border-radius: 8px;
385
+ }
386
+ .c-btn-icon-sm {
387
+ padding: 6px;
388
+ border-radius: 6px;
389
+ }
390
+
391
+ .c-btn-loading {
392
+ position: relative;
393
+ color: transparent !important;
394
+ pointer-events: none;
395
+ }
396
+
397
+ .c-btn-loading::after {
398
+ content: "";
399
+ position: absolute;
400
+ width: 14px;
401
+ height: 14px;
402
+ border: 2px solid currentColor;
403
+ border-top-color: transparent;
404
+ border-radius: 9999px;
405
+ animation: c-spin 0.6s linear infinite;
406
+ color: white;
407
+ top: 50%;
408
+ left: 50%;
409
+ margin-top: -7px;
410
+ margin-left: -7px;
411
+ }