Luxity Component Library
Includes:
Components in this Library
- Accordion
- Interests
- Checkbox
- CountryCodeSelect
- CurrencyInputFormatter
- GraphQLMultiSelector
- InterestCatSelector
- InterestItem
- LuxityGraphQLMultiSelector
- LuxityPageReady
- RadioButtons
- ReactSelectWrapper
- StyleSelector
- Tooltip
- CheckBoxButton
- GenderSelector
- GraphQLDropdownSelector
- LuxityGraphQLDropdownSelector
- MaterialSelector
- ModelSelector
- RareStepHeader
- RareStepFooter
Elements (simple Styled Components)
- Buttons
- PrimaryButton
- SecondaryButton
- TextButton
- InvertedTextButton
- WrapperButton
Helper Functions in this Library
- axios - an axios instance getter
- currency - a currency number formatter
- formatErrors - conditions a laravel validation error into something we can use in our Forms
- notify - simple wrapper to trigger
error or success versions of react-notify-toast
- simpleRequest - simple wrapper for configuring an axios instance
- themed - a component wrapper function to apply a
ThemeProvider to styled-components with minial syntax
- token - token helper functions for getting, and setting
_tk named cookies
SVGs
- Accessories
- Account
- Add
- ArrowRight
- Bags
- BurgerMenu
- Calendar
- CalendarCircled
- CheckCircled
- Close
- Dot
- Edit
- Eye
- FileAttach
- FileAttachCircled
- LightBulb
- Logo
- LuxityMenu
- Minus
- MobileAvatar
- MyOrder
- MyPayment
- MyProfile
- MySale
- Notification
- PointerDown
- Search
- Shoes
- LuxityArrowLeft
- LuxityArrowRight
Commands
yarn - install npm dependencies
yarn start - Open Storybook
yarn docs - run both lint and tests
yarn build - generate built js files
yarn build --watch - build and watch files
yarn test - run both lint and tests
yarn lint - run linter only
yarn jest --watch - watch tests (reccomended)
Testing your local Changes in other Projects
tl;dr
- Checkout your Fork of this Repo
- Run this in the fork root folder:
yarn link
- Run this in the root folder of the project you would like to use this module:
yarn link @bonlineza/luxity-lib
You will now be able to import this module like any normal npm module like so:
import { Accordion } from '@bonlineza/luxity-lib';
or alternatively (preferred)
import Accordion from '@bonlineza/luxity-lib/Accordion';
Publish Package
- after testing is complete and your changes have been merged to master in this Library
Prerequisites
Steps:
- checkout/pull latest UPSTREAM
master and run...
yarn install
yarn test
yarn build
- Update your
Package.json version info (according to SEMVER)
- Update you
CHANGELOG.MD and README.MD file with additions/changes
yarn login
npm publish --dry-run - to confirm that your new files will be packaged into the npm repo
npm publish - commit the published files to the npm repo
yarn docs - generates all documentation
yarn build:storybook - ensure static stybook site is up to date
Commit and TAG this commit with the Tag name the same as the package version number to UPSTREAM master - example: 'v2.1.0'