@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.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { ChildrenProps, SizeVariantProps } from '../../utils/type/ComponentProps';
3
- import type { $Values } from '../../utils/type/$values';
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, HTMLPropsWithOutRef, RenderConfigProps, StringElementType } from '../../utils/type/ComponentProps';
5
- export type StackGenericProps<T extends StringElementType = 'div'> = RenderConfigProps & StackProps & HTMLPropsWithOutRef<T>;
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 & HTMLPropsWithOutRef<T> & StackProps>;
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
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import type { TextProps } from './Text.types';
3
- declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLElement>>;
3
+ declare const Text: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<unknown>>;
4
4
  export default Text;
@@ -2,5 +2,3 @@ export * from './useDomain';
2
2
  export * from './useHandleModal';
3
3
  export * from './useModalValue';
4
4
  export * from './useModalStore';
5
- export * from './useOutsideClick';
6
- export * from './useResizeObserver';
@@ -3,4 +3,5 @@ type UseDomainProps = {
3
3
  domain?: DomainType;
4
4
  };
5
5
  export declare const useDomain: ({ domain }: UseDomainProps) => void;
6
+ export declare const getDomain: () => "shopl" | "hada";
6
7
  export {};
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var oe=Object.create;var O=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty;var ae=(o,t)=>{for(var e in t)O(o,e,{get:t[e],enumerable:!0})},io=(o,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of te(t))!ne.call(o,r)&&r!==e&&O(o,r,{get:()=>t[r],enumerable:!(a=ee(t,r))||a.enumerable});return o};var c=(o,t,e)=>(e=o!=null?oe(re(o)):{},io(t||!o||!o.__esModule?O(e,"default",{value:o,enumerable:!0}):e,o)),ie=o=>io(O({},"__esModule",{value:!0}),o);var dr={};ae(dr,{ChipButton:()=>Qo,ChipButtonSizeVariants:()=>no,ChipButtonStyleVariants:()=>ro,ChipToggle:()=>Zo,ChipToggleSizeVariants:()=>nr,ChipToggleStyleVariants:()=>J,MODAL_BODY_KEY:()=>q,MODAL_FOOTER_KEY:()=>w,MODAL_HEADER_KEY:()=>B,Modal:()=>rr,ModalProvider:()=>H,ModalSize:()=>Oo,MotionStack:()=>U,ShoplflowProvider:()=>To,Stack:()=>ko,StyledChip:()=>Q,StyledChipButton:()=>to,StyledStack:()=>K,Text:()=>M,borderRadiusTokens:()=>f,boxShadowTokens:()=>z,colorTokens:()=>i,fontWeightTokens:()=>So,spacingTokens:()=>R,typographyTokens:()=>bo,useDomain:()=>W,useHandleModal:()=>pe,useModalStore:()=>g,useModalValue:()=>se,useOutsideClick:()=>so,useResizeObserver:()=>Y});module.exports=ie(dr);var V=c(require("react"),1);var P=require("react"),W=({domain:o="SHOPL"})=>{let[t,e]=(0,P.useState)(void 0);(0,P.useEffect)(()=>{o&&e(o)},[o]),(0,P.useEffect)(()=>{t&&(document.documentElement.dataset.shoplflow=t?.toLowerCase())},[t])};var S=c(require("react"),1);var po=require("zustand"),g=(0,po.create)(o=>({modal:[],addModal:(t,e)=>o(a=>({modal:[...a.modal,{component:t,id:e}]})),removeModal:t=>{let{id:e,deps:a=1}=t||{id:void 0,deps:0},r=!!(e&&String(a)),s=!!e,l=!e&&!a,p=!!String(a)&&!e;if(r)throw new Error("id\uC640 deps\uB294 \uB3D9\uC2DC\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");if(s){o(n=>({modal:[...n.modal.filter(m=>m.id!==e)]}));return}if(l||a===1){o(n=>({modal:[...n.modal.slice(0,-1)]}));return}if(p){o(n=>({modal:[...n.modal.slice(0,-a+1)]}));return}}}));var pe=()=>{let o=g(e=>e.addModal),t=g(e=>e.removeModal);return{addModal:o,removeModal:t}};var se=()=>({modal:g(t=>t.modal)});var T=require("react"),so=(o,t)=>{let e=t??(0,T.useRef)(null),a=(0,T.useCallback)(r=>{e.current?.parentNode&&!e.current?.contains(r.target)&&o(r.target)},[e,o]);return(0,T.useEffect)(()=>{let r=e.current?.parentNode;if(r)return r.addEventListener("click",a),()=>{r.removeEventListener("click",a)}},[e,a]),{ref:e}},lo=so;var D=require("react"),Y=(o,t={trackWidth:!0,trackHeight:!0})=>{let[e,a]=(0,D.useState)({width:0,height:0});return(0,D.useEffect)(()=>{let r=new ResizeObserver(s=>{s.forEach(l=>{if(l.target===o){let{width:p,height:n}=l.contentRect,d={...e};t.trackWidth&&p!==e.width&&(d.width=p),t.trackHeight&&n!==e.height&&(d.height=n),(d.width!==e.width||d.height!==e.height)&&a(d)}})});return r.observe(o),()=>{r.disconnect()}},[o,t.trackWidth,t.trackHeight,e]),e};var yo=c(require("react"),1);var co={initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}}};var mo=c(require("@emotion/styled"),1),fo=require("framer-motion"),uo=(0,mo.default)(fo.motion.div)`
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 le=({children:o})=>yo.default.createElement(uo,{variants:co,initial:"initial",animate:"animate",exit:"exit"},o),go=le;var ho=require("react-dom"),L=require("framer-motion"),xo=c(require("@emotion/styled"),1),de=(0,xo.default)(L.motion.div)`
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
- `,ce=()=>{let o=g(t=>t.modal);return S.default.createElement(S.default.Fragment,null,(0,ho.createPortal)(S.default.createElement(L.AnimatePresence,null,o.map((t,e)=>S.default.createElement(go,{key:e},S.default.createElement(de,null,t.component)))),document.body))},H=ce;var me=({children:o,domain:t="SHOPL"})=>(W({domain:t}),V.default.createElement(V.default.Fragment,null,V.default.createElement(H,null),o)),To=me;var fe="var(--font-weight-regular)",ue="var(--font-weight-medium)",ye="var(--font-weight-bold)",So={fontWeightRegular:fe,fontWeightMedium:ue,fontWeightBold:ye},ge="var(--border-radius04)",he="var(--border-radius06)",xe="var(--border-radius08)",Te="var(--border-radius12)",Se="var(--border-radius16)",be="var(--border-radius20)",f={borderRadius04:ge,borderRadius06:he,borderRadius08:xe,borderRadius12:Te,borderRadius16:Se,borderRadius20:be},Me="var(--coolgray300)",ke="var(--coolgray200)",ve="var(--coolgray100)",Ce="var(--coolgray50)",Pe="var(--navy400)",_e="var(--navy300)",Be="var(--neutral0)",we="var(--neutral100)",Ee="var(--neutral150)",$e="var(--neutral200)",Oe="var(--neutral300)",De="var(--neutral350)",Le="var(--neutral400)",He="var(--neutral500)",Ve="var(--neutral600)",Re="var(--neutral700)",ze="var(--neutral400_5)",Ae="var(--red300)",Ne="var(--red200)",Xe="var(--red100)",Fe="var(--ocean300)",Ie="var(--ocean200)",We="var(--ocean100)",Ye="var(--purple400)",Ke="var(--purple300)",je="var(--purple100)",Ue="var(--yellow300)",Ze="var(--yellow200)",Ge="var(--yellow100)",qe="var(--green300)",Je="var(--green200)",Qe="var(--green100)",ot="var(--shopl400)",et="var(--shopl300)",tt="var(--shopl200)",rt="var(--shopl150)",nt="var(--shopl100)",at="var(--hada400)",it="var(--hada300)",pt="var(--hada200)",st="var(--hada150)",lt="var(--hada100)",dt="var(--background)",ct="var(--primary100)",mt="var(--primary150)",ft="var(--primary200)",ut="var(--primary300)",yt="var(--primary400)",i={coolgray300:Me,coolgray200:ke,coolgray100:ve,coolgray50:Ce,navy400:Pe,navy300:_e,neutral0:Be,neutral100:we,neutral150:Ee,neutral200:$e,neutral300:Oe,neutral350:De,neutral400:Le,neutral500:He,neutral600:Ve,neutral700:Re,neutral400_5:ze,red300:Ae,red200:Ne,red100:Xe,ocean300:Fe,ocean200:Ie,ocean100:We,purple400:Ye,purple300:Ke,purple100:je,yellow300:Ue,yellow200:Ze,yellow100:Ge,green300:qe,green200:Je,green100:Qe,shopl400:ot,shopl300:et,shopl200:tt,shopl150:rt,shopl100:nt,hada400:at,hada300:it,hada200:pt,hada150:st,hada100:lt,background:dt,primary100:ct,primary150:mt,primary200:ft,primary300:ut,primary400:yt},gt="var(--spacing04)",ht="var(--spacing06)",xt="var(--spacing08)",Tt="var(--spacing12)",St="var(--spacing16)",bt="var(--spacing20)",Mt="var(--spacing24)",kt="var(--spacing30)",vt="var(--spacing32)",Ct="var(--spacing40)",R={spacing04:gt,spacing06:ht,spacing08:xt,spacing12:Tt,spacing16:St,spacing20:bt,spacing24:Mt,spacing30:kt,spacing32:vt,spacing40:Ct},Pt="var(--dropShadow)",z={dropShadow:Pt},_t=".heading1_700",Bt=".heading1_400",wt=".heading2_700",Et=".heading2_400",$t=".heading3_700",Ot=".heading3_400",Dt=".title1_700",Lt=".title1_400",Ht=".title2_700",Vt=".title2_500",Rt=".title2_400",zt=".body1_700",At=".body1_500",Nt=".body1_400",Xt=".body2_700",Ft=".body2_500",It=".body2_400",Wt=".body3_400",Yt=".body3_500",Kt=".caption_400",bo={heading1_700:_t,heading1_400:Bt,heading2_700:wt,heading2_400:Et,heading3_700:$t,heading3_400:Ot,title1_700:Dt,title1_400:Lt,title2_700:Ht,title2_500:Vt,title2_400:Rt,body1_700:zt,body1_500:At,body1_400:Nt,body2_700:Xt,body2_500:Ft,body2_400:It,body3_400:Wt,body3_500:Yt,caption_400:Kt};var A=c(require("react"),1),N=require("framer-motion");var Mo=c(require("@emotion/styled"),1);var K=Mo.default.div`
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&&R[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?i[o]:"transparent"};
33
- border-radius: ${({radius:o})=>o&&f[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 j=o=>(0,A.forwardRef)(function({as:e="div",spacing:a=o?.spacing??"spacing08",direction:r=o?.direction??"column",align:s=o?.align??"flex-start",justify:l=o?.justify??"flex-start",width:p=o?.width??"initial",height:n=o?.height??"initial",flexWrap:d=o?.flexWrap??"initial",flex:m=o?.flex??"initial",radius:y=o?.radius,background:v=o?.background,...C},x){return A.default.createElement(K,{as:e,spacing:a,ref:x,direction:r,align:s,justify:l,width:p,height:n,flexWrap:d,flex:m,background:v,radius:y,...C},C.children)}),b=j();b.Vertical=j({direction:"column"});b.Horizontal=j({direction:"row"});var U=(0,N.motion)(b);U.Vertical=(0,N.motion)(b.Vertical);U.Horizontal=(0,N.motion)(b.Horizontal);var ko=b;var X=c(require("react"),1);var _=require("@emotion/react"),vo=c(require("@emotion/styled"),1);var jt=o=>_.css`
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
- `,Co=vo.default.span`
42
+ `,So=To.default.span`
43
43
  display: ${({display:o})=>o&&o};
44
44
  align-items: center;
45
- color: ${({color:o})=>o&&i[o]};
46
- ${({lineClamp:o})=>o&&jt(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&&_.css`
49
+ ${({textDecorations:o})=>o&&v.css`
50
50
  text-decoration: ${o};
51
51
  `};
52
- ${({opacity:o})=>o&&_.css`
52
+ ${({opacity:o})=>o&&v.css`
53
53
  opacity: ${o};
54
54
  `}
55
- ${({wordBreak:o})=>o&&_.css`
55
+ ${({wordBreak:o})=>o&&v.css`
56
56
  word-break: ${o};
57
57
  `};
58
- `;var Ut=(0,X.forwardRef)(({children:o,typography:t="body1_400",whiteSpace:e,color:a="neutral700",display:r="inline-block",textAlign:s="start",className:l,...p},n)=>X.default.createElement(Co,{ref:n,whiteSpace:e,className:l?`${t} ${l}`:t,color:a,display:r,textAlign:s,...p},o)),M=Ut;var u=c(require("react"),1);var k=c(require("@emotion/styled"),1),Z=require("@emotion/react");var Zt=400,Gt=500,qt=560,Po=640,Jt=768,Qt=1040,or=1280,G=o=>{switch(o){case"XXS":return Zt;case"XS":return Gt;case"S":return qt;case"M":return Po;case"L":return Jt;case"XL":return Qt;case"XXL":return or;default:return Po}},er=o=>o?Z.css`
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
- `:Z.css`
61
+ `:K.css`
62
62
  padding-top: 24px;
63
63
  padding-bottom: 24px;
64
- `,_o=k.default.div`
64
+ `,Co=b.default.div`
65
65
  display: flex;
66
66
  flex-direction: column;
67
- border-radius: ${f.borderRadius08};
68
- background: ${i.neutral0};
69
- box-shadow: ${z.dropShadow};
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})=>G(o)}px;
76
- max-width: ${({sizeVar:o})=>G(o)}px;
77
- `,Bo=k.default.div`
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
- `,wo=k.default.div`
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: ${i.neutral0};
91
+ background: ${p.neutral0};
92
92
  min-height: ${({height:o})=>o};
93
93
  flex: 1;
94
- ${({isIncludeHeader:o})=>er(o)}
95
- `,Eo=k.default.div`
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})=>G(o)}px;
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: ${i.neutral0};
104
- `,$o=k.default.div`
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 ${i.neutral300};
113
- background: ${i.neutral0};
114
- `;var Oo=(p=>(p.XXS="XXS",p.XS="XS",p.S="S",p.M="M",p.L="L",p.XL="XL",p.XXL="XXL",p))(Oo||{}),B=Symbol("MODAL_HEADER"),q=Symbol("MODAL_BODY"),w=Symbol("MODAL_FOOTER");var Do=function(){};var tr=({children:o,outsideClick:t=Do,...e})=>{let a=u.default.useRef(null);lo(t,a);let r=u.default.Children.toArray(o),s=r.find(n=>{if(!u.default.isValidElement(n)||n.type[B])return n}),l=r.find(n=>{if(!u.default.isValidElement(n)||n.type[w])return n}),p=u.Children.map(r,n=>u.default.isValidElement(n)?u.default.cloneElement(n,{isIncludeHeader:!!s,isIncludeFooter:!!l,sizeVar:e.sizeVar,height:e.height}):n);return u.default.createElement(_o,{ref:a,...e},p)},Lo=tr;var Ho=c(require("react"),1);var Vo=({children:o})=>Ho.default.createElement($o,null,o);Vo[w]=!0;var Ro=Vo;var h=c(require("react"),1);var zo=c(require("react-custom-scrollbars-2"),1);var Ao=({children:o,isIncludeHeader:t=!1,isIncludeFooter:e=!1,sizeVar:a,height:r})=>{let{height:s}=Y(document.body,{trackHeight:!0}),l=64,p=64,n=64,d=(0,h.useCallback)(()=>{let x=0;return t&&(x+=l),e&&(x+=p),x},[e,t]),m=(0,h.useMemo)(()=>d(),[d]),y=()=>r?r-m:"100%",v=s-n-m,C=1200-n-m;return h.default.createElement(wo,{isIncludeHeader:t,height:y()},h.default.createElement(zo.default,{id:"scrollbar",autoHeight:!r,autoHeightMin:y(),autoHeightMax:s>1200?C:v,autoHide:!0,autoHideTimeout:1e3,autoHideDuration:200,style:{height:"100%",overflow:"hidden"}},h.default.createElement(Eo,{isIncludeHeader:t,sizeVar:a},o)))};Ao[q]=!0;var No=Ao;var Xo=c(require("react"),1);var Fo=({children:o})=>Xo.default.createElement(Bo,null,o);Fo[B]=!0;var Io=Fo;var rr={Container:Lo,Header:Io,Body:No,Footer:Ro};var oo=c(require("react"),1);var E=require("react"),Wo=(o,t)=>{let[e,a]=(0,E.useState)(!1),r=o!==void 0,s=()=>{!r&&a(l=>!l)};return(0,E.useEffect)(()=>{r&&a(o)},[r,o]),(0,E.useEffect)(()=>{t&&a(t)},[t,r]),[e,s]};var J={SOLID:"SOLID"},nr={S:"S",XS:"XS"};var Ko=c(require("@emotion/styled"),1),I=require("@emotion/react");var Yo=require("@emotion/react"),F=o=>{if(o)return Yo.css`
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 jo=o=>{switch(o){case"XS":return"body3_400";case"S":return"body2_400";default:return"body2_400"}},ar=({isSelected:o,color:t,radius:e})=>I.css`
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: ${i.neutral150};
121
- border-radius: ${f.borderRadius06};
120
+ background: ${p.neutral150};
121
+ border-radius: ${y.borderRadius06};
122
122
  & > span {
123
- color: ${i.neutral400};
123
+ color: ${p.neutral400};
124
124
  }
125
125
  &:hover {
126
- background: ${i.neutral200};
126
+ background: ${p.neutral200};
127
127
  }
128
128
 
129
- ${e&&I.css`
130
- border-radius: ${f.borderRadius16};
129
+ ${t&&F.css`
130
+ border-radius: ${y.borderRadius16};
131
131
  `};
132
- ${o&&I.css`
133
- background: ${i[t]};
132
+ ${o&&F.css`
133
+ background: ${p[e]};
134
134
  & > span {
135
- color: ${i.neutral0};
135
+ color: ${p.neutral0};
136
136
  }
137
137
  &:hover {
138
- background: ${i[t]};
138
+ background: ${p[e]};
139
139
  }
140
140
  `};
141
- `,Q=Ko.default.button`
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"&&ar(o)};
150
- ${({disabled:o})=>F(o)};
151
- `;var Uo=require("@shoplflow/utils"),ir=({text:o,isSelected:t,defaultSelected:e,color:a="neutral600",styleVar:r=J.SOLID,sizeVar:s,leftSource:l,rightSource:p,onClick:n=Uo.noop,disabled:d=!1,...m})=>{let[y,v]=Wo(t,e);return oo.default.createElement(Q,{...m,color:a,isSelected:y,styleVar:r,sizeVar:s,onClick:x=>{!d&&v(),!d&&n&&n(x)},disabled:d},l,oo.default.createElement(M,{typography:jo(s)},o),p)},Zo=ir;var ao=c(require("react"),1);var Go=c(require("@emotion/styled"),1),$=require("@emotion/react");var eo=(o,t=1)=>{let e=o.replace(/[0-9]|_/g,""),a=o.replace(/[a-z]|_/g,""),r=Number(a)+100*t,s=`${e}${r}`,l=Object.keys(i).filter(m=>m.includes(e)).sort((m,y)=>Number(m.replace(/[a-z]|_/g,""))-Number(y.replace(/[a-z]|_/g,""))),n=Object.keys(i).find(m=>m===s),d=l[l.length-1];return n||d};var qo=o=>{switch(o){case"XS":return"caption_400";case"S":return"body3_400";default:return"body3_400"}},pr=({color:o})=>$.css`
152
- background: ${i.neutral0};
153
- border: 1px solid ${i[o]};
154
- border-radius: ${f.borderRadius20};
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 ${i[eo(o,2)]};
156
+ border: 1px solid ${p[J(o,2)]};
157
157
  }
158
158
  & > span {
159
- color: ${i[eo(o,4)]};
159
+ color: ${p[J(o,4)]};
160
160
  }
161
- `,sr=o=>{switch(o){case"XS":return $.css`
161
+ `,ar=o=>{switch(o){case"XS":return D.css`
162
162
  padding: 4px 8px;
163
- `;case"S":return $.css`
163
+ `;case"S":return D.css`
164
164
  padding: 7px 12px;
165
- `;default:return $.css`
165
+ `;default:return D.css`
166
166
  padding: 7px 12px;
167
- `}},to=Go.default.button`
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&&i[o]};
176
- ${({sizeVar:o})=>sr(o)};
177
- ${o=>o.styleVar==="LINE"&&pr(o)};
178
- ${({disabled:o})=>F(o)};
179
- `;var Jo=require("@shoplflow/utils");var ro={LINE:"LINE"},no={S:"S",XS:"XS"};var lr=({styleVar:o=ro.LINE,color:t="neutral200",sizeVar:e=no.S,text:a,onClick:r=Jo.noop,disabled:s=!1,...l})=>ao.default.createElement(to,{styleVar:o,color:t,...l,onClick:n=>{!s&&r(n)},disabled:s},ao.default.createElement(M,{typography:qo(e)},a)),Qo=lr;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,spacingTokens,typographyTokens,useDomain,useHandleModal,useModalStore,useModalValue,useOutsideClick,useResizeObserver});
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 z,useState as Mo}from"react";var A=({domain:o="SHOPL"})=>{let[t,e]=Mo(void 0);z(()=>{o&&e(o)},[o]),z(()=>{t&&(document.documentElement.dataset.shoplflow=t?.toLowerCase())},[t])};import S from"react";import{create as ko}from"zustand";var y=ko(o=>({modal:[],addModal:(t,e)=>o(a=>({modal:[...a.modal,{component:t,id:e}]})),removeModal:t=>{let{id:e,deps:a=1}=t||{id:void 0,deps:0},n=!!(e&&String(a)),s=!!e,l=!e&&!a,p=!!String(a)&&!e;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(c=>c.id!==e)]}));return}if(l||a===1){o(r=>({modal:[...r.modal.slice(0,-1)]}));return}if(p){o(r=>({modal:[...r.modal.slice(0,-a+1)]}));return}}}));var mr=()=>{let o=y(e=>e.addModal),t=y(e=>e.removeModal);return{addModal:o,removeModal:t}};var yr=()=>({modal:y(t=>t.modal)});import{useCallback as vo,useEffect as Co,useRef as Po}from"react";var _o=(o,t)=>{let e=t??Po(null),a=vo(n=>{e.current?.parentNode&&!e.current?.contains(n.target)&&o(n.target)},[e,o]);return Co(()=>{let n=e.current?.parentNode;if(n)return n.addEventListener("click",a),()=>{n.removeEventListener("click",a)}},[e,a]),{ref:e}},N=_o;import{useEffect as Bo,useState as wo}from"react";var X=(o,t={trackWidth:!0,trackHeight:!0})=>{let[e,a]=wo({width:0,height:0});return Bo(()=>{let n=new ResizeObserver(s=>{s.forEach(l=>{if(l.target===o){let{width:p,height:r}=l.contentRect,d={...e};t.trackWidth&&p!==e.width&&(d.width=p),t.trackHeight&&r!==e.height&&(d.height=r),(d.width!==e.width||d.height!==e.height)&&a(d)}})});return n.observe(o),()=>{n.disconnect()}},[o,t.trackWidth,t.trackHeight,e]),e};import Oo from"react";var F={initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}}};import Eo from"@emotion/styled";import{motion as $o}from"framer-motion";var I=Eo($o.div)`
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 Do=({children:o})=>Oo.createElement(I,{variants:F,initial:"initial",animate:"animate",exit:"exit"},o),W=Do;import{createPortal as Lo}from"react-dom";import{AnimatePresence as Ho,motion as Vo}from"framer-motion";import Ro from"@emotion/styled";var zo=Ro(Vo.div)`
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
- `,Ao=()=>{let o=y(t=>t.modal);return S.createElement(S.Fragment,null,Lo(S.createElement(Ho,null,o.map((t,e)=>S.createElement(W,{key:e},S.createElement(zo,null,t.component)))),document.body))},B=Ao;var No=({children:o,domain:t="SHOPL"})=>(A({domain:t}),w.createElement(w.Fragment,null,w.createElement(B,null),o)),Xo=No;var Fo="var(--font-weight-regular)",Io="var(--font-weight-medium)",Wo="var(--font-weight-bold)",Yo={fontWeightRegular:Fo,fontWeightMedium:Io,fontWeightBold:Wo},Ko="var(--border-radius04)",jo="var(--border-radius06)",Uo="var(--border-radius08)",Zo="var(--border-radius12)",Go="var(--border-radius16)",qo="var(--border-radius20)",m={borderRadius04:Ko,borderRadius06:jo,borderRadius08:Uo,borderRadius12:Zo,borderRadius16:Go,borderRadius20:qo},Jo="var(--coolgray300)",Qo="var(--coolgray200)",oe="var(--coolgray100)",ee="var(--coolgray50)",te="var(--navy400)",re="var(--navy300)",ne="var(--neutral0)",ae="var(--neutral100)",ie="var(--neutral150)",pe="var(--neutral200)",se="var(--neutral300)",le="var(--neutral350)",de="var(--neutral400)",ce="var(--neutral500)",me="var(--neutral600)",fe="var(--neutral700)",ue="var(--neutral400_5)",ye="var(--red300)",ge="var(--red200)",he="var(--red100)",xe="var(--ocean300)",Te="var(--ocean200)",Se="var(--ocean100)",be="var(--purple400)",Me="var(--purple300)",ke="var(--purple100)",ve="var(--yellow300)",Ce="var(--yellow200)",Pe="var(--yellow100)",_e="var(--green300)",Be="var(--green200)",we="var(--green100)",Ee="var(--shopl400)",$e="var(--shopl300)",Oe="var(--shopl200)",De="var(--shopl150)",Le="var(--shopl100)",He="var(--hada400)",Ve="var(--hada300)",Re="var(--hada200)",ze="var(--hada150)",Ae="var(--hada100)",Ne="var(--background)",Xe="var(--primary100)",Fe="var(--primary150)",Ie="var(--primary200)",We="var(--primary300)",Ye="var(--primary400)",i={coolgray300:Jo,coolgray200:Qo,coolgray100:oe,coolgray50:ee,navy400:te,navy300:re,neutral0:ne,neutral100:ae,neutral150:ie,neutral200:pe,neutral300:se,neutral350:le,neutral400:de,neutral500:ce,neutral600:me,neutral700:fe,neutral400_5:ue,red300:ye,red200:ge,red100:he,ocean300:xe,ocean200:Te,ocean100:Se,purple400:be,purple300:Me,purple100:ke,yellow300:ve,yellow200:Ce,yellow100:Pe,green300:_e,green200:Be,green100:we,shopl400:Ee,shopl300:$e,shopl200:Oe,shopl150:De,shopl100:Le,hada400:He,hada300:Ve,hada200:Re,hada150:ze,hada100:Ae,background:Ne,primary100:Xe,primary150:Fe,primary200:Ie,primary300:We,primary400:Ye},Ke="var(--spacing04)",je="var(--spacing06)",Ue="var(--spacing08)",Ze="var(--spacing12)",Ge="var(--spacing16)",qe="var(--spacing20)",Je="var(--spacing24)",Qe="var(--spacing30)",ot="var(--spacing32)",et="var(--spacing40)",E={spacing04:Ke,spacing06:je,spacing08:Ue,spacing12:Ze,spacing16:Ge,spacing20:qe,spacing24:Je,spacing30:Qe,spacing32:ot,spacing40:et},tt="var(--dropShadow)",$={dropShadow:tt},rt=".heading1_700",nt=".heading1_400",at=".heading2_700",it=".heading2_400",pt=".heading3_700",st=".heading3_400",lt=".title1_700",dt=".title1_400",ct=".title2_700",mt=".title2_500",ft=".title2_400",ut=".body1_700",yt=".body1_500",gt=".body1_400",ht=".body2_700",xt=".body2_500",Tt=".body2_400",St=".body3_400",bt=".body3_500",Mt=".caption_400",kt={heading1_700:rt,heading1_400:nt,heading2_700:at,heading2_400:it,heading3_700:pt,heading3_400:st,title1_700:lt,title1_400:dt,title2_700:ct,title2_500:mt,title2_400:ft,body1_700:ut,body1_500:yt,body1_400:gt,body2_700:ht,body2_500:xt,body2_400:Tt,body3_400:St,body3_500:bt,caption_400:Mt};import Ct,{forwardRef as Pt}from"react";import{motion as O}from"framer-motion";import vt from"@emotion/styled";var Y=vt.div`
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&&E[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?i[o]:"transparent"};
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 D=o=>Pt(function({as:e="div",spacing:a=o?.spacing??"spacing08",direction:n=o?.direction??"column",align:s=o?.align??"flex-start",justify:l=o?.justify??"flex-start",width:p=o?.width??"initial",height:r=o?.height??"initial",flexWrap:d=o?.flexWrap??"initial",flex:c=o?.flex??"initial",radius:f=o?.radius,background:x=o?.background,...T},u){return Ct.createElement(Y,{as:e,spacing:a,ref:u,direction:n,align:s,justify:l,width:p,height:r,flexWrap:d,flex:c,background:x,radius:f,...T},T.children)}),h=D();h.Vertical=D({direction:"column"});h.Horizontal=D({direction:"row"});var K=O(h);K.Vertical=O(h.Vertical);K.Horizontal=O(h.Horizontal);var _t=h;import Et,{forwardRef as $t}from"react";import{css as k}from"@emotion/react";import Bt from"@emotion/styled";var wt=o=>k`
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
- `,j=Bt.span`
42
+ `,Y=Tt.span`
43
43
  display: ${({display:o})=>o&&o};
44
44
  align-items: center;
45
- color: ${({color:o})=>o&&i[o]};
46
- ${({lineClamp:o})=>o&&wt(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&&k`
49
+ ${({textDecorations:o})=>o&&C`
50
50
  text-decoration: ${o};
51
51
  `};
52
- ${({opacity:o})=>o&&k`
52
+ ${({opacity:o})=>o&&C`
53
53
  opacity: ${o};
54
54
  `}
55
- ${({wordBreak:o})=>o&&k`
55
+ ${({wordBreak:o})=>o&&C`
56
56
  word-break: ${o};
57
57
  `};
58
- `;var Ot=$t(({children:o,typography:t="body1_400",whiteSpace:e,color:a="neutral700",display:n="inline-block",textAlign:s="start",className:l,...p},r)=>Et.createElement(j,{ref:r,whiteSpace:e,className:l?`${t} ${l}`:t,color:a,display:n,textAlign:s,...p},o)),b=Ot;import g,{Children as Xt}from"react";import M from"@emotion/styled";import{css as U}from"@emotion/react";var Dt=400,Lt=500,Ht=560,Z=640,Vt=768,Rt=1040,zt=1280,L=o=>{switch(o){case"XXS":return Dt;case"XS":return Lt;case"S":return Ht;case"M":return Z;case"L":return Vt;case"XL":return Rt;case"XXL":return zt;default:return Z}},At=o=>o?U`
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
- `:U`
61
+ `:K`
62
62
  padding-top: 24px;
63
63
  padding-bottom: 24px;
64
- `,G=M.div`
64
+ `,U=b.div`
65
65
  display: flex;
66
66
  flex-direction: column;
67
67
  border-radius: ${m.borderRadius08};
68
- background: ${i.neutral0};
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
- `,q=M.div`
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
- `,J=M.div`
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: ${i.neutral0};
91
+ background: ${n.neutral0};
92
92
  min-height: ${({height:o})=>o};
93
93
  flex: 1;
94
- ${({isIncludeHeader:o})=>At(o)}
95
- `,Q=M.div`
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: ${i.neutral0};
104
- `,oo=M.div`
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 ${i.neutral300};
113
- background: ${i.neutral0};
114
- `;var Nt=(p=>(p.XXS="XXS",p.XS="XS",p.S="S",p.M="M",p.L="L",p.XL="XL",p.XXL="XXL",p))(Nt||{}),v=Symbol("MODAL_HEADER"),eo=Symbol("MODAL_BODY"),C=Symbol("MODAL_FOOTER");var to=function(){};var Ft=({children:o,outsideClick:t=to,...e})=>{let a=g.useRef(null);N(t,a);let n=g.Children.toArray(o),s=n.find(r=>{if(!g.isValidElement(r)||r.type[v])return r}),l=n.find(r=>{if(!g.isValidElement(r)||r.type[C])return r}),p=Xt.map(n,r=>g.isValidElement(r)?g.cloneElement(r,{isIncludeHeader:!!s,isIncludeFooter:!!l,sizeVar:e.sizeVar,height:e.height}):r);return g.createElement(G,{ref:a,...e},p)},ro=Ft;import It from"react";var no=({children:o})=>It.createElement(oo,null,o);no[C]=!0;var ao=no;import H,{useCallback as Wt,useMemo as Yt}from"react";import Kt from"react-custom-scrollbars-2";var io=({children:o,isIncludeHeader:t=!1,isIncludeFooter:e=!1,sizeVar:a,height:n})=>{let{height:s}=X(document.body,{trackHeight:!0}),l=64,p=64,r=64,d=Wt(()=>{let u=0;return t&&(u+=l),e&&(u+=p),u},[e,t]),c=Yt(()=>d(),[d]),f=()=>n?n-c:"100%",x=s-r-c,T=1200-r-c;return H.createElement(J,{isIncludeHeader:t,height:f()},H.createElement(Kt,{id:"scrollbar",autoHeight:!n,autoHeightMin:f(),autoHeightMax:s>1200?T:x,autoHide:!0,autoHideTimeout:1e3,autoHideDuration:200,style:{height:"100%",overflow:"hidden"}},H.createElement(Q,{isIncludeHeader:t,sizeVar:a},o)))};io[eo]=!0;var po=io;import jt from"react";var so=({children:o})=>jt.createElement(q,null,o);so[v]=!0;var lo=so;var Qn={Container:ro,Header:lo,Body:po,Footer:ao};import go from"react";import{useEffect as co,useState as Ut}from"react";var mo=(o,t)=>{let[e,a]=Ut(!1),n=o!==void 0,s=()=>{!n&&a(l=>!l)};return co(()=>{n&&a(o)},[n,o]),co(()=>{t&&a(t)},[t,n]),[e,s]};var fo={SOLID:"SOLID"},ia={S:"S",XS:"XS"};import Gt from"@emotion/styled";import{css as V}from"@emotion/react";import{css as Zt}from"@emotion/react";var P=o=>{if(o)return Zt`
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 uo=o=>{switch(o){case"XS":return"body3_400";case"S":return"body2_400";default:return"body2_400"}},qt=({isSelected:o,color:t,radius:e})=>V`
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: ${i.neutral150};
120
+ background: ${n.neutral150};
121
121
  border-radius: ${m.borderRadius06};
122
122
  & > span {
123
- color: ${i.neutral400};
123
+ color: ${n.neutral400};
124
124
  }
125
125
  &:hover {
126
- background: ${i.neutral200};
126
+ background: ${n.neutral200};
127
127
  }
128
128
 
129
- ${e&&V`
129
+ ${t&&H`
130
130
  border-radius: ${m.borderRadius16};
131
131
  `};
132
- ${o&&V`
133
- background: ${i[t]};
132
+ ${o&&H`
133
+ background: ${n[e]};
134
134
  & > span {
135
- color: ${i.neutral0};
135
+ color: ${n.neutral0};
136
136
  }
137
137
  &:hover {
138
- background: ${i[t]};
138
+ background: ${n[e]};
139
139
  }
140
140
  `};
141
- `,yo=Gt.button`
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"&&qt(o)};
150
- ${({disabled:o})=>P(o)};
151
- `;import{noop as Jt}from"@shoplflow/utils";var Qt=({text:o,isSelected:t,defaultSelected:e,color:a="neutral600",styleVar:n=fo.SOLID,sizeVar:s,leftSource:l,rightSource:p,onClick:r=Jt,disabled:d=!1,...c})=>{let[f,x]=mo(t,e);return go.createElement(yo,{...c,color:a,isSelected:f,styleVar:n,sizeVar:s,onClick:u=>{!d&&x(),!d&&r&&r(u)},disabled:d},l,go.createElement(b,{typography:uo(s)},o),p)},or=Qt;import bo from"react";import er from"@emotion/styled";import{css as _}from"@emotion/react";var R=(o,t=1)=>{let e=o.replace(/[0-9]|_/g,""),a=o.replace(/[a-z]|_/g,""),n=Number(a)+100*t,s=`${e}${n}`,l=Object.keys(i).filter(c=>c.includes(e)).sort((c,f)=>Number(c.replace(/[a-z]|_/g,""))-Number(f.replace(/[a-z]|_/g,""))),r=Object.keys(i).find(c=>c===s),d=l[l.length-1];return r||d};var ho=o=>{switch(o){case"XS":return"caption_400";case"S":return"body3_400";default:return"body3_400"}},tr=({color:o})=>_`
152
- background: ${i.neutral0};
153
- border: 1px solid ${i[o]};
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 ${i[R(o,2)]};
156
+ border: 1px solid ${n[R(o,2)]};
157
157
  }
158
158
  & > span {
159
- color: ${i[R(o,4)]};
159
+ color: ${n[R(o,4)]};
160
160
  }
161
- `,rr=o=>{switch(o){case"XS":return _`
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
- `}},xo=er.button`
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&&i[o]};
176
- ${({sizeVar:o})=>rr(o)};
177
- ${o=>o.styleVar==="LINE"&&tr(o)};
178
- ${({disabled:o})=>P(o)};
179
- `;import{noop as nr}from"@shoplflow/utils";var To={LINE:"LINE"},So={S:"S",XS:"XS"};var ar=({styleVar:o=To.LINE,color:t="neutral200",sizeVar:e=So.S,text:a,onClick:n=nr,disabled:s=!1,...l})=>bo.createElement(xo,{styleVar:o,color:t,...l,onClick:r=>{!s&&n(r)},disabled:s},bo.createElement(b,{typography:ho(e)},a)),ir=ar;export{ir as ChipButton,So as ChipButtonSizeVariants,To as ChipButtonStyleVariants,or as ChipToggle,ia as ChipToggleSizeVariants,fo as ChipToggleStyleVariants,eo as MODAL_BODY_KEY,C as MODAL_FOOTER_KEY,v as MODAL_HEADER_KEY,Qn as Modal,B as ModalProvider,Nt as ModalSize,K as MotionStack,Xo as ShoplflowProvider,_t as Stack,yo as StyledChip,xo as StyledChipButton,Y as StyledStack,b as Text,m as borderRadiusTokens,$ as boxShadowTokens,i as colorTokens,Yo as fontWeightTokens,E as spacingTokens,kt as typographyTokens,A as useDomain,mr as useHandleModal,y as useModalStore,yr as useModalValue,_o as useOutsideClick,X as useResizeObserver};
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
- * Ref를 제외한 HTMLProps를 반환합니다.
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.9.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.1.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;
@@ -1,9 +0,0 @@
1
- type ResizeOptions = {
2
- trackWidth?: boolean;
3
- trackHeight?: boolean;
4
- };
5
- export declare const useResizeObserver: <T extends HTMLElement>(element: T, options?: ResizeOptions) => {
6
- width: number;
7
- height: number;
8
- };
9
- export {};
@@ -1 +0,0 @@
1
- export declare const noop: () => void;
@@ -1 +0,0 @@
1
- export type $Values<T extends object> = T[keyof T];