django-spire 0.19.2__py3-none-any.whl → 0.19.4__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.
Files changed (25) hide show
  1. django_spire/consts.py +1 -1
  2. django_spire/core/management/commands/spire_startapp_pkg/maps.py +14 -7
  3. django_spire/core/management/commands/spire_startapp_pkg/user_input.py +10 -7
  4. django_spire/core/static/django_spire/css/app-navigation.css +4 -0
  5. django_spire/core/static/django_spire/css/bootstrap-override.css +33 -0
  6. django_spire/core/static/django_spire/css/themes/ayu/app-dark.css +12 -12
  7. django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css +12 -12
  8. django_spire/core/static/django_spire/css/themes/default/app-dark.css +11 -11
  9. django_spire/core/static/django_spire/css/themes/dracula/app-dark.css +12 -12
  10. django_spire/core/static/django_spire/css/themes/gruvbox/app-dark.css +12 -12
  11. django_spire/core/static/django_spire/css/themes/material/app-dark.css +12 -12
  12. django_spire/core/static/django_spire/css/themes/nord/app-dark.css +12 -12
  13. django_spire/core/static/django_spire/css/themes/oceanic-next/app-dark.css +12 -12
  14. django_spire/core/static/django_spire/css/themes/one-dark/app-dark.css +12 -12
  15. django_spire/core/static/django_spire/css/themes/palenight/app-dark.css +12 -12
  16. django_spire/core/static/django_spire/css/themes/rose-pine/app-dark.css +12 -12
  17. django_spire/core/static/django_spire/css/themes/synthwave/app-dark.css +12 -12
  18. django_spire/core/static/django_spire/css/themes/tokyo-night/app-dark.css +12 -12
  19. django_spire/core/templates/django_spire/card/infinite_scroll_card.html +1 -1
  20. django_spire/core/templatetags/spire_core_tags.py +11 -0
  21. {django_spire-0.19.2.dist-info → django_spire-0.19.4.dist-info}/METADATA +1 -1
  22. {django_spire-0.19.2.dist-info → django_spire-0.19.4.dist-info}/RECORD +25 -25
  23. {django_spire-0.19.2.dist-info → django_spire-0.19.4.dist-info}/WHEEL +0 -0
  24. {django_spire-0.19.2.dist-info → django_spire-0.19.4.dist-info}/licenses/LICENSE.md +0 -0
  25. {django_spire-0.19.2.dist-info → django_spire-0.19.4.dist-info}/top_level.txt +0 -0
django_spire/consts.py CHANGED
@@ -1,4 +1,4 @@
1
- __VERSION__ = '0.19.2'
1
+ __VERSION__ = '0.19.4'
2
2
 
3
3
  MAINTENANCE_MODE_SETTINGS_NAME = 'MAINTENANCE_MODE'
4
4
 
@@ -29,6 +29,7 @@ class AppConfiguration:
29
29
  components: list[str],
30
30
  user_inputs: dict[str, str] | None = None
31
31
  ) -> AppConfiguration:
32
+ immediate_parent = components[-2] if len(components) > 2 else None
32
33
  parent_parts = components[1:-1] if len(components) > 1 else []
33
34
 
34
35
  app_name = (
@@ -49,8 +50,8 @@ class AppConfiguration:
49
50
  )
50
51
 
51
52
  default_label = (
52
- '_'.join(parent_parts).lower() + '_' + app_name.lower()
53
- if parent_parts
53
+ immediate_parent.lower() + '_' + app_name.lower()
54
+ if immediate_parent
54
55
  else app_name.lower()
55
56
  )
56
57
 
@@ -60,10 +61,16 @@ class AppConfiguration:
60
61
  else default_label
61
62
  )
62
63
 
64
+ default_db_table = (
65
+ '_'.join(parent_parts).lower() + '_' + app_name.lower()
66
+ if parent_parts
67
+ else app_name.lower()
68
+ )
69
+
63
70
  db_table = (
64
- user_inputs.get('db_table_name', default_label)
71
+ user_inputs.get('db_table_name', default_db_table)
65
72
  if user_inputs
66
- else default_label
73
+ else default_db_table
67
74
  )
68
75
 
69
76
  inherit_permissions = (
@@ -324,7 +331,7 @@ class ModelPermissions:
324
331
  user_inputs: dict[str, str] | None = None
325
332
  ) -> ModelPermissions:
326
333
  module = '.'.join(components)
327
- parent_parts = components[1:-1] if len(components) > 1 else []
334
+ immediate_parent = components[-2] if len(components) > 2 else None
328
335
 
329
336
  app_name = (
330
337
  user_inputs.get('app_name', components[-1])
@@ -344,8 +351,8 @@ class ModelPermissions:
344
351
  )
345
352
 
346
353
  default_permission_name = (
347
- '_'.join(parent_parts).lower() + '_' + app_name.lower()
348
- if parent_parts
354
+ immediate_parent.lower() + '_' + app_name.lower()
355
+ if immediate_parent
349
356
  else app_name.lower()
350
357
  )
351
358
 
@@ -49,7 +49,7 @@ class UserInputCollector:
49
49
  app_label = self._collect_app_label(components, app_name)
50
50
  model_name = self._collect_model_name(app_name)
51
51
  model_name_plural = self._collect_model_name_plural(model_name)
52
- db_table_name = self._collect_db_table_name(app_label)
52
+ db_table_name = self._collect_db_table_name(components, app_name) # Changed from app_label to components, app_name
53
53
  model_permission_path = self._collect_model_permission_path(app_path, model_name)
54
54
 
55
55
  permission_data = self._collect_permission_inheritance(components)
@@ -78,8 +78,8 @@ class UserInputCollector:
78
78
  :return: User-provided or default app label.
79
79
  """
80
80
 
81
- parent_parts = components[1:-1] if len(components) > 1 else []
82
- default = '_'.join(parent_parts).lower() + '_' + app_name.lower() if parent_parts else app_name.lower()
81
+ immediate_parent = components[-2] if len(components) > 2 else None
82
+ default = immediate_parent.lower() + '_' + app_name.lower() if immediate_parent else app_name.lower()
83
83
  return self._collect_input('Enter the app label', default, '3/8')
84
84
 
85
85
  def _collect_app_name(self, components: list[str]) -> str:
@@ -114,15 +114,18 @@ class UserInputCollector:
114
114
 
115
115
  return app_path
116
116
 
117
- def _collect_db_table_name(self, app_label: str) -> str:
117
+ def _collect_db_table_name(self, components: list[str], app_name: str) -> str:
118
118
  """
119
119
  Prompts the user for the database table name.
120
120
 
121
- :param app_label: App label to use as default.
121
+ :param components: List of app path components.
122
+ :param app_name: Name of the app.
122
123
  :return: User-provided or default database table name.
123
124
  """
124
125
 
125
- return self._collect_input('Enter the database table name', app_label, '6/8')
126
+ parent_parts = components[1:-1] if len(components) > 1 else []
127
+ default = '_'.join(parent_parts).lower() + '_' + app_name.lower() if parent_parts else app_name.lower()
128
+ return self._collect_input('Enter the database table name', default, '6/8')
126
129
 
127
130
  def _collect_input(self, prompt: str, default: str, step_number: str) -> str:
128
131
  """
@@ -183,7 +186,7 @@ class UserInputCollector:
183
186
  :return: Dictionary containing permission inheritance settings.
184
187
  """
185
188
 
186
- if len(components) <= 2:
189
+ if len(components) <= 1:
187
190
  return {'inherit_permissions': False, 'parent_permission_prefix': '', 'parent_model_instance_name': ''}
188
191
 
189
192
  if not self._should_inherit_permissions():
@@ -73,6 +73,10 @@
73
73
  transition: background-color 0.2s ease, color 0.2s ease;
74
74
  }
75
75
 
76
+ .side-navigation a.active {
77
+ color: var(--app-side-navigation-link-color) !important;
78
+ }
79
+
76
80
  .side-navigation a:hover {
77
81
  color: var(--app-side-navigation-link-hover-color) !important;
78
82
  }
@@ -164,6 +164,9 @@
164
164
 
165
165
  --bs-tooltip-bg: var(--app-layer-two);
166
166
  --bs-tooltip-color: var(--app-default-text-color);
167
+
168
+ --bs-card-border-width: 1px;
169
+ --bs-list-group-border-width: 1px;
167
170
  }
168
171
 
169
172
  [data-theme="light"] {
@@ -182,6 +185,28 @@
182
185
  --bs-form-select-focus-box-shadow: 0 0 0 0.25rem var(--app-focus-ring-primary);
183
186
  }
184
187
 
188
+ .card {
189
+ border-width: 1px;
190
+ border-color: var(--bs-border-color);
191
+ }
192
+
193
+ .card-body {
194
+ background-color: var(--bs-card-bg);
195
+ }
196
+
197
+ .list-group-flush .list-group-item {
198
+ border-left: 0;
199
+ border-right: 0;
200
+ }
201
+
202
+ .list-group-flush .list-group-item:first-child {
203
+ border-top: 0;
204
+ }
205
+
206
+ .list-group-flush .list-group-item:last-child {
207
+ border-bottom: 0;
208
+ }
209
+
185
210
  .form-control {
186
211
  background-color: var(--app-form-field-bg) !important;
187
212
  border-color: var(--app-form-field-border) !important;
@@ -230,6 +255,14 @@
230
255
  cursor: not-allowed;
231
256
  }
232
257
 
258
+ .progress {
259
+ background-color: var(--app-layer-three);
260
+ }
261
+
262
+ .progress-bar {
263
+ background-color: var(--app-primary);
264
+ }
265
+
233
266
  .ce-block__content [data-placeholder]:empty::before,
234
267
  .ce-block__content [data-placeholder][data-empty="true"]::before {
235
268
  color: var(--app-primary) !important;
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #59c2ff;
3
- --app-primary-soft: #1f2430;
3
+ --app-primary-soft: #0f232e;
4
4
  --app-primary-dark: #39bae6;
5
5
 
6
6
  --app-secondary: #5c6773;
7
- --app-secondary-soft: #1f2430;
7
+ --app-secondary-soft: #262d35;
8
8
  --app-secondary-dark: #4d5562;
9
9
 
10
10
  --app-accent: #ff8f40;
11
- --app-accent-soft: #1f2430;
11
+ --app-accent-soft: #3d2414;
12
12
  --app-accent-dark: #ff7733;
13
13
 
14
14
  --app-success: #95e6cb;
15
- --app-success-soft: #1f2430;
15
+ --app-success-soft: #1a2e2a;
16
16
  --app-success-dark: #7fd4b4;
17
17
 
18
18
  --app-warning: #ffb454;
19
- --app-warning-soft: #1f2430;
19
+ --app-warning-soft: #3d2f14;
20
20
  --app-warning-dark: #ffa940;
21
21
 
22
22
  --app-danger: #f07178;
23
- --app-danger-soft: #1f2430;
23
+ --app-danger-soft: #3d2426;
24
24
  --app-danger-dark: #ed5a61;
25
25
 
26
26
  --app-layer-one: #0d1017;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #1f2430;
60
60
  --app-table-row-hover-color: #272d38;
61
61
 
62
- --bs-border-color: #272d38;
62
+ --bs-border-color: #3e4b59;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(39, 45, 56, 0.175);
69
+ --app-border-translucent-light: rgba(62, 75, 89, 0.3);
70
70
  --app-focus-ring-primary: rgba(89, 194, 255, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #cba6f7;
3
- --app-primary-soft: #313244;
3
+ --app-primary-soft: #262034;
4
4
  --app-primary-dark: #a385d8;
5
5
 
6
6
  --app-secondary: #a6adc8;
7
- --app-secondary-soft: #313244;
7
+ --app-secondary-soft: #3a3d4f;
8
8
  --app-secondary-dark: #7f849c;
9
9
 
10
10
  --app-accent: #f38ba8;
11
- --app-accent-soft: #313244;
11
+ --app-accent-soft: #2f2026;
12
12
  --app-accent-dark: #e06b75;
13
13
 
14
14
  --app-success: #a6e3a1;
15
- --app-success-soft: #313244;
15
+ --app-success-soft: #222e23;
16
16
  --app-success-dark: #81c784;
17
17
 
18
18
  --app-warning: #f9e2af;
19
- --app-warning-soft: #313244;
19
+ --app-warning-soft: #3d3826;
20
20
  --app-warning-dark: #f4d47c;
21
21
 
22
22
  --app-danger: #f38ba8;
23
- --app-danger-soft: #313244;
23
+ --app-danger-soft: #2f2026;
24
24
  --app-danger-dark: #e06b75;
25
25
 
26
26
  --app-layer-one: #181825;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #313244;
60
60
  --app-table-row-hover-color: #45475a;
61
61
 
62
- --bs-border-color: #45475a;
62
+ --bs-border-color: #585b70;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(69, 71, 90, 0.175);
69
+ --app-border-translucent-light: rgba(88, 91, 112, 0.3);
70
70
  --app-focus-ring-primary: rgba(203, 166, 247, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #0097c9;
3
- --app-primary-soft: #1a2a2f;
3
+ --app-primary-soft: #0a252f;
4
4
  --app-primary-dark: #00b8e6;
5
5
 
6
6
  --app-secondary: #797c7d;
7
- --app-secondary-soft: #232526;
7
+ --app-secondary-soft: #2a2c2d;
8
8
  --app-secondary-dark: #949799;
9
9
 
10
10
  --app-accent: #0097c9;
11
- --app-accent-soft: #1a2a2f;
11
+ --app-accent-soft: #0a252f;
12
12
  --app-accent-dark: #00b8e6;
13
13
 
14
14
  --app-success: #10b981;
15
- --app-success-soft: #1a2e23;
15
+ --app-success-soft: #0a2e20;
16
16
  --app-success-dark: #34d399;
17
17
 
18
18
  --app-warning: #f59e0b;
19
- --app-warning-soft: #2d251a;
19
+ --app-warning-soft: #3d2d14;
20
20
  --app-warning-dark: #fbbf24;
21
21
 
22
22
  --app-danger: #ef4444;
23
- --app-danger-soft: #2d1a1a;
23
+ --app-danger-soft: #3d1a1a;
24
24
  --app-danger-dark: #f87171;
25
25
 
26
26
  --app-layer-one: #181818;
@@ -61,11 +61,11 @@
61
61
 
62
62
  --bs-border-color: #3a3d3e;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(58, 61, 62, 0.175);
69
+ --app-border-translucent-light: rgba(58, 61, 62, 0.3);
70
70
  --app-focus-ring-primary: rgba(0, 151, 201, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #bd93f9;
3
- --app-primary-soft: #44475a;
3
+ --app-primary-soft: #2a1f35;
4
4
  --app-primary-dark: #9580d4;
5
5
 
6
6
  --app-secondary: #6272a4;
7
- --app-secondary-soft: #44475a;
7
+ --app-secondary-soft: #323547;
8
8
  --app-secondary-dark: #4b5b8c;
9
9
 
10
10
  --app-accent: #ff79c6;
11
- --app-accent-soft: #44475a;
11
+ --app-accent-soft: #3d1f2f;
12
12
  --app-accent-dark: #e056a2;
13
13
 
14
14
  --app-success: #50fa7b;
15
- --app-success-soft: #44475a;
15
+ --app-success-soft: #1a2e21;
16
16
  --app-success-dark: #3dcc58;
17
17
 
18
18
  --app-warning: #f1fa8c;
19
- --app-warning-soft: #44475a;
19
+ --app-warning-soft: #3d3d23;
20
20
  --app-warning-dark: #e6f06f;
21
21
 
22
22
  --app-danger: #ff5555;
23
- --app-danger-soft: #44475a;
23
+ --app-danger-soft: #3d1f1f;
24
24
  --app-danger-dark: #e63946;
25
25
 
26
26
  --app-layer-one: #282a36;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #44475a;
60
60
  --app-table-row-hover-color: #6272a4;
61
61
 
62
- --bs-border-color: #6272a4;
62
+ --bs-border-color: #7882b4;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(98, 114, 164, 0.175);
69
+ --app-border-translucent-light: rgba(120, 130, 180, 0.3);
70
70
  --app-focus-ring-primary: rgba(189, 147, 249, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #fabd2f;
3
- --app-primary-soft: #3c3836;
3
+ --app-primary-soft: #312a1a;
4
4
  --app-primary-dark: #d79921;
5
5
 
6
6
  --app-secondary: #a89984;
7
- --app-secondary-soft: #3c3836;
7
+ --app-secondary-soft: #423d38;
8
8
  --app-secondary-dark: #928374;
9
9
 
10
10
  --app-accent: #fe8019;
11
- --app-accent-soft: #3c3836;
11
+ --app-accent-soft: #3d2410;
12
12
  --app-accent-dark: #d65d0e;
13
13
 
14
14
  --app-success: #b8bb26;
15
- --app-success-soft: #3c3836;
15
+ --app-success-soft: #2a2e1a;
16
16
  --app-success-dark: #98971a;
17
17
 
18
18
  --app-warning: #fabd2f;
19
- --app-warning-soft: #3c3836;
19
+ --app-warning-soft: #312a1a;
20
20
  --app-warning-dark: #d79921;
21
21
 
22
22
  --app-danger: #fb4934;
23
- --app-danger-soft: #3c3836;
23
+ --app-danger-soft: #3d1a17;
24
24
  --app-danger-dark: #cc241d;
25
25
 
26
26
  --app-layer-one: #282828;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #3c3836;
60
60
  --app-table-row-hover-color: #504945;
61
61
 
62
- --bs-border-color: #504945;
62
+ --bs-border-color: #665c54;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(80, 73, 69, 0.175);
69
+ --app-border-translucent-light: rgba(102, 92, 84, 0.3);
70
70
  --app-focus-ring-primary: rgba(250, 189, 47, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #90caf9;
3
- --app-primary-soft: #1e1e1e;
3
+ --app-primary-soft: #1a2630;
4
4
  --app-primary-dark: #64b5f6;
5
5
 
6
6
  --app-secondary: #b0bec5;
7
- --app-secondary-soft: #1e1e1e;
7
+ --app-secondary-soft: #2a2f33;
8
8
  --app-secondary-dark: #90a4ae;
9
9
 
10
10
  --app-accent: #ff8a65;
11
- --app-accent-soft: #1e1e1e;
11
+ --app-accent-soft: #3d2419;
12
12
  --app-accent-dark: #ff7043;
13
13
 
14
14
  --app-success: #a5d6a7;
15
- --app-success-soft: #1e1e1e;
15
+ --app-success-soft: #1a2e1f;
16
16
  --app-success-dark: #81c784;
17
17
 
18
18
  --app-warning: #ffcc02;
19
- --app-warning-soft: #1e1e1e;
19
+ --app-warning-soft: #3d3300;
20
20
  --app-warning-dark: #ffb300;
21
21
 
22
22
  --app-danger: #ef5350;
23
- --app-danger-soft: #1e1e1e;
23
+ --app-danger-soft: #3d1a1a;
24
24
  --app-danger-dark: #e53935;
25
25
 
26
26
  --app-layer-one: #121212;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #1e1e1e;
60
60
  --app-table-row-hover-color: #2d2d2d;
61
61
 
62
- --bs-border-color: #2d2d2d;
62
+ --bs-border-color: #404040;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(45, 45, 45, 0.175);
69
+ --app-border-translucent-light: rgba(64, 64, 64, 0.3);
70
70
  --app-focus-ring-primary: rgba(144, 202, 249, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #81a1c1;
3
- --app-primary-soft: #3b4252;
3
+ --app-primary-soft: #1f3140;
4
4
  --app-primary-dark: #5e81ac;
5
5
 
6
6
  --app-secondary: #d8dee9;
7
- --app-secondary-soft: #3b4252;
7
+ --app-secondary-soft: #424952;
8
8
  --app-secondary-dark: #e5e9f0;
9
9
 
10
10
  --app-accent: #bf616a;
11
- --app-accent-soft: #3b4252;
11
+ --app-accent-soft: #3d2a2d;
12
12
  --app-accent-dark: #a54e56;
13
13
 
14
14
  --app-success: #a3be8c;
15
- --app-success-soft: #3b4252;
15
+ --app-success-soft: #232e24;
16
16
  --app-success-dark: #8fa876;
17
17
 
18
18
  --app-warning: #ebcb8b;
19
- --app-warning-soft: #3b4252;
19
+ --app-warning-soft: #3d3527;
20
20
  --app-warning-dark: #d4b066;
21
21
 
22
22
  --app-danger: #bf616a;
23
- --app-danger-soft: #3b4252;
23
+ --app-danger-soft: #3d2a2d;
24
24
  --app-danger-dark: #a54e56;
25
25
 
26
26
  --app-layer-one: #2e3440;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #3b4252;
60
60
  --app-table-row-hover-color: #434c5e;
61
61
 
62
- --bs-border-color: #434c5e;
62
+ --bs-border-color: #4c566a;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(67, 76, 94, 0.175);
69
+ --app-border-translucent-light: rgba(76, 86, 106, 0.3);
70
70
  --app-focus-ring-primary: rgba(129, 161, 193, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #6699cc;
3
- --app-primary-soft: #343d46;
3
+ --app-primary-soft: #1a262f;
4
4
  --app-primary-dark: #4f8cc9;
5
5
 
6
6
  --app-secondary: #65737e;
7
- --app-secondary-soft: #343d46;
7
+ --app-secondary-soft: #2d3640;
8
8
  --app-secondary-dark: #556873;
9
9
 
10
10
  --app-accent: #f99157;
11
- --app-accent-soft: #343d46;
11
+ --app-accent-soft: #3d2515;
12
12
  --app-accent-dark: #ec7940;
13
13
 
14
14
  --app-success: #99c794;
15
- --app-success-soft: #343d46;
15
+ --app-success-soft: #202e24;
16
16
  --app-success-dark: #7cb668;
17
17
 
18
18
  --app-warning: #fac863;
19
- --app-warning-soft: #343d46;
19
+ --app-warning-soft: #3d3319;
20
20
  --app-warning-dark: #f5b942;
21
21
 
22
22
  --app-danger: #ec5f67;
23
- --app-danger-soft: #343d46;
23
+ --app-danger-soft: #3d1f22;
24
24
  --app-danger-dark: #e74c3c;
25
25
 
26
26
  --app-layer-one: #1b2b34;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #343d46;
60
60
  --app-table-row-hover-color: #4f5b66;
61
61
 
62
- --bs-border-color: #4f5b66;
62
+ --bs-border-color: #65737e;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(79, 91, 102, 0.175);
69
+ --app-border-translucent-light: rgba(101, 115, 126, 0.3);
70
70
  --app-focus-ring-primary: rgba(102, 153, 204, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #61afef;
3
- --app-primary-soft: #2c313c;
3
+ --app-primary-soft: #1c2531;
4
4
  --app-primary-dark: #4aa5f0;
5
5
 
6
6
  --app-secondary: #828997;
7
- --app-secondary-soft: #2c313c;
7
+ --app-secondary-soft: #2a2d33;
8
8
  --app-secondary-dark: #6b7280;
9
9
 
10
10
  --app-accent: #e06c75;
11
- --app-accent-soft: #2c313c;
11
+ --app-accent-soft: #2f2024;
12
12
  --app-accent-dark: #be5046;
13
13
 
14
14
  --app-success: #98c379;
15
- --app-success-soft: #2c313c;
15
+ --app-success-soft: #232e20;
16
16
  --app-success-dark: #7cb668;
17
17
 
18
18
  --app-warning: #e5c07b;
19
- --app-warning-soft: #2c313c;
19
+ --app-warning-soft: #342f20;
20
20
  --app-warning-dark: #d19a66;
21
21
 
22
22
  --app-danger: #e06c75;
23
- --app-danger-soft: #2c313c;
23
+ --app-danger-soft: #2f2024;
24
24
  --app-danger-dark: #be5046;
25
25
 
26
26
  --app-layer-one: #1e2227;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #2c313c;
60
60
  --app-table-row-hover-color: #3b4048;
61
61
 
62
- --bs-border-color: #3b4048;
62
+ --bs-border-color: #4b5263;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(59, 64, 72, 0.175);
69
+ --app-border-translucent-light: rgba(75, 82, 99, 0.3);
70
70
  --app-focus-ring-primary: rgba(97, 175, 239, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #82aaff;
3
- --app-primary-soft: #444267;
3
+ --app-primary-soft: #1a2535;
4
4
  --app-primary-dark: #5c7cfa;
5
5
 
6
6
  --app-secondary: #676e95;
7
- --app-secondary-soft: #444267;
7
+ --app-secondary-soft: #323647;
8
8
  --app-secondary-dark: #5a6394;
9
9
 
10
10
  --app-accent: #f78c6c;
11
- --app-accent-soft: #444267;
11
+ --app-accent-soft: #3d2419;
12
12
  --app-accent-dark: #ff8a65;
13
13
 
14
14
  --app-success: #c3e88d;
15
- --app-success-soft: #444267;
15
+ --app-success-soft: #272e1f;
16
16
  --app-success-dark: #a5e075;
17
17
 
18
18
  --app-warning: #ffcb6b;
19
- --app-warning-soft: #444267;
19
+ --app-warning-soft: #3d3319;
20
20
  --app-warning-dark: #ffc947;
21
21
 
22
22
  --app-danger: #f07178;
23
- --app-danger-soft: #444267;
23
+ --app-danger-soft: #3d2426;
24
24
  --app-danger-dark: #ff5370;
25
25
 
26
26
  --app-layer-one: #1e1e2e;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #444267;
60
60
  --app-table-row-hover-color: #4e5579;
61
61
 
62
- --bs-border-color: #4e5579;
62
+ --bs-border-color: #676e95;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(78, 85, 121, 0.175);
69
+ --app-border-translucent-light: rgba(103, 110, 149, 0.3);
70
70
  --app-focus-ring-primary: rgba(130, 170, 255, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #c4a7e7;
3
- --app-primary-soft: #26233a;
3
+ --app-primary-soft: #26202f;
4
4
  --app-primary-dark: #907aa9;
5
5
 
6
6
  --app-secondary: #908caa;
7
- --app-secondary-soft: #26233a;
7
+ --app-secondary-soft: #3a3649;
8
8
  --app-secondary-dark: #6e6a86;
9
9
 
10
10
  --app-accent: #eb6f92;
11
- --app-accent-soft: #26233a;
11
+ --app-accent-soft: #2f2026;
12
12
  --app-accent-dark: #b4637a;
13
13
 
14
14
  --app-success: #31748f;
15
- --app-success-soft: #26233a;
15
+ --app-success-soft: #1a2c35;
16
16
  --app-success-dark: #286983;
17
17
 
18
18
  --app-warning: #f6c177;
19
- --app-warning-soft: #26233a;
19
+ --app-warning-soft: #3d3319;
20
20
  --app-warning-dark: #ea9d34;
21
21
 
22
22
  --app-danger: #eb6f92;
23
- --app-danger-soft: #26233a;
23
+ --app-danger-soft: #2f2026;
24
24
  --app-danger-dark: #b4637a;
25
25
 
26
26
  --app-layer-one: #1f1d2e;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #26233a;
60
60
  --app-table-row-hover-color: #403d52;
61
61
 
62
- --bs-border-color: #403d52;
62
+ --bs-border-color: #6e6a86;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(64, 61, 82, 0.175);
69
+ --app-border-translucent-light: rgba(110, 106, 134, 0.3);
70
70
  --app-focus-ring-primary: rgba(196, 167, 231, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #ff7edb;
3
- --app-primary-soft: #34294f;
3
+ --app-primary-soft: #301a2e;
4
4
  --app-primary-dark: #e967c8;
5
5
 
6
6
  --app-secondary: #848bbd;
7
- --app-secondary-soft: #34294f;
7
+ --app-secondary-soft: #3a3649;
8
8
  --app-secondary-dark: #6b7394;
9
9
 
10
10
  --app-accent: #f97e72;
11
- --app-accent-soft: #34294f;
11
+ --app-accent-soft: #3d1f1f;
12
12
  --app-accent-dark: #f36c60;
13
13
 
14
14
  --app-success: #72f1b8;
15
- --app-success-soft: #34294f;
15
+ --app-success-soft: #1a2e28;
16
16
  --app-success-dark: #36f9aa;
17
17
 
18
18
  --app-warning: #fede5d;
19
- --app-warning-soft: #34294f;
19
+ --app-warning-soft: #3d3d1a;
20
20
  --app-warning-dark: #fed83d;
21
21
 
22
22
  --app-danger: #ff8a80;
23
- --app-danger-soft: #34294f;
23
+ --app-danger-soft: #3d2626;
24
24
  --app-danger-dark: #ff7a6b;
25
25
 
26
26
  --app-layer-one: #241b2f;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #34294f;
60
60
  --app-table-row-hover-color: #495361;
61
61
 
62
- --bs-border-color: #495361;
62
+ --bs-border-color: #6b7394;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(73, 83, 97, 0.175);
69
+ --app-border-translucent-light: rgba(107, 115, 148, 0.3);
70
70
  --app-focus-ring-primary: rgba(255, 126, 219, 0.25);
71
71
  }
@@ -1,26 +1,26 @@
1
1
  [data-theme="dark"] {
2
2
  --app-primary: #7aa2f7;
3
- --app-primary-soft: #24283b;
3
+ --app-primary-soft: #1a2433;
4
4
  --app-primary-dark: #5a80d4;
5
5
 
6
6
  --app-secondary: #9aa5ce;
7
- --app-secondary-soft: #24283b;
7
+ --app-secondary-soft: #272d3e;
8
8
  --app-secondary-dark: #7c88b5;
9
9
 
10
10
  --app-accent: #f7768e;
11
- --app-accent-soft: #24283b;
11
+ --app-accent-soft: #2f2026;
12
12
  --app-accent-dark: #e85d75;
13
13
 
14
14
  --app-success: #9ece6a;
15
- --app-success-soft: #24283b;
15
+ --app-success-soft: #1f2e20;
16
16
  --app-success-dark: #7fb347;
17
17
 
18
18
  --app-warning: #e0af68;
19
- --app-warning-soft: #24283b;
19
+ --app-warning-soft: #342f20;
20
20
  --app-warning-dark: #d49c3d;
21
21
 
22
22
  --app-danger: #f7768e;
23
- --app-danger-soft: #24283b;
23
+ --app-danger-soft: #2f2026;
24
24
  --app-danger-dark: #e85d75;
25
25
 
26
26
  --app-layer-one: #16161e;
@@ -59,13 +59,13 @@
59
59
  --app-table-row-alt-color: #24283b;
60
60
  --app-table-row-hover-color: #2f3349;
61
61
 
62
- --bs-border-color: #2f3349;
62
+ --bs-border-color: #3b4261;
63
63
 
64
- --app-shadow-light: rgba(0, 0, 0, 0.2);
65
- --app-shadow-medium: rgba(0, 0, 0, 0.4);
66
- --app-shadow-heavy: rgba(0, 0, 0, 0.6);
67
- --app-shadow-navigation: rgba(0, 0, 0, 0.8);
64
+ --app-shadow-light: rgba(0, 0, 0, 0.3);
65
+ --app-shadow-medium: rgba(0, 0, 0, 0.5);
66
+ --app-shadow-heavy: rgba(0, 0, 0, 0.7);
67
+ --app-shadow-navigation: rgba(0, 0, 0, 0.9);
68
68
 
69
- --app-border-translucent-light: rgba(47, 51, 73, 0.175);
69
+ --app-border-translucent-light: rgba(59, 66, 97, 0.3);
70
70
  --app-focus-ring-primary: rgba(122, 162, 247, 0.25);
71
71
  }
@@ -1,4 +1,4 @@
1
- {% extends 'core/card/title_card.html' %}
1
+ {% extends 'django_spire/card/title_card.html' %}
2
2
 
3
3
  {% block card_content %}
4
4
  <div
@@ -79,6 +79,17 @@ def index(indexable: Sequence[U], index_value: int) -> U | Sequence[U]:
79
79
  return indexable
80
80
 
81
81
 
82
+ @register.filter(name='is_path')
83
+ def is_path(current: str, url: str) -> bool:
84
+ if not current or not url:
85
+ return False
86
+
87
+ if current == url:
88
+ return True
89
+
90
+ return url != '/' and current.startswith(url)
91
+
92
+
82
93
  @register.simple_tag()
83
94
  def generate_id() -> str:
84
95
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-spire
3
- Version: 0.19.2
3
+ Version: 0.19.4
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=c5Hs-7lk9T15254tOasiQ2ZTFLQIVJof9_QJDfm1PAI,933
3
- django_spire/consts.py,sha256=td9WULXrXlsZZ25GH8r89OgmOqcJengOtiy2pDusQa0,171
3
+ django_spire/consts.py,sha256=MtDZv4mhMaz4wgBAinDZk6VFo5x5VSTHfVNEwz0GQDE,171
4
4
  django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
5
5
  django_spire/settings.py,sha256=_bM5uUqJXq3sW-NZBNAzt4egZwmvLq_jA8DaQGHqVoE,661
6
6
  django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
@@ -434,13 +434,13 @@ django_spire/core/management/commands/spire_startapp_pkg/builder.py,sha256=gb401
434
434
  django_spire/core/management/commands/spire_startapp_pkg/config.py,sha256=yBtlIcyoK0MFpgP8izB6yzX9jWQIenQ_5D62kYM2D3o,3372
435
435
  django_spire/core/management/commands/spire_startapp_pkg/filesystem.py,sha256=TjZZGKqVGrTRr37rWxc0vCcUsviV28DcNCZ2Fo5yz80,3020
436
436
  django_spire/core/management/commands/spire_startapp_pkg/generator.py,sha256=JEU8-TstU2hiS_zBegWGFuCZ_lyf7P4iedx3hcX2BLA,5915
437
- django_spire/core/management/commands/spire_startapp_pkg/maps.py,sha256=m0SKcy_TZ4O-mjI74qkxyhVjoDN4QvMmQxgvbbn6mAE,22977
437
+ django_spire/core/management/commands/spire_startapp_pkg/maps.py,sha256=ekgvis2eAhYVQp19F5vM3IS0r0kbts4aPHbJs14c0wE,23228
438
438
  django_spire/core/management/commands/spire_startapp_pkg/permissions.py,sha256=czSE-ZNBw-3LsGrtkaD7CBFnitYX18KQjgJ_jjbap7k,5260
439
439
  django_spire/core/management/commands/spire_startapp_pkg/processor.py,sha256=zQhuIn2EPU6h-75DrVX8mZOZIBzc5F8GKds8m83QGiA,5900
440
440
  django_spire/core/management/commands/spire_startapp_pkg/registry.py,sha256=olBBFvDir6-zOoltQRIzHNIWkRG6CnA1FcP80tU7S3s,2185
441
441
  django_spire/core/management/commands/spire_startapp_pkg/reporter.py,sha256=CS8cufg6kQq48A5fO4qIdUNDZWsCriHaW_wqQhzlqUc,10062
442
442
  django_spire/core/management/commands/spire_startapp_pkg/resolver.py,sha256=loVIG8zCN_Bo6vjBV2UsUF930Rc5SG5P2klJl3qp0pc,2331
443
- django_spire/core/management/commands/spire_startapp_pkg/user_input.py,sha256=VUyY9PrqM07vRvgbVJhkC4lgNolnBik3K8S_8U9s_zM,9518
443
+ django_spire/core/management/commands/spire_startapp_pkg/user_input.py,sha256=sj8o-BZw1GMFGRHE91SIG4dODVlJp2_uMXweWcHJb1M,9827
444
444
  django_spire/core/management/commands/spire_startapp_pkg/validator.py,sha256=q6fsyRmR1kcN2eAFu-5pDaadJ05FDog7N23eR215Yx0,3322
445
445
  django_spire/core/management/commands/spire_startapp_pkg/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
446
446
  django_spire/core/management/commands/spire_startapp_pkg/template/app/__init__.py.template,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -503,7 +503,7 @@ django_spire/core/static/django_spire/css/app-button.css,sha256=iUPOFgXp2v_gsNBe
503
503
  django_spire/core/static/django_spire/css/app-default.css,sha256=RLVP_vLlkNx_UpNmMmgO73R3UUB_h3sVHt8I2z_iPVk,315
504
504
  django_spire/core/static/django_spire/css/app-import.css,sha256=5jCOcsnTYJsz_pcopA9ssl4nTsBvysjNIH6RVdz1qhU,385
505
505
  django_spire/core/static/django_spire/css/app-layout.css,sha256=Wwnbf3tJ3khvTAC2DgzXPtgfR3rWyfMzQ1wljCNsOLo,458
506
- django_spire/core/static/django_spire/css/app-navigation.css,sha256=2204z23FonCbwNwzk9zc9t9N8fH5rR-H9dPxzU6N7mM,2495
506
+ django_spire/core/static/django_spire/css/app-navigation.css,sha256=_yQ7JCIOoHyOhfpTkj8Q07ma0dFvOMHXTHetnT8-27I,2587
507
507
  django_spire/core/static/django_spire/css/app-offcanvas.css,sha256=SxDsONE1eqERJ1gDAP8chjoJ0aD0Q1VHBPqRWJi8-Mw,178
508
508
  django_spire/core/static/django_spire/css/app-page.css,sha256=pB-sSZc9NEUkkMcCfzzrCfeiggGmhONn8Eid5HLs8c0,363
509
509
  django_spire/core/static/django_spire/css/app-side-panel.css,sha256=ltggQkEc9tswJ9g2M0qzmWprdzycvizrS0YgY2We2U0,1954
@@ -511,35 +511,35 @@ django_spire/core/static/django_spire/css/app-template.css,sha256=D5ORspwfokNqRW
511
511
  django_spire/core/static/django_spire/css/app-text.css,sha256=Zw2ORIz8LNNUdXd3A-kn5GuofDaf6ccAGyLwK3wODyM,6257
512
512
  django_spire/core/static/django_spire/css/app-theme.css,sha256=6vxu-tNDS4i1wWwLxdkCuiucN_ZKzGqwZmqZ8Vcwzk0,421
513
513
  django_spire/core/static/django_spire/css/bootstrap-extension.css,sha256=yvfy6YYKOmdzfnJhaFonUQkSbwS0YhRdeTHlEGKSXX4,12894
514
- django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=G7D094GQAxhQ6hfOKh5wPJwi6XYwVfWedOFmCA1IFxI,9067
514
+ django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=3hOf1TwwWEsFIR8JQ9TXnI7M5U3dRHLL8F1maqVTNt4,9620
515
515
  django_spire/core/static/django_spire/css/bootstrap.css,sha256=GEgESnyGv91X48AEz35ovTv1fF8JPaB_VZB-JXJjdb0,155840
516
516
  django_spire/core/static/django_spire/css/flatpickr.min.css,sha256=RXPAyxHVyMLxb0TYCM2OW5R4GWkcDe02jdYgyZp41OU,16081
517
517
  django_spire/core/static/django_spire/css/themes/input.css,sha256=dHY08qEODw-L1xbelx2q-5zu7g9hznVw3Ii3INKlQKU,738
518
- django_spire/core/static/django_spire/css/themes/ayu/app-dark.css,sha256=9p5y9HqEc8S8LC_FXu7hyDfbcw2eo6N7XSEsHNPjFNo,2112
518
+ django_spire/core/static/django_spire/css/themes/ayu/app-dark.css,sha256=qJhCfNrtbUGmCOCeGWSaokhOxI8bS04W7q1AUBx9tP8,2110
519
519
  django_spire/core/static/django_spire/css/themes/ayu/app-light.css,sha256=wPjL41knsu9rE8yI7ihUgCad_jkieT0r_H7NW0rmvs0,1917
520
- django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css,sha256=MSztY-35zoTMdffdbx-hDECCML64zoPQW_TwhatGHe8,2113
520
+ django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css,sha256=IOVvlmGZfigehehfBVkggUV7BSOh-NMS1YWyjt138II,2112
521
521
  django_spire/core/static/django_spire/css/themes/catppuccin/app-light.css,sha256=DmJbiMHdPIYZv-PJOw0_55V3BQXoTjWKFuw8szXfkrU,1918
522
- django_spire/core/static/django_spire/css/themes/default/app-dark.css,sha256=lNYTZjhttdAhvcQcJKtv_mEs7juJOJAk6BwRNep_PZs,2111
522
+ django_spire/core/static/django_spire/css/themes/default/app-dark.css,sha256=rg51-iDlle0UJTO_-9iODAKpqe1Yp7i1Tc-8pgFkF2k,2109
523
523
  django_spire/core/static/django_spire/css/themes/default/app-light.css,sha256=Wtr7SVyxMs7hHsn3VvVy0Pz2h9L6TO21xewpf67Y8wI,2114
524
- django_spire/core/static/django_spire/css/themes/dracula/app-dark.css,sha256=59MOrgxjx4E8uNB3dMS4xOAh66qVwslrxQlOBrxByl4,2115
524
+ django_spire/core/static/django_spire/css/themes/dracula/app-dark.css,sha256=U5eR3CRtzgsPvnMM-1IG578h_Sign3vfmkmRoJ54GN0,2114
525
525
  django_spire/core/static/django_spire/css/themes/dracula/app-light.css,sha256=M5SWV3nEpaOxA3jx-n7KJ6oWjltYXgHqomzH8opDx3Y,1919
526
- django_spire/core/static/django_spire/css/themes/gruvbox/app-dark.css,sha256=0YtNSC1yh8MpFE4N1x8m2gJEFJGi-P-wYCx-hNys-ms,2112
526
+ django_spire/core/static/django_spire/css/themes/gruvbox/app-dark.css,sha256=BuMgwNrHhljXJd54w0aD-7yJWrGONy7nxRRFbW3BClA,2111
527
527
  django_spire/core/static/django_spire/css/themes/gruvbox/app-light.css,sha256=AjEoA5MPl9WoIkovDaPwn2gKdKiP9BbkzngzU0y8wN4,1918
528
- django_spire/core/static/django_spire/css/themes/material/app-dark.css,sha256=eIDHzljpL5KIUUFrO3XoSd9sV3W6CDisYf2GBI-zo1s,2113
528
+ django_spire/core/static/django_spire/css/themes/material/app-dark.css,sha256=wmc5alidEjLakzJ0JkLG1dedkEI9csUqJKdTx048-aw,2111
529
529
  django_spire/core/static/django_spire/css/themes/material/app-light.css,sha256=AR7g-TUaV6Msgl6TEG4qtVYrREnxxPX-4t8pDeI8pAE,1918
530
- django_spire/core/static/django_spire/css/themes/nord/app-dark.css,sha256=xNqL8XHou_l4Q4p1XM84oEs5KGvAS4hTrBBW8xxorJY,2113
530
+ django_spire/core/static/django_spire/css/themes/nord/app-dark.css,sha256=Ksm-bjKr8hohZaBh1f2RTrn4t6XjbcAiiao4qVpUk6I,2112
531
531
  django_spire/core/static/django_spire/css/themes/nord/app-light.css,sha256=zK3hwUg6UKfHA1n7EW4Tr2NiR7nCFqXrNDkIxFdL-N0,1918
532
- django_spire/core/static/django_spire/css/themes/oceanic-next/app-dark.css,sha256=PfM0gA2a2OWrzmf-DHFEC60Y58YfTJC8JTGtEViyiQw,2114
532
+ django_spire/core/static/django_spire/css/themes/oceanic-next/app-dark.css,sha256=VsVZCzgDFlZKnRZm6ZpdLFODj0qZKgDiQC5H4jAqo0M,2114
533
533
  django_spire/core/static/django_spire/css/themes/oceanic-next/app-light.css,sha256=E08RGaExttL70qLjAU-zRYbFkI3WyBpNBBCFuDwd2sU,1917
534
- django_spire/core/static/django_spire/css/themes/one-dark/app-dark.css,sha256=VOkL6nPBX9yBsUB4bry4UKcIdZ4U_P9oSehgz-0G8S0,2112
534
+ django_spire/core/static/django_spire/css/themes/one-dark/app-dark.css,sha256=rh30Hhs60zjkXnNbMkToUNfuRfq2cNn7HNPCgATaivY,2110
535
535
  django_spire/core/static/django_spire/css/themes/one-dark/app-light.css,sha256=_KW6K2cJJZmgkBztdiWKoZ0WqGpHJzjK11cvj6b-R5s,1918
536
- django_spire/core/static/django_spire/css/themes/palenight/app-dark.css,sha256=ob9Rbbdn9EtLg3lyvmxiIfCsEIJ72lfBJ_WTpffgflM,2114
536
+ django_spire/core/static/django_spire/css/themes/palenight/app-dark.css,sha256=0-Jn7VC4sk_0bVSbJNglSAuPB8kqs6gTB1aHT0olI8E,2114
537
537
  django_spire/core/static/django_spire/css/themes/palenight/app-light.css,sha256=llU06NyEh9PPBa4HpQpIWbBdSTtHs1qQLVuRqgTTc14,1918
538
- django_spire/core/static/django_spire/css/themes/rose-pine/app-dark.css,sha256=Tyr9L7fMVd6uS-HZ-b9f_RAy-8X4BOAPYATZmY5RamA,2113
538
+ django_spire/core/static/django_spire/css/themes/rose-pine/app-dark.css,sha256=aDkhNehNz6mhH26lNtIPHBpTrFMbuxfosMQFgit33Kc,2114
539
539
  django_spire/core/static/django_spire/css/themes/rose-pine/app-light.css,sha256=HcCEZ2LmVFUz2xIOUIvzow_1598RKtXCoF5LgviRqx8,1919
540
- django_spire/core/static/django_spire/css/themes/synthwave/app-dark.css,sha256=fEm9WwhuOLSE9egFyjtR_0PYoE7dmiTs2tV4Z7Swd1g,2113
540
+ django_spire/core/static/django_spire/css/themes/synthwave/app-dark.css,sha256=qSGLjjNqtMj7DVpxfE_-AHcIzgM0xVM_uu_CQ8WfIa0,2114
541
541
  django_spire/core/static/django_spire/css/themes/synthwave/app-light.css,sha256=2HIuWeKdR7UDttqitwAVq0r4GrShoxRX_LywUdZ8qXU,1918
542
- django_spire/core/static/django_spire/css/themes/tokyo-night/app-dark.css,sha256=MiuDgWrXxcbNjbJCCMOAmRc3vP8tRqMJtHaAPhnLjSY,2113
542
+ django_spire/core/static/django_spire/css/themes/tokyo-night/app-dark.css,sha256=8eLeCmioMxzMlIr3FGQIRXZWH4bdxxhYwJWVld92-K8,2111
543
543
  django_spire/core/static/django_spire/css/themes/tokyo-night/app-light.css,sha256=J5l4aNkG6IgvlB3BySygzT4vXpCGQZn8L-FNb6cvNrs,1917
544
544
  django_spire/core/static/django_spire/favicons/android-chrome-192x192.png,sha256=mxm1sntXHgMJsjErEIE9AK3um0vJCvSkkUAVk0WIyi8,33238
545
545
  django_spire/core/static/django_spire/favicons/android-chrome-256x256.png,sha256=cUUqhCaT_Di-oExGdS2ru_U-rKmJ-ab7lgUoZACz1Ng,47140
@@ -617,7 +617,7 @@ django_spire/core/templates/django_spire/card/card.html,sha256=nF4s17lygR6vpm2Ja
617
617
  django_spire/core/templates/django_spire/card/delete_confirmation_form_card.html,sha256=A-IrDQHKgQ1iveGJJ9EKsvs-TUW0eVY8uTcWM4dmQ_4,1097
618
618
  django_spire/core/templates/django_spire/card/delete_form_card.html,sha256=7nAZ0LuIq9l2BwNiBny_C__Q9EUXYQ_CM1aFXrafd6c,212
619
619
  django_spire/core/templates/django_spire/card/form_card.html,sha256=bctVy9CeHuf05xsuE-zEsQVOaq24Igjq6xTKgv2AO4Y,391
620
- django_spire/core/templates/django_spire/card/infinite_scroll_card.html,sha256=MpJ0R9qHwX0FX7GyT8KibWYYF0VLMMr2Ivi39-OnBOs,4713
620
+ django_spire/core/templates/django_spire/card/infinite_scroll_card.html,sha256=btCXvrfKaM0bfCR-5oj62rAfzIenoOnMH1-Op1W0OZU,4721
621
621
  django_spire/core/templates/django_spire/card/title_card.html,sha256=igzwDLWuotqggSBUinQam2eIN6gAk0p6S6BB6O-ij-M,1048
622
622
  django_spire/core/templates/django_spire/container/container.html,sha256=Dfr7K8xgEbg3CZYxMleLjjiQGyRS-GNJdPySA4OYY8U,867
623
623
  django_spire/core/templates/django_spire/container/form_container.html,sha256=FZwZs4gnIYkurV5u8v6fj2rbrm4WDX16jyUSTMniEtw,313
@@ -682,7 +682,7 @@ django_spire/core/templates/django_spire/wizard/wizard_page.html,sha256=emW5W2z_
682
682
  django_spire/core/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
683
683
  django_spire/core/templatetags/json.py,sha256=2XY8hQZrJOSmGMblL8bLRYD9hvUSQvhYaSJvwGaKzwU,280
684
684
  django_spire/core/templatetags/message.py,sha256=y70pMv1ddttJ41c11O1S7h7v8h_gTtJVdXe67J4Ld3g,491
685
- django_spire/core/templatetags/spire_core_tags.py,sha256=YLVqYEnvuJt93CpKoOO7uQ83zsnVnrfstcZthCNNGgA,4020
685
+ django_spire/core/templatetags/spire_core_tags.py,sha256=_IN6HWrscCKJ8LjDRe47y5g1kvBgDAQ7tNAuD5SiuEY,4247
686
686
  django_spire/core/templatetags/string_formating.py,sha256=pE5ID0-cvOKfmbAIixVXEW3LN8_XLEF_OlpztHkiILk,444
687
687
  django_spire/core/templatetags/variable_types.py,sha256=LFk9NO-LKBTBnXu04jLJ_miOKyuO-KAvqaBM8jwzg7s,686
688
688
  django_spire/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1132,8 +1132,8 @@ django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_
1132
1132
  django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1133
1133
  django_spire/theme/views/json_views.py,sha256=W1khC2K_EMbEzAFmMxC_P76_MFnkRH4-eVdodrRfAhw,1904
1134
1134
  django_spire/theme/views/page_views.py,sha256=pHr8iekjtR99xs7w1taj35HEo133Svq1dvDD0y0VL1c,3933
1135
- django_spire-0.19.2.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
1136
- django_spire-0.19.2.dist-info/METADATA,sha256=hMrAbPJ-W-CZD5ivMnoiohOfV8PgDl14OMVyjdJnqKI,4967
1137
- django_spire-0.19.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1138
- django_spire-0.19.2.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1139
- django_spire-0.19.2.dist-info/RECORD,,
1135
+ django_spire-0.19.4.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
1136
+ django_spire-0.19.4.dist-info/METADATA,sha256=1iX3c8liLNuaCp4euBri5oacEIyo1u4Jl44cn6aYh_E,4967
1137
+ django_spire-0.19.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1138
+ django_spire-0.19.4.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1139
+ django_spire-0.19.4.dist-info/RECORD,,