django-unfold 0.55.2__py3-none-any.whl → 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/METADATA +1 -1
- {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/RECORD +124 -123
- {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/WHEEL +1 -1
- unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +2 -2
- unfold/contrib/forms/templates/unfold/forms/array.html +5 -5
- unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html +23 -23
- unfold/contrib/forms/widgets.py +7 -7
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html +4 -2
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html +5 -3
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html +5 -3
- unfold/contrib/guardian/templates/unfold/guardian/group_form.html +4 -4
- unfold/contrib/guardian/templates/unfold/guardian/user_form.html +4 -4
- unfold/contrib/import_export/templates/admin/import_export/change_form.html +1 -1
- unfold/contrib/import_export/templates/admin/import_export/export.html +4 -4
- unfold/contrib/import_export/templates/admin/import_export/import.html +1 -1
- unfold/contrib/import_export/templates/admin/import_export/import_confirm.html +2 -2
- unfold/contrib/import_export/templates/admin/import_export/import_errors.html +18 -12
- unfold/contrib/import_export/templates/admin/import_export/import_form.html +2 -2
- unfold/contrib/import_export/templates/admin/import_export/import_preview.html +2 -2
- unfold/contrib/import_export/templates/admin/import_export/import_validation.html +7 -7
- unfold/contrib/simple_history/templates/simple_history/object_history.html +3 -3
- unfold/contrib/simple_history/templates/simple_history/object_history_form.html +2 -2
- unfold/contrib/simple_history/templates/simple_history/object_history_list.html +2 -2
- unfold/contrib/simple_history/templates/simple_history/submit_line.html +4 -4
- unfold/forms.py +1 -1
- unfold/settings.py +22 -22
- unfold/sites.py +10 -5
- unfold/static/unfold/css/styles.css +2 -1
- unfold/static/unfold/fonts/material-symbols/styles.css +0 -16
- unfold/styles.css +140 -84
- unfold/templates/admin/actions.html +4 -4
- unfold/templates/admin/app_index.html +1 -1
- unfold/templates/admin/app_list.html +2 -2
- unfold/templates/admin/auth/user/add_form.html +1 -1
- unfold/templates/admin/auth/user/change_password.html +2 -2
- unfold/templates/admin/base.html +6 -6
- unfold/templates/admin/change_form.html +6 -4
- unfold/templates/admin/change_list.html +11 -9
- unfold/templates/admin/change_list_results.html +4 -4
- unfold/templates/admin/date_hierarchy.html +1 -1
- unfold/templates/admin/delete_confirmation.html +4 -4
- unfold/templates/admin/delete_selected_confirmation.html +3 -3
- unfold/templates/admin/edit_inline/stacked.html +3 -3
- unfold/templates/admin/edit_inline/tabular.html +4 -4
- unfold/templates/admin/filter.html +3 -3
- unfold/templates/admin/includes/fieldset.html +1 -1
- unfold/templates/admin/index.html +1 -1
- unfold/templates/admin/login.html +9 -7
- unfold/templates/admin/nav_sidebar.html +11 -3
- unfold/templates/admin/object_history.html +4 -4
- unfold/templates/admin/pagination.html +18 -24
- unfold/templates/admin/search_form.html +3 -3
- unfold/templates/admin/submit_line.html +53 -56
- unfold/templates/auth/widgets/read_only_password_hash.html +1 -1
- unfold/templates/registration/logged_out.html +6 -8
- unfold/templates/registration/password_change_done.html +1 -1
- unfold/templates/registration/password_change_form.html +1 -1
- unfold/templates/unfold/components/button.html +1 -1
- unfold/templates/unfold/components/card.html +5 -5
- unfold/templates/unfold/components/chart/cohort.html +2 -2
- unfold/templates/unfold/components/navigation.html +2 -2
- unfold/templates/unfold/components/progress.html +1 -1
- unfold/templates/unfold/components/table.html +3 -3
- unfold/templates/unfold/components/tracker.html +1 -1
- unfold/templates/unfold/helpers/account_links.html +7 -7
- unfold/templates/unfold/helpers/actions_row.html +3 -3
- unfold/templates/unfold/helpers/app_list.html +7 -7
- unfold/templates/unfold/helpers/app_list_default.html +2 -2
- unfold/templates/unfold/helpers/change_list_actions.html +1 -1
- unfold/templates/unfold/helpers/change_list_filter.html +4 -4
- unfold/templates/unfold/helpers/change_list_filter_actions.html +5 -5
- unfold/templates/unfold/helpers/delete_submit_line.html +2 -2
- unfold/templates/unfold/helpers/display_dropdown.html +3 -3
- unfold/templates/unfold/helpers/display_header.html +1 -1
- unfold/templates/unfold/helpers/edit_inline/tabular_delete.html +1 -1
- unfold/templates/unfold/helpers/edit_inline/tabular_field.html +1 -1
- unfold/templates/unfold/helpers/edit_inline/tabular_row.html +1 -1
- unfold/templates/unfold/helpers/edit_inline/tabular_title.html +1 -1
- unfold/templates/unfold/helpers/empty_results.html +4 -4
- unfold/templates/unfold/helpers/field_readonly_value.html +1 -1
- unfold/templates/unfold/helpers/fieldset_row_checkbox.html +2 -2
- unfold/templates/unfold/helpers/fieldset_row_field.html +1 -1
- unfold/templates/unfold/helpers/fieldsets_tabs.html +1 -1
- unfold/templates/unfold/helpers/header.html +3 -1
- unfold/templates/unfold/helpers/header_back_button.html +1 -1
- unfold/templates/unfold/helpers/history.html +2 -2
- unfold/templates/unfold/helpers/label.html +1 -1
- unfold/templates/unfold/helpers/language_switch.html +3 -3
- unfold/templates/unfold/helpers/messages/debug.html +1 -1
- unfold/templates/unfold/helpers/messages/error.html +1 -1
- unfold/templates/unfold/helpers/messages/errornote.html +1 -1
- unfold/templates/unfold/helpers/messages/info.html +1 -1
- unfold/templates/unfold/helpers/messages/success.html +1 -1
- unfold/templates/unfold/helpers/messages/warning.html +1 -1
- unfold/templates/unfold/helpers/messages.html +1 -1
- unfold/templates/unfold/helpers/navigation.html +10 -14
- unfold/templates/unfold/helpers/navigation_header.html +6 -4
- unfold/templates/unfold/helpers/pagination.html +7 -0
- unfold/templates/unfold/helpers/search.html +2 -2
- unfold/templates/unfold/helpers/search_results.html +1 -1
- unfold/templates/unfold/helpers/site_dropdown.html +2 -2
- unfold/templates/unfold/helpers/site_icon.html +6 -6
- unfold/templates/unfold/helpers/submit.html +1 -1
- unfold/templates/unfold/helpers/tab_action.html +5 -5
- unfold/templates/unfold/helpers/tab_actions.html +1 -1
- unfold/templates/unfold/helpers/tab_items.html +8 -8
- unfold/templates/unfold/helpers/tab_list.html +1 -1
- unfold/templates/unfold/helpers/theme_switch.html +8 -8
- unfold/templates/unfold/helpers/welcomemsg.html +3 -3
- unfold/templates/unfold/layouts/base_simple.html +3 -3
- unfold/templates/unfold/layouts/skeleton.html +2 -2
- unfold/templates/unfold/widgets/clearable_file_input.html +3 -3
- unfold/templates/unfold/widgets/clearable_file_input_small.html +5 -5
- unfold/templates/unfold/widgets/foreign_key_raw_id.html +5 -5
- unfold/templates/unfold/widgets/related_widget_wrapper.html +8 -8
- unfold/templates/unfold/widgets/split_datetime.html +2 -2
- unfold/templates/unfold_crispy/field.html +1 -1
- unfold/templates/unfold_crispy/inputs.html +1 -1
- unfold/templates/unfold_crispy/layout/checkbox.html +1 -1
- unfold/templates/unfold_crispy/layout/fieldset.html +1 -1
- unfold/templates/unfold_crispy/layout/table_inline_formset.html +2 -2
- unfold/templatetags/unfold.py +23 -9
- unfold/widgets.py +29 -34
- {django_unfold-0.55.2.dist-info → django_unfold-1.0.0.dist-info}/LICENSE.md +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
{% if errors %}
|
4
|
-
<p class="errornote bg-red-100 mb-8 text-red-700 px-3 py-3 rounded dark:bg-red-500/20 dark:border-red-500/20 dark:text-red-400">
|
4
|
+
<p class="errornote bg-red-100 mb-8 text-red-700 px-3 py-3 rounded-default dark:bg-red-500/20 dark:border-red-500/20 dark:text-red-400">
|
5
5
|
{% if errors.items|length == 1 %}
|
6
6
|
{% translate "Please correct the error below." %}
|
7
7
|
{% else %}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<div class="mb-3 px-3 py-3 rounded text-sm last:mb-8 bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-400">
|
1
|
+
<div class="mb-3 px-3 py-3 rounded-default text-sm last:mb-8 bg-blue-100 text-blue-700 dark:bg-blue-500/20 dark:text-blue-400">
|
2
2
|
{{ message }}
|
3
3
|
</div>
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<div class="mb-3 px-3 py-3 rounded text-sm last:mb-8 bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400">
|
1
|
+
<div class="mb-3 px-3 py-3 rounded-default text-sm last:mb-8 bg-green-100 text-green-700 dark:bg-green-500/20 dark:text-green-400">
|
2
2
|
{{ message }}
|
3
3
|
</div>
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<div class="mb-3 px-3 py-3 rounded text-sm last:mb-8 bg-orange-100 text-orange-700 dark:bg-orange-500/20 dark:text-orange-400">
|
1
|
+
<div class="mb-3 px-3 py-3 rounded-default text-sm last:mb-8 bg-orange-100 text-orange-700 dark:bg-orange-500/20 dark:text-orange-400">
|
2
2
|
{{ message }}
|
3
3
|
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{% if messages %}
|
2
2
|
<ul class="flex flex-col gap-4 mb-8">
|
3
3
|
{% for message in messages %}
|
4
|
-
<li class="
|
4
|
+
<li class="*:mb-0!">
|
5
5
|
{% if message.tags == 'info' %}
|
6
6
|
{% include "unfold/helpers/messages/info.html" with message=message %}
|
7
7
|
{% elif message.tags == 'success' %}
|
@@ -1,17 +1,13 @@
|
|
1
|
-
{% load i18n %}
|
1
|
+
{% load i18n unfold %}
|
2
2
|
|
3
|
-
<
|
4
|
-
|
5
|
-
<div class="flex flex-col min-h-screen min-w-sidebar dark:bg-base-950/20">
|
6
|
-
{% include "unfold/helpers/navigation_header.html" %}
|
3
|
+
<nav class="bg-base-50 flex flex-col min-h-screen dark:bg-base-950/20 {% element_classes 'navigation_inner' %}">
|
4
|
+
{% include "unfold/helpers/navigation_header.html" %}
|
7
5
|
|
8
|
-
|
6
|
+
{% include "unfold/helpers/search.html" %}
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
</nav>
|
17
|
-
</div>
|
8
|
+
{% if sidebar_navigation|length > 0 %}
|
9
|
+
{% include "unfold/helpers/app_list.html" with app_list=available_apps %}
|
10
|
+
{% else %}
|
11
|
+
{% include "admin/app_list.html" with app_list=available_apps show_changelinks=False %}
|
12
|
+
{% endif %}
|
13
|
+
</nav>
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
{% load unfold %}
|
2
|
+
|
3
|
+
<div class="border-b border-base-200 flex gap-3 items-center h-[65px] mb-5 dark:border-base-800 px-3 {% element_classes 'navigation_header' %}" {% if site_dropdown %}x-data="{ openDropdown: false }"{% endif %}>
|
4
|
+
<div class="bg-transparent border border-transparent flex font-semibold gap-3 grow min-w-0 -mx-px h-[54px] items-center px-3 {% if site_dropdown %}cursor-pointer rounded-default transition-all hover:bg-white hover:border-base-200 hover:shadow-xs dark:hover:bg-base-800 dark:hover:border-base-700{% endif %}"
|
3
5
|
{% if site_dropdown %}
|
4
6
|
x-on:click="openDropdown = !openDropdown"
|
5
|
-
x-bind:class="{'bg-white border-base-200 shadow-
|
7
|
+
x-bind:class="{'bg-white border-base-200 shadow-xs dark:bg-base-800 dark:border-base-700': openDropdown, 'bg-transparent border-transparent': !openDropdown}"
|
6
8
|
{% endif %}
|
7
9
|
>
|
8
10
|
{% if site_logo %}
|
@@ -18,7 +20,7 @@
|
|
18
20
|
{% endif %}
|
19
21
|
</div>
|
20
22
|
|
21
|
-
<span class="material-symbols-outlined block cursor-pointer h-
|
23
|
+
<span class="material-symbols-outlined block cursor-pointer h-[18px] xl:hidden! hover:text-base-700 dark:hover:text-base-200" x-on:click="sidebarMobileOpen = !sidebarMobileOpen">
|
22
24
|
close
|
23
25
|
</span>
|
24
26
|
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{% load admin_list unfold %}
|
2
|
+
|
3
|
+
{% if cl %}
|
4
|
+
<div {% if not is_popup %}class="px-4 lg:backdrop-blur-xs lg:bg-white/80 lg:flex lg:items-center lg:dark:bg-base-900/80 lg:left-0 lg:right-0 lg:bottom-0 lg:sticky relative z-40 {% if not is_popup %}lg:border-t lg:border-base-200 lg:relative lg:scrollable-top lg:dark:border-base-800{% endif %} {% element_classes 'pagination' %}"{% endif %}>
|
5
|
+
{% pagination cl %}
|
6
|
+
</div>
|
7
|
+
{% endif %}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
{% if sidebar_show_search %}
|
4
4
|
<div class="mb-2.5 mx-3 relative" x-data="{openSearchResults: false}">
|
5
|
-
<div class="bg-white border border-base-200 flex items-center overflow-hidden rounded shadow-
|
5
|
+
<div class="bg-white border border-base-200 flex items-center overflow-hidden rounded-default shadow-xs focus-within:outline-2 focus-within:-outline-offset-2 focus-within:outline-primary-600 dark:bg-base-900 dark:border-base-700">
|
6
6
|
<span class="material-symbols-outlined md-18 pl-3 text-base-400">manage_search</span>
|
7
7
|
|
8
8
|
<input type="search"
|
@@ -14,7 +14,7 @@
|
|
14
14
|
hx-trigger="keyup changed delay:500ms, search"
|
15
15
|
hx-target="#search-results"
|
16
16
|
hx-indicator=".htmx-indicator"
|
17
|
-
class="
|
17
|
+
class="grow font-medium overflow-hidden pl-2 pr-3 py-2 text-font-default-light text-sm placeholder-base-400 focus:outline-hidden dark:bg-base-900 dark:text-font-default-dark"
|
18
18
|
placeholder="{% translate 'Search apps and models...' %}" aria-label="{% translate 'Filter navigation items' %}" />
|
19
19
|
<div class="absolute opacity-0 htmx-indicator mt-0.5 right-2 top-2">
|
20
20
|
<span class="animate-spin material-symbols-outlined md-18 text-base-300">sync</span>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
{% if results %}
|
2
|
-
<ul class="absolute bg-white border border-base-200 left-0 mt-12 right-0 rounded top-0 shadow-
|
2
|
+
<ul class="absolute bg-white border border-base-200 left-0 mt-12 right-0 rounded-default top-0 shadow-xs text-sm z-10 dark:bg-base-800 dark:border-base-700">
|
3
3
|
{% for app in results %}
|
4
4
|
{% for model in app.models %}
|
5
5
|
<li>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
{% if site_dropdown %}
|
4
|
-
<div class="absolute bg-white border flex flex-col left-3 py-1 rounded shadow-lg top-[73px] w-[264px] z-50 dark:bg-base-800 dark:border-base-700" x-cloak x-show="openDropdown" x-transition x-on:click.outside="openDropdown = false">
|
4
|
+
<div class="absolute bg-white border border-base-200 flex flex-col left-3 py-1 rounded-default shadow-lg top-[73px] w-[264px] z-50 dark:bg-base-800 dark:border-base-700" x-cloak x-show="openDropdown" x-transition x-on:click.outside="openDropdown = false">
|
5
5
|
{% for item in site_dropdown %}
|
6
|
-
<a href="{{ item.link }}" class="flex flex-row items-center gap-3 max-h-[30px] mx-1 px-2 py-2 rounded hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200">
|
6
|
+
<a href="{{ item.link }}" class="flex flex-row items-center gap-3 max-h-[30px] mx-1 px-2 py-2 rounded-default hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200">
|
7
7
|
{% if item.icon %}
|
8
8
|
<span class="material-symbols-outlined">
|
9
9
|
{{ item.icon }}
|
@@ -4,27 +4,27 @@
|
|
4
4
|
<div class="shrink-0">
|
5
5
|
<{% if site_dropdown %}span{% else %}a href="{% url "admin:index" %}"{% endif %}>
|
6
6
|
{% if site_icon.light and site_icon.dark %}
|
7
|
-
<img src="{{ site_icon.dark }}" alt="{% trans 'Home' %}" class="h-
|
7
|
+
<img src="{{ site_icon.dark }}" alt="{% trans 'Home' %}" class="h-[38px] hidden dark:block"/>
|
8
8
|
|
9
|
-
<img src="{{ site_icon.light }}" alt="{% trans 'Home' %}" class="block h-
|
9
|
+
<img src="{{ site_icon.light }}" alt="{% trans 'Home' %}" class="block h-[38px] dark:hidden" />
|
10
10
|
{% else %}
|
11
|
-
<img src="{{ site_icon }}" class="h-
|
11
|
+
<img src="{{ site_icon }}" class="h-[38px]" alt="{% trans 'Home' %}" />
|
12
12
|
{% endif %}
|
13
13
|
</{% if site_dropdown %}span{% else %}a{% endif %}>
|
14
14
|
</div>
|
15
15
|
{% else %}
|
16
|
-
<{% if site_dropdown %}span{% else %}a href="{% url "admin:index" %}"{% endif %} class="bg-primary-600 flex h-
|
16
|
+
<{% if site_dropdown %}span{% else %}a href="{% url "admin:index" %}"{% endif %} class="bg-primary-600 flex h-[38px] items-center justify-center rounded-default shrink-0 text-white text-xs w-[38px]">
|
17
17
|
<span class="material-symbols-outlined md-18">{% if site_symbol %}{{ site_symbol }}{% else %}settings{% endif %}</span>
|
18
18
|
</{% if site_dropdown %}span{% else %}a{% endif %}>
|
19
19
|
{% endif %}
|
20
20
|
|
21
21
|
<div class="flex flex-col gap-0.5 grow justify-center min-w-0">
|
22
|
-
<div class="text-font-important-light leading-normal tracking-tight dark:text-font-important-dark *:
|
22
|
+
<div class="text-font-important-light leading-normal tracking-tight dark:text-font-important-dark *:truncate {% if site_subheader %}xl:text-sm{% else %}xl:text-base{% endif %}">
|
23
23
|
{{ branding }}
|
24
24
|
</div>
|
25
25
|
|
26
26
|
{% if site_subheader %}
|
27
|
-
<div class="font-normal text-font-subtle-light text-xs
|
27
|
+
<div class="font-normal text-font-subtle-light text-xs dark:text-font-subtle-dark">
|
28
28
|
{{ site_subheader }}
|
29
29
|
</div>
|
30
30
|
{% endif %}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<button type="submit" {% if name %}name="{{ name}}"{% endif %} class="bg-primary-600 block border border-transparent font-medium px-3 py-2 rounded self-end text-sm text-white">
|
1
|
+
<button type="submit" {% if name %}name="{{ name}}"{% endif %} class="bg-primary-600 block border border-transparent font-medium px-3 py-2 rounded-default self-end text-sm text-white">
|
2
2
|
{{ title }}
|
3
3
|
</button>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{% load unfold %}
|
2
2
|
|
3
3
|
<li class="{% action_item_classes action %}" {% if not link %}x-data="{actionDropdownOpen: false}" x-ref="actionDropdown{{ action.method_name }}"{% endif %}>
|
4
|
-
<a {% if link %}href="{{ link }}"{% endif %}class="cursor-pointer flex items-center gap-2 px-3 py-2 text-left whitespace-nowrap" {% if blank %} target="_blank"{% endif %} {% include "unfold/helpers/attrs.html" with attrs=action.attrs %}
|
4
|
+
<a {% if link %}href="{{ link }}"{% endif %}class="cursor-pointer flex grow items-center gap-2 px-3 py-2 text-left whitespace-nowrap" {% if blank %} target="_blank"{% endif %} {% include "unfold/helpers/attrs.html" with attrs=action.attrs %}
|
5
5
|
{% if not link %}
|
6
6
|
x-on:click="actionDropdownOpen = !actionDropdownOpen"
|
7
7
|
x-bind:class="{'{% if action.variant.value == "default" %}text-primary-600 dark:text-primary-500{% endif %}': actionDropdownOpen }"
|
@@ -15,7 +15,7 @@
|
|
15
15
|
{{ title }}
|
16
16
|
|
17
17
|
{% if not link %}
|
18
|
-
<span class="border-l border-base-200 flex items-center select-none self-stretch ml-
|
18
|
+
<span class="border-l border-base-200 flex items-center select-none self-stretch ml-auto -mr-1 -my-2 pl-2
|
19
19
|
{% if action.variant.value == "primary" %}
|
20
20
|
border-primary-700 dark:border-primary-500
|
21
21
|
{% elif action.variant.value == "danger" %}
|
@@ -29,7 +29,7 @@
|
|
29
29
|
{% else %}
|
30
30
|
border-base-200 dark:border-base-700
|
31
31
|
{% endif %}">
|
32
|
-
<span class="material-symbols-outlined ml-auto rotate-90 transition-transform" x-bind:class="{'
|
32
|
+
<span class="material-symbols-outlined ml-auto rotate-90 transition-transform" x-bind:class="{'-rotate-90!': actionDropdownOpen }">
|
33
33
|
chevron_right
|
34
34
|
</span>
|
35
35
|
</span>
|
@@ -38,9 +38,9 @@
|
|
38
38
|
|
39
39
|
{% if not link %}
|
40
40
|
<template x-teleport="body">
|
41
|
-
<nav x-anchor.bottom-end.offset.4="$refs.actionDropdown{{ action.method_name }}" class="absolute bg-white border flex flex-col -mr-px py-1 right-0 rounded shadow-lg top-10 w-52 z-50 dark:bg-base-800 dark:border-base-700" x-transition x-show="actionDropdownOpen" x-on:click.outside="actionDropdownOpen = false">
|
41
|
+
<nav x-anchor.bottom-end.offset.4="$refs.actionDropdown{{ action.method_name }}" class="absolute bg-white border border-base-200 flex flex-col -mr-px py-1 right-0 rounded-default shadow-lg top-10 w-52 z-50 dark:bg-base-800 dark:border-base-700" x-transition x-show="actionDropdownOpen" x-on:click.outside="actionDropdownOpen = false">
|
42
42
|
{% for item in action.items %}
|
43
|
-
<a href="{{ item.path }}" class="flex items-center font-normal gap-2 max-h-[30px] mx-1 px-3 py-2 rounded text-left hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"{% if blank %} target="_blank"{% endif %} {% include "unfold/helpers/attrs.html" with attrs=item.attrs %}>
|
43
|
+
<a href="{{ item.path }}" class="flex items-center font-normal gap-2 max-h-[30px] mx-1 px-3 py-2 rounded-default text-left hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"{% if blank %} target="_blank"{% endif %} {% include "unfold/helpers/attrs.html" with attrs=item.attrs %}>
|
44
44
|
{% if item.icon %}
|
45
45
|
<span class="material-symbols-outlined">
|
46
46
|
{{ item.icon }}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
{% if actions_list or actions_detail or actions_items or nav_global %}
|
2
|
-
<ul class="flex flex-col font-medium mb-4 ml-auto mt-2
|
2
|
+
<ul class="flex flex-col font-medium mb-4 ml-auto mt-2 md:flex-row md:mb-2 md:mt-0 max-md:w-full">
|
3
3
|
{% if actions_items %}
|
4
4
|
{{ actions_items }}
|
5
5
|
{% endif %}
|
@@ -1,15 +1,15 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
{% if inlines_list or tabs_list %}
|
4
|
-
<ul class="border rounded flex flex-col max-md:w-full md:flex-row md:border-b-0 md:border-t-0 md:border-l-0 md:border-r-0 dark:border-base-800">
|
4
|
+
<ul class="border border-base-200 rounded-default flex flex-col max-md:w-full md:flex-row md:border-b-0 md:border-t-0 md:border-l-0 md:border-r-0 dark:border-base-800">
|
5
5
|
{% for item in tabs_list %}
|
6
6
|
{% if item.has_permission %}
|
7
|
-
<li class="border-b last:border-b-0 md:border-b-0 md:mr-8 dark:border-base-800">
|
7
|
+
<li class="border-b border-base-200 last:border-b-0 md:border-b-0 md:mr-8 dark:border-base-800">
|
8
8
|
<a href="{% if item.link_callback %}{{ item.link_callback }}{% else %}{{ item.link }}{% endif %}{% if item.inline %}#{{ item.inline|slugify }}{% endif %}"
|
9
|
-
class="block px-3 py-2 md:py-4 md:px-0 dark:border-base-800 {% if item.active and not item.inline %} border-b font-semibold -mb-px text-primary-600 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-500 md:border-primary-500 dark:md
|
9
|
+
class="block px-3 py-2 md:py-4 md:px-0 dark:border-base-800 {% if item.active and not item.inline %} border-b font-semibold -mb-px text-primary-600 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-500 md:border-primary-500 dark:md:border-primary-600!{% else %}font-medium hover:text-primary-600 dark:hover:text-primary-500{% endif %}"
|
10
10
|
{% if item.inline %}
|
11
11
|
x-on:click="activeTab = '{{ item.inline|slugify }}'"
|
12
|
-
x-bind:class="{'border-b border-base-200 dark:border-base-800 md:border-primary-500 dark:md
|
12
|
+
x-bind:class="{'border-b border-base-200 dark:border-base-800 md:border-primary-500 dark:md:border-primary-600! font-semibold -mb-px text-primary-600 dark:text-primary-500': activeTab == '{{ item.inline|slugify }}'}"
|
13
13
|
{% endif %}
|
14
14
|
>
|
15
15
|
{{ item.title }}
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<a class="block cursor-pointer font-medium px-3 py-2 md:py-4 md:px-0"
|
24
24
|
href="#general"
|
25
25
|
x-on:click="activeTab = 'general'"
|
26
|
-
x-bind:class="{'border-b border-base-200 dark:border-base-800 md:border-primary-500 dark:md
|
26
|
+
x-bind:class="{'border-b border-base-200 dark:border-base-800 md:border-primary-500 dark:md:border-primary-600! font-semibold -mb-px text-primary-600 dark:text-primary-500': activeTab == 'general', 'hover:text-primary-600 dark:hover:text-primary-500 dark:border-base-800': activeTab != 'general'}">
|
27
27
|
{% trans "General" %}
|
28
28
|
</a>
|
29
29
|
</li>
|
@@ -31,9 +31,9 @@
|
|
31
31
|
{% for inline in inlines_list %}
|
32
32
|
<li class="border-b last:border-b-0 md:border-b-0 md:mr-8 dark:border-base-800">
|
33
33
|
<a class="block cursor-pointer font-medium px-3 py-2 md:py-4 md:px-0"
|
34
|
-
href="#{{ inline.
|
35
|
-
x-on:click="activeTab = '{{ inline.
|
36
|
-
x-bind:class="{'border-b border-base-200 dark:border-base-800 md:border-primary-500 dark:md
|
34
|
+
href="#{{ inline.formset.prefix|slugify }}"
|
35
|
+
x-on:click="activeTab = '{{ inline.formset.prefix|slugify }}'"
|
36
|
+
x-bind:class="{'border-b border-base-200 dark:border-base-800 md:border-primary-500 dark:md:border-primary-600! font-semibold -mb-px text-primary-600 dark:text-primary-500': activeTab == '{{ inline.formset.prefix|slugify }}', 'hover:text-primary-600 dark:hover:text-primary-500 dark:border-base-800': activeTab != '{{ inline.formset.prefix|slugify }}'}">
|
37
37
|
{% if inline.formset.max_num == 1 %}
|
38
38
|
{{ inline.opts.verbose_name|capfirst }}
|
39
39
|
{% else %}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
{% if not is_popup %}
|
4
4
|
{% if tabs_list or inlines_list or actions_list or actions_detail or actions_items or nav_global %}
|
5
|
-
<div class="flex items-start flex-col mb-4 md:border-b dark:md:border-base-800 md:border-l-0 md:flex-row md:items-center">
|
5
|
+
<div class="border-base-200 flex items-start flex-col mb-4 md:border-b dark:md:border-base-800 md:border-l-0 md:flex-row md:items-center">
|
6
6
|
{% include "unfold/helpers/tab_items.html" %}
|
7
7
|
|
8
8
|
{% include "unfold/helpers/tab_actions.html" %}
|
@@ -1,30 +1,30 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
<div class="relative" x-data="{ openTheme: false }">
|
4
|
-
<a class="block cursor-pointer h-
|
4
|
+
<a class="block cursor-pointer h-[18px] leading-none hover:text-base-700 dark:hover:text-base-200" x-on:click="openTheme = !openTheme">
|
5
5
|
<span class="material-symbols-outlined">
|
6
6
|
<span x-text="adminTheme == 'dark' && 'dark_mode' || adminTheme == 'light' && 'light_mode' || 'computer'"></span>
|
7
7
|
</span>
|
8
8
|
</a>
|
9
9
|
|
10
|
-
<nav class="absolute bg-white border flex flex-col leading-none py-1 -right-2 rounded shadow-lg top-7 w-40 z-50 dark:bg-base-800 dark:border-base-700" x-cloak x-show="openTheme" x-transition x-on:click.outside="openTheme = false">
|
11
|
-
<a class="cursor-pointer flex flex-row leading-none mx-1 px-3 py-1.5 rounded hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"
|
10
|
+
<nav class="absolute bg-white border border-base-200 flex flex-col leading-none py-1 -right-2 rounded-default shadow-lg top-7 w-40 z-50 dark:bg-base-800 dark:border-base-700" x-cloak x-show="openTheme" x-transition x-on:click.outside="openTheme = false">
|
11
|
+
<a class="cursor-pointer flex flex-row leading-none mx-1 px-3 py-1.5 rounded-default hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"
|
12
12
|
x-on:click="adminTheme = 'dark'"
|
13
|
-
x-bind:class="adminTheme == 'dark' && 'text-primary-600 dark:text-primary-500 dark:hover
|
13
|
+
x-bind:class="adminTheme == 'dark' && 'text-primary-600 dark:text-primary-500 dark:hover:text-primary-500! hover:text-primary-600!'">
|
14
14
|
<span class="material-symbols-outlined mr-2">dark_mode</span>
|
15
15
|
<span class="leading-none self-center">{% trans "Dark" %}</span>
|
16
16
|
</a>
|
17
17
|
|
18
|
-
<a class="cursor-pointer flex flex-row mx-1 px-3 py-1.5 rounded hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"
|
18
|
+
<a class="cursor-pointer flex flex-row mx-1 px-3 py-1.5 rounded-default hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"
|
19
19
|
x-on:click="adminTheme = 'light'"
|
20
|
-
x-bind:class="adminTheme == 'light' && 'text-primary-600 dark:text-primary-500 dark:hover
|
20
|
+
x-bind:class="adminTheme == 'light' && 'text-primary-600 dark:text-primary-500 dark:hover:text-primary-500! hover:text-primary-600!'">
|
21
21
|
<span class="material-symbols-outlined mr-2">light_mode</span>
|
22
22
|
<span class="leading-none self-center">{% trans "Light" %}</span>
|
23
23
|
</a>
|
24
24
|
|
25
|
-
<a class="cursor-pointer flex flex-row mx-1 px-3 py-1.5 rounded hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"
|
25
|
+
<a class="cursor-pointer flex flex-row mx-1 px-3 py-1.5 rounded-default hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200"
|
26
26
|
x-on:click="adminTheme = 'auto'"
|
27
|
-
x-bind:class="adminTheme == 'auto' && 'text-primary-600 dark:text-primary-500 dark:hover
|
27
|
+
x-bind:class="adminTheme == 'auto' && 'text-primary-600 dark:text-primary-500 dark:hover:text-primary-500! hover:text-primary-600!'">
|
28
28
|
<span class="material-symbols-outlined mr-2">computer</span>
|
29
29
|
<span class="leading-none self-center">{% trans "System" %}</span>
|
30
30
|
</a>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
{% load unfold i18n %}
|
2
2
|
|
3
|
-
<div class="flex flex-row
|
3
|
+
<div class="flex flex-row grow font-semibold items-center min-w-0 mr-3">
|
4
4
|
<span class="cursor-pointer flex flex-row items-center">
|
5
|
-
<span class="material-symbols-outlined !
|
5
|
+
<span class="material-symbols-outlined hidden! xl:block!" hx-get="{% url "admin:toggle_sidebar" %}" hx-swap="none" x-on:click="sidebarDesktopOpen = !sidebarDesktopOpen">
|
6
6
|
dock_to_right
|
7
7
|
</span>
|
8
8
|
|
9
|
-
<span class="material-symbols-outlined !
|
9
|
+
<span class="material-symbols-outlined block! xl:hidden!" x-on:click="sidebarMobileOpen = !sidebarMobileOpen">
|
10
10
|
dock_to_right
|
11
11
|
</span>
|
12
12
|
</span>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{% extends 'unfold/layouts/skeleton.html' %}
|
2
2
|
|
3
|
-
{% load i18n %}
|
3
|
+
{% load i18n unfold %}
|
4
4
|
|
5
5
|
{% block base %}
|
6
6
|
<div id="page" class="flex min-h-screen">
|
@@ -10,7 +10,7 @@
|
|
10
10
|
{% endblock %}
|
11
11
|
{% endif %}
|
12
12
|
|
13
|
-
<div id="main" class="flex-grow min-w-0
|
13
|
+
<div id="main" class="bg-white flex flex-col grow min-w-0 dark:bg-base-900 {% element_classes 'main' %}">
|
14
14
|
{% block content_before %}
|
15
15
|
{% include "unfold/helpers/header.html" %}
|
16
16
|
{% endblock %}
|
@@ -21,7 +21,7 @@
|
|
21
21
|
{% endspaceless %}
|
22
22
|
{% endif %}
|
23
23
|
|
24
|
-
<div class="px-4
|
24
|
+
<div class="px-4">
|
25
25
|
<div id="content" class="container mx-auto {% block coltype %}colM{% endblock %}">
|
26
26
|
{% block content %}
|
27
27
|
{% block object-tools %}{% endblock %}
|
@@ -58,7 +58,7 @@
|
|
58
58
|
{% endblock %}
|
59
59
|
</head>
|
60
60
|
|
61
|
-
<body class="antialiased bg-
|
61
|
+
<body class="antialiased bg-base-50 font-sans text-font-default-light text-sm dark:bg-base-900 dark:text-font-default-dark {% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}" data-admin-utc-offset="{% now "Z" %}" x-data="{{% if opts %}activeTab: 'general',{% endif %} sidebarMobileOpen: false, sidebarDesktopOpen: {% if request.session.toggle_sidebar == False %}false{% else %}true{% endif %} }" x-init="activeTab = {% if opts %}window.location.hash?.replace('#', '') || 'general'{% else %}''{% endif %}">
|
62
62
|
{% if colors %}
|
63
63
|
<style id="unfold-theme-colors">
|
64
64
|
:root {
|
@@ -77,7 +77,7 @@
|
|
77
77
|
|
78
78
|
{% block base %}{% endblock %}
|
79
79
|
|
80
|
-
<div id="modal-overlay" class="backdrop-blur-
|
80
|
+
<div id="modal-overlay" class="backdrop-blur-xs bg-base-900/80 bottom-0 fixed hidden left-0 mr-1 right-0 top-0 z-50"></div>
|
81
81
|
<script src="{% static 'unfold/js/simplebar/simplebar.js' %}"></script>
|
82
82
|
</body>
|
83
83
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
{% if widget.attrs.accept == 'image/*' and widget.is_initial %}
|
4
4
|
<div class="mb-4 max-w-48">
|
5
5
|
<a href="{{ widget.value.url }}" target="_blank">
|
6
|
-
<img src="{{ widget.value.url }}" alt="{% trans 'Image preview' %}" class="block rounded" />
|
6
|
+
<img src="{{ widget.value.url }}" alt="{% trans 'Image preview' %}" class="block rounded-default" />
|
7
7
|
</a>
|
8
8
|
</div>
|
9
9
|
{% endif %}
|
@@ -21,10 +21,10 @@
|
|
21
21
|
</div>
|
22
22
|
{% endif %}
|
23
23
|
|
24
|
-
<input type="text" aria-label="{% trans 'Choose file to upload' %}" value="{% if widget.value %}{{ widget.value.url }}{% else %}{% trans 'Choose file to upload' %}{% endif %}" disabled class="bg-white
|
24
|
+
<input type="text" aria-label="{% trans 'Choose file to upload' %}" value="{% if widget.value %}{{ widget.value.url }}{% else %}{% trans 'Choose file to upload' %}{% endif %}" disabled class="bg-white grow font-medium min-w-0 px-3 py-2 text-ellipsis dark:bg-base-900">
|
25
25
|
|
26
26
|
<div class="bg-white flex flex-none items-center leading-none self-stretch dark:bg-base-900">
|
27
|
-
<div class="
|
27
|
+
<div class="opacity-0 w-[0px]">
|
28
28
|
<input type="{{ widget.type }}" name="{{ widget.name }}" {% include "django/forms/widgets/attrs.html" %} />
|
29
29
|
</div>
|
30
30
|
|
@@ -14,10 +14,10 @@
|
|
14
14
|
</div>
|
15
15
|
{% endif %}
|
16
16
|
|
17
|
-
<input type="text" aria-label="{% trans 'Choose file to upload' %}" value="{% if widget.value %}{{ widget.value.url }}{% else %}{% trans 'Choose file to upload' %}{% endif %}" disabled class="bg-white
|
17
|
+
<input type="text" aria-label="{% trans 'Choose file to upload' %}" value="{% if widget.value %}{{ widget.value.url }}{% else %}{% trans 'Choose file to upload' %}{% endif %}" disabled class="bg-white grow font-medium min-w-0 px-3 py-2 text-ellipsis dark:bg-base-900">
|
18
18
|
|
19
19
|
<div class="flex flex-none items-center leading-none self-stretch">
|
20
|
-
<div class="
|
20
|
+
<div class="opacity-0 w-[0px]">
|
21
21
|
<input type="{{ widget.type }}" name="{{ widget.name }}" {% include "django/forms/widgets/attrs.html" %} />
|
22
22
|
</div>
|
23
23
|
|
@@ -34,12 +34,12 @@
|
|
34
34
|
</div>
|
35
35
|
|
36
36
|
{% if widget.attrs.accept == 'image/*' and widget.is_initial %}
|
37
|
-
<div class="h-
|
38
|
-
<div class="absolute border flex font-medium h-full items-center left-0 rounded justify-center shadow-
|
37
|
+
<div class="h-[38px] ml-3 relative w-[38px]">
|
38
|
+
<div class="absolute border flex font-medium h-full items-center left-0 rounded-default justify-center shadow-xs text-base-400 top-0 w-full z-10 dark:bg-base-900 dark:border-base-700 dark:text-base-500">
|
39
39
|
?
|
40
40
|
</div>
|
41
41
|
|
42
|
-
<a href="{{ widget.value.url }}" target="_blank" class="bg-center bg-cover bg-no-repeat block h-
|
42
|
+
<a href="{{ widget.value.url }}" target="_blank" class="bg-center bg-cover bg-no-repeat block h-[38px] overflow-hidden relative rounded-default w-[38px] z-20" style="background-image: url('{{ widget.value.url }}')">
|
43
43
|
</a>
|
44
44
|
</div>
|
45
45
|
{% endif %}
|
@@ -1,19 +1,19 @@
|
|
1
|
-
<div class="flex flex-row
|
1
|
+
<div class="flex flex-row grow">
|
2
2
|
{% include 'django/forms/widgets/input.html' %}
|
3
3
|
|
4
4
|
{% if related_url %}
|
5
|
-
<a href="{{ related_url }}" class="related-lookup view-related bg-white border cursor-pointer flex items-center h-
|
6
|
-
<span class="material-symbols-outlined
|
5
|
+
<a href="{{ related_url }}" class="related-lookup view-related bg-white border border-base-200 cursor-pointer flex items-center h-[38px] justify-center ml-2 rounded-default shadow-xs shrink-0 text-base-400 text-sm w-[38px] hover:text-base-700 dark:bg-base-900 dark:border-base-700 dark:text-base-500 dark:hover:text-base-200" id="lookup_id_{{ widget.name }}">
|
6
|
+
<span class="material-symbols-outlined">search</span>
|
7
7
|
</a>
|
8
8
|
{% endif %}
|
9
9
|
|
10
10
|
{% if link_url %}
|
11
|
-
<a href="{{ link_url }}" title="{{ link_label }}" class="flex items-center h-
|
11
|
+
<a href="{{ link_url }}" title="{{ link_label }}" class="flex items-center h-[38px] justify-center ml-4 rounded-default shrink-0 text-primary-600 text-sm truncate dark:text-primary-500">
|
12
12
|
{{ link_label }}
|
13
13
|
</a>
|
14
14
|
{% else %}
|
15
15
|
{% if link_label %}
|
16
|
-
<span title="{{ link_label }}" class="flex items-center h-
|
16
|
+
<span title="{{ link_label }}" class="flex items-center h-[38px] justify-center ml-4 rounded-default shrink-0 text-sm truncate">
|
17
17
|
{{ link_label }}
|
18
18
|
</span>
|
19
19
|
{% endif %}
|
@@ -9,41 +9,41 @@
|
|
9
9
|
{% if not is_hidden %}
|
10
10
|
{% if can_add_related or can_change_related or can_delete_related or can_view_related%}
|
11
11
|
{% if can_change_related %}
|
12
|
-
<a class="related-widget-wrapper-link change-related bg-white border border-base-200 cursor-pointer flex items-center h-
|
12
|
+
<a class="related-widget-wrapper-link change-related bg-white border border-base-200 cursor-pointer flex items-center h-[38px] justify-center ml-2 rounded-default shadow-xs shrink-0 text-base-400 text-sm w-[38px] hover:text-base-700 dark:bg-base-900 dark:border-base-700 dark:text-base-500 dark:hover:text-base-200"
|
13
13
|
id="change_id_{{ name }}"
|
14
14
|
data-popup="yes"
|
15
15
|
data-href-template="{{ change_related_template_url }}?{{ url_params }}"
|
16
16
|
title="{% blocktranslate %}Change selected {{ model }}{% endblocktranslate %}">
|
17
|
-
<span class="material-symbols-outlined
|
17
|
+
<span class="material-symbols-outlined">edit</span>
|
18
18
|
</a>
|
19
19
|
{% endif %}
|
20
20
|
|
21
21
|
{% if can_add_related %}
|
22
|
-
<a class="related-widget-wrapper-link add-related bg-white border border-base-200 cursor-pointer flex items-center h-
|
22
|
+
<a class="related-widget-wrapper-link add-related bg-white border border-base-200 cursor-pointer flex items-center h-[38px] justify-center ml-2 rounded-default shadow-xs shrink-0 text-base-400 text-sm w-[38px] hover:text-base-700 dark:bg-base-900 dark:border-base-700 dark:text-base-500 dark:hover:text-base-200"
|
23
23
|
data-popup="yes"
|
24
24
|
id="add_id_{{ name }}"
|
25
25
|
href="{{ add_related_url }}?{{ url_params }}"
|
26
26
|
title="{% blocktranslate %}Add another {{ model }}{% endblocktranslate %}">
|
27
|
-
<span class="material-symbols-outlined
|
27
|
+
<span class="material-symbols-outlined">add</span>
|
28
28
|
</a>
|
29
29
|
{% endif %}
|
30
30
|
|
31
31
|
{% if can_view_related %}
|
32
|
-
<a class="related-widget-wrapper-link view-related bg-white border border-base-200 cursor-pointer flex items-center h-
|
32
|
+
<a class="related-widget-wrapper-link view-related bg-white border border-base-200 cursor-pointer flex items-center h-[38px] justify-center ml-2 rounded-default shadow-xs shrink-0 text-base-400 text-sm w-[38px] hover:text-base-700 dark:bg-base-900 dark:border-base-700 dark:text-base-500 dark:hover:text-base-200"
|
33
33
|
id="view_id_{{ name }}"
|
34
34
|
data-href-template="{{ change_related_template_url }}?{{ view_related_url_params }}"
|
35
35
|
title="{% blocktranslate %}View selected {{ model }}{% endblocktranslate %}">
|
36
|
-
<span class="material-symbols-outlined
|
36
|
+
<span class="material-symbols-outlined">visibility</span>
|
37
37
|
</a>
|
38
38
|
{% endif %}
|
39
39
|
|
40
40
|
{% if can_delete_related %}
|
41
|
-
<a class="related-widget-wrapper-link delete-related bg-white border border-base-200 cursor-pointer flex items-center h-
|
41
|
+
<a class="related-widget-wrapper-link delete-related bg-white border border-base-200 cursor-pointer flex items-center h-[38px] justify-center ml-2 rounded-default shadow-xs shrink-0 text-red-600 text-sm w-[38px] dark:bg-base-900 dark:border-base-700 dark:text-red-500"
|
42
42
|
id="delete_id_{{ name }}"
|
43
43
|
data-href-template="{{ delete_related_template_url }}?{{ url_params }}"
|
44
44
|
data-popup="yes"
|
45
45
|
title="{% blocktranslate %}Delete selected {{ model }}{% endblocktranslate %}">
|
46
|
-
<span class="material-symbols-outlined
|
46
|
+
<span class="material-symbols-outlined">delete</span>
|
47
47
|
</a>
|
48
48
|
{% endif %}
|
49
49
|
{% endif %}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="datetime flex flex-col gap-2 max-w-2xl lg:flex-row lg:group-[.field-row]:flex-row lg:group-[.field-row]:items-center lg:group-[.field-tabular]:flex-row lg:group-[.field-tabular]:items-center">
|
2
2
|
<div class="basis-1/2 flex flex-col lg:group-[.field-row]:flex-row group-[.field-row]:gap-2 lg:group-[.field-tabular]:flex-row group-[.field-tabular]:gap-2">
|
3
3
|
{% with widget=widget.subwidgets.0 %}
|
4
|
-
<div class="flex flex-col min-w-52 relative group-[.field-row]:
|
4
|
+
<div class="flex flex-col min-w-52 relative group-[.field-row]:grow group-[.field-tabular]:grow">
|
5
5
|
{% include widget.template_name %}
|
6
6
|
</div>
|
7
7
|
{% endwith %}
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
<div class="basis-1/2 flex flex-col lg:ml-auto md:mt-0 lg:group-[.field-row]:flex-row group-[.field-row]:gap-2 lg:group-[.field-tabular]:flex-row group-[.field-tabular]:gap-2">
|
11
11
|
{% with widget=widget.subwidgets.1 %}
|
12
|
-
<div class="flex flex-col min-w-52 relative group-[.field-row]:
|
12
|
+
<div class="flex flex-col min-w-52 relative group-[.field-row]:grow group-[.field-tabular]:grow">
|
13
13
|
{% include widget.template_name %}
|
14
14
|
</div>
|
15
15
|
{% endwith %}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
{% if field.is_hidden %}
|
4
4
|
{{ field }}
|
5
5
|
{% else %}
|
6
|
-
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="group {% if tag == "td" %}align-top border-t border-base-200 font-normal gap-4 min-w-0 overflow-hidden px-3 py-3 text-left dark:border-base-800 dark:before:text-font-important-dark{% endif%} {% if field.errors %}errors{% endif %} {% if field_class %} {{ field_class }}{% endif %} {% if field|is_checkbox and tag == "td" %}flex flex-row gap-2 h-
|
6
|
+
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="group {% if tag == "td" %}align-top border-t border-base-200 font-normal gap-4 min-w-0 overflow-hidden px-3 py-3 text-left dark:border-base-800 dark:before:text-font-important-dark{% endif%} {% if field.errors %}errors{% endif %} {% if field_class %} {{ field_class }}{% endif %} {% if field|is_checkbox and tag == "td" %}flex flex-row gap-2 h-[38px] items-center{% else %}{% if 'form-horizontal' in form_class %} row{% endif %}{% endif %}{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
7
7
|
{% if field.label and not field|is_checkbox and form_show_labels %}
|
8
8
|
<label {% if field.id_for_label %}for="{{ field.id_for_label }}"{% endif %} class="block font-semibold mb-2 text-font-important-light text-sm dark:text-font-important-dark {% if label_class %} {{ label_class }}{% endif %}">
|
9
9
|
{{ field.label }}{% if field.field.required %} <span class="asteriskField">*</span>{% endif %}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
{% if inputs %}
|
2
|
-
<div class="border border-base-200 rounded flex flex-col gap-2 justify-end p-3 lg:flex-row dark:border-base-800 {{ field_class }}">
|
2
|
+
<div class="border border-base-200 rounded-default flex flex-col gap-2 justify-end p-3 lg:flex-row dark:border-base-800 {{ field_class }}">
|
3
3
|
{% for input in inputs %}
|
4
4
|
{% include "unfold_crispy/layout/baseinput.html" %}
|
5
5
|
{% endfor %}
|
@@ -9,7 +9,7 @@
|
|
9
9
|
{% else %}
|
10
10
|
{% with field=field|add_css_class:form_classes.checkbox %}
|
11
11
|
{% if tag == "td" %}
|
12
|
-
<div class="flex items-center justify-center h-
|
12
|
+
<div class="flex items-center justify-center h-[38px]">
|
13
13
|
{% crispy_field field %}
|
14
14
|
</div>
|
15
15
|
{% else %}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<fieldset {% if fieldset.css_id %}id="{{ fieldset.css_id }}"{% endif %} class="fieldset group flex flex-col gap-5 grow rounded border-base-200 shadow-
|
1
|
+
<fieldset {% if fieldset.css_id %}id="{{ fieldset.css_id }}"{% endif %} class="fieldset group flex flex-col gap-5 grow rounded-default border-base-200 shadow-xs aligned border p-3 relative dark:border-base-800 {% if fieldset.css_class %} {{ fieldset.css_class }}{% endif %}" {{ fieldset.flat_attrs }}>
|
2
2
|
{% if legend %}
|
3
3
|
<legend class="border-b border-base-200 font-semibold float-left pb-3 -mx-3 px-3 text-font-important-light dark:text-font-important-dark dark:border-base-800">
|
4
4
|
{{ legend|safe }}
|