pure-react-ui 1.5.4 → 1.5.6

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.
@@ -1,509 +1,509 @@
1
- /* Global Font Family - Applied to Modal */
2
- .pure-modal,
3
- .pure-modal * {
4
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
5
- -webkit-font-smoothing: antialiased;
6
- -moz-osx-font-smoothing: grayscale;
7
- }
8
-
9
- /* Pure Modal Component Styles */
10
- .pure-modal__overlay {
11
- position: fixed;
12
- top: 0;
13
- left: 0;
14
- right: 0;
15
- bottom: 0;
16
- background-color: rgba(0, 0, 0, 0.5);
17
- display: flex;
18
- align-items: center;
19
- justify-content: center;
20
- z-index: 1000;
21
- padding: 1rem;
22
- animation: pure-modal-overlay-fade-in 0.2s ease-out;
23
- overflow-y: auto;
24
- }
25
-
26
- @keyframes pure-modal-overlay-fade-in {
27
- from {
28
- opacity: 0;
29
- }
30
- to {
31
- opacity: 1;
32
- }
33
- }
34
-
35
- .pure-modal {
36
- background-color: #ffffff;
37
- border-radius: 0.5rem;
38
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
39
- display: flex;
40
- flex-direction: column;
41
- max-height: 90vh;
42
- width: 100%;
43
- animation: pure-modal-slide-in 0.3s ease-out;
44
- position: relative;
45
- overflow: hidden;
46
- margin: 0 auto;
47
- }
48
-
49
- @keyframes pure-modal-slide-in {
50
- from {
51
- opacity: 0;
52
- transform: translateY(-20px) scale(0.95);
53
- }
54
- to {
55
- opacity: 1;
56
- transform: translateY(0) scale(1);
57
- }
58
- }
59
-
60
- /* Position Variants */
61
- .pure-modal--position-center {
62
- /* Default - already centered by overlay */
63
- }
64
-
65
- .pure-modal--position-top {
66
- margin-top: 2rem;
67
- margin-bottom: auto;
68
- }
69
-
70
- .pure-modal--position-bottom {
71
- margin-top: auto;
72
- margin-bottom: 2rem;
73
- }
74
-
75
- .pure-modal--position-left {
76
- margin-left: 2rem;
77
- margin-right: auto;
78
- }
79
-
80
- .pure-modal--position-right {
81
- margin-left: auto;
82
- margin-right: 2rem;
83
- }
84
-
85
- .pure-modal--position-top-left {
86
- margin-top: 2rem;
87
- margin-bottom: auto;
88
- margin-left: 2rem;
89
- margin-right: auto;
90
- }
91
-
92
- .pure-modal--position-top-right {
93
- margin-top: 2rem;
94
- margin-bottom: auto;
95
- margin-left: auto;
96
- margin-right: 2rem;
97
- }
98
-
99
- .pure-modal--position-bottom-left {
100
- margin-top: auto;
101
- margin-bottom: 2rem;
102
- margin-left: 2rem;
103
- margin-right: auto;
104
- }
105
-
106
- .pure-modal--position-bottom-right {
107
- margin-top: auto;
108
- margin-bottom: 2rem;
109
- margin-left: auto;
110
- margin-right: 2rem;
111
- }
112
-
113
- /* Size Variants */
114
- .pure-modal--small {
115
- max-width: 400px;
116
- }
117
-
118
- .pure-modal--medium {
119
- max-width: 600px;
120
- }
121
-
122
- .pure-modal--large {
123
- max-width: 900px;
124
- }
125
-
126
- .pure-modal--fullscreen {
127
- max-width: 100%;
128
- max-height: 100vh;
129
- height: 100vh;
130
- border-radius: 0;
131
- margin: 0;
132
- }
133
-
134
- /* Variant Colors */
135
- .pure-modal--default {
136
- background-color: #ffffff;
137
- }
138
-
139
- .pure-modal--primary {
140
- background: linear-gradient(to bottom, #007bff 0%, #0056b3 100%);
141
- color: #ffffff;
142
- }
143
-
144
- .pure-modal--primary .pure-modal__header {
145
- border-bottom-color: rgba(255, 255, 255, 0.2);
146
- }
147
-
148
- .pure-modal--primary .pure-modal__title {
149
- color: #ffffff;
150
- }
151
-
152
- .pure-modal--primary .pure-modal__body {
153
- color: #ffffff;
154
- }
155
-
156
- .pure-modal--primary .pure-modal__close-button {
157
- color: #ffffff;
158
- }
159
-
160
- .pure-modal--primary .pure-modal__close-button:hover {
161
- background-color: rgba(255, 255, 255, 0.2);
162
- color: #ffffff;
163
- }
164
-
165
- .pure-modal--secondary {
166
- background: linear-gradient(to bottom, #6c757d 0%, #545b62 100%);
167
- color: #ffffff;
168
- }
169
-
170
- .pure-modal--secondary .pure-modal__header {
171
- border-bottom-color: rgba(255, 255, 255, 0.2);
172
- }
173
-
174
- .pure-modal--secondary .pure-modal__title,
175
- .pure-modal--secondary .pure-modal__body,
176
- .pure-modal--secondary .pure-modal__close-button {
177
- color: #ffffff;
178
- }
179
-
180
- .pure-modal--secondary .pure-modal__close-button:hover {
181
- background-color: rgba(255, 255, 255, 0.2);
182
- }
183
-
184
- .pure-modal--success {
185
- background: linear-gradient(to bottom, #28a745 0%, #218838 100%);
186
- color: #ffffff;
187
- }
188
-
189
- .pure-modal--success .pure-modal__header {
190
- border-bottom-color: rgba(255, 255, 255, 0.2);
191
- }
192
-
193
- .pure-modal--success .pure-modal__title,
194
- .pure-modal--success .pure-modal__body,
195
- .pure-modal--success .pure-modal__close-button {
196
- color: #ffffff;
197
- }
198
-
199
- .pure-modal--success .pure-modal__close-button:hover {
200
- background-color: rgba(255, 255, 255, 0.2);
201
- }
202
-
203
- .pure-modal--danger {
204
- background: linear-gradient(to bottom, #dc3545 0%, #c82333 100%);
205
- color: #ffffff;
206
- }
207
-
208
- .pure-modal--danger .pure-modal__header {
209
- border-bottom-color: rgba(255, 255, 255, 0.2);
210
- }
211
-
212
- .pure-modal--danger .pure-modal__title,
213
- .pure-modal--danger .pure-modal__body,
214
- .pure-modal--danger .pure-modal__close-button {
215
- color: #ffffff;
216
- }
217
-
218
- .pure-modal--danger .pure-modal__close-button:hover {
219
- background-color: rgba(255, 255, 255, 0.2);
220
- }
221
-
222
- .pure-modal--warning {
223
- background: linear-gradient(to bottom, #ffc107 0%, #e0a800 100%);
224
- color: #212529;
225
- }
226
-
227
- .pure-modal--warning .pure-modal__header {
228
- border-bottom-color: rgba(0, 0, 0, 0.1);
229
- }
230
-
231
- .pure-modal--warning .pure-modal__title,
232
- .pure-modal--warning .pure-modal__body {
233
- color: #212529;
234
- }
235
-
236
- .pure-modal--warning .pure-modal__close-button {
237
- color: #212529;
238
- }
239
-
240
- .pure-modal--warning .pure-modal__close-button:hover {
241
- background-color: rgba(0, 0, 0, 0.1);
242
- }
243
-
244
- .pure-modal--info {
245
- background: linear-gradient(to bottom, #17a2b8 0%, #138496 100%);
246
- color: #ffffff;
247
- }
248
-
249
- .pure-modal--info .pure-modal__header {
250
- border-bottom-color: rgba(255, 255, 255, 0.2);
251
- }
252
-
253
- .pure-modal--info .pure-modal__title,
254
- .pure-modal--info .pure-modal__body,
255
- .pure-modal--info .pure-modal__close-button {
256
- color: #ffffff;
257
- }
258
-
259
- .pure-modal--info .pure-modal__close-button:hover {
260
- background-color: rgba(255, 255, 255, 0.2);
261
- }
262
-
263
- /* Gradient Variants */
264
- .pure-modal--gradient-primary {
265
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
266
- color: #ffffff;
267
- }
268
-
269
- .pure-modal--gradient-primary .pure-modal__header {
270
- border-bottom-color: rgba(255, 255, 255, 0.2);
271
- }
272
-
273
- .pure-modal--gradient-primary .pure-modal__title,
274
- .pure-modal--gradient-primary .pure-modal__body,
275
- .pure-modal--gradient-primary .pure-modal__close-button {
276
- color: #ffffff;
277
- }
278
-
279
- .pure-modal--gradient-primary .pure-modal__close-button:hover {
280
- background-color: rgba(255, 255, 255, 0.2);
281
- }
282
-
283
- .pure-modal--gradient-success {
284
- background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
285
- color: #ffffff;
286
- }
287
-
288
- .pure-modal--gradient-success .pure-modal__header {
289
- border-bottom-color: rgba(255, 255, 255, 0.2);
290
- }
291
-
292
- .pure-modal--gradient-success .pure-modal__title,
293
- .pure-modal--gradient-success .pure-modal__body,
294
- .pure-modal--gradient-success .pure-modal__close-button {
295
- color: #ffffff;
296
- }
297
-
298
- .pure-modal--gradient-success .pure-modal__close-button:hover {
299
- background-color: rgba(255, 255, 255, 0.2);
300
- }
301
-
302
- .pure-modal--gradient-danger {
303
- background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
304
- color: #ffffff;
305
- }
306
-
307
- .pure-modal--gradient-danger .pure-modal__header {
308
- border-bottom-color: rgba(255, 255, 255, 0.2);
309
- }
310
-
311
- .pure-modal--gradient-danger .pure-modal__title,
312
- .pure-modal--gradient-danger .pure-modal__body,
313
- .pure-modal--gradient-danger .pure-modal__close-button {
314
- color: #ffffff;
315
- }
316
-
317
- .pure-modal--gradient-danger .pure-modal__close-button:hover {
318
- background-color: rgba(255, 255, 255, 0.2);
319
- }
320
-
321
- .pure-modal--gradient-info {
322
- background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
323
- color: #ffffff;
324
- }
325
-
326
- .pure-modal--gradient-info .pure-modal__header {
327
- border-bottom-color: rgba(255, 255, 255, 0.2);
328
- }
329
-
330
- .pure-modal--gradient-info .pure-modal__title,
331
- .pure-modal--gradient-info .pure-modal__body,
332
- .pure-modal--gradient-info .pure-modal__close-button {
333
- color: #ffffff;
334
- }
335
-
336
- .pure-modal--gradient-info .pure-modal__close-button:hover {
337
- background-color: rgba(255, 255, 255, 0.2);
338
- }
339
-
340
- /* Header */
341
- .pure-modal__header {
342
- display: flex;
343
- align-items: center;
344
- justify-content: space-between;
345
- padding: 1.5rem;
346
- border-bottom: 1px solid #e0e0e0;
347
- flex-shrink: 0;
348
- background: inherit;
349
- }
350
-
351
- .pure-modal__title-wrapper {
352
- flex: 1;
353
- }
354
-
355
- .pure-modal__title {
356
- margin: 0;
357
- font-size: 1.5rem;
358
- font-weight: 600;
359
- line-height: 1.4;
360
- color: #212529;
361
- }
362
-
363
- .pure-modal__close-button {
364
- display: flex;
365
- align-items: center;
366
- justify-content: center;
367
- width: 2rem;
368
- height: 2rem;
369
- padding: 0;
370
- margin-left: 1rem;
371
- background: transparent;
372
- border: none;
373
- border-radius: 0.25rem;
374
- cursor: pointer;
375
- color: #6c757d;
376
- transition: all 0.2s ease-in-out;
377
- flex-shrink: 0;
378
- }
379
-
380
- .pure-modal__close-button:hover {
381
- background-color: #f0f0f0;
382
- color: #212529;
383
- }
384
-
385
- .pure-modal__close-button:active {
386
- background-color: #e0e0e0;
387
- }
388
-
389
- .pure-modal__close-button:focus {
390
- outline: none;
391
- box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
392
- }
393
-
394
- .pure-modal__close-icon {
395
- font-size: 1.5rem;
396
- line-height: 1;
397
- font-weight: 300;
398
- }
399
-
400
- /* Body */
401
- .pure-modal__body {
402
- padding: 1.5rem;
403
- flex: 1;
404
- color: #495057;
405
- line-height: 1.6;
406
- background: inherit;
407
- }
408
-
409
- .pure-modal--scrollable .pure-modal__body {
410
- overflow-y: auto;
411
- max-height: calc(90vh - 100px);
412
- }
413
-
414
- .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar {
415
- width: 8px;
416
- }
417
-
418
- .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-track {
419
- background: rgba(0, 0, 0, 0.05);
420
- border-radius: 4px;
421
- }
422
-
423
- .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb {
424
- background: rgba(0, 0, 0, 0.2);
425
- border-radius: 4px;
426
- }
427
-
428
- .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover {
429
- background: rgba(0, 0, 0, 0.3);
430
- }
431
-
432
- /* Scrollable variants with custom scrollbar colors */
433
- .pure-modal--primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
434
- .pure-modal--secondary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
435
- .pure-modal--success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
436
- .pure-modal--danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
437
- .pure-modal--info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
438
- .pure-modal--gradient-primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
439
- .pure-modal--gradient-success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
440
- .pure-modal--gradient-danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
441
- .pure-modal--gradient-info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb {
442
- background: rgba(255, 255, 255, 0.3);
443
- }
444
-
445
- .pure-modal--primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
446
- .pure-modal--secondary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
447
- .pure-modal--success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
448
- .pure-modal--danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
449
- .pure-modal--info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
450
- .pure-modal--gradient-primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
451
- .pure-modal--gradient-success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
452
- .pure-modal--gradient-danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
453
- .pure-modal--gradient-info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover {
454
- background: rgba(255, 255, 255, 0.5);
455
- }
456
-
457
- /* Responsive */
458
- @media (max-width: 768px) {
459
- .pure-modal__overlay {
460
- padding: 0;
461
- align-items: flex-end;
462
- }
463
-
464
- .pure-modal {
465
- max-height: 95vh;
466
- border-radius: 0.5rem 0.5rem 0 0;
467
- animation: pure-modal-slide-up 0.3s ease-out;
468
- }
469
-
470
- @keyframes pure-modal-slide-up {
471
- from {
472
- opacity: 0;
473
- transform: translateY(100%);
474
- }
475
- to {
476
- opacity: 1;
477
- transform: translateY(0);
478
- }
479
- }
480
-
481
- .pure-modal--small,
482
- .pure-modal--medium,
483
- .pure-modal--large {
484
- max-width: 100%;
485
- }
486
-
487
- .pure-modal--position-top,
488
- .pure-modal--position-bottom,
489
- .pure-modal--position-left,
490
- .pure-modal--position-right,
491
- .pure-modal--position-top-left,
492
- .pure-modal--position-top-right,
493
- .pure-modal--position-bottom-left,
494
- .pure-modal--position-bottom-right {
495
- margin: 0;
496
- }
497
-
498
- .pure-modal__header {
499
- padding: 1rem 1.25rem;
500
- }
501
-
502
- .pure-modal__title {
503
- font-size: 1.25rem;
504
- }
505
-
506
- .pure-modal__body {
507
- padding: 1.25rem;
508
- }
509
- }
1
+ /* Global Font Family - Applied to Modal */
2
+ .pure-modal,
3
+ .pure-modal * {
4
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
5
+ -webkit-font-smoothing: antialiased;
6
+ -moz-osx-font-smoothing: grayscale;
7
+ }
8
+
9
+ /* Pure Modal Component Styles */
10
+ .pure-modal__overlay {
11
+ position: fixed;
12
+ top: 0;
13
+ left: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ background-color: rgba(0, 0, 0, 0.5);
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ z-index: 1000;
21
+ padding: 1rem;
22
+ animation: pure-modal-overlay-fade-in 0.2s ease-out;
23
+ overflow-y: auto;
24
+ }
25
+
26
+ @keyframes pure-modal-overlay-fade-in {
27
+ from {
28
+ opacity: 0;
29
+ }
30
+ to {
31
+ opacity: 1;
32
+ }
33
+ }
34
+
35
+ .pure-modal {
36
+ background-color: #ffffff;
37
+ border-radius: 0.5rem;
38
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
39
+ display: flex;
40
+ flex-direction: column;
41
+ max-height: 90vh;
42
+ width: 100%;
43
+ animation: pure-modal-slide-in 0.3s ease-out;
44
+ position: relative;
45
+ overflow: hidden;
46
+ margin: 0 auto;
47
+ }
48
+
49
+ @keyframes pure-modal-slide-in {
50
+ from {
51
+ opacity: 0;
52
+ transform: translateY(-20px) scale(0.95);
53
+ }
54
+ to {
55
+ opacity: 1;
56
+ transform: translateY(0) scale(1);
57
+ }
58
+ }
59
+
60
+ /* Position Variants */
61
+ .pure-modal--position-center {
62
+ /* Default - already centered by overlay */
63
+ }
64
+
65
+ .pure-modal--position-top {
66
+ margin-top: 2rem;
67
+ margin-bottom: auto;
68
+ }
69
+
70
+ .pure-modal--position-bottom {
71
+ margin-top: auto;
72
+ margin-bottom: 2rem;
73
+ }
74
+
75
+ .pure-modal--position-left {
76
+ margin-left: 2rem;
77
+ margin-right: auto;
78
+ }
79
+
80
+ .pure-modal--position-right {
81
+ margin-left: auto;
82
+ margin-right: 2rem;
83
+ }
84
+
85
+ .pure-modal--position-top-left {
86
+ margin-top: 2rem;
87
+ margin-bottom: auto;
88
+ margin-left: 2rem;
89
+ margin-right: auto;
90
+ }
91
+
92
+ .pure-modal--position-top-right {
93
+ margin-top: 2rem;
94
+ margin-bottom: auto;
95
+ margin-left: auto;
96
+ margin-right: 2rem;
97
+ }
98
+
99
+ .pure-modal--position-bottom-left {
100
+ margin-top: auto;
101
+ margin-bottom: 2rem;
102
+ margin-left: 2rem;
103
+ margin-right: auto;
104
+ }
105
+
106
+ .pure-modal--position-bottom-right {
107
+ margin-top: auto;
108
+ margin-bottom: 2rem;
109
+ margin-left: auto;
110
+ margin-right: 2rem;
111
+ }
112
+
113
+ /* Size Variants */
114
+ .pure-modal--small {
115
+ max-width: 400px;
116
+ }
117
+
118
+ .pure-modal--medium {
119
+ max-width: 600px;
120
+ }
121
+
122
+ .pure-modal--large {
123
+ max-width: 900px;
124
+ }
125
+
126
+ .pure-modal--fullscreen {
127
+ max-width: 100%;
128
+ max-height: 100vh;
129
+ height: 100vh;
130
+ border-radius: 0;
131
+ margin: 0;
132
+ }
133
+
134
+ /* Variant Colors */
135
+ .pure-modal--default {
136
+ background-color: #ffffff;
137
+ }
138
+
139
+ .pure-modal--primary {
140
+ background: linear-gradient(to bottom, #007bff 0%, #0056b3 100%);
141
+ color: #ffffff;
142
+ }
143
+
144
+ .pure-modal--primary .pure-modal__header {
145
+ border-bottom-color: rgba(255, 255, 255, 0.2);
146
+ }
147
+
148
+ .pure-modal--primary .pure-modal__title {
149
+ color: #ffffff;
150
+ }
151
+
152
+ .pure-modal--primary .pure-modal__body {
153
+ color: #ffffff;
154
+ }
155
+
156
+ .pure-modal--primary .pure-modal__close-button {
157
+ color: #ffffff;
158
+ }
159
+
160
+ .pure-modal--primary .pure-modal__close-button:hover {
161
+ background-color: rgba(255, 255, 255, 0.2);
162
+ color: #ffffff;
163
+ }
164
+
165
+ .pure-modal--secondary {
166
+ background: linear-gradient(to bottom, #6c757d 0%, #545b62 100%);
167
+ color: #ffffff;
168
+ }
169
+
170
+ .pure-modal--secondary .pure-modal__header {
171
+ border-bottom-color: rgba(255, 255, 255, 0.2);
172
+ }
173
+
174
+ .pure-modal--secondary .pure-modal__title,
175
+ .pure-modal--secondary .pure-modal__body,
176
+ .pure-modal--secondary .pure-modal__close-button {
177
+ color: #ffffff;
178
+ }
179
+
180
+ .pure-modal--secondary .pure-modal__close-button:hover {
181
+ background-color: rgba(255, 255, 255, 0.2);
182
+ }
183
+
184
+ .pure-modal--success {
185
+ background: linear-gradient(to bottom, #28a745 0%, #218838 100%);
186
+ color: #ffffff;
187
+ }
188
+
189
+ .pure-modal--success .pure-modal__header {
190
+ border-bottom-color: rgba(255, 255, 255, 0.2);
191
+ }
192
+
193
+ .pure-modal--success .pure-modal__title,
194
+ .pure-modal--success .pure-modal__body,
195
+ .pure-modal--success .pure-modal__close-button {
196
+ color: #ffffff;
197
+ }
198
+
199
+ .pure-modal--success .pure-modal__close-button:hover {
200
+ background-color: rgba(255, 255, 255, 0.2);
201
+ }
202
+
203
+ .pure-modal--danger {
204
+ background: linear-gradient(to bottom, #dc3545 0%, #c82333 100%);
205
+ color: #ffffff;
206
+ }
207
+
208
+ .pure-modal--danger .pure-modal__header {
209
+ border-bottom-color: rgba(255, 255, 255, 0.2);
210
+ }
211
+
212
+ .pure-modal--danger .pure-modal__title,
213
+ .pure-modal--danger .pure-modal__body,
214
+ .pure-modal--danger .pure-modal__close-button {
215
+ color: #ffffff;
216
+ }
217
+
218
+ .pure-modal--danger .pure-modal__close-button:hover {
219
+ background-color: rgba(255, 255, 255, 0.2);
220
+ }
221
+
222
+ .pure-modal--warning {
223
+ background: linear-gradient(to bottom, #ffc107 0%, #e0a800 100%);
224
+ color: #212529;
225
+ }
226
+
227
+ .pure-modal--warning .pure-modal__header {
228
+ border-bottom-color: rgba(0, 0, 0, 0.1);
229
+ }
230
+
231
+ .pure-modal--warning .pure-modal__title,
232
+ .pure-modal--warning .pure-modal__body {
233
+ color: #212529;
234
+ }
235
+
236
+ .pure-modal--warning .pure-modal__close-button {
237
+ color: #212529;
238
+ }
239
+
240
+ .pure-modal--warning .pure-modal__close-button:hover {
241
+ background-color: rgba(0, 0, 0, 0.1);
242
+ }
243
+
244
+ .pure-modal--info {
245
+ background: linear-gradient(to bottom, #17a2b8 0%, #138496 100%);
246
+ color: #ffffff;
247
+ }
248
+
249
+ .pure-modal--info .pure-modal__header {
250
+ border-bottom-color: rgba(255, 255, 255, 0.2);
251
+ }
252
+
253
+ .pure-modal--info .pure-modal__title,
254
+ .pure-modal--info .pure-modal__body,
255
+ .pure-modal--info .pure-modal__close-button {
256
+ color: #ffffff;
257
+ }
258
+
259
+ .pure-modal--info .pure-modal__close-button:hover {
260
+ background-color: rgba(255, 255, 255, 0.2);
261
+ }
262
+
263
+ /* Gradient Variants */
264
+ .pure-modal--gradient-primary {
265
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
266
+ color: #ffffff;
267
+ }
268
+
269
+ .pure-modal--gradient-primary .pure-modal__header {
270
+ border-bottom-color: rgba(255, 255, 255, 0.2);
271
+ }
272
+
273
+ .pure-modal--gradient-primary .pure-modal__title,
274
+ .pure-modal--gradient-primary .pure-modal__body,
275
+ .pure-modal--gradient-primary .pure-modal__close-button {
276
+ color: #ffffff;
277
+ }
278
+
279
+ .pure-modal--gradient-primary .pure-modal__close-button:hover {
280
+ background-color: rgba(255, 255, 255, 0.2);
281
+ }
282
+
283
+ .pure-modal--gradient-success {
284
+ background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
285
+ color: #ffffff;
286
+ }
287
+
288
+ .pure-modal--gradient-success .pure-modal__header {
289
+ border-bottom-color: rgba(255, 255, 255, 0.2);
290
+ }
291
+
292
+ .pure-modal--gradient-success .pure-modal__title,
293
+ .pure-modal--gradient-success .pure-modal__body,
294
+ .pure-modal--gradient-success .pure-modal__close-button {
295
+ color: #ffffff;
296
+ }
297
+
298
+ .pure-modal--gradient-success .pure-modal__close-button:hover {
299
+ background-color: rgba(255, 255, 255, 0.2);
300
+ }
301
+
302
+ .pure-modal--gradient-danger {
303
+ background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
304
+ color: #ffffff;
305
+ }
306
+
307
+ .pure-modal--gradient-danger .pure-modal__header {
308
+ border-bottom-color: rgba(255, 255, 255, 0.2);
309
+ }
310
+
311
+ .pure-modal--gradient-danger .pure-modal__title,
312
+ .pure-modal--gradient-danger .pure-modal__body,
313
+ .pure-modal--gradient-danger .pure-modal__close-button {
314
+ color: #ffffff;
315
+ }
316
+
317
+ .pure-modal--gradient-danger .pure-modal__close-button:hover {
318
+ background-color: rgba(255, 255, 255, 0.2);
319
+ }
320
+
321
+ .pure-modal--gradient-info {
322
+ background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
323
+ color: #ffffff;
324
+ }
325
+
326
+ .pure-modal--gradient-info .pure-modal__header {
327
+ border-bottom-color: rgba(255, 255, 255, 0.2);
328
+ }
329
+
330
+ .pure-modal--gradient-info .pure-modal__title,
331
+ .pure-modal--gradient-info .pure-modal__body,
332
+ .pure-modal--gradient-info .pure-modal__close-button {
333
+ color: #ffffff;
334
+ }
335
+
336
+ .pure-modal--gradient-info .pure-modal__close-button:hover {
337
+ background-color: rgba(255, 255, 255, 0.2);
338
+ }
339
+
340
+ /* Header */
341
+ .pure-modal__header {
342
+ display: flex;
343
+ align-items: center;
344
+ justify-content: space-between;
345
+ padding: 1.5rem;
346
+ border-bottom: 1px solid #e0e0e0;
347
+ flex-shrink: 0;
348
+ background: inherit;
349
+ }
350
+
351
+ .pure-modal__title-wrapper {
352
+ flex: 1;
353
+ }
354
+
355
+ .pure-modal__title {
356
+ margin: 0;
357
+ font-size: 1.5rem;
358
+ font-weight: 600;
359
+ line-height: 1.4;
360
+ color: #212529;
361
+ }
362
+
363
+ .pure-modal__close-button {
364
+ display: flex;
365
+ align-items: center;
366
+ justify-content: center;
367
+ width: 2rem;
368
+ height: 2rem;
369
+ padding: 0;
370
+ margin-left: 1rem;
371
+ background: transparent;
372
+ border: none;
373
+ border-radius: 0.25rem;
374
+ cursor: pointer;
375
+ color: #6c757d;
376
+ transition: all 0.2s ease-in-out;
377
+ flex-shrink: 0;
378
+ }
379
+
380
+ .pure-modal__close-button:hover {
381
+ background-color: #f0f0f0;
382
+ color: #212529;
383
+ }
384
+
385
+ .pure-modal__close-button:active {
386
+ background-color: #e0e0e0;
387
+ }
388
+
389
+ .pure-modal__close-button:focus {
390
+ outline: none;
391
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
392
+ }
393
+
394
+ .pure-modal__close-icon {
395
+ font-size: 1.5rem;
396
+ line-height: 1;
397
+ font-weight: 300;
398
+ }
399
+
400
+ /* Body */
401
+ .pure-modal__body {
402
+ padding: 1.5rem;
403
+ flex: 1;
404
+ color: #495057;
405
+ line-height: 1.6;
406
+ background: inherit;
407
+ }
408
+
409
+ .pure-modal--scrollable .pure-modal__body {
410
+ overflow-y: auto;
411
+ max-height: calc(90vh - 100px);
412
+ }
413
+
414
+ .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar {
415
+ width: 8px;
416
+ }
417
+
418
+ .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-track {
419
+ background: rgba(0, 0, 0, 0.05);
420
+ border-radius: 4px;
421
+ }
422
+
423
+ .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb {
424
+ background: rgba(0, 0, 0, 0.2);
425
+ border-radius: 4px;
426
+ }
427
+
428
+ .pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover {
429
+ background: rgba(0, 0, 0, 0.3);
430
+ }
431
+
432
+ /* Scrollable variants with custom scrollbar colors */
433
+ .pure-modal--primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
434
+ .pure-modal--secondary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
435
+ .pure-modal--success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
436
+ .pure-modal--danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
437
+ .pure-modal--info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
438
+ .pure-modal--gradient-primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
439
+ .pure-modal--gradient-success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
440
+ .pure-modal--gradient-danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb,
441
+ .pure-modal--gradient-info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb {
442
+ background: rgba(255, 255, 255, 0.3);
443
+ }
444
+
445
+ .pure-modal--primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
446
+ .pure-modal--secondary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
447
+ .pure-modal--success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
448
+ .pure-modal--danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
449
+ .pure-modal--info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
450
+ .pure-modal--gradient-primary.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
451
+ .pure-modal--gradient-success.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
452
+ .pure-modal--gradient-danger.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover,
453
+ .pure-modal--gradient-info.pure-modal--scrollable .pure-modal__body::-webkit-scrollbar-thumb:hover {
454
+ background: rgba(255, 255, 255, 0.5);
455
+ }
456
+
457
+ /* Responsive */
458
+ @media (max-width: 768px) {
459
+ .pure-modal__overlay {
460
+ padding: 0;
461
+ align-items: flex-end;
462
+ }
463
+
464
+ .pure-modal {
465
+ max-height: 95vh;
466
+ border-radius: 0.5rem 0.5rem 0 0;
467
+ animation: pure-modal-slide-up 0.3s ease-out;
468
+ }
469
+
470
+ @keyframes pure-modal-slide-up {
471
+ from {
472
+ opacity: 0;
473
+ transform: translateY(100%);
474
+ }
475
+ to {
476
+ opacity: 1;
477
+ transform: translateY(0);
478
+ }
479
+ }
480
+
481
+ .pure-modal--small,
482
+ .pure-modal--medium,
483
+ .pure-modal--large {
484
+ max-width: 100%;
485
+ }
486
+
487
+ .pure-modal--position-top,
488
+ .pure-modal--position-bottom,
489
+ .pure-modal--position-left,
490
+ .pure-modal--position-right,
491
+ .pure-modal--position-top-left,
492
+ .pure-modal--position-top-right,
493
+ .pure-modal--position-bottom-left,
494
+ .pure-modal--position-bottom-right {
495
+ margin: 0;
496
+ }
497
+
498
+ .pure-modal__header {
499
+ padding: 1rem 1.25rem;
500
+ }
501
+
502
+ .pure-modal__title {
503
+ font-size: 1.25rem;
504
+ }
505
+
506
+ .pure-modal__body {
507
+ padding: 1.25rem;
508
+ }
509
+ }