django-spire 0.18.2__py3-none-any.whl → 0.19.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_spire/ai/admin.py +1 -0
- django_spire/ai/chat/apps.py +1 -8
- django_spire/ai/chat/intelligence/decoders/tools.py +29 -0
- django_spire/ai/chat/intelligence/prompts.py +13 -7
- django_spire/ai/chat/intelligence/workflows/chat_workflow.py +40 -52
- django_spire/ai/chat/models.py +2 -1
- django_spire/ai/chat/querysets.py +1 -3
- django_spire/ai/chat/responses.py +5 -0
- django_spire/ai/chat/templates/django_spire/ai/chat/card/chat_card.html +2 -2
- django_spire/ai/chat/templates/django_spire/ai/chat/dropdown/ellipsis_dropdown.html +1 -1
- django_spire/ai/chat/templates/django_spire/ai/chat/element/recent_chat_select_element.html +82 -44
- django_spire/ai/chat/templates/django_spire/ai/chat/message/loading_response_message.html +8 -3
- django_spire/ai/chat/templates/django_spire/ai/chat/message/message.html +16 -7
- django_spire/ai/chat/templates/django_spire/ai/chat/message/request_message.html +5 -8
- django_spire/ai/chat/templates/django_spire/ai/chat/message/response_message.html +14 -10
- django_spire/ai/chat/templates/django_spire/ai/chat/page/chat_page.html +35 -0
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/dialog_widget.html +72 -23
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/selection_widget.html +42 -0
- django_spire/ai/chat/tests/test_urls/test_json_urls.py +4 -2
- django_spire/ai/chat/urls/__init__.py +1 -1
- django_spire/ai/chat/urls/json_urls.py +1 -1
- django_spire/ai/chat/urls/page_urls.py +1 -1
- django_spire/ai/chat/urls/{template_urls.py → template/template_urls.py} +1 -1
- django_spire/ai/chat/views/json_views.py +4 -3
- django_spire/ai/chat/views/message_request_views.py +32 -14
- django_spire/ai/chat/views/message_response_views.py +14 -11
- django_spire/ai/chat/views/message_views.py +7 -1
- django_spire/ai/chat/views/page_views.py +2 -2
- django_spire/ai/chat/views/{template_views.py → template/template_views.py} +1 -7
- django_spire/ai/context/__init__.py +0 -0
- django_spire/ai/context/admin.py +15 -0
- django_spire/ai/context/apps.py +16 -0
- django_spire/ai/context/choices.py +11 -0
- django_spire/ai/context/intelligence/__init__.py +0 -0
- django_spire/ai/context/intelligence/prompts/__init__.py +0 -0
- django_spire/ai/context/intelligence/prompts/organization_prompts.py +19 -0
- django_spire/ai/context/migrations/0001_initial.py +67 -0
- django_spire/ai/context/migrations/__init__.py +0 -0
- django_spire/ai/context/models.py +67 -0
- django_spire/ai/context/querysets.py +15 -0
- django_spire/ai/context/seeding/__init__.py +0 -0
- django_spire/ai/context/seeding/seed.py +24 -0
- django_spire/ai/prompt/system/bots.py +3 -5
- django_spire/ai/prompt/tuning/bots.py +5 -10
- django_spire/ai/sms/admin.py +2 -0
- django_spire/ai/sms/apps.py +2 -7
- django_spire/ai/sms/decorators.py +2 -2
- django_spire/ai/sms/intelligence/workflows/sms_conversation_workflow.py +18 -18
- django_spire/ai/sms/tests/test_webhook.py +5 -4
- django_spire/ai/sms/urls.py +3 -0
- django_spire/ai/sms/views.py +3 -5
- django_spire/ai/urls.py +2 -0
- django_spire/auth/templates/django_spire/auth/form/login_form.html +25 -0
- django_spire/auth/templates/django_spire/auth/page/auth_page.html +2 -3
- django_spire/auth/templates/django_spire/auth/page/login_page.html +1 -25
- django_spire/conf.py +1 -3
- django_spire/consts.py +1 -7
- django_spire/contrib/seeding/intelligence/bots/seeder_generator_bot.py +3 -2
- django_spire/contrib/utils.py +2 -0
- django_spire/core/static/django_spire/css/app-button.css +11 -1
- django_spire/core/static/django_spire/css/app-import.css +2 -0
- django_spire/core/static/django_spire/css/app-layout.css +15 -0
- django_spire/core/static/django_spire/css/app-navigation.css +24 -2
- django_spire/core/static/django_spire/css/app-page.css +8 -0
- django_spire/core/static/django_spire/css/app-side-panel.css +102 -0
- django_spire/core/static/django_spire/css/app-text.css +19 -1
- django_spire/core/static/django_spire/css/bootstrap-extension.css +128 -7
- django_spire/core/static/django_spire/css/bootstrap-override.css +161 -111
- django_spire/core/static/django_spire/css/themes/ayu/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/ayu/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/catppuccin/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/default/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/default/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/dracula/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/dracula/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/gruvbox/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/gruvbox/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/material/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/material/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/nord/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/nord/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/oceanic-next/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/oceanic-next/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/one-dark/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/one-dark/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/palenight/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/palenight/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/rose-pine/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/rose-pine/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/synthwave/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/synthwave/app-light.css +0 -4
- django_spire/core/static/django_spire/css/themes/tokyo-night/app-dark.css +0 -4
- django_spire/core/static/django_spire/css/themes/tokyo-night/app-light.css +0 -4
- django_spire/core/static/django_spire/font/Poppins-Black.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-BlackItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-Bold.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-BoldItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-ExtraBold.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-ExtraBoldItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-ExtraLight.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-ExtraLightItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-Italic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-Light.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-LightItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-Medium.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-MediumItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-SemiBold.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-SemiBoldItalic.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-Thin.ttf +0 -0
- django_spire/core/static/django_spire/font/Poppins-ThinItalic.ttf +0 -0
- django_spire/core/static/django_spire/js/ui.js +12 -0
- django_spire/core/templates/django_spire/button/base_button.html +1 -1
- django_spire/core/templates/django_spire/button/primary_dark_outlined_button.html +3 -0
- django_spire/core/templates/django_spire/dropdown/element/dropdown_link_element.html +12 -8
- django_spire/core/templates/django_spire/dropdown/element/ellipsis_dropdown_modal_link_element.html +2 -1
- django_spire/core/templates/django_spire/dropdown/ellipsis_dropdown.html +2 -1
- django_spire/core/templates/django_spire/navigation/accordion/nav_accordion.html +1 -1
- django_spire/core/templates/django_spire/navigation/elements/nav_link.html +1 -1
- django_spire/core/templates/django_spire/navigation/elements/nav_title_divider.html +1 -1
- django_spire/core/templates/django_spire/navigation/side_navigation.html +52 -8
- django_spire/core/templates/django_spire/navigation/top_navigation.html +8 -2
- django_spire/core/templates/django_spire/page/full_page.html +218 -11
- django_spire/core/utils.py +26 -2
- django_spire/knowledge/collection/models.py +24 -0
- django_spire/knowledge/collection/services/transformation_service.py +2 -1
- django_spire/knowledge/collection/tests/test_services/test_transformation_service.py +44 -42
- django_spire/knowledge/collection/urls/form_urls.py +1 -0
- django_spire/knowledge/collection/urls/page_urls.py +1 -0
- django_spire/knowledge/collection/views/form_views.py +13 -2
- django_spire/knowledge/collection/views/page_views.py +36 -4
- django_spire/knowledge/entry/models.py +32 -0
- django_spire/knowledge/entry/services/transformation_services.py +10 -10
- django_spire/knowledge/entry/version/block/data/data.py +2 -1
- django_spire/knowledge/entry/version/block/data/heading_data.py +2 -2
- django_spire/knowledge/entry/version/block/data/list/data.py +3 -4
- django_spire/knowledge/entry/version/block/data/maps.py +3 -5
- django_spire/knowledge/entry/version/block/data/text_data.py +2 -2
- django_spire/knowledge/entry/version/block/models.py +10 -7
- django_spire/knowledge/entry/version/block/services/factory_service.py +11 -10
- django_spire/knowledge/entry/version/block/tests/factories.py +6 -5
- django_spire/knowledge/entry/version/converters/docx_converter.py +2 -4
- django_spire/knowledge/entry/version/intelligence/bots/markdown_format_llm_bot.py +16 -12
- django_spire/knowledge/entry/version/seeding/seeder.py +3 -3
- django_spire/knowledge/entry/version/services/processor_service.py +36 -10
- django_spire/knowledge/entry/version/tests/test_converters/test_docx_converter.py +1 -1
- django_spire/knowledge/entry/version/tests/test_urls/test_page_urls.py +1 -1
- django_spire/knowledge/entry/version/urls/page_urls.py +1 -1
- django_spire/knowledge/entry/version/views/json_views.py +5 -3
- django_spire/knowledge/entry/version/views/page_views.py +11 -12
- django_spire/knowledge/entry/version/views/redirect_views.py +1 -1
- django_spire/knowledge/entry/views/form_views.py +1 -1
- django_spire/knowledge/intelligence/bots/entry_search_llm_bot.py +33 -11
- django_spire/knowledge/intelligence/decoders/__init__.py +0 -0
- django_spire/knowledge/intelligence/{maps/collection_map.py → decoders/collection_decoder.py} +5 -5
- django_spire/knowledge/intelligence/{maps/entry_map.py → decoders/entry_decoder.py} +3 -3
- django_spire/knowledge/intelligence/intel/collection_intel.py +1 -0
- django_spire/knowledge/intelligence/intel/entry_intel.py +5 -2
- django_spire/knowledge/intelligence/intel/message_intel.py +2 -0
- django_spire/knowledge/intelligence/workflows/knowledge_workflow.py +43 -51
- django_spire/knowledge/migrations/0007_alter_collection_options.py +17 -0
- django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js +24 -5
- django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html +21 -0
- django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html +15 -6
- django_spire/knowledge/templates/django_spire/knowledge/collection/element/ellipsis_dropdown.html +22 -0
- django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html +21 -9
- django_spire/knowledge/templates/django_spire/knowledge/collection/item/collection_item.html +19 -0
- django_spire/knowledge/templates/django_spire/knowledge/collection/page/display_page.html +49 -0
- django_spire/knowledge/templates/django_spire/knowledge/collection/page/form_page.html +1 -1
- django_spire/knowledge/templates/django_spire/knowledge/container/container.html +33 -0
- django_spire/knowledge/templates/django_spire/knowledge/entry/file/page/list_page.html +1 -1
- django_spire/knowledge/templates/django_spire/knowledge/entry/item/list_item.html +2 -2
- django_spire/knowledge/templates/django_spire/knowledge/entry/page/form_page.html +1 -1
- django_spire/knowledge/templates/django_spire/knowledge/entry/page/import_form_page.html +1 -1
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/detail_container.html +51 -45
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html +54 -0
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/form_page.html +1 -1
- django_spire/knowledge/templates/django_spire/knowledge/message/knowledge_message_intel.html +18 -1
- django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html +37 -0
- django_spire/knowledge/templates/django_spire/knowledge/page/home_page.html +2 -2
- django_spire/knowledge/templates/django_spire/knowledge/sub_navigation/item/collection_sub_navigation_item.html +29 -0
- django_spire/knowledge/templates/django_spire/knowledge/sub_navigation/item/entry_sub_navigation_item.html +20 -0
- django_spire/knowledge/templates/django_spire/knowledge/{navigation/content/navigation_content.html → sub_navigation/widget/collection_entry_sub_navigation_widget.html} +42 -19
- django_spire/knowledge/views/page_views.py +4 -4
- django_spire/settings.py +3 -3
- django_spire/theme/templates/django_spire/theme/card/badges_preview_card.html +0 -1
- django_spire/theme/templates/django_spire/theme/card/base_preview_card.html +1 -0
- django_spire/theme/templates/django_spire/theme/card/typography_preview_card.html +1 -1
- django_spire/theme/templates/django_spire/theme/example/form/example_form.html +2 -0
- django_spire/theme/templates/django_spire/theme/example/form/example_form_card.html +5 -0
- django_spire/theme/templates/django_spire/theme/page/badges_page.html +7 -9
- django_spire/theme/templates/django_spire/theme/page/borders_page.html +6 -9
- django_spire/theme/templates/django_spire/theme/page/buttons_page.html +6 -9
- django_spire/theme/templates/django_spire/theme/page/colors_page.html +6 -6
- django_spire/theme/templates/django_spire/theme/page/dashboard_page.html +57 -0
- django_spire/theme/templates/django_spire/theme/page/django_glue_page.html +7 -9
- django_spire/theme/templates/django_spire/theme/page/theme_page.html +24 -0
- django_spire/theme/templates/django_spire/theme/page/typography_page.html +6 -9
- django_spire/theme/templates/django_spire/theme/section/badge_section_card.html +5 -0
- django_spire/theme/templates/django_spire/theme/section/border_section_card.html +5 -0
- django_spire/theme/templates/django_spire/theme/section/button_section.html +1 -0
- django_spire/theme/templates/django_spire/theme/section/button_section_card.html +5 -0
- django_spire/theme/templates/django_spire/theme/section/color_section.html +10 -10
- django_spire/theme/templates/django_spire/theme/section/color_section_card.html +5 -0
- django_spire/theme/templates/django_spire/theme/section/typography_section.html +41 -1
- django_spire/theme/templates/django_spire/theme/section/typography_section_card.html +5 -0
- {django_spire-0.18.2.dist-info → django_spire-0.19.0.dist-info}/METADATA +3 -3
- {django_spire-0.18.2.dist-info → django_spire-0.19.0.dist-info}/RECORD +217 -178
- django_spire/ai/chat/intelligence/bots/chat_bot.py +0 -8
- django_spire/ai/chat/intelligence/maps/intent_llm_map.py +0 -10
- django_spire/ai/chat/templates/django_spire/ai/chat/page/home_page.html +0 -9
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/chat_widget.html +0 -64
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/search_chat_results_widget.html +0 -25
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/search_chat_widget.html +0 -39
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/select_chat_widget.html +0 -24
- django_spire/ai/chat/tools.py +0 -57
- django_spire/ai/sms/tools.py +0 -57
- django_spire/core/static/django_spire/font/Karla-Bold.ttf +0 -0
- django_spire/core/static/django_spire/font/Merriweather.ttf +0 -0
- django_spire/knowledge/context_processors.py +0 -18
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/detail_page.html +0 -25
- django_spire/knowledge/templates/django_spire/knowledge/navigation/card/navigation_card.html +0 -9
- django_spire/knowledge/templates/django_spire/knowledge/navigation/item/collection/collection_item.html +0 -29
- django_spire/knowledge/templates/django_spire/knowledge/navigation/item/entry/entry_item.html +0 -18
- django_spire/knowledge/templates/django_spire/knowledge/navigation/page/full_page.html +0 -90
- /django_spire/ai/chat/intelligence/{bots → decoders}/__init__.py +0 -0
- /django_spire/ai/chat/{intelligence/maps → urls/template}/__init__.py +0 -0
- /django_spire/{knowledge/intelligence/maps → ai/chat/views/template}/__init__.py +0 -0
- /django_spire/knowledge/entry/version/{constants.py → consts.py} +0 -0
- /django_spire/knowledge/templates/django_spire/knowledge/{navigation/item/collection/dropdown/navigation_ellipsis_dropdown.html → sub_navigation/element/collection_sub_navigation_ellipsis_dropdown.html} +0 -0
- /django_spire/knowledge/templates/django_spire/knowledge/{navigation/item/entry/dropdown/navigation_ellipsis_dropdown.html → sub_navigation/element/entry_sub_navigation_ellipsis_dropdown.html} +0 -0
- {django_spire-0.18.2.dist-info → django_spire-0.19.0.dist-info}/WHEEL +0 -0
- {django_spire-0.18.2.dist-info → django_spire-0.19.0.dist-info}/licenses/LICENSE.md +0 -0
- {django_spire-0.18.2.dist-info → django_spire-0.19.0.dist-info}/top_level.txt +0 -0
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #cdd6f4;
|
|
45
45
|
--app-side-navigation-link-color: #cdd6f4;
|
|
46
46
|
--app-side-navigation-link-hover-color: #cba6f7;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #181825;
|
|
52
49
|
--app-top-navigation-text-color: #cdd6f4;
|
|
53
50
|
--app-top-navigation-link-color: #cba6f7;
|
|
54
51
|
--app-top-navigation-link-hover-color: #f38ba8;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #181825;
|
|
58
54
|
--app-footer-text-color: #cdd6f4;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #eff1f5;
|
|
45
45
|
--app-side-navigation-link-color: #eff1f5;
|
|
46
46
|
--app-side-navigation-link-hover-color: #cba6f7;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #eff1f5;
|
|
52
49
|
--app-top-navigation-text-color: #4c4f69;
|
|
53
50
|
--app-top-navigation-link-color: #8839ef;
|
|
54
51
|
--app-top-navigation-link-hover-color: #d20f39;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #e6e9ef;
|
|
58
54
|
--app-footer-text-color: #4c4f69;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #ffffff;
|
|
45
45
|
--app-side-navigation-link-color: #ffffff;
|
|
46
46
|
--app-side-navigation-link-hover-color: #0097c9;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #0f0f0f;
|
|
52
49
|
--app-top-navigation-text-color: #ffffff;
|
|
53
50
|
--app-top-navigation-link-color: #0097c9;
|
|
54
51
|
--app-top-navigation-link-hover-color: #00b8e6;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #0f0f0f;
|
|
58
54
|
--app-footer-text-color: #ffffff;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #ffffff;
|
|
45
45
|
--app-side-navigation-link-color: #ffffff;
|
|
46
46
|
--app-side-navigation-link-hover-color: #0097c9;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #ffffff;
|
|
52
49
|
--app-top-navigation-text-color: #181818;
|
|
53
50
|
--app-top-navigation-link-color: #0097c9;
|
|
54
51
|
--app-top-navigation-link-hover-color: #007ba3;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f5f5f6;
|
|
58
54
|
--app-footer-text-color: #181818;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #f8f8f2;
|
|
45
45
|
--app-side-navigation-link-color: #f8f8f2;
|
|
46
46
|
--app-side-navigation-link-hover-color: #bd93f9;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #282a36;
|
|
52
49
|
--app-top-navigation-text-color: #f8f8f2;
|
|
53
50
|
--app-top-navigation-link-color: #bd93f9;
|
|
54
51
|
--app-top-navigation-link-hover-color: #ff79c6;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #282a36;
|
|
58
54
|
--app-footer-text-color: #f8f8f2;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #f8f8f2;
|
|
45
45
|
--app-side-navigation-link-color: #f8f8f2;
|
|
46
46
|
--app-side-navigation-link-hover-color: #bd93f9;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #f8f8f2;
|
|
52
49
|
--app-top-navigation-text-color: #44475a;
|
|
53
50
|
--app-top-navigation-link-color: #bd93f9;
|
|
54
51
|
--app-top-navigation-link-hover-color: #ff79c6;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f0f0ea;
|
|
58
54
|
--app-footer-text-color: #44475a;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #ebdbb2;
|
|
45
45
|
--app-side-navigation-link-color: #ebdbb2;
|
|
46
46
|
--app-side-navigation-link-hover-color: #fabd2f;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #1d2021;
|
|
52
49
|
--app-top-navigation-text-color: #ebdbb2;
|
|
53
50
|
--app-top-navigation-link-color: #fabd2f;
|
|
54
51
|
--app-top-navigation-link-hover-color: #fe8019;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #1d2021;
|
|
58
54
|
--app-footer-text-color: #ebdbb2;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #fbf1c7;
|
|
45
45
|
--app-side-navigation-link-color: #fbf1c7;
|
|
46
46
|
--app-side-navigation-link-hover-color: #fabd2f;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #fbf1c7;
|
|
52
49
|
--app-top-navigation-text-color: #3c3836;
|
|
53
50
|
--app-top-navigation-link-color: #b57614;
|
|
54
51
|
--app-top-navigation-link-hover-color: #af3a03;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f2e5bc;
|
|
58
54
|
--app-footer-text-color: #3c3836;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #ffffff;
|
|
45
45
|
--app-side-navigation-link-color: #ffffff;
|
|
46
46
|
--app-side-navigation-link-hover-color: #90caf9;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #121212;
|
|
52
49
|
--app-top-navigation-text-color: #ffffff;
|
|
53
50
|
--app-top-navigation-link-color: #90caf9;
|
|
54
51
|
--app-top-navigation-link-hover-color: #ff8a65;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #121212;
|
|
58
54
|
--app-footer-text-color: #ffffff;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #eceff1;
|
|
45
45
|
--app-side-navigation-link-color: #eceff1;
|
|
46
46
|
--app-side-navigation-link-hover-color: #64b5f6;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #fafafa;
|
|
52
49
|
--app-top-navigation-text-color: #212121;
|
|
53
50
|
--app-top-navigation-link-color: #2196f3;
|
|
54
51
|
--app-top-navigation-link-hover-color: #ff5722;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f5f5f5;
|
|
58
54
|
--app-footer-text-color: #212121;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #eceff4;
|
|
45
45
|
--app-side-navigation-link-color: #eceff4;
|
|
46
46
|
--app-side-navigation-link-hover-color: #88c0d0;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #2e3440;
|
|
52
49
|
--app-top-navigation-text-color: #eceff4;
|
|
53
50
|
--app-top-navigation-link-color: #81a1c1;
|
|
54
51
|
--app-top-navigation-link-hover-color: #bf616a;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #2e3440;
|
|
58
54
|
--app-footer-text-color: #eceff4;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #eceff4;
|
|
45
45
|
--app-side-navigation-link-color: #eceff4;
|
|
46
46
|
--app-side-navigation-link-hover-color: #88c0d0;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #eceff4;
|
|
52
49
|
--app-top-navigation-text-color: #2e3440;
|
|
53
50
|
--app-top-navigation-link-color: #5e81ac;
|
|
54
51
|
--app-top-navigation-link-hover-color: #bf616a;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #e5e9f0;
|
|
58
54
|
--app-footer-text-color: #2e3440;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #c0c5ce;
|
|
45
45
|
--app-side-navigation-link-color: #c0c5ce;
|
|
46
46
|
--app-side-navigation-link-hover-color: #6699cc;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #152028;
|
|
52
49
|
--app-top-navigation-text-color: #c0c5ce;
|
|
53
50
|
--app-top-navigation-link-color: #6699cc;
|
|
54
51
|
--app-top-navigation-link-hover-color: #5fb3b3;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #152028;
|
|
58
54
|
--app-footer-text-color: #c0c5ce;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #ffffff;
|
|
45
45
|
--app-side-navigation-link-color: #ffffff;
|
|
46
46
|
--app-side-navigation-link-hover-color: #4fc3f7;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #ffffff;
|
|
52
49
|
--app-top-navigation-text-color: #263238;
|
|
53
50
|
--app-top-navigation-link-color: #0277bd;
|
|
54
51
|
--app-top-navigation-link-hover-color: #00acc1;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #fafafa;
|
|
58
54
|
--app-footer-text-color: #263238;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #abb2bf;
|
|
45
45
|
--app-side-navigation-link-color: #abb2bf;
|
|
46
46
|
--app-side-navigation-link-hover-color: #61afef;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #1e2227;
|
|
52
49
|
--app-top-navigation-text-color: #abb2bf;
|
|
53
50
|
--app-top-navigation-link-color: #61afef;
|
|
54
51
|
--app-top-navigation-link-hover-color: #c678dd;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #1e2227;
|
|
58
54
|
--app-footer-text-color: #abb2bf;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #fafafa;
|
|
45
45
|
--app-side-navigation-link-color: #fafafa;
|
|
46
46
|
--app-side-navigation-link-hover-color: #61afef;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #fafafa;
|
|
52
49
|
--app-top-navigation-text-color: #383a42;
|
|
53
50
|
--app-top-navigation-link-color: #4078f2;
|
|
54
51
|
--app-top-navigation-link-hover-color: #a626a4;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f0f0f1;
|
|
58
54
|
--app-footer-text-color: #383a42;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #a6accd;
|
|
45
45
|
--app-side-navigation-link-color: #a6accd;
|
|
46
46
|
--app-side-navigation-link-hover-color: #82aaff;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #1e1e2e;
|
|
52
49
|
--app-top-navigation-text-color: #a6accd;
|
|
53
50
|
--app-top-navigation-link-color: #82aaff;
|
|
54
51
|
--app-top-navigation-link-hover-color: #c792ea;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #1e1e2e;
|
|
58
54
|
--app-footer-text-color: #a6accd;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #fafafa;
|
|
45
45
|
--app-side-navigation-link-color: #fafafa;
|
|
46
46
|
--app-side-navigation-link-hover-color: #82aaff;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #fafafa;
|
|
52
49
|
--app-top-navigation-text-color: #4e5579;
|
|
53
50
|
--app-top-navigation-link-color: #4A90E2;
|
|
54
51
|
--app-top-navigation-link-hover-color: #7986CB;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f5f6f9;
|
|
58
54
|
--app-footer-text-color: #4e5579;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #e0def4;
|
|
45
45
|
--app-side-navigation-link-color: #e0def4;
|
|
46
46
|
--app-side-navigation-link-hover-color: #c4a7e7;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #1f1d2e;
|
|
52
49
|
--app-top-navigation-text-color: #e0def4;
|
|
53
50
|
--app-top-navigation-link-color: #c4a7e7;
|
|
54
51
|
--app-top-navigation-link-hover-color: #eb6f92;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #1f1d2e;
|
|
58
54
|
--app-footer-text-color: #e0def4;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #faf4ed;
|
|
45
45
|
--app-side-navigation-link-color: #faf4ed;
|
|
46
46
|
--app-side-navigation-link-hover-color: #ebbcba;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #fffaf3;
|
|
52
49
|
--app-top-navigation-text-color: #575279;
|
|
53
50
|
--app-top-navigation-link-color: #907aa9;
|
|
54
51
|
--app-top-navigation-link-hover-color: #d7827e;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f2e9e1;
|
|
58
54
|
--app-footer-text-color: #575279;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #f92aad;
|
|
45
45
|
--app-side-navigation-link-color: #f92aad;
|
|
46
46
|
--app-side-navigation-link-hover-color: #ff7edb;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #241b2f;
|
|
52
49
|
--app-top-navigation-text-color: #f92aad;
|
|
53
50
|
--app-top-navigation-link-color: #ff7edb;
|
|
54
51
|
--app-top-navigation-link-hover-color: #36f9aa;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #241b2f;
|
|
58
54
|
--app-footer-text-color: #f92aad;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #fdf7fd;
|
|
45
45
|
--app-side-navigation-link-color: #fdf7fd;
|
|
46
46
|
--app-side-navigation-link-hover-color: #d946ef;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #fdf7fd;
|
|
52
49
|
--app-top-navigation-text-color: #4a3c5e;
|
|
53
50
|
--app-top-navigation-link-color: #d946ef;
|
|
54
51
|
--app-top-navigation-link-hover-color: #f43f5e;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #f5f3ff;
|
|
58
54
|
--app-footer-text-color: #4a3c5e;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #c0caf5;
|
|
45
45
|
--app-side-navigation-link-color: #c0caf5;
|
|
46
46
|
--app-side-navigation-link-hover-color: #7aa2f7;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #16161e;
|
|
52
49
|
--app-top-navigation-text-color: #c0caf5;
|
|
53
50
|
--app-top-navigation-link-color: #7aa2f7;
|
|
54
51
|
--app-top-navigation-link-hover-color: #bb9af7;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #16161e;
|
|
58
54
|
--app-footer-text-color: #c0caf5;
|
|
@@ -44,15 +44,11 @@
|
|
|
44
44
|
--app-side-navigation-text-color: #d5d6db;
|
|
45
45
|
--app-side-navigation-link-color: #d5d6db;
|
|
46
46
|
--app-side-navigation-link-hover-color: #7aa2f7;
|
|
47
|
-
--app-side-navigation-width: 200px;
|
|
48
|
-
|
|
49
|
-
--app-mobile-navigation-width: 200px;
|
|
50
47
|
|
|
51
48
|
--app-top-navigation-bg-color: #d5d6db;
|
|
52
49
|
--app-top-navigation-text-color: #343b58;
|
|
53
50
|
--app-top-navigation-link-color: #3d59a1;
|
|
54
51
|
--app-top-navigation-link-hover-color: #f52a65;
|
|
55
|
-
--app-top-navigation-height: 100px;
|
|
56
52
|
|
|
57
53
|
--app-footer-bg-color: #dfe0e5;
|
|
58
54
|
--app-footer-text-color: #343b58;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -10,3 +10,15 @@ function toggle_loading_overlay() {
|
|
|
10
10
|
spinner.classList.remove('d-none');
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
+
|
|
14
|
+
function has_content(el) {
|
|
15
|
+
return Array.from(el.childNodes).some(
|
|
16
|
+
node => {
|
|
17
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
18
|
+
return node.textContent.trim() !== '';
|
|
19
|
+
}
|
|
20
|
+
return node.nodeType === Node.ELEMENT_NODE;
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<a
|
|
2
2
|
class="btn shadow-sm {% block button_class %}{% endblock %} {{ button_class|default:'btn-sm' }}"
|
|
3
3
|
{% block button_attributes %}{% endblock %}
|
|
4
|
-
{% if button_href %}href="{{ button_href }}"{% endif %}
|
|
4
|
+
{% if button_href %}href="{{ button_href }}{{ button_url_params }}"{% endif %}
|
|
5
5
|
{% if x_button_click %}@click="{{ x_button_click }}"{% endif %}
|
|
6
6
|
>
|
|
7
7
|
{% if button_icon %}
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
{# Background colours must be applied outside 'a' tag #}
|
|
2
|
+
|
|
2
3
|
<div class="bg-app-layer-one bg-app-layer-three-hover dropdown-item">
|
|
3
4
|
<a
|
|
4
|
-
class="
|
|
5
|
-
{% if link_url %}
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
class="border-bottom fs--1 p-0 cursor-pointer text-app-default-text-color text-decoration-none"
|
|
6
|
+
{% if link_url %}
|
|
7
|
+
href="{{ link_url }}"
|
|
8
|
+
{% elif x_link_url %}
|
|
8
9
|
:href="{{ x_link_url }}"
|
|
9
10
|
{% endif %}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
{
|
|
13
|
-
}
|
|
11
|
+
|
|
12
|
+
{% if x_click %}
|
|
13
|
+
@click="{{ x_click }}"
|
|
14
|
+
{% else %}
|
|
15
|
+
@click="toggle_dropdown()"
|
|
16
|
+
{% endif %}
|
|
14
17
|
>
|
|
15
18
|
{% block link_content %}
|
|
16
19
|
<div class="px-3 py-2 text-nowrap {{ link_css }}">
|
|
17
20
|
{% if link_icon %}
|
|
18
21
|
<i class="{{ link_icon }} pe-1"></i>
|
|
19
22
|
{% endif %}
|
|
23
|
+
|
|
20
24
|
{% if link_text %}
|
|
21
25
|
{{ link_text }}
|
|
22
26
|
{% elif x_link_text %}
|
django_spire/core/templates/django_spire/dropdown/element/ellipsis_dropdown_modal_link_element.html
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{# Background colours must be applied outside 'a' tag #}
|
|
2
|
+
|
|
2
3
|
<div class="bg-app-layer-one bg-app-layer-three-hover dropdown-item">
|
|
3
4
|
<a
|
|
4
5
|
@click="dispatch_modal_view('{{ view_url }}'); toggle_dropdown();"
|
|
5
6
|
class="border-bottom fs--1 p-0 cursor-pointer text-decoration-none text-app-default-text-color"
|
|
6
7
|
>
|
|
7
|
-
<div class="px-3 py-
|
|
8
|
+
<div class="px-3 py-2 text-nowrap {{ link_css }}">
|
|
8
9
|
{{ link_text }}
|
|
9
10
|
</div>
|
|
10
11
|
</a>
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
{% block dropdown_trigger %}
|
|
6
6
|
<span
|
|
7
|
-
class="bi bi-three-dots-vertical
|
|
7
|
+
class="bi bi-three-dots-vertical cursor-pointer d-inline-flex align-items-center justify-content-center"
|
|
8
|
+
style="padding: 0.5rem 0.75rem; margin: -0.5rem -0.75rem;"
|
|
8
9
|
x-bind="trigger"
|
|
9
10
|
>
|
|
10
11
|
</span>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
{% block accordion_toggle %}
|
|
4
4
|
<div
|
|
5
|
-
class="d-flex justify-content-center align-items-baseline cursor-pointer text-app-link-side-navigation mb-1 ps-1 pe-0"
|
|
5
|
+
class="mt-3 d-flex justify-content-center align-items-baseline cursor-pointer text-app-link-side-navigation mb-1 ps-1 pe-0"
|
|
6
6
|
style="width: 150px"
|
|
7
7
|
>
|
|
8
8
|
<i class="fs-6 me-2 {% block nav_icon %}{% endblock %}"></i>
|
|
@@ -1,20 +1,64 @@
|
|
|
1
1
|
{% load static %}
|
|
2
2
|
|
|
3
|
-
<div
|
|
3
|
+
<div
|
|
4
|
+
class="navbar sticky-top bg-app-side-navigation d-block"
|
|
5
|
+
style="width: 100%; height: 100vh"
|
|
6
|
+
>
|
|
4
7
|
<div class="text-center pt-2">
|
|
5
8
|
{% block side_navigation_top_content %}
|
|
6
|
-
<div class="text-center d-flex justify-content-center">
|
|
9
|
+
<div class="text-center d-flex justify-content-center mb-4">
|
|
7
10
|
{% block side_navigation_img %}
|
|
8
|
-
<
|
|
9
|
-
|
|
11
|
+
<a href="/" class="p-0 m-0">
|
|
12
|
+
<img
|
|
13
|
+
src="{% static 'img/django_spire.svg' %}"
|
|
14
|
+
class="w-side-navigation-img"
|
|
15
|
+
alt="Django Spire Logo"
|
|
16
|
+
>
|
|
17
|
+
</a>
|
|
10
18
|
{% endblock %}
|
|
11
19
|
</div>
|
|
12
20
|
{% endblock %}
|
|
13
21
|
</div>
|
|
14
22
|
|
|
15
|
-
<div
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
{
|
|
23
|
+
<div
|
|
24
|
+
class="position-relative"
|
|
25
|
+
style="height: calc(100vh - var(--app-side-navigation-top-content-height));"
|
|
26
|
+
x-data="{
|
|
27
|
+
show_top_fade: false,
|
|
28
|
+
show_bottom_fade: false,
|
|
29
|
+
check_scroll() {
|
|
30
|
+
let element = this.$refs.scroll_container;
|
|
31
|
+
let has_scroll = element.scrollHeight > element.clientHeight;
|
|
32
|
+
let is_at_top = element.scrollTop <= 20;
|
|
33
|
+
let is_at_bottom = element.scrollHeight - element.scrollTop <= element.clientHeight + 20;
|
|
34
|
+
this.show_top_fade = has_scroll && !is_at_top;
|
|
35
|
+
this.show_bottom_fade = has_scroll && !is_at_bottom;
|
|
36
|
+
}
|
|
37
|
+
}"
|
|
38
|
+
x-init="$nextTick(() => { check_scroll(); window.addEventListener('resize', () => check_scroll()); })"
|
|
39
|
+
>
|
|
40
|
+
<div
|
|
41
|
+
class="position-absolute top-0 start-0 w-100 side-navigation-fade-top"
|
|
42
|
+
style="z-index: 10;"
|
|
43
|
+
x-show="show_top_fade"
|
|
44
|
+
>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div
|
|
48
|
+
class="navbar-nav-scroll scrollbar-hidden px-2 pb-4 h-100"
|
|
49
|
+
x-ref="scroll_container"
|
|
50
|
+
@scroll="check_scroll()"
|
|
51
|
+
>
|
|
52
|
+
{% block side_navigation_links %}
|
|
53
|
+
{% include 'django_spire/navigation/navigation_links.html' %}
|
|
54
|
+
{% endblock %}
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div
|
|
58
|
+
class="position-absolute bottom-0 start-0 w-100 side-navigation-fade-bottom"
|
|
59
|
+
style="z-index: 10;"
|
|
60
|
+
x-show="show_bottom_fade"
|
|
61
|
+
>
|
|
62
|
+
</div>
|
|
19
63
|
</div>
|
|
20
64
|
</div>
|