pure-react-ui 1.5.1 → 1.5.3

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 (59) hide show
  1. package/README.md +217 -0
  2. package/lib/components/Form/Checkbox.d.ts +11 -0
  3. package/lib/components/Form/Checkbox.d.ts.map +1 -0
  4. package/lib/components/Form/Checkbox.js +25 -0
  5. package/lib/components/Form/Checkbox.js.map +1 -0
  6. package/lib/components/Form/Form.css +733 -0
  7. package/lib/components/Form/Form.d.ts +13 -0
  8. package/lib/components/Form/Form.d.ts.map +1 -0
  9. package/lib/components/Form/Form.js +36 -0
  10. package/lib/components/Form/Form.js.map +1 -0
  11. package/lib/components/Form/FormContext.d.ts +25 -0
  12. package/lib/components/Form/FormContext.d.ts.map +1 -0
  13. package/lib/components/Form/FormContext.js +70 -0
  14. package/lib/components/Form/FormContext.js.map +1 -0
  15. package/lib/components/Form/FormGroup.d.ts +12 -0
  16. package/lib/components/Form/FormGroup.d.ts.map +1 -0
  17. package/lib/components/Form/FormGroup.js +21 -0
  18. package/lib/components/Form/FormGroup.js.map +1 -0
  19. package/lib/components/Form/FormItem.d.ts +19 -0
  20. package/lib/components/Form/FormItem.d.ts.map +1 -0
  21. package/lib/components/Form/FormItem.js +84 -0
  22. package/lib/components/Form/FormItem.js.map +1 -0
  23. package/lib/components/Form/FormRow.d.ts +9 -0
  24. package/lib/components/Form/FormRow.d.ts.map +1 -0
  25. package/lib/components/Form/FormRow.js +17 -0
  26. package/lib/components/Form/FormRow.js.map +1 -0
  27. package/lib/components/Form/Input.d.ts +13 -0
  28. package/lib/components/Form/Input.d.ts.map +1 -0
  29. package/lib/components/Form/Input.js +28 -0
  30. package/lib/components/Form/Input.js.map +1 -0
  31. package/lib/components/Form/Radio.d.ts +11 -0
  32. package/lib/components/Form/Radio.d.ts.map +1 -0
  33. package/lib/components/Form/Radio.js +25 -0
  34. package/lib/components/Form/Radio.js.map +1 -0
  35. package/lib/components/Form/Select.d.ts +18 -0
  36. package/lib/components/Form/Select.d.ts.map +1 -0
  37. package/lib/components/Form/Select.js +25 -0
  38. package/lib/components/Form/Select.js.map +1 -0
  39. package/lib/components/Form/Switch.d.ts +11 -0
  40. package/lib/components/Form/Switch.d.ts.map +1 -0
  41. package/lib/components/Form/Switch.js +25 -0
  42. package/lib/components/Form/Switch.js.map +1 -0
  43. package/lib/components/Form/Textarea.d.ts +13 -0
  44. package/lib/components/Form/Textarea.d.ts.map +1 -0
  45. package/lib/components/Form/Textarea.js +29 -0
  46. package/lib/components/Form/Textarea.js.map +1 -0
  47. package/lib/components/Form/index.d.ts +24 -0
  48. package/lib/components/Form/index.d.ts.map +1 -0
  49. package/lib/components/Form/index.js +13 -0
  50. package/lib/components/Form/index.js.map +1 -0
  51. package/lib/components/Form/useForm.d.ts +3 -0
  52. package/lib/components/Form/useForm.d.ts.map +1 -0
  53. package/lib/components/Form/useForm.js +17 -0
  54. package/lib/components/Form/useForm.js.map +1 -0
  55. package/lib/index.d.ts +2 -0
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +1 -0
  58. package/lib/index.js.map +1 -1
  59. package/package.json +2 -2
@@ -0,0 +1,733 @@
1
+ /* Pure Form Component Styles */
2
+ .pure-form {
3
+ width: 100%;
4
+ }
5
+
6
+ .pure-form--vertical {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: 1.5rem;
10
+ }
11
+
12
+ .pure-form--horizontal {
13
+ display: flex;
14
+ flex-direction: row;
15
+ flex-wrap: wrap;
16
+ gap: 1rem;
17
+ align-items: flex-end;
18
+ }
19
+
20
+ .pure-form--inline {
21
+ display: inline-flex;
22
+ flex-direction: row;
23
+ gap: 1rem;
24
+ align-items: flex-end;
25
+ }
26
+
27
+ .pure-form--small {
28
+ font-size: 0.875rem;
29
+ }
30
+
31
+ .pure-form--medium {
32
+ font-size: 1rem;
33
+ }
34
+
35
+ .pure-form--large {
36
+ font-size: 1.125rem;
37
+ }
38
+
39
+ /* Form Item */
40
+ .pure-form-item {
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: 0.5rem;
44
+ margin-bottom: 1rem;
45
+ }
46
+
47
+ /* Form Group */
48
+ .pure-form-group {
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: 0.5rem;
52
+ margin-bottom: 1rem;
53
+ }
54
+
55
+ .pure-form-group-label {
56
+ font-size: 0.875rem;
57
+ font-weight: 500;
58
+ color: #212529;
59
+ margin-bottom: 0.25rem;
60
+ }
61
+
62
+ .pure-form-group-required {
63
+ color: #dc3545;
64
+ margin-left: 0.25rem;
65
+ }
66
+
67
+ .pure-form-group-content {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 0.5rem;
71
+ }
72
+
73
+ .pure-form-group-error {
74
+ font-size: 0.875rem;
75
+ color: #dc3545;
76
+ margin-top: 0.25rem;
77
+ }
78
+
79
+ .pure-form-group-help {
80
+ font-size: 0.875rem;
81
+ color: #6c757d;
82
+ margin-top: 0.25rem;
83
+ }
84
+
85
+ /* Form Row */
86
+ .pure-form-row {
87
+ display: flex;
88
+ flex-direction: row;
89
+ flex-wrap: wrap;
90
+ gap: 1rem;
91
+ align-items: flex-start;
92
+ }
93
+
94
+ .pure-form-row--gap-small {
95
+ gap: 0.5rem;
96
+ }
97
+
98
+ .pure-form-row--gap-medium {
99
+ gap: 1rem;
100
+ }
101
+
102
+ .pure-form-row--gap-large {
103
+ gap: 1.5rem;
104
+ }
105
+
106
+ /* Input */
107
+ .pure-input-wrapper {
108
+ display: flex;
109
+ flex-direction: column;
110
+ gap: 0.5rem;
111
+ }
112
+
113
+ .pure-input-wrapper--full-width {
114
+ width: 100%;
115
+ }
116
+
117
+ .pure-input-label {
118
+ font-size: 0.875rem;
119
+ font-weight: 500;
120
+ color: #212529;
121
+ }
122
+
123
+ .pure-input-container {
124
+ position: relative;
125
+ display: flex;
126
+ align-items: center;
127
+ }
128
+
129
+ .pure-input {
130
+ width: 100%;
131
+ padding: 0.625rem 1rem;
132
+ font-size: 1rem;
133
+ line-height: 1.5;
134
+ color: #212529;
135
+ background-color: #ffffff;
136
+ border: 1px solid #ced4da;
137
+ border-radius: 0.375rem;
138
+ transition: all 0.2s ease-in-out;
139
+ outline: none;
140
+ }
141
+
142
+ .pure-input:focus {
143
+ border-color: #007bff;
144
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
145
+ }
146
+
147
+ .pure-input:disabled {
148
+ background-color: #e9ecef;
149
+ cursor: not-allowed;
150
+ opacity: 0.65;
151
+ }
152
+
153
+ .pure-input::placeholder {
154
+ color: #6c757d;
155
+ opacity: 1;
156
+ }
157
+
158
+ .pure-input--small {
159
+ padding: 0.375rem 0.75rem;
160
+ font-size: 0.875rem;
161
+ }
162
+
163
+ .pure-input--large {
164
+ padding: 0.875rem 1.25rem;
165
+ font-size: 1.125rem;
166
+ }
167
+
168
+ .pure-input--error {
169
+ border-color: #dc3545;
170
+ }
171
+
172
+ .pure-input--error:focus {
173
+ border-color: #dc3545;
174
+ box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
175
+ }
176
+
177
+ .pure-input--full-width {
178
+ width: 100%;
179
+ }
180
+
181
+ .pure-input--has-icon {
182
+ padding-left: 2.5rem;
183
+ }
184
+
185
+ .pure-input-icon {
186
+ position: absolute;
187
+ display: flex;
188
+ align-items: center;
189
+ justify-content: center;
190
+ color: #6c757d;
191
+ pointer-events: none;
192
+ z-index: 1;
193
+ }
194
+
195
+ .pure-input-icon--left {
196
+ left: 0.75rem;
197
+ }
198
+
199
+ .pure-input-icon--right {
200
+ right: 0.75rem;
201
+ }
202
+
203
+ .pure-input-error {
204
+ font-size: 0.875rem;
205
+ color: #dc3545;
206
+ }
207
+
208
+ .pure-input-help {
209
+ font-size: 0.875rem;
210
+ color: #6c757d;
211
+ }
212
+
213
+ /* Textarea */
214
+ .pure-textarea-wrapper {
215
+ display: flex;
216
+ flex-direction: column;
217
+ gap: 0.5rem;
218
+ }
219
+
220
+ .pure-textarea-wrapper--full-width {
221
+ width: 100%;
222
+ }
223
+
224
+ .pure-textarea-label {
225
+ font-size: 0.875rem;
226
+ font-weight: 500;
227
+ color: #212529;
228
+ }
229
+
230
+ .pure-textarea {
231
+ width: 100%;
232
+ padding: 0.625rem 1rem;
233
+ font-size: 1rem;
234
+ line-height: 1.5;
235
+ color: #212529;
236
+ background-color: #ffffff;
237
+ border: 1px solid #ced4da;
238
+ border-radius: 0.375rem;
239
+ transition: all 0.2s ease-in-out;
240
+ outline: none;
241
+ font-family: inherit;
242
+ }
243
+
244
+ .pure-textarea:focus {
245
+ border-color: #007bff;
246
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
247
+ }
248
+
249
+ .pure-textarea:disabled {
250
+ background-color: #e9ecef;
251
+ cursor: not-allowed;
252
+ opacity: 0.65;
253
+ }
254
+
255
+ .pure-textarea::placeholder {
256
+ color: #6c757d;
257
+ opacity: 1;
258
+ }
259
+
260
+ .pure-textarea--small {
261
+ padding: 0.375rem 0.75rem;
262
+ font-size: 0.875rem;
263
+ }
264
+
265
+ .pure-textarea--large {
266
+ padding: 0.875rem 1.25rem;
267
+ font-size: 1.125rem;
268
+ }
269
+
270
+ .pure-textarea--error {
271
+ border-color: #dc3545;
272
+ }
273
+
274
+ .pure-textarea--error:focus {
275
+ border-color: #dc3545;
276
+ box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
277
+ }
278
+
279
+ .pure-textarea--resize-none {
280
+ resize: none;
281
+ }
282
+
283
+ .pure-textarea--resize-both {
284
+ resize: both;
285
+ }
286
+
287
+ .pure-textarea--resize-horizontal {
288
+ resize: horizontal;
289
+ }
290
+
291
+ .pure-textarea--resize-vertical {
292
+ resize: vertical;
293
+ }
294
+
295
+ .pure-textarea-error {
296
+ font-size: 0.875rem;
297
+ color: #dc3545;
298
+ }
299
+
300
+ .pure-textarea-help {
301
+ font-size: 0.875rem;
302
+ color: #6c757d;
303
+ }
304
+
305
+ /* Select */
306
+ .pure-select-wrapper {
307
+ display: flex;
308
+ flex-direction: column;
309
+ gap: 0.5rem;
310
+ }
311
+
312
+ .pure-select-wrapper--full-width {
313
+ width: 100%;
314
+ }
315
+
316
+ .pure-select-label {
317
+ font-size: 0.875rem;
318
+ font-weight: 500;
319
+ color: #212529;
320
+ }
321
+
322
+ .pure-select {
323
+ width: 100%;
324
+ padding: 0.625rem 2.5rem 0.625rem 1rem;
325
+ font-size: 1rem;
326
+ line-height: 1.5;
327
+ color: #212529;
328
+ background-color: #ffffff;
329
+ border: 1px solid #ced4da;
330
+ border-radius: 0.375rem;
331
+ transition: all 0.2s ease-in-out;
332
+ outline: none;
333
+ cursor: pointer;
334
+ appearance: none;
335
+ background-image: 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 8l4 4 4-4'/%3e%3c/svg%3e");
336
+ background-position: right 0.5rem center;
337
+ background-repeat: no-repeat;
338
+ background-size: 1.5em 1.5em;
339
+ }
340
+
341
+ .pure-select:focus {
342
+ border-color: #007bff;
343
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
344
+ }
345
+
346
+ .pure-select:disabled {
347
+ background-color: #e9ecef;
348
+ cursor: not-allowed;
349
+ opacity: 0.65;
350
+ }
351
+
352
+ .pure-select--small {
353
+ padding: 0.375rem 2rem 0.375rem 0.75rem;
354
+ font-size: 0.875rem;
355
+ background-size: 1.25em 1.25em;
356
+ }
357
+
358
+ .pure-select--large {
359
+ padding: 0.875rem 3rem 0.875rem 1.25rem;
360
+ font-size: 1.125rem;
361
+ background-size: 1.75em 1.75em;
362
+ }
363
+
364
+ .pure-select--error {
365
+ border-color: #dc3545;
366
+ }
367
+
368
+ .pure-select--error:focus {
369
+ border-color: #dc3545;
370
+ box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
371
+ }
372
+
373
+ .pure-select-error {
374
+ font-size: 0.875rem;
375
+ color: #dc3545;
376
+ }
377
+
378
+ .pure-select-help {
379
+ font-size: 0.875rem;
380
+ color: #6c757d;
381
+ }
382
+
383
+ /* Checkbox */
384
+ .pure-checkbox-wrapper {
385
+ display: flex;
386
+ flex-direction: column;
387
+ gap: 0.5rem;
388
+ }
389
+
390
+ .pure-checkbox-wrapper--full-width {
391
+ width: 100%;
392
+ }
393
+
394
+ .pure-checkbox-label {
395
+ display: flex;
396
+ align-items: center;
397
+ gap: 0.75rem;
398
+ cursor: pointer;
399
+ user-select: none;
400
+ }
401
+
402
+ .pure-checkbox {
403
+ position: absolute;
404
+ opacity: 0;
405
+ cursor: pointer;
406
+ height: 0;
407
+ width: 0;
408
+ }
409
+
410
+ .pure-checkbox-custom {
411
+ position: relative;
412
+ display: inline-block;
413
+ width: 1.25rem;
414
+ height: 1.25rem;
415
+ border: 2px solid #ced4da;
416
+ border-radius: 0.25rem;
417
+ background-color: #ffffff;
418
+ transition: all 0.2s ease-in-out;
419
+ flex-shrink: 0;
420
+ }
421
+
422
+ .pure-checkbox:checked ~ .pure-checkbox-custom {
423
+ background-color: #007bff;
424
+ border-color: #007bff;
425
+ }
426
+
427
+ .pure-checkbox:checked ~ .pure-checkbox-custom::after {
428
+ content: '';
429
+ position: absolute;
430
+ left: 0.375rem;
431
+ top: 0.125rem;
432
+ width: 0.375rem;
433
+ height: 0.625rem;
434
+ border: solid #ffffff;
435
+ border-width: 0 2px 2px 0;
436
+ transform: rotate(45deg);
437
+ }
438
+
439
+ .pure-checkbox:focus ~ .pure-checkbox-custom {
440
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
441
+ }
442
+
443
+ .pure-checkbox:disabled ~ .pure-checkbox-custom {
444
+ background-color: #e9ecef;
445
+ border-color: #ced4da;
446
+ cursor: not-allowed;
447
+ opacity: 0.65;
448
+ }
449
+
450
+ .pure-checkbox--small ~ .pure-checkbox-custom {
451
+ width: 1rem;
452
+ height: 1rem;
453
+ }
454
+
455
+ .pure-checkbox--small:checked ~ .pure-checkbox-custom::after {
456
+ left: 0.25rem;
457
+ top: 0.0625rem;
458
+ width: 0.25rem;
459
+ height: 0.5rem;
460
+ }
461
+
462
+ .pure-checkbox--large ~ .pure-checkbox-custom {
463
+ width: 1.5rem;
464
+ height: 1.5rem;
465
+ }
466
+
467
+ .pure-checkbox--large:checked ~ .pure-checkbox-custom::after {
468
+ left: 0.5rem;
469
+ top: 0.1875rem;
470
+ width: 0.5rem;
471
+ height: 0.75rem;
472
+ }
473
+
474
+ .pure-checkbox--error ~ .pure-checkbox-custom {
475
+ border-color: #dc3545;
476
+ }
477
+
478
+ .pure-checkbox-text {
479
+ font-size: 1rem;
480
+ color: #212529;
481
+ }
482
+
483
+ .pure-checkbox-error {
484
+ font-size: 0.875rem;
485
+ color: #dc3545;
486
+ margin-left: 1.75rem;
487
+ }
488
+
489
+ .pure-checkbox-help {
490
+ font-size: 0.875rem;
491
+ color: #6c757d;
492
+ margin-left: 1.75rem;
493
+ }
494
+
495
+ /* Radio */
496
+ .pure-radio-wrapper {
497
+ display: flex;
498
+ flex-direction: column;
499
+ gap: 0.5rem;
500
+ }
501
+
502
+ .pure-radio-wrapper--full-width {
503
+ width: 100%;
504
+ }
505
+
506
+ .pure-radio-label {
507
+ display: flex;
508
+ align-items: center;
509
+ gap: 0.75rem;
510
+ cursor: pointer;
511
+ user-select: none;
512
+ }
513
+
514
+ .pure-radio {
515
+ position: absolute;
516
+ opacity: 0;
517
+ cursor: pointer;
518
+ height: 0;
519
+ width: 0;
520
+ }
521
+
522
+ .pure-radio-custom {
523
+ position: relative;
524
+ display: inline-block;
525
+ width: 1.25rem;
526
+ height: 1.25rem;
527
+ border: 2px solid #ced4da;
528
+ border-radius: 50%;
529
+ background-color: #ffffff;
530
+ transition: all 0.2s ease-in-out;
531
+ flex-shrink: 0;
532
+ }
533
+
534
+ .pure-radio:checked ~ .pure-radio-custom {
535
+ border-color: #007bff;
536
+ }
537
+
538
+ .pure-radio:checked ~ .pure-radio-custom::after {
539
+ content: '';
540
+ position: absolute;
541
+ left: 50%;
542
+ top: 50%;
543
+ transform: translate(-50%, -50%);
544
+ width: 0.625rem;
545
+ height: 0.625rem;
546
+ border-radius: 50%;
547
+ background-color: #007bff;
548
+ }
549
+
550
+ .pure-radio:focus ~ .pure-radio-custom {
551
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
552
+ }
553
+
554
+ .pure-radio:disabled ~ .pure-radio-custom {
555
+ background-color: #e9ecef;
556
+ border-color: #ced4da;
557
+ cursor: not-allowed;
558
+ opacity: 0.65;
559
+ }
560
+
561
+ .pure-radio--small ~ .pure-radio-custom {
562
+ width: 1rem;
563
+ height: 1rem;
564
+ }
565
+
566
+ .pure-radio--small:checked ~ .pure-radio-custom::after {
567
+ width: 0.5rem;
568
+ height: 0.5rem;
569
+ }
570
+
571
+ .pure-radio--large ~ .pure-radio-custom {
572
+ width: 1.5rem;
573
+ height: 1.5rem;
574
+ }
575
+
576
+ .pure-radio--large:checked ~ .pure-radio-custom::after {
577
+ width: 0.75rem;
578
+ height: 0.75rem;
579
+ }
580
+
581
+ .pure-radio--error ~ .pure-radio-custom {
582
+ border-color: #dc3545;
583
+ }
584
+
585
+ .pure-radio-text {
586
+ font-size: 1rem;
587
+ color: #212529;
588
+ }
589
+
590
+ .pure-radio-error {
591
+ font-size: 0.875rem;
592
+ color: #dc3545;
593
+ margin-left: 1.75rem;
594
+ }
595
+
596
+ .pure-radio-help {
597
+ font-size: 0.875rem;
598
+ color: #6c757d;
599
+ margin-left: 1.75rem;
600
+ }
601
+
602
+ /* Switch */
603
+ .pure-switch-wrapper {
604
+ display: flex;
605
+ flex-direction: column;
606
+ gap: 0.5rem;
607
+ }
608
+
609
+ .pure-switch-wrapper--full-width {
610
+ width: 100%;
611
+ }
612
+
613
+ .pure-switch-label {
614
+ display: flex;
615
+ align-items: center;
616
+ gap: 0.75rem;
617
+ cursor: pointer;
618
+ user-select: none;
619
+ }
620
+
621
+ .pure-switch {
622
+ position: absolute;
623
+ opacity: 0;
624
+ cursor: pointer;
625
+ height: 0;
626
+ width: 0;
627
+ }
628
+
629
+ .pure-switch-slider {
630
+ position: relative;
631
+ display: inline-block;
632
+ width: 3rem;
633
+ height: 1.5rem;
634
+ background-color: #ced4da;
635
+ border-radius: 1.5rem;
636
+ transition: all 0.3s ease-in-out;
637
+ flex-shrink: 0;
638
+ }
639
+
640
+ .pure-switch-slider::before {
641
+ content: '';
642
+ position: absolute;
643
+ height: 1.25rem;
644
+ width: 1.25rem;
645
+ left: 0.125rem;
646
+ bottom: 0.125rem;
647
+ background-color: #ffffff;
648
+ border-radius: 50%;
649
+ transition: all 0.3s ease-in-out;
650
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
651
+ }
652
+
653
+ .pure-switch:checked ~ .pure-switch-slider {
654
+ background-color: #007bff;
655
+ }
656
+
657
+ .pure-switch:checked ~ .pure-switch-slider::before {
658
+ transform: translateX(1.5rem);
659
+ }
660
+
661
+ .pure-switch:focus ~ .pure-switch-slider {
662
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
663
+ }
664
+
665
+ .pure-switch:disabled ~ .pure-switch-slider {
666
+ background-color: #e9ecef;
667
+ cursor: not-allowed;
668
+ opacity: 0.65;
669
+ }
670
+
671
+ .pure-switch--small ~ .pure-switch-slider {
672
+ width: 2.5rem;
673
+ height: 1.25rem;
674
+ }
675
+
676
+ .pure-switch--small ~ .pure-switch-slider::before {
677
+ height: 1rem;
678
+ width: 1rem;
679
+ }
680
+
681
+ .pure-switch--small:checked ~ .pure-switch-slider::before {
682
+ transform: translateX(1.25rem);
683
+ }
684
+
685
+ .pure-switch--large ~ .pure-switch-slider {
686
+ width: 3.5rem;
687
+ height: 1.75rem;
688
+ }
689
+
690
+ .pure-switch--large ~ .pure-switch-slider::before {
691
+ height: 1.5rem;
692
+ width: 1.5rem;
693
+ }
694
+
695
+ .pure-switch--large:checked ~ .pure-switch-slider::before {
696
+ transform: translateX(1.75rem);
697
+ }
698
+
699
+ .pure-switch--error ~ .pure-switch-slider {
700
+ background-color: #dc3545;
701
+ }
702
+
703
+ .pure-switch-text {
704
+ font-size: 1rem;
705
+ color: #212529;
706
+ }
707
+
708
+ .pure-switch-error {
709
+ font-size: 0.875rem;
710
+ color: #dc3545;
711
+ margin-left: 3.75rem;
712
+ }
713
+
714
+ .pure-switch-help {
715
+ font-size: 0.875rem;
716
+ color: #6c757d;
717
+ margin-left: 3.75rem;
718
+ }
719
+
720
+ /* Responsive */
721
+ @media (max-width: 768px) {
722
+ .pure-form--horizontal {
723
+ flex-direction: column;
724
+ }
725
+
726
+ .pure-form--inline {
727
+ flex-direction: column;
728
+ }
729
+
730
+ .pure-form-row {
731
+ flex-direction: column;
732
+ }
733
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { FormInstance } from './FormContext';
3
+ import './Form.css';
4
+ export interface FormProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {
5
+ layout?: 'vertical' | 'horizontal' | 'inline';
6
+ size?: 'small' | 'medium' | 'large';
7
+ form?: FormInstance;
8
+ onFinish?: (values: Record<string, any>) => void;
9
+ onFinishFailed?: (errors: Record<string, string>) => void;
10
+ children: React.ReactNode;
11
+ }
12
+ export declare const Form: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<FormInstance>>;
13
+ //# sourceMappingURL=Form.d.ts.map