django-unfold 0.29.1__py3-none-any.whl → 0.31.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. {django_unfold-0.29.1.dist-info → django_unfold-0.31.0.dist-info}/METADATA +63 -19
  2. {django_unfold-0.29.1.dist-info → django_unfold-0.31.0.dist-info}/RECORD +74 -73
  3. unfold/admin.py +32 -11
  4. unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +3 -3
  5. unfold/contrib/forms/static/unfold/forms/js/trix.js +2 -2
  6. unfold/contrib/forms/templates/unfold/forms/array.html +3 -1
  7. unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html +6 -6
  8. unfold/contrib/forms/templates/unfold/forms/wysiwyg.html +1 -1
  9. unfold/contrib/forms/widgets.py +22 -11
  10. unfold/contrib/guardian/templates/unfold/guardian/group_form.html +4 -4
  11. unfold/contrib/guardian/templates/unfold/guardian/user_form.html +4 -4
  12. unfold/contrib/import_export/templates/admin/import_export/change_form.html +1 -1
  13. unfold/contrib/import_export/templates/admin/import_export/import_errors.html +1 -1
  14. unfold/contrib/import_export/templates/admin/import_export/import_preview.html +3 -3
  15. unfold/contrib/import_export/templates/admin/import_export/import_validation.html +4 -4
  16. unfold/contrib/inlines/forms.py +1 -2
  17. unfold/contrib/simple_history/templates/simple_history/object_history_list.html +9 -9
  18. unfold/contrib/simple_history/templates/simple_history/submit_line.html +1 -1
  19. unfold/dataclasses.py +10 -1
  20. unfold/fields.py +2 -2
  21. unfold/forms.py +18 -3
  22. unfold/settings.py +1 -0
  23. unfold/sites.py +39 -15
  24. unfold/static/unfold/css/styles.css +1 -1
  25. unfold/static/unfold/js/alpine.anchor.js +1 -0
  26. unfold/static/unfold/js/alpine.js +2 -2
  27. unfold/static/unfold/js/alpine.persist.js +1 -1
  28. unfold/static/unfold/js/app.js +45 -3
  29. unfold/styles.css +15 -11
  30. unfold/templates/admin/actions.html +1 -1
  31. unfold/templates/admin/app_list.html +1 -1
  32. unfold/templates/admin/base.html +4 -4
  33. unfold/templates/admin/change_list.html +2 -2
  34. unfold/templates/admin/change_list_results.html +3 -3
  35. unfold/templates/admin/delete_confirmation.html +4 -4
  36. unfold/templates/admin/delete_selected_confirmation.html +4 -4
  37. unfold/templates/admin/edit_inline/stacked.html +2 -2
  38. unfold/templates/admin/edit_inline/tabular.html +4 -4
  39. unfold/templates/admin/filter.html +2 -2
  40. unfold/templates/admin/includes/fieldset.html +1 -1
  41. unfold/templates/admin/includes/object_delete_summary.html +1 -1
  42. unfold/templates/admin/login.html +8 -8
  43. unfold/templates/admin/object_history.html +4 -4
  44. unfold/templates/admin/search_form.html +1 -1
  45. unfold/templates/admin/submit_line.html +7 -5
  46. unfold/templates/auth/widgets/read_only_password_hash.html +1 -1
  47. unfold/templates/registration/logged_out.html +1 -1
  48. unfold/templates/unfold/change_list_filter.html +10 -2
  49. unfold/templates/unfold/helpers/account_links.html +2 -2
  50. unfold/templates/unfold/helpers/actions_row.html +4 -4
  51. unfold/templates/unfold/helpers/app_list.html +48 -38
  52. unfold/templates/unfold/helpers/app_list_default.html +4 -4
  53. unfold/templates/unfold/helpers/breadcrumb_item.html +1 -1
  54. unfold/templates/unfold/helpers/field_readonly_value.html +1 -1
  55. unfold/templates/unfold/helpers/fieldset_row.html +7 -7
  56. unfold/templates/unfold/helpers/fieldsets_tabs.html +2 -2
  57. unfold/templates/unfold/helpers/header.html +1 -1
  58. unfold/templates/unfold/helpers/help_text.html +1 -1
  59. unfold/templates/unfold/helpers/history.html +1 -1
  60. unfold/templates/unfold/helpers/label.html +1 -1
  61. unfold/templates/unfold/helpers/search.html +7 -4
  62. unfold/templates/unfold/helpers/search_results.html +2 -2
  63. unfold/templates/unfold/helpers/tab_action.html +1 -1
  64. unfold/templates/unfold/helpers/tab_list.html +27 -5
  65. unfold/templates/unfold/helpers/theme_switch.html +2 -2
  66. unfold/templates/unfold/layouts/skeleton.html +6 -1
  67. unfold/templates/unfold/widgets/clearable_file_input.html +14 -6
  68. unfold/templates/unfold/widgets/clearable_file_input_small.html +4 -4
  69. unfold/templates/unfold/widgets/split_datetime.html +2 -2
  70. unfold/templatetags/unfold.py +33 -12
  71. unfold/templatetags/unfold_list.py +16 -6
  72. unfold/widgets.py +11 -4
  73. {django_unfold-0.29.1.dist-info → django_unfold-0.31.0.dist-info}/LICENSE.md +0 -0
  74. {django_unfold-0.29.1.dist-info → django_unfold-0.31.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-unfold
3
- Version: 0.29.1
3
+ Version: 0.31.0
4
4
  Summary: Modern Django admin theme for seamless interface development
5
5
  Home-page: https://unfoldadmin.com
6
6
  License: MIT
@@ -33,7 +33,7 @@ Description-Content-Type: text/markdown
33
33
  ![Code Style - Ruff](https://img.shields.io/badge/code%20style-ruff-30173D.svg?style=for-the-badge)
34
34
  ![Pre Commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=for-the-badge)
35
35
 
36
- Unfold is theme for Django admin incorporating most common practises for building full-fledged admin areas. It is designed to work at the top of default administration provided by Django.
36
+ Unfold is a theme for Django admin incorporating most common practices for building full-fledged admin areas. It is designed to work on top of default administration provided by Django.
37
37
 
38
38
  - **Unfold:** demo site is available at [unfoldadmin.com](https://unfoldadmin.com?utm_medium=github&utm_source=unfold)
39
39
  - **Formula:** repository with demo implementation at [github.com/unfoldadmin/formula](https://github.com/unfoldadmin/formula)
@@ -45,7 +45,7 @@ Did you decide to start using Unfold but you don't have time to make the switch
45
45
 
46
46
  ## Features <!-- omit from toc -->
47
47
 
48
- - **Visual**: provides new user interface based on Tailwind CSS framework
48
+ - **Visual**: provides a new user interface based on Tailwind CSS framework
49
49
  - **Sidebar:** simplifies definition of custom sidebar navigation with icons
50
50
  - **Dark mode:** supports both light and dark mode versions
51
51
  - **Configuration:** most of the basic options can be changed in settings.py
@@ -55,14 +55,16 @@ Did you decide to start using Unfold but you don't have time to make the switch
55
55
  - **Array widget:** built-in widget for `django.contrib.postgres.fields.ArrayField`
56
56
  - **Filters:** custom dropdown, numeric, datetime, and text fields
57
57
  - **Dashboard:** custom components for rapid dashboard development
58
+ - **Inline tabs:** group inlines into tab navigation in the change form
58
59
  - **Model tabs:** define custom tab navigations for models
59
- - **Fieldset tabs:** merge several fielsets into tabs in change form
60
- - **Colors:** possibility to override default color scheme
61
- - **Changeform modes:** display fields in changeform in compressed mode
60
+ - **Fieldset tabs:** merge several fieldsets into tabs in the change form
61
+ - **Colors:** possibility to override the default color scheme
62
+ - **Changeform modes:** display fields in the change form in compressed mode
62
63
  - **Third party packages:** default support for multiple popular applications
63
64
  - **Environment label**: distinguish between environments by displaying a label
64
65
  - **Nonrelated inlines**: displays nonrelated model as inline in changeform
65
66
  - **Parallel admin**: support for default admin in parallel with Unfold. [Admin migration guide](https://unfoldadmin.com/blog/migrating-django-admin-unfold/?utm_medium=github&utm_source=unfold)
67
+ - **Favicons**: built-in support for configuring various site favicons
66
68
  - **VS Code**: project configuration and development container is included
67
69
 
68
70
  ## Table of contents <!-- omit from toc -->
@@ -111,7 +113,7 @@ Did you decide to start using Unfold but you don't have time to make the switch
111
113
 
112
114
  ## Installation
113
115
 
114
- The installation process is minimal. Everything what is needed after installation is to put new application at the beginning of **INSTALLED_APPS**. Default admin configuration in urls.py can stay as it is and there are no changes required.
116
+ The installation process is minimal. Everything that is needed after installation is to put new application at the beginning of **INSTALLED_APPS**. The default admin configuration in urls.py can stay as it is, and no changes are required.
115
117
 
116
118
  ```python
117
119
  # settings.py
@@ -170,17 +172,24 @@ class CustomAdminClass(ModelAdmin):
170
172
 
171
173
  from django.contrib import admin
172
174
  from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
175
+ from django.contrib.auth.admin import GroupAdmin as BaseGroupAdmin
173
176
  from django.contrib.auth.models import User
174
177
 
175
178
  from unfold.admin import ModelAdmin
176
179
 
177
180
 
178
181
  admin.site.unregister(User)
182
+ admin.site.unregister(Group)
179
183
 
180
184
 
181
185
  @admin.register(User)
182
186
  class UserAdmin(BaseUserAdmin, ModelAdmin):
183
187
  pass
188
+
189
+
190
+ @admin.register(Group)
191
+ class GroupAdmin(BaseGroupAdmin, ModelAdmin):
192
+ pass
184
193
  ```
185
194
 
186
195
  ## Configuration
@@ -209,6 +218,14 @@ UNFOLD = {
209
218
  "dark": lambda request: static("logo-dark.svg"), # dark mode
210
219
  },
211
220
  "SITE_SYMBOL": "speed", # symbol from icon set
221
+ "SITE_FAVICONS": [
222
+ {
223
+ "rel": "icon",
224
+ "sizes": "32x32",
225
+ "type": "image/svg+xml",
226
+ "href": lambda request: static("favicon.svg"),
227
+ },
228
+ ],
212
229
  "SHOW_HISTORY": True, # show/hide "History" button, default: True
213
230
  "SHOW_VIEW_ON_SITE": True, # show/hide "View on site" button, default: True
214
231
  "ENVIRONMENT": "sample_app.environment_callback",
@@ -255,6 +272,7 @@ UNFOLD = {
255
272
  {
256
273
  "title": _("Navigation"),
257
274
  "separator": True, # Top border
275
+ "collapsible": True, # Collapsible group of links
258
276
  "items": [
259
277
  {
260
278
  "title": _("Dashboard"),
@@ -345,6 +363,12 @@ class CustomAdminClass(ModelAdmin):
345
363
  # Display submit button in filters
346
364
  list_filter_submit = False
347
365
 
366
+ # Display changelist in fullwidth
367
+ list_fullwidth = False
368
+
369
+ # Position horizontal scrollbar in changelist at the top
370
+ list_horizontal_scrollbar_top = False
371
+
348
372
  # Custom actions
349
373
  actions_list = [] # Displayed above the results list
350
374
  actions_row = [] # Displayed in a table row in results list
@@ -438,7 +462,7 @@ class UserAdmin(ModelAdmin):
438
462
  actions_detail = ["change_detail_action_block"]
439
463
  actions_submit_line = ["submit_line_action_activate"]
440
464
 
441
- @action(description=_("Save & Activate"))
465
+ @action(description=_("Save & Activate"), permissions=["submit_line_action_activate"])
442
466
  def submit_line_action_activate(self, request: HttpRequest, obj: User):
443
467
  """
444
468
  If instance is modified in any way, it also needs to be saved,
@@ -450,6 +474,9 @@ class UserAdmin(ModelAdmin):
450
474
  obj.is_active = True
451
475
  obj.save()
452
476
 
477
+ def has_submit_line_action_activate_permission(self, request: HttpRequest, object_id: Union[str, int]):
478
+ pass
479
+
453
480
  @action(description=_("Import"), url_path="import")
454
481
  def changelist_global_action_import(self, request: HttpRequest):
455
482
  """
@@ -474,7 +501,7 @@ class UserAdmin(ModelAdmin):
474
501
  """
475
502
  return redirect(f"https://example.com/{object_id}")
476
503
 
477
- @action(description=_("Detail"), url_path="detail-action", attrs={"target": "_blank"})
504
+ @action(description=_("Detail"), url_path="detail-action", attrs={"target": "_blank"}, permissions=["change_detail_action_block"])
478
505
  def change_detail_action_block(self, request: HttpRequest, object_id: int):
479
506
  """
480
507
  Handler for detail action.
@@ -489,6 +516,10 @@ class UserAdmin(ModelAdmin):
489
516
  return redirect(
490
517
  reverse_lazy("admin:users_user_change", args=(object_id,))
491
518
  )
519
+
520
+
521
+ def has_change_detail_action_block_permission(self, request: HttpRequest, object_id: Union[str, int]):
522
+ pass
492
523
  ```
493
524
 
494
525
  ### Action with form example
@@ -511,10 +542,10 @@ class SomeForm(forms.Form):
511
542
  @register(User)
512
543
  class UserAdmin(ModelAdmin):
513
544
  actions_detail = ["change_detail_action_block"]
514
- form = SomeForm(request.POST or None)
515
545
 
516
546
  @action(description=_("Detail"))
517
547
  def change_detail_action_block(self, request: HttpRequest, object_id: int) -> str:
548
+ form = SomeForm(request.POST or None)
518
549
  user = User.objects.get(pk=object_id)
519
550
 
520
551
  if request.method == "POST" and form.is_valid():
@@ -560,7 +591,7 @@ Text input field which allows filtering by the free string submitted by the user
560
591
 
561
592
  `FieldTextFilter` requires just a model field name and the filter will make `__icontains` search on this field. There are no other things to configure so the integration in `list_filter` will be just one new row looking like `("model_field_name", FieldTextFilter)`.
562
593
 
563
- In the case of the `TextFilter`, it is needed the write a whole new class inheriting from `TextFilter` with a custom implementation of the `queryset` method and the `parameter_name` attribute. This attribute will be a representation of the search query parameter name in URI. The benefit of the `TextFilter` is the possibility of writing complex queries.
594
+ In the case of the `TextFilter`, it is needed to write a whole new class inheriting from `TextFilter` with a custom implementation of the `queryset` method and the `parameter_name` attribute. This attribute will be a representation of the search query parameter name in URI. The benefit of the `TextFilter` is the possibility of writing complex queries.
564
595
 
565
596
  ```python
566
597
  from django.contrib import admin
@@ -595,7 +626,7 @@ class MyAdmin(ModelAdmin):
595
626
 
596
627
  Dropdown filters will display a select field with a list of options. Unfold contains two types of dropdowns: `ChoicesDropdownFilter` and `RelatedDropdownFilter`.
597
628
 
598
- The difference between them is that `ChoicesDropdownFilter` will collect a list of options based on the `choices` attribute of the model field so most commonly it will be used in combination with `CharField` with specified `choices`. On the other side, `RelatedDropdownFilter` needs a one-to-many or many-to-many foreign key to display options.
629
+ The difference between them is that `ChoicesDropdownFilter` will collect a list of options based on the `choices` attribute of the model field so most commonly it will be used in combination with `CharField` with specified `choices`. On the other hand, `RelatedDropdownFilter` needs a one-to-many or many-to-many foreign key to display options.
599
630
 
600
631
  **Note:** At the moment Unfold does not implement a dropdown with an autocomplete functionality, so it is important not to use dropdowns displaying large datasets.
601
632
 
@@ -904,6 +935,19 @@ class MyModelAdmin(ModelAdmin):
904
935
  )
905
936
  ```
906
937
 
938
+ Inlines can be grouped into tab navigation by specifying `tab` attribute in the inline class.
939
+
940
+ ```python
941
+ # admin.py
942
+
943
+ from unfold.admin import TabularInline
944
+
945
+
946
+ class MyInline(TabularInline):
947
+ model = User
948
+ tab = True
949
+ ```
950
+
907
951
  ## Third party packages
908
952
 
909
953
  ### django-celery-beat
@@ -973,11 +1017,11 @@ class ClockedScheduleAdmin(BaseClockedScheduleAdmin, ModelAdmin):
973
1017
 
974
1018
  ### django-guardian
975
1019
 
976
- Adding support for django-guardian is quote straightforward in Unfold, just add `unfold.contrib.guardian` to `INSTALLED_APPS` at the beggining of the file. This action will override all templates coming from the django-guardian. Please note that **Object permissions** link is available in top right dropdown navigation.
1020
+ Adding support for django-guardian is quite straightforward in Unfold, just add `unfold.contrib.guardian` to `INSTALLED_APPS` at the beginning of the file. This action will override all templates coming from the django-guardian. Please note that **Object permissions** link is available in top right dropdown navigation.
977
1021
 
978
1022
  ### django-import-export
979
1023
 
980
- 1. Add `unfold.contrib.import_export` to `INSTALLED_APPS` at the beggining of the file. This action will override all templates coming from the application.
1024
+ 1. Add `unfold.contrib.import_export` to `INSTALLED_APPS` at the beginning of the file. This action will override all templates coming from the application.
981
1025
  2. Change `import_form_class` and `export_form_class` in ModelAdmin which is inheriting from `ImportExportModelAdmin`. This chunk of code is responsible for adding proper styling to form elements.
982
1026
 
983
1027
  ```python
@@ -1049,7 +1093,7 @@ This application is supported in Unfold by default. It is not needed to add any
1049
1093
 
1050
1094
  ### django-simple-history
1051
1095
 
1052
- To make this application work, add `unfold.contrib.simple_history` into `settings.py` in `INSTALLED_APPS` variable before right after `unfold`. This app should ensure that templates coming from django-simple-history are overriden by Unfold.
1096
+ To make this application work, add `unfold.contrib.simple_history` into `settings.py` in `INSTALLED_APPS` variable before right after `unfold`. This app should ensure that templates coming from django-simple-history are overridden by Unfold.
1053
1097
 
1054
1098
  ## User Admin Form
1055
1099
 
@@ -1130,7 +1174,7 @@ npx tailwindcss -o your_project/static/css/styles.css --watch --minify
1130
1174
 
1131
1175
  ### Overriding template
1132
1176
 
1133
- Create `templates/admin/index.html` in your project and paste the base template below into it. By default, all your custom styles here are not compiled because CSS classes are located in your specific project. Here it is needed to set up the Tailwind for your project and all requried instructions are located in [Project Level Tailwind Stylesheet](#project-level-tailwind-stylesheet) chapter.
1177
+ Create `templates/admin/index.html` in your project and paste the base template below into it. By default, all your custom styles here are not compiled because CSS classes are located in your specific project. Here it is needed to set up the Tailwind for your project and all required instructions are located in [Project Level Tailwind Stylesheet](#project-level-tailwind-stylesheet) chapter.
1134
1178
 
1135
1179
  ```html+django
1136
1180
  {% extends 'unfold/layouts/base_simple.html' %}
@@ -1252,7 +1296,7 @@ Below you can find a more complex example which is using multiple components and
1252
1296
 
1253
1297
  ### Pre-commit
1254
1298
 
1255
- Before adding any source code, it is recommended to have pre-commit installed on your local computer to check for all potential issues when comitting the code.
1299
+ Before adding any source code, it is recommended to have pre-commit installed on your local computer to check for all potential issues when committing the code.
1256
1300
 
1257
1301
  ```bash
1258
1302
  pip install pre-commit
@@ -1272,7 +1316,7 @@ To add a new feature or fix the easiest approach is to use django-unfold in comb
1272
1316
 
1273
1317
  ### Compiling Tailwind
1274
1318
 
1275
- At the moment project contains package.json with all dependencies required to compile new CSS file. Tailwind configuration file is set to check all html, js and py files for Tailwind's classeses occurrences.
1319
+ At the moment project contains package.json with all dependencies required to compile new CSS file. Tailwind configuration file is set to check all html, js and py files for Tailwind's classes occurrences.
1276
1320
 
1277
1321
  ```bash
1278
1322
  npm install
@@ -1282,7 +1326,7 @@ npm run tailwind:watch # run after each change in code
1282
1326
  npm run tailwind:build # run once
1283
1327
  ```
1284
1328
 
1285
- Some components like datepickers, calendars or selectors in admin was not possible to style by overriding html templates so their default styles are overriden in **styles.css**.
1329
+ Some components like datepickers, calendars or selectors in admin was not possible to style by overriding html templates so their default styles are overridden in **styles.css**.
1286
1330
 
1287
1331
  **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.
1288
1332
 
@@ -1,5 +1,5 @@
1
1
  unfold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- unfold/admin.py,sha256=Q8my6Ui10yDW_KqTwfPK8p51u9SAj2n5f8DFF8lxYuk,18991
2
+ unfold/admin.py,sha256=pTftvCeukl-tsnOhQf8JJT59CcpTnpQafn7IkWqfW3U,19580
3
3
  unfold/apps.py,sha256=SlBXPYrUd2uXn67qFbRvbXSUk3XFWrF4-5WELgDCvho,381
4
4
  unfold/checks.py,sha256=Smgji9w19hnYjJElJ_FJnnyTEAE-E-OUB6otHu7lasY,1670
5
5
  unfold/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -17,16 +17,16 @@ unfold/contrib/filters/templates/unfold/filters/filters_datetime_range.html,sha2
17
17
  unfold/contrib/filters/templates/unfold/filters/filters_field.html,sha256=UTlSZlpg-gAc_a-EJLLF0NI_ofuSHQ2kMMoAs99nL2E,164
18
18
  unfold/contrib/filters/templates/unfold/filters/filters_numeric_range.html,sha256=NoJwm36x1J65Pq8cLk_g_qJ0Cil3CtDwja9dqZgRX8g,639
19
19
  unfold/contrib/filters/templates/unfold/filters/filters_numeric_single.html,sha256=EeQv2fHYX6MK9wwM0lgGkKGfmyDo82VLtx_E0M9MUtI,576
20
- unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html,sha256=SpkLgq_m1-7WSdZzf3IPcySXxdaqe0z6qljAhhZSHec,1681
20
+ unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html,sha256=3MKISUpYX-A5gp-ILshnj0s-DCmL7NDdVcqGJ5NyHRQ,1681
21
21
  unfold/contrib/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  unfold/contrib/forms/apps.py,sha256=Di0TMzVuRpVxLG-8Bjdq5ALCSf5r7u2xVhD0jU6H5Sc,132
23
23
  unfold/contrib/forms/static/unfold/forms/css/trix.css,sha256=TH9WdnaZrmwI8hAEydwjobdrBzSw_KYdRTSQDuD-8hE,20027
24
24
  unfold/contrib/forms/static/unfold/forms/js/trix.config.js,sha256=spkNBlJVk_pqido_rM6yywQxkJ3Kqb7DMLiBgpKksdA,858
25
- unfold/contrib/forms/static/unfold/forms/js/trix.js,sha256=Pao0XiVeDiRawfTkGDg_np6CxB-oXPrUDI9akWc87oc,174157
26
- unfold/contrib/forms/templates/unfold/forms/array.html,sha256=11silyHbsJA0U_ksS8MvfFOJKC_qKTAwXxoMIB78APk,1507
27
- unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html,sha256=yS8Zy-UrzvZ5RUYwdprQzREffnYq0NlIbXBfZM2UB04,9700
28
- unfold/contrib/forms/templates/unfold/forms/wysiwyg.html,sha256=4ZefV6XrjJlUczcuSw8BhvMJUFSZPSXo1IkgkBivh5g,351
29
- unfold/contrib/forms/widgets.py,sha256=D8utpEv-t_VDkppICA_0jtHvke7uElzAgaGMqd7NBHw,2875
25
+ unfold/contrib/forms/static/unfold/forms/js/trix.js,sha256=HJXkWw7Mtocr7IeyBVplEIeO4X0kUhHHsI1Yra_ZMl8,175599
26
+ unfold/contrib/forms/templates/unfold/forms/array.html,sha256=GcfmREGCvLfXWSXM-t6F54uFgvqliFUeRZ2oeOIV6u0,1555
27
+ unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html,sha256=6H6eaE_Po7OQRpl_YZj1sJJGZcENYzeQ4O8sg2pskMs,9700
28
+ unfold/contrib/forms/templates/unfold/forms/wysiwyg.html,sha256=uLLf59jsD3apAm9Uh1TH4pwCOtO7pL2djAeZLOHyNAI,399
29
+ unfold/contrib/forms/widgets.py,sha256=CZppWn1zMnHGPFTqhKbMS66XPVHWQMIoTNAbV40Nhs0,3141
30
30
  unfold/contrib/guardian/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  unfold/contrib/guardian/apps.py,sha256=ObJqwh4vHxkD4XfduP5IQAiYiWZxsXUOUqF1_R1GsRI,136
32
32
  unfold/contrib/guardian/templates/admin/guardian/model/change_form.html,sha256=FSJc4MYYWyzZAy8Ay0b7Ov-cUo-oELHOM5fQehM54Lg,403
@@ -34,13 +34,13 @@ unfold/contrib/guardian/templates/admin/guardian/model/field.html,sha256=V9ZgmYi
34
34
  unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html,sha256=p7GmZOyDqj1urDAh9pyZhatnSpe-G6gXtQ_DpRK-J8k,1426
35
35
  unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html,sha256=TOXgGhNqujwl4XUYMXOMfPmTPszNkY4Sb3-7oRAy158,2318
36
36
  unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html,sha256=drAeEnr6lh6SgDPC-bkaGtLkd_DxOtcHBSbgb_zaV00,2316
37
- unfold/contrib/guardian/templates/unfold/guardian/group_form.html,sha256=P8WMC5EejUHV5AxEiIQ2LOGzefLHk5J5UHiNq9wnBgY,4145
38
- unfold/contrib/guardian/templates/unfold/guardian/user_form.html,sha256=ci7FRrhTEKbFKKxsJ-07_dWXBYz4mqXPoqu5HfqYLaM,4132
37
+ unfold/contrib/guardian/templates/unfold/guardian/group_form.html,sha256=DsewzbWXXqJHPX8xLY57kxf9LrqrQ6HJF_3heXKJO1Q,4145
38
+ unfold/contrib/guardian/templates/unfold/guardian/user_form.html,sha256=lnhZNYUDKF_5vj0s15R8mRiJ1WmNehyRbe3y2kNINH0,4132
39
39
  unfold/contrib/import_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  unfold/contrib/import_export/apps.py,sha256=SdJu6Qh90VqGWY19FSDhhpUqhTbaIYsJKny3zX5baHI,149
41
41
  unfold/contrib/import_export/forms.py,sha256=O8BBKJIdqLg3-uUFQyDV9-L6EoJ7EVSX3LJBP1zegGw,2037
42
42
  unfold/contrib/import_export/templates/admin/import_export/base.html,sha256=loL2qcV-f8aAzkHss_I4IkwfgemVW2CjOu_aiBxdwX0,357
43
- unfold/contrib/import_export/templates/admin/import_export/change_form.html,sha256=_YorgltKO0CRSaLBAp67XnGMUBWEP_XewsUff0hlrE4,446
43
+ unfold/contrib/import_export/templates/admin/import_export/change_form.html,sha256=-NZyyDmKC9rGOBBcuKBYZR9jRDVz1zJr5xXPfusxChQ,446
44
44
  unfold/contrib/import_export/templates/admin/import_export/change_list_export.html,sha256=vZb2XVoJrDSjM1msiZqkQPMLQGjuqRHuLNdt11hmbQs,164
45
45
  unfold/contrib/import_export/templates/admin/import_export/change_list_export_item.html,sha256=pTDeqPKOlCPKH2dxMIfPnWuc2wVDzB7AzL73WbxSnRY,257
46
46
  unfold/contrib/import_export/templates/admin/import_export/change_list_import_export.html,sha256=JdKd6P2Ot9Ou4yg4CywTauuE1UiTz_mRvDwlx3vj3LI,229
@@ -48,31 +48,31 @@ unfold/contrib/import_export/templates/admin/import_export/change_list_import_it
48
48
  unfold/contrib/import_export/templates/admin/import_export/export.html,sha256=NZ2bZ0yvskp_twIjX9LSROMmicXAU8dDXemxdII9_K0,3447
49
49
  unfold/contrib/import_export/templates/admin/import_export/import.html,sha256=P54_f3s96PV87Bo-FCZfmsn9DkRXLOB36r7HYF6y7GM,2075
50
50
  unfold/contrib/import_export/templates/admin/import_export/import_confirm.html,sha256=M-acK4XSLHuPFD_NJashGYvPPeJrJsC-3LMvHs3lRis,867
51
- unfold/contrib/import_export/templates/admin/import_export/import_errors.html,sha256=0DmJvZs31u-E2Y53yySci86cTnG9aUnOzvfYrOo0lYA,1422
51
+ unfold/contrib/import_export/templates/admin/import_export/import_errors.html,sha256=lV01ICc0mUzPzR0TbrOI1dM7j4sDjgSQa89kNJpEBGI,1422
52
52
  unfold/contrib/import_export/templates/admin/import_export/import_form.html,sha256=mMuMTAbgMbJ1IyCQPBkzmob4m5lJmZ69_QSo3GvvSiY,990
53
- unfold/contrib/import_export/templates/admin/import_export/import_preview.html,sha256=pNuLDW6zc5yOF1jurL2EgR0j05RL9ZVJLZiV4R21GJc,2413
54
- unfold/contrib/import_export/templates/admin/import_export/import_validation.html,sha256=1wQOiXN_Ga9VO6GGyl__KEiuJlCh4gTqzZdzIbmKxG0,4880
53
+ unfold/contrib/import_export/templates/admin/import_export/import_preview.html,sha256=nUuzDhMN7EBVbNsiCjQMJJokuAHE3nbK29JODE5tbOk,2413
54
+ unfold/contrib/import_export/templates/admin/import_export/import_validation.html,sha256=gt8My-0bCkjTEUpc1p8XZBpmNpDmCXrvJSN1sksLCtI,4880
55
55
  unfold/contrib/import_export/templates/admin/import_export/resource_fields_list.html,sha256=7LzgBiT73c4GHVZx3-ap_cuMz57EnIJ1ESGA5xR31mM,871
56
56
  unfold/contrib/inlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  unfold/contrib/inlines/admin.py,sha256=p55cNAFOwEFToyFdXUtGl6Vt6j89s9i42V4kHYSZ5Ws,5928
58
58
  unfold/contrib/inlines/apps.py,sha256=Z9JBnzywq-DanZbD56fG0ndBfLXbojzkjVBleqoOBSU,136
59
59
  unfold/contrib/inlines/checks.py,sha256=8sdyBcxw0erqQvp9sHlpGgy0rXfum-cd2eQE0rXFKQ0,559
60
- unfold/contrib/inlines/forms.py,sha256=R9OJvrbqNLlKvTxw97JjElCY4CQ3IyRIkjIJUN0gJ9k,1323
60
+ unfold/contrib/inlines/forms.py,sha256=s49xrIkQTbvSMsrP4DydXWkpP1v8NCUmQw_Bcoqf0i4,1322
61
61
  unfold/contrib/simple_history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  unfold/contrib/simple_history/apps.py,sha256=eF_KVYb60CAnGgWk2Z1YKYGfgA3TJBMr229qI7e2pgU,153
63
63
  unfold/contrib/simple_history/templates/simple_history/object_history.html,sha256=ioBkepWc9-PQe4Kfy32RKOt_zf4fntz5XUfFeV3yQVw,771
64
64
  unfold/contrib/simple_history/templates/simple_history/object_history_form.html,sha256=MOL3Tw3Nk3Rnq1koRV7yeCev4CP06_4xqAIOQk1M7FU,2290
65
- unfold/contrib/simple_history/templates/simple_history/object_history_list.html,sha256=-QAWguUzGtD08_LBBk00_5ZYUjnso-q6dLXSeALc0n4,7449
66
- unfold/contrib/simple_history/templates/simple_history/submit_line.html,sha256=ns9CEkU4HwKHhhj8qj_9UXvzp0viGtD1tp93GV2WRCs,1703
67
- unfold/dataclasses.py,sha256=XssBT3nfeFO-oekKDWrX6abIyrIW1P8CPzzCv1TRYFM,266
65
+ unfold/contrib/simple_history/templates/simple_history/object_history_list.html,sha256=ydMWblJ74Uyd-sx34bO1mcEgCPPcIQZVL6neBoOllwk,7449
66
+ unfold/contrib/simple_history/templates/simple_history/submit_line.html,sha256=9v7PfS8M6N0NccTEb_9QyTG28NgDBiIkjuBOfWGIQ18,1703
67
+ unfold/dataclasses.py,sha256=4PAWLVlUhyGMq1Mwai7afCgrRO0Inulw0opFUKVEOBk,483
68
68
  unfold/decorators.py,sha256=6E4vPVwK0IQDAiDPg9pgyypRqciX_gR0jwITDcrSc8U,3367
69
69
  unfold/exceptions.py,sha256=gcCj1ox61E137bk_0Cqy4YC3SttdPgB-fiJUqpmyHSE,43
70
- unfold/fields.py,sha256=Zegz_og7aHpdvUdFlUcIYVPB9TjPGjybhR2QNuq1b7A,7422
71
- unfold/forms.py,sha256=GXEm3CFwglyuEbGdVyEMJTB45Gs-_RvGGlXJEkPy2kw,3688
72
- unfold/settings.py,sha256=--TdTSWdOA8TQGW4-vjJkjy_zEyd_kZwBr3BIuQ8hzI,1208
73
- unfold/sites.py,sha256=Gy_i43j2nizW2g8-mas5icvtk-beKism_CznATW6Ia8,12586
70
+ unfold/fields.py,sha256=7sXZDYnXbGKQ9KJtkageVVGNejoAbqoDpzK-mW0TuLw,7448
71
+ unfold/forms.py,sha256=_HDCPoFUGMGvURIDMh1ut6VrhjkonIPxarYRGn0gi_A,4071
72
+ unfold/settings.py,sha256=uUl9WtHmYQF-BM_yCohGB5pGHjMWpZ0tUZOSki47gMA,1233
73
+ unfold/sites.py,sha256=yr66aXr1UYSZw9I9VRKpmkQxUtUP9336zs1GZJWJqis,13505
74
74
  unfold/static/unfold/css/simplebar.css,sha256=5LLaEM11pKi6JFCOLt4XKuZxTpT9rpdq_tNlaQytFlU,4647
75
- unfold/static/unfold/css/styles.css,sha256=8wvUgqaXjUu7nigSY96egS5cQIlyQZ4Onp5yyVcbDQc,94093
75
+ unfold/static/unfold/css/styles.css,sha256=EOABBi3y0LjZk91HplY9csOvU8v9Q6MLOCTqqhW1Aa0,94339
76
76
  unfold/static/unfold/fonts/inter/Inter-Bold.woff2,sha256=O88EyjAeRPE_QEyKBKpK5wf2epUOEu8wwjj5bnhCZqE,46552
77
77
  unfold/static/unfold/fonts/inter/Inter-Medium.woff2,sha256=O88EyjAeRPE_QEyKBKpK5wf2epUOEu8wwjj5bnhCZqE,46552
78
78
  unfold/static/unfold/fonts/inter/Inter-Regular.woff2,sha256=O88EyjAeRPE_QEyKBKpK5wf2epUOEu8wwjj5bnhCZqE,46552
@@ -80,45 +80,46 @@ unfold/static/unfold/fonts/inter/Inter-SemiBold.woff2,sha256=O88EyjAeRPE_QEyKBKp
80
80
  unfold/static/unfold/fonts/inter/styles.css,sha256=QqdgevXVfcD6vZGo8ciSkaEG_62_YcZg0hvHTNgJ56E,608
81
81
  unfold/static/unfold/fonts/material-symbols/Material-Symbols-Outlined.woff2,sha256=GlHQ683zaA6TnebtaEaDEaeGocmioSKaspbbUAVSfEE,349864
82
82
  unfold/static/unfold/fonts/material-symbols/styles.css,sha256=U0oiGd2DS7LXnbuqgsvPNTDJgLZlA9s6LFOJ6FDihks,557
83
- unfold/static/unfold/js/alpine.js,sha256=XQltNouEUe1VZDk-nixNjSZDFH9lyKSBiK7BjpTB-0s,41071
84
- unfold/static/unfold/js/alpine.persist.js,sha256=84PZYnPi25AFm7wIWRe1gzA74c5Rv2VYASYEfaqKLHI,626
85
- unfold/static/unfold/js/app.js,sha256=CIitJoFqpeZYPw8icGVXYX9tVRUgqFxcPZ2WjWS8Ylk,5288
83
+ unfold/static/unfold/js/alpine.anchor.js,sha256=2Jg9aUq749pjFynzr_H1NK3lf-nXrbHMtO9wvlWJyIQ,15524
84
+ unfold/static/unfold/js/alpine.js,sha256=NY2a-7GrW--i9IBhowd25bzXcH9BCmBrqYX5i8OxwDQ,44659
85
+ unfold/static/unfold/js/alpine.persist.js,sha256=jFBwr6faTqqhp3sVi4_VTxJ0FpaF9YGZN1ZGLl_5QYM,837
86
+ unfold/static/unfold/js/app.js,sha256=2-56Kc20KH69Prjcj6ezURAKID3U8V2mHgbhPjeH6HA,6314
86
87
  unfold/static/unfold/js/chart.js,sha256=22W6cFERR-CElMOKRgMMicueMVP0Vf7FBEBYH8Z8tCk,200633
87
88
  unfold/static/unfold/js/htmx.js,sha256=XOLqvnZiyEx46EW9vaJTBUaaWg8CGVVfXJkVsUmJbpI,42820
88
89
  unfold/static/unfold/js/simplebar.js,sha256=t-uG1FAD6ZoiMeN--wac0XRS7SxoDVG6zvRnGuEp7X8,27176
89
- unfold/styles.css,sha256=-NgJI9uEPWEWFlkmkaql4EkSySZyWcH__q8ESkWM58I,18266
90
- unfold/templates/admin/actions.html,sha256=fffRBkdfaPASnDC59M6R1Z7h3MFEXn3Y-QU9ZdCI7RE,2647
90
+ unfold/styles.css,sha256=oWQMIFvTtU80auJaw1kYzQQxslHhbvwZ9BrtFxvHaYk,18350
91
+ unfold/templates/admin/actions.html,sha256=n_Z2dJv2h7DUkz7HjshJDgHMOdTcLEr2M2GIZjoKVTA,2647
91
92
  unfold/templates/admin/app_index.html,sha256=lVjMIFsspHQ09LGHKfdfg7TlqlL39AX5LbwoeoZjFhk,1335
92
- unfold/templates/admin/app_list.html,sha256=AdWB3duShcYHISTS8l-ule088FSQ8Jw9anPbS1-vuYc,3060
93
+ unfold/templates/admin/app_list.html,sha256=ZTUCZMEnaK5JJ-HQfoEyWi36luEiaTiBwuUOtCdyaQ0,3060
93
94
  unfold/templates/admin/auth/user/add_form.html,sha256=iLig-vd2YExXsj0xGBwYhZ4kGUihwYtLtNVhzObgSzg,478
94
95
  unfold/templates/admin/auth/user/change_password.html,sha256=-Wa9ml3yss-kDz0YQxCiwoxs91KQD8eetCt5l6xekWM,2892
95
- unfold/templates/admin/base.html,sha256=MGqtCcydXZPnp6dasaWktyd9D6rdUYX01rFGAv7Zkm4,2226
96
+ unfold/templates/admin/base.html,sha256=RptiEpgXZ6seYrPu-1Stoe8ECHpi9PjkJjFheGecYF0,2358
96
97
  unfold/templates/admin/base_site.html,sha256=3ckWrcAdd7Pw1hk6Zwyknab_Qb-rteV9-mXhMnfo6VI,361
97
98
  unfold/templates/admin/change_form.html,sha256=oWK5wr0qv6QMJrFQ9Veacozg_CN1DwmBqbzPOuDtiA4,4443
98
99
  unfold/templates/admin/change_form_object_tools.html,sha256=eyeH-i2HgEM0Yi-OJA2D1VnKJyC19A_my1IDGxxoP8Y,593
99
- unfold/templates/admin/change_list.html,sha256=18GDZswc1c0xtw2BcKti9SX95Ar9e1BX_HSY0K79g_8,5102
100
+ unfold/templates/admin/change_list.html,sha256=QgpUsMibQRy8g7o7JbB2VZnOemmQuJ9oEYv0gJYXCX0,5155
100
101
  unfold/templates/admin/change_list_object_tools.html,sha256=cmMiT2nT20Ph5yfpj9aHPr76Z-JP4aSXp0o-Rnad28s,147
101
- unfold/templates/admin/change_list_results.html,sha256=Ie2NGfIiU0HHy1a5wJ-YJV1doZkibVRCmR3DRZdoV2I,5395
102
+ unfold/templates/admin/change_list_results.html,sha256=Hls_hFPFMoAmt-PZF9rY9dpG_J52lvuLy4oJ19S3DF0,5494
102
103
  unfold/templates/admin/date_hierarchy.html,sha256=BfUPbsLpHZVa40BHBahz1H9RSVuz36Jc3yrlobOiIpw,1306
103
- unfold/templates/admin/delete_confirmation.html,sha256=hpa2E14oZEXBBs6W1qdNQuF650TIO2Rhr52Q6UfwVeQ,5166
104
- unfold/templates/admin/delete_selected_confirmation.html,sha256=Foka2yvwAMEZre-Kh1KNadRzrCotdKM2U4e6AJQYZu8,4941
105
- unfold/templates/admin/edit_inline/stacked.html,sha256=kKWuO0un9hebuUZjLLr1mygC7K8MuHfPsnTxL87OqJI,5489
106
- unfold/templates/admin/edit_inline/tabular.html,sha256=el0bmcoCBdg-vI3PhfVtIorOeYj5m8QNt77xmWvscbA,13318
107
- unfold/templates/admin/filter.html,sha256=0zTLzx31LjC1k3v8Q2lCopegFVZul8psqEJoWaHb-Vg,1752
108
- unfold/templates/admin/includes/fieldset.html,sha256=lMVwBifFWKvLvHqZ6yjP6Xf6BJFzi-EOf5JHIxEHmRI,888
109
- unfold/templates/admin/includes/object_delete_summary.html,sha256=Nv69SCzyJHFX14iJFfodxKM0IIpQegKZH0fvKB15QJI,468
104
+ unfold/templates/admin/delete_confirmation.html,sha256=n4KcDWPwGtoS_E0osakTuUTHfy5qsPG_LxAAMQHZ_Qw,5166
105
+ unfold/templates/admin/delete_selected_confirmation.html,sha256=Jhu8r3KiIIPtPYVxSLuES87PN4Vgg5Xi17QU4gG2PPo,4941
106
+ unfold/templates/admin/edit_inline/stacked.html,sha256=mkMFqmphS1WUjaI6MSxHOozBOLgkZ6_LxLVwlvrcbFg,5712
107
+ unfold/templates/admin/edit_inline/tabular.html,sha256=Yf2HJv58t2BPZNJfg0InUb0RZQoTsIzjW98BQyTaMGY,13573
108
+ unfold/templates/admin/filter.html,sha256=G7h_8yIRidSQORzL503E3UtlF-73u6JLf5So0wAYw-w,1752
109
+ unfold/templates/admin/includes/fieldset.html,sha256=R9DCaOQsFkNUZBPSI9OuhBx0VYmNG-GQ88BTsHpZh94,952
110
+ unfold/templates/admin/includes/object_delete_summary.html,sha256=o57knP7uUUY6GeBUnhAb0c9s2oW_aIhInUmR_TN5QAI,468
110
111
  unfold/templates/admin/index.html,sha256=pkGdKWdD3zzOvkRdELvdb15sleSpfl4eHPA14PAh7z0,684
111
- unfold/templates/admin/login.html,sha256=J1CmA_DiB5Ba1dXVbT4IS2C8pTie5peVJTxWWQNgVHE,3836
112
+ unfold/templates/admin/login.html,sha256=MI6LOulHm1929UAwPzKCWZRRkvdzbwA6MuTBbg7XGjg,4076
112
113
  unfold/templates/admin/nav_sidebar.html,sha256=cKuC28XU9NT17lrCVugn2cHf39kgkoX499axJt29L3s,1162
113
- unfold/templates/admin/object_history.html,sha256=PsbhXFd_3SCB9YkSJeHESp2VqjNlHtUW26mRtaZ-MD0,5069
114
+ unfold/templates/admin/object_history.html,sha256=gXg72ygzFxsVZ5Aej9U5Kh-9mDi0gSxM50TK2IMNNLk,5069
114
115
  unfold/templates/admin/pagination.html,sha256=KWTPV7_hVSZ1374a-pqHXhnOueNQKu1UnSUYirrWtCk,1173
115
- unfold/templates/admin/search_form.html,sha256=8fJlPYHQDCm4Je05wwdNJuJQR6ChLgghWmo-yHSybMs,1099
116
- unfold/templates/admin/submit_line.html,sha256=X7xg5vgWfHFWJOuXOLshma_LWWI0H9GHDmMYD1JqfI4,4353
117
- unfold/templates/auth/widgets/read_only_password_hash.html,sha256=Li9efo-3cFC5zj9im0SPfc62R4ZNVPQhs24H1U7xmD8,785
118
- unfold/templates/registration/logged_out.html,sha256=E7RHtB6AGQwgUIiV7dwJ1DbdfNvEhzJARONnB6jRLhQ,1028
116
+ unfold/templates/admin/search_form.html,sha256=vKuruVUEMarx8FPrBp86yqqFtUXfFPzR_9GxhnOCs4U,1173
117
+ unfold/templates/admin/submit_line.html,sha256=5ji4NVEg_aN22B6OWB5ptFpulpihaPeROXEUszwNdQY,4439
118
+ unfold/templates/auth/widgets/read_only_password_hash.html,sha256=I08wFPcDr0Gjrg64nlcKiB12Tz2g_nnJXemiy8tkoZg,785
119
+ unfold/templates/registration/logged_out.html,sha256=4rjAazcxt8ZCqA5bConKRgAk4VrljNTksdtg7D_btrU,1028
119
120
  unfold/templates/registration/password_change_done.html,sha256=i1ZzfTwZHWNWoN9_xHZDdcgLdTOVbTFFD1HUSuG0LkY,1062
120
121
  unfold/templates/registration/password_change_form.html,sha256=zzmqFHfMExS7czgEBdEtetXk2Ae_7jzaID7CpE_xlgo,2225
121
- unfold/templates/unfold/change_list_filter.html,sha256=bUDjrVuvE1soFncP8O7qrGonk9O4ozD-nFpbNs3NcrM,2172
122
+ unfold/templates/unfold/change_list_filter.html,sha256=dwSpZkhhDvDsYJXO_0PybZdquZKUIQmZkDaIyyIXisE,2507
122
123
  unfold/templates/unfold/components/button.html,sha256=M_kn5fJPadvBfTUdN56-LMkouvfpUMga7orRJoVifgc,178
123
124
  unfold/templates/unfold/components/card.html,sha256=F0iaFv4F8NOjhka24XJHckJxub_Yhq2tJ4cLu6aTHwI,799
124
125
  unfold/templates/unfold/components/chart/bar.html,sha256=nDdDCUXvFd793OpNgNPQo0vBmvYngMsQyPHVTf1vfOw,297
@@ -130,27 +131,27 @@ unfold/templates/unfold/components/progress.html,sha256=pfdSjZD17IK4L5kGO8tRYikp
130
131
  unfold/templates/unfold/components/separator.html,sha256=G0IlKIFEXJmLZc0KP2YcsLzkaskeb0PrLvOdoKFTgmc,90
131
132
  unfold/templates/unfold/components/text.html,sha256=-GjxvdiaBQIaNfPSzT6SSIwnc3R27FkSDQMoF3FDPso,102
132
133
  unfold/templates/unfold/components/title.html,sha256=PSiNK-s8jUJfu6f9zCcGOOyLiKxS-dsAFu3aR-yjNdU,131
133
- unfold/templates/unfold/helpers/account_links.html,sha256=4iddfRn6yHZG--aEEme4XnxQa6-gh0jyVt6ymGKb6Xo,1939
134
- unfold/templates/unfold/helpers/actions_row.html,sha256=1xd39zx38NOoKuDuxAG7PHeu5x2OTIraQGFkm15Erqg,1681
134
+ unfold/templates/unfold/helpers/account_links.html,sha256=JCm4z_jZSshn8k812xdRx3ZHt_wdHgZngQKZXTSK0tc,1939
135
+ unfold/templates/unfold/helpers/actions_row.html,sha256=X_s1C6vA0mTexXsbOnKpEPdA5qQgzbJ8jUHsddt-aW0,1722
135
136
  unfold/templates/unfold/helpers/add_link.html,sha256=mIgpKrwqBO1oJ4cwPQWSX1oUHBwHJmy5-2TxUHf-1bo,808
136
- unfold/templates/unfold/helpers/app_list.html,sha256=lFnW8p9DcZbI9t3_ee9JX9ERHA0NRL2V88zpzuG4jq8,4720
137
- unfold/templates/unfold/helpers/app_list_default.html,sha256=vZkw1F7oHOKReNkdHRYjhuNdA1nNdvSD4wbDmf0bnsM,4102
137
+ unfold/templates/unfold/helpers/app_list.html,sha256=C4UIaUtI-DEGH8N-tSrzVXPcBzyrS8sBcHuuthW0KF4,5757
138
+ unfold/templates/unfold/helpers/app_list_default.html,sha256=LjnBSEd7tsVLWWa-hvbP00CcPtgafOzy4kgWXhAUY2E,4102
138
139
  unfold/templates/unfold/helpers/attrs.html,sha256=Mwpj72kuwYj8hOT3J2T8qx6f1r_4xwwaS1slHA-82jI,166
139
140
  unfold/templates/unfold/helpers/boolean.html,sha256=6gXAMEJcNVB14je9uN32dxImXP3KMCiWPeKU5EAnawA,569
140
- unfold/templates/unfold/helpers/breadcrumb_item.html,sha256=k_1j57UV0WtzFFlMKaewj4NLbR_DhXI6RzCHThblZLw,234
141
+ unfold/templates/unfold/helpers/breadcrumb_item.html,sha256=QSosg4GdgYSJIfVkBamHxuNwtRu5WQZAn6YNcCnwaFA,234
141
142
  unfold/templates/unfold/helpers/display_header.html,sha256=HiuaIJ6Y8DSM99OFypLO_2uQadZIw7tSg1aJJpFEXkM,1161
142
143
  unfold/templates/unfold/helpers/display_label.html,sha256=LS9DWzYjHkYLV27sZDwyXlg2sLJ0AlId9FbjnXpsbfg,317
143
144
  unfold/templates/unfold/helpers/field.html,sha256=Ds-zUHkdyxamfUCVNhxvtM0XoJg9OCA0QcsLbLWv4oo,882
144
145
  unfold/templates/unfold/helpers/field_readonly.html,sha256=O0gHEW46OWt1oUUk0lZiyR-mztWv_7IH6GpKRm2wUw4,235
145
- unfold/templates/unfold/helpers/field_readonly_value.html,sha256=iKVTcAj0AMDI6NU780JWc_S04YyZbxLtNRzW9gGrjRU,451
146
- unfold/templates/unfold/helpers/fieldset_row.html,sha256=D3RLCcUouJo1RW4vW7TCKssKmm8NaqUN0w9eoqTXuSE,4135
147
- unfold/templates/unfold/helpers/fieldsets_tabs.html,sha256=V3bgW75eozaBDty-xfciGafhCWq_Ba5HfQkk92yRc9A,1445
146
+ unfold/templates/unfold/helpers/field_readonly_value.html,sha256=eAQcLZc2YpWOwOmKZQVP60oDRp4Zpo4fZJBEo9nLwNo,442
147
+ unfold/templates/unfold/helpers/fieldset_row.html,sha256=Pg0qqHXlKzzECeJxJ_0PlPdHZUK-MrIxY-vvvJZeHX0,4125
148
+ unfold/templates/unfold/helpers/fieldsets_tabs.html,sha256=YDIiO-f5Hn__o9fEyhQXPD_Pf7jklhUAsxQy_qH7k3Y,1477
148
149
  unfold/templates/unfold/helpers/form_errors.html,sha256=EwerIJptSCWXvtAJ1IZKfEn98qlShBIGavsTThbklAs,266
149
150
  unfold/templates/unfold/helpers/form_label.html,sha256=SR4U6iK9w4oels6iGY_Da-yN4BbXQVN9zCDlBGGXcw8,310
150
- unfold/templates/unfold/helpers/header.html,sha256=jklASqVEJRa22jxdXq_X2UZb2uYn_ywaZbI2N4nBv20,998
151
- unfold/templates/unfold/helpers/help_text.html,sha256=iBXw0LWfoYT5PoPLJek9ixv4SuK7hfVkjPgmv2ODW-s,146
152
- unfold/templates/unfold/helpers/history.html,sha256=0_Imm7Fc1PqjjXEmHh8QEQg_qIqBZWx2BeK5o3axfvY,2017
153
- unfold/templates/unfold/helpers/label.html,sha256=sgFj9tYw9SjAq8p20nKOFjkC2653K8K1ryXT9dW4H8g,684
151
+ unfold/templates/unfold/helpers/header.html,sha256=-wEd5_REov-lU6Od_BaZbvfQCFBZMtRGB4rQwCBWcDc,1051
152
+ unfold/templates/unfold/helpers/help_text.html,sha256=GAKDPqM-70JRwvS_T748VumWrZqhOLz63KCuitBwen8,146
153
+ unfold/templates/unfold/helpers/history.html,sha256=PI7qMI6W-3-3uV7oR-1WmUiitpC85USSy7U9o3AuNy4,2017
154
+ unfold/templates/unfold/helpers/label.html,sha256=FRRreTItfDtqgk0vuqQWX-R8AAaw2mM4jSrpyXGLFp4,684
154
155
  unfold/templates/unfold/helpers/messages/error.html,sha256=mlHVdfpG2ycsKIDBJB9CZs6fM4bMGkpmJvtxHjEApjE,558
155
156
  unfold/templates/unfold/helpers/messages/errornote.html,sha256=5ChxoVYkF4jI-cw72gVHh0CRxDnG9ME_U6UQOArax2k,404
156
157
  unfold/templates/unfold/helpers/messages/info.html,sha256=js95Hm3CzqpP6_XJpnA2vG7qt8eyHmJJJcDF0e5PLtQ,143
@@ -158,41 +159,41 @@ unfold/templates/unfold/helpers/messages.html,sha256=axUkgdYQySOTKEuRBDkohXFf8dM
158
159
  unfold/templates/unfold/helpers/navigation.html,sha256=TdBm-7YM6B9qpCAKT1tN6CfPFM6pob6Xz5oojYkcAVA,1185
159
160
  unfold/templates/unfold/helpers/pagination_current_item.html,sha256=4cZ2KLVcP0Y7xuGyXgexDQ07r94cgM5Gnmtv11dkRPQ,69
160
161
  unfold/templates/unfold/helpers/pagination_ellipsis.html,sha256=Ar9Ntf2I_79mIVW5Hadwkn1Kx1Lj3d8eIXNXI1IIBfg,56
161
- unfold/templates/unfold/helpers/search.html,sha256=T3JLlzEeHTEpX6qfjNQ0cQPW2rtVIOyE9quEyVHVXsA,1382
162
- unfold/templates/unfold/helpers/search_results.html,sha256=N5CNMJSF91jbJS6OQP0nANlnwVeS9UmnuOJ8QLitl2c,774
162
+ unfold/templates/unfold/helpers/search.html,sha256=tCJLkG3qYDTOsgkaCer0y4cNo_ubw9fQXIt0w_72uCo,1588
163
+ unfold/templates/unfold/helpers/search_results.html,sha256=Ki-NoM_Gj5eJ4dMTqiVtyhQIdHPRS_77R7VJZikv83I,774
163
164
  unfold/templates/unfold/helpers/site_icon.html,sha256=RO-R5yRt6yOx41Z8dpDP4lzwMXFdz8Dp5j8vGUtHzh0,789
164
165
  unfold/templates/unfold/helpers/site_logo.html,sha256=05tqXzHy--pluceRQ2jDUZCFX9DjPHdBqGaieUv9sXk,424
165
166
  unfold/templates/unfold/helpers/submit.html,sha256=oSzq85LRLhdOlbFtFZFhYm6ucT95u6LunTeSTDClszQ,206
166
- unfold/templates/unfold/helpers/tab_action.html,sha256=FMj_aWoVbY4xGXFSkLv94IoiN-N7yy33T_EnDgcXfe4,403
167
- unfold/templates/unfold/helpers/tab_list.html,sha256=MUtQM63uH5XB6A3SN1pagB_GuRVAPNWfI9Y-xsMPyRg,2266
168
- unfold/templates/unfold/helpers/theme_switch.html,sha256=B5wfWEoMjLJp6V8aR0ClN-_ZUcjU--Jclbqny2sEmNM,2271
167
+ unfold/templates/unfold/helpers/tab_action.html,sha256=jsEtb3umg4H3qx1F9WkWpg78GllzmNKEOB9asFcs_2c,403
168
+ unfold/templates/unfold/helpers/tab_list.html,sha256=_f59XxqsccYk2NuJBigWzDcwjB7IJUpFFhGD9_mnrMw,4075
169
+ unfold/templates/unfold/helpers/theme_switch.html,sha256=s5ZeWbx8Ynaq777EU8tGzCoX-09JMKt4l4qpxxX8dMQ,2271
169
170
  unfold/templates/unfold/helpers/userlinks.html,sha256=qWjtBt9Q_tU8a874ii0Qqg8t_d-SSYBTB_3QZfNlx9g,634
170
171
  unfold/templates/unfold/helpers/welcomemsg.html,sha256=noRysgSENef4_53pXaTiBCy2or6lQm1ZtmCQVODAB1c,1120
171
172
  unfold/templates/unfold/layouts/base.html,sha256=bAXZDbyiyxNiE-49mqr7pHUFhC2mHZQzIDUY-js_yZ0,379
172
173
  unfold/templates/unfold/layouts/base_simple.html,sha256=T37-ncKZBLNnOlsUQq90rGl3sLdRjFaxWCPG399pkbE,1179
173
- unfold/templates/unfold/layouts/skeleton.html,sha256=iXrUiggVp36vmBIia5p32c-9Ruy0PxkFFQogDpvENbk,3419
174
- unfold/templates/unfold/widgets/clearable_file_input.html,sha256=gAJsfyCnanOyeN4ypp1y7r76znvITV7FYTyWvPsmlDs,1882
175
- unfold/templates/unfold/widgets/clearable_file_input_small.html,sha256=LPgiKuMAYPiEupFxdlwc1TozNRV1w9ekdRuv-5P4fgw,2531
174
+ unfold/templates/unfold/layouts/skeleton.html,sha256=DCfXXG5ZKw6up2ZTBta2TL1ZcuGlnZOfJWUh5ltzBz0,3821
175
+ unfold/templates/unfold/widgets/clearable_file_input.html,sha256=Pa3qK7aHhTA66HYpbeeCfiV8cj2fbQa5gClxebbdsQQ,2234
176
+ unfold/templates/unfold/widgets/clearable_file_input_small.html,sha256=5gR3OrAQc3PabIB0HaIAmMBqdr3SRNcxmLPPmMkVBas,2512
176
177
  unfold/templates/unfold/widgets/date.html,sha256=WXo2LG1v_gBZBSg-zocj7oujMKI0MWLYCIFfB04HMLQ,122
177
178
  unfold/templates/unfold/widgets/foreign_key_raw_id.html,sha256=VyJjnN0v75-NFb_O25smszKzlRXwl_H9zyPsrBLb11g,1036
178
179
  unfold/templates/unfold/widgets/radio.html,sha256=3WcmclQNg7R_pRjEHL1dHkGjAzWlWNYnhHkAirC4nuA,646
179
180
  unfold/templates/unfold/widgets/radio_option.html,sha256=IZgPx-aWKJuxrSalJ3K50RFd1vwSpb9Qk0yZwfV78_A,368
180
181
  unfold/templates/unfold/widgets/range.html,sha256=28FBtSUgUcG82vpk_I27Lbs5oWZOV_oMzVhx4wj3-Ik,262
181
182
  unfold/templates/unfold/widgets/related_widget_wrapper.html,sha256=0I6wSu8z_sJPqmX6uZev4mQGIIM336d6kvHdHj36ny4,3831
182
- unfold/templates/unfold/widgets/split_datetime.html,sha256=u4pSJOVAb4HIzZc4oQmRZe76jtoDx5Ils6b-Gw38LRU,1688
183
+ unfold/templates/unfold/widgets/split_datetime.html,sha256=75gpnx5pF5PaoLfj-e3XOdNEBDWvEdzLK85cawUDjRQ,1688
183
184
  unfold/templates/unfold/widgets/split_datetime_vertical.html,sha256=xinCH4kkQ-yKUqcSI7-m-_UEzOEKWqvLTjUa3i-e8EM,881
184
185
  unfold/templates/unfold/widgets/split_money.html,sha256=AFLUBmzGbY-RXgsfz7gaDxVRhplaIPhXjg_hWYo9xcY,352
185
186
  unfold/templates/unfold/widgets/textarea.html,sha256=-ZLDGrtASero7L-J3VvTNq_KjPAZh_kLVw0Ow3awqXM,144
186
187
  unfold/templates/unfold/widgets/textarea_expandable.html,sha256=4xIGWb20DuwiwumndByrAyh7xF-ReXKLulSpDImX_cs,459
187
188
  unfold/templates/unfold/widgets/time.html,sha256=WXo2LG1v_gBZBSg-zocj7oujMKI0MWLYCIFfB04HMLQ,122
188
189
  unfold/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
- unfold/templatetags/unfold.py,sha256=mz5mq7fj2381BEQE6UguBWnBa9gjs1m1DrT5iuXE5nc,6363
190
- unfold/templatetags/unfold_list.py,sha256=5xAjQX0_JnVwDaj-wGkGqbjOAtp-a18koWIKj5VfBz0,13867
190
+ unfold/templatetags/unfold.py,sha256=jWumX0e2KIyDxz_CmIfyOu7blILxVBqUPtGi1VutaBo,6884
191
+ unfold/templatetags/unfold_list.py,sha256=hqSrBD6-8vHV6Ig3QNVmDvfViE_aud_7Ay-br7w0G7E,14193
191
192
  unfold/typing.py,sha256=1P8PWM2oeaceUJtA5j071RbKEBpHYaux441u7Hd6wv4,643
192
193
  unfold/utils.py,sha256=zZdJE4FmwRd7p5a7sJiAoZjBOJitXJduOq7BulyppWM,4803
193
194
  unfold/views.py,sha256=hQCyeeMa9kcJV1IZeeYqj8PGW7J4QWME8n-5n0UGmiU,1003
194
- unfold/widgets.py,sha256=QEcfHCo4q-skqbvqK1h1ETGQp8PItjyQRfMViKr-cYM,15672
195
- django_unfold-0.29.1.dist-info/LICENSE.md,sha256=Ltk_quRyyvV3J5v3brtOqmibeZSw2Hrb8bY1W3ya0Ik,1077
196
- django_unfold-0.29.1.dist-info/METADATA,sha256=CFuZXOCRzVxKjlNkqNzN8MHKazi7DnIuBGWaol8LTVI,53236
197
- django_unfold-0.29.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
198
- django_unfold-0.29.1.dist-info/RECORD,,
195
+ unfold/widgets.py,sha256=fgFqWQZwIGvsYmtuAf6oCN71uFUXM_yuD8CEcSFUiUQ,15893
196
+ django_unfold-0.31.0.dist-info/LICENSE.md,sha256=Ltk_quRyyvV3J5v3brtOqmibeZSw2Hrb8bY1W3ya0Ik,1077
197
+ django_unfold-0.31.0.dist-info/METADATA,sha256=ghDshhUSgSCC8jSoCDumgrjqgLs4yClxCHWs5COll3Y,54572
198
+ django_unfold-0.31.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
199
+ django_unfold-0.31.0.dist-info/RECORD,,