## Use Cases Alert component displays card-style popup notifications, suitable for scenarios requiring richer content presentation, such as operation feedback and system notifications. ## Design Philosophy and Use Case Differences In STDF, Toast, Alert, Modal, and Dialog all provide user feedback, but they emphasize different interaction levels. - **Toast**: Lightweight, non-blocking, focused on short status feedback for quick actions. - **Alert**: Card-style notification emphasizing content readability, suitable for richer notices with title, icon, or actions. - **Modal**: Strong awareness with minimal interaction, often a single confirm or acknowledgment. - **Dialog**: Strong awareness with decision-making, usually primary/secondary actions for confirmations or risky flows. ## Alert Types Set different alert types via `type` property: - `'success'`: Success alert with green icon - `'error'`: Error alert with red icon - `'warning'`: Warning alert with orange icon - `'info'`: Info alert with blue icon - `null`: No type, no default icon displayed ## Display Position By default slides in from the top. Set `position` to `'bottom'` to slide in from the bottom. Adjust distance from top/bottom via `py` property. ## Auto Close Automatically closes after 3 seconds by default. Adjust display duration via `duration` property. Set to `0` to disable auto close and require manual closing. ## Transition Animation Set transition animation via `transitionType` property, supports all [svelte/transition](https://svelte.dev/docs/svelte/svelte-transition) functions applicable to regular DOM elements: - `'fly'`: Fly-in animation (default), slides in from top/bottom - `'scale'`: Scale animation - `'fade'`: Fade-in animation - `'slide'`: Slide animation - `'blur'`: Blur animation - `null`: No animation ## Animation Parameters Set animation parameters via `transitionParams` property, where `duration` represents the enter animation duration (default 300ms). For supported parameters in transitionParams, please refer to [svelte/transition](https://svelte.dev/docs/svelte/svelte-transition). For example, you can customize the Y value for fly animation: ```svelte ``` For better user experience, the alert appears with a short animation (default 300ms) to catch user attention. You can set the exit animation duration via `outDuration` property (default 300ms). Exit animation only allows setting the duration. Other parameters will inherit from the enter animation to ensure the animation effect "goes back to where it came from". ## Easing Functions Set the easing function for enter animation via `easeType` property, and `easeOutType` for exit animation. Supports all [svelte/easing](https://svelte.dev/docs/svelte/svelte-easing) easing functions: - `'linear'`: Linear - `'cubicOut'`: Cubic ease-out (default) - `'bounceOut'`: Bounce ease-out - `'elasticOut'`: Elastic ease-out - `'backOut'`: Back ease-out - For more easing functions, refer to svelte/easing documentation For example, using elastic easing effect: ```svelte ``` ## Custom Card Style Pass Card component configuration via `card` property to customize shadow, radius, border, and other styles. ## Custom Content Use `children` Snippet to fully customize alert content for more complex interactions. ## Click-through Click-through is enabled by default (`clickable` is `true`), meaning content below can be clicked while the alert is displayed. Set to `false` to prevent click-through. ## injClass Inject CSS class names to the component's outer container via `injClass` parameter. If the injected class doesn't take effect, add "!" before the class name. Refer to [Tailwind Important modifier](https://tailwindcss.com/docs/configuration#important-modifier).