Skip to content

webbeetechnologies/bamboo-atoms

Repository files navigation

Bamboo Atoms

There are three fundamental parts to Bamboo Atoms

  1. Dependency Injection
  2. Performant cross-platform low-level components/hooks
  3. Theming

What problems do we intend to solve?

Other available libraries implement an API that is complicated and often deviate from the react native implementation. You should only need to read react-native documentation to write your components.

Case in point, libraries implementing _textStyle, _containerStyle props that would be passed down from one component to the other

Complex theming: You should have to write your styles once, while still enabling customising styles for certain special sections.

eg. Build custom styles for text and buttons in modals or headers Complex component composition; time and again, and especially in react native, you need to import a specifically styled component through out your component tree to ensure a consistent UI.

Shoots aims to

Be a minimal, un-opinionated dependency (styles and components) injection library.

Be a performant, thoroughly (automation) tested, and highly theme-able repository of building block components to create quality cross-platform production grade complex components.

Export a barely styled set of low-level components that are a drop in replacement for react-native components.

Provide an efficient way to compose complex elements using dependency injection principals. Bamboo Atoms provides an easily configurable component store and a neat useComponent hook that gives you the component specific for the current context.

Provide a simplified and elegant way to create and inject themes. Shoot has light/dark modes built-in and also enables custom component theming at a component specific level. An efficient useTheme hook is available to deliver a refined experience.

Shoots is not

Though it enables complex theming, it is not a design library.

A high level component library that would otherwise actually create a product.

Design Patterns

// TODO: Add design patterns

Get Started

# install dependencies
yarn

# install dependencies for the library and examples
yarn bootstrap

# setup husky
yarn prepare:husky

To Release

# bundling
yarn prepare

# release to npm
yarn release

Demo

# run expo example app
yarn run:example

# run storybook
yarn run:storybook

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published