0.9.0 • Published 2 years ago

wiloke-react-core v0.9.0

Weekly downloads
279
License
MIT
Repository
github
Last release
2 years 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

2 years ago

0.8.22

2 years ago

0.8.21

2 years ago

0.8.20

3 years ago

0.8.19

3 years ago

0.8.20-0

3 years ago

0.8.20-1

3 years ago

0.8.18

3 years ago

0.8.17

3 years ago

0.8.14

4 years ago

0.8.16

4 years ago

0.8.15

4 years ago

0.8.13

4 years ago

0.8.12

4 years ago

0.8.11

4 years ago

0.8.9

4 years ago

0.8.8

4 years ago

0.8.5

4 years ago

0.8.4

4 years ago

0.8.7

4 years ago

0.8.6

4 years ago

0.8.7-0

4 years ago

0.8.8-1

4 years ago

0.8.8-0

4 years ago

0.8.10

4 years ago

0.7.14

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.8.3

4 years ago

0.8.2

4 years ago

0.7.13

4 years ago

0.7.12

4 years ago

0.7.11

4 years ago

0.7.10

4 years ago

0.7.9

4 years ago

0.7.8

4 years ago

0.7.7

4 years ago

0.7.6

4 years ago

0.7.6-0

4 years ago

0.7.5

4 years ago

0.7.4

4 years ago

0.7.3

4 years ago

0.7.2

4 years ago

0.7.1-0

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.11-0

4 years ago

0.6.9

4 years ago

0.6.10

4 years ago

0.6.8

4 years ago

0.6.7

4 years ago

0.6.6

4 years ago

0.6.5

4 years ago

0.6.4

4 years ago

0.6.3

4 years ago

0.6.2

4 years ago

0.6.1

4 years ago

0.6.0

4 years ago

0.5.20

4 years ago

0.5.18

4 years ago

0.5.19

4 years ago

0.5.17

4 years ago

0.5.16

4 years ago

0.5.15

4 years ago

0.5.14

4 years ago

0.5.13

4 years ago

0.5.12

4 years ago

0.5.11

4 years ago

0.5.10

4 years ago

0.5.9

4 years ago

0.5.6

4 years ago

0.5.5

4 years ago

0.5.8

4 years ago

0.5.7

4 years ago

0.5.4

4 years ago

0.5.3

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.10

4 years ago

0.4.9

4 years ago

0.4.8

4 years ago

0.4.7

4 years ago

0.4.6

4 years ago

0.4.5

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.14

4 years ago

0.3.13

4 years ago

0.3.12

4 years ago

0.3.11

4 years ago

0.3.9

4 years ago

0.3.10

4 years ago

0.3.8

5 years ago

0.3.7

5 years ago

0.3.6

5 years ago

0.3.5

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.1.10

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.2

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.1-43

5 years ago

0.0.1-44

5 years ago

0.0.1-42

5 years ago

0.0.1-41

5 years ago

0.0.1-40

5 years ago

0.0.1-39

5 years ago

0.0.1-34

5 years ago

0.0.1-33

5 years ago

0.0.1-36

5 years ago

0.0.1-35

5 years ago

0.0.1-38

5 years ago

0.0.1-37

5 years ago

0.0.1-32

5 years ago

0.0.1-31

5 years ago

0.0.1-30

5 years ago

0.0.1-29

5 years ago

0.0.1-28

5 years ago

0.0.1-27

5 years ago

0.0.1-25

5 years ago

0.0.1-26

5 years ago

0.0.1-24

5 years ago

0.0.1-23

5 years ago

0.0.1-22

5 years ago

0.0.1-21

5 years ago

0.0.1-20

5 years ago

0.0.1-19

5 years ago

0.0.1-18

5 years ago

0.0.1

5 years ago

0.0.1-17

5 years ago

0.0.1-16

5 years ago

0.0.1-15

5 years ago

0.0.1-14

5 years ago

0.0.1-13

5 years ago

0.0.1-12

5 years ago

0.0.1-11

5 years ago

0.0.1-7

5 years ago

0.0.1-10

5 years ago

0.0.1-9

5 years ago

0.0.1-8

5 years ago

0.0.1-6

5 years ago

0.0.1-3

5 years ago

0.0.1-5

5 years ago

0.0.1-4

5 years ago

0.0.1-2

5 years ago

0.0.1-1

5 years ago

0.0.1-0

5 years ago