@shoplflow/base 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Modal/Modal.types.d.ts +1 -1
- package/dist/components/Stack/Stack.types.d.ts +3 -3
- package/dist/components/Text/Text.d.ts +2 -2
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/useDomain.d.ts +1 -0
- package/dist/index.cjs +61 -61
- package/dist/index.mjs +50 -50
- package/dist/utils/type/ComponentProps.d.ts +2 -5
- package/package.json +4 -3
- package/dist/hooks/useOutsideClick.d.ts +0 -14
- package/dist/hooks/useResizeObserver.d.ts +0 -9
- package/dist/utils/noop.d.ts +0 -1
- package/dist/utils/type/$values.d.ts +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ChildrenProps, SizeVariantProps } from '../../utils/type/ComponentProps';
|
|
3
|
-
import type { $Values } from '
|
|
3
|
+
import type { $Values } from '@shoplflow/utils';
|
|
4
4
|
export declare enum ModalSize {
|
|
5
5
|
XXS = "XXS",
|
|
6
6
|
XS = "XS",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, CSSProperties, ReactElement } from 'react';
|
|
2
2
|
import type { CustomDomComponent } from 'framer-motion';
|
|
3
3
|
import type { BorderRadiusTokens, ColorTokens, SpacingTokens } from '../../styles';
|
|
4
|
-
import type { ChildrenProps,
|
|
5
|
-
export type StackGenericProps<T extends StringElementType = 'div'> = RenderConfigProps & StackProps &
|
|
4
|
+
import type { ChildrenProps, HTMLPropsWithoutRef, RenderConfigProps, StringElementType } from '../../utils/type/ComponentProps';
|
|
5
|
+
export type StackGenericProps<T extends StringElementType = 'div'> = RenderConfigProps & StackProps & HTMLPropsWithoutRef<T>;
|
|
6
6
|
export type StackComponentType = <T extends StringElementType = 'div'>(props: StackGenericProps<T> & Pick<ComponentPropsWithRef<T>, 'ref'>) => ReactElement | null;
|
|
7
|
-
export type MotionStackComponentType<T extends StringElementType = 'div'> = CustomDomComponent<RenderConfigProps &
|
|
7
|
+
export type MotionStackComponentType<T extends StringElementType = 'div'> = CustomDomComponent<RenderConfigProps & HTMLPropsWithoutRef<T> & StackProps>;
|
|
8
8
|
export interface StackProps extends StackOptionProps, ChildrenProps {
|
|
9
9
|
}
|
|
10
10
|
export interface StackOptionProps {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import type { TextProps } from './Text.types';
|
|
3
|
-
declare const Text:
|
|
3
|
+
declare const Text: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<unknown>>;
|
|
4
4
|
export default Text;
|
package/dist/hooks/index.d.ts
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Go=Object.create;var $=Object.defineProperty;var qo=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var Qo=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var ee=(o,e)=>{for(var t in e)$(o,t,{get:e[t],enumerable:!0})},ro=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Jo(e))!oe.call(o,n)&&n!==t&&$(o,n,{get:()=>e[n],enumerable:!(a=qo(e,n))||a.enumerable});return o};var d=(o,e,t)=>(t=o!=null?Go(Qo(o)):{},ro(e||!o||!o.__esModule?$(t,"default",{value:o,enumerable:!0}):t,o)),te=o=>ro($({},"__esModule",{value:!0}),o);var ir={};ee(ir,{ChipButton:()=>Zo,ChipButtonSizeVariants:()=>eo,ChipButtonStyleVariants:()=>oo,ChipToggle:()=>Yo,ChipToggleSizeVariants:()=>er,ChipToggleStyleVariants:()=>Z,MODAL_BODY_KEY:()=>U,MODAL_FOOTER_KEY:()=>B,MODAL_HEADER_KEY:()=>_,Modal:()=>or,ModalProvider:()=>V,ModalSize:()=>Bo,MotionStack:()=>Y,ShoplflowProvider:()=>fo,Stack:()=>xo,StyledChip:()=>G,StyledChipButton:()=>Q,StyledStack:()=>N,Text:()=>M,borderRadiusTokens:()=>y,boxShadowTokens:()=>H,colorTokens:()=>p,fontWeightTokens:()=>uo,getDomain:()=>re,spacingTokens:()=>O,typographyTokens:()=>go,useDomain:()=>I,useHandleModal:()=>ne,useModalStore:()=>g,useModalValue:()=>ae});module.exports=te(ir);var L=d(require("react"),1);var k=require("react"),I=({domain:o="SHOPL"})=>{let[e,t]=(0,k.useState)(void 0);(0,k.useEffect)(()=>{o&&t(o)},[o]),(0,k.useEffect)(()=>{e&&(document.documentElement.dataset.shoplflow=e?.toLowerCase())},[e])},re=()=>document.documentElement.dataset.shoplflow;var T=d(require("react"),1);var no=require("zustand"),g=(0,no.create)(o=>({modal:[],addModal:(e,t)=>o(a=>({modal:[...a.modal,{component:e,id:t}]})),removeModal:e=>{let{id:t,deps:a=1}=e||{id:void 0,deps:0},n=!!(t&&String(a)),s=!!t,l=!t&&!a,i=!!String(a)&&!t;if(n)throw new Error("id\uC640 deps\uB294 \uB3D9\uC2DC\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");if(s){o(r=>({modal:[...r.modal.filter(m=>m.id!==t)]}));return}if(l||a===1){o(r=>({modal:[...r.modal.slice(0,-1)]}));return}if(i){o(r=>({modal:[...r.modal.slice(0,-a+1)]}));return}}}));var ne=()=>{let o=g(t=>t.addModal),e=g(t=>t.removeModal);return{addModal:o,removeModal:e}};var ae=()=>({modal:g(e=>e.modal)});var lo=d(require("react"),1);var ao={initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}}};var po=d(require("@emotion/styled"),1),io=require("framer-motion"),so=(0,po.default)(io.motion.div)`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
width: 100%;
|
|
10
10
|
height: 100%;
|
|
11
11
|
background: rgba(51, 51, 51, 0.6);
|
|
12
|
-
`;var
|
|
12
|
+
`;var pe=({children:o})=>lo.default.createElement(so,{variants:ao,initial:"initial",animate:"animate",exit:"exit"},o),co=pe;var mo=require("react-dom"),E=require("framer-motion"),yo=d(require("@emotion/styled"),1),ie=(0,yo.default)(E.motion.div)`
|
|
13
13
|
position: relative;
|
|
14
14
|
display: flex;
|
|
15
15
|
align-items: center;
|
|
@@ -19,62 +19,62 @@
|
|
|
19
19
|
padding: 32px 20px;
|
|
20
20
|
width: 100%;
|
|
21
21
|
height: 100%;
|
|
22
|
-
`,
|
|
22
|
+
`,se=()=>{let o=g(e=>e.modal);return T.default.createElement(T.default.Fragment,null,(0,mo.createPortal)(T.default.createElement(E.AnimatePresence,null,o.map((e,t)=>T.default.createElement(co,{key:t},T.default.createElement(ie,null,e.component)))),document.body))},V=se;var le=({children:o,domain:e="SHOPL"})=>(I({domain:e}),L.default.createElement(L.default.Fragment,null,L.default.createElement(V,null),o)),fo=le;var de="var(--font-weight-regular)",ce="var(--font-weight-medium)",me="var(--font-weight-bold)",uo={fontWeightRegular:de,fontWeightMedium:ce,fontWeightBold:me},ye="var(--border-radius04)",fe="var(--border-radius06)",ue="var(--border-radius08)",ge="var(--border-radius12)",he="var(--border-radius16)",xe="var(--border-radius20)",y={borderRadius04:ye,borderRadius06:fe,borderRadius08:ue,borderRadius12:ge,borderRadius16:he,borderRadius20:xe},Te="var(--coolgray300)",Se="var(--coolgray200)",Me="var(--coolgray100)",be="var(--coolgray50)",Ce="var(--navy400)",Pe="var(--navy300)",ke="var(--neutral0)",ve="var(--neutral100)",_e="var(--neutral150)",Be="var(--neutral200)",we="var(--neutral300)",De="var(--neutral350)",$e="var(--neutral400)",Ee="var(--neutral500)",Ve="var(--neutral600)",Le="var(--neutral700)",Oe="var(--neutral400_5)",He="var(--red300)",Re="var(--red200)",Ae="var(--red100)",ze="var(--ocean300)",Xe="var(--ocean200)",Fe="var(--ocean100)",Ie="var(--purple400)",Ne="var(--purple300)",We="var(--purple100)",Ye="var(--yellow300)",Ke="var(--yellow200)",je="var(--yellow100)",Ue="var(--green300)",Ze="var(--green200)",Ge="var(--green100)",qe="var(--shopl400)",Je="var(--shopl300)",Qe="var(--shopl200)",ot="var(--shopl150)",et="var(--shopl100)",tt="var(--hada400)",rt="var(--hada300)",nt="var(--hada200)",at="var(--hada150)",pt="var(--hada100)",it="var(--background)",st="var(--primary100)",lt="var(--primary150)",dt="var(--primary200)",ct="var(--primary300)",mt="var(--primary400)",p={coolgray300:Te,coolgray200:Se,coolgray100:Me,coolgray50:be,navy400:Ce,navy300:Pe,neutral0:ke,neutral100:ve,neutral150:_e,neutral200:Be,neutral300:we,neutral350:De,neutral400:$e,neutral500:Ee,neutral600:Ve,neutral700:Le,neutral400_5:Oe,red300:He,red200:Re,red100:Ae,ocean300:ze,ocean200:Xe,ocean100:Fe,purple400:Ie,purple300:Ne,purple100:We,yellow300:Ye,yellow200:Ke,yellow100:je,green300:Ue,green200:Ze,green100:Ge,shopl400:qe,shopl300:Je,shopl200:Qe,shopl150:ot,shopl100:et,hada400:tt,hada300:rt,hada200:nt,hada150:at,hada100:pt,background:it,primary100:st,primary150:lt,primary200:dt,primary300:ct,primary400:mt},yt="var(--spacing04)",ft="var(--spacing06)",ut="var(--spacing08)",gt="var(--spacing12)",ht="var(--spacing16)",xt="var(--spacing20)",Tt="var(--spacing24)",St="var(--spacing30)",Mt="var(--spacing32)",bt="var(--spacing40)",O={spacing04:yt,spacing06:ft,spacing08:ut,spacing12:gt,spacing16:ht,spacing20:xt,spacing24:Tt,spacing30:St,spacing32:Mt,spacing40:bt},Ct="var(--dropShadow)",H={dropShadow:Ct},Pt=".heading1_700",kt=".heading1_400",vt=".heading2_700",_t=".heading2_400",Bt=".heading3_700",wt=".heading3_400",Dt=".title1_700",$t=".title1_400",Et=".title2_700",Vt=".title2_500",Lt=".title2_400",Ot=".body1_700",Ht=".body1_500",Rt=".body1_400",At=".body2_700",zt=".body2_500",Xt=".body2_400",Ft=".body3_400",It=".body3_500",Nt=".caption_400",go={heading1_700:Pt,heading1_400:kt,heading2_700:vt,heading2_400:_t,heading3_700:Bt,heading3_400:wt,title1_700:Dt,title1_400:$t,title2_700:Et,title2_500:Vt,title2_400:Lt,body1_700:Ot,body1_500:Ht,body1_400:Rt,body2_700:At,body2_500:zt,body2_400:Xt,body3_400:Ft,body3_500:It,caption_400:Nt};var R=d(require("react"),1),A=require("framer-motion");var ho=d(require("@emotion/styled"),1);var N=ho.default.div`
|
|
23
23
|
display: flex;
|
|
24
24
|
width: ${({width:o})=>o};
|
|
25
25
|
height: ${({height:o})=>o};
|
|
26
26
|
flex-direction: ${({direction:o})=>o};
|
|
27
27
|
align-items: ${({align:o})=>o};
|
|
28
28
|
justify-content: ${({justify:o})=>o};
|
|
29
|
-
gap: ${({spacing:o})=>o&&
|
|
29
|
+
gap: ${({spacing:o})=>o&&O[o]};
|
|
30
30
|
flex-wrap: ${({flexWrap:o})=>o};
|
|
31
31
|
flex: ${({flex:o})=>o};
|
|
32
|
-
background: ${({background:o})=>o?
|
|
33
|
-
border-radius: ${({radius:o})=>o&&
|
|
32
|
+
background: ${({background:o})=>o?p[o]:"transparent"};
|
|
33
|
+
border-radius: ${({radius:o})=>o&&y[o]};
|
|
34
34
|
animation: 0.2s all ease-in-out;
|
|
35
|
-
`;var
|
|
35
|
+
`;var W=o=>(0,R.forwardRef)(function({as:t="div",spacing:a=o?.spacing??"spacing08",direction:n=o?.direction??"column",align:s=o?.align??"flex-start",justify:l=o?.justify??"flex-start",width:i=o?.width??"initial",height:r=o?.height??"initial",flexWrap:c=o?.flexWrap??"initial",flex:m=o?.flex??"initial",radius:u=o?.radius,background:C=o?.background,...P},x){return R.default.createElement(N,{as:t,spacing:a,ref:x,direction:n,align:s,justify:l,width:i,height:r,flexWrap:c,flex:m,background:C,radius:u,...P},P.children)}),S=W();S.Vertical=W({direction:"column"});S.Horizontal=W({direction:"row"});var Y=(0,A.motion)(S);Y.Vertical=(0,A.motion)(S.Vertical);Y.Horizontal=(0,A.motion)(S.Horizontal);var xo=S;var Mo=require("react");var v=require("@emotion/react"),To=d(require("@emotion/styled"),1);var Wt=o=>v.css`
|
|
36
36
|
display: -webkit-box;
|
|
37
37
|
line-clamp: ${o};
|
|
38
38
|
-webkit-line-clamp: ${o};
|
|
39
39
|
-webkit-box-orient: vertical;
|
|
40
40
|
overflow: hidden;
|
|
41
41
|
text-overflow: ellipsis;
|
|
42
|
-
`,
|
|
42
|
+
`,So=To.default.span`
|
|
43
43
|
display: ${({display:o})=>o&&o};
|
|
44
44
|
align-items: center;
|
|
45
|
-
color: ${({color:o})=>o&&
|
|
46
|
-
${({lineClamp:o})=>o&&
|
|
45
|
+
color: ${({color:o})=>o&&p[o]};
|
|
46
|
+
${({lineClamp:o})=>o&&Wt(o)};
|
|
47
47
|
text-align: ${({textAlign:o})=>o&&o};
|
|
48
48
|
white-space: ${({whiteSpace:o})=>o&&o};
|
|
49
|
-
${({textDecorations:o})=>o&&
|
|
49
|
+
${({textDecorations:o})=>o&&v.css`
|
|
50
50
|
text-decoration: ${o};
|
|
51
51
|
`};
|
|
52
|
-
${({opacity:o})=>o&&
|
|
52
|
+
${({opacity:o})=>o&&v.css`
|
|
53
53
|
opacity: ${o};
|
|
54
54
|
`}
|
|
55
|
-
${({wordBreak:o})=>o&&
|
|
55
|
+
${({wordBreak:o})=>o&&v.css`
|
|
56
56
|
word-break: ${o};
|
|
57
57
|
`};
|
|
58
|
-
`;var
|
|
58
|
+
`;var Yt=(0,Mo.forwardRef)(({children:o,typography:e="body1_400",whiteSpace:t,color:a="neutral700",display:n="inline-block",textAlign:s="start",className:l,as:i,...r},c)=>React.createElement(So,{ref:c,whiteSpace:t,className:l?`${e} ${l}`:e,color:a,display:n,textAlign:s,as:i,...r},o)),M=Yt;var f=d(require("react"),1);var b=d(require("@emotion/styled"),1),K=require("@emotion/react");var Kt=400,jt=500,Ut=560,bo=640,Zt=768,Gt=1040,qt=1280,j=o=>{switch(o){case"XXS":return Kt;case"XS":return jt;case"S":return Ut;case"M":return bo;case"L":return Zt;case"XL":return Gt;case"XXL":return qt;default:return bo}},Jt=o=>o?K.css`
|
|
59
59
|
padding-top: 16px;
|
|
60
60
|
padding-bottom: 24px;
|
|
61
|
-
`:
|
|
61
|
+
`:K.css`
|
|
62
62
|
padding-top: 24px;
|
|
63
63
|
padding-bottom: 24px;
|
|
64
|
-
`,
|
|
64
|
+
`,Co=b.default.div`
|
|
65
65
|
display: flex;
|
|
66
66
|
flex-direction: column;
|
|
67
|
-
border-radius: ${
|
|
68
|
-
background: ${
|
|
69
|
-
box-shadow: ${
|
|
67
|
+
border-radius: ${y.borderRadius08};
|
|
68
|
+
background: ${p.neutral0};
|
|
69
|
+
box-shadow: ${H.dropShadow};
|
|
70
70
|
overflow: hidden;
|
|
71
71
|
flex-grow: 1;
|
|
72
72
|
height: initial;
|
|
73
73
|
height: ${({height:o})=>o}px;
|
|
74
74
|
max-height: 1200px;
|
|
75
|
-
width: ${({sizeVar:o})=>
|
|
76
|
-
max-width: ${({sizeVar:o})=>
|
|
77
|
-
`,
|
|
75
|
+
width: ${({sizeVar:o})=>j(o)}px;
|
|
76
|
+
max-width: ${({sizeVar:o})=>j(o)}px;
|
|
77
|
+
`,Po=b.default.div`
|
|
78
78
|
display: flex;
|
|
79
79
|
width: 100%;
|
|
80
80
|
justify-content: space-between;
|
|
@@ -82,26 +82,26 @@
|
|
|
82
82
|
padding: 12px 16px 12px 24px;
|
|
83
83
|
gap: 10px;
|
|
84
84
|
header: 64px;
|
|
85
|
-
`,
|
|
85
|
+
`,ko=b.default.div`
|
|
86
86
|
display: flex;
|
|
87
87
|
width: 100%;
|
|
88
88
|
height: 100%;
|
|
89
89
|
overflow: hidden;
|
|
90
90
|
flex-direction: column;
|
|
91
|
-
background: ${
|
|
91
|
+
background: ${p.neutral0};
|
|
92
92
|
min-height: ${({height:o})=>o};
|
|
93
93
|
flex: 1;
|
|
94
|
-
${({isIncludeHeader:o})=>
|
|
95
|
-
`,
|
|
94
|
+
${({isIncludeHeader:o})=>Jt(o)}
|
|
95
|
+
`,vo=b.default.div`
|
|
96
96
|
display: flex;
|
|
97
97
|
flex-direction: column;
|
|
98
98
|
width: 100%;
|
|
99
|
-
max-width: ${({sizeVar:o})=>
|
|
99
|
+
max-width: ${({sizeVar:o})=>j(o)}px;
|
|
100
100
|
box-sizing: border-box;
|
|
101
101
|
padding: 0 24px;
|
|
102
102
|
overflow: hidden;
|
|
103
|
-
background: ${
|
|
104
|
-
|
|
103
|
+
background: ${p.neutral0};
|
|
104
|
+
`,_o=b.default.div`
|
|
105
105
|
display: flex;
|
|
106
106
|
width: 100%;
|
|
107
107
|
flex-direction: row;
|
|
@@ -109,36 +109,36 @@
|
|
|
109
109
|
justify-content: flex-end;
|
|
110
110
|
padding: 16px 24px;
|
|
111
111
|
gap: 12px;
|
|
112
|
-
border-top: 1px solid ${
|
|
113
|
-
background: ${
|
|
114
|
-
`;var
|
|
112
|
+
border-top: 1px solid ${p.neutral300};
|
|
113
|
+
background: ${p.neutral0};
|
|
114
|
+
`;var Bo=(i=>(i.XXS="XXS",i.XS="XS",i.S="S",i.M="M",i.L="L",i.XL="XL",i.XXL="XXL",i))(Bo||{}),_=Symbol("MODAL_HEADER"),U=Symbol("MODAL_BODY"),B=Symbol("MODAL_FOOTER");var z=require("@shoplflow/utils"),Qt=({children:o,outsideClick:e=z.noop,...t})=>{let a=(0,z.useParentElementClick)(e),n=f.default.Children.toArray(o),s=n.find(r=>{if(!f.default.isValidElement(r)||r.type[_])return r}),l=n.find(r=>{if(!f.default.isValidElement(r)||r.type[B])return r}),i=f.Children.map(n,r=>f.default.isValidElement(r)?f.default.cloneElement(r,{isIncludeHeader:!!s,isIncludeFooter:!!l,sizeVar:t.sizeVar,height:t.height}):r);return f.default.createElement(Co,{ref:a,...t},i)},wo=Qt;var Do=d(require("react"),1);var $o=({children:o})=>Do.default.createElement(_o,null,o);$o[B]=!0;var Eo=$o;var h=d(require("react"),1);var Vo=d(require("react-custom-scrollbars-2"),1),Lo=require("@shoplflow/utils"),Oo=({children:o,isIncludeHeader:e=!1,isIncludeFooter:t=!1,sizeVar:a,height:n})=>{let{height:s}=(0,Lo.useResizeObserver)(document.body,{trackHeight:!0}),l=64,i=64,r=64,c=(0,h.useCallback)(()=>{let x=0;return e&&(x+=l),t&&(x+=i),x},[t,e]),m=(0,h.useMemo)(()=>c(),[c]),u=()=>n?n-m:"100%",C=s-r-m,P=1200-r-m;return h.default.createElement(ko,{isIncludeHeader:e,height:u()},h.default.createElement(Vo.default,{id:"scrollbar",autoHeight:!n,autoHeightMin:u(),autoHeightMax:s>1200?P:C,autoHide:!0,autoHideTimeout:1e3,autoHideDuration:200,style:{height:"100%",overflow:"hidden"}},h.default.createElement(vo,{isIncludeHeader:e,sizeVar:a},o)))};Oo[U]=!0;var Ho=Oo;var Ro=d(require("react"),1);var Ao=({children:o})=>Ro.default.createElement(Po,null,o);Ao[_]=!0;var zo=Ao;var or={Container:wo,Header:zo,Body:Ho,Footer:Eo};var q=d(require("react"),1);var w=require("react"),Xo=(o,e)=>{let[t,a]=(0,w.useState)(!1),n=o!==void 0,s=()=>{!n&&a(l=>!l)};return(0,w.useEffect)(()=>{n&&a(o)},[n,o]),(0,w.useEffect)(()=>{e&&a(e)},[e,n]),[t,s]};var Z={SOLID:"SOLID"},er={S:"S",XS:"XS"};var Io=d(require("@emotion/styled"),1),F=require("@emotion/react");var Fo=require("@emotion/react"),X=o=>{if(o)return Fo.css`
|
|
115
115
|
opacity: 50%;
|
|
116
116
|
cursor: not-allowed;
|
|
117
|
-
`};var
|
|
117
|
+
`};var No=o=>{switch(o){case"XS":return"body3_400";case"S":return"body2_400";default:return"body2_400"}},tr=({isSelected:o,color:e,radius:t})=>F.css`
|
|
118
118
|
padding: 7px 12px;
|
|
119
119
|
gap: 4px;
|
|
120
|
-
background: ${
|
|
121
|
-
border-radius: ${
|
|
120
|
+
background: ${p.neutral150};
|
|
121
|
+
border-radius: ${y.borderRadius06};
|
|
122
122
|
& > span {
|
|
123
|
-
color: ${
|
|
123
|
+
color: ${p.neutral400};
|
|
124
124
|
}
|
|
125
125
|
&:hover {
|
|
126
|
-
background: ${
|
|
126
|
+
background: ${p.neutral200};
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
${
|
|
130
|
-
border-radius: ${
|
|
129
|
+
${t&&F.css`
|
|
130
|
+
border-radius: ${y.borderRadius16};
|
|
131
131
|
`};
|
|
132
|
-
${o&&
|
|
133
|
-
background: ${
|
|
132
|
+
${o&&F.css`
|
|
133
|
+
background: ${p[e]};
|
|
134
134
|
& > span {
|
|
135
|
-
color: ${
|
|
135
|
+
color: ${p.neutral0};
|
|
136
136
|
}
|
|
137
137
|
&:hover {
|
|
138
|
-
background: ${
|
|
138
|
+
background: ${p[e]};
|
|
139
139
|
}
|
|
140
140
|
`};
|
|
141
|
-
`,
|
|
141
|
+
`,G=Io.default.button`
|
|
142
142
|
display: flex;
|
|
143
143
|
align-items: center;
|
|
144
144
|
justify-content: center;
|
|
@@ -146,25 +146,25 @@
|
|
|
146
146
|
width: fit-content;
|
|
147
147
|
user-select: none;
|
|
148
148
|
cursor: pointer;
|
|
149
|
-
${o=>o.styleVar==="SOLID"&&
|
|
150
|
-
${({disabled:o})=>
|
|
151
|
-
`;var
|
|
152
|
-
background: ${
|
|
153
|
-
border: 1px solid ${
|
|
154
|
-
border-radius: ${
|
|
149
|
+
${o=>o.styleVar==="SOLID"&&tr(o)};
|
|
150
|
+
${({disabled:o})=>X(o)};
|
|
151
|
+
`;var Wo=require("@shoplflow/utils"),rr=({text:o,isSelected:e,defaultSelected:t,color:a="neutral600",styleVar:n=Z.SOLID,sizeVar:s,leftSource:l,rightSource:i,onClick:r=Wo.noop,disabled:c=!1,...m})=>{let[u,C]=Xo(e,t);return q.default.createElement(G,{...m,color:a,isSelected:u,styleVar:n,sizeVar:s,onClick:x=>{!c&&C(),!c&&r&&r(x)},disabled:c},l,q.default.createElement(M,{typography:No(s)},o),i)},Yo=rr;var to=d(require("react"),1);var Ko=d(require("@emotion/styled"),1),D=require("@emotion/react");var J=(o,e=1)=>{let t=o.replace(/[0-9]|_/g,""),a=o.replace(/[a-z]|_/g,""),n=Number(a)+100*e,s=`${t}${n}`,l=Object.keys(p).filter(m=>m.includes(t)).sort((m,u)=>Number(m.replace(/[a-z]|_/g,""))-Number(u.replace(/[a-z]|_/g,""))),r=Object.keys(p).find(m=>m===s),c=l[l.length-1];return r||c};var jo=o=>{switch(o){case"XS":return"caption_400";case"S":return"body3_400";default:return"body3_400"}},nr=({color:o})=>D.css`
|
|
152
|
+
background: ${p.neutral0};
|
|
153
|
+
border: 1px solid ${p[o]};
|
|
154
|
+
border-radius: ${y.borderRadius20};
|
|
155
155
|
&:hover {
|
|
156
|
-
border: 1px solid ${
|
|
156
|
+
border: 1px solid ${p[J(o,2)]};
|
|
157
157
|
}
|
|
158
158
|
& > span {
|
|
159
|
-
color: ${
|
|
159
|
+
color: ${p[J(o,4)]};
|
|
160
160
|
}
|
|
161
|
-
`,
|
|
161
|
+
`,ar=o=>{switch(o){case"XS":return D.css`
|
|
162
162
|
padding: 4px 8px;
|
|
163
|
-
`;case"S":return
|
|
163
|
+
`;case"S":return D.css`
|
|
164
164
|
padding: 7px 12px;
|
|
165
|
-
`;default:return
|
|
165
|
+
`;default:return D.css`
|
|
166
166
|
padding: 7px 12px;
|
|
167
|
-
`}},
|
|
167
|
+
`}},Q=Ko.default.button`
|
|
168
168
|
display: flex;
|
|
169
169
|
align-items: center;
|
|
170
170
|
justify-content: center;
|
|
@@ -172,8 +172,8 @@
|
|
|
172
172
|
width: fit-content;
|
|
173
173
|
gap: 4px;
|
|
174
174
|
cursor: pointer;
|
|
175
|
-
background: ${({background:o})=>o&&
|
|
176
|
-
${({sizeVar:o})=>
|
|
177
|
-
${o=>o.styleVar==="LINE"&&
|
|
178
|
-
${({disabled:o})=>
|
|
179
|
-
`;var
|
|
175
|
+
background: ${({background:o})=>o&&p[o]};
|
|
176
|
+
${({sizeVar:o})=>ar(o)};
|
|
177
|
+
${o=>o.styleVar==="LINE"&&nr(o)};
|
|
178
|
+
${({disabled:o})=>X(o)};
|
|
179
|
+
`;var Uo=require("@shoplflow/utils");var oo={LINE:"LINE"},eo={S:"S",XS:"XS"};var pr=({styleVar:o=oo.LINE,color:e="neutral200",sizeVar:t=eo.S,text:a,onClick:n=Uo.noop,disabled:s=!1,...l})=>to.default.createElement(Q,{styleVar:o,color:e,...l,onClick:r=>{!s&&n(r)},disabled:s},to.default.createElement(M,{typography:jo(t)},a)),Zo=pr;0&&(module.exports={ChipButton,ChipButtonSizeVariants,ChipButtonStyleVariants,ChipToggle,ChipToggleSizeVariants,ChipToggleStyleVariants,MODAL_BODY_KEY,MODAL_FOOTER_KEY,MODAL_HEADER_KEY,Modal,ModalProvider,ModalSize,MotionStack,ShoplflowProvider,Stack,StyledChip,StyledChipButton,StyledStack,Text,borderRadiusTokens,boxShadowTokens,colorTokens,fontWeightTokens,getDomain,spacingTokens,typographyTokens,useDomain,useHandleModal,useModalStore,useModalValue});
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import w from"react";import{useEffect as
|
|
1
|
+
import w from"react";import{useEffect as A,useState as To}from"react";var z=({domain:o="SHOPL"})=>{let[e,t]=To(void 0);A(()=>{o&&t(o)},[o]),A(()=>{e&&(document.documentElement.dataset.shoplflow=e?.toLowerCase())},[e])},er=()=>document.documentElement.dataset.shoplflow;import S from"react";import{create as So}from"zustand";var u=So(o=>({modal:[],addModal:(e,t)=>o(a=>({modal:[...a.modal,{component:e,id:t}]})),removeModal:e=>{let{id:t,deps:a=1}=e||{id:void 0,deps:0},p=!!(t&&String(a)),s=!!t,l=!t&&!a,i=!!String(a)&&!t;if(p)throw new Error("id\uC640 deps\uB294 \uB3D9\uC2DC\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");if(s){o(r=>({modal:[...r.modal.filter(c=>c.id!==t)]}));return}if(l||a===1){o(r=>({modal:[...r.modal.slice(0,-1)]}));return}if(i){o(r=>({modal:[...r.modal.slice(0,-a+1)]}));return}}}));var pr=()=>{let o=u(t=>t.addModal),e=u(t=>t.removeModal);return{addModal:o,removeModal:e}};var lr=()=>({modal:u(e=>e.modal)});import Co from"react";var X={initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}}};import Mo from"@emotion/styled";import{motion as bo}from"framer-motion";var F=Mo(bo.div)`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
@@ -9,7 +9,7 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
9
9
|
width: 100%;
|
|
10
10
|
height: 100%;
|
|
11
11
|
background: rgba(51, 51, 51, 0.6);
|
|
12
|
-
`;var
|
|
12
|
+
`;var Po=({children:o})=>Co.createElement(F,{variants:X,initial:"initial",animate:"animate",exit:"exit"},o),I=Po;import{createPortal as ko}from"react-dom";import{AnimatePresence as vo,motion as _o}from"framer-motion";import Bo from"@emotion/styled";var wo=Bo(_o.div)`
|
|
13
13
|
position: relative;
|
|
14
14
|
display: flex;
|
|
15
15
|
align-items: center;
|
|
@@ -19,53 +19,53 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
19
19
|
padding: 32px 20px;
|
|
20
20
|
width: 100%;
|
|
21
21
|
height: 100%;
|
|
22
|
-
`,
|
|
22
|
+
`,Do=()=>{let o=u(e=>e.modal);return S.createElement(S.Fragment,null,ko(S.createElement(vo,null,o.map((e,t)=>S.createElement(I,{key:t},S.createElement(wo,null,e.component)))),document.body))},B=Do;var $o=({children:o,domain:e="SHOPL"})=>(z({domain:e}),w.createElement(w.Fragment,null,w.createElement(B,null),o)),Eo=$o;var Vo="var(--font-weight-regular)",Lo="var(--font-weight-medium)",Oo="var(--font-weight-bold)",Ho={fontWeightRegular:Vo,fontWeightMedium:Lo,fontWeightBold:Oo},Ro="var(--border-radius04)",Ao="var(--border-radius06)",zo="var(--border-radius08)",Xo="var(--border-radius12)",Fo="var(--border-radius16)",Io="var(--border-radius20)",m={borderRadius04:Ro,borderRadius06:Ao,borderRadius08:zo,borderRadius12:Xo,borderRadius16:Fo,borderRadius20:Io},No="var(--coolgray300)",Wo="var(--coolgray200)",Yo="var(--coolgray100)",Ko="var(--coolgray50)",jo="var(--navy400)",Uo="var(--navy300)",Zo="var(--neutral0)",Go="var(--neutral100)",qo="var(--neutral150)",Jo="var(--neutral200)",Qo="var(--neutral300)",oe="var(--neutral350)",ee="var(--neutral400)",te="var(--neutral500)",re="var(--neutral600)",ne="var(--neutral700)",ae="var(--neutral400_5)",pe="var(--red300)",ie="var(--red200)",se="var(--red100)",le="var(--ocean300)",de="var(--ocean200)",ce="var(--ocean100)",me="var(--purple400)",ye="var(--purple300)",fe="var(--purple100)",ue="var(--yellow300)",ge="var(--yellow200)",he="var(--yellow100)",xe="var(--green300)",Te="var(--green200)",Se="var(--green100)",Me="var(--shopl400)",be="var(--shopl300)",Ce="var(--shopl200)",Pe="var(--shopl150)",ke="var(--shopl100)",ve="var(--hada400)",_e="var(--hada300)",Be="var(--hada200)",we="var(--hada150)",De="var(--hada100)",$e="var(--background)",Ee="var(--primary100)",Ve="var(--primary150)",Le="var(--primary200)",Oe="var(--primary300)",He="var(--primary400)",n={coolgray300:No,coolgray200:Wo,coolgray100:Yo,coolgray50:Ko,navy400:jo,navy300:Uo,neutral0:Zo,neutral100:Go,neutral150:qo,neutral200:Jo,neutral300:Qo,neutral350:oe,neutral400:ee,neutral500:te,neutral600:re,neutral700:ne,neutral400_5:ae,red300:pe,red200:ie,red100:se,ocean300:le,ocean200:de,ocean100:ce,purple400:me,purple300:ye,purple100:fe,yellow300:ue,yellow200:ge,yellow100:he,green300:xe,green200:Te,green100:Se,shopl400:Me,shopl300:be,shopl200:Ce,shopl150:Pe,shopl100:ke,hada400:ve,hada300:_e,hada200:Be,hada150:we,hada100:De,background:$e,primary100:Ee,primary150:Ve,primary200:Le,primary300:Oe,primary400:He},Re="var(--spacing04)",Ae="var(--spacing06)",ze="var(--spacing08)",Xe="var(--spacing12)",Fe="var(--spacing16)",Ie="var(--spacing20)",Ne="var(--spacing24)",We="var(--spacing30)",Ye="var(--spacing32)",Ke="var(--spacing40)",D={spacing04:Re,spacing06:Ae,spacing08:ze,spacing12:Xe,spacing16:Fe,spacing20:Ie,spacing24:Ne,spacing30:We,spacing32:Ye,spacing40:Ke},je="var(--dropShadow)",$={dropShadow:je},Ue=".heading1_700",Ze=".heading1_400",Ge=".heading2_700",qe=".heading2_400",Je=".heading3_700",Qe=".heading3_400",ot=".title1_700",et=".title1_400",tt=".title2_700",rt=".title2_500",nt=".title2_400",at=".body1_700",pt=".body1_500",it=".body1_400",st=".body2_700",lt=".body2_500",dt=".body2_400",ct=".body3_400",mt=".body3_500",yt=".caption_400",ft={heading1_700:Ue,heading1_400:Ze,heading2_700:Ge,heading2_400:qe,heading3_700:Je,heading3_400:Qe,title1_700:ot,title1_400:et,title2_700:tt,title2_500:rt,title2_400:nt,body1_700:at,body1_500:pt,body1_400:it,body2_700:st,body2_500:lt,body2_400:dt,body3_400:ct,body3_500:mt,caption_400:yt};import gt,{forwardRef as ht}from"react";import{motion as E}from"framer-motion";import ut from"@emotion/styled";var N=ut.div`
|
|
23
23
|
display: flex;
|
|
24
24
|
width: ${({width:o})=>o};
|
|
25
25
|
height: ${({height:o})=>o};
|
|
26
26
|
flex-direction: ${({direction:o})=>o};
|
|
27
27
|
align-items: ${({align:o})=>o};
|
|
28
28
|
justify-content: ${({justify:o})=>o};
|
|
29
|
-
gap: ${({spacing:o})=>o&&
|
|
29
|
+
gap: ${({spacing:o})=>o&&D[o]};
|
|
30
30
|
flex-wrap: ${({flexWrap:o})=>o};
|
|
31
31
|
flex: ${({flex:o})=>o};
|
|
32
|
-
background: ${({background:o})=>o?
|
|
32
|
+
background: ${({background:o})=>o?n[o]:"transparent"};
|
|
33
33
|
border-radius: ${({radius:o})=>o&&m[o]};
|
|
34
34
|
animation: 0.2s all ease-in-out;
|
|
35
|
-
`;var
|
|
35
|
+
`;var V=o=>ht(function({as:t="div",spacing:a=o?.spacing??"spacing08",direction:p=o?.direction??"column",align:s=o?.align??"flex-start",justify:l=o?.justify??"flex-start",width:i=o?.width??"initial",height:r=o?.height??"initial",flexWrap:d=o?.flexWrap??"initial",flex:c=o?.flex??"initial",radius:y=o?.radius,background:x=o?.background,...T},f){return gt.createElement(N,{as:t,spacing:a,ref:f,direction:p,align:s,justify:l,width:i,height:r,flexWrap:d,flex:c,background:x,radius:y,...T},T.children)}),g=V();g.Vertical=V({direction:"column"});g.Horizontal=V({direction:"row"});var W=E(g);W.Vertical=E(g.Vertical);W.Horizontal=E(g.Horizontal);var xt=g;import{forwardRef as Mt}from"react";import{css as C}from"@emotion/react";import Tt from"@emotion/styled";var St=o=>C`
|
|
36
36
|
display: -webkit-box;
|
|
37
37
|
line-clamp: ${o};
|
|
38
38
|
-webkit-line-clamp: ${o};
|
|
39
39
|
-webkit-box-orient: vertical;
|
|
40
40
|
overflow: hidden;
|
|
41
41
|
text-overflow: ellipsis;
|
|
42
|
-
`,
|
|
42
|
+
`,Y=Tt.span`
|
|
43
43
|
display: ${({display:o})=>o&&o};
|
|
44
44
|
align-items: center;
|
|
45
|
-
color: ${({color:o})=>o&&
|
|
46
|
-
${({lineClamp:o})=>o&&
|
|
45
|
+
color: ${({color:o})=>o&&n[o]};
|
|
46
|
+
${({lineClamp:o})=>o&&St(o)};
|
|
47
47
|
text-align: ${({textAlign:o})=>o&&o};
|
|
48
48
|
white-space: ${({whiteSpace:o})=>o&&o};
|
|
49
|
-
${({textDecorations:o})=>o&&
|
|
49
|
+
${({textDecorations:o})=>o&&C`
|
|
50
50
|
text-decoration: ${o};
|
|
51
51
|
`};
|
|
52
|
-
${({opacity:o})=>o&&
|
|
52
|
+
${({opacity:o})=>o&&C`
|
|
53
53
|
opacity: ${o};
|
|
54
54
|
`}
|
|
55
|
-
${({wordBreak:o})=>o&&
|
|
55
|
+
${({wordBreak:o})=>o&&C`
|
|
56
56
|
word-break: ${o};
|
|
57
57
|
`};
|
|
58
|
-
`;var
|
|
58
|
+
`;var bt=Mt(({children:o,typography:e="body1_400",whiteSpace:t,color:a="neutral700",display:p="inline-block",textAlign:s="start",className:l,as:i,...r},d)=>React.createElement(Y,{ref:d,whiteSpace:t,className:l?`${e} ${l}`:e,color:a,display:p,textAlign:s,as:i,...r},o)),M=bt;import h,{Children as $t}from"react";import b from"@emotion/styled";import{css as K}from"@emotion/react";var Ct=400,Pt=500,kt=560,j=640,vt=768,_t=1040,Bt=1280,L=o=>{switch(o){case"XXS":return Ct;case"XS":return Pt;case"S":return kt;case"M":return j;case"L":return vt;case"XL":return _t;case"XXL":return Bt;default:return j}},wt=o=>o?K`
|
|
59
59
|
padding-top: 16px;
|
|
60
60
|
padding-bottom: 24px;
|
|
61
|
-
`:
|
|
61
|
+
`:K`
|
|
62
62
|
padding-top: 24px;
|
|
63
63
|
padding-bottom: 24px;
|
|
64
|
-
`,
|
|
64
|
+
`,U=b.div`
|
|
65
65
|
display: flex;
|
|
66
66
|
flex-direction: column;
|
|
67
67
|
border-radius: ${m.borderRadius08};
|
|
68
|
-
background: ${
|
|
68
|
+
background: ${n.neutral0};
|
|
69
69
|
box-shadow: ${$.dropShadow};
|
|
70
70
|
overflow: hidden;
|
|
71
71
|
flex-grow: 1;
|
|
@@ -74,7 +74,7 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
74
74
|
max-height: 1200px;
|
|
75
75
|
width: ${({sizeVar:o})=>L(o)}px;
|
|
76
76
|
max-width: ${({sizeVar:o})=>L(o)}px;
|
|
77
|
-
`,
|
|
77
|
+
`,Z=b.div`
|
|
78
78
|
display: flex;
|
|
79
79
|
width: 100%;
|
|
80
80
|
justify-content: space-between;
|
|
@@ -82,17 +82,17 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
82
82
|
padding: 12px 16px 12px 24px;
|
|
83
83
|
gap: 10px;
|
|
84
84
|
header: 64px;
|
|
85
|
-
`,
|
|
85
|
+
`,G=b.div`
|
|
86
86
|
display: flex;
|
|
87
87
|
width: 100%;
|
|
88
88
|
height: 100%;
|
|
89
89
|
overflow: hidden;
|
|
90
90
|
flex-direction: column;
|
|
91
|
-
background: ${
|
|
91
|
+
background: ${n.neutral0};
|
|
92
92
|
min-height: ${({height:o})=>o};
|
|
93
93
|
flex: 1;
|
|
94
|
-
${({isIncludeHeader:o})=>
|
|
95
|
-
`,
|
|
94
|
+
${({isIncludeHeader:o})=>wt(o)}
|
|
95
|
+
`,q=b.div`
|
|
96
96
|
display: flex;
|
|
97
97
|
flex-direction: column;
|
|
98
98
|
width: 100%;
|
|
@@ -100,8 +100,8 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
100
100
|
box-sizing: border-box;
|
|
101
101
|
padding: 0 24px;
|
|
102
102
|
overflow: hidden;
|
|
103
|
-
background: ${
|
|
104
|
-
`,
|
|
103
|
+
background: ${n.neutral0};
|
|
104
|
+
`,J=b.div`
|
|
105
105
|
display: flex;
|
|
106
106
|
width: 100%;
|
|
107
107
|
flex-direction: row;
|
|
@@ -109,36 +109,36 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
109
109
|
justify-content: flex-end;
|
|
110
110
|
padding: 16px 24px;
|
|
111
111
|
gap: 12px;
|
|
112
|
-
border-top: 1px solid ${
|
|
113
|
-
background: ${
|
|
114
|
-
`;var
|
|
112
|
+
border-top: 1px solid ${n.neutral300};
|
|
113
|
+
background: ${n.neutral0};
|
|
114
|
+
`;var Dt=(i=>(i.XXS="XXS",i.XS="XS",i.S="S",i.M="M",i.L="L",i.XL="XL",i.XXL="XXL",i))(Dt||{}),P=Symbol("MODAL_HEADER"),Q=Symbol("MODAL_BODY"),k=Symbol("MODAL_FOOTER");import{useParentElementClick as Et,noop as Vt}from"@shoplflow/utils";var Lt=({children:o,outsideClick:e=Vt,...t})=>{let a=Et(e),p=h.Children.toArray(o),s=p.find(r=>{if(!h.isValidElement(r)||r.type[P])return r}),l=p.find(r=>{if(!h.isValidElement(r)||r.type[k])return r}),i=$t.map(p,r=>h.isValidElement(r)?h.cloneElement(r,{isIncludeHeader:!!s,isIncludeFooter:!!l,sizeVar:t.sizeVar,height:t.height}):r);return h.createElement(U,{ref:a,...t},i)},oo=Lt;import Ot from"react";var eo=({children:o})=>Ot.createElement(J,null,o);eo[k]=!0;var to=eo;import O,{useCallback as Ht,useMemo as Rt}from"react";import At from"react-custom-scrollbars-2";import{useResizeObserver as zt}from"@shoplflow/utils";var ro=({children:o,isIncludeHeader:e=!1,isIncludeFooter:t=!1,sizeVar:a,height:p})=>{let{height:s}=zt(document.body,{trackHeight:!0}),l=64,i=64,r=64,d=Ht(()=>{let f=0;return e&&(f+=l),t&&(f+=i),f},[t,e]),c=Rt(()=>d(),[d]),y=()=>p?p-c:"100%",x=s-r-c,T=1200-r-c;return O.createElement(G,{isIncludeHeader:e,height:y()},O.createElement(At,{id:"scrollbar",autoHeight:!p,autoHeightMin:y(),autoHeightMax:s>1200?T:x,autoHide:!0,autoHideTimeout:1e3,autoHideDuration:200,style:{height:"100%",overflow:"hidden"}},O.createElement(q,{isIncludeHeader:e,sizeVar:a},o)))};ro[Q]=!0;var no=ro;import Xt from"react";var ao=({children:o})=>Xt.createElement(Z,null,o);ao[P]=!0;var po=ao;var zn={Container:oo,Header:po,Body:no,Footer:to};import yo from"react";import{useEffect as io,useState as Ft}from"react";var so=(o,e)=>{let[t,a]=Ft(!1),p=o!==void 0,s=()=>{!p&&a(l=>!l)};return io(()=>{p&&a(o)},[p,o]),io(()=>{e&&a(e)},[e,p]),[t,s]};var lo={SOLID:"SOLID"},Kn={S:"S",XS:"XS"};import Nt from"@emotion/styled";import{css as H}from"@emotion/react";import{css as It}from"@emotion/react";var v=o=>{if(o)return It`
|
|
115
115
|
opacity: 50%;
|
|
116
116
|
cursor: not-allowed;
|
|
117
|
-
`};var
|
|
117
|
+
`};var co=o=>{switch(o){case"XS":return"body3_400";case"S":return"body2_400";default:return"body2_400"}},Wt=({isSelected:o,color:e,radius:t})=>H`
|
|
118
118
|
padding: 7px 12px;
|
|
119
119
|
gap: 4px;
|
|
120
|
-
background: ${
|
|
120
|
+
background: ${n.neutral150};
|
|
121
121
|
border-radius: ${m.borderRadius06};
|
|
122
122
|
& > span {
|
|
123
|
-
color: ${
|
|
123
|
+
color: ${n.neutral400};
|
|
124
124
|
}
|
|
125
125
|
&:hover {
|
|
126
|
-
background: ${
|
|
126
|
+
background: ${n.neutral200};
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
${
|
|
129
|
+
${t&&H`
|
|
130
130
|
border-radius: ${m.borderRadius16};
|
|
131
131
|
`};
|
|
132
|
-
${o&&
|
|
133
|
-
background: ${
|
|
132
|
+
${o&&H`
|
|
133
|
+
background: ${n[e]};
|
|
134
134
|
& > span {
|
|
135
|
-
color: ${
|
|
135
|
+
color: ${n.neutral0};
|
|
136
136
|
}
|
|
137
137
|
&:hover {
|
|
138
|
-
background: ${
|
|
138
|
+
background: ${n[e]};
|
|
139
139
|
}
|
|
140
140
|
`};
|
|
141
|
-
`,
|
|
141
|
+
`,mo=Nt.button`
|
|
142
142
|
display: flex;
|
|
143
143
|
align-items: center;
|
|
144
144
|
justify-content: center;
|
|
@@ -146,25 +146,25 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
146
146
|
width: fit-content;
|
|
147
147
|
user-select: none;
|
|
148
148
|
cursor: pointer;
|
|
149
|
-
${o=>o.styleVar==="SOLID"&&
|
|
150
|
-
${({disabled:o})=>
|
|
151
|
-
`;import{noop as
|
|
152
|
-
background: ${
|
|
153
|
-
border: 1px solid ${
|
|
149
|
+
${o=>o.styleVar==="SOLID"&&Wt(o)};
|
|
150
|
+
${({disabled:o})=>v(o)};
|
|
151
|
+
`;import{noop as Yt}from"@shoplflow/utils";var Kt=({text:o,isSelected:e,defaultSelected:t,color:a="neutral600",styleVar:p=lo.SOLID,sizeVar:s,leftSource:l,rightSource:i,onClick:r=Yt,disabled:d=!1,...c})=>{let[y,x]=so(e,t);return yo.createElement(mo,{...c,color:a,isSelected:y,styleVar:p,sizeVar:s,onClick:f=>{!d&&x(),!d&&r&&r(f)},disabled:d},l,yo.createElement(M,{typography:co(s)},o),i)},jt=Kt;import xo from"react";import Ut from"@emotion/styled";import{css as _}from"@emotion/react";var R=(o,e=1)=>{let t=o.replace(/[0-9]|_/g,""),a=o.replace(/[a-z]|_/g,""),p=Number(a)+100*e,s=`${t}${p}`,l=Object.keys(n).filter(c=>c.includes(t)).sort((c,y)=>Number(c.replace(/[a-z]|_/g,""))-Number(y.replace(/[a-z]|_/g,""))),r=Object.keys(n).find(c=>c===s),d=l[l.length-1];return r||d};var fo=o=>{switch(o){case"XS":return"caption_400";case"S":return"body3_400";default:return"body3_400"}},Zt=({color:o})=>_`
|
|
152
|
+
background: ${n.neutral0};
|
|
153
|
+
border: 1px solid ${n[o]};
|
|
154
154
|
border-radius: ${m.borderRadius20};
|
|
155
155
|
&:hover {
|
|
156
|
-
border: 1px solid ${
|
|
156
|
+
border: 1px solid ${n[R(o,2)]};
|
|
157
157
|
}
|
|
158
158
|
& > span {
|
|
159
|
-
color: ${
|
|
159
|
+
color: ${n[R(o,4)]};
|
|
160
160
|
}
|
|
161
|
-
`,
|
|
161
|
+
`,Gt=o=>{switch(o){case"XS":return _`
|
|
162
162
|
padding: 4px 8px;
|
|
163
163
|
`;case"S":return _`
|
|
164
164
|
padding: 7px 12px;
|
|
165
165
|
`;default:return _`
|
|
166
166
|
padding: 7px 12px;
|
|
167
|
-
`}},
|
|
167
|
+
`}},uo=Ut.button`
|
|
168
168
|
display: flex;
|
|
169
169
|
align-items: center;
|
|
170
170
|
justify-content: center;
|
|
@@ -172,8 +172,8 @@ import w from"react";import{useEffect as z,useState as Mo}from"react";var A=({do
|
|
|
172
172
|
width: fit-content;
|
|
173
173
|
gap: 4px;
|
|
174
174
|
cursor: pointer;
|
|
175
|
-
background: ${({background:o})=>o&&
|
|
176
|
-
${({sizeVar:o})=>
|
|
177
|
-
${o=>o.styleVar==="LINE"&&
|
|
178
|
-
${({disabled:o})=>
|
|
179
|
-
`;import{noop as
|
|
175
|
+
background: ${({background:o})=>o&&n[o]};
|
|
176
|
+
${({sizeVar:o})=>Gt(o)};
|
|
177
|
+
${o=>o.styleVar==="LINE"&&Zt(o)};
|
|
178
|
+
${({disabled:o})=>v(o)};
|
|
179
|
+
`;import{noop as qt}from"@shoplflow/utils";var go={LINE:"LINE"},ho={S:"S",XS:"XS"};var Jt=({styleVar:o=go.LINE,color:e="neutral200",sizeVar:t=ho.S,text:a,onClick:p=qt,disabled:s=!1,...l})=>xo.createElement(uo,{styleVar:o,color:e,...l,onClick:r=>{!s&&p(r)},disabled:s},xo.createElement(M,{typography:fo(t)},a)),Qt=Jt;export{Qt as ChipButton,ho as ChipButtonSizeVariants,go as ChipButtonStyleVariants,jt as ChipToggle,Kn as ChipToggleSizeVariants,lo as ChipToggleStyleVariants,Q as MODAL_BODY_KEY,k as MODAL_FOOTER_KEY,P as MODAL_HEADER_KEY,zn as Modal,B as ModalProvider,Dt as ModalSize,W as MotionStack,Eo as ShoplflowProvider,xt as Stack,mo as StyledChip,uo as StyledChipButton,N as StyledStack,M as Text,m as borderRadiusTokens,$ as boxShadowTokens,n as colorTokens,Ho as fontWeightTokens,er as getDomain,D as spacingTokens,ft as typographyTokens,z as useDomain,pr as useHandleModal,u as useModalStore,lr as useModalValue};
|
|
@@ -5,11 +5,8 @@ import type { BorderRadiusTokens, ColorTokens } from '../../styles';
|
|
|
5
5
|
* HTML 태그에 대한 타입
|
|
6
6
|
*/
|
|
7
7
|
export type StringElementType = ElementType & string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* Generic으로 HTML 태그를 받습니다.
|
|
11
|
-
*/
|
|
12
|
-
export type HTMLPropsWithOutRef<T extends StringElementType> = ComponentPropsWithoutRef<T>;
|
|
8
|
+
export type HTMLPropsWithoutRef<T extends StringElementType> = ComponentPropsWithoutRef<T>;
|
|
9
|
+
export type PolymorphicRef<T extends React.ElementType> = React.ComponentPropsWithRef<T>['ref'];
|
|
13
10
|
export interface DisableProps {
|
|
14
11
|
/**
|
|
15
12
|
* 비활성화 여부를 설정합니다.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shoplflow/base",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"react-dom": "^18.2.0",
|
|
65
65
|
"storybook": "^7.4.1",
|
|
66
66
|
"ts-node": "^10.9.1",
|
|
67
|
-
"typescript": "^4.6.3"
|
|
67
|
+
"typescript": "^4.6.3",
|
|
68
|
+
"@shoplflow/utils": "^0.2.0"
|
|
68
69
|
},
|
|
69
70
|
"eslintConfig": {
|
|
70
71
|
"extends": [
|
|
@@ -76,7 +77,7 @@
|
|
|
76
77
|
"framer-motion": "^9.1.7",
|
|
77
78
|
"react-custom-scrollbars-2": "^4.5.0",
|
|
78
79
|
"zustand": "^4.4.1",
|
|
79
|
-
"@shoplflow/utils": "^0.
|
|
80
|
+
"@shoplflow/utils": "^0.2.0"
|
|
80
81
|
},
|
|
81
82
|
"scripts": {
|
|
82
83
|
"type-check": "tsc --noEmit || true",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* @description
|
|
4
|
-
* outsideClick 이벤트를 감지하는 hook
|
|
5
|
-
* return되는 ref를 컴포넌트에 적용하거나 외부에서 생성한 ref를 기준으로 부모 요소를 클릭하는 경우 outsideClick 함수를 실행합니다.
|
|
6
|
-
* 외부에서 생성한 ref를 사용할 경우 initialRef를 통해 ref를 전달해야 합니다.
|
|
7
|
-
*
|
|
8
|
-
* @param onClickOutside
|
|
9
|
-
* @param initialRef
|
|
10
|
-
*/
|
|
11
|
-
export declare const useOutsideClick: <T extends HTMLElement>(onClickOutside: (target: EventTarget | null) => void, initialRef?: React.RefObject<T> | undefined) => {
|
|
12
|
-
ref: React.RefObject<T>;
|
|
13
|
-
};
|
|
14
|
-
export default useOutsideClick;
|
package/dist/utils/noop.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const noop: () => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type $Values<T extends object> = T[keyof T];
|