Selaa lähdekoodia

Add datetime to moment (#4381)

* Add datetime to moment

* Remove recharts update

* Support other formats

* simplify

* Precommit

* PYI

* change imports for pyi compat

---------

Co-authored-by: Alek Petuskey <alekpetuskey@Aleks-MacBook-Pro.local>
Co-authored-by: Masen Furer <m_github@0x26.net>
Alek Petuskey 6 kuukautta sitten
vanhempi
säilyke
bffff01acb
2 muutettua tiedostoa jossa 16 lisäystä ja 5 poistoa
  1. 4 3
      reflex/components/moment/moment.py
  2. 12 2
      reflex/components/moment/moment.pyi

+ 4 - 3
reflex/components/moment/moment.py

@@ -1,7 +1,8 @@
 """Moment component for humanized date rendering."""
 """Moment component for humanized date rendering."""
 
 
 import dataclasses
 import dataclasses
-from typing import List, Optional
+from datetime import date, datetime, time, timedelta
+from typing import List, Optional, Union
 
 
 from reflex.components.component import NoSSRComponent
 from reflex.components.component import NoSSRComponent
 from reflex.event import EventHandler, passthrough_event_spec
 from reflex.event import EventHandler, passthrough_event_spec
@@ -19,7 +20,7 @@ class MomentDelta:
     weeks: Optional[int] = dataclasses.field(default=None)
     weeks: Optional[int] = dataclasses.field(default=None)
     days: Optional[int] = dataclasses.field(default=None)
     days: Optional[int] = dataclasses.field(default=None)
     hours: Optional[int] = dataclasses.field(default=None)
     hours: Optional[int] = dataclasses.field(default=None)
-    minutess: Optional[int] = dataclasses.field(default=None)
+    minutes: Optional[int] = dataclasses.field(default=None)
     seconds: Optional[int] = dataclasses.field(default=None)
     seconds: Optional[int] = dataclasses.field(default=None)
     milliseconds: Optional[int] = dataclasses.field(default=None)
     milliseconds: Optional[int] = dataclasses.field(default=None)
 
 
@@ -78,7 +79,7 @@ class Moment(NoSSRComponent):
     duration: Var[str]
     duration: Var[str]
 
 
     # The date to display (also work if passed as children).
     # The date to display (also work if passed as children).
-    date: Var[str]
+    date: Var[Union[str, datetime, date, time, timedelta]]
 
 
     # Shows the duration (elapsed time) between now and the provided datetime.
     # Shows the duration (elapsed time) between now and the provided datetime.
     duration_from_now: Var[bool]
     duration_from_now: Var[bool]

+ 12 - 2
reflex/components/moment/moment.pyi

@@ -4,6 +4,7 @@
 # This file was generated by `reflex/utils/pyi_generator.py`!
 # This file was generated by `reflex/utils/pyi_generator.py`!
 # ------------------------------------------------------
 # ------------------------------------------------------
 import dataclasses
 import dataclasses
+from datetime import date, datetime, time, timedelta
 from typing import Any, Dict, Optional, Union, overload
 from typing import Any, Dict, Optional, Union, overload
 
 
 from reflex.components.component import NoSSRComponent
 from reflex.components.component import NoSSRComponent
@@ -20,7 +21,7 @@ class MomentDelta:
     weeks: Optional[int]
     weeks: Optional[int]
     days: Optional[int]
     days: Optional[int]
     hours: Optional[int]
     hours: Optional[int]
-    minutess: Optional[int]
+    minutes: Optional[int]
     seconds: Optional[int]
     seconds: Optional[int]
     milliseconds: Optional[int]
     milliseconds: Optional[int]
 
 
@@ -46,7 +47,16 @@ class Moment(NoSSRComponent):
         decimal: Optional[Union[Var[bool], bool]] = None,
         decimal: Optional[Union[Var[bool], bool]] = None,
         unit: Optional[Union[Var[str], str]] = None,
         unit: Optional[Union[Var[str], str]] = None,
         duration: Optional[Union[Var[str], str]] = None,
         duration: Optional[Union[Var[str], str]] = None,
-        date: Optional[Union[Var[str], str]] = None,
+        date: Optional[
+            Union[
+                Var[Union[date, datetime, str, time, timedelta]],
+                date,
+                datetime,
+                str,
+                time,
+                timedelta,
+            ]
+        ] = None,
         duration_from_now: Optional[Union[Var[bool], bool]] = None,
         duration_from_now: Optional[Union[Var[bool], bool]] = None,
         unix: Optional[Union[Var[bool], bool]] = None,
         unix: Optional[Union[Var[bool], bool]] = None,
         local: Optional[Union[Var[bool], bool]] = None,
         local: Optional[Union[Var[bool], bool]] = None,