sentient_ui library
Sentient UI: An Emotion-Aware Adaptive User Interface Framework for Flutter.
This package provides a comprehensive framework for creating Flutter applications that can detect user emotions and adapt the user interface in real-time. It uses on-device machine learning for privacy-preserving emotion detection and a rule-based engine to trigger UI adaptations based on the user's emotional state.
Classes
- AdaptationManager
- Manages the application's UI adaptations in response to emotional state changes.
- AlignConfig
- Controls alignment for different emotional states.
- AnimatedEmotionTheme
- A widget that implicitly animates the EmotionTheme from one value to another.
- AnimatedSwitcherConfig
- Controls duration and animation curves for different emotions.
- AnimationConfig
- Defines animation behavior characteristics for emotional states.
- AppBarConfig
- Configuration for Sentient AppBar widget.
- AspectRatioConfig
- Configuration for SentientAspectRatio behavior.
- BackButtonConfig
- Configuration for Sentient BackButton widget
- BehaviorState
- Pure data model for behavior state. Stores raw interaction counts and time windows. No emotion logic.
- Configuration for SentientBottomNavigationBar appearance.
- ButtonConfig
- Defines button styling for emotional states.
- CenterConfig
- Configuration for Sentient Center widget.
- CircleAvatarConfig
- Configuration for SentientCircleAvatar appearance.
- ClipRRectConfig
- Controls the border radius applied to the child widget.
- ColumnConfig
- Defines Column styling for emotional states.
- ContainerConfig
- Defines Container styling for emotional states.
- ContextResult
- Represents a raw snapshot of the current environment and device status.
- ContextState
- Holds the application's current known context state.
- DividerConfig
- Configuration for SentientDivider appearance.
- DraggableScrollableSheetConfig
- Configuration for SentientDraggableScrollableSheet appearance.
- EmotionResult
- Represents the raw output of a single emotion detection analysis cycle.
- EmotionTheme
- A comprehensive data model defining all visual and behavioral properties for a specific emotional state in the Sentient UI framework.
- EmotionThemeTween
- A custom tween that interpolates between two EmotionThemes.
- ExpandedConfig
- Defines container styling for SentientExpanded per emotional state.
- FeedbackConfig
- Defines feedback messaging tone for emotional states.
- GestureDetectorConfig
- Configuration for SentientGestureDetector feedback behavior.
- GridViewConfig
- This config holds layout, spacing, behavior and scroll styling that changes depending on the user's emotional state.
- IconConfig
- Controls default size, color, and emotion-driven adjustments.
- ImageConfig
- Controls optional styling such as border radius, color filters, or other emotion-driven adjustments.
- InkWellConfig
- Base configuration for emotion-aware InkWell interaction.
- InputDecorationConfig
- LayoutConfig
- Defines layout characteristics for emotional states.
- ListTileConfig
- Configuration for SentientListTile appearance.
- ListViewConfig
- Defines emotion-aware configuration for SentientListView.
- MaterialConfig
- Base configuration for emotion-aware Material widgets.
- PaddingConfig
- Configuration for Sentient Padding widget.
- PositionedConfig
- Configuration for SentientPositioned layout.
- RotateConfig
- Base configuration for emotion-aware rotation.
- RotatedBoxConfig
- Controls the rotation amount expressed in quarter turns.
- RowConfig
- Defines Row styling for different emotional states.
- SafeAreaConfig
- Defines how the SafeArea should behave for different emotional states.
- ScaffoldConfig
- Holds all adaptive properties that may vary based on emotional themes
- SentientAlign
- A reactive, emotion-aware alignment widget.
- SentientAnimatedBuilder
- A reactive animated builder widget that adapts its animation behavior based on the user's emotional state.
- SentientAnimatedOpacity
- A reactive animated opacity widget that adapts its opacity behavior based on the user's emotional state.
- SentientAnimatedSwitcher
- A reactive animated switcher that adapts its transition behavior based on the user's emotional state.
- SentientApp
- A wrapper widget that simplifies the integration of Sentient UI into a Flutter application.
- SentientAppBar
- An emotion-aware application bar widget.
- SentientAspectRatio
- A reactive widget that adapts its child's aspect ratio based on the user's emotional state.
- SentientBackButton
- An emotion-aware back navigation button.
- A reactive bottom navigation bar that adapts its styling and layout based on the user's emotional state.
- A helper widget that builds a list of adaptive navigation items.
- A reactive bottom navigation bar item that adapts its appearance based on the user's emotional state.
- SentientCaption
- A specialized version of SentientText for displaying captions.
- SentientCaptionEnhanced
- A specialized enhanced caption widget that adapts to emotional states.
- SentientCenter
- An emotion-aware wrapper around Flutter's Center widget.
- SentientCircleAvatar
- A reactive circle avatar that adapts its appearance based on the user's emotional state.
- SentientClipRRect
- A reactive widget that clips its child using a rounded rectangle that adapts to the user's emotional state.
- SentientColumn
- A reactive, emotion-aware column that wraps its children in an adaptive container.
- SentientConfig
- Defines the runtime configuration for the SentientEngine.
- SentientConsentView
- A pre-built user interface for obtaining user consent and configuring Sentient UI.
- SentientContainer
- A reactive container widget that adapts its visual styling based on the user's emotional state.
- SentientDivider
- A reactive divider widget that adapts its appearance based on the user's emotional state.
- SentientDraggableScrollableSheet
- A reactive draggable scrollable sheet that adapts its behavior and appearance based on the user's emotional state.
- SentientEngine
- The central orchestrator of the Sentient UI framework.
- SentientExpanded
- A reactive, emotion-aware Expanded widget that wraps its child in an adaptive container.
- SentientFadeTransition
- A convenience widget for fading content in and out with emotion-aware transitions.
- SentientGestureDetector
-
A reactive gesture detector that adapts its feedback behavior based on the
user's emotional state AND automatically reports user interactions to the
BehaviorTrackerto help infer emotions like anger or sadness. - SentientGridView
-
A reactive
GridViewthat adapts its layout characteristics based on the user's emotional state. - SentientHeading
- A specialized version of SentientText for displaying headings.
- SentientHeadingEnhanced
- A specialized enhanced heading widget that adapts to emotional states.
- SentientIcon
- A reactive icon widget that adapts its appearance based on the user's emotional state.
- SentientImage
- A reactive image widget that adapts its appearance based on the user's emotional state.
- SentientInkWell
- An emotion-aware InkWell wrapper that adapts its interaction feedback based on the current EmotionTheme.
- SentientListTile
- A reactive list tile widget that adapts its styling based on the user's emotional state.
- SentientListView
-
A reactive
ListViewthat adapts its scroll behavior, padding, and background color based on the user's emotional state. - SentientMaterial
- A Material wrapper that adapts its visual style dynamically based on the current EmotionTheme.
- SentientPadding
- An emotion-aware wrapper around Flutter's Padding widget.
- SentientPositioned
- A reactive widget that positions its child in a Stack and adapts its placement based on the user's emotional state.
- SentientRotate
- An emotion-aware rotation wrapper that adapts motion behavior based on the current EmotionTheme.
- SentientRotatedBox
- A reactive widget that rotates its child by a multiple of 90 degrees and adapts the rotation based on the user's emotional state.
- SentientRow
- A reactive, emotion-aware Row that wraps its children in an adaptive container.
- SentientSafeArea
- A reactive widget that applies adaptive padding within the safe area of the screen based on the user's emotional state.
- SentientScaffold
- A reactive Scaffold that adapts its layout properties based on the user's emotional state.
- SentientScrollObserver
- A deprecated scroll observer widget.
- SentientSingleChildScrollView
- A reactive scroll view that adapts its scrolling physics and behavior based on the user's emotional state.
- SentientSizedBox
- A reactive, emotion-aware box that enforces specific dimensions based on the user's emotional state.
- SentientSpacer
- A reactive, emotion-aware spacer that adapts its flexibility based on the user's emotional state.
- SentientStack
- A reactive, emotion-aware stack that allows for overlapping widgets.
- SentientTapDetector
- A specialized version of SentientGestureDetector for tap gestures only.
- SentientText
- A reactive text widget that automatically adapts its style based on the user's emotional state.
- SentientTextButton
- A reactive text button widget that adapts its styling based on the user's emotional state.
- SentientTextEnhanced
- An enhanced reactive text widget that adapts its styling based on the user's emotional state with direct Text widget attribute mapping.
- SentientTextField
- A reactive text field widget that adapts its visual styling based on the user's emotional state.
- SentientTransitionBuilder
- A specialized version of SentientAnimatedBuilder for simple visibility transitions.
- SentientWrap
- An emotion-aware wrapper around Flutter's Wrap widget.
- SingleChildScrollViewConfig
- Defines ScrollView styling for emotional states.
- SizedBoxConfig
- Defines configuration for a SentientSizedBox, allowing emotion-driven dimension adjustments.
- SpacerConfig
- Controls default flex value for emotion-aware layouts.
- StackConfig
- Controls alignment, layout tightness, and how the Stack behaves depending on the user's emotional state.
- StateManager
- Manages the global emotional state of the application.
- TextButtonConfig
- Configuration for SentientTextButton appearance.
- TextEnhancedConfig
- Configuration for SentientTextEnhanced styling.
- TextFieldConfig
- Defines container styling for SentientTextField based on emotion.
- TypographyConfig
- Defines typography configuration for emotional states.
- WrapConfig
- Base configuration for emotion-aware Wrap layout.
Enums
- ContainerVariant
- Defines the visual variants that a SentientContainer can present.
- EmotionState
- Represents the set of discrete emotions recognizable by the Sentient UI framework.
- FeedbackTone
- NetworkType
- Represents network connectivity status.
- TextVariant
- Defines the text variant type for adaptive styling.
Extensions
- Extension on List<SentientBottomNavigationBarItem> for convenience.