djhtmx 1.3.4__tar.gz → 1.3.6__tar.gz

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 (40) hide show
  1. {djhtmx-1.3.4 → djhtmx-1.3.6}/CHANGELOG.md +10 -0
  2. {djhtmx-1.3.4 → djhtmx-1.3.6}/PKG-INFO +1 -1
  3. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/__init__.py +1 -1
  4. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/templatetags/htmx.py +12 -2
  5. {djhtmx-1.3.4 → djhtmx-1.3.6}/.gitignore +0 -0
  6. {djhtmx-1.3.4 → djhtmx-1.3.6}/LICENSE +0 -0
  7. {djhtmx-1.3.4 → djhtmx-1.3.6}/MANIFEST.in +0 -0
  8. {djhtmx-1.3.4 → djhtmx-1.3.6}/README.md +0 -0
  9. {djhtmx-1.3.4 → djhtmx-1.3.6}/pyproject.toml +0 -0
  10. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/apps.py +0 -0
  11. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/command_queue.py +0 -0
  12. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/commands.py +0 -0
  13. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/component.py +0 -0
  14. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/consumer.py +0 -0
  15. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/context.py +0 -0
  16. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/exceptions.py +0 -0
  17. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/global_events.py +0 -0
  18. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/introspection.py +0 -0
  19. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/json.py +0 -0
  20. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/management/commands/htmx.py +0 -0
  21. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/middleware.py +0 -0
  22. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/query.py +0 -0
  23. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/repo.py +0 -0
  24. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/settings.py +0 -0
  25. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/ext/idiomorph-ext.min.js +0 -0
  26. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/ext/ws.js +0 -0
  27. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/htmx.amd.js +0 -0
  28. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/htmx.cjs.js +0 -0
  29. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/htmx.esm.d.ts +0 -0
  30. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/htmx.esm.js +0 -0
  31. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/htmx.js +0 -0
  32. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/2.0.4/htmx.min.js +0 -0
  33. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/static/htmx/django.js +0 -0
  34. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/templates/htmx/headers.html +0 -0
  35. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/templates/htmx/lazy.html +0 -0
  36. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/templatetags/__init__.py +0 -0
  37. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/testing.py +0 -0
  38. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/tracing.py +0 -0
  39. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/urls.py +0 -0
  40. {djhtmx-1.3.4 → djhtmx-1.3.6}/src/djhtmx/utils.py +0 -0
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.3.6] - 2026-02-03
11
+
12
+ ### Fixed
13
+ - **Class Template Tag**: Boolean expression evaluation now uses the yesno filter behavior, where string values "True" and "False" (case-insensitive) are properly converted to boolean values before evaluation
14
+
15
+ ## [1.3.5] - 2026-02-02
16
+
17
+ ### Fixed
18
+ - **htmx_class Template Tag**: Fixed handling of `None` values in conditional class names. Previously, `None` values were converted to the string "None" in the output. Now they are properly filtered out before joining class names.
19
+
10
20
  ## [1.3.4] - 2026-01-19
11
21
 
12
22
  **Note**: This release supersedes versions 1.3.1, 1.3.2, and 1.3.3, which contained incomplete implementations of the `Model | None` handling feature. Users on 1.3.1-1.3.3 should upgrade to 1.3.4 immediately.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: djhtmx
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Summary: Interactive UI Components for Django using HTMX
5
5
  Project-URL: Homepage, https://github.com/edelvalle/djhtmx
6
6
  Project-URL: Documentation, https://github.com/edelvalle/djhtmx#readme
@@ -1,4 +1,4 @@
1
1
  from .middleware import middleware
2
2
 
3
- __version__ = "1.3.4"
3
+ __version__ = "1.3.6"
4
4
  __all__ = ("middleware",)
@@ -290,6 +290,16 @@ class ClassNode(Node):
290
290
  class_names = [
291
291
  class_name.resolve(cast(Mapping[str, Any], context))
292
292
  for condition, class_name in self.condition_and_classes
293
- if condition.eval(context) # type: ignore
293
+ if self._eval_bool(condition.eval(context)) # type: ignore
294
294
  ]
295
- return format_html_attrs({"class": " ".join(class_names) or None})
295
+ return format_html_attrs({"class": " ".join(filter(None, class_names)) or None})
296
+
297
+ @staticmethod
298
+ def _eval_bool(value) -> bool | str:
299
+ # Convert string boolean representations to actual booleans (yesno filter behavior)
300
+ if isinstance(value, str):
301
+ if value == "True":
302
+ return True
303
+ elif value in ("False", "None"):
304
+ return False
305
+ return value
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes