From e4c31b60506f25a321bea00779269ef0ed7c86e1 Mon Sep 17 00:00:00 2001 From: elio2t Date: Tue, 15 Oct 2024 17:19:17 +0200 Subject: [PATCH] feat: add toast delay property --- demo/components_list.py | 1 + src/npm-fastui-bootstrap/src/toast.tsx | 10 ++++++++-- src/npm-fastui/src/models.d.ts | 1 + src/python-fastui/fastui/components/__init__.py | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/demo/components_list.py b/demo/components_list.py index 8132fca1..4c4e1032 100644 --- a/demo/components_list.py +++ b/demo/components_list.py @@ -292,6 +292,7 @@ class Delivery(BaseModel): body=[c.Paragraph(text='This is a toast.')], open_trigger=PageEvent(name='show-toast'), position='bottom-end', + delay=5000, ), ], class_name='border-top mt-3 pt-1', diff --git a/src/npm-fastui-bootstrap/src/toast.tsx b/src/npm-fastui-bootstrap/src/toast.tsx index 989d6949..159b4965 100644 --- a/src/npm-fastui-bootstrap/src/toast.tsx +++ b/src/npm-fastui-bootstrap/src/toast.tsx @@ -4,14 +4,20 @@ import BootstrapToast from 'react-bootstrap/Toast' import BootstrapToastContainer from 'react-bootstrap/ToastContainer' export const Toast: FC = (props) => { - const { className, title, body, position, openTrigger, openContext } = props + const { className, title, body, position, delay, openTrigger, openContext } = props const { eventContext, fireId, clear } = events.usePageEventListen(openTrigger, openContext) return ( - + {title} diff --git a/src/npm-fastui/src/models.d.ts b/src/npm-fastui/src/models.d.ts index 91fc18ad..db9db3c0 100644 --- a/src/npm-fastui/src/models.d.ts +++ b/src/npm-fastui/src/models.d.ts @@ -575,6 +575,7 @@ export interface Toast { | 'bottom-start' | 'bottom-center' | 'bottom-end' + delay?: number openTrigger?: PageEvent openContext?: ContextType className?: ClassName diff --git a/src/python-fastui/fastui/components/__init__.py b/src/python-fastui/fastui/components/__init__.py index f74fafc2..6f3c386e 100644 --- a/src/python-fastui/fastui/components/__init__.py +++ b/src/python-fastui/fastui/components/__init__.py @@ -565,6 +565,9 @@ class Toast(BaseModel, extra='forbid'): ] = None """Optional position of the toast.""" + delay: _t.Union[int, None] = None + """Optional delay of the toast.""" + open_trigger: _t.Union[events.PageEvent, None] = None """Optional event to trigger when the toast is opened."""