1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! Error boundary component for graceful error handling
use *;
/// Error fallback component
///
/// Displays user-friendly error messages with retry functionality.
/// Use within Suspense error handling or as standalone error display.
///
/// # Example
/// ```ignore
/// view! {
/// <ErrorFallback
/// error="Failed to load data".to_string()
/// on_retry=Callback::new(move |_| window().location().reload().unwrap())
/// />
/// }
/// ```
/// Simple error boundary wrapper using Show
///
/// Use Show component directly in your views for conditional error display.
/// This is a convenience re-export to make the pattern more discoverable.
///
/// # Example
/// ```ignore
/// let (error, set_error) = signal(None::<String>);
///
/// view! {
/// <Show
/// when=move || error.get().is_none()
/// fallback=move || {
/// view! {
/// <ErrorFallback
/// error=error.get().unwrap_or_default()
/// on_retry=Callback::new(move |_| set_error.set(None))
/// />
/// }
/// }
/// >
/// <MyComponent />
/// </Show>
/// }
/// ```
pub use Show as ErrorBoundary;