@ttt-productions/ui-core 0.11.32 → 0.11.34
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.
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/reload-recovery-watch.d.ts +2 -2
- package/dist/browser/reload-recovery-watch.d.ts.map +1 -1
- package/dist/browser/reload-recovery-watch.js +5 -5
- package/dist/browser/reload-recovery-watch.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/format-numbers.js +2 -2
- package/dist/lib/format-numbers.js.map +1 -1
- package/dist/lib/reload-recovery.js +13 -13
- package/dist/lib/reload-recovery.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/react/components/accordion.d.ts +2 -2
- package/dist/react/components/accordion.d.ts.map +1 -1
- package/dist/react/components/accordion.js +8 -8
- package/dist/react/components/accordion.js.map +1 -1
- package/dist/react/components/action-row.d.ts +32 -0
- package/dist/react/components/action-row.d.ts.map +1 -0
- package/dist/react/components/action-row.js +16 -0
- package/dist/react/components/action-row.js.map +1 -0
- package/dist/react/components/alert-dialog.d.ts +2 -2
- package/dist/react/components/alert-dialog.d.ts.map +1 -1
- package/dist/react/components/alert-dialog.js +15 -15
- package/dist/react/components/alert-dialog.js.map +1 -1
- package/dist/react/components/alert.d.ts +2 -2
- package/dist/react/components/alert.d.ts.map +1 -1
- package/dist/react/components/alert.js +12 -12
- package/dist/react/components/alert.js.map +1 -1
- package/dist/react/components/avatar.d.ts +2 -2
- package/dist/react/components/avatar.d.ts.map +1 -1
- package/dist/react/components/avatar.js +7 -7
- package/dist/react/components/avatar.js.map +1 -1
- package/dist/react/components/badge.d.ts +2 -2
- package/dist/react/components/badge.d.ts.map +1 -1
- package/dist/react/components/badge.js +9 -9
- package/dist/react/components/badge.js.map +1 -1
- package/dist/react/components/button.d.ts +2 -2
- package/dist/react/components/button.d.ts.map +1 -1
- package/dist/react/components/button.js +28 -28
- package/dist/react/components/button.js.map +1 -1
- package/dist/react/components/card.d.ts +1 -1
- package/dist/react/components/card.d.ts.map +1 -1
- package/dist/react/components/card.js +15 -15
- package/dist/react/components/card.js.map +1 -1
- package/dist/react/components/checkbox.d.ts +2 -2
- package/dist/react/components/checkbox.d.ts.map +1 -1
- package/dist/react/components/checkbox.js +6 -6
- package/dist/react/components/checkbox.js.map +1 -1
- package/dist/react/components/collapsible.d.ts +1 -1
- package/dist/react/components/collapsible.d.ts.map +1 -1
- package/dist/react/components/collapsible.js +2 -2
- package/dist/react/components/collapsible.js.map +1 -1
- package/dist/react/components/consequence-dialog.d.ts.map +1 -1
- package/dist/react/components/consequence-dialog.js +4 -2
- package/dist/react/components/consequence-dialog.js.map +1 -1
- package/dist/react/components/date-picker.d.ts +1 -1
- package/dist/react/components/date-picker.d.ts.map +1 -1
- package/dist/react/components/date-picker.js +102 -66
- package/dist/react/components/date-picker.js.map +1 -1
- package/dist/react/components/date-time-picker.d.ts +1 -1
- package/dist/react/components/date-time-picker.d.ts.map +1 -1
- package/dist/react/components/date-time-picker.js +20 -18
- package/dist/react/components/date-time-picker.js.map +1 -1
- package/dist/react/components/dialog.d.ts +2 -2
- package/dist/react/components/dialog.d.ts.map +1 -1
- package/dist/react/components/dialog.js +14 -14
- package/dist/react/components/dialog.js.map +1 -1
- package/dist/react/components/dropdown-menu.d.ts +2 -2
- package/dist/react/components/dropdown-menu.d.ts.map +1 -1
- package/dist/react/components/dropdown-menu.js +23 -18
- package/dist/react/components/dropdown-menu.js.map +1 -1
- package/dist/react/components/end-of-list-indicator.d.ts +1 -1
- package/dist/react/components/end-of-list-indicator.js +3 -3
- package/dist/react/components/end-of-list-indicator.js.map +1 -1
- package/dist/react/components/form.d.ts +3 -3
- package/dist/react/components/form.d.ts.map +1 -1
- package/dist/react/components/form.js +17 -17
- package/dist/react/components/form.js.map +1 -1
- package/dist/react/components/format-control.d.ts +12 -5
- package/dist/react/components/format-control.d.ts.map +1 -1
- package/dist/react/components/format-control.js +23 -7
- package/dist/react/components/format-control.js.map +1 -1
- package/dist/react/components/input.d.ts +10 -10
- package/dist/react/components/input.d.ts.map +1 -1
- package/dist/react/components/input.js +11 -7
- package/dist/react/components/input.js.map +1 -1
- package/dist/react/components/label.d.ts +3 -3
- package/dist/react/components/label.d.ts.map +1 -1
- package/dist/react/components/label.js +6 -6
- package/dist/react/components/label.js.map +1 -1
- package/dist/react/components/layout/screen-adaptive-view.d.ts +2 -2
- package/dist/react/components/layout/screen-adaptive-view.d.ts.map +1 -1
- package/dist/react/components/layout/screen-adaptive-view.js +39 -35
- package/dist/react/components/layout/screen-adaptive-view.js.map +1 -1
- package/dist/react/components/list-pagination.d.ts +1 -1
- package/dist/react/components/list-pagination.js +10 -10
- package/dist/react/components/list-pagination.js.map +1 -1
- package/dist/react/components/menubar.d.ts +2 -2
- package/dist/react/components/menubar.d.ts.map +1 -1
- package/dist/react/components/menubar.js +17 -17
- package/dist/react/components/menubar.js.map +1 -1
- package/dist/react/components/opener-focus.d.ts +1 -1
- package/dist/react/components/opener-focus.d.ts.map +1 -1
- package/dist/react/components/opener-focus.js +3 -3
- package/dist/react/components/opener-focus.js.map +1 -1
- package/dist/react/components/pending-guard.d.ts +1 -1
- package/dist/react/components/pending-guard.d.ts.map +1 -1
- package/dist/react/components/pending-guard.js +1 -1
- package/dist/react/components/pending-guard.js.map +1 -1
- package/dist/react/components/popover.d.ts +2 -2
- package/dist/react/components/popover.d.ts.map +1 -1
- package/dist/react/components/popover.js +5 -5
- package/dist/react/components/popover.js.map +1 -1
- package/dist/react/components/progress.d.ts +2 -2
- package/dist/react/components/progress.d.ts.map +1 -1
- package/dist/react/components/progress.js +5 -5
- package/dist/react/components/progress.js.map +1 -1
- package/dist/react/components/radio-group.d.ts +2 -2
- package/dist/react/components/radio-group.d.ts.map +1 -1
- package/dist/react/components/radio-group.js +7 -7
- package/dist/react/components/radio-group.js.map +1 -1
- package/dist/react/components/relative-time.d.ts +1 -1
- package/dist/react/components/relative-time.d.ts.map +1 -1
- package/dist/react/components/relative-time.js +8 -7
- package/dist/react/components/relative-time.js.map +1 -1
- package/dist/react/components/reload-recovery-notice.d.ts +3 -3
- package/dist/react/components/reload-recovery-notice.js +7 -7
- package/dist/react/components/reload-recovery-notice.js.map +1 -1
- package/dist/react/components/scroll-area.d.ts +2 -2
- package/dist/react/components/scroll-area.d.ts.map +1 -1
- package/dist/react/components/scroll-area.js +6 -8
- package/dist/react/components/scroll-area.js.map +1 -1
- package/dist/react/components/scroll-to-top-button.d.ts +5 -5
- package/dist/react/components/scroll-to-top-button.js +9 -9
- package/dist/react/components/scroll-to-top-button.js.map +1 -1
- package/dist/react/components/search-dropdown.d.ts.map +1 -1
- package/dist/react/components/search-dropdown.js +8 -3
- package/dist/react/components/search-dropdown.js.map +1 -1
- package/dist/react/components/select.d.ts +2 -2
- package/dist/react/components/select.d.ts.map +1 -1
- package/dist/react/components/select.js +19 -19
- package/dist/react/components/select.js.map +1 -1
- package/dist/react/components/separator.d.ts +2 -2
- package/dist/react/components/separator.d.ts.map +1 -1
- package/dist/react/components/separator.js +5 -5
- package/dist/react/components/separator.js.map +1 -1
- package/dist/react/components/sheet.d.ts +3 -3
- package/dist/react/components/sheet.d.ts.map +1 -1
- package/dist/react/components/sheet.js +21 -21
- package/dist/react/components/sheet.js.map +1 -1
- package/dist/react/components/show-more-toggle.d.ts +2 -2
- package/dist/react/components/show-more-toggle.d.ts.map +1 -1
- package/dist/react/components/show-more-toggle.js +6 -6
- package/dist/react/components/show-more-toggle.js.map +1 -1
- package/dist/react/components/skeleton.d.ts +1 -1
- package/dist/react/components/skeleton.d.ts.map +1 -1
- package/dist/react/components/skeleton.js +3 -3
- package/dist/react/components/skeleton.js.map +1 -1
- package/dist/react/components/slider.d.ts +2 -2
- package/dist/react/components/slider.d.ts.map +1 -1
- package/dist/react/components/slider.js +5 -5
- package/dist/react/components/slider.js.map +1 -1
- package/dist/react/components/spinner.d.ts +1 -1
- package/dist/react/components/spinner.d.ts.map +1 -1
- package/dist/react/components/spinner.js +10 -10
- package/dist/react/components/spinner.js.map +1 -1
- package/dist/react/components/switch.d.ts +2 -2
- package/dist/react/components/switch.d.ts.map +1 -1
- package/dist/react/components/switch.js +13 -8
- package/dist/react/components/switch.js.map +1 -1
- package/dist/react/components/table.d.ts +2 -2
- package/dist/react/components/table.d.ts.map +1 -1
- package/dist/react/components/table.js +24 -24
- package/dist/react/components/table.js.map +1 -1
- package/dist/react/components/tabs.d.ts +2 -2
- package/dist/react/components/tabs.d.ts.map +1 -1
- package/dist/react/components/tabs.js +7 -7
- package/dist/react/components/tabs.js.map +1 -1
- package/dist/react/components/textarea.d.ts +5 -5
- package/dist/react/components/textarea.d.ts.map +1 -1
- package/dist/react/components/textarea.js +11 -7
- package/dist/react/components/textarea.js.map +1 -1
- package/dist/react/components/toast.d.ts +4 -4
- package/dist/react/components/toast.d.ts.map +1 -1
- package/dist/react/components/toast.js +25 -25
- package/dist/react/components/toast.js.map +1 -1
- package/dist/react/components/toaster.d.ts.map +1 -1
- package/dist/react/components/toaster.js +5 -5
- package/dist/react/components/toaster.js.map +1 -1
- package/dist/react/components/tooltip.d.ts +2 -2
- package/dist/react/components/tooltip.d.ts.map +1 -1
- package/dist/react/components/tooltip.js +5 -5
- package/dist/react/components/tooltip.js.map +1 -1
- package/dist/react/hooks/use-async-action.js +2 -2
- package/dist/react/hooks/use-async-action.js.map +1 -1
- package/dist/react/hooks/use-cursor-page.d.ts +1 -1
- package/dist/react/hooks/use-cursor-page.js +2 -2
- package/dist/react/hooks/use-cursor-page.js.map +1 -1
- package/dist/react/hooks/use-media-query.js +5 -5
- package/dist/react/hooks/use-media-query.js.map +1 -1
- package/dist/react/hooks/use-paged-list.js +2 -2
- package/dist/react/hooks/use-paged-list.js.map +1 -1
- package/dist/react/hooks/use-return-scroll.d.ts +1 -1
- package/dist/react/hooks/use-return-scroll.d.ts.map +1 -1
- package/dist/react/hooks/use-return-scroll.js +11 -11
- package/dist/react/hooks/use-return-scroll.js.map +1 -1
- package/dist/react/hooks/use-toast.d.ts +3 -3
- package/dist/react/hooks/use-toast.d.ts.map +1 -1
- package/dist/react/hooks/use-toast.js +17 -17
- package/dist/react/hooks/use-toast.js.map +1 -1
- package/dist/react/index.d.ts +74 -72
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +51 -50
- package/dist/react/index.js.map +1 -1
- package/package.json +8 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
// Return-scroll: bring a list back to where the user left it after a REAL route change.
|
|
3
3
|
//
|
|
4
4
|
// A same-page view swap keeps its component mounted and can restore from a ref; a list
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
// React Strict Mode's mount/unmount/mount cancels and reschedules, so exactly one
|
|
20
20
|
// scroll happens and the entry is consumed exactly once.
|
|
21
21
|
// - Blocked, unavailable, or malformed storage is a silent no-op.
|
|
22
|
-
import * as React from
|
|
23
|
-
const STORAGE_PREFIX =
|
|
22
|
+
import * as React from 'react';
|
|
23
|
+
const STORAGE_PREFIX = 'return-scroll:';
|
|
24
24
|
function storageKey(key) {
|
|
25
25
|
return `${STORAGE_PREFIX}${key}`;
|
|
26
26
|
}
|
|
27
27
|
function sessionStorageOrNull() {
|
|
28
28
|
try {
|
|
29
|
-
if (typeof window ===
|
|
29
|
+
if (typeof window === 'undefined')
|
|
30
30
|
return null;
|
|
31
31
|
return window.sessionStorage ?? null;
|
|
32
32
|
}
|
|
@@ -44,12 +44,12 @@ export function readReturnScroll(key) {
|
|
|
44
44
|
if (!raw)
|
|
45
45
|
return null;
|
|
46
46
|
const parsed = JSON.parse(raw);
|
|
47
|
-
if (typeof parsed !==
|
|
47
|
+
if (typeof parsed !== 'object' || parsed === null)
|
|
48
48
|
return null;
|
|
49
49
|
const { y, savedAt } = parsed;
|
|
50
|
-
if (typeof y !==
|
|
50
|
+
if (typeof y !== 'number' || !Number.isFinite(y) || y < 0)
|
|
51
51
|
return null;
|
|
52
|
-
return { y, savedAt: typeof savedAt ===
|
|
52
|
+
return { y, savedAt: typeof savedAt === 'number' ? savedAt : 0 };
|
|
53
53
|
}
|
|
54
54
|
catch {
|
|
55
55
|
return null;
|
|
@@ -61,7 +61,7 @@ export function saveReturnScroll(key, y) {
|
|
|
61
61
|
if (!storage)
|
|
62
62
|
return;
|
|
63
63
|
try {
|
|
64
|
-
const offset = typeof y ===
|
|
64
|
+
const offset = typeof y === 'number' ? y : window.scrollY;
|
|
65
65
|
const entry = { y: offset, savedAt: Date.now() };
|
|
66
66
|
storage.setItem(storageKey(key), JSON.stringify(entry));
|
|
67
67
|
}
|
|
@@ -81,7 +81,7 @@ export function clearReturnScroll(key) {
|
|
|
81
81
|
/* nothing to clear */
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
export function useReturnScroll({ key, eligible, ready }) {
|
|
84
|
+
export function useReturnScroll({ key, eligible, ready, }) {
|
|
85
85
|
const decisionRef = React.useRef(null);
|
|
86
86
|
// Decide ONCE per key, the first time the hook sees it. Effects may read and write refs;
|
|
87
87
|
// the decision is latched, so a later `eligible` flip finds it already made and returns.
|
|
@@ -107,11 +107,11 @@ export function useReturnScroll({ key, eligible, ready }) {
|
|
|
107
107
|
const decision = decisionRef.current;
|
|
108
108
|
if (!decision || decision.key !== key || decision.y === null || decision.done || !ready)
|
|
109
109
|
return;
|
|
110
|
-
if (typeof window ===
|
|
110
|
+
if (typeof window === 'undefined')
|
|
111
111
|
return;
|
|
112
112
|
const y = decision.y;
|
|
113
113
|
const frame = window.requestAnimationFrame(() => {
|
|
114
|
-
window.scrollTo({ top: y, left: 0, behavior:
|
|
114
|
+
window.scrollTo({ top: y, left: 0, behavior: 'instant' });
|
|
115
115
|
clearReturnScroll(key);
|
|
116
116
|
decision.done = true;
|
|
117
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-return-scroll.js","sourceRoot":"","sources":["../../../src/react/hooks/use-return-scroll.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-return-scroll.js","sourceRoot":"","sources":["../../../src/react/hooks/use-return-scroll.ts"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\n// Return-scroll: bring a list back to where the user left it after a REAL route change.\n//\n// A same-page view swap keeps its component mounted and can restore from a ref; a list\n// whose detail pages have their own URLs unmounts, so the offset has to survive in\n// per-tab storage and the restore has to wait until the list is displayed at its real\n// height again. This hook is the ONE owner of that mechanism. It knows nothing about\n// what the list is — the caller supplies a canonical key, decides eligibility once at\n// mount, and reports readiness.\n//\n// Contract (every rule below is tested):\n// - `save()` writes { y, savedAt } for `key` — call it immediately before navigating\n// away (inside any guarded-navigation callback, so a cancelled leave writes nothing).\n// - `eligible` is latched per key the first time the hook sees that key. Not eligible\n// ⇒ the entry is deleted immediately and permanently for that key; a later flip\n// of `eligible` or `ready` never re-arms the restore.\n// - `ready` ⇒ the restore fires ONCE, in a requestAnimationFrame, `behavior: \"instant\"`,\n// then consumes the entry. The scheduled frame is cancelled on unmount or key change.\n// React Strict Mode's mount/unmount/mount cancels and reschedules, so exactly one\n// scroll happens and the entry is consumed exactly once.\n// - Blocked, unavailable, or malformed storage is a silent no-op.\n\nimport * as React from 'react';\n\nconst STORAGE_PREFIX = 'return-scroll:';\n\nexport interface ReturnScrollEntry {\n /** The saved `window.scrollY`. */\n y: number;\n /** Epoch ms at save time (diagnostic; the caller decides eligibility, not the hook). */\n savedAt: number;\n}\n\nexport interface UseReturnScrollOptions {\n /** The caller's CANONICAL list URL — equivalent list states must give the same key. */\n key: string;\n /** Decided by the caller ONCE at mount (e.g. \"the list's data was already cached on first render\"). */\n eligible: boolean;\n /** The list is displayed at its real height: data present, no error surface in its place. */\n ready: boolean;\n}\n\nexport interface UseReturnScrollResult {\n /** Record the current window offset for `key`. Call right before navigating away. */\n save: () => void;\n}\n\nfunction storageKey(key: string): string {\n return `${STORAGE_PREFIX}${key}`;\n}\n\nfunction sessionStorageOrNull(): Storage | null {\n try {\n if (typeof window === 'undefined') return null;\n return window.sessionStorage ?? null;\n } catch {\n return null;\n }\n}\n\n/** The stored entry for `key`, or null when absent, unreadable, or malformed. */\nexport function readReturnScroll(key: string): ReturnScrollEntry | null {\n const storage = sessionStorageOrNull();\n if (!storage) return null;\n try {\n const raw = storage.getItem(storageKey(key));\n if (!raw) return null;\n const parsed: unknown = JSON.parse(raw);\n if (typeof parsed !== 'object' || parsed === null) return null;\n const { y, savedAt } = parsed as { y?: unknown; savedAt?: unknown };\n if (typeof y !== 'number' || !Number.isFinite(y) || y < 0) return null;\n return { y, savedAt: typeof savedAt === 'number' ? savedAt : 0 };\n } catch {\n return null;\n }\n}\n\n/** Record `y` (default: the current `window.scrollY`) for `key`. No-op without storage. */\nexport function saveReturnScroll(key: string, y?: number): void {\n const storage = sessionStorageOrNull();\n if (!storage) return;\n try {\n const offset = typeof y === 'number' ? y : window.scrollY;\n const entry: ReturnScrollEntry = { y: offset, savedAt: Date.now() };\n storage.setItem(storageKey(key), JSON.stringify(entry));\n } catch {\n /* storage blocked or full — nothing to restore later, which is the honest outcome */\n }\n}\n\n/** Drop the entry for `key` (e.g. the list changed underneath the saved offset). */\nexport function clearReturnScroll(key: string): void {\n const storage = sessionStorageOrNull();\n if (!storage) return;\n try {\n storage.removeItem(storageKey(key));\n } catch {\n /* nothing to clear */\n }\n}\n\ninterface Decision {\n key: string;\n /** The offset to restore, or null when this key's return is not restorable. */\n y: number | null;\n done: boolean;\n}\n\nexport function useReturnScroll({\n key,\n eligible,\n ready,\n}: UseReturnScrollOptions): UseReturnScrollResult {\n const decisionRef = React.useRef<Decision | null>(null);\n\n // Decide ONCE per key, the first time the hook sees it. Effects may read and write refs;\n // the decision is latched, so a later `eligible` flip finds it already made and returns.\n React.useEffect(() => {\n if (decisionRef.current?.key === key) return;\n const entry = readReturnScroll(key);\n if (!entry) {\n decisionRef.current = { key, y: null, done: true };\n return;\n }\n if (!eligible) {\n // A cold return: nothing cached to restore against. Discard permanently for this visit.\n clearReturnScroll(key);\n decisionRef.current = { key, y: null, done: true };\n return;\n }\n decisionRef.current = { key, y: entry.y, done: false };\n }, [key, eligible]);\n\n // Restore once the list is displayed at its real height. The frame is cancelled on unmount\n // or key change; Strict Mode's re-run reschedules it, so exactly one scroll happens.\n React.useEffect(() => {\n const decision = decisionRef.current;\n if (!decision || decision.key !== key || decision.y === null || decision.done || !ready) return;\n if (typeof window === 'undefined') return;\n const y = decision.y;\n const frame = window.requestAnimationFrame(() => {\n window.scrollTo({ top: y, left: 0, behavior: 'instant' as ScrollBehavior });\n clearReturnScroll(key);\n decision.done = true;\n });\n return () => window.cancelAnimationFrame(frame);\n }, [key, ready]);\n\n const save = React.useCallback(() => saveReturnScroll(key), [key]);\n\n return { save };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
export type ToastVariant =
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type ToastVariant = 'default' | 'destructive' | 'success' | 'warning' | 'error';
|
|
3
3
|
export type ToasterToast = {
|
|
4
4
|
id: string;
|
|
5
5
|
title?: React.ReactNode;
|
|
@@ -21,7 +21,7 @@ export type ToasterToast = {
|
|
|
21
21
|
persistent?: boolean;
|
|
22
22
|
};
|
|
23
23
|
type ToastProps = ToasterToast;
|
|
24
|
-
export declare function toast(input: Omit<ToastProps,
|
|
24
|
+
export declare function toast(input: Omit<ToastProps, 'id'>): {
|
|
25
25
|
id: string;
|
|
26
26
|
dismiss: () => void;
|
|
27
27
|
update: (props: Partial<ToastProps>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,SAAS;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAuF/B,wBAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;;;oBAQ1B,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,SAAS;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG,YAAY,CAAC;AAuF/B,wBAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;;;oBAQ1B,OAAO,CAAC,UAAU,CAAC;EAyB3C;AAED,wBAAgB,QAAQ;;wBAcA,MAAM;YA/HpB,UAAU,EAAE;EAoIrB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as React from
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
const TOAST_LIMIT = 3;
|
|
3
3
|
// Time between Radix flipping `open=false` and the toast actually unmounting.
|
|
4
4
|
// Just long enough for the close animation to finish. Larger values produce a
|
|
@@ -9,14 +9,14 @@ const listeners = [];
|
|
|
9
9
|
let memoryState = { toasts: [] };
|
|
10
10
|
const reducer = (state, action) => {
|
|
11
11
|
switch (action.type) {
|
|
12
|
-
case
|
|
12
|
+
case 'ADD_TOAST':
|
|
13
13
|
return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) };
|
|
14
|
-
case
|
|
14
|
+
case 'UPDATE_TOAST':
|
|
15
15
|
return {
|
|
16
16
|
...state,
|
|
17
17
|
toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),
|
|
18
18
|
};
|
|
19
|
-
case
|
|
19
|
+
case 'DISMISS_TOAST': {
|
|
20
20
|
const { toastId } = action;
|
|
21
21
|
if (toastId) {
|
|
22
22
|
return {
|
|
@@ -26,7 +26,7 @@ const reducer = (state, action) => {
|
|
|
26
26
|
}
|
|
27
27
|
return { ...state, toasts: state.toasts.map((t) => ({ ...t, open: false })) };
|
|
28
28
|
}
|
|
29
|
-
case
|
|
29
|
+
case 'REMOVE_TOAST': {
|
|
30
30
|
const { toastId } = action;
|
|
31
31
|
if (!toastId)
|
|
32
32
|
return { ...state, toasts: [] };
|
|
@@ -48,20 +48,20 @@ function addToRemoveQueue(toastId) {
|
|
|
48
48
|
return;
|
|
49
49
|
const timeout = setTimeout(() => {
|
|
50
50
|
toastTimeouts.delete(toastId);
|
|
51
|
-
dispatch({ type:
|
|
51
|
+
dispatch({ type: 'REMOVE_TOAST', toastId });
|
|
52
52
|
}, TOAST_REMOVE_DELAY);
|
|
53
53
|
toastTimeouts.set(toastId, timeout);
|
|
54
54
|
}
|
|
55
55
|
function defaultDurationForVariant(variant) {
|
|
56
56
|
switch (variant) {
|
|
57
|
-
case
|
|
57
|
+
case 'success':
|
|
58
58
|
return 3000;
|
|
59
|
-
case
|
|
60
|
-
case
|
|
59
|
+
case 'destructive':
|
|
60
|
+
case 'error':
|
|
61
61
|
return 6000;
|
|
62
|
-
case
|
|
62
|
+
case 'warning':
|
|
63
63
|
return 5000;
|
|
64
|
-
case
|
|
64
|
+
case 'default':
|
|
65
65
|
default:
|
|
66
66
|
return 4000;
|
|
67
67
|
}
|
|
@@ -69,17 +69,17 @@ function defaultDurationForVariant(variant) {
|
|
|
69
69
|
export function toast(input) {
|
|
70
70
|
const id = genId();
|
|
71
71
|
const dismiss = () => {
|
|
72
|
-
dispatch({ type:
|
|
72
|
+
dispatch({ type: 'DISMISS_TOAST', toastId: id });
|
|
73
73
|
addToRemoveQueue(id);
|
|
74
74
|
};
|
|
75
|
-
const update = (props) => dispatch({ type:
|
|
76
|
-
const variant = input.variant ??
|
|
75
|
+
const update = (props) => dispatch({ type: 'UPDATE_TOAST', toast: { ...props, id } });
|
|
76
|
+
const variant = input.variant ?? 'default';
|
|
77
77
|
// Persistent toasts disable auto-dismiss entirely; Radix accepts `Infinity`.
|
|
78
78
|
const duration = input.persistent
|
|
79
79
|
? Infinity
|
|
80
|
-
: input.duration ?? defaultDurationForVariant(variant);
|
|
80
|
+
: (input.duration ?? defaultDurationForVariant(variant));
|
|
81
81
|
dispatch({
|
|
82
|
-
type:
|
|
82
|
+
type: 'ADD_TOAST',
|
|
83
83
|
toast: {
|
|
84
84
|
id,
|
|
85
85
|
open: true,
|
|
@@ -109,7 +109,7 @@ export function useToast() {
|
|
|
109
109
|
...state,
|
|
110
110
|
toast,
|
|
111
111
|
dismiss: (toastId) => {
|
|
112
|
-
dispatch({ type:
|
|
112
|
+
dispatch({ type: 'DISMISS_TOAST', toastId });
|
|
113
113
|
if (toastId)
|
|
114
114
|
addToRemoveQueue(toastId);
|
|
115
115
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../../src/react/hooks/use-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nconst TOAST_LIMIT = 3;\n// Time between Radix flipping `open=false` and the toast actually unmounting.\n// Just long enough for the close animation to finish. Larger values produce a\n// visible dead-air gap after the countdown bar reaches empty.\nconst TOAST_REMOVE_DELAY = 150;\n\nexport type ToastVariant = 'default' | 'destructive' | 'success' | 'warning' | 'error';\n\nexport type ToasterToast = {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: React.ReactNode;\n variant?: ToastVariant;\n\n /** Radix controlled open state */\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n /** ms */\n duration?: number;\n\n /** show X button */\n dismissible?: boolean;\n\n /**\n * When `true`, the toast does not auto-dismiss and renders no countdown bar.\n * `duration` is ignored. The user must click the X (or programmatic `dismiss`)\n * to remove it.\n */\n persistent?: boolean;\n};\n\ntype ToastProps = ToasterToast;\n\ntype Action =\n | { type: 'ADD_TOAST'; toast: ToastProps }\n | { type: 'UPDATE_TOAST'; toast: Partial<ToastProps> & { id: string } }\n | { type: 'DISMISS_TOAST'; toastId?: string }\n | { type: 'REMOVE_TOAST'; toastId?: string };\n\ninterface State {\n toasts: ToastProps[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'ADD_TOAST':\n return { ...state, toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT) };\n\n case 'UPDATE_TOAST':\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case 'DISMISS_TOAST': {\n const { toastId } = action;\n\n if (toastId) {\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === toastId ? { ...t, open: false } : t)),\n };\n }\n\n return { ...state, toasts: state.toasts.map((t) => ({ ...t, open: false })) };\n }\n\n case 'REMOVE_TOAST': {\n const { toastId } = action;\n if (!toastId) return { ...state, toasts: [] };\n return { ...state, toasts: state.toasts.filter((t) => t.id !== toastId) };\n }\n\n default:\n return state;\n }\n};\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => listener(memoryState));\n}\n\nfunction genId() {\n return Math.random().toString(36).slice(2, 10);\n}\n\nfunction addToRemoveQueue(toastId: string) {\n if (toastTimeouts.has(toastId)) return;\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({ type: 'REMOVE_TOAST', toastId });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n}\n\nfunction defaultDurationForVariant(variant: ToastVariant | undefined): number {\n switch (variant) {\n case 'success':\n return 3000;\n case 'destructive':\n case 'error':\n return 6000;\n case 'warning':\n return 5000;\n case 'default':\n default:\n return 4000;\n }\n}\n\nexport function toast(input: Omit<ToastProps, 'id'>) {\n const id = genId();\n\n const dismiss = () => {\n dispatch({ type: 'DISMISS_TOAST', toastId: id });\n addToRemoveQueue(id);\n };\n\n const update = (props: Partial<ToastProps>) =>\n dispatch({ type: 'UPDATE_TOAST', toast: { ...props, id } });\n\n const variant = input.variant ?? 'default';\n // Persistent toasts disable auto-dismiss entirely; Radix accepts `Infinity`.\n const duration = input.persistent\n ? Infinity\n : (input.duration ?? defaultDurationForVariant(variant));\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n dismissible: true,\n ...input,\n variant,\n duration,\n },\n });\n\n return { id, dismiss, update };\n}\n\nexport function useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) listeners.splice(index, 1);\n };\n }, []);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => {\n dispatch({ type: 'DISMISS_TOAST', toastId });\n if (toastId) addToRemoveQueue(toastId);\n },\n };\n}\n"]}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,73 +1,75 @@
|
|
|
1
|
-
export type { ButtonProps } from
|
|
2
|
-
export { Button, buttonVariants } from
|
|
3
|
-
export type { SpinnerProps, SpinnerSize } from
|
|
4
|
-
export { Spinner } from
|
|
5
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from
|
|
6
|
-
export { Label } from
|
|
7
|
-
export type { TextareaProps, FreeTextTextareaProps, NonFreeTextTextareaProps, NonFreeTextareaEntry } from
|
|
8
|
-
export { Textarea } from
|
|
9
|
-
export { Skeleton } from
|
|
10
|
-
export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from
|
|
11
|
-
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from
|
|
12
|
-
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup } from
|
|
13
|
-
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut } from
|
|
14
|
-
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel } from
|
|
15
|
-
export { Alert, AlertTitle, AlertDescription } from
|
|
16
|
-
export type { ToastProps, ToastActionElement } from
|
|
17
|
-
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction } from
|
|
18
|
-
export { Toaster } from
|
|
19
|
-
export type { ToastVariant, ToasterToast } from
|
|
20
|
-
export { toast, useToast } from
|
|
21
|
-
export type { InputProps, FreeTextInputProps, NonFreeTextInputProps, NonFreeTextEntry, BuiltInFormatInputProps, BuiltInFormatInputType } from
|
|
22
|
-
export { Input } from
|
|
23
|
-
export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton } from
|
|
24
|
-
export { Tabs, TabsList, TabsTrigger, TabsContent } from
|
|
25
|
-
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from
|
|
26
|
-
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField } from
|
|
27
|
-
export { Checkbox } from
|
|
28
|
-
export { Switch } from
|
|
29
|
-
export type { BadgeProps } from
|
|
30
|
-
export { Badge, badgeVariants } from
|
|
31
|
-
export { Avatar, AvatarImage, AvatarFallback } from
|
|
32
|
-
export { Separator } from
|
|
33
|
-
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from
|
|
34
|
-
export { RadioGroup, RadioGroupItem } from
|
|
35
|
-
export { Progress } from
|
|
36
|
-
export { Slider } from
|
|
37
|
-
export type { DatePickerProps } from
|
|
38
|
-
export { DatePicker } from
|
|
39
|
-
export type { DateTimePickerProps, DateTimePickerTime } from
|
|
40
|
-
export { DateTimePicker } from
|
|
41
|
-
export { ScrollArea, ScrollBar } from
|
|
42
|
-
export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption } from
|
|
43
|
-
export type { SortableTableHeadProps, SortDirection } from
|
|
44
|
-
export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from
|
|
45
|
-
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from
|
|
46
|
-
export type { SearchDropdownProps } from
|
|
47
|
-
export { SearchDropdown } from
|
|
48
|
-
export type { ConsequenceDialogProps, ConsequenceDialogReason, ConsequenceDialogTypedConfirmation } from
|
|
49
|
-
export { ConsequenceDialog } from
|
|
50
|
-
export type { MaxWidthOption, ScreenAdaptiveViewProps } from
|
|
51
|
-
export { ScreenAdaptiveView } from
|
|
52
|
-
export { useMediaQuery } from
|
|
53
|
-
export { useAsyncAction } from
|
|
54
|
-
export type { AsyncAction, UseAsyncActionOptions } from
|
|
55
|
-
export { RelativeTime } from
|
|
56
|
-
export type { RelativeTimeProps } from
|
|
57
|
-
export { EndOfListIndicator } from
|
|
58
|
-
export type { EndOfListIndicatorProps } from
|
|
59
|
-
export { ScrollToTopButton } from
|
|
60
|
-
export type { ScrollToTopButtonProps } from
|
|
61
|
-
export {
|
|
62
|
-
export type {
|
|
63
|
-
export {
|
|
64
|
-
export type {
|
|
65
|
-
export {
|
|
66
|
-
export type {
|
|
67
|
-
export {
|
|
68
|
-
export type {
|
|
69
|
-
export {
|
|
70
|
-
export type {
|
|
71
|
-
export {
|
|
72
|
-
export type {
|
|
1
|
+
export type { ButtonProps } from './components/button.js';
|
|
2
|
+
export { Button, buttonVariants } from './components/button.js';
|
|
3
|
+
export type { SpinnerProps, SpinnerSize } from './components/spinner.js';
|
|
4
|
+
export { Spinner } from './components/spinner.js';
|
|
5
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, } from './components/card.js';
|
|
6
|
+
export { Label } from './components/label.js';
|
|
7
|
+
export type { TextareaProps, FreeTextTextareaProps, NonFreeTextTextareaProps, NonFreeTextareaEntry, } from './components/textarea.js';
|
|
8
|
+
export { Textarea } from './components/textarea.js';
|
|
9
|
+
export { Skeleton } from './components/skeleton.js';
|
|
10
|
+
export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './components/dialog.js';
|
|
11
|
+
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/popover.js';
|
|
12
|
+
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, } from './components/dropdown-menu.js';
|
|
13
|
+
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut, } from './components/menubar.js';
|
|
14
|
+
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, } from './components/alert-dialog.js';
|
|
15
|
+
export { Alert, AlertTitle, AlertDescription } from './components/alert.js';
|
|
16
|
+
export type { ToastProps, ToastActionElement } from './components/toast.js';
|
|
17
|
+
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, } from './components/toast.js';
|
|
18
|
+
export { Toaster } from './components/toaster.js';
|
|
19
|
+
export type { ToastVariant, ToasterToast } from './hooks/use-toast.js';
|
|
20
|
+
export { toast, useToast } from './hooks/use-toast.js';
|
|
21
|
+
export type { InputProps, FreeTextInputProps, NonFreeTextInputProps, NonFreeTextEntry, BuiltInFormatInputProps, BuiltInFormatInputType, } from './components/input.js';
|
|
22
|
+
export { Input } from './components/input.js';
|
|
23
|
+
export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, } from './components/select.js';
|
|
24
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/tabs.js';
|
|
25
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/tooltip.js';
|
|
26
|
+
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './components/form.js';
|
|
27
|
+
export { Checkbox } from './components/checkbox.js';
|
|
28
|
+
export { Switch } from './components/switch.js';
|
|
29
|
+
export type { BadgeProps } from './components/badge.js';
|
|
30
|
+
export { Badge, badgeVariants } from './components/badge.js';
|
|
31
|
+
export { Avatar, AvatarImage, AvatarFallback } from './components/avatar.js';
|
|
32
|
+
export { Separator } from './components/separator.js';
|
|
33
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './components/accordion.js';
|
|
34
|
+
export { RadioGroup, RadioGroupItem } from './components/radio-group.js';
|
|
35
|
+
export { Progress } from './components/progress.js';
|
|
36
|
+
export { Slider } from './components/slider.js';
|
|
37
|
+
export type { DatePickerProps } from './components/date-picker.js';
|
|
38
|
+
export { DatePicker } from './components/date-picker.js';
|
|
39
|
+
export type { DateTimePickerProps, DateTimePickerTime } from './components/date-time-picker.js';
|
|
40
|
+
export { DateTimePicker } from './components/date-time-picker.js';
|
|
41
|
+
export { ScrollArea, ScrollBar } from './components/scroll-area.js';
|
|
42
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption, } from './components/table.js';
|
|
43
|
+
export type { SortableTableHeadProps, SortDirection } from './components/table.js';
|
|
44
|
+
export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, } from './components/sheet.js';
|
|
45
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './components/collapsible.js';
|
|
46
|
+
export type { SearchDropdownProps } from './components/search-dropdown.js';
|
|
47
|
+
export { SearchDropdown } from './components/search-dropdown.js';
|
|
48
|
+
export type { ConsequenceDialogProps, ConsequenceDialogReason, ConsequenceDialogTypedConfirmation, } from './components/consequence-dialog.js';
|
|
49
|
+
export { ConsequenceDialog } from './components/consequence-dialog.js';
|
|
50
|
+
export type { MaxWidthOption, ScreenAdaptiveViewProps, } from './components/layout/screen-adaptive-view.js';
|
|
51
|
+
export { ScreenAdaptiveView } from './components/layout/screen-adaptive-view.js';
|
|
52
|
+
export { useMediaQuery } from './hooks/use-media-query.js';
|
|
53
|
+
export { useAsyncAction } from './hooks/use-async-action.js';
|
|
54
|
+
export type { AsyncAction, UseAsyncActionOptions } from './hooks/use-async-action.js';
|
|
55
|
+
export { RelativeTime } from './components/relative-time.js';
|
|
56
|
+
export type { RelativeTimeProps } from './components/relative-time.js';
|
|
57
|
+
export { EndOfListIndicator } from './components/end-of-list-indicator.js';
|
|
58
|
+
export type { EndOfListIndicatorProps } from './components/end-of-list-indicator.js';
|
|
59
|
+
export { ScrollToTopButton } from './components/scroll-to-top-button.js';
|
|
60
|
+
export type { ScrollToTopButtonProps } from './components/scroll-to-top-button.js';
|
|
61
|
+
export { ActionRow } from './components/action-row.js';
|
|
62
|
+
export type { ActionRowProps, ActionRowButtonProps, ActionRowLinkProps, ActionRowLinkTargetProps, } from './components/action-row.js';
|
|
63
|
+
export { ShowMoreToggle } from './components/show-more-toggle.js';
|
|
64
|
+
export type { ShowMoreToggleProps } from './components/show-more-toggle.js';
|
|
65
|
+
export { ReloadRecoveryNotice } from './components/reload-recovery-notice.js';
|
|
66
|
+
export type { ReloadRecoveryNoticeProps } from './components/reload-recovery-notice.js';
|
|
67
|
+
export { ListPagination } from './components/list-pagination.js';
|
|
68
|
+
export type { ListPaginationProps } from './components/list-pagination.js';
|
|
69
|
+
export { usePagedList } from './hooks/use-paged-list.js';
|
|
70
|
+
export type { ListPaginationState, PagedList, UsePagedListOptions, } from './hooks/use-paged-list.js';
|
|
71
|
+
export { useCursorPage } from './hooks/use-cursor-page.js';
|
|
72
|
+
export type { CursorPage, CursorPager, UseCursorPageOptions } from './hooks/use-cursor-page.js';
|
|
73
|
+
export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll, } from './hooks/use-return-scroll.js';
|
|
74
|
+
export type { ReturnScrollEntry, UseReturnScrollOptions, UseReturnScrollResult, } from './hooks/use-return-scroll.js';
|
|
73
75
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.js
CHANGED
|
@@ -1,57 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
export { Button, buttonVariants } from
|
|
3
|
-
export { Spinner } from
|
|
4
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from
|
|
5
|
-
export { Label } from
|
|
6
|
-
export { Textarea } from
|
|
7
|
-
export { Skeleton } from
|
|
8
|
-
export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from
|
|
9
|
-
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from
|
|
10
|
-
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup } from
|
|
11
|
-
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut } from
|
|
12
|
-
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel } from
|
|
13
|
-
export { Alert, AlertTitle, AlertDescription } from
|
|
14
|
-
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction } from
|
|
15
|
-
export { Toaster } from
|
|
16
|
-
export { toast, useToast } from
|
|
17
|
-
export { Input } from
|
|
18
|
-
export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton } from
|
|
19
|
-
export { Tabs, TabsList, TabsTrigger, TabsContent } from
|
|
20
|
-
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from
|
|
21
|
-
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField } from
|
|
22
|
-
export { Checkbox } from
|
|
23
|
-
export { Switch } from
|
|
24
|
-
export { Badge, badgeVariants } from
|
|
25
|
-
export { Avatar, AvatarImage, AvatarFallback } from
|
|
26
|
-
export { Separator } from
|
|
27
|
-
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from
|
|
28
|
-
export { RadioGroup, RadioGroupItem } from
|
|
29
|
-
export { Progress } from
|
|
30
|
-
export { Slider } from
|
|
31
|
-
export { DatePicker } from
|
|
32
|
-
export { DateTimePicker } from
|
|
33
|
-
export { ScrollArea, ScrollBar } from
|
|
34
|
-
export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption } from
|
|
35
|
-
export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from
|
|
36
|
-
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from
|
|
37
|
-
export { SearchDropdown } from
|
|
38
|
-
export { ConsequenceDialog } from
|
|
39
|
-
export { ScreenAdaptiveView } from
|
|
40
|
-
export { useMediaQuery } from
|
|
41
|
-
export { useAsyncAction } from
|
|
1
|
+
'use client';
|
|
2
|
+
export { Button, buttonVariants } from './components/button.js';
|
|
3
|
+
export { Spinner } from './components/spinner.js';
|
|
4
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, } from './components/card.js';
|
|
5
|
+
export { Label } from './components/label.js';
|
|
6
|
+
export { Textarea } from './components/textarea.js';
|
|
7
|
+
export { Skeleton } from './components/skeleton.js';
|
|
8
|
+
export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './components/dialog.js';
|
|
9
|
+
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/popover.js';
|
|
10
|
+
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, } from './components/dropdown-menu.js';
|
|
11
|
+
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut, } from './components/menubar.js';
|
|
12
|
+
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, } from './components/alert-dialog.js';
|
|
13
|
+
export { Alert, AlertTitle, AlertDescription } from './components/alert.js';
|
|
14
|
+
export { ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, } from './components/toast.js';
|
|
15
|
+
export { Toaster } from './components/toaster.js';
|
|
16
|
+
export { toast, useToast } from './hooks/use-toast.js';
|
|
17
|
+
export { Input } from './components/input.js';
|
|
18
|
+
export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, } from './components/select.js';
|
|
19
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/tabs.js';
|
|
20
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/tooltip.js';
|
|
21
|
+
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './components/form.js';
|
|
22
|
+
export { Checkbox } from './components/checkbox.js';
|
|
23
|
+
export { Switch } from './components/switch.js';
|
|
24
|
+
export { Badge, badgeVariants } from './components/badge.js';
|
|
25
|
+
export { Avatar, AvatarImage, AvatarFallback } from './components/avatar.js';
|
|
26
|
+
export { Separator } from './components/separator.js';
|
|
27
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './components/accordion.js';
|
|
28
|
+
export { RadioGroup, RadioGroupItem } from './components/radio-group.js';
|
|
29
|
+
export { Progress } from './components/progress.js';
|
|
30
|
+
export { Slider } from './components/slider.js';
|
|
31
|
+
export { DatePicker } from './components/date-picker.js';
|
|
32
|
+
export { DateTimePicker } from './components/date-time-picker.js';
|
|
33
|
+
export { ScrollArea, ScrollBar } from './components/scroll-area.js';
|
|
34
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, SortableTableHead, TableRow, TableCell, TableCaption, } from './components/table.js';
|
|
35
|
+
export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, } from './components/sheet.js';
|
|
36
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './components/collapsible.js';
|
|
37
|
+
export { SearchDropdown } from './components/search-dropdown.js';
|
|
38
|
+
export { ConsequenceDialog } from './components/consequence-dialog.js';
|
|
39
|
+
export { ScreenAdaptiveView } from './components/layout/screen-adaptive-view.js';
|
|
40
|
+
export { useMediaQuery } from './hooks/use-media-query.js';
|
|
41
|
+
export { useAsyncAction } from './hooks/use-async-action.js';
|
|
42
42
|
// Shared building blocks
|
|
43
|
-
export { RelativeTime } from
|
|
44
|
-
export { EndOfListIndicator } from
|
|
45
|
-
export { ScrollToTopButton } from
|
|
46
|
-
export {
|
|
47
|
-
export {
|
|
43
|
+
export { RelativeTime } from './components/relative-time.js';
|
|
44
|
+
export { EndOfListIndicator } from './components/end-of-list-indicator.js';
|
|
45
|
+
export { ScrollToTopButton } from './components/scroll-to-top-button.js';
|
|
46
|
+
export { ActionRow } from './components/action-row.js';
|
|
47
|
+
export { ShowMoreToggle } from './components/show-more-toggle.js';
|
|
48
|
+
export { ReloadRecoveryNotice } from './components/reload-recovery-notice.js';
|
|
48
49
|
// List pagination — the one Previous / counter / Next control plus the page-state
|
|
49
50
|
// hooks for its two flavors (known total, and cursor/`hasMore`).
|
|
50
|
-
export { ListPagination } from
|
|
51
|
-
export { usePagedList } from
|
|
52
|
-
export { useCursorPage } from
|
|
51
|
+
export { ListPagination } from './components/list-pagination.js';
|
|
52
|
+
export { usePagedList } from './hooks/use-paged-list.js';
|
|
53
|
+
export { useCursorPage } from './hooks/use-cursor-page.js';
|
|
53
54
|
// Return-scroll: restore a list's window offset when the user comes back to it after a
|
|
54
55
|
// route change (save on leave, restore once on an eligible + ready return, keyed by the
|
|
55
56
|
// caller's canonical list URL).
|
|
56
|
-
export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll } from
|
|
57
|
+
export { useReturnScroll, saveReturnScroll, clearReturnScroll, readReturnScroll, } from './hooks/use-return-scroll.js';
|
|
57
58
|
//# sourceMappingURL=index.js.map
|