Просмотр исходного кода

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 месяцев назад
Родитель
Сommit
bffff01acb
2 измененных файлов с 16 добавлено и 5 удалено
  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,