dievas library
Dievas design system. Flutter theme and component layer.
Import this library to access the full Dievas public API:
- DievasScope — entry-point widget; wraps your app
- DievasTheme — InheritedModel with static sub-system accessors
- DievasThemeData — the theme contract (implement to create brand themes)
- DievasGlobalThemeData — sealed abstract base (extend to create brand themes)
- DievasLightThemeData / DievasDarkThemeData — default themes
- All ThemeData sub-systems (colours, typography, spacing, etc.)
- DievasGrid / DievasGridBreakpoint — responsive grid
- Context extensions (
context.colors,context.typography, ...) - DievasLocalizations — l10n delegate and context extension
- Button components: DievasFilledButton, DievasOutlinedButton, DievasTextButton, DievasIconButton
- Form components: DievasTextInput, DievasTextArea, DievasCheckbox, DievasSwitch, DievasRadio
- Display components: DievasAvatar, DievasBadge, DievasTag, DievasDivider, DievasIcon, DievasLinearProgress, DievasCircularProgress
- Feedback components: DievasAlert, DievasBanner, DievasSnackbar
- Overlay components: DievasBottomSheet, showDievasBottomSheet, DievasModal, showDievasModal, DievasTooltip
- Utility components: DievasLoader, DievasEmptyState
Classes
- ActionColours
- Interactive element colour roles across all states and semantic intents.
- BackgroundColours
- Surface and background colour roles, from scaffold base to elevated overlays.
- BorderColours
- Border and divider colour roles.
- CoreColours
- Brand-identity colours.
- DievasAccordion
- DievasAccordionItem
- DievasAccordionThemeData
- DievasAlert
- An inline alert surface communicating status or feedback to the user.
- DievasAlertThemeData
- Theme data for DievasAlert.
- DievasAnimationThemeData
- The animation sub-system for a Dievas theme.
- DievasAuthCode
- A digit-by-digit passcode entry field.
- DievasAuthCodeThemeData
- Theme data for DievasAuthCode.
- DievasAvatar
- A circular or square container that displays a user's image, initials, or a placeholder icon.
- DievasAvatarThemeData
- Theme data for DievasAvatar.
- DievasBadge
- A small label used to communicate status, count, or categorical metadata.
- DievasBadgeThemeData
- Theme data for DievasBadge.
- DievasBanner
- A persistent, scope-owned banner shown at the top of the viewport.
- DievasBorderThemeData
- The border radius and stroke-width sub-system for a Dievas theme.
- DievasBottomSheet
- The surface widget placed inside showDievasBottomSheet.
- DievasBottomSheetThemeData
- Theme data for DievasBottomSheet.
-
DievasBreadcrumb<
T> - A horizontal breadcrumb navigation trail.
- DievasBreadcrumbThemeData
- Theme data for DievasBreadcrumb.
- DievasButtonStyle
- Sealed base for all Dievas button style discriminators.
-
DievasButtonThemeData<
T extends DievasButtonThemeStyle> - Sealed base for all Dievas button theme data classes.
- DievasCheckbox
- A custom-drawn checkbox that uses only Dievas theme tokens.
- DievasCheckboxThemeData
- Theme data for DievasCheckbox.
- DievasCircularProgress
- A circular spinner / progress ring.
- DievasCircularProgressThemeData
- Theme data for DievasCircularProgress.
- DievasColourThemeData
- The complete colour sub-system for a Dievas theme.
- DievasComponentThemeData
- The component-level theme sub-system for a Dievas theme.
- DievasDarkThemeData
- Default Dievas dark theme.
- DievasDivider
- A thin hairline rule that separates content regions.
- DievasDotIndicator
- A horizontal row of dots indicating page position.
- DievasDotIndicatorThemeData
- Theme data for DievasDotIndicator.
- DievasDrawer
- DievasDrawerState
- DievasDrawerThemeData
-
DievasDropdown<
T> - A select-style dropdown that shows a trigger with the current selection and opens an overlay with options on tap.
- DievasDropdownThemeData
- Theme data for DievasDropdown.
- DievasElevationThemeData
- The elevation sub-system for a Dievas theme.
- DievasEmptyState
- A structured empty state surface — icon, title, description, optional CTA.
- DievasEmptyStateThemeData
- Theme data for DievasEmptyState.
- DievasFilledButton
- A filled button with a solid background colour.
- DievasFilledButtonGroupThemeData
- Aggregates the per-style DievasFilledButtonThemeData variants.
- DievasFilledButtonThemeData
- Theme data for DievasFilledButton.
- DievasGlobalThemeData
- Sealed abstract base for all Dievas theme implementations.
- DievasGrid
- A LayoutBuilder-backed widget that inserts the current DievasGridBreakpoint into the widget tree.
- DievasGridBreakpoint
- A single breakpoint in the Dievas grid system.
- DievasIcon
- A thin wrapper around Icon / ImageIcon that enforces Dievas sizing and colour semantics via the theme.
- DievasIconButton
- A square or circular button that displays a single icon with no label.
- DievasIconButtonGroupThemeData
- Aggregates the per-style DievasIconButtonThemeData variants.
- DievasIconButtonThemeData
- Theme data for DievasIconButton.
- DievasLightThemeData
- Default Dievas light theme.
- DievasLinearProgress
- A horizontal progress bar.
- DievasLinearProgressThemeData
- Theme data for DievasLinearProgress.
- DievasLoader
- A standalone loading indicator — distinct from the inline button loading state.
- DievasLoaderThemeData
- Theme data for DievasLoader — a standalone full-surface loading widget.
- DievasLocalizations
- Localization strings for Dievas component-internal copy.
- DievasMenuItem
- A list item typically used inside menus, drawers, and dropdowns.
- DievasMenuItemThemeData
- Theme data for DievasMenuItem.
- DievasModal
- The card widget rendered inside showDievasModal.
- DievasModalThemeData
- Theme data for DievasModal.
- DievasOpacityThemeData
- The opacity sub-system for a Dievas theme.
- DievasOutlinedButton
- A button with a transparent background and a visible border.
- DievasOutlinedButtonGroupThemeData
- Aggregates the per-style DievasOutlinedButtonThemeData variants.
- DievasOutlinedButtonThemeData
- Theme data for DievasOutlinedButton.
- DievasPopover
- DievasPopoverThemeData
-
DievasRadio<
T> - A custom-drawn radio button that uses only Dievas theme tokens.
- DievasRadioThemeData
- Theme data for DievasRadio.
- DievasScope
- The entry-point widget for the Dievas design system.
- DievasScopeState
- Mutable state for DievasScope.
- DievasSearchThemeData
- Theme data for DievasSearchWithList and DievasSearchWithDropdown.
-
DievasSearchWithDropdown<
T> - A search field with an overlay dropdown showing filtered results.
-
DievasSearchWithList<
T> - A search field with an inline filtered-results list.
-
DievasSegmentedControl<
T> - A horizontal row of mutually exclusive segments.
- DievasSegmentedControlThemeData
- Theme data for DievasSegmentedControl.
- DievasSizingThemeData
- Component sizing tokens — heights, icon sizes, and avatar dimensions.
- DievasSnackbar
- A brief, non-blocking message shown at the bottom of the viewport.
- DievasSnackbarAction
- An optional action shown inside a DievasSnackbar.
- DievasSnackbarThemeData
- Theme data for DievasSnackbar.
- DievasSpacingThemeData
- The spacing sub-system for a Dievas theme.
- DievasSwitch
- A custom-drawn animated toggle switch that uses only Dievas theme tokens.
- DievasSwitchThemeData
- Theme data for DievasSwitch.
- DievasTabBar
- A horizontal row of tabs with an animated underline indicator.
- DievasTabBarThemeData
- Theme data for DievasTabBar.
- DievasTag
- An interactive or read-only chip that can carry a label, a leading icon, and an optional dismiss (×) affordance.
- DievasTagThemeData
- Theme data for DievasTag.
- DievasTextArea
- A multiline text input area.
- DievasTextButton
- A text-only button with no background or border.
- DievasTextButtonGroupThemeData
- Aggregates the per-style DievasTextButtonThemeData variants.
- DievasTextButtonThemeData
- Theme data for DievasTextButton.
- DievasTextInput
- A themed text input field.
- DievasTextInputGroup
- A horizontally-grouped set of input segments with a shared border.
- DievasTextInputGroupThemeData
- Theme data for DievasTextInputGroup.
- DievasTextInputThemeData
- Theme data for DievasTextInput and DievasTextArea.
- DievasTheme
- The Dievas InheritedModel — the single source of truth for theme data in the widget tree.
- DievasThemeData
- The Dievas theme contract.
- DievasTooltip
- A Dievas-styled tooltip that wraps the platform Tooltip widget.
- DievasTooltipThemeData
- Theme data for DievasTooltip.
- DievasTypographyThemeData
- The complete typography sub-system for a Dievas theme.
- FeedbackColour
- A value object holding the four colour sub-roles for a single feedback semantic (success, warning, error, or info).
- FeedbackColours
- Feedback colour roles — success, warning, error, and info.
- IconColours
- Icon colour roles.
- InputColours
- Colour roles specific to text input fields across all states.
- StaticColours
- Theme-invariant colours that never flip between light and dark mode.
- SurfaceColours
- Surface colour roles for specialized contexts within the Dievas design system.
- SwitchColours
- Colour roles for the toggle switch component.
- TextColours
- Text colour roles across all contrast levels and surface types.
Enums
- DievasAlertTone
- Semantic tone of a DievasAlert.
- DievasAvatarShape
- Visual style of the avatar container.
- DievasAvatarSize
- Size variants for DievasAvatar.
- DievasBadgeStyle
- Visual style of DievasBadge.
- DievasBadgeTone
- Colour variant driving the semantic tone of a DievasBadge.
- DievasButtonIconStyleBehavior
- Controls how a leading or trailing icon's colour behaves during interaction.
- DievasButtonShape
- Corner shape for Dievas button components.
- DievasButtonSize
- Available sizes for Dievas button components.
- DievasButtonState
- Interaction states for Dievas button components.
- DievasCheckboxValue
- State values for DievasCheckbox.
- DievasCircularProgressSize
- Size variants for DievasCircularProgress.
- DievasCircularProgressStyle
- Visual style of DievasCircularProgress.
- DievasDividerOrientation
- Orientation of DievasDivider.
- DievasFilledButtonStyle
- Visual style variants for DievasFilledButton.
- DievasIconButtonStyle
- Visual style variants for DievasIconButton.
- DievasIconSize
- Size variants for DievasIcon.
- DievasLinearProgressStyle
- Visual style of DievasLinearProgress.
- DievasLoaderSize
- Size variants for DievasLoader.
- DievasOutlinedButtonStyle
- Visual style variants for DievasOutlinedButton.
- DievasPopoverPosition
- DievasTagStyle
- Visual style of DievasTag.
- DievasTextButtonStyle
- Visual style variants for DievasTextButton.
- DievasTextInputGroupSize
- Size variants for DievasTextInputGroup.
- DievasTextInputSize
- Size variants for DievasTextInput.
- DievasThemeAspect
- Named aspects of the Dievas theme — used by DievasTheme (InheritedModel) to scope rebuilds to only the widgets that depend on a changed aspect.
Mixins
- DievasScopeController
- Controller API exposed by DievasScope.of.
Extensions
- DievasGridContextExtension on BuildContext
- BuildContext extension for convenient grid breakpoint access.
- DievasThemeContextExtension on BuildContext
- Flat BuildContext extension for accessing Dievas theme sub-systems.
Functions
-
showDievasBottomSheet<
T> ({required BuildContext context, required WidgetBuilder builder, bool isDismissible = true, bool enableDrag = true, bool isScrollControlled = false, RouteSettings? routeSettings}) → Future< T?> - Shows a Dievas-styled modal bottom sheet.
-
showDievasModal<
T> ({required BuildContext context, required WidgetBuilder builder, bool barrierDismissible = true, RouteSettings? routeSettings}) → Future< T?> - Shows a Dievas-styled modal dialog.
Typedefs
- DievasAppBuilder = Widget Function(BuildContext context, DievasThemeData theme, Widget? child)
- Builds an app subtree with access to the resolved Dievas theme.
-
DievasInputThemeValue<
T> = ({T lg, T md, T sm}) - Size-keyed record for input-family component theme properties.
-
DievasOverlayBuilder
= Widget Function(BuildContext context, Animation<
double> animation) - Builds a transient overlay surface such as a banner or snackbar.