django-unfold 0.32.0__tar.gz → 0.34.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. {django_unfold-0.32.0 → django_unfold-0.34.0}/PKG-INFO +96 -37
  2. {django_unfold-0.32.0 → django_unfold-0.34.0}/README.md +95 -36
  3. {django_unfold-0.32.0 → django_unfold-0.34.0}/pyproject.toml +1 -1
  4. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/admin.py +5 -9
  5. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_date_range.html +1 -1
  6. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_datetime_range.html +1 -1
  7. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_numeric_range.html +1 -1
  8. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_numeric_single.html +1 -1
  9. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +1 -1
  10. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/unfold/guardian/group_form.html +10 -10
  11. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/unfold/guardian/user_form.html +10 -10
  12. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_confirm.html +1 -1
  13. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_errors.html +3 -3
  14. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_preview.html +6 -6
  15. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_validation.html +8 -8
  16. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/simple_history/templates/simple_history/object_history_list.html +18 -18
  17. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/fields.py +2 -2
  18. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/forms.py +2 -1
  19. django_unfold-0.34.0/src/unfold/static/unfold/css/styles.css +1 -0
  20. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/styles.css +6 -10
  21. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/actions.html +14 -12
  22. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/app_list.html +3 -5
  23. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/change_list.html +4 -4
  24. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/change_list_results.html +4 -4
  25. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/delete_confirmation.html +9 -9
  26. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/delete_selected_confirmation.html +9 -9
  27. django_unfold-0.34.0/src/unfold/templates/admin/edit_inline/stacked.html +92 -0
  28. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/edit_inline/tabular.html +37 -29
  29. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/filter.html +5 -5
  30. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/includes/object_delete_summary.html +2 -2
  31. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/object_history.html +9 -9
  32. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/pagination.html +3 -3
  33. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/submit_line.html +7 -7
  34. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/change_list_filter.html +3 -3
  35. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/progress.html +1 -1
  36. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/table.html +4 -4
  37. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/title.html +1 -1
  38. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/account_links.html +2 -2
  39. django_unfold-0.34.0/src/unfold/templates/unfold/helpers/actions_row.html +21 -0
  40. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/add_link.html +2 -2
  41. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/app_list.html +7 -7
  42. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/app_list_default.html +7 -7
  43. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/breadcrumb_item.html +1 -1
  44. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/display_header.html +4 -2
  45. django_unfold-0.34.0/src/unfold/templates/unfold/helpers/field_readonly_value.html +1 -0
  46. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/fieldset_row.html +1 -1
  47. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/fieldsets_tabs.html +1 -1
  48. django_unfold-0.34.0/src/unfold/templates/unfold/helpers/help_text.html +5 -0
  49. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/history.html +3 -3
  50. django_unfold-0.34.0/src/unfold/templates/unfold/helpers/label.html +16 -0
  51. django_unfold-0.34.0/src/unfold/templates/unfold/helpers/messages.html +20 -0
  52. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/navigation.html +1 -1
  53. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/search_results.html +2 -2
  54. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/site_icon.html +1 -1
  55. django_unfold-0.34.0/src/unfold/templates/unfold/helpers/tab_action.html +5 -0
  56. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/tab_list.html +9 -5
  57. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/theme_switch.html +2 -2
  58. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/welcomemsg.html +5 -3
  59. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/layouts/skeleton.html +2 -2
  60. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/clearable_file_input.html +2 -2
  61. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/clearable_file_input_small.html +2 -2
  62. django_unfold-0.34.0/src/unfold/templates/unfold/widgets/foreign_key_raw_id.html +19 -0
  63. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/radio_option.html +1 -1
  64. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/split_datetime.html +2 -2
  65. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/split_datetime_vertical.html +2 -2
  66. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templatetags/unfold_list.py +6 -7
  67. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/widgets.py +10 -5
  68. django_unfold-0.32.0/src/unfold/static/unfold/css/styles.css +0 -1
  69. django_unfold-0.32.0/src/unfold/templates/admin/edit_inline/stacked.html +0 -78
  70. django_unfold-0.32.0/src/unfold/templates/unfold/helpers/actions_row.html +0 -19
  71. django_unfold-0.32.0/src/unfold/templates/unfold/helpers/field_readonly_value.html +0 -1
  72. django_unfold-0.32.0/src/unfold/templates/unfold/helpers/help_text.html +0 -5
  73. django_unfold-0.32.0/src/unfold/templates/unfold/helpers/label.html +0 -16
  74. django_unfold-0.32.0/src/unfold/templates/unfold/helpers/messages.html +0 -9
  75. django_unfold-0.32.0/src/unfold/templates/unfold/helpers/tab_action.html +0 -5
  76. django_unfold-0.32.0/src/unfold/templates/unfold/widgets/foreign_key_raw_id.html +0 -15
  77. {django_unfold-0.32.0 → django_unfold-0.34.0}/LICENSE.md +0 -0
  78. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/__init__.py +0 -0
  79. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/apps.py +0 -0
  80. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/checks.py +0 -0
  81. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/__init__.py +0 -0
  82. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/__init__.py +0 -0
  83. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/admin.py +0 -0
  84. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/apps.py +0 -0
  85. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/forms.py +0 -0
  86. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/static/unfold/filters/css/nouislider.min.css +0 -0
  87. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/static/unfold/filters/js/DateTimeShortcuts.js +0 -0
  88. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/static/unfold/filters/js/admin-numeric-filter.js +0 -0
  89. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/static/unfold/filters/js/nouislider.min.js +0 -0
  90. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/static/unfold/filters/js/wNumb.min.js +0 -0
  91. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_field.html +0 -0
  92. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/__init__.py +0 -0
  93. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/apps.py +0 -0
  94. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/static/unfold/forms/css/trix.css +0 -0
  95. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/static/unfold/forms/js/trix.config.js +0 -0
  96. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/static/unfold/forms/js/trix.js +0 -0
  97. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/templates/unfold/forms/array.html +0 -0
  98. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html +0 -0
  99. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/templates/unfold/forms/wysiwyg.html +0 -0
  100. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/forms/widgets.py +0 -0
  101. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/__init__.py +0 -0
  102. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/apps.py +0 -0
  103. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/change_form.html +0 -0
  104. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/field.html +0 -0
  105. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html +0 -0
  106. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html +0 -0
  107. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html +0 -0
  108. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/__init__.py +0 -0
  109. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/apps.py +0 -0
  110. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/forms.py +0 -0
  111. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/base.html +0 -0
  112. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_form.html +0 -0
  113. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_export.html +0 -0
  114. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_export_item.html +0 -0
  115. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_import_export.html +0 -0
  116. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_import_item.html +0 -0
  117. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/export.html +0 -0
  118. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/import.html +0 -0
  119. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_form.html +0 -0
  120. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/import_export/templates/admin/import_export/resource_fields_list.html +0 -0
  121. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/inlines/__init__.py +0 -0
  122. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/inlines/admin.py +0 -0
  123. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/inlines/apps.py +0 -0
  124. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/inlines/checks.py +0 -0
  125. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/inlines/forms.py +0 -0
  126. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/simple_history/__init__.py +0 -0
  127. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/simple_history/apps.py +0 -0
  128. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/simple_history/templates/simple_history/object_history.html +0 -0
  129. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/simple_history/templates/simple_history/object_history_form.html +0 -0
  130. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/contrib/simple_history/templates/simple_history/submit_line.html +0 -0
  131. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/dataclasses.py +0 -0
  132. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/decorators.py +0 -0
  133. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/exceptions.py +0 -0
  134. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/settings.py +0 -0
  135. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/sites.py +0 -0
  136. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/css/simplebar.css +0 -0
  137. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/inter/Inter-Bold.woff2 +0 -0
  138. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/inter/Inter-Medium.woff2 +0 -0
  139. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/inter/Inter-Regular.woff2 +0 -0
  140. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/inter/Inter-SemiBold.woff2 +0 -0
  141. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/inter/styles.css +0 -0
  142. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/material-symbols/Material-Symbols-Outlined.woff2 +0 -0
  143. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/fonts/material-symbols/styles.css +0 -0
  144. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/alpine.anchor.js +0 -0
  145. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/alpine.js +0 -0
  146. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/alpine.persist.js +0 -0
  147. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/app.js +0 -0
  148. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/chart.js +0 -0
  149. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/htmx.js +0 -0
  150. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/static/unfold/js/simplebar.js +0 -0
  151. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/app_index.html +0 -0
  152. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/auth/user/add_form.html +0 -0
  153. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/auth/user/change_password.html +0 -0
  154. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/base.html +0 -0
  155. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/base_site.html +0 -0
  156. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/change_form.html +0 -0
  157. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/change_form_object_tools.html +0 -0
  158. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/change_list_object_tools.html +0 -0
  159. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/date_hierarchy.html +0 -0
  160. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/includes/fieldset.html +0 -0
  161. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/index.html +0 -0
  162. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/login.html +0 -0
  163. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/nav_sidebar.html +0 -0
  164. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/admin/search_form.html +0 -0
  165. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/auth/widgets/read_only_password_hash.html +0 -0
  166. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/registration/logged_out.html +0 -0
  167. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/registration/password_change_done.html +0 -0
  168. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/registration/password_change_form.html +0 -0
  169. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/button.html +0 -0
  170. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/card.html +0 -0
  171. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/chart/bar.html +0 -0
  172. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/chart/line.html +0 -0
  173. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/container.html +0 -0
  174. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/flex.html +0 -0
  175. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/icon.html +0 -0
  176. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/navigation.html +0 -0
  177. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/separator.html +0 -0
  178. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/components/text.html +0 -0
  179. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/attrs.html +0 -0
  180. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/boolean.html +0 -0
  181. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/display_label.html +0 -0
  182. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/field.html +0 -0
  183. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/field_readonly.html +0 -0
  184. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/form_errors.html +0 -0
  185. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/form_label.html +0 -0
  186. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/header.html +0 -0
  187. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/messages/error.html +0 -0
  188. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/messages/errornote.html +0 -0
  189. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/messages/info.html +0 -0
  190. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/pagination_current_item.html +0 -0
  191. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/pagination_ellipsis.html +0 -0
  192. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/search.html +0 -0
  193. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/site_logo.html +0 -0
  194. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/submit.html +0 -0
  195. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/helpers/userlinks.html +0 -0
  196. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/layouts/base.html +0 -0
  197. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/layouts/base_simple.html +0 -0
  198. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/date.html +0 -0
  199. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/radio.html +0 -0
  200. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/range.html +0 -0
  201. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/related_widget_wrapper.html +0 -0
  202. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/split_money.html +0 -0
  203. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/textarea.html +0 -0
  204. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/textarea_expandable.html +0 -0
  205. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templates/unfold/widgets/time.html +0 -0
  206. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templatetags/__init__.py +0 -0
  207. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/templatetags/unfold.py +0 -0
  208. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/typing.py +0 -0
  209. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/utils.py +0 -0
  210. {django_unfold-0.32.0 → django_unfold-0.34.0}/src/unfold/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-unfold
3
- Version: 0.32.0
3
+ Version: 0.34.0
4
4
  Summary: Modern Django admin theme for seamless interface development
5
5
  Home-page: https://unfoldadmin.com
6
6
  License: MIT
@@ -85,9 +85,13 @@ Did you decide to start using Unfold but you don't have time to make the switch
85
85
  - [Numeric filters](#numeric-filters)
86
86
  - [Date/time filters](#datetime-filters)
87
87
  - [Custom admin pages](#custom-admin-pages)
88
- - [Nonrelated inlines](#nonrelated-inlines)
89
88
  - [Display decorator](#display-decorator)
90
89
  - [Change form tabs](#change-form-tabs)
90
+ - [Inlines](#inlines)
91
+ - [Custom title](#custom-title)
92
+ - [Hide title row](#hide-title-row)
93
+ - [Display as tabs](#display-as-tabs)
94
+ - [Nonrelated inlines](#nonrelated-inlines)
91
95
  - [Third party packages](#third-party-packages)
92
96
  - [django-celery-beat](#django-celery-beat)
93
97
  - [django-guardian](#django-guardian)
@@ -107,6 +111,7 @@ Did you decide to start using Unfold but you don't have time to make the switch
107
111
  - [Pre-commit](#pre-commit)
108
112
  - [Poetry configuration](#poetry-configuration)
109
113
  - [Compiling Tailwind](#compiling-tailwind)
114
+ - [Design system](#design-system)
110
115
  - [Using VS Code with containers](#using-vs-code-with-containers)
111
116
  - [Development server](#development-server)
112
117
  - [Compiling Tailwind in devcontainer](#compiling-tailwind-in-devcontainer)
@@ -370,6 +375,9 @@ class CustomAdminClass(ModelAdmin):
370
375
  # Position horizontal scrollbar in changelist at the top
371
376
  list_horizontal_scrollbar_top = False
372
377
 
378
+ # Dsable select all action in changelist
379
+ list_disable_select_all = False
380
+
373
381
  # Custom actions
374
382
  actions_list = [] # Displayed above the results list
375
383
  actions_row = [] # Displayed in a table row in results list
@@ -775,41 +783,6 @@ The template is straightforward, extend from `unfold/layouts/base.html` and the
775
783
  {% endblock %}
776
784
  ```
777
785
 
778
- ## Nonrelated inlines
779
-
780
- To display inlines which are not related (no foreign key pointing at the main model) to the model instance in changeform, you can use nonrelated inlines which are included in `unfold.contrib.inlines` module. Make sure this module is included in `INSTALLED_APPS` in settings.py.
781
-
782
- ```python
783
- from django.contrib.auth.models import User
784
- from unfold.admin import ModelAdmin
785
- from unfold.contrib.inlines.admin import NonrelatedTabularInline
786
- from .models import OtherModel
787
-
788
- class OtherNonrelatedInline(NonrelatedTabularInline): # NonrelatedStackedInline is available as well
789
- model = OtherModel
790
- fields = ["field1", "field2"] # Ignore property to display all fields
791
-
792
- def get_form_queryset(self, obj):
793
- """
794
- Gets all nonrelated objects needed for inlines. Method must be implemented.
795
- """
796
- return self.model.objects.all()
797
-
798
- def save_new_instance(self, parent, instance):
799
- """
800
- Extra save method which can for example update inline instances based on current
801
- main model object. Method must be implemented.
802
- """
803
- pass
804
-
805
-
806
- @admin.register(User)
807
- class UserAdmin(ModelAdmin):
808
- inlines = [OtherNonrelatedInline]
809
- ```
810
-
811
- **NOTE:** credit for this functionality goes to [django-nonrelated-inlines](https://github.com/bhomnick/django-nonrelated-inlines)
812
-
813
786
  ## Display decorator
814
787
 
815
788
  Unfold introduces it's own `unfold.decorators.display` decorator. By default it has exactly same behavior as native `django.contrib.admin.decorators.display` but it adds same customizations which helps to extends default logic.
@@ -936,6 +909,44 @@ class MyModelAdmin(ModelAdmin):
936
909
  )
937
910
  ```
938
911
 
912
+ ## Inlines
913
+
914
+ ### Custom title
915
+
916
+ By default, the title available for each inline row is coming from the `__str__` implementation of the model. Unfold allows you to override this title by implementing `get_inline_title` on the model which can return your own custom title just for the inline.
917
+
918
+ ```python
919
+ from unfold.admin import TabularInline
920
+
921
+
922
+ class User(models.Model):
923
+ # fiels, meta ...
924
+
925
+ def get_inline_title(self):
926
+ return "Custom title"
927
+
928
+
929
+ class MyInline(TabularInline):
930
+ model = User
931
+ ```
932
+
933
+ ### Hide title row
934
+
935
+ By applying `hide_title` attribute set to `True`, it is possible to hide the title row which is available for `StackedInline` or `TabularInline`. For `StackedInline` it is required to have disabled delete permission `can_delete` to be able to hide the title row, because the checkbox with the delete action is inside this title.
936
+
937
+ ```python
938
+ # admin.py
939
+
940
+ from unfold.admin import TabularInline
941
+
942
+
943
+ class MyInline(TabularInline):
944
+ model = User
945
+ hide_title = True
946
+ ```
947
+
948
+ ### Display as tabs
949
+
939
950
  Inlines can be grouped into tab navigation by specifying `tab` attribute in the inline class.
940
951
 
941
952
  ```python
@@ -949,6 +960,42 @@ class MyInline(TabularInline):
949
960
  tab = True
950
961
  ```
951
962
 
963
+ ### Nonrelated inlines
964
+
965
+ To display inlines which are not related (no foreign key pointing at the main model) to the model instance in changeform, you can use nonrelated inlines which are included in `unfold.contrib.inlines` module. Make sure this module is included in `INSTALLED_APPS` in settings.py.
966
+
967
+ ```python
968
+ from django.contrib.auth.models import User
969
+ from unfold.admin import ModelAdmin
970
+ from unfold.contrib.inlines.admin import NonrelatedTabularInline
971
+ from .models import OtherModel
972
+
973
+ class OtherNonrelatedInline(NonrelatedTabularInline): # NonrelatedStackedInline is available as well
974
+ model = OtherModel
975
+ fields = ["field1", "field2"] # Ignore property to display all fields
976
+
977
+ def get_form_queryset(self, obj):
978
+ """
979
+ Gets all nonrelated objects needed for inlines. Method must be implemented.
980
+ """
981
+ return self.model.objects.all()
982
+
983
+ def save_new_instance(self, parent, instance):
984
+ """
985
+ Extra save method which can for example update inline instances based on current
986
+ main model object. Method must be implemented.
987
+ """
988
+ pass
989
+
990
+
991
+ @admin.register(User)
992
+ class UserAdmin(ModelAdmin):
993
+ inlines = [OtherNonrelatedInline]
994
+ ```
995
+
996
+ **NOTE:** credit for this functionality goes to [django-nonrelated-inlines](https://github.com/bhomnick/django-nonrelated-inlines)
997
+
998
+
952
999
  ## Third party packages
953
1000
 
954
1001
  ### django-celery-beat
@@ -1359,6 +1406,17 @@ Some components like datepickers, calendars or selectors in admin was not possib
1359
1406
 
1360
1407
  **Note:** most of the custom styles located in style.css are created via `@apply some-tailwind-class;` as is not possible to manually add CSS class to element which are for example created via jQuery.
1361
1408
 
1409
+
1410
+ ### Design system
1411
+
1412
+ | Component | Classes |
1413
+ | --------------------------------- | ------------------------------------------------------ |
1414
+ | Regular text | text-gray-600 dark:text-gray-300 |
1415
+ | Hover regular text | text-gray-700 dark:text-gray-200 |
1416
+ | Headings | font-semibold text-gray-900 dark:text-gray-100 |
1417
+ | Icon | text-gray-400 dark:text-gray-500 |
1418
+ | Hover icon | hover:text-gray-500 dark:hover:text-gray-400 |
1419
+
1362
1420
  ### Using VS Code with containers
1363
1421
 
1364
1422
  Unfold already contains prepared support for VS Code development. After cloning the project locally, open the main folder in VS Code (in terminal `code .`). Immediately, you would see a message from VS Code **Folder contains a Dev Container configuration file. Reopen folder to develop in a container** which will inform you that the support for containers is prepared. Confirm the message by clicking on **Reopen in Container**. If the message is not there, you can still manually open the project in a container by running the command **Dev Containers: Reopen in Container**.
@@ -1381,4 +1439,5 @@ The container has already a node preinstalled so it is possible to compile a new
1381
1439
  - [Material Icons](https://fonts.google.com/icons) - Icons from Google Fonts
1382
1440
  - [Trix](https://trix-editor.org/) - WYSIWYG editor
1383
1441
  - [Alpine.js](https://alpinejs.dev/) - JavaScript interactions
1442
+ - [Chart.js](https://github.com/chartjs/Chart.js/) - Chart components
1384
1443
 
@@ -61,9 +61,13 @@ Did you decide to start using Unfold but you don't have time to make the switch
61
61
  - [Numeric filters](#numeric-filters)
62
62
  - [Date/time filters](#datetime-filters)
63
63
  - [Custom admin pages](#custom-admin-pages)
64
- - [Nonrelated inlines](#nonrelated-inlines)
65
64
  - [Display decorator](#display-decorator)
66
65
  - [Change form tabs](#change-form-tabs)
66
+ - [Inlines](#inlines)
67
+ - [Custom title](#custom-title)
68
+ - [Hide title row](#hide-title-row)
69
+ - [Display as tabs](#display-as-tabs)
70
+ - [Nonrelated inlines](#nonrelated-inlines)
67
71
  - [Third party packages](#third-party-packages)
68
72
  - [django-celery-beat](#django-celery-beat)
69
73
  - [django-guardian](#django-guardian)
@@ -83,6 +87,7 @@ Did you decide to start using Unfold but you don't have time to make the switch
83
87
  - [Pre-commit](#pre-commit)
84
88
  - [Poetry configuration](#poetry-configuration)
85
89
  - [Compiling Tailwind](#compiling-tailwind)
90
+ - [Design system](#design-system)
86
91
  - [Using VS Code with containers](#using-vs-code-with-containers)
87
92
  - [Development server](#development-server)
88
93
  - [Compiling Tailwind in devcontainer](#compiling-tailwind-in-devcontainer)
@@ -346,6 +351,9 @@ class CustomAdminClass(ModelAdmin):
346
351
  # Position horizontal scrollbar in changelist at the top
347
352
  list_horizontal_scrollbar_top = False
348
353
 
354
+ # Dsable select all action in changelist
355
+ list_disable_select_all = False
356
+
349
357
  # Custom actions
350
358
  actions_list = [] # Displayed above the results list
351
359
  actions_row = [] # Displayed in a table row in results list
@@ -751,41 +759,6 @@ The template is straightforward, extend from `unfold/layouts/base.html` and the
751
759
  {% endblock %}
752
760
  ```
753
761
 
754
- ## Nonrelated inlines
755
-
756
- To display inlines which are not related (no foreign key pointing at the main model) to the model instance in changeform, you can use nonrelated inlines which are included in `unfold.contrib.inlines` module. Make sure this module is included in `INSTALLED_APPS` in settings.py.
757
-
758
- ```python
759
- from django.contrib.auth.models import User
760
- from unfold.admin import ModelAdmin
761
- from unfold.contrib.inlines.admin import NonrelatedTabularInline
762
- from .models import OtherModel
763
-
764
- class OtherNonrelatedInline(NonrelatedTabularInline): # NonrelatedStackedInline is available as well
765
- model = OtherModel
766
- fields = ["field1", "field2"] # Ignore property to display all fields
767
-
768
- def get_form_queryset(self, obj):
769
- """
770
- Gets all nonrelated objects needed for inlines. Method must be implemented.
771
- """
772
- return self.model.objects.all()
773
-
774
- def save_new_instance(self, parent, instance):
775
- """
776
- Extra save method which can for example update inline instances based on current
777
- main model object. Method must be implemented.
778
- """
779
- pass
780
-
781
-
782
- @admin.register(User)
783
- class UserAdmin(ModelAdmin):
784
- inlines = [OtherNonrelatedInline]
785
- ```
786
-
787
- **NOTE:** credit for this functionality goes to [django-nonrelated-inlines](https://github.com/bhomnick/django-nonrelated-inlines)
788
-
789
762
  ## Display decorator
790
763
 
791
764
  Unfold introduces it's own `unfold.decorators.display` decorator. By default it has exactly same behavior as native `django.contrib.admin.decorators.display` but it adds same customizations which helps to extends default logic.
@@ -912,6 +885,44 @@ class MyModelAdmin(ModelAdmin):
912
885
  )
913
886
  ```
914
887
 
888
+ ## Inlines
889
+
890
+ ### Custom title
891
+
892
+ By default, the title available for each inline row is coming from the `__str__` implementation of the model. Unfold allows you to override this title by implementing `get_inline_title` on the model which can return your own custom title just for the inline.
893
+
894
+ ```python
895
+ from unfold.admin import TabularInline
896
+
897
+
898
+ class User(models.Model):
899
+ # fiels, meta ...
900
+
901
+ def get_inline_title(self):
902
+ return "Custom title"
903
+
904
+
905
+ class MyInline(TabularInline):
906
+ model = User
907
+ ```
908
+
909
+ ### Hide title row
910
+
911
+ By applying `hide_title` attribute set to `True`, it is possible to hide the title row which is available for `StackedInline` or `TabularInline`. For `StackedInline` it is required to have disabled delete permission `can_delete` to be able to hide the title row, because the checkbox with the delete action is inside this title.
912
+
913
+ ```python
914
+ # admin.py
915
+
916
+ from unfold.admin import TabularInline
917
+
918
+
919
+ class MyInline(TabularInline):
920
+ model = User
921
+ hide_title = True
922
+ ```
923
+
924
+ ### Display as tabs
925
+
915
926
  Inlines can be grouped into tab navigation by specifying `tab` attribute in the inline class.
916
927
 
917
928
  ```python
@@ -925,6 +936,42 @@ class MyInline(TabularInline):
925
936
  tab = True
926
937
  ```
927
938
 
939
+ ### Nonrelated inlines
940
+
941
+ To display inlines which are not related (no foreign key pointing at the main model) to the model instance in changeform, you can use nonrelated inlines which are included in `unfold.contrib.inlines` module. Make sure this module is included in `INSTALLED_APPS` in settings.py.
942
+
943
+ ```python
944
+ from django.contrib.auth.models import User
945
+ from unfold.admin import ModelAdmin
946
+ from unfold.contrib.inlines.admin import NonrelatedTabularInline
947
+ from .models import OtherModel
948
+
949
+ class OtherNonrelatedInline(NonrelatedTabularInline): # NonrelatedStackedInline is available as well
950
+ model = OtherModel
951
+ fields = ["field1", "field2"] # Ignore property to display all fields
952
+
953
+ def get_form_queryset(self, obj):
954
+ """
955
+ Gets all nonrelated objects needed for inlines. Method must be implemented.
956
+ """
957
+ return self.model.objects.all()
958
+
959
+ def save_new_instance(self, parent, instance):
960
+ """
961
+ Extra save method which can for example update inline instances based on current
962
+ main model object. Method must be implemented.
963
+ """
964
+ pass
965
+
966
+
967
+ @admin.register(User)
968
+ class UserAdmin(ModelAdmin):
969
+ inlines = [OtherNonrelatedInline]
970
+ ```
971
+
972
+ **NOTE:** credit for this functionality goes to [django-nonrelated-inlines](https://github.com/bhomnick/django-nonrelated-inlines)
973
+
974
+
928
975
  ## Third party packages
929
976
 
930
977
  ### django-celery-beat
@@ -1335,6 +1382,17 @@ Some components like datepickers, calendars or selectors in admin was not possib
1335
1382
 
1336
1383
  **Note:** most of the custom styles located in style.css are created via `@apply some-tailwind-class;` as is not possible to manually add CSS class to element which are for example created via jQuery.
1337
1384
 
1385
+
1386
+ ### Design system
1387
+
1388
+ | Component | Classes |
1389
+ | --------------------------------- | ------------------------------------------------------ |
1390
+ | Regular text | text-gray-600 dark:text-gray-300 |
1391
+ | Hover regular text | text-gray-700 dark:text-gray-200 |
1392
+ | Headings | font-semibold text-gray-900 dark:text-gray-100 |
1393
+ | Icon | text-gray-400 dark:text-gray-500 |
1394
+ | Hover icon | hover:text-gray-500 dark:hover:text-gray-400 |
1395
+
1338
1396
  ### Using VS Code with containers
1339
1397
 
1340
1398
  Unfold already contains prepared support for VS Code development. After cloning the project locally, open the main folder in VS Code (in terminal `code .`). Immediately, you would see a message from VS Code **Folder contains a Dev Container configuration file. Reopen folder to develop in a container** which will inform you that the support for containers is prepared. Confirm the message by clicking on **Reopen in Container**. If the message is not there, you can still manually open the project in a container by running the command **Dev Containers: Reopen in Container**.
@@ -1357,3 +1415,4 @@ The container has already a node preinstalled so it is possible to compile a new
1357
1415
  - [Material Icons](https://fonts.google.com/icons) - Icons from Google Fonts
1358
1416
  - [Trix](https://trix-editor.org/) - WYSIWYG editor
1359
1417
  - [Alpine.js](https://alpinejs.dev/) - JavaScript interactions
1418
+ - [Chart.js](https://github.com/chartjs/Chart.js/) - Chart components
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "django-unfold"
3
- version = "0.32.0"
3
+ version = "0.34.0"
4
4
  description = "Modern Django admin theme for seamless interface development"
5
5
  license = "MIT"
6
6
  readme = "README.md"
@@ -84,7 +84,7 @@ FORMFIELD_OVERRIDES = {
84
84
  models.UUIDField: {"widget": UnfoldAdminUUIDInputWidget},
85
85
  models.TextField: {"widget": UnfoldAdminTextareaWidget},
86
86
  models.NullBooleanField: {"widget": UnfoldAdminNullBooleanSelectWidget},
87
- models.BooleanField: {"widget": UnfoldBooleanWidget},
87
+ models.BooleanField: {"widget": UnfoldBooleanSwitchWidget},
88
88
  models.IntegerField: {"widget": UnfoldAdminIntegerFieldWidget},
89
89
  models.BigIntegerField: {"widget": UnfoldAdminBigIntegerFieldWidget},
90
90
  models.DecimalField: {"widget": UnfoldAdminDecimalFieldWidget},
@@ -119,7 +119,9 @@ FORMFIELD_OVERRIDES_INLINE.update(
119
119
  }
120
120
  )
121
121
 
122
- checkbox = UnfoldBooleanWidget({"class": "action-select"}, lambda value: False)
122
+ checkbox = UnfoldBooleanWidget(
123
+ {"class": "action-select", "aria-label": _("Select record")}, lambda value: False
124
+ )
123
125
 
124
126
  helpers.AdminField = UnfoldAdminField
125
127
 
@@ -231,6 +233,7 @@ class ModelAdmin(ModelAdminMixin, BaseModelAdmin):
231
233
  list_horizontal_scrollbar_top = False
232
234
  list_filter_submit = False
233
235
  list_fullwidth = False
236
+ list_disable_select_all = False
234
237
  compressed_fields = False
235
238
  readonly_preprocess_fields = {}
236
239
  checks_class = UnfoldModelAdminChecks
@@ -414,13 +417,6 @@ class ModelAdmin(ModelAdminMixin, BaseModelAdmin):
414
417
  if extra_context is None:
415
418
  extra_context = {}
416
419
 
417
- new_formfield_overrides = copy.deepcopy(self.formfield_overrides)
418
- new_formfield_overrides.update(
419
- {models.BooleanField: {"widget": UnfoldBooleanSwitchWidget}}
420
- )
421
-
422
- self.formfield_overrides = new_formfield_overrides
423
-
424
420
  actions = []
425
421
  if object_id:
426
422
  for action in self.get_actions_detail(request, object_id):
@@ -2,7 +2,7 @@
2
2
 
3
3
  {% with choices.0 as choice %}
4
4
  <div class="flex flex-col mb-6">
5
- <h3 class="font-medium mb-2 text-gray-700 text-sm dark:text-gray-200">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
5
+ <h3 class="font-semibold mb-2 text-gray-900 dark:text-gray-100">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
6
6
 
7
7
  <div class="flex flex-col space-y-4">
8
8
  {% for field in choice.form %}
@@ -2,7 +2,7 @@
2
2
 
3
3
  {% with choices.0 as choice %}
4
4
  <div class="flex flex-col mb-6">
5
- <h3 class="font-medium mb-2 text-gray-700 text-sm dark:text-gray-200">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
5
+ <h3 class="font-semibold mb-2 text-gray-900 dark:text-gray-100">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
6
6
 
7
7
  <div class="flex flex-col space-y-4">
8
8
  {% for field in choice.form %}
@@ -2,7 +2,7 @@
2
2
 
3
3
  {% with choices.0 as choice %}
4
4
  <div class="flex flex-col mb-6">
5
- <h3 class="font-medium mb-2 text-gray-700 text-sm dark:text-gray-200">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
5
+ <h3 class="font-semibold mb-2 text-gray-900 dark:text-gray-100">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
6
6
 
7
7
  <div class="flex flex-row gap-4">
8
8
  {% for field in choice.form %}
@@ -2,7 +2,7 @@
2
2
 
3
3
  {% with choices.0 as choice %}
4
4
  <div class="flex flex-col mb-6">
5
- <h3 class="font-medium mb-2 text-gray-700 text-sm dark:text-gray-200">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
5
+ <h3 class="font-semibold mb-2 text-gray-900 dark:text-gray-100">{% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}</h3>
6
6
 
7
7
  {% for field in choice.form %}
8
8
  <div class="flex flex-row flex-wrap group relative{% if field.errors %} errors{% endif %}">
@@ -3,7 +3,7 @@
3
3
 
4
4
  {% with choices.0 as choice %}
5
5
  <div class="admin-numeric-filter-wrapper mb-6">
6
- <h3 class="font-medium mb-2 text-gray-700 text-sm dark:text-gray-200">
6
+ <h3 class="font-semibold mb-2 text-gray-900 dark:text-gray-100">
7
7
  {% blocktrans with filter_title=title %}By {{ filter_title }}{% endblocktrans %}
8
8
  </h3>
9
9
 
@@ -3,25 +3,25 @@
3
3
  <form method="post">
4
4
  {% csrf_token %}
5
5
 
6
- <h2 class="font-medium mb-3 text-sm text-gray-700 dark:text-gray-200">
6
+ <h2 class="font-semibold mb-3 text-gray-900 dark:text-gray-100">
7
7
  {% trans "Group permissions" %}
8
8
  </h2>
9
9
 
10
10
  {% if groups_perms.items %}
11
- <table id="group-permissions" class="border-gray-200 border-spacing-none border-separate mb-6 text-gray-700 w-full dark:text-gray-300 lg:border lg:rounded-md lg:shadow-sm lg:dark:border-gray-800">
12
- <thead class="hidden lg:table-header-group">
11
+ <table id="group-permissions" class="border-gray-200 border-spacing-none border-separate mb-6 w-full lg:border lg:rounded-md lg:shadow-sm lg:dark:border-gray-800">
12
+ <thead class="hidden lg:table-header-group text-gray-900 dark:text-gray-100">
13
13
  <tr>
14
- <th class="align-middle font-medium px-3 py-2 text-left text-gray-400 text-sm">
14
+ <th class="align-middle font-medium px-3 py-2 text-left">
15
15
  {% trans "Group" %}
16
16
  </th>
17
17
 
18
18
  {% for perm in model_perms %}
19
- <th class="align-middle font-medium px-3 py-2 text-left text-gray-400 text-sm">
19
+ <th class="align-middle font-medium px-3 py-2 text-left">
20
20
  {{ perm.name }}
21
21
  </th>
22
22
  {% endfor %}
23
23
 
24
- <th class="align-middle font-medium px-3 py-2 text-right text-gray-400 text-sm">
24
+ <th class="align-middle font-medium px-3 py-2 text-right">
25
25
  {% trans "Action" %}
26
26
  </th>
27
27
  </tr>
@@ -30,14 +30,14 @@
30
30
  <tbody>
31
31
  {% for group, group_perms in groups_perms.items %}
32
32
  <tr class="block border mb-3 rounded-md shadow-sm lg:table-row lg:border-none lg:mb-0 lg:shadow-none dark:border-gray-800">
33
- <th class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left text-sm before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto before:text-gray-500 first:border-t-0 dark:before:text-gray-300 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "User" %}">
34
- <span class="text-gray-700 dark:text-gray-200">
33
+ <th class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "User" %}">
34
+ <span>
35
35
  {{ group }}
36
36
  </span>
37
37
  </th>
38
38
 
39
39
  {% for perm in model_perms %}
40
- <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left text-sm before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto before:text-gray-500 first:border-t-0 dark:before:text-gray-300 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{{ perm.name }}">
40
+ <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{{ perm.name }}">
41
41
  {% if perm.codename in group_perms %}
42
42
  {% include "unfold/helpers/boolean.html" with value=False %}
43
43
  {% else %}
@@ -46,7 +46,7 @@
46
46
  </td>
47
47
  {% endfor %}
48
48
 
49
- <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-right text-sm before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto before:text-gray-500 first:border-t-0 dark:before:text-gray-300 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "Action" %}">
49
+ <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-right before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "Action" %}">
50
50
  <a href="group-manage/{{ group.id|safe }}/" class="hover:text-gray-700 dark:hover:text-white">
51
51
  {% trans "Edit" %}
52
52
  </a>
@@ -3,25 +3,25 @@
3
3
  <form method="post">
4
4
  {% csrf_token %}
5
5
 
6
- <h2 class="font-medium mb-3 text-sm text-gray-700 dark:text-gray-200">
6
+ <h2 class="font-medium mb-3 text-gray-700 dark:text-gray-200">
7
7
  {% trans "User permissions" %}
8
8
  </h2>
9
9
 
10
10
  {% if users_perms.items %}
11
- <table id="user-permissions" class="border-gray-200 border-spacing-none border-separate mb-6 text-gray-700 w-full dark:text-gray-300 lg:border lg:rounded-md lg:shadow-sm lg:dark:border-gray-800">
12
- <thead class="hidden lg:table-header-group">
11
+ <table id="user-permissions" class="border-gray-200 border-spacing-none border-separate mb-6 w-full lg:border lg:rounded-md lg:shadow-sm lg:dark:border-gray-800">
12
+ <thead class="hidden lg:table-header-group text-gray-900 dark:text-gray-100">
13
13
  <tr>
14
- <th class="align-middle font-medium px-3 py-2 text-left text-gray-400 text-sm">
14
+ <th class="align-middle font-medium px-3 py-2 text-left">
15
15
  {% trans "User" %}
16
16
  </th>
17
17
 
18
18
  {% for perm in model_perms %}
19
- <th class="align-middle font-medium px-3 py-2 text-left text-gray-400 text-sm">
19
+ <th class="align-middle font-medium px-3 py-2 text-left">
20
20
  {{ perm.name }}
21
21
  </th>
22
22
  {% endfor %}
23
23
 
24
- <th class="align-middle font-medium px-3 py-2 text-right text-gray-400 text-sm">
24
+ <th class="align-middle font-medium px-3 py-2 text-right">
25
25
  {% trans "Action" %}
26
26
  </th>
27
27
  </tr>
@@ -30,14 +30,14 @@
30
30
  <tbody>
31
31
  {% for user, user_perms in users_perms.items %}
32
32
  <tr class="block border mb-3 rounded-md shadow-sm lg:table-row lg:border-none lg:mb-0 lg:shadow-none dark:border-gray-800">
33
- <th class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left text-sm before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto before:text-gray-500 first:border-t-0 dark:before:text-gray-300 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "User" %}">
34
- <span class="text-gray-700 dark:text-gray-200">
33
+ <th class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "User" %}">
34
+ <span>
35
35
  {{ user }}
36
36
  </span>
37
37
  </th>
38
38
 
39
39
  {% for perm in model_perms %}
40
- <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left text-sm before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto before:text-gray-500 first:border-t-0 dark:before:text-gray-300 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{{ perm.name }}">
40
+ <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{{ perm.name }}">
41
41
  {% if perm.codename in group_perms %}
42
42
  {% include "unfold/helpers/boolean.html" with value=False %}
43
43
  {% else %}
@@ -46,7 +46,7 @@
46
46
  </td>
47
47
  {% endfor %}
48
48
 
49
- <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-right text-sm before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto before:text-gray-500 first:border-t-0 dark:before:text-gray-300 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "Action" %}">
49
+ <td class="align-middle flex border-t border-gray-200 font-normal px-3 py-2 text-right before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-gray-800" data-label="{% trans "Action" %}">
50
50
  <a href="user-manage/{{ user.id|safe }}/" class="hover:text-gray-700 dark:hover:text-white">
51
51
  {% trans "Edit" %}
52
52
  </a>
@@ -6,7 +6,7 @@
6
6
 
7
7
  {{ confirm_form.as_p }}
8
8
 
9
- <p class="font-medium p-4 text-sm text-gray-700 dark:text-gray-200">
9
+ <p class="font-semibold p-4 text-sm text-gray-900 dark:text-gray-100">
10
10
  {% trans "Below is a preview of data to be imported. If you are satisfied with the results, click 'Confirm import'" %}
11
11
  </p>
12
12
 
@@ -14,8 +14,8 @@
14
14
  {% for line, errors in result.row_errors %}
15
15
  {% for error in errors %}
16
16
  <li x-data="{ open: false }">
17
- <div class="bg-red-50 border border-red-200 cursor-pointer mb-4 rounded shadow-sm text-red-500 text-sm dark:bg-red-500/20 dark:border-red-500/20" x-on:click="open = ! open">
18
- <div class="border-b border-red-200 flex flex-row font-medium py-3 px-4 dark:border-red-500/20">
17
+ <div class="bg-red-50 border border-red-200 cursor-pointer mb-4 rounded shadow-sm text-red-500 dark:bg-red-500/20 dark:border-red-500/20" x-on:click="open = ! open">
18
+ <div class="border-b border-red-200 flex flex-row font-semibold py-3 px-4 dark:border-red-500/20">
19
19
  {% trans "Line number" %}: {{ line }} - {{ error.error }}
20
20
  </div>
21
21
 
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  </div>
28
28
 
29
- <div class="block border leading-relaxed rounded p-4 text-sm traceback dark:border-gray-800 dark:text-gray-300 " x-show="open">
29
+ <div class="block border leading-relaxed mb-4 rounded p-4 traceback dark:border-gray-800 dark:text-gray-300 " x-show="open">
30
30
  {{ error.traceback|linebreaks }}
31
31
  </div>
32
32
  </li>