plain.htmx 0.14.0__py3-none-any.whl → 0.15.1__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.
plain/htmx/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # plain-htmx changelog
2
2
 
3
+ ## [0.15.1](https://github.com/dropseed/plain/releases/plain-htmx@0.15.1) (2025-12-22)
4
+
5
+ ### What's changed
6
+
7
+ - Internal code cleanup to remove unnecessary type ignore comments ([539a706](https://github.com/dropseed/plain/commit/539a706))
8
+
9
+ ### Upgrade instructions
10
+
11
+ - No changes required
12
+
13
+ ## [0.15.0](https://github.com/dropseed/plain/releases/plain-htmx@0.15.0) (2025-12-09)
14
+
15
+ ### What's changed
16
+
17
+ - Native browser form validation is now enabled by default via `htmx.config.reportValidityOfForms`, so forms with HTML5 validation attributes will show validation feedback before submitting ([b9e2476](https://github.com/dropseed/plain/commit/b9e2476))
18
+
19
+ ### Upgrade instructions
20
+
21
+ - Test your usage of HTMX forms where client validation is concerned
22
+
3
23
  ## [0.14.0](https://github.com/dropseed/plain/releases/plain-htmx@0.14.0) (2025-12-04)
4
24
 
5
25
  ### What's changed
@@ -6,6 +6,9 @@
6
6
  htmx.config.inlineScriptNonce = nonce;
7
7
  htmx.config.inlineStyleNonce = nonce;
8
8
 
9
+ // Enable native browser form validation feedback
10
+ htmx.config.reportValidityOfForms = true;
11
+
9
12
  htmx.defineExtension("plain-views", {
10
13
  init() {
11
14
  // Set or append this extension to the body hx-ext automatically
plain/htmx/templates.py CHANGED
@@ -26,7 +26,7 @@ class HTMXJSExtension(InclusionTagExtension):
26
26
  return {
27
27
  "DEBUG": settings.DEBUG,
28
28
  "extensions": kwargs.get("extensions", []),
29
- "csp_nonce": request.csp_nonce if request else None, # type: ignore[attr-defined]
29
+ "csp_nonce": request.csp_nonce if request else None,
30
30
  }
31
31
 
32
32
 
@@ -167,5 +167,5 @@ def find_template_fragment(
167
167
  )
168
168
 
169
169
  # Create a new template from the node
170
- template_node = nodes.Template(callblock_node.body) # type: ignore[attr-defined]
171
- return template.environment.from_string(template_node) # type: ignore[arg-type]
170
+ template_node = nodes.Template(callblock_node.body)
171
+ return template.environment.from_string(template_node)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain.htmx
3
- Version: 0.14.0
3
+ Version: 0.15.1
4
4
  Summary: Integrate HTMX with templates and views.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-Expression: BSD-3-Clause
@@ -1,9 +1,9 @@
1
- plain/htmx/CHANGELOG.md,sha256=dTNeQQhFfU-Sq3hK-STFYTyAzE5o3AjZG5NXc0_G7ZM,4356
1
+ plain/htmx/CHANGELOG.md,sha256=DnvAwM7XhXvRiYwfvzbQ0tO27Ps2dEbQojkPSzKafaQ,5100
2
2
  plain/htmx/README.md,sha256=C9H_66JD9tykCiTbKjZFAzX7MkVrym58wsEaA1wjxqY,12690
3
3
  plain/htmx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- plain/htmx/templates.py,sha256=vL8MtfeOq35YGiSw1tzM9ugeAd5TSKGm19i1Ts5_X1Q,6700
4
+ plain/htmx/templates.py,sha256=qhdu3jiH9wdIyfVSWjUzIIQBScKuKXg5MwzqshVTK5M,6614
5
5
  plain/htmx/views.py,sha256=6Y2ttsTe3EaUwb2jzU3jMil4U9TAasbah7DJF9yjS8o,2371
6
- plain/htmx/assets/htmx/plainhtmx.js,sha256=rFFS_ogFTAeON7EX6HRwbyKH3voM5MVcPFfQzSX77cY,2014
6
+ plain/htmx/assets/htmx/plainhtmx.js,sha256=4CD6LvSFIBt41BJflUITaY4cuMyj7uD2UNEVfYhLQuI,2111
7
7
  plain/htmx/assets/htmx/vendor/idiomorph/idiomorph-ext.js,sha256=UvnPpQ3Jg380QwIF5PzlxmUQJuoMt6BxsmS_PMd2ayM,48004
8
8
  plain/htmx/assets/htmx/vendor/idiomorph/idiomorph-ext.min.js,sha256=Ax3YbD9-2A-Ha_81wI5E4NLHHOjAvNJw4GvDocg2i-s,10313
9
9
  plain/htmx/assets/htmx/vendor/idiomorph/idiomorph-htmx.js,sha256=ASBB00mwLYQY25neGwIQHU1A-NNdHpXp28ACHPIvoxE,813
@@ -44,7 +44,7 @@ plain/htmx/assets/htmx/vendor/src/ext/restored.js,sha256=0td3Ga2ZIcVdFKJm6FoCXTm
44
44
  plain/htmx/assets/htmx/vendor/src/ext/sse.js,sha256=ju2N9N81ASa-ncT6JJbm65iQ4y9iAqKXRuPDwOcATBM,10320
45
45
  plain/htmx/assets/htmx/vendor/src/ext/ws.js,sha256=KMVp1yOrFb6ncZUprsnN3OPRpmV9GG0YBuLSW1wekMc,13899
46
46
  plain/htmx/templates/htmx/js.html,sha256=4G-EW1NWhqzXVtgND5rqkOmwgCO8XEGfvJTw4gy_BSA,883
47
- plain_htmx-0.14.0.dist-info/METADATA,sha256=PlPX9-AvmfN-Y43tiO6f4VpA7FAbBRalOMi8ngrTI_I,12999
48
- plain_htmx-0.14.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
49
- plain_htmx-0.14.0.dist-info/licenses/LICENSE,sha256=cvKM3OlqHx3ijD6e34zsSUkPvzl-ya3Dd63A6EHL94U,1500
50
- plain_htmx-0.14.0.dist-info/RECORD,,
47
+ plain_htmx-0.15.1.dist-info/METADATA,sha256=IzmN4wg9A_3cvNnBDwKAKyPfAfXqLtzTB9SeyMHZPZo,12999
48
+ plain_htmx-0.15.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
49
+ plain_htmx-0.15.1.dist-info/licenses/LICENSE,sha256=cvKM3OlqHx3ijD6e34zsSUkPvzl-ya3Dd63A6EHL94U,1500
50
+ plain_htmx-0.15.1.dist-info/RECORD,,