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