0.9.0 • Published 1 year ago

wiloke-react-core v0.9.0

Weekly downloads
279
License
MIT
Repository
github
Last release
1 year ago

Wiloke react core for typescript ( Private source )

Install

npm

npm install wiloke-react-core@latest --save

yarn

yarn add wiloke-react-core@latest

Components image

Redux actions image

UI Base Example + CSS IN JS ( render -> ATOMIC CSS )

import React, { FC } from 'react';
import { View, Text, Image, GridSmart, Theme, css } from 'wiloke-react-core';

const containerStyle = ({ colors }: Theme) => css`
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid ${colors.gray8};
`

const Example: FC = () => {
  return (
    <View container css={containerStyle}>
      <Text tagName="h2" numberOfLines={2}>Grid Smart Auto Responsive</Text>
      <GridSmart columnWidth={200} columnCount={4}>
        <Image src={`https://images.pexels.com/photos/2174656/pexels-photo-2174656.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260`} />
        <Image src={`https://images.pexels.com/photos/1371360/pexels-photo-1371360.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260`} />
        <Image src={`https://images.pexels.com/photos/2226900/pexels-photo-2226900.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260`} />
        <Image src={`https://images.pexels.com/photos/941744/pexels-photo-941744.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260`} />
      </GridSmart>
    </View>
  )
}

image

createAsyncAction + createDispatchAsyncAction ( for redux react hooks )

import { createAsyncAction, createDispatchAsyncAction } from 'wiloke-react-core/utils';
import { Todolist } from 'models/Todolist';
import { Endpoints } from 'types/Endpoints';

export const getTodolist = createAsyncAction([
  '@HomePage/getTodolistRequest',
  '@HomePage/getTodolistSuccess',
  '@HomePage/getTodolistFailure',
  '@HomePage/getTodolistCancel',
])<{ endpoint: Endpoints.Todolist }, { data: Todolist }, { message: string }>();

export const useGetTodolist = createDispatchAsyncAction(getTodolist);

createReducer + handleAction

import { ActionTypes, createReducer, handleAction } from 'wiloke-react-core/utils';
import { Todolist } from 'models/Todolist';
import { getTodolist } from '../actions/actionTodolist';

type TodolistAction = ActionTypes<typeof getTodolist>;

interface TodolistState {
  status: Status;
  errorMessage: string;
  data: Todolist;
}

const initialState: TodolistState = {
  status: 'idle',
  errorMessage: '',
  data: [],
};

const reducerTodolist = createReducer<TodolistState, TodolistAction>(initialState, [
  handleAction('@HomePage/getTodolistRequest', ({ state }) => ({
    ...state,
    status: 'loading',
  })),
  handleAction('@HomePage/getTodolistSuccess', ({ state, action }) => ({
    ...state,
    status: 'success',
    data: action.payload.data,
  })),
  handleAction('@HomePage/getTodolistFailure', ({ state, action }) => ({
    ...state,
    status: 'failure',
    errorMessage: action.payload.message,
  })),
  handleAction('@HomePage/getTodolistCancel', ({ state }) => {
    // mutable test
    state.status = 'idle';
    return state;
  }),
]);

export default reducerTodolist;

createSlice + createDispatchAction ( for redux react hooks )

import { createDispatchAction, createSlice, handleAction } from 'wiloke-react-core/utils';

export type DirectionState = 'ltr' | 'rtl';

export interface DirectionAction {
  type: 'setDirection';
  payload: {
    direction: DirectionState;
  };
}

export const sliceDirection = createSlice<DirectionState, DirectionAction>({
  name: '@Header',
  initialState: 'ltr',
  reducers: [
    handleAction('setDirection', ({ action }) => {
      return action.payload.direction;
    })
  ],
});

export const useSetDirection = createDispatchAction(sliceDirection.actions.setDirection);

and more...

See Example

Page demo use wiloke-react-core ( auto responsive with GridSmart, auto nightMode, auto RTL... )

Home page

UI base

Storybook Components Base

Repo use wiloke-react-core

https://github.com/wiloke1/react-typescript-boilerplate

git clone https://github.com/wiloke1/react-typescript-boilerplate

Start

yarn start

Storybook

yarn storybook

Use rc-generate https://www.npmjs.com/package/rc-generate

yarn rcg -s scss -r saga -c:name containers/HomePage

Storybook

yarn storybook

wiloke-react-core CLI

Eject storybook components

yarn stories-eject

Eject advanced UI components for easy customization

yarn ce
0.9.0

1 year ago

0.8.22

1 year ago

0.8.21

1 year ago

0.8.20

2 years ago

0.8.19

2 years ago

0.8.20-0

2 years ago

0.8.20-1

2 years ago

0.8.18

2 years ago

0.8.17

2 years ago

0.8.14

2 years ago

0.8.16

2 years ago

0.8.15

2 years ago

0.8.13

3 years ago

0.8.12

3 years ago

0.8.11

3 years ago

0.8.9

3 years ago

0.8.8

3 years ago

0.8.5

3 years ago

0.8.4

3 years ago

0.8.7

3 years ago

0.8.6

3 years ago

0.8.7-0

3 years ago

0.8.8-1

3 years ago

0.8.8-0

3 years ago

0.8.10

3 years ago

0.7.14

3 years ago

0.8.1

3 years ago

0.8.0

3 years ago

0.8.3

3 years ago

0.8.2

3 years ago

0.7.13

3 years ago

0.7.12

3 years ago

0.7.11

3 years ago

0.7.10

3 years ago

0.7.9

3 years ago

0.7.8

3 years ago

0.7.7

3 years ago

0.7.6

3 years ago

0.7.6-0

3 years ago

0.7.5

3 years ago

0.7.4

3 years ago

0.7.3

3 years ago

0.7.2

3 years ago

0.7.1-0

3 years ago

0.7.1

3 years ago

0.7.0

3 years ago

0.6.11-0

3 years ago

0.6.9

3 years ago

0.6.10

3 years ago

0.6.8

3 years ago

0.6.7

3 years ago

0.6.6

3 years ago

0.6.5

3 years ago

0.6.4

3 years ago

0.6.3

3 years ago

0.6.2

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.20

3 years ago

0.5.18

3 years ago

0.5.19

3 years ago

0.5.17

3 years ago

0.5.16

3 years ago

0.5.15

3 years ago

0.5.14

3 years ago

0.5.13

3 years ago

0.5.12

3 years ago

0.5.11

3 years ago

0.5.10

3 years ago

0.5.9

3 years ago

0.5.6

3 years ago

0.5.5

3 years ago

0.5.8

3 years ago

0.5.7

3 years ago

0.5.4

3 years ago

0.5.3

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.10

3 years ago

0.4.9

3 years ago

0.4.8

3 years ago

0.4.7

3 years ago

0.4.6

3 years ago

0.4.5

3 years ago

0.4.4

3 years ago

0.4.3

3 years ago

0.4.2

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.14

3 years ago

0.3.13

3 years ago

0.3.12

3 years ago

0.3.11

3 years ago

0.3.9

3 years ago

0.3.10

3 years ago

0.3.8

3 years ago

0.3.7

3 years ago

0.3.6

3 years ago

0.3.5

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.1.10

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.2

3 years ago

0.1.3

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.1-43

3 years ago

0.0.1-44

3 years ago

0.0.1-42

3 years ago

0.0.1-41

3 years ago

0.0.1-40

3 years ago

0.0.1-39

3 years ago

0.0.1-34

3 years ago

0.0.1-33

3 years ago

0.0.1-36

3 years ago

0.0.1-35

3 years ago

0.0.1-38

3 years ago

0.0.1-37

3 years ago

0.0.1-32

3 years ago

0.0.1-31

3 years ago

0.0.1-30

3 years ago

0.0.1-29

3 years ago

0.0.1-28

3 years ago

0.0.1-27

3 years ago

0.0.1-25

3 years ago

0.0.1-26

3 years ago

0.0.1-24

3 years ago

0.0.1-23

3 years ago

0.0.1-22

3 years ago

0.0.1-21

3 years ago

0.0.1-20

3 years ago

0.0.1-19

3 years ago

0.0.1-18

3 years ago

0.0.1

3 years ago

0.0.1-17

3 years ago

0.0.1-16

3 years ago

0.0.1-15

3 years ago

0.0.1-14

3 years ago

0.0.1-13

3 years ago

0.0.1-12

3 years ago

0.0.1-11

3 years ago

0.0.1-7

3 years ago

0.0.1-10

3 years ago

0.0.1-9

3 years ago

0.0.1-8

3 years ago

0.0.1-6

3 years ago

0.0.1-3

3 years ago

0.0.1-5

3 years ago

0.0.1-4

3 years ago

0.0.1-2

3 years ago

0.0.1-1

3 years ago

0.0.1-0

3 years ago