django-unfold 0.55.2__py3-none-any.whl → 1.0.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 (124) hide show
  1. {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/METADATA +1 -1
  2. {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/RECORD +124 -123
  3. {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/WHEEL +1 -1
  4. unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +2 -2
  5. unfold/contrib/forms/templates/unfold/forms/array.html +5 -5
  6. unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html +23 -23
  7. unfold/contrib/forms/widgets.py +7 -7
  8. unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html +4 -2
  9. unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html +5 -3
  10. unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html +5 -3
  11. unfold/contrib/guardian/templates/unfold/guardian/group_form.html +4 -4
  12. unfold/contrib/guardian/templates/unfold/guardian/user_form.html +4 -4
  13. unfold/contrib/import_export/templates/admin/import_export/change_form.html +1 -1
  14. unfold/contrib/import_export/templates/admin/import_export/export.html +4 -4
  15. unfold/contrib/import_export/templates/admin/import_export/import.html +1 -1
  16. unfold/contrib/import_export/templates/admin/import_export/import_confirm.html +2 -2
  17. unfold/contrib/import_export/templates/admin/import_export/import_errors.html +18 -12
  18. unfold/contrib/import_export/templates/admin/import_export/import_form.html +2 -2
  19. unfold/contrib/import_export/templates/admin/import_export/import_preview.html +2 -2
  20. unfold/contrib/import_export/templates/admin/import_export/import_validation.html +7 -7
  21. unfold/contrib/simple_history/templates/simple_history/object_history.html +3 -3
  22. unfold/contrib/simple_history/templates/simple_history/object_history_form.html +2 -2
  23. unfold/contrib/simple_history/templates/simple_history/object_history_list.html +2 -2
  24. unfold/contrib/simple_history/templates/simple_history/submit_line.html +4 -4
  25. unfold/forms.py +1 -1
  26. unfold/settings.py +22 -22
  27. unfold/sites.py +10 -5
  28. unfold/static/unfold/css/styles.css +2 -1
  29. unfold/static/unfold/fonts/material-symbols/styles.css +0 -16
  30. unfold/styles.css +140 -84
  31. unfold/templates/admin/actions.html +4 -4
  32. unfold/templates/admin/app_index.html +1 -1
  33. unfold/templates/admin/app_list.html +2 -2
  34. unfold/templates/admin/auth/user/add_form.html +1 -1
  35. unfold/templates/admin/auth/user/change_password.html +2 -2
  36. unfold/templates/admin/base.html +6 -6
  37. unfold/templates/admin/change_form.html +6 -4
  38. unfold/templates/admin/change_list.html +11 -9
  39. unfold/templates/admin/change_list_results.html +4 -4
  40. unfold/templates/admin/date_hierarchy.html +1 -1
  41. unfold/templates/admin/delete_confirmation.html +4 -4
  42. unfold/templates/admin/delete_selected_confirmation.html +3 -3
  43. unfold/templates/admin/edit_inline/stacked.html +3 -3
  44. unfold/templates/admin/edit_inline/tabular.html +4 -4
  45. unfold/templates/admin/filter.html +3 -3
  46. unfold/templates/admin/includes/fieldset.html +1 -1
  47. unfold/templates/admin/index.html +1 -1
  48. unfold/templates/admin/login.html +9 -7
  49. unfold/templates/admin/nav_sidebar.html +11 -3
  50. unfold/templates/admin/object_history.html +4 -4
  51. unfold/templates/admin/pagination.html +18 -24
  52. unfold/templates/admin/search_form.html +3 -3
  53. unfold/templates/admin/submit_line.html +53 -56
  54. unfold/templates/auth/widgets/read_only_password_hash.html +1 -1
  55. unfold/templates/registration/logged_out.html +6 -8
  56. unfold/templates/registration/password_change_done.html +1 -1
  57. unfold/templates/registration/password_change_form.html +1 -1
  58. unfold/templates/unfold/components/button.html +1 -1
  59. unfold/templates/unfold/components/card.html +5 -5
  60. unfold/templates/unfold/components/chart/cohort.html +2 -2
  61. unfold/templates/unfold/components/navigation.html +2 -2
  62. unfold/templates/unfold/components/progress.html +1 -1
  63. unfold/templates/unfold/components/table.html +3 -3
  64. unfold/templates/unfold/components/tracker.html +1 -1
  65. unfold/templates/unfold/helpers/account_links.html +7 -7
  66. unfold/templates/unfold/helpers/actions_row.html +3 -3
  67. unfold/templates/unfold/helpers/app_list.html +7 -7
  68. unfold/templates/unfold/helpers/app_list_default.html +2 -2
  69. unfold/templates/unfold/helpers/change_list_actions.html +1 -1
  70. unfold/templates/unfold/helpers/change_list_filter.html +4 -4
  71. unfold/templates/unfold/helpers/change_list_filter_actions.html +5 -5
  72. unfold/templates/unfold/helpers/delete_submit_line.html +2 -2
  73. unfold/templates/unfold/helpers/display_dropdown.html +3 -3
  74. unfold/templates/unfold/helpers/display_header.html +1 -1
  75. unfold/templates/unfold/helpers/edit_inline/tabular_delete.html +1 -1
  76. unfold/templates/unfold/helpers/edit_inline/tabular_field.html +1 -1
  77. unfold/templates/unfold/helpers/edit_inline/tabular_row.html +1 -1
  78. unfold/templates/unfold/helpers/edit_inline/tabular_title.html +1 -1
  79. unfold/templates/unfold/helpers/empty_results.html +4 -4
  80. unfold/templates/unfold/helpers/field_readonly_value.html +1 -1
  81. unfold/templates/unfold/helpers/fieldset_row_checkbox.html +2 -2
  82. unfold/templates/unfold/helpers/fieldset_row_field.html +1 -1
  83. unfold/templates/unfold/helpers/fieldsets_tabs.html +1 -1
  84. unfold/templates/unfold/helpers/header.html +3 -1
  85. unfold/templates/unfold/helpers/header_back_button.html +1 -1
  86. unfold/templates/unfold/helpers/history.html +2 -2
  87. unfold/templates/unfold/helpers/label.html +1 -1
  88. unfold/templates/unfold/helpers/language_switch.html +3 -3
  89. unfold/templates/unfold/helpers/messages/debug.html +1 -1
  90. unfold/templates/unfold/helpers/messages/error.html +1 -1
  91. unfold/templates/unfold/helpers/messages/errornote.html +1 -1
  92. unfold/templates/unfold/helpers/messages/info.html +1 -1
  93. unfold/templates/unfold/helpers/messages/success.html +1 -1
  94. unfold/templates/unfold/helpers/messages/warning.html +1 -1
  95. unfold/templates/unfold/helpers/messages.html +1 -1
  96. unfold/templates/unfold/helpers/navigation.html +10 -14
  97. unfold/templates/unfold/helpers/navigation_header.html +6 -4
  98. unfold/templates/unfold/helpers/pagination.html +7 -0
  99. unfold/templates/unfold/helpers/search.html +2 -2
  100. unfold/templates/unfold/helpers/search_results.html +1 -1
  101. unfold/templates/unfold/helpers/site_dropdown.html +2 -2
  102. unfold/templates/unfold/helpers/site_icon.html +6 -6
  103. unfold/templates/unfold/helpers/submit.html +1 -1
  104. unfold/templates/unfold/helpers/tab_action.html +5 -5
  105. unfold/templates/unfold/helpers/tab_actions.html +1 -1
  106. unfold/templates/unfold/helpers/tab_items.html +8 -8
  107. unfold/templates/unfold/helpers/tab_list.html +1 -1
  108. unfold/templates/unfold/helpers/theme_switch.html +8 -8
  109. unfold/templates/unfold/helpers/welcomemsg.html +3 -3
  110. unfold/templates/unfold/layouts/base_simple.html +3 -3
  111. unfold/templates/unfold/layouts/skeleton.html +2 -2
  112. unfold/templates/unfold/widgets/clearable_file_input.html +3 -3
  113. unfold/templates/unfold/widgets/clearable_file_input_small.html +5 -5
  114. unfold/templates/unfold/widgets/foreign_key_raw_id.html +5 -5
  115. unfold/templates/unfold/widgets/related_widget_wrapper.html +8 -8
  116. unfold/templates/unfold/widgets/split_datetime.html +2 -2
  117. unfold/templates/unfold_crispy/field.html +1 -1
  118. unfold/templates/unfold_crispy/inputs.html +1 -1
  119. unfold/templates/unfold_crispy/layout/checkbox.html +1 -1
  120. unfold/templates/unfold_crispy/layout/fieldset.html +1 -1
  121. unfold/templates/unfold_crispy/layout/table_inline_formset.html +2 -2
  122. unfold/templatetags/unfold.py +23 -9
  123. unfold/widgets.py +29 -34
  124. {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/LICENSE.md +0 -0
@@ -4,19 +4,3 @@
4
4
  font-weight: 400;
5
5
  src: url("Material-Symbols-Outlined.woff2") format("woff2");
6
6
  }
7
-
8
- .material-symbols-outlined {
9
- font-family: "Material Symbols Outlined";
10
- font-weight: normal;
11
- font-style: normal;
12
- font-size: 24px;
13
- line-height: 1;
14
- letter-spacing: normal;
15
- text-transform: none;
16
- display: inline-block;
17
- white-space: nowrap;
18
- word-wrap: normal;
19
- direction: ltr;
20
- -moz-font-feature-settings: "liga";
21
- -moz-osx-font-smoothing: grayscale;
22
- }
unfold/styles.css CHANGED
@@ -1,51 +1,97 @@
1
- @tailwind base;
2
-
3
- @tailwind components;
1
+ @import 'tailwindcss';
2
+ @plugin '@tailwindcss/typography';
3
+ @custom-variant dark (&:where(.dark, .dark *));
4
+ @source inline("h-3 w-3 h-[64px] w-[65px]! left-[65px] dark:hover:bg-white/[.06] translate-x-1/4 -translate-y-1/4");
5
+ @source inline("{-,}{top,bottom,left,right}-{0..4}");
6
+ @source inline("rounded-{t,r,b,l}-default");
7
+ @source inline("{md:,lg:,2xl:,}relative {md:,lg:,2xl:,}flex {md:,lg:,2xl:,}absolute {md:,lg:,2xl:,}sticky");
8
+ @source inline("{-,}m{t,r,b,l,x,y,}-{0..4} {-,}p{t,r,b,l,x,y,}-{0..4}");
9
+ @source inline("{md:,lg:,}border-{0,2} {md:,lg:,}border-{t,r,b,l}-{0,2}");
10
+ @source inline("{hover:,dark:,}bg-primary-{50,{100..900..100},950}");
11
+ @source inline("{hover:,dark:,}border-base-{50,{100..900..100},950} {hover:,dark:,}border-transparent");
12
+ @source inline("{hover:,dark:,}bg-base-{50,{100..900..100},950}");
13
+ @source inline("{md:,lg:,}w-{1/2,1/3,2/3,1/4,2/4,3/4,1/5,2/5,3/5,4/5}");
14
+ @source inline("{md:,lg:,}gap-{0.5,{1..12}}");
15
+ @source inline("{md:,lg:,}grid-cols-{1..12}");
16
+ @source inline("{md:,lg:,}col-span-{1..12}");
17
+
18
+ @theme {
19
+ --font-sans: 'Inter', sans-serif;
20
+ }
21
+
22
+ @theme inline{
23
+ --radius-default: var(--border-radius, 6px);
24
+
25
+ --color-primary-50: rgb(var(--color-primary-50));
26
+ --color-primary-100: rgb(var(--color-primary-100));
27
+ --color-primary-200: rgb(var(--color-primary-200));
28
+ --color-primary-300: rgb(var(--color-primary-300));
29
+ --color-primary-400: rgb(var(--color-primary-400));
30
+ --color-primary-500: rgb(var(--color-primary-500));
31
+ --color-primary-600: rgb(var(--color-primary-600));
32
+ --color-primary-700: rgb(var(--color-primary-700));
33
+ --color-primary-800: rgb(var(--color-primary-800));
34
+ --color-primary-900: rgb(var(--color-primary-900));
35
+ --color-primary-950: rgb(var(--color-primary-950));
36
+
37
+ --color-base-50: rgb(var(--color-base-50));
38
+ --color-base-100: rgb(var(--color-base-100));
39
+ --color-base-200: rgb(var(--color-base-200));
40
+ --color-base-300: rgb(var(--color-base-300));
41
+ --color-base-400: rgb(var(--color-base-400));
42
+ --color-base-500: rgb(var(--color-base-500));
43
+ --color-base-600: rgb(var(--color-base-600));
44
+ --color-base-700: rgb(var(--color-base-700));
45
+ --color-base-800: rgb(var(--color-base-800));
46
+ --color-base-900: rgb(var(--color-base-900));
47
+ --color-base-950: rgb(var(--color-base-950));
48
+
49
+ --color-font-subtle-light: rgb(var(--color-font-subtle-light));
50
+ --color-font-subtle-dark: rgb(var(--color-font-subtle-dark));
51
+ --color-font-default-light: rgb(var(--color-font-default-light));
52
+ --color-font-default-dark: rgb(var(--color-font-default-dark));
53
+ --color-font-important-light: rgb(var(--color-font-important-light));
54
+ --color-font-important-dark: rgb(var(--color-font-important-dark));
55
+ }
56
+
57
+ @utility field-sizing-content {
58
+ field-sizing: content;
59
+ }
60
+
61
+ @utility border-spacing-none {
62
+ border-spacing: 0;
63
+ }
64
+
65
+ @utility material-symbols-outlined {
66
+ font-family: 'Material Symbols Outlined';
67
+ font-weight: normal;
68
+ font-style: normal;
69
+ font-size: 18px;
70
+ line-height: 1;
71
+ letter-spacing: normal;
72
+ text-transform: none;
73
+ display: inline-block;
74
+ white-space: nowrap;
75
+ word-wrap: normal;
76
+ direction: ltr;
77
+ -moz-font-feature-settings: 'liga';
78
+ -moz-osx-font-smoothing: grayscale;
79
+ }
4
80
 
5
- @tailwind utilities;
81
+ @utility scrollable-top {
82
+ @apply after:absolute after:content-[''] after:bg-linear-to-t after:from-gray-100 after:h-4 after:left-0 after:right-0 after:-top-px after:-translate-y-full dark:after:bg-none;
83
+ }
6
84
 
7
- @layer utilities {
8
- .field-sizing-content {
9
- field-sizing: content;
10
- }
85
+ @utility md-16 {
86
+ font-size: 16px;
11
87
  }
12
88
 
13
- /*******************************************************
14
- Classes
15
- *******************************************************/
16
- .column-fill-auto {
17
- column-fill: auto;
89
+ @utility md-18 {
90
+ font-size: 18px;
18
91
  }
19
92
 
20
93
  [x-cloak] {
21
- @apply !hidden;
22
- }
23
-
24
- @layer utilities {
25
- .border-spacing-none {
26
- border-spacing: 0;
27
- }
28
-
29
- .material-symbols-outlined {
30
- font-family: "Material Symbols Outlined";
31
- font-weight: normal;
32
- font-style: normal;
33
- font-size: 18px;
34
- line-height: 1;
35
- letter-spacing: normal;
36
- text-transform: none;
37
- display: inline-block;
38
- white-space: nowrap;
39
- word-wrap: normal;
40
- direction: ltr;
41
- -moz-font-feature-settings: "liga";
42
- -moz-osx-font-smoothing: grayscale;
43
- }
44
-
45
- .scrollable-top:after {
46
- @apply absolute bg-gradient-to-t from-gray-100 h-4 left-0 right-0 -top-4 dark:bg-none;
47
- content: "";
48
- }
94
+ @apply hidden!;
49
95
  }
50
96
 
51
97
  .asteriskField {
@@ -56,17 +102,6 @@
56
102
  @apply opacity-50;
57
103
  }
58
104
 
59
- /*******************************************************
60
- Icons
61
- *******************************************************/
62
- .md-16 {
63
- font-size: 16px;
64
- }
65
-
66
- .md-18 {
67
- font-size: 18px;
68
- }
69
-
70
105
  /*******************************************************
71
106
  Search
72
107
  *******************************************************/
@@ -97,7 +132,7 @@ select:after {
97
132
  Table
98
133
  *******************************************************/
99
134
  table select {
100
- @apply appearance-none bg-no-repeat border border-base-200 block cursor-pointer font-medium px-3 py-2 pr-5 rounded shadow-sm text-base-500;
135
+ @apply appearance-none bg-no-repeat border border-base-200 block cursor-pointer font-medium px-3 py-2 pr-5 rounded-default shadow-xs text-base-500;
101
136
 
102
137
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="rgb(156, 163, 175)"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10l5 5 5-5H7z"/></svg>');
103
138
  background-size: 1.125rem 1.125rem;
@@ -118,11 +153,11 @@ table tr.selected th {
118
153
  Datetime
119
154
  *******************************************************/
120
155
  .datetimeshortcuts {
121
- @apply absolute flex flex-row-reverse items-center right-0 text-0 top-px;
156
+ @apply absolute flex flex-row-reverse items-center right-0 text-[0px] top-px;
122
157
  }
123
158
 
124
159
  .datetimeshortcuts a {
125
- @apply text-0 text-base-400 transition hover:text-base-700;
160
+ @apply text-[0px] text-base-400 transition hover:text-base-700;
126
161
  }
127
162
 
128
163
  .datetimeshortcuts a:first-child {
@@ -130,7 +165,7 @@ table tr.selected th {
130
165
  }
131
166
 
132
167
  .datetimeshortcuts a:first-child:after {
133
- @apply border-l border-base-200 flex h-9 items-center justify-center leading-none material-symbols-outlined py-2 text-base text-center w-9 hover:text-base-700 dark:border-base-700 dark:hover:text-white;
168
+ @apply border-l border-base-200 flex h-9 items-center justify-center leading-none material-symbols-outlined py-2 text-center w-9 hover:text-base-700 dark:border-base-700 dark:hover:text-white;
134
169
  content: "timer";
135
170
  }
136
171
 
@@ -143,7 +178,7 @@ table tr.selected th {
143
178
  }
144
179
 
145
180
  .date-icon:after {
146
- @apply border-l border-base-200 h-9 items-center justify-center leading-none material-symbols-outlined py-2 text-base text-center w-9 hover:text-base-700 dark:border-base-700;
181
+ @apply border-l border-base-200 h-9 items-center justify-center leading-none material-symbols-outlined py-2 text-center w-9 hover:text-base-700 dark:border-base-700;
147
182
  content: "edit";
148
183
  }
149
184
 
@@ -170,7 +205,7 @@ table tr.selected th {
170
205
  }
171
206
 
172
207
  .timezonewarning:hover {
173
- @apply bg-white bottom-px leading-9 left-px right-px px-3 rounded text-xs top-px dark:bg-base-900;
208
+ @apply bg-white bottom-px leading-9 left-px right-px px-3 rounded-default text-xs top-px dark:bg-base-900;
174
209
  }
175
210
 
176
211
  .timezonewarning:hover:before {
@@ -186,11 +221,20 @@ table tr.selected th {
186
221
  Selector
187
222
  *******************************************************/
188
223
  .selector {
189
- @apply flex flex-col flex-grow items-center md:flex-row;
224
+ @apply flex flex-col grow items-center md:flex-row;
225
+ }
226
+
227
+ .selector .selector-available-title label,
228
+ .selector .selector-chosen-title label {
229
+ @apply block border-b border-base-200 font-semibold mb-3 py-2 px-4 text-sm text-font-important-light dark:border-base-700 dark:text-font-important-dark;
230
+ }
231
+
232
+ .selector .helptext {
233
+ @apply border-b border-base-200 mb-3 px-4 pb-3 dark:border-base-700;
190
234
  }
191
235
 
192
236
  .selector select {
193
- @apply bg-none flex-grow w-full dark:bg-base-900;
237
+ @apply bg-none grow w-full dark:bg-base-900 dark:scheme-dark;
194
238
  }
195
239
 
196
240
  .selector option {
@@ -203,7 +247,7 @@ table tr.selected th {
203
247
 
204
248
  .selector-chosen,
205
249
  .selector-available {
206
- @apply border border-base-200 flex flex-col flex-grow rounded self-stretch shadow-sm md:w-72 lg:w-96 dark:border-base-700;
250
+ @apply border border-base-200 flex flex-col grow rounded-default self-stretch shadow-xs md:w-72 lg:w-96 dark:border-base-700;
207
251
  }
208
252
 
209
253
  .selector-chosen h2,
@@ -216,7 +260,7 @@ table tr.selected th {
216
260
  }
217
261
 
218
262
  .selector-filter input {
219
- @apply bg-base-100 block flex-grow font-medium mb-3 mx-3 px-3 py-2 rounded text-base-500 text-sm focus:outline-none dark:bg-base-800 dark:text-base-300;
263
+ @apply bg-base-100 block grow font-medium mb-3 mx-3 px-3 py-2 rounded-default text-base-500 text-sm focus:outline-hidden dark:bg-base-800 dark:text-base-300;
220
264
  }
221
265
 
222
266
  .selector-chooseall,
@@ -229,7 +273,7 @@ table tr.selected th {
229
273
  }
230
274
 
231
275
  .selector-chooser {
232
- @apply flex flex-col my-4 text-0 w-14;
276
+ @apply flex flex-col my-4 text-[0px] w-14;
233
277
  }
234
278
 
235
279
  .selector-chooser li {
@@ -250,7 +294,7 @@ table tr.selected th {
250
294
  }
251
295
 
252
296
  .related-widget-wrapper {
253
- @apply !flex-nowrap;
297
+ @apply flex-nowrap!;
254
298
  }
255
299
 
256
300
  .related-widget-wrapper-link {
@@ -269,6 +313,10 @@ table tr.selected th {
269
313
  @apply border-t border-base-200 dark:border-base-800;
270
314
  }
271
315
 
316
+ .tabular-table tbody.has_original:first-of-type {
317
+ @apply border-t-0;
318
+ }
319
+
272
320
  .add-row {
273
321
  @apply align-middle bg-white px-3 py-5 font-normal text-right dark:bg-base-900;
274
322
  }
@@ -282,7 +330,7 @@ table tr.selected th {
282
330
  }
283
331
 
284
332
  .add-row a {
285
- @apply bg-white border border-base-200 block font-medium px-3 py-2 rounded text-center hover:text-base-700 lg:float-right dark:bg-base-900 dark:border-base-700 dark:hover:text-base-200;
333
+ @apply bg-white border border-base-200 block font-medium px-3 py-2 rounded-default text-center hover:text-base-700 lg:float-right dark:bg-base-900 dark:border-base-700 dark:hover:text-base-200;
286
334
  }
287
335
 
288
336
  .inline-deletelink {
@@ -301,7 +349,15 @@ h3 span:nth-child(3) {
301
349
  Autocomplete
302
350
  *******************************************************/
303
351
  .select2.select2-container {
304
- @apply bg-white border border-base-200 max-w-2xl !min-h-9.5 relative rounded shadow-sm !w-full dark:bg-base-900 dark:border-base-700;
352
+ @apply bg-white border border-base-200 max-w-2xl min-h-[38px]! relative rounded-default shadow-xs w-full! dark:bg-base-900 dark:border-base-700;
353
+ }
354
+
355
+ .select2-selection {
356
+ @apply outline-none;
357
+ }
358
+
359
+ .select2.select2-container.select2-container--focus{
360
+ @apply outline-2 outline-primary-600 -outline-offset-2;
305
361
  }
306
362
 
307
363
  .errors .select2.select2-container {
@@ -325,7 +381,7 @@ h3 span:nth-child(3) {
325
381
  .select2-container.select2-container--admin-autocomplete
326
382
  .select2-selection--single
327
383
  .select2-selection__clear {
328
- @apply flex items-center h-9 -mt-2 text-0;
384
+ @apply flex items-center h-9 -mt-2 text-[0px];
329
385
  }
330
386
 
331
387
  .select2-container.select2-container--admin-autocomplete
@@ -367,7 +423,7 @@ h3 span:nth-child(3) {
367
423
  .select2-container.select2-container--admin-autocomplete
368
424
  .select2-search--dropdown
369
425
  .select2-search__field {
370
- @apply bg-base-50 border border-base-200 border-solid flex-grow font-medium mx-0 outline-none px-3 py-2 rounded shadow-sm text-font-default-light text-sm w-full dark:bg-base-800 dark:border-base-800 dark:text-font-default-dark;
426
+ @apply bg-base-50 border border-base-200 border-solid grow font-medium mx-0 outline-hidden px-3 py-2 rounded-default shadow-xs text-font-default-light text-sm w-full dark:bg-base-800 dark:border-base-800 dark:text-font-default-dark;
371
427
  }
372
428
 
373
429
  .select2-container.select2-container--admin-autocomplete.select2-container--open.select2-container--above {
@@ -379,15 +435,15 @@ h3 span:nth-child(3) {
379
435
  }
380
436
 
381
437
  .select2-container.select2-container--open .select2-dropdown {
382
- @apply border-primary-600 ring ring-primary-300 pb-2 shadow-sm dark:bg-base-900 dark:border-primary-700 after:block after:bg-white after:absolute after:border-l after:border-l-primary-600 after:border-r after:border-r-primary-600 after:h-1 after:-left-px after:-right-px after:-mt-1 after:top-0 dark:after:bg-base-900 dark:after:border-l-primary-700 dark:after:border-r-primary-700 dark:ring-primary-700 dark:ring-opacity-50;
438
+ @apply border border-transparent outline-2 -outline-offset-2 outline-primary-600 pb-2 shadow-xs dark:bg-base-900;
383
439
  }
384
440
 
385
441
  .select2-container.select2-container--open .select2-dropdown--below {
386
- @apply rounded-t-none rounded-b;
442
+ @apply rounded-t-none rounded-b -top-0.5;
387
443
  }
388
444
 
389
445
  .select2-container.select2-container--open .select2-dropdown--above {
390
- @apply rounded-b-none rounded after:bottom-0 after:-mb-1 after:mt-0 after:top-auto;
446
+ @apply rounded-b-none rounded-default -bottom-0.5;
391
447
  }
392
448
 
393
449
  .select2-container.select2-container--admin-autocomplete
@@ -433,14 +489,14 @@ h3 span:nth-child(3) {
433
489
  .select2-selection--multiple
434
490
  li.select2-selection__choice
435
491
  .select2-selection__choice__remove {
436
- @apply align-top text-0 hover:text-base-600 dark:hover:text-base-200;
492
+ @apply align-top text-[0px] hover:text-base-600 dark:hover:text-base-200;
437
493
  }
438
494
 
439
495
  .select2-container--admin-autocomplete
440
496
  .select2-selection--multiple
441
497
  li.select2-selection__choice
442
498
  .select2-selection__choice__remove:after {
443
- @apply h-7 !leading-7 material-symbols-outlined;
499
+ @apply h-7 leading-7! material-symbols-outlined;
444
500
 
445
501
  content: "close";
446
502
  font-size: 14px;
@@ -454,7 +510,7 @@ h3 span:nth-child(3) {
454
510
  }
455
511
 
456
512
  .select2.select2-container--open {
457
- @apply border-b-0 border-primary-600 relative ring ring-primary-300 dark:border-primary-700 dark:ring-primary-700 dark:ring-opacity-50;
513
+ @apply border-b-0 border-primary-600 relative outline-2 -outline-offset-2 outline-primary-600;
458
514
  }
459
515
 
460
516
  /*******************************************************
@@ -495,7 +551,7 @@ fieldset details[open] > summary:after {
495
551
  *******************************************************/
496
552
  .calendarbox,
497
553
  .clockbox {
498
- @apply bg-white border border-base-200 rounded shadow-sm text-base-500 text-sm w-80 z-50 dark:bg-base-800 dark:border-base-700 !fixed !left-1/2 !top-1/2 -translate-x-1/2 -translate-y-1/2;
554
+ @apply bg-white border border-base-200 rounded-default shadow-xs text-base-500 text-sm w-80 z-50 dark:bg-base-800 dark:border-base-700 fixed! left-1/2! top-1/2! -translate-x-1/2 -translate-y-1/2;
499
555
  }
500
556
 
501
557
  .calendar caption {
@@ -527,11 +583,11 @@ fieldset details[open] > summary:after {
527
583
  }
528
584
 
529
585
  .calendar-shortcuts {
530
- @apply flex flex-row justify-center mb-3 px-1 rounded-b text-0;
586
+ @apply flex flex-row justify-center mb-3 px-1 rounded-b text-[0px];
531
587
  }
532
588
 
533
589
  .calendar-shortcuts a {
534
- @apply border border-base-200 font-medium leading-none mx-1 px-2 py-2 rounded shadow-sm text-center text-base-500 text-xs transition-all w-1/3 dark:border-base-700 dark:hover:border-base-600 dark:text-base-300 dark:hover:text-base-200;
590
+ @apply border border-base-200 font-medium leading-none mx-1 px-2 py-2 rounded-default shadow-xs text-center text-base-500 text-xs transition-all w-1/3 dark:border-base-700 dark:hover:border-base-600 dark:text-base-300 dark:hover:text-base-200;
535
591
  }
536
592
 
537
593
  .calendar-cancel {
@@ -539,7 +595,7 @@ fieldset details[open] > summary:after {
539
595
  }
540
596
 
541
597
  .calendarnav-previous {
542
- @apply absolute block ml-2 mt-2 left-0 text-0 top-0;
598
+ @apply absolute block ml-2 mt-2 left-0 text-[0px] top-0;
543
599
  }
544
600
 
545
601
  .calendarnav-next:after,
@@ -556,7 +612,7 @@ fieldset details[open] > summary:after {
556
612
  }
557
613
 
558
614
  .calendarnav-next {
559
- @apply absolute block mr-2 mt-2 right-0 text-0 top-0;
615
+ @apply absolute block mr-2 mt-2 right-0 text-[0px] top-0;
560
616
  }
561
617
 
562
618
  .calendarnav-next:after {
@@ -568,7 +624,7 @@ fieldset details[open] > summary:after {
568
624
  Timepicker
569
625
  *******************************************************/
570
626
  .clockbox {
571
- @apply bg-white border border-base-200 rounded shadow-sm text-sm dark:bg-base-800 dark:border-base-700 z-50;
627
+ @apply bg-white border border-base-200 rounded-default shadow-xs text-sm dark:bg-base-800 dark:border-base-700 z-50;
572
628
  }
573
629
 
574
630
  .clockbox h2 {
@@ -602,7 +658,7 @@ fieldset details[open] > summary:after {
602
658
  Filters
603
659
  *******************************************************/
604
660
  #changelist-filter .admin-numeric-filter-slider .noUi-handle {
605
- @apply bg-white border border-base-200 cursor-pointer h-4 -right-4 rounded-full shadow-sm w-4 dark:bg-base-200 dark:border-base-200;
661
+ @apply bg-white border border-base-200 cursor-pointer h-4 -right-4 rounded-full shadow-xs w-4 dark:bg-base-200 dark:border-base-200;
606
662
  }
607
663
 
608
664
  #changelist-filter .admin-numeric-filter-slider .noUi-handle-upper {
@@ -648,7 +704,7 @@ trix-toolbar[id^="trix-toolbar-"] {
648
704
  }
649
705
 
650
706
  .ui-tabs.ui-widget .ui-tabs-nav {
651
- @apply bg-base-100 border-0 flex gap-2 m-0 ml-3 mb-0 mt-3 mr-auto p-1 rounded text-sm dark:bg-white/[.04] after:hidden;
707
+ @apply bg-base-100 border-0 flex gap-2 m-0 ml-3 mb-0 mt-3 mr-auto p-1 rounded-default text-sm dark:bg-white/[.04] after:hidden;
652
708
  }
653
709
 
654
710
  .ui-tabs.ui-widget .ui-tabs-nav li {
@@ -656,11 +712,11 @@ trix-toolbar[id^="trix-toolbar-"] {
656
712
  }
657
713
 
658
714
  .ui-tabs.ui-widget .ui-tabs-nav li a {
659
- @apply bg-transparent border-0 flex flex-row font-medium items-center m-0 px-2.5 py-1 rounded text-base-400 text-sm hover:bg-base-700/[.04] hover:text-base-700 dark:hover:bg-white/[.04] dark:hover:text-white;
715
+ @apply bg-transparent border-0 flex flex-row font-medium items-center m-0 px-2.5 py-1 rounded-default text-base-400 text-sm hover:bg-base-700/[.04] hover:text-base-700 dark:hover:bg-white/[.04] dark:hover:text-white;
660
716
  }
661
717
 
662
718
  .ui-tabs.ui-widget .ui-tabs-nav li.ui-tabs-active a {
663
- @apply flex flex-row font-medium items-center px-2.5 py-1 rounded bg-white shadow-sm text-base-700 hover:bg-white dark:bg-base-900 dark:hover:bg-base-900 dark:text-white;
719
+ @apply flex flex-row font-medium items-center px-2.5 py-1 rounded-default bg-white shadow-xs text-base-700 hover:bg-white dark:bg-base-900 dark:hover:bg-base-900 dark:text-white;
664
720
  }
665
721
 
666
722
  /*******************************************************
@@ -19,7 +19,7 @@
19
19
  {% endblock %}
20
20
 
21
21
  {% block actions-submit %}
22
- <button type="submit" x-show="action" class="bg-primary-900 cursor-pointer flex font-medium items-center justify-center px-3 py-2 rounded text-sm text-white whitespace-nowrap" title="{% translate "Run the selected action" %}" name="index" value="{{ action_index|default:0 }}">
22
+ <button type="submit" x-show="action" class="bg-primary-900 cursor-pointer flex font-medium items-center justify-center px-3 py-2 rounded-default text-sm text-white whitespace-nowrap" title="{% translate "Run the selected action" %}" name="index" value="{{ action_index|default:0 }}">
23
23
  {% trans "Run" %}
24
24
  </button>
25
25
  {% endblock %}
@@ -27,7 +27,7 @@
27
27
 
28
28
  {% block actions-counter %}
29
29
  {% if actions_selection_counter %}
30
- <div class="flex flex-grow flex-col sm:flex-row sm:items-center">
30
+ <div class="flex grow flex-col sm:flex-row sm:items-center">
31
31
  <span class="action-counter" data-actions-icnt="{{ cl.result_list|length }}">
32
32
  {{ selection_note }}
33
33
  </span>
@@ -40,13 +40,13 @@
40
40
  {% if not cl.model_admin.list_disable_select_all %}
41
41
  <div class="mt-3 sm:ml-auto sm:mt-0">
42
42
  <span class="question hidden">
43
- <a href="#" class="bg-white/20 block border border-transparent font-medium px-3 py-2 rounded text-white transition-colors hover:bg-white/30" title="{% translate "Click here to select the objects across all pages" %}">
43
+ <a href="#" class="bg-white/20 block border border-transparent font-medium px-3 py-2 rounded-default text-white transition-colors hover:bg-white/30" title="{% translate "Click here to select the objects across all pages" %}">
44
44
  {% blocktranslate with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktranslate %}
45
45
  </a>
46
46
  </span>
47
47
 
48
48
  <span class="clear hidden">
49
- <a href="#" class="bg-white/20 block border border-transparent font-medium px-3 py-2 rounded text-white transition-colors hover:bg-white/30">
49
+ <a href="#" class="bg-white/20 block border border-transparent font-medium px-3 py-2 rounded-default text-white transition-colors hover:bg-white/30">
50
50
  {% translate "Clear selection" %}
51
51
  </a>
52
52
  </span>
@@ -30,7 +30,7 @@
30
30
 
31
31
  {% block content %}
32
32
  <div class="flex flex-row -mx-4">
33
- <div class="flex-grow px-4">
33
+ <div class="grow px-4">
34
34
  {% include "unfold/helpers/app_list_default.html" %}
35
35
  </div>
36
36
  </div>
@@ -1,7 +1,7 @@
1
1
  {% load i18n %}
2
2
 
3
3
  {% if app_list %}
4
- <div class="h-0 flex-grow overflow-auto" data-simplebar>
4
+ <div class="h-0 grow overflow-auto" data-simplebar>
5
5
  {% for app in app_list %}
6
6
  <div class="app-{{ app.app_label }} module{% if app.app_url in request.path %} current-app{% endif %}">
7
7
  <ol class="px-6">
@@ -27,7 +27,7 @@
27
27
 
28
28
  {% if model.admin_url %}
29
29
  <a href="{{ model.admin_url }}" id="link-{{ app.app_label }}-{{ model.object_name|lower }}"
30
- class="flex items-center h-9.5 -mx-3 px-3 rounded truncate hover:text-primary-600 dark:hover:text-primary-500 {% if model.admin_url in request.path|urlencode %}bg-base-100 font-semibold text-primary-600 dark:bg-white/[.06] dark:text-primary-500{% endif %}">
30
+ class="flex items-center h-[38px] -mx-3 px-3 rounded-default truncate hover:text-primary-600 dark:hover:text-primary-500 {% if model.admin_url in request.path|urlencode %}bg-base-100 font-semibold text-primary-600 dark:bg-white/[.06] dark:text-primary-500{% endif %}">
31
31
  {{ model.name }}
32
32
  </a>
33
33
  {% else %}
@@ -2,7 +2,7 @@
2
2
  {% load i18n %}
3
3
 
4
4
  {% block form_top %}
5
- <p class="bg-blue-50 border-blue-200 mb-8 p-3 rounded text-blue-500 text-sm dark:bg-blue-500/20 dark:border-blue-500/10">
5
+ <p class="bg-blue-50 border-blue-200 mb-8 p-3 rounded-default text-blue-500 text-sm dark:bg-blue-500/20 dark:border-blue-500/10">
6
6
  {% if not is_popup %}
7
7
  {% translate 'First, enter a username and password. Then, you’ll be able to edit more user options.' %}
8
8
  {% else %}
@@ -44,14 +44,14 @@
44
44
  {% blocktranslate with username=original asvar message %}Enter a new password for the user <strong>{{ username }}</strong>.{% endblocktranslate %}
45
45
  {% include "unfold/helpers/messages/info.html" with message=message %}
46
46
 
47
- <fieldset class="border border-base-200 mb-8 rounded pt-3 px-3 shadow-sm dark:border-base-800">
47
+ <fieldset class="border border-base-200 mb-8 rounded-default pt-3 px-3 shadow-xs dark:border-base-800">
48
48
 
49
49
  {% include "unfold/helpers/field.html" with field=form.password1 %}
50
50
 
51
51
  {% include "unfold/helpers/field.html" with field=form.password2 %}
52
52
  </fieldset>
53
53
 
54
- <button type="submit" class="bg-primary-600 border border-transparent font-medium px-3 py-2 rounded text-sm text-white">
54
+ <button type="submit" class="bg-primary-600 border border-transparent font-medium px-3 py-2 rounded-default text-sm text-white">
55
55
  {% translate 'Change password' %}
56
56
  </button>
57
57
  </form>
@@ -1,22 +1,22 @@
1
1
  {% extends 'unfold/layouts/skeleton.html' %}
2
2
 
3
- {% load i18n unfold %}
3
+ {% load admin_list i18n unfold %}
4
4
 
5
5
  {% block base %}
6
- <div id="page" class="flex min-h-screen">
6
+ <div id="page" class="flex max-w-full min-h-screen {% element_classes 'page' %}">
7
7
  {% if not is_popup and is_nav_sidebar_enabled %}
8
8
  {% block nav-sidebar %}
9
9
  {% include "admin/nav_sidebar.html" %}
10
10
  {% endblock %}
11
11
  {% endif %}
12
12
 
13
- <div id="main" class="flex-grow min-w-0" x-resize="mainWidth = $width">
13
+ <div id="main" class="bg-white flex flex-col grow min-w-0 dark:bg-base-900 {% element_classes 'main' %}">
14
14
  {% include "unfold/helpers/header.html" %}
15
15
 
16
16
  {% if not is_popup %}
17
17
  {% spaceless %}
18
18
  {% block breadcrumbs %}
19
- <div class="px-4 lg:px-8">
19
+ <div class="px-4">
20
20
  <div class="container mb-12 mx-auto -my-3">
21
21
  <ul class="flex flex-wrap">
22
22
  {% url 'admin:index' as link %}
@@ -31,14 +31,14 @@
31
31
  {% endif %}
32
32
 
33
33
  {% block messages %}
34
- <div class="px-4 lg:px-8">
34
+ <div class="px-4">
35
35
  <div class="{% if not cl.model_admin.list_fullwidth %}container{% endif %} mx-auto">
36
36
  {% include "unfold/helpers/messages.html" %}
37
37
  </div>
38
38
  </div>
39
39
  {% endblock messages %}
40
40
 
41
- <div class="px-4 pb-8 lg:px-8">
41
+ <div class="px-4 pb-8 grow">
42
42
  <div id="content" class="{% if not cl.model_admin.list_fullwidth %}container{% endif %} mx-auto {% block coltype %}colM{% endblock %}">
43
43
  {% if cl %}
44
44
  {% tab_list "changelist" cl.opts %}
@@ -11,7 +11,7 @@
11
11
 
12
12
  {% if not is_popup %}
13
13
  {% block breadcrumbs %}
14
- <div class="px-4 lg:px-8">
14
+ <div class="px-4">
15
15
  <div class="container mb-6 mx-auto -my-3 lg:mb-12">
16
16
  <ul class="flex flex-wrap">
17
17
  {% url 'admin:index' as link %}
@@ -58,7 +58,7 @@
58
58
  {% endblock %}
59
59
 
60
60
  {% block content %}
61
- <div id="content-main" x-data="{ changeFormWidth: 0 }" x-resize="changeFormWidth = $width">
61
+ <div id="content-main">
62
62
  {% block form_before %}{% endblock %}
63
63
 
64
64
  {% if adminform.model_admin.change_form_outer_before_template %}
@@ -111,8 +111,6 @@
111
111
  {% include adminform.model_admin.change_form_after_template %}
112
112
  {% endif %}
113
113
 
114
- {% block submit_buttons_bottom %}{% submit_row %}{% endblock %}
115
-
116
114
  {% block admin_change_form_document_ready %}
117
115
  <script id="django-admin-form-add-constants" src="{% static 'admin/js/change_form.js' %}"{% if adminform and add %} data-model-name="{{ opts.model_name }}"{% endif %} async></script>
118
116
  {% endblock %}
@@ -128,3 +126,7 @@
128
126
  {% block form_after %}{% endblock %}
129
127
  </div>
130
128
  {% endblock %}
129
+
130
+ {% block footer %}
131
+ {% block submit_buttons_bottom %}{% submit_row %}{% endblock %}
132
+ {% endblock %}