punkweb-bb 0.4.2__py3-none-any.whl → 0.5.0__py3-none-any.whl

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 (91) hide show
  1. punkweb_bb/__pycache__/bbcode.cpython-311.pyc +0 -0
  2. punkweb_bb/__pycache__/context_processors.cpython-311.pyc +0 -0
  3. punkweb_bb/__pycache__/decorators.cpython-311.pyc +0 -0
  4. punkweb_bb/__pycache__/forms.cpython-311.pyc +0 -0
  5. punkweb_bb/__pycache__/middleware.cpython-311.pyc +0 -0
  6. punkweb_bb/__pycache__/models.cpython-311.pyc +0 -0
  7. punkweb_bb/__pycache__/pagination.cpython-311.pyc +0 -0
  8. punkweb_bb/__pycache__/searching.cpython-311.pyc +0 -0
  9. punkweb_bb/__pycache__/settings.cpython-311.pyc +0 -0
  10. punkweb_bb/__pycache__/urls.cpython-311.pyc +0 -0
  11. punkweb_bb/__pycache__/utils.cpython-311.pyc +0 -0
  12. punkweb_bb/__pycache__/views.cpython-311.pyc +0 -0
  13. punkweb_bb/__pycache__/widgets.cpython-311.pyc +0 -0
  14. punkweb_bb/bbcode.py +4 -3
  15. punkweb_bb/decorators.py +17 -0
  16. punkweb_bb/forms.py +47 -10
  17. punkweb_bb/middleware.py +26 -1
  18. punkweb_bb/migrations/0001_initial.py +4 -25
  19. punkweb_bb/migrations/0004_groupstyle.py +1 -6
  20. punkweb_bb/migrations/0006_remove_boardprofile__signature_rendered_and_more.py +0 -20
  21. punkweb_bb/migrations/0007_boardprofile_bio.py +18 -0
  22. punkweb_bb/migrations/__pycache__/0001_initial.cpython-311.pyc +0 -0
  23. punkweb_bb/migrations/__pycache__/0001_squashed_0006_remove_boardprofile__signature_rendered_and_more.cpython-311.pyc +0 -0
  24. punkweb_bb/migrations/__pycache__/0004_groupstyle.cpython-311.pyc +0 -0
  25. punkweb_bb/migrations/__pycache__/0006_remove_boardprofile__signature_rendered_and_more.cpython-311.pyc +0 -0
  26. punkweb_bb/migrations/__pycache__/0007_boardprofile_bio.cpython-311.pyc +0 -0
  27. punkweb_bb/models.py +1 -0
  28. punkweb_bb/pagination.py +1 -1
  29. punkweb_bb/searching.py +10 -0
  30. punkweb_bb/settings.py +2 -0
  31. punkweb_bb/static/punkweb_bb/css/bbcode-editor-content.css +108 -0
  32. punkweb_bb/static/punkweb_bb/css/index.css +5 -6
  33. punkweb_bb/static/punkweb_bb/css/members.css +20 -3
  34. punkweb_bb/static/punkweb_bb/css/profile.css +6 -2
  35. punkweb_bb/static/punkweb_bb/css/punkweb.css +25 -687
  36. punkweb_bb/static/punkweb_bb/css/shoutbox.css +1 -9
  37. punkweb_bb/static/punkweb_bb/css/thread.css +4 -28
  38. punkweb_bb/static/punkweb_bb/js/bbcode-editor-tags.js +63 -0
  39. punkweb_bb/static/punkweb_bb/js/bbcode-editor.js +14 -0
  40. punkweb_bb/static/punkweb_bb/js/markdown-editor.js +49 -0
  41. punkweb_bb/static/punkweb_bb/js/punkweb-dialog.js +9 -0
  42. punkweb_bb/static/punkweb_bb/vendor/htmx-2.0.0.min.js +1 -0
  43. punkweb_bb/static/punkweb_bb/vendor/punkweb-ui.min.css +1 -0
  44. punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/css/commandbar.css +2 -2
  45. punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/css/editor.css +1 -1
  46. punkweb_bb/templates/punkweb_bb/base.html +19 -21
  47. punkweb_bb/templates/punkweb_bb/base_delete_dialog.html +13 -0
  48. punkweb_bb/templates/punkweb_bb/base_delete_modal.html +2 -2
  49. punkweb_bb/templates/punkweb_bb/base_dialog.html +16 -0
  50. punkweb_bb/templates/punkweb_bb/bbcode.html +11 -9
  51. punkweb_bb/templates/punkweb_bb/category_create.html +4 -21
  52. punkweb_bb/templates/punkweb_bb/category_update.html +3 -20
  53. punkweb_bb/templates/punkweb_bb/components/pagination_controls.html +45 -0
  54. punkweb_bb/templates/punkweb_bb/components/profile_image.html +11 -0
  55. punkweb_bb/templates/punkweb_bb/forms/inline_form.html +6 -0
  56. punkweb_bb/templates/punkweb_bb/forms/stacked_form.html +35 -0
  57. punkweb_bb/templates/punkweb_bb/index.html +65 -70
  58. punkweb_bb/templates/punkweb_bb/login.html +5 -11
  59. punkweb_bb/templates/punkweb_bb/members.html +23 -52
  60. punkweb_bb/templates/punkweb_bb/partials/category_delete.html +1 -1
  61. punkweb_bb/templates/punkweb_bb/partials/post_delete.html +1 -1
  62. punkweb_bb/templates/punkweb_bb/partials/post_update.html +4 -11
  63. punkweb_bb/templates/punkweb_bb/partials/shout_delete.html +1 -1
  64. punkweb_bb/templates/punkweb_bb/partials/subcategory_delete.html +1 -1
  65. punkweb_bb/templates/punkweb_bb/partials/thread_delete.html +1 -1
  66. punkweb_bb/templates/punkweb_bb/partials/thread_move.html +5 -13
  67. punkweb_bb/templates/punkweb_bb/profile.html +14 -11
  68. punkweb_bb/templates/punkweb_bb/search.html +27 -0
  69. punkweb_bb/templates/punkweb_bb/settings.html +7 -33
  70. punkweb_bb/templates/punkweb_bb/shoutbox/shout_list.html +2 -2
  71. punkweb_bb/templates/punkweb_bb/shoutbox/shoutbox.html +21 -6
  72. punkweb_bb/templates/punkweb_bb/signup.html +6 -15
  73. punkweb_bb/templates/punkweb_bb/subcategory.html +12 -54
  74. punkweb_bb/templates/punkweb_bb/subcategory_create.html +7 -16
  75. punkweb_bb/templates/punkweb_bb/subcategory_update.html +7 -16
  76. punkweb_bb/templates/punkweb_bb/thread.html +23 -88
  77. punkweb_bb/templates/punkweb_bb/thread_create.html +7 -16
  78. punkweb_bb/templates/punkweb_bb/thread_update.html +7 -16
  79. punkweb_bb/templatetags/__pycache__/can_delete.cpython-311.pyc +0 -0
  80. punkweb_bb/templatetags/__pycache__/punkweb_bb.cpython-311.pyc +0 -0
  81. punkweb_bb/templatetags/__pycache__/render.cpython-311.pyc +0 -0
  82. punkweb_bb/templatetags/__pycache__/settings.cpython-311.pyc +0 -0
  83. punkweb_bb/templatetags/punkweb_bb.py +9 -0
  84. punkweb_bb/urls.py +1 -0
  85. punkweb_bb/views.py +97 -71
  86. punkweb_bb/widgets.py +3 -4
  87. {punkweb_bb-0.4.2.dist-info → punkweb_bb-0.5.0.dist-info}/METADATA +25 -36
  88. {punkweb_bb-0.4.2.dist-info → punkweb_bb-0.5.0.dist-info}/RECORD +91 -67
  89. {punkweb_bb-0.4.2.dist-info → punkweb_bb-0.5.0.dist-info}/LICENSE +0 -0
  90. {punkweb_bb-0.4.2.dist-info → punkweb_bb-0.5.0.dist-info}/WHEEL +0 -0
  91. {punkweb_bb-0.4.2.dist-info → punkweb_bb-0.5.0.dist-info}/top_level.txt +0 -0
@@ -1,23 +1,18 @@
1
1
  body {
2
- background-color: var(--body-bg);
3
- color: var(--body-fg);
2
+ background-color: white;
3
+ color: var(--oc-gray-9);
4
4
  }
5
5
 
6
6
  a {
7
- color: var(--link);
7
+ color: var(--primary-9);
8
8
  }
9
9
 
10
10
  hr {
11
11
  border: none;
12
- border-top: 1px solid var(--border);
12
+ border-top: 1px solid var(--oc-gray-4);
13
13
  margin: 1rem 0;
14
14
  }
15
15
 
16
- .material-symbols-outlined {
17
- font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
18
- user-select: none;
19
- }
20
-
21
16
  .onlineIndicator {
22
17
  background-color: var(--oc-green-6);
23
18
  border-radius: 100%;
@@ -26,19 +21,6 @@ hr {
26
21
  width: 0.5rem;
27
22
  }
28
23
 
29
- blockquote {
30
- background: var(--oc-gray-1);
31
- margin: 0.25rem 0;
32
- border-left: 2px solid var(--border);
33
- padding: 0.5rem 1rem;
34
- }
35
-
36
- blockquote cite {
37
- font-weight: 700;
38
- display: block;
39
- font-size: 1rem;
40
- }
41
-
42
24
  /** Layout **/
43
25
 
44
26
  .layout {
@@ -53,17 +35,10 @@ blockquote cite {
53
35
  overflow-y: auto;
54
36
  }
55
37
 
56
- .container {
57
- margin: 0 auto;
58
- max-width: 90rem;
59
- padding: 0 1rem;
60
- width: 100%;
61
- }
62
-
63
38
  /** Nav **/
64
39
 
65
40
  .nav__upper {
66
- background-color: var(--upper-nav-bg);
41
+ background-color: var(--oc-gray-9);
67
42
  }
68
43
 
69
44
  .nav__upper__content {
@@ -79,13 +54,13 @@ blockquote cite {
79
54
  }
80
55
 
81
56
  .nav__upper__link {
82
- color: var(--upper-nav-link);
57
+ color: var(--oc-gray-0);
83
58
  }
84
59
 
85
60
  .nav__main {
86
- background-color: var(--main-nav-bg);
61
+ background-color: var(--primary-9);
87
62
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
88
- color: var(--main-nav-text);
63
+ color: var(--oc-gray-0);
89
64
  }
90
65
 
91
66
  .nav__main__content {
@@ -100,25 +75,25 @@ blockquote cite {
100
75
  }
101
76
 
102
77
  .nav__title {
103
- color: var(--main-nav-title);
78
+ color: var(--oc-gray-0);
104
79
  font-size: 1.5rem;
105
80
  font-weight: 700;
106
81
  }
107
82
 
108
83
  .nav__title:hover {
109
- color: var(--main-nav-title);
84
+ color: var(--oc-gray-0);
110
85
  text-decoration: none;
111
86
  }
112
87
 
113
88
  .nav__link {
114
- color: var(--main-nav-link);
89
+ color: var(--oc-gray-0);
115
90
  font-weight: 500;
116
91
  }
117
92
 
118
93
  /** Footer **/
119
94
 
120
95
  .footer {
121
- background-color: var(--footer-bg);
96
+ background-color: var(--oc-gray-9);
122
97
  color: white;
123
98
  font-size: 0.875rem;
124
99
  padding: 0.5rem 0;
@@ -131,39 +106,10 @@ blockquote cite {
131
106
  }
132
107
 
133
108
  .footer a {
134
- color: var(--footer-link);
109
+ color: var(--oc-gray-0);
135
110
  font-weight: 500;
136
111
  }
137
112
 
138
- /** Avatar **/
139
-
140
- .pw-avatar {
141
- border-radius: 100%;
142
- object-fit: cover;
143
- height: 6rem;
144
- width: 6rem;
145
- }
146
-
147
- .pw-avatar.xs {
148
- height: 2rem;
149
- width: 2rem;
150
- }
151
-
152
- .pw-avatar.sm {
153
- height: 4rem;
154
- width: 4rem;
155
- }
156
-
157
- .pw-avatar.lg {
158
- height: 8rem;
159
- width: 8rem;
160
- }
161
-
162
- .pw-avatar.xl {
163
- height: 12rem;
164
- width: 12rem;
165
- }
166
-
167
113
  /** Table **/
168
114
 
169
115
  .pw-table-container {
@@ -177,9 +123,9 @@ blockquote cite {
177
123
  }
178
124
 
179
125
  .pw-table thead tr th {
180
- background-color: var(--table-header-bg);
181
- border-bottom: 1px solid var(--border);
182
- color: var(--table-header-text);
126
+ background-color: var(--oc-gray-1);
127
+ border-bottom: 1px solid var(--oc-gray-4);
128
+ color: var(--oc-gray-7);
183
129
  font-size: 0.875rem;
184
130
  font-weight: 700;
185
131
  padding: 0.75rem 1rem;
@@ -190,629 +136,21 @@ blockquote cite {
190
136
  padding: 0.75rem 1rem;
191
137
  }
192
138
 
193
- /** Button **/
194
-
195
- .pw-button {
196
- border-radius: 0.25rem;
197
- color: var(--oc-gray-9);
198
- cursor: pointer;
199
- display: inline-block;
200
- font-size: 1rem;
201
- font-weight: 500;
202
- padding: 0.5rem 1rem;
203
- text-align: center;
204
- transition: all 0.15s ease;
205
- }
206
-
207
- .pw-button:disabled {
208
- background-color: var(--oc-gray-0) !important;
209
- border-color: var(--oc-gray-0) !important;
210
- color: var(--oc-gray-5) !important;
211
- cursor: not-allowed;
212
- }
213
-
214
- .pw-button.xs {
215
- font-size: 0.75rem;
216
- padding: 0.25rem 0.75rem;
217
- }
218
-
219
- .pw-button.sm {
220
- font-size: 0.875rem;
221
- padding: 0.375rem 0.875rem;
222
- }
223
-
224
- .pw-button.lg {
225
- font-size: 1.125rem;
226
- padding: 0.625rem 1.125rem;
227
- }
228
-
229
- .pw-button.xl {
230
- font-size: 1.25rem;
231
- padding: 0.75rem 1.25rem;
232
- }
233
-
234
- .pw-button.fluid {
235
- width: 100%;
236
- }
237
-
238
- .pw-button.rounded {
239
- border-radius: 2rem;
240
- }
241
-
242
- /* Default */
243
- .pw-button.default:not(:disabled):hover {
244
- background-color: var(--oc-gray-0);
245
- }
246
-
247
- .pw-button.default:not(:disabled):active {
248
- background-color: var(--oc-gray-1);
249
- }
250
-
251
- .pw-button.default.primary {
252
- color: var(--primary-9);
253
- }
254
-
255
- .pw-button.default.primary:hover {
256
- background-color: var(--primary-0);
257
- }
258
-
259
- .pw-button.default.primary:active {
260
- background-color: var(--primary-1);
261
- }
262
-
263
- .pw-button.default.danger {
264
- color: var(--oc-red-9);
265
- }
266
-
267
- .pw-button.default.danger:hover {
268
- background-color: var(--oc-red-0);
269
- }
270
-
271
- .pw-button.default.danger:active {
272
- background-color: var(--oc-red-1);
273
- }
274
-
275
- /* Outlined */
276
-
277
- .pw-button.outlined {
278
- border: 1px solid var(--oc-gray-9);
279
- color: var(--oc-gray-9);
280
- }
281
-
282
- .pw-button.outlined:not(:disabled):hover {
283
- background-color: var(--oc-gray-0);
284
- }
285
-
286
- .pw-button.outlined:not(:disabled):active {
287
- background-color: var(--oc-gray-1);
288
- }
289
-
290
- .pw-button.outlined.primary {
291
- border-color: var(--primary-9);
292
- color: var(--primary-9);
293
- }
294
-
295
- .pw-button.outlined.primary:hover {
296
- background-color: var(--primary-0);
297
- }
298
-
299
- .pw-button.outlined.primary:active {
300
- background-color: var(--primary-1);
301
- }
302
-
303
- .pw-button.outlined.danger {
304
- border-color: var(--oc-red-9);
305
- color: var(--oc-red-9);
306
- }
307
-
308
- .pw-button.outlined.danger:hover {
309
- background-color: var(--oc-red-0);
310
- }
311
-
312
- .pw-button.outlined.danger:active {
313
- background-color: var(--oc-red-1);
314
- }
315
-
316
- /* Ghost */
317
-
318
- .pw-button.ghost {
319
- border: 1px solid var(--oc-gray-9);
320
- color: var(--oc-gray-9);
321
- }
322
-
323
- .pw-button.ghost:not(:disabled):hover {
324
- background-color: var(--oc-gray-9);
325
- color: white;
326
- }
327
-
328
- .pw-button.ghost:not(:disabled):active {
329
- background-color: var(--oc-gray-9);
330
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
331
- color: white;
332
- }
333
-
334
- .pw-button.ghost.primary {
335
- border: 1px solid var(--primary-9);
336
- color: var(--primary-9);
337
- }
338
-
339
- .pw-button.ghost.primary:not(:disabled):hover {
340
- background-color: var(--primary-9);
341
- color: white;
342
- }
343
-
344
- .pw-button.ghost.primary:not(:disabled):active {
345
- background-color: var(--primary-9);
346
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
347
- color: white;
348
- }
349
-
350
- .pw-button.ghost.danger {
351
- border: 1px solid var(--oc-red-9);
352
- color: var(--oc-red-9);
353
- }
354
-
355
- .pw-button.ghost.danger:not(:disabled):hover {
356
- background-color: var(--oc-red-9);
357
- color: white;
358
- }
359
-
360
- .pw-button.ghost.danger:not(:disabled):active {
361
- background-color: var(--oc-red-9);
362
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
363
- color: white;
364
- }
365
-
366
- /* Raised */
367
-
368
- .pw-button.raised {
369
- background-color: var(--oc-gray-9);
370
- box-shadow: 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.25);
371
- color: white;
372
- }
373
-
374
- .pw-button.raised.primary {
375
- background-color: var(--primary-9);
376
- }
377
-
378
- .pw-button.raised.danger {
379
- background-color: var(--oc-red-9);
380
- }
381
-
382
- .pw-button.raised:not(:disabled):hover {
383
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
384
- }
385
-
386
- .pw-button.raised:not(:disabled):active {
387
- box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.25);
388
- }
389
-
390
- /** Icon Button **/
391
-
392
- .pw-icon-button {
393
- align-items: center;
394
- border-radius: 0.25rem;
395
- cursor: pointer;
396
- display: flex;
397
- justify-content: center;
398
- font-weight: 500;
399
- transition: all 0.15s ease;
400
-
401
- height: 2rem;
402
- line-height: 2rem;
403
- max-height: 2rem;
404
- max-width: 2rem;
405
- min-height: 2rem;
406
- min-width: 2rem;
407
- width: 2rem;
408
- }
409
-
410
- .pw-icon-button .material-symbols-outlined {
411
- display: block;
412
- font-size: 1.125rem;
413
- }
414
-
415
- .pw-icon-button.xs {
416
- height: 1rem;
417
- line-height: 1rem;
418
- max-height: 1rem;
419
- max-width: 1rem;
420
- min-height: 1rem;
421
- min-width: 1rem;
422
- width: 1rem;
423
- }
424
-
425
- .pw-icon-button.xs .material-symbols-outlined {
426
- font-size: 0.875rem;
427
- }
428
-
429
- .pw-icon-button.sm {
430
- height: 1.5rem;
431
- line-height: 1.5rem;
432
- max-height: 1.5rem;
433
- max-width: 1.5rem;
434
- min-height: 1.5rem;
435
- min-width: 1.5rem;
436
- width: 1.5rem;
437
- }
438
-
439
- .pw-icon-button.sm .material-symbols-outlined {
440
- font-size: 1rem;
441
- }
442
-
443
- .pw-icon-button.lg {
444
- height: 2.5rem;
445
- line-height: 2.5rem;
446
- max-height: 2.5rem;
447
- max-width: 2.5rem;
448
- min-height: 2.5rem;
449
- min-width: 2.5rem;
450
- width: 2.5rem;
451
- }
452
-
453
- .pw-icon-button.lg .material-symbols-outlined {
454
- font-size: 1.25rem;
455
- }
456
-
457
- .pw-icon-button.xl {
458
- height: 3rem;
459
- line-height: 3rem;
460
- max-height: 3rem;
461
- max-width: 3rem;
462
- min-height: 3rem;
463
- min-width: 3rem;
464
- width: 3rem;
465
- }
466
-
467
- .pw-icon-button.xl .material-symbols-outlined {
468
- font-size: 1.5rem;
469
- }
470
-
471
- .pw-icon-button:disabled {
472
- background-color: var(--oc-gray-5) !important;
473
- border-color: var(--oc-gray-5) !important;
474
- color: var(--oc-gray-5) !important;
475
- cursor: not-allowed;
476
- }
477
-
478
- .pw-icon-button.rounded {
479
- border-radius: 100%;
480
- }
481
-
482
- /* Default */
139
+ /* Center content, used for login and signup */
483
140
 
484
- .pw-icon-button.default {
485
- color: var(--oc-gray-9);
486
- }
487
-
488
- .pw-icon-button.default:not(:disabled):hover {
489
- background-color: var(--oc-gray-0);
490
- }
491
-
492
- .pw-icon-button.default:not(:disabled):active {
493
- background-color: var(--oc-gray-1);
494
- }
495
-
496
- .pw-icon-button.default.primary {
497
- color: var(--primary-9);
498
- }
499
-
500
- .pw-icon-button.default.primary:hover {
501
- background-color: var(--primary-0);
502
- }
503
-
504
- .pw-icon-button.default.primary:active {
505
- background-color: var(--primary-1);
506
- }
507
-
508
- .pw-icon-button.default.danger {
509
- color: var(--oc-red-9);
510
- }
511
-
512
- .pw-icon-button.default.danger:hover {
513
- background-color: var(--oc-red-0);
514
- }
515
-
516
- .pw-icon-button.default.danger:active {
517
- background-color: var(--oc-red-1);
518
- }
519
-
520
- /* Outlined */
521
-
522
- .pw-icon-button.outlined {
523
- border: 1px solid var(--oc-gray-9);
524
- color: var(--oc-gray-9);
525
- }
526
-
527
- .pw-icon-button.outlined:not(:disabled):hover {
528
- background-color: var(--oc-gray-0);
529
- }
530
-
531
- .pw-icon-button.outlined:not(:disabled):active {
532
- background-color: var(--oc-gray-1);
533
- }
534
-
535
- .pw-icon-button.outlined.primary {
536
- border-color: var(--primary-9);
537
- color: var(--primary-9);
538
- }
539
-
540
- .pw-icon-button.outlined.primary:hover {
541
- background-color: var(--primary-0);
542
- }
543
-
544
- .pw-icon-button.outlined.primary:active {
545
- background-color: var(--primary-1);
546
- }
547
-
548
- .pw-icon-button.outlined.danger {
549
- border-color: var(--oc-red-9);
550
- color: var(--oc-red-9);
551
- }
552
-
553
- .pw-icon-button.outlined.danger:hover {
554
- background-color: var(--oc-red-0);
555
- }
556
-
557
- .pw-icon-button.outlined.danger:active {
558
- background-color: var(--oc-red-1);
559
- }
560
-
561
- /* Ghost */
562
-
563
- .pw-icon-button.ghost {
564
- border: 1px solid var(--oc-gray-9);
565
- color: var(--oc-gray-9);
566
- }
567
-
568
- .pw-icon-button.ghost:not(:disabled):hover {
569
- background-color: var(--oc-gray-9);
570
- color: white;
571
- }
572
-
573
- .pw-icon-button.ghost:not(:disabled):active {
574
- background-color: var(--oc-gray-9);
575
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
576
- color: white;
577
- }
578
-
579
- .pw-icon-button.ghost.primary {
580
- border: 1px solid var(--primary-9);
581
- color: var(--primary-9);
582
- }
583
-
584
- .pw-icon-button.ghost.primary:not(:disabled):hover {
585
- background-color: var(--primary-9);
586
- color: white;
587
- }
588
-
589
- .pw-icon-button.ghost.primary:not(:disabled):active {
590
- background-color: var(--primary-9);
591
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
592
- color: white;
593
- }
594
-
595
- .pw-icon-button.ghost.danger {
596
- border: 1px solid var(--oc-red-9);
597
- color: var(--oc-red-9);
598
- }
599
-
600
- .pw-icon-button.ghost.danger:not(:disabled):hover {
601
- background-color: var(--oc-red-9);
602
- color: white;
603
- }
604
-
605
- .pw-icon-button.ghost.danger:not(:disabled):active {
606
- background-color: var(--oc-red-9);
607
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
608
- color: white;
609
- }
610
-
611
- /* Raised */
612
-
613
- .pw-icon-button.raised {
614
- background-color: var(--oc-gray-9);
615
- box-shadow: 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.25);
616
- color: white;
617
- }
618
-
619
- .pw-icon-button.raised.primary {
620
- background-color: var(--primary-9);
621
- }
622
-
623
- .pw-icon-button.raised.danger {
624
- background-color: var(--oc-red-9);
625
- }
626
-
627
- .pw-icon-button.raised:not(:disabled):hover {
628
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
629
- }
630
-
631
- .pw-icon-button.raised:not(:disabled):active {
632
- box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.25);
633
- }
634
-
635
- /** Input **/
636
-
637
- .pw-input {
638
- border: 1px solid var(--border);
639
- border-radius: 0.25rem;
640
- color: var(--body-fg);
641
- outline: none;
642
- padding: 0.5rem 1rem;
643
- transition: all 0.15s ease;
644
- }
645
-
646
- .pw-input:disabled {
647
- background-color: var(--oc-gray-3);
648
- cursor: not-allowed;
649
- }
650
-
651
- .pw-input.fluid {
652
- width: 100%;
653
- }
654
-
655
- .pw-input:not(:disabled):hover {
656
- border-color: var(--oc-gray-6);
657
- }
658
-
659
- .pw-input:not(:disabled):focus,
660
- .pw-input:not(:disabled):active {
661
- border: 1px solid var(--primary-9);
662
- }
663
-
664
- .pw-input-label {
665
- display: block;
666
- font-size: 0.875rem;
667
- font-weight: 700;
668
- }
669
-
670
- /** Card **/
671
-
672
- .pw-card {
673
- background-color: var(--card-bg);
674
- border: 1px solid var(--border);
675
- border-radius: 0.25rem;
676
- box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.25);
677
- min-width: 16rem;
678
- width: fit-content;
679
- }
680
-
681
- .pw-card.fluid {
682
- width: 100%;
683
- }
684
-
685
- .pw-card.center {
686
- margin-left: auto;
687
- margin-right: auto;
688
- }
689
-
690
- .pw-card.margin {
691
- margin: 1rem 0;
692
- }
693
-
694
- .pw-card.padding {
695
- padding: 1rem;
696
- }
697
-
698
- .pw-card-header {
699
- background-color: var(--card-header-bg);
700
- border-bottom: 1px solid var(--border);
701
- border-top-left-radius: 0.25rem;
702
- border-top-right-radius: 0.25rem;
703
- font-size: 1rem;
704
- font-weight: 700;
705
- padding: 1rem;
141
+ .centerPage {
142
+ margin: 0 auto;
143
+ width: 20rem;
706
144
  }
707
145
 
708
- .pw-card-content {
709
- padding: 1rem;
146
+ .pw-form .errorlist.nonfield {
147
+ color: var(--oc-red-8);
148
+ margin: 0;
710
149
  }
711
150
 
712
- /* Pagination */
713
-
714
- .pw-pagination {
715
- border: 1px solid var(--border);
716
- border-radius: 0.25rem;
717
- display: flex;
151
+ .pw-form-group .errorlist {
152
+ color: var(--oc-red-8);
718
153
  list-style: none;
719
154
  margin: 0;
720
155
  padding: 0;
721
- width: fit-content;
722
- }
723
-
724
- .pw-pagination-item:not(:last-of-type) {
725
- border-right: 1px solid var(--border);
726
- }
727
-
728
- .pw-pagination-link {
729
- color: var(--primary-9);
730
- display: block;
731
- padding: 0.25rem 0.5rem;
732
- }
733
-
734
- .pw-pagination-link:not(:disabled):not(.disabled) {
735
- cursor: pointer;
736
- }
737
-
738
- .pw-pagination-item:first-child .pw-pagination-link {
739
- border-top-left-radius: 0.25rem;
740
- border-bottom-left-radius: 0.25rem;
741
- }
742
-
743
- .pw-pagination-item:last-child .pw-pagination-link {
744
- border-top-left-radius: 0.25rem;
745
- border-bottom-left-radius: 0.25rem;
746
- }
747
-
748
- .pw-pagination-item.disabled .pw-pagination-link {
749
- color: var(--oc-gray-6);
750
- cursor: auto;
751
- pointer-events: none;
752
- }
753
-
754
- .pw-pagination-item.active .pw-pagination-link {
755
- color: white;
756
- background-color: var(--primary-9);
757
- border-color: var(--primary-9);
758
- z-index: 1;
759
- }
760
-
761
- .pw-pagination-item:not(:disabled):not(.disabled):not(.active):hover {
762
- background-color: var(--oc-gray-0);
763
- }
764
-
765
- .pw-pagination-item:not(:disabled):not(.disabled):not(.active):active {
766
- background-color: var(--oc-gray-1);
767
- }
768
-
769
- /* Breadcrumb */
770
-
771
- .pw-breadcrumb {
772
- background-color: var(--breadcrumb-bg);
773
- border-radius: 0.25rem;
774
- display: flex;
775
- flex-wrap: wrap;
776
- list-style: none;
777
- margin: 0 0 1rem 0;
778
- padding: 0.75rem 1rem;
779
- }
780
-
781
- .pw-breadcrumb-item a {
782
- color: var(--breadcrumb-link);
783
- }
784
-
785
- .pw-breadcrumb-item:not(:first-of-type)::before {
786
- color: var(--breadcrumb-separator);
787
- content: "›";
788
- display: inline-block;
789
- padding: 0 0.5rem;
790
- pointer-events: none;
791
- }
792
-
793
- .pw-breadcrumb-item.active {
794
- color: var(--breadcrumb-active);
795
- }
796
-
797
- /* Callout */
798
-
799
- .pw-callout {
800
- background-color: var(--oc-gray-1);
801
- border: 1px solid var(--border);
802
- border-radius: 0.25rem;
803
- color: var(--oc-gray-9);
804
- padding: 0.5rem 1rem;
805
- width: 100%;
806
- }
807
-
808
- .pw-callout.primary {
809
- background-color: var(--primary-0);
810
- border-color: 1px solid var(--primary-4);
811
- color: var(--primary-9);
812
- }
813
-
814
- .pw-callout.danger {
815
- background-color: var(--oc-red-0);
816
- border-color: 1px solid var(--oc-red-4);
817
- color: var(--oc-red-9);
818
156
  }