fastlifeweb 0.28.4__py3-none-any.whl → 0.28.6__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.
CHANGELOG.md CHANGED
@@ -1,17 +1,11 @@
1
- ## 0.28.4 - Released on 2025-09-20
2
- * Install heroicon to build the doc.
3
-
4
- ## 0.28.3 - Released on 2025-09-20
5
- * Install jinjax to build the doc.
1
+ ## 0.28.6 - Released on 2025-10-19
2
+ * Update xcomponent.
3
+ * Fix links in doc.
6
4
 
7
- ## 0.28.2 - Released on 2025-09-20
8
- * Fix github action to build the doc.
5
+ ## 0.28.5 - Released on 2025-10-06
6
+ * Fix A hx-push-url fox xcomponent
9
7
 
10
- ## 0.28.1 - Released on 2025-09-20
11
- * Fix jinjax dependencies.
12
- * Fix documentation generation.
13
-
14
- ## 0.28.0 - Released on 2025-09-19
8
+ ## 0.28.4 - Released on 2025-09-20
15
9
  * Introduce new template engine xcomponent that will replace jinjax.
16
10
  * At the moment, the template engine has to be installed as an extra
17
11
  dependencie, none of them will be installed by default.
@@ -9,3 +9,8 @@ catalog = Catalog()
9
9
  @catalog.function(name="len")
10
10
  def length(iterable: Any) -> int:
11
11
  return len(iterable)
12
+
13
+
14
+ @catalog.function
15
+ def isbool(i: Any) -> bool:
16
+ return isinstance(i, bool)
@@ -170,7 +170,12 @@ def Button(
170
170
  hx-put={hx_put}
171
171
  hx-patch={hx_patch}
172
172
  hx-delete={hx_delete}
173
- hx-push-url={hx_push_url}
173
+ hx-push-url={
174
+ if isbool(hx_push_url) {
175
+ if hx_push_url { "true" } else { false }
176
+ }
177
+ else { hx_push_url }
178
+ }
174
179
  hx-params={hx_params}
175
180
  aria-label={aria_label}
176
181
  class={
@@ -17,7 +17,7 @@ def A(
17
17
  hx_target: str = "#maincontent",
18
18
  hx_select: str | None = None,
19
19
  hx_swap: str = "innerHTML show:body:top",
20
- hx_push_url: bool = True,
20
+ hx_push_url: bool | str = True,
21
21
  hx_get: str | None = None,
22
22
  hx_disable: bool | None = None,
23
23
  hx_disabled_elt: str | None = None,
@@ -39,7 +39,6 @@ def A(
39
39
  :param hx_push_url: Replace the browser URL with the link.
40
40
  :param hx_get: Override the target link only for htmx request for component
41
41
  rendering. href will be used if None.
42
- :param disable_htmx: Do not add any `hx-*` attribute to the link.
43
42
  """
44
43
 
45
44
  return """
@@ -51,7 +50,12 @@ def A(
51
50
  hx-get={hx_get or href}
52
51
  hx-target={hx_target}
53
52
  hx-swap={hx_swap}
54
- hx-push-url={hx_push_url}
53
+ hx-push-url={
54
+ if isbool(hx_push_url) {
55
+ if hx_push_url { "true" } else { false }
56
+ }
57
+ else { hx_push_url }
58
+ }
55
59
  hx-select={hx_select}
56
60
  class={class_ or globals.A_CLASS}
57
61
  >
@@ -481,7 +481,7 @@ class GenericConfigurator(Generic[TRegistry]):
481
481
  * `request` is the {class}`current request <fastlife.request.request.Request>`
482
482
  * `authenticated_user` is used to access to the authenticated user if the
483
483
  security policy has been installed.
484
- * `csrf_token` is used to build for {jinjax:component}`CsrfToken`.
484
+ * `csrf_token` is used to build {class}`fastlife.domain.model.csrf.CsrfToken`.
485
485
  * `gettext`, `ngettext`, `dgettext`, `dngettext`, `pgettext`, `dpgettext`,
486
486
  `npgettext`, `dnpgettext` methods are installed for i18n purpose.
487
487
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastlifeweb
3
- Version: 0.28.4
3
+ Version: 0.28.6
4
4
  Summary: High-level web framework
5
5
  Author-Email: Guillaume Gauvrit <guillaume@gauvr.it>
6
6
  License: MIT
@@ -28,7 +28,7 @@ Requires-Dist: venusian<4,>=3.0.0
28
28
  Provides-Extra: jinjax
29
29
  Requires-Dist: jinjax<0.49,>=0.48; extra == "jinjax"
30
30
  Provides-Extra: xcomponent
31
- Requires-Dist: xcomponent<0.7,>=0.6.6; extra == "xcomponent"
31
+ Requires-Dist: xcomponent<1,>=0.8.4; extra == "xcomponent"
32
32
  Provides-Extra: testing
33
33
  Requires-Dist: beautifulsoup4; extra == "testing"
34
34
  Provides-Extra: docs
@@ -39,7 +39,7 @@ Requires-Dist: linkify-it-py<3,>=2.0.3; extra == "docs"
39
39
  Requires-Dist: myst-parser<5,>=4.0.0; extra == "docs"
40
40
  Requires-Dist: sphinx<8,>=7.0.1; extra == "docs"
41
41
  Requires-Dist: sphinx-autodoc2<1,>=0.5.0; extra == "docs"
42
- Requires-Dist: xcomponent<0.7,>=0.6.6; extra == "docs"
42
+ Requires-Dist: xcomponent<1,>=0.8.4; extra == "docs"
43
43
  Description-Content-Type: text/markdown
44
44
 
45
45
  # Fastlife
@@ -1,4 +1,4 @@
1
- CHANGELOG.md,sha256=Uyb3arncIZWMtqOL-jvucfrAoXEbEp4mA67kjw7ZN6w,9743
1
+ CHANGELOG.md,sha256=wepK9W6pP7I5c6hoU9fRf97McA3hrpVX-cXsuBzksUg,9576
2
2
  fastlife/__init__.py,sha256=XtGrcI5a3MPSl4vupeWT4ZijISiXtAhjcL6eRt9WpfE,2503
3
3
  fastlife/adapters/__init__.py,sha256=imPD1hImpgrYkvUJRhHA5kVyGAua7VbP2WGkhSWKJT8,93
4
4
  fastlife/adapters/fastapi/__init__.py,sha256=1goV1FGFP04TGyskJBLKZam4Gvt1yoAvLMNs4ekWSSQ,243
@@ -43,11 +43,11 @@ fastlife/adapters/jinjax/widgets/sequence.py,sha256=aL93-ytj6nlbT8vumt3br6Jq8D97
43
43
  fastlife/adapters/jinjax/widgets/text.py,sha256=XKpoLoBNsvQhHrezKCEcXlF9iQzuclXGaeFu6uq9_5A,3390
44
44
  fastlife/adapters/jinjax/widgets/union.py,sha256=tSbiylgBOcvQl3b3SVoXRsdpVqvxVpQAlLuMk1EjTTc,2630
45
45
  fastlife/adapters/xcomponent/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
46
- fastlife/adapters/xcomponent/catalog.py,sha256=i-_HUmAXgtDCl7uHB6EBGncAlt8qtiYEo_zCbeQsnZs,209
46
+ fastlife/adapters/xcomponent/catalog.py,sha256=iQ2UxqNgrMCl-0ookxPzmEhWOs34qYUeSMM95DQygNc,288
47
47
  fastlife/adapters/xcomponent/html/__init__.py,sha256=MliLg_8CfMP63GWnRWkia2J_xfBDY5Cr6qO5875IqCE,250
48
48
  fastlife/adapters/xcomponent/html/collapsible.py,sha256=9H8JvTHvg-oJGfmk327xp2MzGKDKQDo6ZbzhDQhBcTI,2191
49
- fastlife/adapters/xcomponent/html/form.py,sha256=TD_cvET1FYqEOJTCED0LMGm25CvZRr48w0_rvEa1oT0,11546
50
- fastlife/adapters/xcomponent/html/nav.py,sha256=k3IlsBPny7kMlgG0ZHx3I2KVQRQs2PW0OMZvqHcQXNo,1940
49
+ fastlife/adapters/xcomponent/html/form.py,sha256=XJazUC9mZttoLiTDASy9MVyFwx8RshB72f1ze1ZJAdA,11685
50
+ fastlife/adapters/xcomponent/html/nav.py,sha256=BU9vlXNRhqqb8vrw9YZTfSFbLTImb0lquPOaIxdt6IU,2035
51
51
  fastlife/adapters/xcomponent/html/table.py,sha256=f-Lir3XxOQUVlUWfSXlPoKwSZ3nROhDqcrEN_g0TMbA,2678
52
52
  fastlife/adapters/xcomponent/html/text.py,sha256=Qv1mJx1_xoAZpojiEDfKjrkOBHTa2dQo1J-l4Qpwe_E,699
53
53
  fastlife/adapters/xcomponent/html/title.py,sha256=2-n4cs37medT6ovrw1-pUlNRxE3SzZNaDFo0VB5t2OM,3564
@@ -1728,7 +1728,7 @@ fastlife/components/pydantic_form/FatalError.jinja,sha256=ADtQvmo-e-NmDcFM1E6wZV
1728
1728
  fastlife/components/pydantic_form/Hint.jinja,sha256=8leBpfMGDmalc_KAjr2paTojr_rwq-luS6m_1BGj7Tw,202
1729
1729
  fastlife/components/pydantic_form/Widget.jinja,sha256=PgguUpvhG6CY9AW6H8qQMjKqjlybjDCAaFFAOHzrzVQ,418
1730
1730
  fastlife/config/__init__.py,sha256=5qpuaVYqi-AS0GgsfggM6rFsSwXgrqrLBo9jH6dVroc,407
1731
- fastlife/config/configurator.py,sha256=hywJJokDiLOgM7gTAHZx_NSZQrUH_I6X0NzyhdF1vdU,24985
1731
+ fastlife/config/configurator.py,sha256=bOGDKHCGetTbwi6eUuAJ6jqlytFacMdR7iPIDuTfv3U,24997
1732
1732
  fastlife/config/exceptions.py,sha256=9MdBnbfy-Aw-KaIFzju0Kh8Snk41-v9LqK2w48Tdy1s,1169
1733
1733
  fastlife/config/openapiextra.py,sha256=rYoerrn9sni2XwnO3gIWqaz7M0aDZPhVLjzqhDxue0o,514
1734
1734
  fastlife/config/resources.py,sha256=stKCuZQGgiDW9xTrTNxKMb_JzkgkM1Ubum1b7OK4Lm4,8780
@@ -1772,8 +1772,8 @@ fastlife/testing/session.py,sha256=LEFFbiR67_x_g-ioudkY0C7PycHdbDfaIaoo_G7GXQ8,2
1772
1772
  fastlife/testing/testclient.py,sha256=gqgHQalhrLLZ8eveN2HeuoG9ne8CwxCm-Ll4b7jo9Xo,7249
1773
1773
  fastlife/views/__init__.py,sha256=zG8gveL8e2zBdYx6_9jtZfpQ6qJT-MFnBY3xXkLwHZI,22
1774
1774
  fastlife/views/pydantic_form.py,sha256=9lcS14jxddIpoN_n4VqWwU8CKhKZ8AtoD3c1Pdc-Oe4,1651
1775
- fastlifeweb-0.28.4.dist-info/METADATA,sha256=zY_fHOloukiwaaoRrYZMPEof3ZPHgPbkqDd4apqVdjk,3979
1776
- fastlifeweb-0.28.4.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
1777
- fastlifeweb-0.28.4.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
1778
- fastlifeweb-0.28.4.dist-info/licenses/LICENSE,sha256=JFWuiKYRXKKMEAsX0aZp3hBcju-HYflJ2rwJAGwbCJo,1080
1779
- fastlifeweb-0.28.4.dist-info/RECORD,,
1775
+ fastlifeweb-0.28.6.dist-info/METADATA,sha256=lxocN6fEv9GDupATO4a_UeJJK2EgaUm2RdSBCex4ZXk,3975
1776
+ fastlifeweb-0.28.6.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
1777
+ fastlifeweb-0.28.6.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
1778
+ fastlifeweb-0.28.6.dist-info/licenses/LICENSE,sha256=JFWuiKYRXKKMEAsX0aZp3hBcju-HYflJ2rwJAGwbCJo,1080
1779
+ fastlifeweb-0.28.6.dist-info/RECORD,,