s_design library

Classes

AnimatedSTheme
Animated version of STheme which automatically transitions the colors, etc, over a given duration whenever the given theme changes.
DesignConstants
Core design constants for the sDesign package.
FloatingActionButtonConfig
LoadingConfig
PersistentFooterConfig
RefreshConfig
SAlert
A static-inline alert component.
SAlertThemeData
Theme extension for SAlert.
SAnimatedBottomBarItem
A tab to display in an SAnimatedBottomBar (e.g., SCapsuleBottomBar, SDotBottomBar)
SApp
An application that uses SDesign components.
SAppState
A highly customizable component for displaying application states (e.g., empty, error, server down) with dynamic illustrations and entrance animations.
SAppStateThemeData
Theme data for SAppState.
SAvatar
A component for representing users or objects, supporting images, icons, or text. Matches the Avatar specifications.
SAvatarGroup
A group of avatars, often overlapping, with support to cap the number of displayed avatars and show the remainder in a +N indicator.
SAvatarGroupPopoverProps
Properties for configuring the overflow popover (tooltip) in SAvatarGroup.
SAvatarThemeData
SBadgePosition
Defines the position of a badge relative to the leading widget.
SButton
Presentation layer button widget following clean architecture.
SButtonConfig
Domain entity representing button configuration.
SButtonEdgeInsets
Pure data model for edge insets
SButtonSelectable
A production-grade selectable / toggle button.
SButtonSelectableConfig
Configuration for the selectable / toggle state of SButton.selectable.
SButtonSelectGroup
A group of SButtonSelectable buttons that coordinate their selection state.
SButtonSelectGroupItem
Describes a single item inside an SButtonSelectGroup.
SButtonThemeData
Theme data for SButton.
SCapsuleBottomBar
A bottom bar matching the Salomon capsule design pattern.
SCard
A customizable card widget with support for content sections, styling, animations, dismissible behavior, and accessibility features.
SCardGrid
SCardMeta
SCardThemeData
Theme data for SCard.
SCheckbox
The SCheckbox widget allows for two or three states: unchecked, checked, and optionally indeterminate. It supports customization of colors, sizes, and integrates with theming for consistent styling.
SCheckboxFormField
A FormField that contains an SCheckboxListTile.
SCheckboxListTile
A list tile with an SCheckbox.
SCheckboxThemeData
Theme data for SCheckbox.
SColorConfig
Pure data model for color configuration
SColors
Aggregator: provides quick access to light/dark color sets
SColorsBase
Base interface for all color definitions
SColorValue
A pure-Dart ARGB color value for use in the domain layer.
SDarkColors
Dark Theme Colors
SDarkTypography
Dark Theme Typography
SDatePicker
SDatePickerPreset<T>
SDatePickerStyle
SDateRangePicker
SDialog
A highly customizable, production-ready dialog widget.
SDialogConfig
Configuration for SDialog.
SDialogThemeData
Theme data for SDialog.
SDimensions
SDotBottomBar
A bottom bar where the active item shifts up and reveals a colored dot below.
SDropdown
SDropdownButton
Renders a primary action button alongside an arrow button that opens the dropdown overlay.
SDropdownMenuThemeData
SFlashyBottomBar
A bottom bar featuring a flashy bubble background effect on the active item.
SFloatingPanel
SFloatingPanelConfig
Single configuration object for SFloatingPanel.show.
SFloatingPanelThemeData
Theme data for SFloatingPanel.
SInputField
SInputFieldThemeData
Theme data for SInputField.
SInputGroup
SInputGroupScope
SInputOTP
A stand-alone OTP input widget.
SLightColors
Light Theme Colors
SLightTypography
Light Theme Typography
SListTile
An SListTile widget built on Flutter's ListTile with advanced styling and features.
SListTileGroup
A container that groups SListTiles together with a common background and rounded corners.
SListTileThemeData
Theme data for SListTile.
SliverSTabs
SLoadingIndicator
Displays a centered, compact container with a loading spinner and an optional message. Suitable for overlaying on existing content without covering the entire screen.
SLoadingIndicatorThemeData
Theme data for SLoadingIndicator.
SLocalizations
Defines the localized strings for the sDesign component library.
SLocalizationsDelegate
A delegate factory for SLocalizations.
SMenu
SMenuDivider
SMenuItem
SMenuScope
Spacers
SPagination
Pagination component for Flutter.
SPaginationThemeData
Theme extension for SPagination.
SProgress
SQRCode
SRadius
SRate
SRateStyle
SScaffold
SScaffoldConfig
Configuration for SScaffold.
SScrollBehavior
Describes how Scrollable widgets behave for SApps. By default we will use CupertinoScrollbar for iOS and macOS platforms for Windows and Linux m.Scrollbar for Android and Fuchsia we will return the child
SSelect<T>
An advanced select widget. Supports single, multiple, tags modes with search, custom renders, and more.
SSelectFormField<T>
A FormField that wraps SSelect.
SSelectItem<T>
Represents an item or a group of items in the SSelect widget.
SSelectThemeData
Theme data for SSelect.
SShiftBottomBar
A bottom bar where the background transitions colors and inactive items shrink.
SSlider
SSonner
A toast notification system inspired by the Sonner library.
SSonnerConfig
Configuration for an individual SSonner toast.
SSonnerThemeData
Theme data for SSonner.
SStepItem
A single step item in SSteps.
SSteps
SStepsStyleHelper
Style helper for formatting SSteps based on status and size.
SSubMenu
A menu item that opens a nested SMenu overlay on hover/click.
SSwitch
An elegant, heavily customizable switch component for toggling binary states.
SSwitchThemeData
Theme data for SSwitch.
STabItem
STabNavBar
STabs
STabsThemeData
Theme data for STabs.
STabView
STheme
Applies an SDesign theme to descendant widgets.
SThemeData
Defines the configuration for an SDesign theme.
SThemeDataTween
An interpolation between two SThemeDatas.
STimePicker
STimePickerThemeData
Global design tokens for STimePicker, registered as a ThemeExtension.
STimeRangePicker
Two STimePicker fields side-by-side for selecting a time range.
SToast
Deprecated: Use SAlert for inline alerts or SSonner for toast notifications.
SToastOptions
Represents the properties of a toast message.
SToastThemeData
Theme data for SToast.
STooltip
Features premium aesthetics, 12 placement directions, auto-flipping logic when hitting screen boundaries, and smooth animations.
STooltipThemeData
Theme data for STooltip.
STrigger
STriggerContainerSize
STriggerScope
STypographyBase
ValidateButtonConfig
Use case for validating button configuration.
ValidationResult
Result of validation operation

Enums

SAlertType
Alert type variants.
SAppStateVariant
Defines the illustration variants available for the SAppState component.
SAvatarShape
Defines the shape of the SAvatar.
SAvatarSize
Defines the predefined size variants for SAvatar.
SButtonSelectMode
Selection mode for SButtonSelectGroup.
SButtonSize
Button size enum - domain layer
SButtonState
Button state enum - domain layer
SButtonVariant
Button variant enum - domain layer
SCardBadgePosition
Position of the badge widget on SCard.
SCardImagePosition
Position of the media widget within SCard.
SCardShadow
Enum representing the shadow style of the SCard.
SCardShape
Enum representing the shape of the SCard.
SCardVariant
Variants involved in the visual style of SCard.
SCheckboxState
Enum for checkbox states.
SDatePickerMode
SDialogAnimationType
SDialogBackgroundEffect
SDropdownMenuItemType
Enumeration for Dropdown Menu Item Types
SDropdownMenuPosition
SDropdownPlacement
SDropdownTrigger
SFloatingBottomLayout
How the SFloatingPanelConfig.actions are arranged in the footer.
SInputFieldSize
Different sizes for the SInput (padding, text size, etc.).
SInputFieldType
A variety of "types" that approximate HTML input types.
SInputVariant
Different variants of the SInput, analogous to Shadcn's style variations.
SListTileVariant
Variants for SListTile.
SLoaderType
Enum to define different types of loading indicators.
SPaginationAlign
Horizontal alignment of the pagination widget.
SPaginationItemType
Item type passed to SPagination.itemRender.
SPaginationSize
Pagination size variants.
SProgressGapPosition
SProgressStatus
SProgressType
SQRCodeStatus
SSelectableCheckAlignment
Position of the check icon inside a selectable button.
SSelectableCurve
Named animation curves for selectable transitions. Defined here so the domain layer remains free of Flutter's Curves class.
SSelectAnimationType
Enum to define the animation type for the dropdown.
SSelectDropdownDirection
Direction in which the dropdown opens.
SSelectMode
Mode of the SSelect component.
SSelectSize
Size of the SSelect component.
SSelectStatus
Validation status of the SSelect component.
SSelectVariant
Visual variant of the SSelect component.
SSliderType
SSonnerPosition
Enumeration of possible toast positions.
SSonnerSize
SSonnerVariant
Enumeration of possible toast types.
SStepsDirection
SStepsLabelPlacement
SStepsSize
SStepStatus
Status of a step.
SSwitchSize
SSwitchVariant
STabAnimationType
STabPosition
STabSize
STabType
STimePickerSize
Size of STimePicker trigger field.
STimePickerStatus
Validation status overlay applied to the trigger field.
STimePickerVariant
Visual variant for the STimePicker border/background style.
SToastVariant
Use SAlertType from SAlert instead.
STooltipPlacement
Supported placements for STooltip.
STooltipTrigger
Supported triggers for STooltip.
STriggerAction
STriggerPlacement

Extensions

SAlertThemeExtension on ThemeData
Extension to read SAlertThemeData from ThemeData.
SAppStateThemeExtension on ThemeData
Extension to access SAppStateThemeData from ThemeData.
SButtonThemeExtension on ThemeData
Extension to access SButtonThemeData from ThemeData.
SCardThemeExtension on ThemeData
Extension to access SCardThemeData from ThemeData.
SCheckboxThemeExtension on ThemeData
Extension to access SCheckboxThemeData from ThemeData.
SDialogThemeExtension on ThemeData
Extension to access SDialogThemeData from ThemeData.
SFloatingPanelThemeExtension on ThemeData
Extension to access SFloatingPanelThemeData from ThemeData.
SInputFieldThemeExtension on ThemeData
Extension to access SInputFieldThemeData from ThemeData.
SListTileThemeExtension on ThemeData
Extension to access SListTileThemeData from ThemeData.
SLoadingIndicatorThemeExtension on ThemeData
Extension to access SLoadingIndicatorThemeData from ThemeData.
SPaginationThemeExtension on ThemeData
Extension to read SPaginationThemeData from ThemeData.
SSelectThemeExtension on ThemeData
Extension to access SSelectThemeData from ThemeData.
SSonnerThemeExtension on ThemeData
Extension to access SSonnerThemeData from ThemeData.
SSwitchThemeExtension on ThemeData
Extension to access SSwitchThemeData from ThemeData.
STabsThemeExtension on ThemeData
Extension to access STabsThemeData from ThemeData.
STimePickerThemeExtension on ThemeData
Convenience extension for reading STimePickerThemeData from ThemeData.
SToastThemeExtension on ThemeData
Extension to access SToastThemeData from ThemeData.
STooltipThemeExtension on ThemeData
Extension to access STooltipThemeData from ThemeData.

Functions

buildSizedTextStyle(TextStyle? base, SInputFieldSize size) TextStyle?
Text style depending on the size.
getContentPadding(SInputFieldSize size) EdgeInsetsGeometry
mapInputTypeToKeyboard(SInputFieldType type) TextInputType
Helper function that maps an SInputFieldType to a suitable TextInputType in Flutter.
sOverlayBuilder({required List<OverlayEntry> overlays}) Widget Function(BuildContext, Widget?)
A function that returns a builder function for the app. This is typically used for the builder property of a MaterialApp. Pass in any OverlayEntry to show widgets above the main app child.