django-spire 0.16.7__py3-none-any.whl → 0.16.8__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/consts.py +1 -1
- django_spire/core/static/django_spire/css/bootstrap-override.css +38 -10
- django_spire/core/static/django_spire/css/themes/input.css +21 -0
- django_spire/core/static/django_spire/js/theme.js +51 -0
- django_spire/knowledge/static/django_spire/knowledge/css/navigation_items.css +1 -2
- django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html +3 -3
- {django_spire-0.16.7.dist-info → django_spire-0.16.8.dist-info}/METADATA +1 -1
- {django_spire-0.16.7.dist-info → django_spire-0.16.8.dist-info}/RECORD +11 -10
- {django_spire-0.16.7.dist-info → django_spire-0.16.8.dist-info}/WHEEL +0 -0
- {django_spire-0.16.7.dist-info → django_spire-0.16.8.dist-info}/licenses/LICENSE.md +0 -0
- {django_spire-0.16.7.dist-info → django_spire-0.16.8.dist-info}/top_level.txt +0 -0
django_spire/consts.py
CHANGED
|
@@ -74,16 +74,17 @@
|
|
|
74
74
|
--bs-popover-header-color: var(--app-default-text-color);
|
|
75
75
|
|
|
76
76
|
--bs-form-control-color: var(--app-default-text-color);
|
|
77
|
-
--bs-form-control-bg: var(--app-layer-
|
|
78
|
-
--bs-form-control-border-color: var(--
|
|
77
|
+
--bs-form-control-bg: var(--app-layer-two);
|
|
78
|
+
--bs-form-control-border-color: var(--bs-border-color);
|
|
79
79
|
--bs-form-control-focus-border-color: var(--app-primary);
|
|
80
|
-
--bs-form-control-focus-box-shadow: 0 0 0 0.25rem rgba(
|
|
80
|
+
--bs-form-control-focus-box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
|
|
81
|
+
--bs-form-control-disabled-bg: var(--app-layer-three);
|
|
81
82
|
|
|
82
83
|
--bs-form-select-color: var(--app-default-text-color);
|
|
83
|
-
--bs-form-select-bg: var(--app-layer-
|
|
84
|
-
--bs-form-select-border-color: var(--
|
|
84
|
+
--bs-form-select-bg: var(--app-layer-two);
|
|
85
|
+
--bs-form-select-border-color: var(--bs-border-color);
|
|
85
86
|
--bs-form-select-focus-border-color: var(--app-primary);
|
|
86
|
-
--bs-form-select-focus-box-shadow: 0 0 0 0.25rem rgba(
|
|
87
|
+
--bs-form-select-focus-box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
|
|
87
88
|
|
|
88
89
|
--bs-btn-color: var(--app-default-button-text-color);
|
|
89
90
|
--bs-btn-bg: var(--app-primary);
|
|
@@ -141,8 +142,8 @@
|
|
|
141
142
|
|
|
142
143
|
--bs-border-color-translucent: rgba(64, 61, 82, 0.175);
|
|
143
144
|
|
|
144
|
-
--bs-form-control-focus-box-shadow: 0 0 0 0.25rem
|
|
145
|
-
--bs-form-select-focus-box-shadow: 0 0 0 0.25rem
|
|
145
|
+
--bs-form-control-focus-box-shadow: 0 0 0 0.25rem var(--app-focus-ring-primary);
|
|
146
|
+
--bs-form-select-focus-box-shadow: 0 0 0 0.25rem var(--app-focus-ring-primary);
|
|
146
147
|
|
|
147
148
|
--bs-tooltip-bg: var(--app-layer-two);
|
|
148
149
|
--bs-tooltip-color: var(--app-default-text-color);
|
|
@@ -160,6 +161,33 @@
|
|
|
160
161
|
|
|
161
162
|
--bs-border-color-translucent: rgba(206, 202, 205, 0.175);
|
|
162
163
|
|
|
163
|
-
--bs-form-control-focus-box-shadow: 0 0 0 0.25rem
|
|
164
|
-
--bs-form-select-focus-box-shadow: 0 0 0 0.25rem
|
|
164
|
+
--bs-form-control-focus-box-shadow: 0 0 0 0.25rem var(--app-focus-ring-primary);
|
|
165
|
+
--bs-form-select-focus-box-shadow: 0 0 0 0.25rem var(--app-focus-ring-primary);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.form-control {
|
|
169
|
+
background-color: var(--app-layer-two) !important;
|
|
170
|
+
color: var(--app-default-text-color) !important;
|
|
171
|
+
border-color: var(--bs-border-color) !important;
|
|
172
|
+
caret-color: var(--app-default-text-color) !important;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.form-control:focus {
|
|
176
|
+
box-shadow: none !important;
|
|
177
|
+
outline: none !important;
|
|
178
|
+
border-color: var(--app-primary) !important;
|
|
179
|
+
border-width: 2px !important;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.form-control:disabled,
|
|
183
|
+
.form-control[readonly] {
|
|
184
|
+
background-color: var(--app-layer-three) !important;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.form-control:-webkit-autofill,
|
|
188
|
+
.form-control:-webkit-autofill:hover,
|
|
189
|
+
.form-control:-webkit-autofill:focus,
|
|
190
|
+
.form-control:-webkit-autofill:active {
|
|
191
|
+
-webkit-box-shadow: 0 0 0 30px var(--app-layer-two) inset !important;
|
|
192
|
+
-webkit-text-fill-color: var(--app-default-text-color) !important;
|
|
165
193
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
|
|
2
|
+
input[type="date"]::-webkit-calendar-picker-indicator,
|
|
3
|
+
input[type="time"]::-webkit-calendar-picker-indicator,
|
|
4
|
+
input[type="week"]::-webkit-calendar-picker-indicator,
|
|
5
|
+
input[type="month"]::-webkit-calendar-picker-indicator {
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
border: none;
|
|
8
|
+
opacity: 0.75;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
|
|
12
|
+
input[type="date"]::-webkit-calendar-picker-indicator:hover,
|
|
13
|
+
input[type="time"]::-webkit-calendar-picker-indicator:hover,
|
|
14
|
+
input[type="week"]::-webkit-calendar-picker-indicator:hover,
|
|
15
|
+
input[type="month"]::-webkit-calendar-picker-indicator:hover {
|
|
16
|
+
opacity: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
[data-theme="dark"] input {
|
|
20
|
+
color-scheme: dark;
|
|
21
|
+
}
|
|
@@ -102,6 +102,54 @@ document.addEventListener('alpine:init', () => {
|
|
|
102
102
|
if (window.django_spire && window.django_spire.theme) {
|
|
103
103
|
window.django_spire.theme.active = theme.value;
|
|
104
104
|
}
|
|
105
|
+
|
|
106
|
+
if (!document.querySelector('link[data-input-css]')) {
|
|
107
|
+
let link = document.createElement('link');
|
|
108
|
+
link.rel = 'stylesheet';
|
|
109
|
+
link.href = '/static/django_spire/css/themes/input.css';
|
|
110
|
+
link.setAttribute('data-input-css', 'true');
|
|
111
|
+
|
|
112
|
+
document.head.appendChild(link);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
setTimeout(() => this.apply_input_icon_theme(), 100);
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
apply_input_icon_theme() {
|
|
119
|
+
// This is a fix for a Chromium-based browser. We have to dynamically
|
|
120
|
+
// target the input field icon, otherwise it won't be styled properly.
|
|
121
|
+
|
|
122
|
+
let text_color = getComputedStyle(document.documentElement).getPropertyValue('--app-default-text-color').trim();
|
|
123
|
+
|
|
124
|
+
if (!text_color) return;
|
|
125
|
+
|
|
126
|
+
let hex = text_color.replace('#', '%23');
|
|
127
|
+
let style_id = 'calendar-icon-theme';
|
|
128
|
+
let existing = document.getElementById(style_id);
|
|
129
|
+
|
|
130
|
+
if (existing) {
|
|
131
|
+
existing.remove();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
let calendar_svg = `data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="${hex}" stroke-width="1.5" viewBox="0 0 16 16"><rect x="2" y="3" width="12" height="11" rx="1"/><path d="M2 6h12M5 1v3M11 1v3"/><circle cx="5" cy="9" r="0.5" fill="${hex}"/><circle cx="8" cy="9" r="0.5" fill="${hex}"/><circle cx="11" cy="9" r="0.5" fill="${hex}"/><circle cx="5" cy="12" r="0.5" fill="${hex}"/><circle cx="8" cy="12" r="0.5" fill="${hex}"/><circle cx="11" cy="12" r="0.5" fill="${hex}"/></svg>`;
|
|
135
|
+
let clock_svg = `data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="${hex}"><path d="M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z"/><path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z"/></svg>`;
|
|
136
|
+
|
|
137
|
+
let style = document.createElement('style');
|
|
138
|
+
style.id = style_id;
|
|
139
|
+
|
|
140
|
+
style.textContent = `
|
|
141
|
+
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
|
|
142
|
+
input[type="date"]::-webkit-calendar-picker-indicator,
|
|
143
|
+
input[type="week"]::-webkit-calendar-picker-indicator,
|
|
144
|
+
input[type="month"]::-webkit-calendar-picker-indicator {
|
|
145
|
+
background-image: url('${calendar_svg}');
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
input[type="time"]::-webkit-calendar-picker-indicator {
|
|
149
|
+
background-image: url('${clock_svg}');
|
|
150
|
+
}
|
|
151
|
+
`;
|
|
152
|
+
document.head.appendChild(style);
|
|
105
153
|
},
|
|
106
154
|
|
|
107
155
|
load_theme_css(family, mode) {
|
|
@@ -134,6 +182,8 @@ document.addEventListener('alpine:init', () => {
|
|
|
134
182
|
if (existing) {
|
|
135
183
|
existing.remove();
|
|
136
184
|
}
|
|
185
|
+
|
|
186
|
+
this.apply_input_icon_theme();
|
|
137
187
|
};
|
|
138
188
|
|
|
139
189
|
document.head.appendChild(link);
|
|
@@ -150,6 +200,7 @@ document.addEventListener('alpine:init', () => {
|
|
|
150
200
|
async set(value) {
|
|
151
201
|
this.current = value;
|
|
152
202
|
this.apply();
|
|
203
|
+
|
|
153
204
|
await this.persist_to_server(value);
|
|
154
205
|
},
|
|
155
206
|
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
tabindex="-1"
|
|
58
58
|
id="navigation-card"
|
|
59
59
|
>
|
|
60
|
-
<div class="offcanvas-header">
|
|
61
|
-
<h5 class="offcanvas-title">Navigation</h5>
|
|
62
|
-
<
|
|
60
|
+
<div class="row offcanvas-header">
|
|
61
|
+
<h5 class="col offcanvas-title">Navigation</h5>
|
|
62
|
+
<span class="col-auto bi bi-x-lg cursor-pointer fs-5" data-bs-dismiss="offcanvas"></span>
|
|
63
63
|
</div>
|
|
64
64
|
{% include 'django_spire/knowledge/collection/navigation/navigation.html' %}
|
|
65
65
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-spire
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.8
|
|
4
4
|
Summary: A project for Django Spire
|
|
5
5
|
Author-email: Brayden Carlson <braydenc@stratusadv.com>, Nathan Johnson <nathanj@stratusadv.com>
|
|
6
6
|
License: Copyright (c) 2024 Stratus Advanced Technologies and Contributors.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
django_spire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
django_spire/conf.py,sha256=EYC1hXqYqheYrb_b6Q93LrSgNl91JV633E4N5j-KGTo,1012
|
|
3
|
-
django_spire/consts.py,sha256=
|
|
3
|
+
django_spire/consts.py,sha256=xJzmLn-YJcLRPoG1nYm4Fi3bi3V4ZWbX7cvJ--a8I5w,390
|
|
4
4
|
django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
|
|
5
5
|
django_spire/settings.py,sha256=NBDa_kZozESTz2UfHgy2PzhBqj54eIrjZsUsWqDgI0g,735
|
|
6
6
|
django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
|
|
@@ -442,9 +442,10 @@ django_spire/core/static/django_spire/css/app-template.css,sha256=D5ORspwfokNqRW
|
|
|
442
442
|
django_spire/core/static/django_spire/css/app-text.css,sha256=4hyHj-6EJmTtj15OAHGLMaNJIbruKVEMRC_ucmYE_UY,5833
|
|
443
443
|
django_spire/core/static/django_spire/css/app-theme.css,sha256=6vxu-tNDS4i1wWwLxdkCuiucN_ZKzGqwZmqZ8Vcwzk0,421
|
|
444
444
|
django_spire/core/static/django_spire/css/bootstrap-extension.css,sha256=TLCzs5SE9__bu2l3oAg9G-j_kuFSC0HxhQw1YQiOhy8,9712
|
|
445
|
-
django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=
|
|
445
|
+
django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=OqSfW94DwcqZebQMWHtk_djywSGgnxSlUPtxZJ8sId0,7490
|
|
446
446
|
django_spire/core/static/django_spire/css/bootstrap.css,sha256=GEgESnyGv91X48AEz35ovTv1fF8JPaB_VZB-JXJjdb0,155840
|
|
447
447
|
django_spire/core/static/django_spire/css/flatpickr.min.css,sha256=RXPAyxHVyMLxb0TYCM2OW5R4GWkcDe02jdYgyZp41OU,16081
|
|
448
|
+
django_spire/core/static/django_spire/css/themes/input.css,sha256=dHY08qEODw-L1xbelx2q-5zu7g9hznVw3Ii3INKlQKU,738
|
|
448
449
|
django_spire/core/static/django_spire/css/themes/ayu/app-dark.css,sha256=1ynbgAPB7VmrI8WjfEJ4hCv8C23o3C2PqheAIzzHkaQ,2235
|
|
449
450
|
django_spire/core/static/django_spire/css/themes/ayu/app-light.css,sha256=qYO9Wzevku-PRgT77DtYVSD_cpNb6XWdGAsIIu4s6iM,2040
|
|
450
451
|
django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css,sha256=hTfq9GzzKABKWA3wpLO7TGP0TYqUn2W7SOVeiTZf54w,2236
|
|
@@ -490,7 +491,7 @@ django_spire/core/static/django_spire/js/cookie.js,sha256=N9ifDzqmJHRDwYI2Lqia1y
|
|
|
490
491
|
django_spire/core/static/django_spire/js/dropdown.js,sha256=cSvzdsct8-45gIWZlO5MzmbW2vDuxJVttLZjOBl14GE,934
|
|
491
492
|
django_spire/core/static/django_spire/js/modal.js,sha256=ay0Sovi0HhedEz3dRhB_INhkh1PEJ7zPc5POYo_Wwg0,370
|
|
492
493
|
django_spire/core/static/django_spire/js/session_controller.js,sha256=aMom087y00MUhdxrZlrg89f88mBC7cWEhGWopeb5hlQ,232
|
|
493
|
-
django_spire/core/static/django_spire/js/theme.js,sha256=
|
|
494
|
+
django_spire/core/static/django_spire/js/theme.js,sha256=APZnTjuhgXV7m1vVlmvNIMZACJ0gG8uGeiyWSmhZTmQ,8512
|
|
494
495
|
django_spire/core/static/django_spire/js/ui.js,sha256=qxb32pBZz7e5iLuOCbNs80VsqQJKa6cj5aBrGTvIrsY,389
|
|
495
496
|
django_spire/core/templates/django_spire/403.html,sha256=35OX-3z-Yi6Igx9DTAcxNwWiZ17wXdm4wYGML4U2pns,37
|
|
496
497
|
django_spire/core/templates/django_spire/404.html,sha256=91sTr518M2YxQ8X3GlzDsNP6IVo3MW07tbHdcLBL8Iw,235
|
|
@@ -860,7 +861,7 @@ django_spire/knowledge/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
860
861
|
django_spire/knowledge/seeding/seed.py,sha256=mdVbtQVbGdTjheHAnMPEQojik_gv7rT1YcvWZRLgFy8,61
|
|
861
862
|
django_spire/knowledge/static/django_spire/knowledge/collection/js/managers.js,sha256=1b0pRPYJvYjKKZB2wshdoseAUR3_Al-2qxFUWE5q-oo,4319
|
|
862
863
|
django_spire/knowledge/static/django_spire/knowledge/collection/js/x_component.js,sha256=avczuHac3i58k06wA-LPpgupedCYbuDVTjTYVjEho18,898
|
|
863
|
-
django_spire/knowledge/static/django_spire/knowledge/css/navigation_items.css,sha256=
|
|
864
|
+
django_spire/knowledge/static/django_spire/knowledge/css/navigation_items.css,sha256=LwWOW4lsgkeIz3JuP9DQ-x10_04TvQw8fM4Fi-QT9M8,179
|
|
864
865
|
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/managers.js,sha256=q-HiSnOnMMomxU0EAWSbQO55HMVvb8wPxA0KCP3VyP4,2772
|
|
865
866
|
django_spire/knowledge/templates/django_spire/knowledge/collection/card/collection_card.html,sha256=VTSB4ddVYg7-QMWrlTgb0b7UakITmhWbFzlttMlHVWU,2462
|
|
866
867
|
django_spire/knowledge/templates/django_spire/knowledge/collection/card/context_menu_card.html,sha256=yvJjkzRheXSZYBoGnMM-EQCFonJBVThWQp6KHd4cx9k,1386
|
|
@@ -904,7 +905,7 @@ django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/
|
|
|
904
905
|
django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/detail_page.html,sha256=bVxildiAIrQR9lFFdnc8H0eYVr2itX97A_y3pQk87E4,326
|
|
905
906
|
django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/form_page.html,sha256=ufUISOfNmk45hl7F-ujtAzpHdEmUxh55odW0eyL6SMU,722
|
|
906
907
|
django_spire/knowledge/templates/django_spire/knowledge/message/knowledge_message_intel.html,sha256=yIca58o4_UC-6WgeGT9WOrJ0cQrXfZo3B0QFd03nlXU,130
|
|
907
|
-
django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=
|
|
908
|
+
django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=bYuOvJpPAiufBaNsqqGg12E3lIdX_X_kFnrNexUguPE,2336
|
|
908
909
|
django_spire/knowledge/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
909
910
|
django_spire/knowledge/templatetags/spire_knowledge_tags.py,sha256=WQcmaS7sh6ga3_HqblThYv0__u3soyJ5Jp6sn9rU76c,585
|
|
910
911
|
django_spire/knowledge/urls/__init__.py,sha256=f_d2AMnV2eD9eXe3-RAZk17rb39Kvl654ptSirNmfmI,266
|
|
@@ -1040,8 +1041,8 @@ django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_
|
|
|
1040
1041
|
django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1041
1042
|
django_spire/theme/views/json_views.py,sha256=W1khC2K_EMbEzAFmMxC_P76_MFnkRH4-eVdodrRfAhw,1904
|
|
1042
1043
|
django_spire/theme/views/page_views.py,sha256=pHr8iekjtR99xs7w1taj35HEo133Svq1dvDD0y0VL1c,3933
|
|
1043
|
-
django_spire-0.16.
|
|
1044
|
-
django_spire-0.16.
|
|
1045
|
-
django_spire-0.16.
|
|
1046
|
-
django_spire-0.16.
|
|
1047
|
-
django_spire-0.16.
|
|
1044
|
+
django_spire-0.16.8.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
|
|
1045
|
+
django_spire-0.16.8.dist-info/METADATA,sha256=izsGOT7mjwb2qLchqMng-xy4nv2TuKaPlWv9n5UhRdg,4762
|
|
1046
|
+
django_spire-0.16.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1047
|
+
django_spire-0.16.8.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
|
|
1048
|
+
django_spire-0.16.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|