rn-shadow-generator icon indicating copy to clipboard operation
rn-shadow-generator copied to clipboard

React Native Shadow Generator is a tool to quickly generate your shadow's Components. Tool builded by .mind team.

header

@dotmind/rn-shadow-generator

React Native Shadow Generator to quickly generate shadow of your components. Builded by .mind.io

Menu

  • Menu
  • ๐Ÿš€ Roadmap
  • ๐Ÿ” Preview
  • ๐Ÿ’ป Installation
  • ๐Ÿ‘ทโ€โ™‚๏ธ How it's work
    • ShadowView usage
    • generateShadow usage
  • ๐Ÿงช Example app
  • โšก๏ธ Contributing
  • ๐Ÿ” License

๐Ÿš€ Roadmap

  • [ ] Android full compatibility (shadowOffset support)

๐Ÿ” Preview

preview

๐Ÿ’ป Installation

yarn add @dotmind/rn-shadow-generator

or

npm i @dotmind/rn-shadow-generator --save

๐Ÿ‘ทโ€โ™‚๏ธ How it's work

ShadowView usage

import { ShadowView } from '@dotmind/rn-shadow-generator';

const BasicComponent = () =>ย {
  return (
    <ShadowView>
      <Text>My Shadow View</Text>
    </ShadowView>
  );
}

const MyCustomComponent = () =>ย {
  return (
    <ShadowView level={4} shadowColor={'#000'} direction={'bottom'}>
      <Text>My Shadow View</Text>
    </ShadowView>
  );
}

props description required default value
level Increase shadow dimensions false 4
shadowColor Change shadowColor style attribute false #000
direction Change shadow direction false bottom

generateShadow usage

Returns a full shadow object depending on OS (iOS or Android).

import { generateShadow } from '@dotmind/rn-shadow-generator';

const BasicComponent = () =>ย {
  return (
    <View style={{ ...generateShadow() }}>
      <Text>My Shadow View</Text>
    </View>
  );
}

const MyCustomComponent = () =>ย {
  return (
    <View style={{ ...generateShadow({ level: 4, shadowColor: '#000', direction: 'bottom' }) }}>
      <Text>My Shadow View</Text>
    </View>
  );
}

attributes description required default value
level Increase shadow dimensions false 4
shadowColor Change shadowColor style attribute false #000
direction Change shadow direction false bottom

Object returned

{
  ...Platform.select({
    ios: {
      shadowColor,
      shadowOffset,
      shadowOpacity,
      shadowRadius,
    },
    android: {
      shadowColor,
      elevation: level,
    },
  }),
}

๐Ÿงช Example app

To see full app integration example please refer to here.

โš ๏ธ To run the app please run here yarn build that the @dotmind/rn-shadow-generator npm package be able to link itselfs.

โšก๏ธ Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

๐Ÿ” License

MIT