django-spire 0.19.4__py3-none-any.whl → 0.20.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.
Files changed (72) hide show
  1. django_spire/consts.py +1 -1
  2. django_spire/core/migrations/0001_initial.py +26 -0
  3. django_spire/core/migrations/__init__.py +0 -0
  4. django_spire/core/static/django_spire/css/app-background.css +6 -0
  5. django_spire/core/static/django_spire/css/app-import.css +1 -0
  6. django_spire/core/static/django_spire/css/app-override.css +0 -0
  7. django_spire/core/static/django_spire/css/themes/ayu/app-dark.css +2 -0
  8. django_spire/core/static/django_spire/css/themes/ayu/app-light.css +2 -0
  9. django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css +2 -0
  10. django_spire/core/static/django_spire/css/themes/catppuccin/app-light.css +2 -0
  11. django_spire/core/static/django_spire/css/themes/default/app-dark.css +2 -0
  12. django_spire/core/static/django_spire/css/themes/default/app-light.css +2 -0
  13. django_spire/core/static/django_spire/css/themes/gruvbox/app-dark.css +2 -0
  14. django_spire/core/static/django_spire/css/themes/gruvbox/app-light.css +2 -0
  15. django_spire/core/static/django_spire/css/themes/material/app-dark.css +2 -0
  16. django_spire/core/static/django_spire/css/themes/material/app-light.css +2 -0
  17. django_spire/core/static/django_spire/css/themes/nord/app-dark.css +2 -0
  18. django_spire/core/static/django_spire/css/themes/nord/app-light.css +2 -0
  19. django_spire/core/static/django_spire/css/themes/one-dark/app-dark.css +2 -0
  20. django_spire/core/static/django_spire/css/themes/one-dark/app-light.css +2 -0
  21. django_spire/core/static/django_spire/css/themes/palenight/app-dark.css +2 -0
  22. django_spire/core/static/django_spire/css/themes/palenight/app-light.css +2 -0
  23. django_spire/core/static/django_spire/css/themes/rose-pine/app-dark.css +2 -0
  24. django_spire/core/static/django_spire/css/themes/rose-pine/app-light.css +2 -0
  25. django_spire/core/static/django_spire/css/themes/tokyo-night/app-dark.css +2 -0
  26. django_spire/core/static/django_spire/css/themes/tokyo-night/app-light.css +2 -0
  27. django_spire/core/tags/__init__.py +0 -0
  28. django_spire/core/tags/intelligence/__init__.py +0 -0
  29. django_spire/core/tags/intelligence/tag_set_bot.py +41 -0
  30. django_spire/core/tags/mixins.py +61 -0
  31. django_spire/core/tags/models.py +38 -0
  32. django_spire/core/tags/querysets.py +9 -0
  33. django_spire/core/tags/tests/__init__.py +0 -0
  34. django_spire/core/tags/tests/test_intelligence.py +28 -0
  35. django_spire/core/tags/tests/test_tags.py +102 -0
  36. django_spire/core/tags/tools.py +20 -0
  37. django_spire/knowledge/collection/admin.py +20 -1
  38. django_spire/knowledge/collection/models.py +6 -1
  39. django_spire/knowledge/collection/services/service.py +2 -0
  40. django_spire/knowledge/collection/services/tag_service.py +52 -0
  41. django_spire/knowledge/collection/views/form_views.py +2 -0
  42. django_spire/knowledge/entry/admin.py +18 -2
  43. django_spire/knowledge/entry/models.py +6 -1
  44. django_spire/knowledge/entry/services/service.py +2 -0
  45. django_spire/knowledge/entry/services/tag_service.py +34 -0
  46. django_spire/knowledge/entry/version/urls/json_urls.py +5 -1
  47. django_spire/knowledge/entry/version/views/json_views.py +9 -0
  48. django_spire/knowledge/intelligence/decoders/collection_decoder.py +4 -4
  49. django_spire/knowledge/intelligence/decoders/entry_decoder.py +2 -2
  50. django_spire/knowledge/intelligence/workflows/knowledge_workflow.py +9 -3
  51. django_spire/knowledge/migrations/0008_collection_tags_entry_tags.py +24 -0
  52. django_spire/knowledge/templates/django_spire/knowledge/collection/page/display_page.html +16 -0
  53. django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/{detail_container.html → editor_container.html} +6 -0
  54. django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html +27 -10
  55. django_spire/theme/enums.py +0 -3
  56. django_spire/theme/models.py +0 -3
  57. django_spire/theme/tests/test_context_processor.py +6 -6
  58. django_spire/theme/tests/test_enums.py +0 -3
  59. django_spire/theme/tests/test_integration.py +2 -2
  60. django_spire/theme/tests/test_model.py +23 -24
  61. django_spire/theme/tests/test_views/test_json_views.py +4 -4
  62. {django_spire-0.19.4.dist-info → django_spire-0.20.0.dist-info}/METADATA +2 -2
  63. {django_spire-0.19.4.dist-info → django_spire-0.20.0.dist-info}/RECORD +66 -56
  64. django_spire/core/static/django_spire/css/themes/dracula/app-dark.css +0 -71
  65. django_spire/core/static/django_spire/css/themes/dracula/app-light.css +0 -66
  66. django_spire/core/static/django_spire/css/themes/oceanic-next/app-dark.css +0 -71
  67. django_spire/core/static/django_spire/css/themes/oceanic-next/app-light.css +0 -66
  68. django_spire/core/static/django_spire/css/themes/synthwave/app-dark.css +0 -71
  69. django_spire/core/static/django_spire/css/themes/synthwave/app-light.css +0 -66
  70. {django_spire-0.19.4.dist-info → django_spire-0.20.0.dist-info}/WHEEL +0 -0
  71. {django_spire-0.19.4.dist-info → django_spire-0.20.0.dist-info}/licenses/LICENSE.md +0 -0
  72. {django_spire-0.19.4.dist-info → django_spire-0.20.0.dist-info}/top_level.txt +0 -0
@@ -50,7 +50,7 @@ class ThemeViewTests(TestCase):
50
50
  def test_set_theme_success(self) -> None:
51
51
  request = self.factory.post(
52
52
  '/django_spire/theme/json/set_theme/',
53
- data=json.dumps({'theme': 'dracula-dark'}),
53
+ data=json.dumps({'theme': 'gruvbox-dark'}),
54
54
  content_type='application/json'
55
55
  )
56
56
  response = json_views.set_theme(request)
@@ -63,12 +63,12 @@ class ThemeViewTests(TestCase):
63
63
  self.assertIn('theme', data)
64
64
 
65
65
  data = data['theme']
66
- self.assertEqual(data['family'], 'dracula')
66
+ self.assertEqual(data['family'], 'gruvbox')
67
67
  self.assertEqual(data['mode'], 'dark')
68
68
 
69
69
  cookie_name = get_theme_cookie_name()
70
70
  self.assertIn(cookie_name, response.cookies)
71
- self.assertEqual(response.cookies[cookie_name].value, 'dracula-dark')
71
+ self.assertEqual(response.cookies[cookie_name].value, 'gruvbox-dark')
72
72
 
73
73
  def test_set_theme_missing_theme(self) -> None:
74
74
  request = self.factory.post(
@@ -103,7 +103,7 @@ class ThemeViewIntegrationTests(BaseTestCase):
103
103
  def test_set_theme_with_authenticated_client(self) -> None:
104
104
  response = self.client.post(
105
105
  '/django_spire/theme/json/set_theme/',
106
- data=json.dumps({'theme': 'dracula-dark'}),
106
+ data=json.dumps({'theme': 'gruvbox-dark'}),
107
107
  content_type='application/json'
108
108
  )
109
109
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-spire
3
- Version: 0.19.4
3
+ Version: 0.20.0
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.
@@ -49,7 +49,7 @@ Requires-Dist: beautifulsoup4>=4.14.2
49
49
  Requires-Dist: boto3>=1.34.0
50
50
  Requires-Dist: botocore>=1.34.0
51
51
  Requires-Dist: crispy-bootstrap5==2024.10
52
- Requires-Dist: dandy>=1.3.1
52
+ Requires-Dist: dandy>=1.3.2
53
53
  Requires-Dist: django>=5.1.8
54
54
  Requires-Dist: django-crispy-forms==2.3
55
55
  Requires-Dist: django-glue>=0.8.1
@@ -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=MtDZv4mhMaz4wgBAinDZk6VFo5x5VSTHfVNEwz0GQDE,171
3
+ django_spire/consts.py,sha256=jzZ3QZPmurM0sxnWsizcY-CSRDC5L-av-LHjFpgR_FA,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
@@ -494,17 +494,20 @@ django_spire/core/management/commands/spire_startapp_pkg/template/templates/page
494
494
  django_spire/core/management/commands/spire_startapp_pkg/template/templates/page/${list_page_template_name}.html.template,sha256=Ve0RVvWjMU6m33wXdDv10MkDoEFKWULuu-1_BK-O4aI,254
495
495
  django_spire/core/middleware/__init__.py,sha256=BvBwVHLVebknJkObtKk_s5OqaIJaAmnavTvnnv4TBO8,149
496
496
  django_spire/core/middleware/maintenance.py,sha256=jJtmz69UXJBBgPkq5SNspWuER1bGfAjSnsVipYS4TF0,921
497
+ django_spire/core/migrations/0001_initial.py,sha256=kbwHzfNnEf10O1rvqjXPhTyMT0ThZll_YtxHxDpq9GY,675
498
+ django_spire/core/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
497
499
  django_spire/core/redirect/__init__.py,sha256=ubAsz_h3ufwgNNkdtqiJQDgXc6DodE2LTUyBwi9dgkE,71
498
500
  django_spire/core/redirect/generic_redirect.py,sha256=bfpA2GSRbkf5Y_zqTiTGzakQauLumm3JbaYMzmsDhjA,1245
499
501
  django_spire/core/redirect/safe_redirect.py,sha256=deGLqiR1wWwqlJ8BYp76qDUDHnfRrxL-1Vns3nozSG0,2901
500
- django_spire/core/static/django_spire/css/app-background.css,sha256=xxy0pvHJrGqrBHu_ERg2wfEFOlnRm-IeCsGzxFXO354,5664
502
+ django_spire/core/static/django_spire/css/app-background.css,sha256=h0hnTe-hQCor-8K4i9EMdYpni2Y_Rs5eN897hqHDeJ8,5800
501
503
  django_spire/core/static/django_spire/css/app-border.css,sha256=z_DT3sB5tNQFu4Y7gSqYFn_bpOmEgEgJCrNmAnmSGDI,3439
502
504
  django_spire/core/static/django_spire/css/app-button.css,sha256=iUPOFgXp2v_gsNBeX8-CoDEWg_oIBAF1khNue2bdq40,8095
503
505
  django_spire/core/static/django_spire/css/app-default.css,sha256=RLVP_vLlkNx_UpNmMmgO73R3UUB_h3sVHt8I2z_iPVk,315
504
- django_spire/core/static/django_spire/css/app-import.css,sha256=5jCOcsnTYJsz_pcopA9ssl4nTsBvysjNIH6RVdz1qhU,385
506
+ django_spire/core/static/django_spire/css/app-import.css,sha256=HMoCBzxpPXvOqxj_BOo_yqtYvODFouRbKqs4Wgg_rOU,418
505
507
  django_spire/core/static/django_spire/css/app-layout.css,sha256=Wwnbf3tJ3khvTAC2DgzXPtgfR3rWyfMzQ1wljCNsOLo,458
506
508
  django_spire/core/static/django_spire/css/app-navigation.css,sha256=_yQ7JCIOoHyOhfpTkj8Q07ma0dFvOMHXTHetnT8-27I,2587
507
509
  django_spire/core/static/django_spire/css/app-offcanvas.css,sha256=SxDsONE1eqERJ1gDAP8chjoJ0aD0Q1VHBPqRWJi8-Mw,178
510
+ django_spire/core/static/django_spire/css/app-override.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
508
511
  django_spire/core/static/django_spire/css/app-page.css,sha256=pB-sSZc9NEUkkMcCfzzrCfeiggGmhONn8Eid5HLs8c0,363
509
512
  django_spire/core/static/django_spire/css/app-side-panel.css,sha256=ltggQkEc9tswJ9g2M0qzmWprdzycvizrS0YgY2We2U0,1954
510
513
  django_spire/core/static/django_spire/css/app-template.css,sha256=D5ORspwfokNqRW0HwyCbzjBp2Kf_2XtWKa6FSQuSXOg,485
@@ -515,32 +518,26 @@ django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=3hOf1Tww
515
518
  django_spire/core/static/django_spire/css/bootstrap.css,sha256=GEgESnyGv91X48AEz35ovTv1fF8JPaB_VZB-JXJjdb0,155840
516
519
  django_spire/core/static/django_spire/css/flatpickr.min.css,sha256=RXPAyxHVyMLxb0TYCM2OW5R4GWkcDe02jdYgyZp41OU,16081
517
520
  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=qJhCfNrtbUGmCOCeGWSaokhOxI8bS04W7q1AUBx9tP8,2110
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=IOVvlmGZfigehehfBVkggUV7BSOh-NMS1YWyjt138II,2112
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=rg51-iDlle0UJTO_-9iODAKpqe1Yp7i1Tc-8pgFkF2k,2109
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=U5eR3CRtzgsPvnMM-1IG578h_Sign3vfmkmRoJ54GN0,2114
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=BuMgwNrHhljXJd54w0aD-7yJWrGONy7nxRRFbW3BClA,2111
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=wmc5alidEjLakzJ0JkLG1dedkEI9csUqJKdTx048-aw,2111
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=Ksm-bjKr8hohZaBh1f2RTrn4t6XjbcAiiao4qVpUk6I,2112
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=VsVZCzgDFlZKnRZm6ZpdLFODj0qZKgDiQC5H4jAqo0M,2114
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=rh30Hhs60zjkXnNbMkToUNfuRfq2cNn7HNPCgATaivY,2110
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=0-Jn7VC4sk_0bVSbJNglSAuPB8kqs6gTB1aHT0olI8E,2114
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=aDkhNehNz6mhH26lNtIPHBpTrFMbuxfosMQFgit33Kc,2114
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=qSGLjjNqtMj7DVpxfE_-AHcIzgM0xVM_uu_CQ8WfIa0,2114
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=8eLeCmioMxzMlIr3FGQIRXZWH4bdxxhYwJWVld92-K8,2111
543
- django_spire/core/static/django_spire/css/themes/tokyo-night/app-light.css,sha256=J5l4aNkG6IgvlB3BySygzT4vXpCGQZn8L-FNb6cvNrs,1917
521
+ django_spire/core/static/django_spire/css/themes/ayu/app-dark.css,sha256=8DY444f-7AMuq7UANiJ4CMBCpQ-TmdUBPBFuFQ4pa5o,2143
522
+ django_spire/core/static/django_spire/css/themes/ayu/app-light.css,sha256=izJOXZcP4fwLEjcCzNQ3X2ikeIYyBcu1N5_7dGFPj-k,1950
523
+ django_spire/core/static/django_spire/css/themes/catppuccin/app-dark.css,sha256=RxU1OmFNzC9Jd60l7BxB0b7qIuqSzE-YJ6FFVE3oRvU,2145
524
+ django_spire/core/static/django_spire/css/themes/catppuccin/app-light.css,sha256=LR_OcKsQiuJ2qjVW_lV39Ij8ugqrzu-geyHMkOihohI,1951
525
+ django_spire/core/static/django_spire/css/themes/default/app-dark.css,sha256=m7mPujtS0FV2lQkfqoAFvsioYskAOgQf7jCIYI-Dqq4,2142
526
+ django_spire/core/static/django_spire/css/themes/default/app-light.css,sha256=xnhfywDu4hVscAczhZeqU5v-cmAmsCfTzUEx1_g2oLc,2147
527
+ django_spire/core/static/django_spire/css/themes/gruvbox/app-dark.css,sha256=smHykEiCMGNX-ZV-d7gAoMMuIUFT1S9_phRFjlLqEgg,2144
528
+ django_spire/core/static/django_spire/css/themes/gruvbox/app-light.css,sha256=qhSTvzWMiN01hq7B4pLlWy8wCz9HDO-ajTpkuFLDj0c,1951
529
+ django_spire/core/static/django_spire/css/themes/material/app-dark.css,sha256=CD4rx9a2n0LtqY82EO9ISkYH7R84UHszVlksdNCbY1k,2144
530
+ django_spire/core/static/django_spire/css/themes/material/app-light.css,sha256=BvsGJWnGSokBlQNSMYM9l2clLun7MyHIPc3Hh8JFmkE,1951
531
+ django_spire/core/static/django_spire/css/themes/nord/app-dark.css,sha256=28Pcz7R5J3uLRvlZR_4yt2RLo4UdAiRi6TumQh2WbTo,2145
532
+ django_spire/core/static/django_spire/css/themes/nord/app-light.css,sha256=LtX4ne1-EQqV1t5kf0H-nOYYaV7Yvfq0ljrovn9ndf4,1951
533
+ django_spire/core/static/django_spire/css/themes/one-dark/app-dark.css,sha256=kiAEwhttJHWrgerx30ibzqhJRu2wmAfLwzQabg1EfbU,2143
534
+ django_spire/core/static/django_spire/css/themes/one-dark/app-light.css,sha256=a0TDzX4uJays_pLMyPMPXDKqMSWVCp69S615ZG32PAc,1951
535
+ django_spire/core/static/django_spire/css/themes/palenight/app-dark.css,sha256=1aJ1f3Z-9zDS0VLiC0I2I9hKiQsKJjSBS0CeCgQvWzs,2147
536
+ django_spire/core/static/django_spire/css/themes/palenight/app-light.css,sha256=JQHcIZJhRis8m2MZV8LhdQtyR5UB3YjbZNeRck-Weko,1951
537
+ django_spire/core/static/django_spire/css/themes/rose-pine/app-dark.css,sha256=2eK4CBnuFICHpWRDfF3jclKv-tzseMXemGwhrZ2UV0o,2147
538
+ django_spire/core/static/django_spire/css/themes/rose-pine/app-light.css,sha256=fMq7AWYfPAsZ9p_YRXinqtZ5OKYtg4J9sqc-mZWCU0M,1952
539
+ django_spire/core/static/django_spire/css/themes/tokyo-night/app-dark.css,sha256=lAbcZObB7_fGhcYmVzhxjf3wz2bwD410MpvAnpZoOtU,2144
540
+ django_spire/core/static/django_spire/css/themes/tokyo-night/app-light.css,sha256=NFBfcs-bGUTKPT400JTAHzK5PGPLXVy8Ly1PYAhIPlQ,1950
544
541
  django_spire/core/static/django_spire/favicons/android-chrome-192x192.png,sha256=mxm1sntXHgMJsjErEIE9AK3um0vJCvSkkUAVk0WIyi8,33238
545
542
  django_spire/core/static/django_spire/favicons/android-chrome-256x256.png,sha256=cUUqhCaT_Di-oExGdS2ru_U-rKmJ-ab7lgUoZACz1Ng,47140
546
543
  django_spire/core/static/django_spire/favicons/apple-touch-icon.png,sha256=CrN3tdR4ZsKh1EY0p03-0y65UeNuRN2nWU60QEChSYo,19109
@@ -577,6 +574,16 @@ django_spire/core/static/django_spire/js/modal.js,sha256=ay0Sovi0HhedEz3dRhB_INh
577
574
  django_spire/core/static/django_spire/js/session_controller.js,sha256=aMom087y00MUhdxrZlrg89f88mBC7cWEhGWopeb5hlQ,232
578
575
  django_spire/core/static/django_spire/js/theme.js,sha256=APZnTjuhgXV7m1vVlmvNIMZACJ0gG8uGeiyWSmhZTmQ,8512
579
576
  django_spire/core/static/django_spire/js/ui.js,sha256=Xrnw6cMmddCiUKC7iAJn1U7lk3nMJYxFJJO-J5zCqSw,673
577
+ django_spire/core/tags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
578
+ django_spire/core/tags/mixins.py,sha256=ibnPcLmdB0js8ha4M93CqRv5kOQ7fijKBCLoxM9F7C0,1979
579
+ django_spire/core/tags/models.py,sha256=zKXITkpyYNe80-CmJh46qw0YqxbJM79ud2wpgznmZH4,819
580
+ django_spire/core/tags/querysets.py,sha256=vLdAV9KRTn-B9G9vhB4tQ3j-iNyz6OVZR5E9nVvAZY8,263
581
+ django_spire/core/tags/tools.py,sha256=CB8vOlFSmk8Q79x-5OGYXCGx-VteTgDAPUCVOYaTmhU,787
582
+ django_spire/core/tags/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
583
+ django_spire/core/tags/intelligence/tag_set_bot.py,sha256=-U-dkyodua48F6xatV1XHzeTTO-Zukl6rYOLMLxdIig,1289
584
+ django_spire/core/tags/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
585
+ django_spire/core/tags/tests/test_intelligence.py,sha256=UJj9OL_RaZQZ0tVih1VjntB9K5UkTg__VwE7iOr3Kog,1074
586
+ django_spire/core/tags/tests/test_tags.py,sha256=dTf0hkbgmnGK4HjdKO21dOdZLuZ2qqgeatsQvqqNeEg,3516
580
587
  django_spire/core/templates/django_spire/403.html,sha256=35OX-3z-Yi6Igx9DTAcxNwWiZ17wXdm4wYGML4U2pns,37
581
588
  django_spire/core/templates/django_spire/404.html,sha256=91sTr518M2YxQ8X3GlzDsNP6IVo3MW07tbHdcLBL8Iw,235
582
589
  django_spire/core/templates/django_spire/500.html,sha256=8N-aqCoafjq2mFcjLZv-BkAEqRh2bzJ2SqojlboS8g4,247
@@ -801,9 +808,9 @@ django_spire/knowledge/models.py,sha256=9NtBiv6HD6dcfL9AGMf5n6Z14hKciDkQ7Fu2zzOB
801
808
  django_spire/knowledge/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
802
809
  django_spire/knowledge/auth/controller.py,sha256=ktTJ7gjtbYmCYESZnK97q7_fPojTAScZXRysg2F_86Y,929
803
810
  django_spire/knowledge/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
804
- django_spire/knowledge/collection/admin.py,sha256=YI28TqSxzmYOLCVeRsOrrzB-YNuOdQapQRHbSO35hHA,714
811
+ django_spire/knowledge/collection/admin.py,sha256=9OKEgiSDiSHX6ZwB11l6mCx-jdF4VKfOe-SwFBdjKK4,1370
805
812
  django_spire/knowledge/collection/forms.py,sha256=7JovVxNzE67hSydDa-1JGK4U4zPyzOj605QyEl0JkP8,238
806
- django_spire/knowledge/collection/models.py,sha256=BauMvNfRNCGP1RjS3Yg1ERSIYjnaMixEBewpGF4eDAE,2302
813
+ django_spire/knowledge/collection/models.py,sha256=_wqLIzOHwvsVxdc-GjEZeXWKo_MOHF7DyaHCEPuaCwM,2390
807
814
  django_spire/knowledge/collection/querysets.py,sha256=8DWTGvo4WovXQ9n7XRLoxtyDdBUka2N-kcPUnJVOhOo,2479
808
815
  django_spire/knowledge/collection/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
809
816
  django_spire/knowledge/collection/seeding/seed.py,sha256=i4VEvScJvZ1SUV9ukKZp0qdh_owyLyVSHGgl8vIzhwQ,303
@@ -812,7 +819,8 @@ django_spire/knowledge/collection/services/__init__.py,sha256=47DEQpj8HBSa-_TImW
812
819
  django_spire/knowledge/collection/services/factory_service.py,sha256=92DLZODSRPF-iA9r3Jgys2GzbC39KssGEk9eOJ5wZjs,1298
813
820
  django_spire/knowledge/collection/services/ordering_service.py,sha256=vTkSdt1lVT4VxSK3GhZibj8FPDDy5butwPkVzqmm07g,1243
814
821
  django_spire/knowledge/collection/services/processor_service.py,sha256=3ArKBndoL3HEvH_1EBqfiw7AnbFYZ0WmBgcPV8BHdLQ,911
815
- django_spire/knowledge/collection/services/service.py,sha256=Vg9ZPWlCxZ_43fkudvBUBZfd7L7A8_vKlBA9dIHUNas,1709
822
+ django_spire/knowledge/collection/services/service.py,sha256=sEamdqRcKdNcL6yz18hok0jww3Z4VRCPWrMF2QLvKGE,1830
823
+ django_spire/knowledge/collection/services/tag_service.py,sha256=7EUIoTn70oAvcsX53RvKMLTZ_sySmBNgWhBvg8RCesE,1430
816
824
  django_spire/knowledge/collection/services/transformation_service.py,sha256=ME_jYURSG7at4oujTbcRzIVXyKnb75Xi6M4Nclbw6Yo,3464
817
825
  django_spire/knowledge/collection/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
818
826
  django_spire/knowledge/collection/tests/factories.py,sha256=NUu4OliEZIQL9c05RPIPdzYP3Dtn1szLZxP4Wl-kX2w,429
@@ -827,13 +835,13 @@ django_spire/knowledge/collection/urls/form_urls.py,sha256=yHU3sbaA3w-m9rVvon6nX
827
835
  django_spire/knowledge/collection/urls/json_urls.py,sha256=XZp5wt8m9x38Uuy1dhegqZ4qlJLZK2EgJsLltx97o0Q,195
828
836
  django_spire/knowledge/collection/urls/page_urls.py,sha256=M8zZJJzVmMx7QUc3uGIrjyb8-Kz00fz7u0mHYqFZf3M,280
829
837
  django_spire/knowledge/collection/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
830
- django_spire/knowledge/collection/views/form_views.py,sha256=qEbQj0jEO1jKYBHVNQkoymI-PtoHIOUCtddzpUOptpw,2954
838
+ django_spire/knowledge/collection/views/form_views.py,sha256=ziQhlrLEJ62VzYiIAApd0ZThM2jc-who-qw0_BlO-VI,3014
831
839
  django_spire/knowledge/collection/views/json_views.py,sha256=uzSD83O7p-L5Oh8jo_Ejh-4lbo5zXjLkZGe0cn6SXSw,1030
832
840
  django_spire/knowledge/collection/views/page_views.py,sha256=jiKsIqi9pvSY5KbLLGDdTHSPHXmnd-7oyYXckF2ONh4,2045
833
841
  django_spire/knowledge/entry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
834
- django_spire/knowledge/entry/admin.py,sha256=icff-hpV6Uj-WszcWujHMljo6oKo4kft_Zlzcm0I6sQ,986
842
+ django_spire/knowledge/entry/admin.py,sha256=pY-0sYx24Su0y7sb1I2-GMCZxFEZj9oXhRckEdHNKno,1568
835
843
  django_spire/knowledge/entry/forms.py,sha256=Mhol37dMJP-pnex5IPxQVdchYcFBXnGzcWoY0SkU7lo,339
836
- django_spire/knowledge/entry/models.py,sha256=OhmzCBcV_XGDwmBgx3kfSHRZj9ztLj3Kri3c5QDw4PM,2054
844
+ django_spire/knowledge/entry/models.py,sha256=RSWXFLWAPZ43klgZvqXEzYl39g4hNIUPmX7btOrzbGk,2141
837
845
  django_spire/knowledge/entry/querysets.py,sha256=oVTylFT_Zx0elT5IVbYZRa0FwyGd9YaRz0vdcumfrsU,1121
838
846
  django_spire/knowledge/entry/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
839
847
  django_spire/knowledge/entry/seeding/seed.py,sha256=n7ereq118GuqV1luNih7nuVpkrZpkBgPWt0FuE4Bl88,105
@@ -842,7 +850,8 @@ django_spire/knowledge/entry/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
842
850
  django_spire/knowledge/entry/services/automation_service.py,sha256=0_Ypk5cXhGvkQLkmKBArFTrE_sZhXCnBencmuJeLxMI,1826
843
851
  django_spire/knowledge/entry/services/factory_service.py,sha256=bgUEHjdc9u2mxUJFy26qYOxUiJRHmhtcoH6AG3xzU0I,1379
844
852
  django_spire/knowledge/entry/services/processor_service.py,sha256=sfAM5ku7Td4k0jCe2szyoR72Bt1_OS75UKh7YPL4l2s,494
845
- django_spire/knowledge/entry/services/service.py,sha256=n8N2pshbE977bNoN5zf0gO-Kyy9LQLcGOJ4MMNT8Uj8,1806
853
+ django_spire/knowledge/entry/services/service.py,sha256=-A8_UcmQ8aLvkRNzGzTMA4faN9UWOd5pdlFlujB1YHI,1912
854
+ django_spire/knowledge/entry/services/tag_service.py,sha256=AA4xDmofhuFOxa6HuKqlM9_SY-kjPWLKAnPUhvA7Is4,793
846
855
  django_spire/knowledge/entry/services/tool_service.py,sha256=QL6w8t284LfSOJrQaF46uWInd4t413WYxcXCWsat_jE,1083
847
856
  django_spire/knowledge/entry/services/transformation_services.py,sha256=6WPQxW-_XATi8HCwshtJjoYbQFJcIdCqFaADHnTyk1U,2687
848
857
  django_spire/knowledge/entry/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -908,11 +917,11 @@ django_spire/knowledge/entry/version/tests/test_urls/__init__.py,sha256=47DEQpj8
908
917
  django_spire/knowledge/entry/version/tests/test_urls/test_json_urls.py,sha256=WFN-aR6NmZGNKv03Jlw10YR730JYpbydYHDQPPbbkJI,1161
909
918
  django_spire/knowledge/entry/version/tests/test_urls/test_page_urls.py,sha256=l3k7lXeRNbbtIXZtt8LLDacDozYjTzinSCAjJdPeGC4,946
910
919
  django_spire/knowledge/entry/version/urls/__init__.py,sha256=e0MeLIxK5W4H68nK3A5TKbD7ZJFwFFJ2bZNhh2T-4uk,394
911
- django_spire/knowledge/entry/version/urls/json_urls.py,sha256=Mns6ZTB5-52iHbaFw5Cb5elw-PqhYa3mxBTeSNY2saw,258
920
+ django_spire/knowledge/entry/version/urls/json_urls.py,sha256=w1QWnVGHHIrLgXJYoDBJB0q07WCZzQTBeBotLtXQjoE,414
912
921
  django_spire/knowledge/entry/version/urls/page_urls.py,sha256=z8pfK548b4xr6UIE3pnPNTUjSeZaeBac2MQeL4VyJTo,204
913
922
  django_spire/knowledge/entry/version/urls/redirect_urls.py,sha256=9X7UqKYIxwDRVPHTwT1zywpWybD1hJ923p3cX1itZ5Q,219
914
923
  django_spire/knowledge/entry/version/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
915
- django_spire/knowledge/entry/version/views/json_views.py,sha256=9QyqFHrYS-BlfIDUfc-IrOu3SJKBbSSQw7jRxo51p0U,835
924
+ django_spire/knowledge/entry/version/views/json_views.py,sha256=gauZ4YvUks7GNWR212aaPKgE6ym5YDKVLChKWGfqljs,1180
916
925
  django_spire/knowledge/entry/version/views/page_views.py,sha256=rRoaqlChmcnWVLO02smw_zIHrec-3MtQ-FcDGzOQZh0,1698
917
926
  django_spire/knowledge/entry/version/views/redirect_views.py,sha256=m6RPYfBcnOq-iU2QND56IfCHU7wCqF9aOiQUCbqP_Aw,754
918
927
  django_spire/knowledge/entry/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -924,14 +933,14 @@ django_spire/knowledge/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
924
933
  django_spire/knowledge/intelligence/bots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
925
934
  django_spire/knowledge/intelligence/bots/entry_search_llm_bot.py,sha256=02fRELEyRjqRc1o_McQPWucQOTQtpIO6_v8-3OO7mLs,1689
926
935
  django_spire/knowledge/intelligence/decoders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
927
- django_spire/knowledge/intelligence/decoders/collection_decoder.py,sha256=v9HvNX307bu-vpOMHjOanu6RhtV_SsAUmkHqWu4F0II,583
928
- django_spire/knowledge/intelligence/decoders/entry_decoder.py,sha256=n_BZyudiki-SrwIXSZvnSF1aajrARD59oZMqC__0Jo8,503
936
+ django_spire/knowledge/intelligence/decoders/collection_decoder.py,sha256=Vqh-JQukPatbxvV3NMWKvl8Np3bgRtDxQZjd2T3E0Rc,599
937
+ django_spire/knowledge/intelligence/decoders/entry_decoder.py,sha256=q6RzbCz0Ph00wJ9p8Ujp-2hYwppeRZa8Pj_-0YDwYlI,516
929
938
  django_spire/knowledge/intelligence/intel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
930
939
  django_spire/knowledge/intelligence/intel/collection_intel.py,sha256=4ci6_bVUimj_33FZgQ7wCpESXrKBMxHGF0yyfrstmvI,144
931
940
  django_spire/knowledge/intelligence/intel/entry_intel.py,sha256=lGlGqeruV5oOu0aArGA_Bxa1pqAI7lr1MD7UATAy2Sg,445
932
941
  django_spire/knowledge/intelligence/intel/message_intel.py,sha256=yLTlFZ3dRJU800yOtp3Tme3TZdmi8pf02gbo6uZlUps,420
933
942
  django_spire/knowledge/intelligence/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
934
- django_spire/knowledge/intelligence/workflows/knowledge_workflow.py,sha256=ROytkx1qlpq-oVj1UrVn9OyZ_5nXBUc6Pjj-s1qffxQ,1656
943
+ django_spire/knowledge/intelligence/workflows/knowledge_workflow.py,sha256=s_KXlpYSwG89slEItbEA9pEPiH8DyAmRQ-VpZEP36Ns,1894
935
944
  django_spire/knowledge/migrations/0001_initial.py,sha256=0oAx4e0Tu1wbcMwQZ4I_B2X_EGdEA9Qz_UBdVNGc3yE,5487
936
945
  django_spire/knowledge/migrations/0002_alter_entryversionblock_type.py,sha256=Eg8tLjDO0nJ3go_jgVvoqwYKFOpYUUyNtZtLI2V3IQQ,527
937
946
  django_spire/knowledge/migrations/0003_alter_collection_order_alter_entry_order_and_more.py,sha256=nIIUg1lHQ1iLbPlOulwZgzHrP1erGMYVXDaEdDXv4ik,749
@@ -939,6 +948,7 @@ django_spire/knowledge/migrations/0004_alter_collection_options_collectiongroup.
939
948
  django_spire/knowledge/migrations/0005_entryversionblock__tunes_data_and_more.py,sha256=sA_YCnFX6R2Wt9OecVpW4Sj27k2iRcw4KbyJVdcQYqY,771
940
949
  django_spire/knowledge/migrations/0006_alter_entryversionblock_type.py,sha256=-FPS118i3wwbfuXIPv4fNQiKu59X35E2r2zEFgDyNgo,516
941
950
  django_spire/knowledge/migrations/0007_alter_collection_options.py,sha256=jUqOHnY9T7QjguVhNC2uYVJzlWqOwWeSVe26ElySkY0,587
951
+ django_spire/knowledge/migrations/0008_collection_tags_entry_tags.py,sha256=QnCm7ULhPfBUJ8Ut7CKv4sG41S4gRkZX06jcWKBvB_M,754
942
952
  django_spire/knowledge/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
943
953
  django_spire/knowledge/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
944
954
  django_spire/knowledge/seeding/seed.py,sha256=LRhVfPHiFluSLLtjSY44YM9Oo1Hvfs_U-ksRvKk7pOg,97
@@ -955,7 +965,7 @@ django_spire/knowledge/templates/django_spire/knowledge/collection/container/det
955
965
  django_spire/knowledge/templates/django_spire/knowledge/collection/element/ellipsis_dropdown.html,sha256=o9cceexfwUSDtac4uhlUm4LimnBQrgTP6QPkpJF6DD0,1376
956
966
  django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=gDjvFBpNQHGn4PNJBi4pBw89-IakpyrC23D9dr0xQ-c,1902
957
967
  django_spire/knowledge/templates/django_spire/knowledge/collection/item/collection_item.html,sha256=gaOqh1wxf5IcWdxWWiYyz6HWjoPyn6FohaTMIssJ67k,517
958
- django_spire/knowledge/templates/django_spire/knowledge/collection/page/display_page.html,sha256=4RLjbrfyjDad6z-kJo2tJZLXMKxU52bkKihiEZApKqg,1724
968
+ django_spire/knowledge/templates/django_spire/knowledge/collection/page/display_page.html,sha256=v6lLzrubEYzVgoTKt_Oh3xAV0agUkWmyTFtAmD5uQcg,2281
959
969
  django_spire/knowledge/templates/django_spire/knowledge/collection/page/form_page.html,sha256=eD190iYnmx-6u8Y0EAExDdilPtxTlS_ic6-WBfTtj2s,274
960
970
  django_spire/knowledge/templates/django_spire/knowledge/container/container.html,sha256=Fi-PL8neKrmGeLQtvhNiGoimpen86m4r9YlAS-amWXI,1220
961
971
  django_spire/knowledge/templates/django_spire/knowledge/entry/badge/entry_status_badge.html,sha256=qz7Y2ac1T4qu0Nr_Yj4BdUbQamgA6Llq7TmoXAf5Arw,381
@@ -971,8 +981,8 @@ django_spire/knowledge/templates/django_spire/knowledge/entry/item/list_item.htm
971
981
  django_spire/knowledge/templates/django_spire/knowledge/entry/modal/publish_confirm_modal.html,sha256=7SsTjvk_iOdBgnYy83pMBPIdbuvJadd4h5XI5mPos5o,724
972
982
  django_spire/knowledge/templates/django_spire/knowledge/entry/page/form_page.html,sha256=EBfDjDBvo7IR6f5joTtZjzK5LtZb4rt0U1FO1HQNt88,291
973
983
  django_spire/knowledge/templates/django_spire/knowledge/entry/page/import_form_page.html,sha256=TK8Bc7mUZwsmV1Xm9FPyWz7Hws68Ijy4c55orvNoOC4,308
974
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/detail_container.html,sha256=UPCGcjKm7CKQC6A7wFCG2U80BGo_v5JIhnCCTIUP_3c,3123
975
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html,sha256=yzbZVhBa_xvAqloWBrraB4EqPufQMbhJ9HtyL9MqLqo,2536
984
+ django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html,sha256=NAtXEq8UJOV9_vp3l5HIIdQp-lZhNVW4luF0Nvv8Sl8,3389
985
+ django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html,sha256=Q6bPXeIORGQMZ4Wb6YDsWWoMUKws6a-oGhl4mv7syUE,3019
976
986
  django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/form_page.html,sha256=ufUISOfNmk45hl7F-ujtAzpHdEmUxh55odW0eyL6SMU,722
977
987
  django_spire/knowledge/templates/django_spire/knowledge/message/knowledge_message_intel.html,sha256=fpCJAwgxYqzJPLV63mLmUFjfEFk98t4FBX0RkSvDnzQ,698
978
988
  django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=vz3WQ6SAL43QALRf0haaLfNkUfIQQemR0FAZQ2tznV4,1331
@@ -1078,8 +1088,8 @@ django_spire/profiling/middleware/profiling.py,sha256=Vl8WHCEYoUl1P50uFog2Gp6hK2
1078
1088
  django_spire/profiling/templates/panel.html,sha256=YNK5ypTpUezWCtT0CE-awIpKPo4pKOPo9wbD4fkzgwc,6684
1079
1089
  django_spire/theme/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1080
1090
  django_spire/theme/apps.py,sha256=yol2S7ooTuplc8JKETEg6oAu9hpeHUpJ6wt1Bo3dQ3E,479
1081
- django_spire/theme/enums.py,sha256=I0Sa5GzAntAPL8d7BJykhzuftA7ZweqZZtFIcH_g6kA,495
1082
- django_spire/theme/models.py,sha256=Q9QQ_BmY79AtWA0_MwHt9gVk0AA7yaGAseJDmVP1wxA,4247
1091
+ django_spire/theme/enums.py,sha256=Pe5snW7q_fws50vAnfx1JvRCW5G9WeWxsAiU3s6lWpE,409
1092
+ django_spire/theme/models.py,sha256=tVUOpXauLq1m-tDknHggF2EKpky9PmiB9gOPm24SRCs,4113
1083
1093
  django_spire/theme/utils.py,sha256=Ka3CfK7BzBDOJWTw6XO097cqpdkXothWxPvUwFpjdv8,377
1084
1094
  django_spire/theme/templates/django_spire/theme/card/badges_preview_card.html,sha256=0fNfmL4IyQRrK5Kry95j6APQk3sAJv2XqjodPzOxwWg,1429
1085
1095
  django_spire/theme/templates/django_spire/theme/card/base_preview_card.html,sha256=2aKpoNTh6jHE9TT_enKJ9ZChFol9LgPq-y88um_vpZo,658
@@ -1119,21 +1129,21 @@ django_spire/theme/templates/django_spire/theme/section/color_section_card.html,
1119
1129
  django_spire/theme/templates/django_spire/theme/section/typography_section.html,sha256=tyg4zUulg9bBcFr1T2hxORGPlD4-k5vxXIabCbuG1jk,2274
1120
1130
  django_spire/theme/templates/django_spire/theme/section/typography_section_card.html,sha256=cgshyWYzFF__fcAXTxxxMd2jAb6TGAjTIL-GZI4dsHs,155
1121
1131
  django_spire/theme/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1122
- django_spire/theme/tests/test_context_processor.py,sha256=JHo7nUdpDKcE1Mvd5CXhPGgqaZFWpMJO-hI-PoDm9dI,3026
1123
- django_spire/theme/tests/test_enums.py,sha256=38KaKRdJwpUPialpSHU_BFeX98kTsS93sI_kl3MjFTA,841
1132
+ django_spire/theme/tests/test_context_processor.py,sha256=2MdQWZrjStOFSynGm9sfPdEWGV5pdwTtngPEaVCA6bY,3026
1133
+ django_spire/theme/tests/test_enums.py,sha256=-s4zUD8F08dzoVfBkjwjpfzmX6X4h8hZ4x9k8EGsmvo,765
1124
1134
  django_spire/theme/tests/test_filesystem.py,sha256=o18Hqkf7iUE1XYP2GfN-upnTFYM3nhzuU9e0Jq3RmZQ,6629
1125
- django_spire/theme/tests/test_integration.py,sha256=yzA4PIUhw6n79fcKr-7SmKPNJT7IIqy6RH_zfWbhZjc,1869
1126
- django_spire/theme/tests/test_model.py,sha256=l-_e0z0f6SXKGmLGLI2JzA3GpDAgwV6876C5Efy6K6M,7023
1135
+ django_spire/theme/tests/test_integration.py,sha256=QTRHxQWy-c8Uz2K_P8aipxRDOSuEvWVRHsib6fQGNPs,1869
1136
+ django_spire/theme/tests/test_model.py,sha256=-VY82o0d3-9fNJjZEaYf9UKW2obsVBr2iVQeGdAsXLs,6940
1127
1137
  django_spire/theme/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1128
- django_spire/theme/tests/test_views/test_json_views.py,sha256=CNcVyz-Q4zUsarKpvSKNZ31gxhWd9seVnFsHX2K77ww,4428
1138
+ django_spire/theme/tests/test_views/test_json_views.py,sha256=Hws7ZZIZPzUN-RIWtL1_2LVY9ugqxswxZT4VEy0I_gk,4428
1129
1139
  django_spire/theme/urls/__init__.py,sha256=0AGqZ-kWrE50HwlFRH_t19qO7CH1OqGLtPrf6PDhjF8,249
1130
1140
  django_spire/theme/urls/json_urls.py,sha256=CHqKcicKQpKI3OrlxTOQKgdYvzHWZDgScqpCDu9r7oU,247
1131
1141
  django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_JNX4L3Q,641
1132
1142
  django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1133
1143
  django_spire/theme/views/json_views.py,sha256=W1khC2K_EMbEzAFmMxC_P76_MFnkRH4-eVdodrRfAhw,1904
1134
1144
  django_spire/theme/views/page_views.py,sha256=pHr8iekjtR99xs7w1taj35HEo133Svq1dvDD0y0VL1c,3933
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,,
1145
+ django_spire-0.20.0.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
1146
+ django_spire-0.20.0.dist-info/METADATA,sha256=pwo8ltJcMZ3LThTMRrQsGn6gEnto8nH-dQPnW9RLk5k,4967
1147
+ django_spire-0.20.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1148
+ django_spire-0.20.0.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1149
+ django_spire-0.20.0.dist-info/RECORD,,
@@ -1,71 +0,0 @@
1
- [data-theme="dark"] {
2
- --app-primary: #bd93f9;
3
- --app-primary-soft: #2a1f35;
4
- --app-primary-dark: #9580d4;
5
-
6
- --app-secondary: #6272a4;
7
- --app-secondary-soft: #323547;
8
- --app-secondary-dark: #4b5b8c;
9
-
10
- --app-accent: #ff79c6;
11
- --app-accent-soft: #3d1f2f;
12
- --app-accent-dark: #e056a2;
13
-
14
- --app-success: #50fa7b;
15
- --app-success-soft: #1a2e21;
16
- --app-success-dark: #3dcc58;
17
-
18
- --app-warning: #f1fa8c;
19
- --app-warning-soft: #3d3d23;
20
- --app-warning-dark: #e6f06f;
21
-
22
- --app-danger: #ff5555;
23
- --app-danger-soft: #3d1f1f;
24
- --app-danger-dark: #e63946;
25
-
26
- --app-layer-one: #282a36;
27
- --app-layer-two: #44475a;
28
- --app-layer-three: #6272a4;
29
- --app-layer-four: #7882b4;
30
-
31
- --app-alt-layer-one: #21222c;
32
- --app-alt-layer-two: #373a4e;
33
- --app-alt-layer-three: #555a7a;
34
- --app-alt-layer-four: #6e76a8;
35
-
36
- --app-default-attribute-title-color: #f8f8f2;
37
- --app-default-button-text-color: #282a36;
38
- --app-default-text-color: #f8f8f2;
39
- --app-default-alt-text-color: #e8e8e2;
40
- --app-default-link-color: #bd93f9;
41
- --app-default-link-hover-color: #ff79c6;
42
-
43
- --app-side-navigation-bg-color: #282a36;
44
- --app-side-navigation-text-color: #f8f8f2;
45
- --app-side-navigation-link-color: #f8f8f2;
46
- --app-side-navigation-link-hover-color: #bd93f9;
47
-
48
- --app-top-navigation-bg-color: #282a36;
49
- --app-top-navigation-text-color: #f8f8f2;
50
- --app-top-navigation-link-color: #bd93f9;
51
- --app-top-navigation-link-hover-color: #ff79c6;
52
-
53
- --app-footer-bg-color: #282a36;
54
- --app-footer-text-color: #f8f8f2;
55
- --app-footer-link-color: #bd93f9;
56
- --app-footer-link-hover-color: #ff79c6;
57
-
58
- --app-table-row-color: #282a36;
59
- --app-table-row-alt-color: #44475a;
60
- --app-table-row-hover-color: #6272a4;
61
-
62
- --bs-border-color: #7882b4;
63
-
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
-
69
- --app-border-translucent-light: rgba(120, 130, 180, 0.3);
70
- --app-focus-ring-primary: rgba(189, 147, 249, 0.25);
71
- }
@@ -1,66 +0,0 @@
1
- :root {
2
- --app-primary: #bd93f9;
3
- --app-primary-soft: #f0ebfd;
4
- --app-primary-dark: #9580d4;
5
-
6
- --app-secondary: #6272a4;
7
- --app-secondary-soft: #e6e8f0;
8
- --app-secondary-dark: #4b5b8c;
9
-
10
- --app-accent: #ff79c6;
11
- --app-accent-soft: #ffe5f4;
12
- --app-accent-dark: #e056a2;
13
-
14
- --app-success: #50fa7b;
15
- --app-success-soft: #e5fee9;
16
- --app-success-dark: #3dcc58;
17
-
18
- --app-warning: #f1fa8c;
19
- --app-warning-soft: #fdfee5;
20
- --app-warning-dark: #e6f06f;
21
-
22
- --app-danger: #ff5555;
23
- --app-danger-soft: #ffe5e5;
24
- --app-danger-dark: #e63946;
25
-
26
- --app-layer-one: #f8f8f2;
27
- --app-layer-two: #f0f0ea;
28
- --app-layer-three: #e8e8e2;
29
- --app-layer-four: #d0d0ca;
30
-
31
- --app-alt-layer-one: #ffffff;
32
- --app-alt-layer-two: #f5f5f0;
33
- --app-alt-layer-three: #e0e0da;
34
- --app-alt-layer-four: #c8c8c2;
35
-
36
- --app-default-attribute-title-color: #6272a4;
37
- --app-default-button-text-color: #f8f8f2;
38
- --app-default-text-color: #44475a;
39
- --app-default-alt-text-color: #6272a4;
40
- --app-default-link-color: #bd93f9;
41
- --app-default-link-hover-color: #ff79c6;
42
-
43
- --app-side-navigation-bg-color: #6272a4;
44
- --app-side-navigation-text-color: #f8f8f2;
45
- --app-side-navigation-link-color: #f8f8f2;
46
- --app-side-navigation-link-hover-color: #bd93f9;
47
-
48
- --app-top-navigation-bg-color: #f8f8f2;
49
- --app-top-navigation-text-color: #44475a;
50
- --app-top-navigation-link-color: #bd93f9;
51
- --app-top-navigation-link-hover-color: #ff79c6;
52
-
53
- --app-footer-bg-color: #f0f0ea;
54
- --app-footer-text-color: #44475a;
55
- --app-footer-link-color: #bd93f9;
56
- --app-footer-link-hover-color: #ff79c6;
57
-
58
- --app-table-row-color: #f8f8f2;
59
- --app-table-row-alt-color: #f0f0ea;
60
- --app-table-row-hover-color: #e8e8e2;
61
-
62
- --bs-border-color: #e8e8e2;
63
-
64
- --app-border-translucent-light: rgba(208, 208, 202, 0.175);
65
- --app-focus-ring-primary: rgba(189, 147, 249, 0.25);
66
- }
@@ -1,71 +0,0 @@
1
- [data-theme="dark"] {
2
- --app-primary: #6699cc;
3
- --app-primary-soft: #1a262f;
4
- --app-primary-dark: #4f8cc9;
5
-
6
- --app-secondary: #65737e;
7
- --app-secondary-soft: #2d3640;
8
- --app-secondary-dark: #556873;
9
-
10
- --app-accent: #f99157;
11
- --app-accent-soft: #3d2515;
12
- --app-accent-dark: #ec7940;
13
-
14
- --app-success: #99c794;
15
- --app-success-soft: #202e24;
16
- --app-success-dark: #7cb668;
17
-
18
- --app-warning: #fac863;
19
- --app-warning-soft: #3d3319;
20
- --app-warning-dark: #f5b942;
21
-
22
- --app-danger: #ec5f67;
23
- --app-danger-soft: #3d1f22;
24
- --app-danger-dark: #e74c3c;
25
-
26
- --app-layer-one: #1b2b34;
27
- --app-layer-two: #343d46;
28
- --app-layer-three: #4f5b66;
29
- --app-layer-four: #65737e;
30
-
31
- --app-alt-layer-one: #152028;
32
- --app-alt-layer-two: #2b3b42;
33
- --app-alt-layer-three: #3a4750;
34
- --app-alt-layer-four: #4a5861;
35
-
36
- --app-default-attribute-title-color: #c0c5ce;
37
- --app-default-button-text-color: #1b2b34;
38
- --app-default-text-color: #c0c5ce;
39
- --app-default-alt-text-color: #a7adba;
40
- --app-default-link-color: #6699cc;
41
- --app-default-link-hover-color: #5fb3b3;
42
-
43
- --app-side-navigation-bg-color: #152028;
44
- --app-side-navigation-text-color: #c0c5ce;
45
- --app-side-navigation-link-color: #c0c5ce;
46
- --app-side-navigation-link-hover-color: #6699cc;
47
-
48
- --app-top-navigation-bg-color: #152028;
49
- --app-top-navigation-text-color: #c0c5ce;
50
- --app-top-navigation-link-color: #6699cc;
51
- --app-top-navigation-link-hover-color: #5fb3b3;
52
-
53
- --app-footer-bg-color: #152028;
54
- --app-footer-text-color: #c0c5ce;
55
- --app-footer-link-color: #6699cc;
56
- --app-footer-link-hover-color: #5fb3b3;
57
-
58
- --app-table-row-color: #1b2b34;
59
- --app-table-row-alt-color: #343d46;
60
- --app-table-row-hover-color: #4f5b66;
61
-
62
- --bs-border-color: #65737e;
63
-
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
-
69
- --app-border-translucent-light: rgba(101, 115, 126, 0.3);
70
- --app-focus-ring-primary: rgba(102, 153, 204, 0.25);
71
- }
@@ -1,66 +0,0 @@
1
- :root {
2
- --app-primary: #0277bd;
3
- --app-primary-soft: #e3f2fd;
4
- --app-primary-dark: #01579b;
5
-
6
- --app-secondary: #607d8b;
7
- --app-secondary-soft: #eceff1;
8
- --app-secondary-dark: #455a64;
9
-
10
- --app-accent: #ff7043;
11
- --app-accent-soft: #fbe9e7;
12
- --app-accent-dark: #d84315;
13
-
14
- --app-success: #4caf50;
15
- --app-success-soft: #e8f5e8;
16
- --app-success-dark: #2e7d32;
17
-
18
- --app-warning: #ff9800;
19
- --app-warning-soft: #fff3e0;
20
- --app-warning-dark: #ef6c00;
21
-
22
- --app-danger: #f44336;
23
- --app-danger-soft: #ffebee;
24
- --app-danger-dark: #c62828;
25
-
26
- --app-layer-one: #ffffff;
27
- --app-layer-two: #fafafa;
28
- --app-layer-three: #f5f5f5;
29
- --app-layer-four: #e0e0e0;
30
-
31
- --app-alt-layer-one: #ffffff;
32
- --app-alt-layer-two: #fcfcfc;
33
- --app-alt-layer-three: #f8f8f8;
34
- --app-alt-layer-four: #f0f0f0;
35
-
36
- --app-default-attribute-title-color: #607d8b;
37
- --app-default-button-text-color: #ffffff;
38
- --app-default-text-color: #263238;
39
- --app-default-alt-text-color: #37474f;
40
- --app-default-link-color: #0277bd;
41
- --app-default-link-hover-color: #00acc1;
42
-
43
- --app-side-navigation-bg-color: #263238;
44
- --app-side-navigation-text-color: #ffffff;
45
- --app-side-navigation-link-color: #ffffff;
46
- --app-side-navigation-link-hover-color: #4fc3f7;
47
-
48
- --app-top-navigation-bg-color: #ffffff;
49
- --app-top-navigation-text-color: #263238;
50
- --app-top-navigation-link-color: #0277bd;
51
- --app-top-navigation-link-hover-color: #00acc1;
52
-
53
- --app-footer-bg-color: #fafafa;
54
- --app-footer-text-color: #263238;
55
- --app-footer-link-color: #0277bd;
56
- --app-footer-link-hover-color: #00acc1;
57
-
58
- --app-table-row-color: #ffffff;
59
- --app-table-row-alt-color: #fafafa;
60
- --app-table-row-hover-color: #f5f5f5;
61
-
62
- --bs-border-color: #f5f5f5;
63
-
64
- --app-border-translucent-light: rgba(224, 224, 224, 0.175);
65
- --app-focus-ring-primary: rgba(2, 119, 189, 0.25);
66
- }