gangstarr-point-styler v1.0.1
Team Gangstarr
šļø ķė”ģ ķø ģź°
ģ ģ§Xģ¤ėģ“ķ¼ ķ©ķ ė¦¬ ģ¼ź²½ķ ķė”ģ ķøģ ģ¼ķģ¼ė” ķµģ¦ź“ė¦¬ģģ¤ķ ėģģø ė¼ģ“ėøė¬ė¦¬ ģ ģķģģµėė¤.
š ķģź°
ķģ„ | ķģ | ķģ | ķģ |
---|---|---|---|
ķģ±ģø š§ ģ ė ķ¬źø°ķģ§ ė§. | ź¹ģ¤ź²½ š± ź°ė° ź°±ģ¤ķ°ź° ė ėģ | ģ ģ°ģ° š¬ ģµź³ ė³“ė¤ė ģµģ ģ. | ģµėķ š¦ ģ“? źøģ§ |
ģ¤ģ¹ ė°©ė²
npm i gangstarr-point-styler
ģ ģģ ģø ģ¤ķģ¼ģ ģķ“ģė Providerė„¼ ģ ģ©ķ“ģ¼ķ“ģ!
import { PoinTStyleProvider } from 'gangstarr-point-styler';
...
return (
<PoinTStyleProvider>
</PoinTStyleProvider>
)
...
ģ¬ģ©ė²
colorģ font
importķ color.gray100
ģ ź°ģ ķķė” ģ¬ģ©ķ“ģ.
import { color, font } from "gangstarr-point-styler";
...
const Component = styled.div`
color: ${color.gray100}
`
...
AppBar
ėķ ģ¼ ķģ“ģ§ģģ ģ¬ģ©ķė AppBarģ ėė¤.
ģģ ģ½ė
import { AppBar } from 'gangstarr-point-styler';
...
<AppBar title='ķģ“ģ§ ģ“ė¦' size='full' icon={[{iconName: 'add', func: () => {console.log('ķ“ė¦')}}]} />
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
size | 'medium','large','full' | AppBarģ ķ¬źø°ė„¼ ź²°ģ ķ©ėė¤. mediumģ widthź° 650px, largeģ ź²½ģ° widthź° 1024px, fullģ ź²½ģ° width 1024px, height 56pxė” ė³ź²½ė©ėė¤. | ā |
title | string | AppBar ģ¬ģ©ģ ķģ¬ ķģ“ģ§ģ ģ“ė¦ģ ķģķ©ėė¤. sizeź° fullģ¼ė titleģ ź°ģ“ė° ķģė©ėė¤. | ā |
icon | {iconName: iconsKey, func: ()=>void} | AppBar ģ¤ė„øģŖ½ģ ģģ¹ķ ģģ“ģ½ ė²ķ¼ģ ėė¤. iconNameģ Icon ģ»“ķ¬ėķøģ ģģ±(iconsKey)ģ ģģ±ķ©ėė¤. funcģ ė²ķ¼ ķ“ė¦ģ ģėķ ķØģė„¼ ģģ±ķ©ėė¤. | ā |
text | {textName: string, func: ()=>void} | AppBar ģ¤ė„øģŖ½ģ ģģ¹ķ ķ ģ¤ķø ė²ķ¼ģ ėė¤. TextNameģ ė²ķ¼ģ ģ“ė¦ģ ź²°ģ ķ©ėė¤. funcģ ė²ķ¼ ķ“ė¦ģ ģėķ ķØģė„¼ ģģ±ķ©ėė¤. | āļø |
counter | {text: string, count: number, func: () => void } | AppBar ģ¤ė„øģŖ½ģ ģģ¹ķ ķ ģ¤ķø ė²ķ¼ģ ėė¤. Textģ ė²ķ¼ģ ģ“ė¦ģ ź²°ģ ķ©ėė¤. countė numberź° ė¤ģ“ź°ėė¤. funcģ ė²ķ¼ ķ“ė¦ģ ģėķ ķØģė„¼ ģģ±ķ©ėė¤. | āļø |
Banner
ģ¬ģ©ģź° ģķė ģ¬ģ§ź³¼ ģ ėŖ©, ģ¤ėŖ ģ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { Banners } from 'gangstarr-point-styler';
...
<Banners title='title' description='description' imageUrl='imageUrl' />
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
title | string | ģ ėŖ©ģ ėķė | ā |
description | string | ģ¤ėŖ ģ ėķė | ā |
imageUrl | string | ģ“ėÆøģ§ urlģ ķµķ“ ģ“ėÆøģ§ė„¼ ė øģ¶ķØ | ā |
Button
ź° ģģ±ģ ź°ģ ė°ė¼ ģ¤ķģ¼ė§ė ė²ķ¼ģ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { Button } from 'gangstarr-point-styler';
...
<Button size='large' fill='contained' mode='normal'>
ė²ķ¼
</Button>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
children | string | ė²ķ¼ģ ķģė ķ ģ¤ķø | š ¾ļø |
size | 'full' | 'xlarge' | 'large' | 'medium' | 'small' | 'xsmall' | ź°ģ ė°ė¼ ė²ķ¼ ģ¬ģ“ģ¦ź° ė³ź²½ | š ¾ļø |
fill | 'contained' | 'outline' | ź°ģ ė°ė¼ ģ¤ķģ¼ ė³ź²½ | š ¾ļø |
mode | 'normal' | 'enabled' | 'disabled' | ź°ģ ė°ė¼ ģ¤ķģ¼ ė³ź²½ | š ¾ļø |
Button_FAB
ķģ“ģ§ ķėØģģ ķģ“ģ§ ģėØģ¼ė” ģ“ėķź±°ė ģ¶ź°ė²ķ¼ģ ģ¬ģ©ķė ė²ķ¼ģ ėė¤.
ģģ ģ½ė
import { ButtonFab } from 'gangstarr-point-styler';
...
<ButtonFab mode={'add'} func={()=>{console.log("ķ“ė¦")}} position={'center'}/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
mode | 'add','up' | ģ¶ź° ė²ķ¼ź³¼ ģėØģ“ė ė²ķ¼ģ ėŖØģģ ź²°ģ ķ©ėė¤. | š ¾ļø |
func | ()=>void | ė²ķ¼ ķ“ė¦ģ ėģķ ķØģė„¼ ģģ±ķ©ėė¤. | š ¾ļø |
position | 'left', 'center', 'right' | ė²ķ¼ ė øģ¶ ģģ¹ė„¼ ź²°ģ ķ©ėė¤. | š ¾ļø |
Card
CardCalendarData
ģģ± ź°ģ ė°ė¼ ķģ ģ ė³“ģ ģ¼ģ ė±ģ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { CardCalendarData } from 'gangstarr-point-styler';
...
<CardCalendarData
period={'ģ“ė² ė¬'}
name={'ė°ķģ'}
totalSchedule={'100'}
cancelSchedule={'100'}
percent={'100'}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
period | string | źø°ź°ģ ėķė (Ex ģ“ė² ė¬) | ā |
name | string | ķģģ ģ“ė¦ģ ėķė | ā |
totalSchedule | string | ģ“ ģ¼ģ ģ ėķė | ā |
cancelSchedule | string | ģ·Øģķ ģ¼ģ ģ ėķė | ā |
percent | string | number | ģ·ØģģØģ ėķė | ā |
CardLinkLarge
ģ¹“ėģ ėķ ģ“ėÆøģ§ģ ģ ėŖ©, ģ¤ėŖ ģ ė øģ¶ķ©ėė¤. ķ ģ¤ķøź° 3ģ¤ ģ“ģģ“ ėė©“ ė§ ģ¤ģ ķė„¼ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { CardLinkLarge } from 'gangstarr-point-styler';
...
<CardLinkLarge
imageUrl={'imageUrl'}
title={'Title'}
description={'Description'}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
imageUrl | string | ģ“ėÆøģ§ urlģ ķµķ“ ģ“ėÆøģ§ė„¼ ė øģ¶ķØ | ā |
title | string | ģ ėŖ©ģ ėķė | ā |
description | string | ģ¤ėŖ ģ ėķė | ā |
CardLinkMedium
ģ¹“ėģ ėķ ģ“ėÆøģ§ģ ģ¤ėŖ ģ ė øģ¶ķ©ėė¤. ģ¤ėŖ ģ“ ģ¼ģ źøģ ģ“ģģ“ ėė©“ ė§ ģ¤ģ ķė„¼ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { CardLinkMedium } from 'gangstarr-point-styler';
...
<CardLinkMedium
imageUrl={'imageUrl'}
description={'Description'}
isDelete={false}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
imageUrl | string | ģ“ėÆøģ§ urlģ ķµķ“ ģ“ėÆøģ§ė„¼ ė øģ¶ķØ | ā |
description | string | ģ¤ėŖ ģ ėķė | ā |
isDelete | boolean | X ģģ“ģ½ģ ģ ė¬“ė„¼ ėķė | ā |
CardOption
ģģ ģ½ė
...
import { CardOption } from 'gangstarr-point-styler';
...
<CardOption
title={'Title'}
description={'Description'}
isActive={false}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
title | string | ģ ėŖ©ģ ėķė | ā |
description | string | ģ¤ėŖ ģ ėķė | ā |
isActive | boolean | ģ ķė ģ¹“ėģģ ėķė | ā |
Dialog
ģ¬ģ©ģģź² ģ ė³“ė„¼ ģ ź³µķė Dialog ģ°½ģ ė øģ¶ķ©ėė¤. ź²½ģ°ģ ė°ė¼ ķģø, ģ·Øģ ė²ķ¼ģ ģ¬ģ©ģ“ ź°ė„ķ©ėė¤.
ģģ ģ½ė
...
import { Dialog } from 'gangstarr-point-styler';
...
const [isShow, setIsShow] = useState(false);
...
<Dialog
isShow={isShow}
onHanndleShow={() => setIsShow(false)}
title='Title'
description='Description'
grayButtonName='ģ·Øģ'
onClickGrayButton={() => {
return;
}}
primaryButtonName='ķģø'
onClickPrimaryButton={() => {
return;
}}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
isShow | boolean | Dialogģ ė øģ¶ģ¬ė¶ė„¼ ź²°ģ | š ¾ļø |
onHanndleShow | () => void | Dialogģ Show, Hideė„¼ ģ¤ģ | š ¾ļø |
title | string | Dialogģ ģ ėŖ© | š ¾ļø |
grayButtonName | string | ė²ķ¼ģ ģ“ė¦ | š ¾ļø |
onClickGrayButton | () => void | ė²ķ¼ģ ķ“ė¦ķģ ģ ė°ģķ ģ“ė²¤ķø ķØģ | š ¾ļø |
description | string | Dialogģ ģ¤ėŖ | ā |
primaryButtonName | string | ė²ķ¼ģ ģ“ė¦ | ā |
onClickPrimaryButton | () => void | ė²ķ¼ģ ķ“ė¦ķģ ģ ė°ģķ ģ“ė²¤ķø ķØģ | ā |
Dropdown
DropdownTextfield
ź° ģģ±ź°ģ ė°ė¼ Select ė°ģ¤ė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { DropdownTextfield } from 'gangstarr-point-styler';
...
const menuList = [
{ id: 1, menu: 'List1' },
{ id: 2, menu: 'List2' },
{ id: 3, menu: 'List3' },
];
<DropdownTextfield menuList={menuList} />
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
menuList | id:number, menu:string | ė©ė“ģ ė¤ģ“ź° ķ¤ė„¼ idė”, ė©ė“ėŖ ģ menuė” ė°ģģµėė¤. | š ¾ļø |
DropdownSingle
ź° ģģ±ź°ģ ė°ė¼ Select ė°ģ¤ė„¼ ėķė ėė¤. Select ė°ģ¤ģ źøøģ“, ķģ±ķ ģ¬ė¶ė„¼ ģ ķ©ėė¤.
ģģ ģ½ė
...
import { DropdownSingle } from 'gangstarr-point-styler';
...
const menuList = [
{ id: 1, menu: 'ģ' },
{ id: 2, menu: 'ģ£¼' },
{ id: 3, menu: 'ģ¼' },
];
<DropdownSingle
menuList={menuList}
state='inactive'
calendar={true}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
menuList | id:number, menu:string | ė©ė“ģ ė¤ģ“ź° ķ¤ė„¼ idė”, ė©ė“ėŖ ģ menuė” ė°ģģµėė¤. | š ¾ļø |
state | string | Dropdownģ actived / inactiveė” ķģ±ķ / ė¹ķģ±ķ ķ©ėė¤. Defaultź°ģ activedģ“ė¤. | āļø |
calendar | boolean | ė©ė“ģ źøøģ“ė„¼ ģ/ģ£¼/ģ¼ģ ķ¬źø°ė” ģ”°ģ ķ©ėė¤.Default ź°ģ falseģ ėė¤. | āļø |
DropdownDouble
ź° ģģ±ź°ģ ė°ė¼ Select ė°ģ¤ė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { DropdownDouble } from 'gangstarr-point-styler';
...
const menuList = [
{ id: 1, menu: 'List1' },
{ id: 2, menu: 'List2' },
{ id: 3, menu: 'List3' },
];
<DropdownDouble menuList={menuList}/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
menuList | id:number, menu:string | ė©ė“ģ ė¤ģ“ź° ķ¤ė„¼ idė”, ė©ė“ėŖ ģ menuė” ė°ģģµėė¤. | š ¾ļø |
Icon
ė¤ģķ ģģ“ģ½ģ ķķķźø° ģķ ģ»“ķ¬ėķøģ ėė¤.
ģģ ģ½ė
import { Icon } from 'gangstarr-point-styler';
...
<Icon name={'add'} />
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
name | iconsKey | nameģ string ķģģ¼ė” ģģ±ķ©ėė¤. ' ' ģģ±ģ ģ¤ėķ«ģ ķģø ķ ģ ģģµėė¤. | š ¾ļø |
Item
ItemMember1
ź° ģģ±ź°ģ ė°ė¼ ķ ėė¦¬, ģ“ė¦, ķøė ģ“ėėŖ , ģ±ė³, ė ģ§ė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { ItemMember1 } from 'gangstarr-point-styler';
...
<ItemMember1
fill='contained'
name='ź¹ģė¬“ź°'
trainer='ķźøøė'
gender='ėØ'
date='2023-00-00'
/>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
fill | string | contained/outlineģ ź°ģ¼ė” ź°ģ§ė©°, ķ ėė¦¬ ģ ė¬“ė„¼ ģ¤ģ ķ©ėė¤.Defaultź°ģ contianedģ ėė¤. | āļø |
name | string | ģ“ė¦ģ ėķė ėė¤. | āļø |
trainer | string | ķøė ģ“ėėŖ ģ ėķė ėė¤. | āļø |
gender | string | ģ±ė³ģ ėķė ėė¤. | āļø |
date | string | ė ģ§ė„¼ ėķė ėė¤. | āļø |
ItemMember3
ź° ģģ±ź°ģ ė°ė¼ ķ ėė¦¬, ģ“ė¦, ģ°ė½ģ², ķøė ģ“ėėŖ , ė ģ§ė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { ItemMember3 } from 'gangstarr-point-styler';
...
<ItemMember3
fill='contained'
name='ź¹ģė¬“ź°'
phone='010-1234-5678'
trainer='ķźøøė'
date='2023-00-00'
/>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
fill | string | contained/outlineģ ź°ģ¼ė” ź°ģ§ė©°, ķ ėė¦¬ ģ ė¬“ė„¼ ģ¤ģ ķ©ėė¤.Defaultź°ģ contianedģ ėė¤. | āļø |
name | string | ģ“ė¦ģ ėķė ėė¤. | āļø |
phone | string | ģ°ė½ģ²ė„¼ ėķė ėė¤. | āļø |
trainer | string | ķøė ģ“ėėŖ ģ ėķė ėė¤. | āļø |
date | string | ė ģ§ė„¼ ėķė ėė¤. | āļø |
ItemStaff1
ź° ģģ±ź°ģ ė°ė¼ ķ ėė¦¬, ģ“ė¦, ģ°ė½ģ², ė©ėŖØė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { ItemStaff1 } from 'gangstarr-point-styler';
...
<ItemStaff1
fill='contained'
name='ź¹ģė¬“ź°'
phone='010-1234-5678'
memo='ė©ėŖØ ė“ģ©ģ“ ķģė©ėė¤.'
/>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
fill | string | contained/outlineģ ź°ģ¼ė” ź°ģ§ė©°, ķ ėė¦¬ ģ ė¬“ė„¼ ģ¤ģ ķ©ėė¤.Defaultź°ģ contianedģ ėė¤. | āļø |
name | string | ģ“ė¦ģ ėķė ėė¤. | āļø |
phone | string | ģ°ė½ģ²ė„¼ ėķė ėė¤. | āļø |
memo | string | ė©ėŖØ ė“ģ©ģ“ ķģėė©°, ģ¼ģ ģ“ģ ė“ģ©ģ“ ėģ“ź°ė©“ ...ģ¼ė” ķźø°ė©ėė¤. | āļø |
ItemRecord
ź° ģģ±ź°ģ ė°ė¼ ķ ėė¦¬, ģ“ė¦, ģ°ė½ģ², ė©ėŖØė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { ItemRecord } from 'gangstarr-point-styler';
...
<ItemRecord
fill='contained'
date='2023-00-00'
memo='ė©ėŖØ ė“ģ©ģ“ ķģė©ėė¤.'
trainer='ķźøøė'
/>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
fill | string | contained/outlineģ ź°ģ¼ė” ź°ģ§ė©°, ķ ėė¦¬ ģ ė¬“ė„¼ ģ¤ģ ķ©ėė¤.Defaultź°ģ contianedģ ėė¤. | āļø |
date | string | ė ģ§ė„¼ ėķė ėė¤. | āļø |
memo | string | ė©ėŖØ ė“ģ©ģ“ ķģė©ėė¤. | āļø |
ItemTherapyCenter
ź° ģģ±ź°ģ ė°ė¼ ķ ėė¦¬, ė ģ§, ģ¤ėŖ ģ ėķė ėė¤.
ģģ ģ½ė
...
import { ItemTherapyCenter } from 'gangstarr-point-styler';
...
<ItemTherapyCenter
fill='contained'
date='2023-00-00'
description='ģ“ė ģķ ģģ'
/>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
fill | string | contained/outlineģ ź°ģ¼ė” ź°ģ§ė©°, ķ ėė¦¬ ģ ė¬“ė„¼ ģ¤ģ ķ©ėė¤.Defaultź°ģ contianedģ ėė¤. | āļø |
date | string | ė ģ§ė„¼ ėķė ėė¤. | āļø |
description | string | ģķģģģ ėķė ėė¤. | āļø |
ItemMessage
ź° ģģ±ź°ģ ė°ė¼ ķ ėė¦¬, ģė¦¼ė©ģģ§, ė ģ§ė„¼ ėķė ėė¤.
ģģ ģ½ė
...
import { ItemMessage } from 'gangstarr-point-styler';
...
<ItemMessage
fill='contained'
memo='ė©ėŖØķ ė“ģ©ģ“ ėķė©ėė¤'
date='2023-00-00'
/>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
fill | string | contained/outlineģ ź°ģ¼ė” ź°ģ§ė©°, ķ ėė¦¬ ģ ė¬“ė„¼ ģ¤ģ ķ©ėė¤.Defaultź°ģ contianedģ ėė¤. | āļø |
memo | string | ė©ėŖØ ė“ģ©ģ“ ķģė©ėė¤. | āļø |
date | string | ė ģ§ė„¼ ėķė ėė¤. | āļø |
Label
ź° ģģ±ģ ź°ģ ė°ė¼ ģ¤ķģ¼ė§ė ė¼ė²Øģ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { Label } from 'gangstarr-point-styler';
...
<Label shape='rectangle' background='blue' color='green'>
ģ ėė ź°±ģ¤ķ
</Label>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
children | string | ė¼ė²Øģ ķģė ķ ģ¤ķø | š ¾ļø |
shape | 'rectangle' | 'round' | ź°ģ ė°ė¼ ė¼ė²Ø ėŖØģģ“ ė³ź²½ėØ | ā |
background | 'blue' | 'gray' | 'green' | ź°ģ ė°ė¼ ė¼ė²Øģ ė°°ź²½ģģ“ ė³ź²½ėØ | ā |
color | 'blue500' | 'blue300' | 'gray' | 'red' | 'green' | ź°ģ ė°ė¼ ė¼ė²Øģ ķ ģ¤ķø ģģģ“ ė³ź²½ėØ | ā |
Navigation
TopNavigation
ķµģ¦ ź“ė¦¬ ģģ¤ķ ģėØģģ ķģ“ģ§ ģ“ėģ ė“ė¹ķė NavigationBar ģ ėė¤.
ģģ ģ½ė
import { TopNavigationBar } from 'gangstarr-point-styler';
...
<TopNavigationBar
tapMenuLists={[
{ tapName: 'ģź°ź“ė¦¬', path: 'about' },
{ tapName: 'ģź°ź“ė¦¬2', path: 'about2' },
{ tapName: 'ģź°ź“ė¦¬3', path: 'about3' },
{ tapName: 'ģź°ź“ė¦¬4', path: 'about4' },
{ tapName: 'ģź°ź“ė¦¬5', path: 'about5' },
]}
userData={{ name: 'ģµėķ', label: 'ķėģ“ģ©ģ¤' }}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
tapMenuLists | { tapName: string, path: string } | TopNavigationBarģ ķ ė²ķ¼ģ ė“ė¹ķ©ėė¤. | ā |
userData | {name: string, label: string} | ė”ź·øģøģ ė³“ģ¬ģ§ ģ ģ ė°ģ“ķ°ģ ėė¤. | ā |
BotNavigation
ķµģ¦ ź“ė¦¬ ģģ¤ķ ķėØģģ ķģ“ģ§ ģ“ėģ ė“ė¹ķė NavigationBar ģ ėė¤.
ģģ ģ½ė
import { BotNavigationBar } from 'gangstarr-point-styler';
...
<BottomNavigationBar
tabNameLists={{
home: 'home',
reservation: 'reservation',
patient: 'patient',
center: 'center',
mypage: 'mypage',
}}
onClickHome={() => navigate('/home')}
onClickReservation={() => navigate('/reserve')}
onClickPatient={() => navigate('/partiend')}
onClickCenter={() => navigate('/center')}
onClickMypage={() => navigate('/mypage')}
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
tabNameLists | home: string, reservation: string, patient: string, center: string, mypage: string | BotNavigationBarģ ķ ė©ė“ė„¼ ė“ė¹ķ©ėė¤. | š ¾ļø |
onClickHome | () => void | ė²ķ¼ ķ“ė¦ģ ėģķ ķØģė„¼ ģģ±ķ©ėė¤. | š ¾ļø |
onClickReservation | () => void | ė²ķ¼ ķ“ė¦ģ ėģķ ķØģė„¼ ģģ±ķ©ėė¤. | š ¾ļø |
onClickPatient | () => void | ė²ķ¼ ķ“ė¦ģ ėģķ ķØģė„¼ ģģ±ķ©ėė¤. | š ¾ļø |
onClickCenter | () => void | ė²ķ¼ ķ“ė¦ģ ėģķ ķØģė„¼ ģģ±ķ©ėė¤. | š ¾ļø |
onClickMypage | () => void | ė²ķ¼ ķ“ė¦ģ ėģķ ķØģė„¼ ģģ±ķ©ėė¤. | š ¾ļø |
Picker
DatePicker
ė¬ė „ģ ė
øģ¶ķź³ ģ¬ģ©ģė” ķģ¬źø ģ ķė ė ģ§ė„¼ YYYY.M.D
ķģģ¼ė” ģ ģ„ķ©ėė¤.
ģģ ģ½ė
...
import { DatePicker } from 'gangstarr-point-style';
...
const [isSelectedDate, setIsSelectDate] = useState<string>('');
const [isShow, setIsShow] = useState<boolean>(false);
...
<Button onClick={() => setIsShow(true)}>ģ“źø°</Button>
<>
{isShow && (
<DatePicker
size='large'
prevSelected={isSelectedDate}
onClickConfirm={setIsSelectDate}
onClosePicker={() => setIsShow(false)}
/>
)}
</>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
size | 'small' | 'large' | DatePickerģ ģ¬ģ“ģ¦ė„¼ ź²°ģ ķØ | ā |
prevSelected | string | ģ“ģ ģ ģ ķė ź° ķģģ ė§ź² ģė¤ė©“ DatePickerģ ķģķØ | ā |
onClickConfirm | Dispatch<SetStateAction<string>> | YYYY.M.D ķģģ¼ė” ģ ģ„ķØ useStateģ setState ķØģģ | š ¾ļø |
onClosePicker | () => void | Pickerė„¼ ė«ė ķØģģ | š ¾ļø |
TimePicker
ėŖØė°ģ¼ ģ¤ķģ¼ģ TimePickerė„¼ ė
øģ¶ķź³ , ģ¬ģ©ģė” ķģ¬źø ģ ķė ģź°ģ {hour: number, minute: number}
ķģģ¼ė” ģ ģ„ķ©ėė¤.
ģģ ģ½ė
...
import { TimePicker } from 'gangstarr-point-style';
...
const [selectTime, setSelectTime] = useState<IselectedTimeTypes | undefined>();
const [isShow, setIsShow] = useState(false);
...
<button onClick={() => setIsShow(true)}>ģ“źø°</button>
<>
{isShow && (
<TimePicker
prevSelectedTime={selectTime}
onClickConfirm={setSelectTime}
onClosePicker={() => setIsShow(false)}
/>
)}
</>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
onClickConfirm | Dispatch<SetStateAction<IselectedTimeTypes | undefined>> | {hour: number, minute: number} ķģģ¼ė” ģ ģ„ķØ useStateģ setState ķØģģ | š ¾ļø |
onClosePicker | () => void | Pickerė„¼ ė«ė ķØģģ | š ¾ļø |
prevSelectedTime | IselectedTimeTypes | undefined | ģ ģ ģ ķė ź° ķģģ ė§ź² ģė¤ė©“ TimePickerģ ķģķØ | ā |
PopupMenu
ķµģ¦ ź“ė¦¬ ģģ¤ķ ģ“ģ©ģ¤ ė³“ģ¬ģ§ PopupMenu ģ ėė¤.
ģģ ģ½ė
...
import PopupMenu from 'gangstarr-point-styler';
...
const menuName = [
{
id: 1,
menu: 'ė©ė“1',
link: 'link1',
},
{
id: 2,
menu: 'ė©ė“ė©ė“ė©ė“ė©ė“ė©ė“ė©ė“ė©ė“',
link: 'link2',
},
{
id: 3,
menu: 'ė©ė“3',
link: 'link3',
},
];
const [isVisible, setIsVisible] = useState(false);
const handlePopup = () => {
return setIsVisible(true);
};
...
<Button onClick={handlePopup}>ķģ
ķ źø</Button>
<>
{isVisible && (
<PopupMenu
menuLists={menuName}
isVisible={isVisible}
onClosePopup={() => setIsVisible(false)}
/>
)}
</>
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
menuLists | id : numbermenu : stringlink : string | id, menu, linkė„¼ ė°°ģ“ė” ė°ģģ ķģ ė©ė“ģ key, ė©ė“ėŖ , urlģ ė°ģģµėė¤. | āļø |
isVisible | isVisible(boolean) | ķģ ė©ė“ė„¼ ė³“ģ¬ģ£¼ė ģķź°ģ ė°ģģµėė¤. | āļø |
onClosePopup | () => setIsVisible(false) | useStateź°ģ ė³ź²½ķ“ģ£¼ė ķØģė„¼ ė°ģģµėė¤. | āļø |
Tabs
ģµė 10ź°ģ Tabsė„¼ ė øģ¶ķ©ėė¤. tabListsģ ģģź° 10ź°ė„¼ ģ“ź³¼ķė¤ė©“ 0 ~ 9ė² ģøė±ģ¤ģ ģģė„¼ ė øģ¶ķ©ėė¤.
ģģ ģ½ė
...
import { Tabs } from 'gangstarr-point-style';
...
const tabLists = [
{ path: 'tab1', name: 'tab1', callback: () => { setCurrentTab('tab1') } },
{ path: 'tab2', name: 'tab2', callback: () => { setCurrentTab('tab2') } },
{ path: 'tab3', name: 'tab3', callback: () => { setCurrentTab('tab3') } },
{ path: 'tab4', name: 'tab4', callback: () => { setCurrentTab('tab4') } },
{ path: 'tab5', name: 'tab5', callback: () => { setCurrentTab('tab5') } },
];
const [currentTab, setCurrentTab] = useState('tab1');
...
<Tabs tabLists={tabLists} currentTab={currentTab} />
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
tabLists | { path: string; name: string; callback: () => void }[] | path, name, callback ķØģė„¼ ķ¬ķØķ ė°°ģ“ķķģ ģģ | š ¾ļø |
currentTab | string | ķģ¬ ģ ķė ķģ pathė„¼ ė»ķ©ėė¤. | š ¾ļø |
TextField
ģ¬ģ©ģė”ė¶ķ° ģ ė „ģ ė°ģ ģ ģė input ģ»“ķ¬ėķøģ ėė¤. ķģģ ė°ė¼ ģ ė „ė°ģ ź°ģ ėķ“ validationģ ķ“ģ¤ ģ ģģµėė¤. ź·øė¦¬ź³ validation ź²°ź³¼ģ ė°ė„ø ė©ģøģ§ė„¼ ė³“ģ¬ģ¤ ģė ģģµėė¤.
ģģ ģ½ė
...
import { TextField } from 'gangstarr-point-style';
...
const [inputValue, setInputValue] = useState('');
const [isError, setIsError] = useState(false);
{/* ģ ķØģ± ź²ģ¦ ķØģ*/}
const onChangeInput = (e: React.ChangeEvent<HTMLInputElement>) => {
setInputValue(e.target.value);
if (e.target.value.length < 5) setIsError(true); {/* ģ ķØģ± ź²ģ¦ ģ”°ź±“*/}
else setIsError(false);
};
...
<TextField
id='textfield'
title='ķģ“ķ'
placeholder={'ź°ģ ģ
ė „ķ“ģ£¼ģøģ.'}
onChange={onChangeInput}
value={inputValue}
validate={true}
isError={isError}
customErrorMessage='ģė¬ ė©ģģ§'
customSuccessMessage='ģ±ź³µ ė©ģģ§'
customInactiveMessage='ģøģ”ķ°ėø ė©ģģ§'
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
state | 'inactive' | 'focused' | 'error' | 'positive' | 'activated' | 'disable' | Textfield ģ»“ķ¬ėķøģ ģķė„¼ ėķė | ā |
id | string | labelģ htmlFor ģ ģ°ź²°ķ idė„¼ ģėÆøķØ | ā |
title | string | labelģ ėķė¼ ķ ģ¤ķø | ā |
validate | boolean | ģ ķØģ± ź²ģ¦ ģ¬ė¶ (ģ ķØģ± ź²ģ¦ģ“ ķģķė¤ė©“ ģ ķØģ±ģ ź²ģ¦ķ“ģ£¼ė ķØģė„¼ ģģ±ķ“ģ ģ¬ģ©) | ā |
isError | boolean | ģ ķØģ± ź²ģ¦ģ ķ“ģ¼ ķ ė, ź²ģ¦ ź²°ź³¼ģ ė°ė¼ģ ģ¤ķģ¼ė§ģ ė¤ė„“ź² ķ“ģ¼ ķėÆė” isError ė„¼ ķµķ“ ģķė„¼ ź“ė¦¬ķØ. | ā |
customErrorMessage | string | ģ ķØģ± ź²ģ¦ģ ķµź³¼ķģ§ ėŖ»ķģ ė ė³“ģ¬ģ¤ ė©ģøģ§ | š ¾ļø |
customSuccessMessage | string | ģ ķØģ± ź²ģ¦ģ ķµź³¼ķģ ė ė³“ģ¬ģ¤ ė©ģøģ§ | š ¾ļø |
customInactiveMessage | string | ģ ķØģ± ź²ģ¦ģ ķ“ģ¼ ķź³ , ģ¬ģ©ģģ ģ ė „ģ“ ģģ§ ģģ ė ė³“ģ¬ģ¤ ė©ģøģ§ | š ¾ļø |
Thumbnails
ė¹ėģ¤ ėė ģ“ėÆøģ§ģ ģøė¤ģ¼ģ ė³“ģ¬ģ£¼ė ģ»“ķ¬ėķøģ ėė¤.
ģģ ģ½ė
...
import { Thumbnails } from 'gangstarr-point-styler';
...
<Thumbnails
src={ģ“ėÆøģ§ ģ£¼ģ}
type='image'
runningTime='12:30'
state='delete'
/>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
state | 'error' | 'play' | 'select' | 'delete' | 'normal' | ģķź°ģ ė°ė¼ ģ¤ķģ¼ė§ģ“ ė¤ė„“ź² ģ ģ©ėØ | ā |
type | 'video' | 'image' | ėģģ ėė ģ“ėÆøģ§ģ ģøė¤ģ¼ģ ė§ė¤ ģ ģģ | ā |
runningTime | string | video ķģ
ģ ź²½ģ°, ėģģģ runningTime ģ ģ
ė „ķģ¬ ģøė¤ģ¼ģ ė³“ģ¬ģ¤ ģ ģģ | ā |
src | string | ģ“ėÆøģ§ ģ£¼ģ | ā |
Typography
ģķ©ģ ė°ė¼ ģ¬ģ©ķź³ ģ¶ģ ķģ“ķ¬ ķ ķė¦æģ ź°ģ øģµėė¤. font-familyė ķźøģ Pretendard, ģģ“ė Robotoė„¼ źø°ģ¤ģ¼ė” ģģ±ėģģµėė¤.
ģģ ģ½ė
<Headline>ķ¤ėė¼ģø</Headline>
<Title1>ķģ“ķ1</Title1>
<Title2>ķģ“ķ2</Title2>
<Title3>ķģ“ķ3</Title3>
<Title4>ķģ“ķ4</Title4>
<Title5>ķģ“ķ5</Title5>
<Title6>ķģ“ķ6</Title6>
<Body1>ė°ė1</Body1>
<Body2>ė°ė2</Body2>
<Body3>ė°ė3</Body3>
<Body4>ė°ė4</Body4>
<Caption1>ģŗ”ģ
1</Caption1>
<Caption2>ģŗ”ģ
2</Caption2>
SnackBar
ķµģ¦ ź“ė¦¬ ģģ¤ķ ģ“ģ©ģ¤ ė³“ģ¬ģ§ SnackBar ģ ėė¤.
ģģ ģ½ė ģ¬ė°ė„ø ģ¬ģ©ģ ģķ“ ė°ėģ ģėģ ķķė” ģģ±ķ“ģ£¼ģźø° ė°ėėė¤.
import { SnackBar } from 'gangstarr-point-styler';
...
const [snackbarMessage, setSnackbarMessage] = useState('');
...
<>
{snackbarMessage && (
<SnackBar
description={snackbarMessage}
time={3000}
setSnackbarMessage={setSnackbarMessage}></SnackBar>
)}
</>
...
ģģ± | ź° | ģ¤ėŖ | ķģģ¬ė¶ |
---|---|---|---|
description | string | SnackBarė” ė³“ģ¬ģ¤ ź°ģ¢ ė©ģøģ§ ģ ėė¤. | š ¾ļø |
time | number | SnackBarź° ė øģ¶ ėė ģź°ģ ėė¤. ms źø°ģ¤ģ¼ė” ģ ė¬ķ©ėė¤. | š ¾ļø |
setSnackbarMessage | (message: string) => void | SnackBarė„¼ ģėķźø° ģķ ķøė¦¬ź±° ģ ėė¤. | š ¾ļø |
usedAppBar | boolean | BotNavigation ģ ė¬“ģ ė°ė¼ ėķėė ģģ¹ė„¼ ź²°ģ ķ©ėė¤. | ā |
widthSize | number | SnackBarģ ģ¬ģ“ģ¦ė„¼ ź²°ģ ķ©ėė¤. | ā |