about summary refs log tree commit diff
path: root/src/components/Toast/types.ts
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2025-07-31 10:15:35 -0500
committerGitHub <noreply@github.com>2025-07-31 10:15:35 -0500
commit3bcfcba6d8176bac03202b496110915da748b0f1 (patch)
tree68c75c7c80945a8a5f5a32522dd9aa29f119e02a /src/components/Toast/types.ts
parent33e071494881b13696e24b334857e594f29a4b1d (diff)
downloadvoidsky-3bcfcba6d8176bac03202b496110915da748b0f1.tar.zst
Some toasts cleanup and reorg (#8748)
* Reorg

* Move animation into css file

* Update style comment

* Extract core component, use platform-specific wrappers

* Pull out platform specific styles

* Just move styles into Toast component itself

* Rename cleanup

* Update API

* Add duration optional prop

* Add some type docs

* add exp eased slide aniamtions

* Make toasts full width on mobile web

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Diffstat (limited to 'src/components/Toast/types.ts')
-rw-r--r--src/components/Toast/types.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/components/Toast/types.ts b/src/components/Toast/types.ts
new file mode 100644
index 000000000..9f1245fa2
--- /dev/null
+++ b/src/components/Toast/types.ts
@@ -0,0 +1,24 @@
+export type ToastType = 'default' | 'success' | 'error' | 'warning' | 'info'
+
+export type ToastApi = {
+  show: (props: {
+    /**
+     * The type of toast to show. This determines the styling and icon used.
+     */
+    type: ToastType
+    /**
+     * A string, `Text`, or `Span` components to render inside the toast. This
+     * allows additional formatting of the content, but should not be used for
+     * interactive elements link links or buttons.
+     */
+    content: React.ReactNode | string
+    /**
+     * Accessibility label for the toast, used for screen readers.
+     */
+    a11yLabel: string
+    /**
+     * Defaults to `DEFAULT_TOAST_DURATION` from `#components/Toast/const`.
+     */
+    duration?: number
+  }) => void
+}