1.0.9 • Published 4 years ago

azir-theme v1.0.9

Weekly downloads
74
License
MIT
Repository
github
Last release
4 years ago

Azir Framwork list : https://azir.io/docs

AzirTheme usage

All the colors, sizes and layout rules are stored in our default theme. Every component inherits its styling rules from this Package. Imagine this... You're building an application and you have 30 buttons using the primary color but you feel like that color doesn't really suit your project. You can re-write our theme file with only the things you want to change by using our theme components and all Azir components will change the that certain style.

We use Galio Framework as a base of our framework .

1. Components

  • AzirTheme: default theme for components exporting an object with { COLORS, SIZES } the origion settings.
  • withAzir: HoC for any React-Native component with args: Component and optional styles. By using this, you can access constants we have in our default theme.
  • AzirProvider: React Context Provider getting custom theme from props and pass it to the React Context.

2. Usage

  • install any of our available components .
  • import { theme, withAzir, AzirProvider } from 'azir-theme'
  • export default withAzir(YourComponent, componentStyles);
  • custom theme constants will overwrite the default Azir theme constants
const customTheme = {
  SIZES: { FONT: 120, BASE: 18, BORDER_RADIUS: 0, HR_PADDING: 0 },
  // this will overwrite the Azir SIZES BASE value 16
  COLORS: { THEME: "#ff9900" }
  // this will overwrite the Azir COLORS PRIMARY color #B23AFC
};
<AzirProvider theme={customTheme}>
  <YourRootComponent />
</AzirProvider>;

2.1 withAzir in-depth usage and explanation

Exporting a React class/function using our withAzir function enables your component to consume Azir's React Context and pass down theme in your component as a prop or as an argument for styles. So now you can use our constant colors and sizes in your own components/screens.

const styles = theme =>
  StyleSheet.create({
    container: {
      flex: 1,
      backgroundColor: theme.COLORS.FACEBOOK
    }
  });
export default withAzir(youComponent, styles);

3. Theme COLORS & SIZES

Use the following reference tables to create your own custom theme

COLORS reference table

Color nameDefault valueDescription
SOCIAL
FACEBOOK#3B5998npm.io For social Facebook button
TWITTER#5BC0DEnpm.io For social Twitter button
DRIBBBLE#EA4C89npm.io For social Dribble button
Azir
THEME#B23AFCnpm.io Theme default color
PRIMARY#B23AFCnpm.io Primary color for Buttons
INFO#1232FFnpm.io Info color for Buttons & Text
ERROR#FE2472npm.io Info color for error messages
WARNING#FF9C09npm.io Warning color for warning messages
SUCCESS#45DF31npm.io Success color for success messages
COMPONENTS
INPUT#808080npm.io Input backgroundColor
PLACEHOLDER#9FA5AAnpm.io Input placeholder text color
NAVBAR#F9F9F9npm.io NavBar text color
BLOCK#808080npm.io Block border color
ICON#000000npm.io Icon default color
STANDARD
WHITE#FFFFFFnpm.io White color
BLACK#000000npm.io Black color
GREY#898989npm.io Grey color
MUTED#9FA5AAnpm.io Text muted color
TRANSPARENTtransparentTransparent value for Block, Button and other components
NEUTRALrgba(255,255,255, 0.65)Text neutral color white with 65% transparency

SIZES reference table

const { height, width } = Dimensions.get('screen'); By default the size of 16 is used to calculate all the sizes

Size nameDefault value
THEME
BASE16
FONT16
ICON16
OPACITY0.8
BORDER_RADIUS0
BORDER_WIDTH0
ICON
ICON_SIZE16 * 9
BUTTON
BUTTON_WIDTH16 * 9
BUTTON_HEIGHT16 * 2.75
BUTTON_SHADOW_RADIUS10