outlook library

The consistent use of colour, shape, typography & iconography throughout an app. Express brand identity with a serializable theme that follows material design guidelines of theme.


Base API for Outlook Defines the basic getters and methods available for managing theming throughout an application as a bussiness concern not UI. Note: Outlook has no method for changingMode since each theme is viewed as seperate and distict if one wants to create a dark version of a theme,they create it as a seperate theme.
@description wallpapers, default avatars used to convey brand identity. todo: assess how OutlookBackgrounds can be used
@description A color representation from a hex code value. This class is used instead of material's Color to avoid the dependency on material. eg. OutlookColor color = OutlookColor(0xff273822); note : 0xff must precede hex codes in naming colors for flutter.
Used to define a set of colours used by the theme, following material 3 colorscheme standards.
The definition of an icon system in you app, set the colors,sizes and icons type.
@description An image loaded as a background with the location src (can be path/url) and the where its sources from type
Defines a shape for a given category
Defines the the theme for shaping the UI components of an app adhering to material design shapeScheme. check link : https://material.io/design/shape/about-shape.html#components-and-shape When OutlookTheme is converted to flutter's themeData the different UI components are themed with the shape style corresponding to theme.
TextScheme is the base class for configuring all type related settings , geometry,fonts & sizes. It uses material 3's typescale.
Defines the minimal necessary aspects of type settings for a theme.
A representation of an application's theme , consisting of its metadata and configurations. Its completely serializable & can be a constant. This class is intended to be used in the business layer so that frame-work specific classes(like ThemeData) never get to the business layer.


The brightness of a theme , whether its light or dark.
Outlook's representation of FontStyle from material
Outlook's representation of FontWeight from material. Bold and normal values are excluded see its adapter for how it can be used.
Sets the types of icons one is using for the theme. Check the differences in icon types at font-awesome. https://fontawesome.com/v6/icons?s=solid
@description possible image sources for an an image asset
Defines the shape type of a category shape using material shapeFamily : https://material.io/design/shape/applying-shape-to-ui.html#shape-attributes