@pop-ui/core 0.0.26 → 0.0.28

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/core.umd.cjs CHANGED
@@ -1 +1,10 @@
1
- (function(n,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@mantine/core"),require("react/jsx-runtime"),require("react"),require("@pop-ui/foundation"),require("dayjs/locale/ko"),require("@mantine/dates"),require("@mantine/dropzone")):typeof define=="function"&&define.amd?define(["exports","@mantine/core","react/jsx-runtime","react","@pop-ui/foundation","dayjs/locale/ko","@mantine/dates","@mantine/dropzone"],s):(n=typeof globalThis<"u"?globalThis:n||self,s(n.Core={},n.MantineCore,n.jsxRuntime,n.React,n.foundation,null,n.dates,n.dropzone))})(this,function(n,s,l,C,e,de,v,Y){"use strict";const z={primary:e.TextColorButtonTextPrimaryDefault,primaryLine:e.TextColorButtonTextPrimarylineDefault,basic:e.TextColorButtonTextBasicDefault,danger:e.TextColorButtonTextPrimaryDefault,setting:e.TextColorButtonTextPrimaryDefault,warning:e.TextColorButtonTextPrimaryDefault},j={primary:{default:{backgroundColor:e.BgColorButtonBgPrimaryDefault,color:e.TextColorButtonTextPrimaryDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgPrimaryHover,color:e.TextColorButtonTextPrimaryHover},active:{backgroundColor:e.BgColorButtonBgPrimaryPressed,color:e.TextColorButtonTextPrimaryPressed},focus:{backgroundColor:e.BgColorButtonBgPrimaryFocused,color:e.TextColorButtonTextPrimaryFocused},disabled:{backgroundColor:e.BgColorButtonBgPrimaryDisabled,color:e.TextColorButtonTextPrimaryDisabled,cursor:"not-allowed"}},primaryLine:{default:{backgroundColor:e.BgColorButtonBgPrimarylineDefault,color:e.TextColorButtonTextPrimarylineDefault,border:`1px solid ${e.BorderColorButtonBorderPrimarylineDefault}`},hover:{backgroundColor:e.BgColorButtonBgPrimarylineHover,color:e.TextColorButtonTextPrimarylineHover,borderColor:e.BorderColorButtonBorderPrimarylineHover},active:{backgroundColor:e.BgColorButtonBgPrimarylinePressed,color:e.TextColorButtonTextPrimarylinePressed,borderColor:e.BorderColorButtonBorderPrimarylinePressed},focus:{backgroundColor:e.BgColorButtonBgPrimarylineFocused,color:e.TextColorButtonTextPrimarylineFocused,borderColor:e.BorderColorButtonBorderPrimarylineFocused},disabled:{backgroundColor:e.BgColorButtonBgPrimarylineDisabled,color:e.TextColorButtonTextPrimarylineDisabled,cursor:"not-allowed"}},basic:{default:{backgroundColor:e.BgColorButtonBgBasicDefault,color:e.TextColorButtonTextBasicDefault,border:`1px solid ${e.BorderColorButtonBorderBasicDefault}`},hover:{backgroundColor:e.BgColorButtonBgBasicHover,color:e.TextColorButtonTextBasicHover,borderColor:e.BorderColorButtonBorderBasicHover},active:{backgroundColor:e.BgColorButtonBgBasicPreseed,color:e.TextColorButtonTextBasicPressed,borderColor:e.BorderColorButtonBorderBasicPressed},focus:{backgroundColor:e.BgColorButtonBgBasicFocused,color:e.TextColorButtonTextBasicFocused,borderColor:e.BorderColorButtonBorderBasicFocused},disabled:{backgroundColor:e.BgColorButtonBgBasicDisabled,color:e.TextColorButtonTextBasicDisabled,cursor:"not-allowed"}},danger:{default:{backgroundColor:e.BgColorButtonBgWarningDefault,color:e.TextColorButtonTextWarningDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgWarningHover,color:e.TextColorButtonTextWarningHover},active:{backgroundColor:e.BgColorButtonBgWarningPressed,color:e.TextColorButtonTextWarningPressed},focus:{backgroundColor:e.BgColorButtonBgWarningFocused,color:e.TextColorButtonTextWarningFocused},disabled:{backgroundColor:e.BgColorButtonBgWarningDisabled,color:e.TextColorButtonTextWarningDisabled,cursor:"not-allowed"}},setting:{default:{backgroundColor:e.BgColorButtonBgSettingDefault,color:e.TextColorButtonTextSettingDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgSettingHover,color:e.TextColorButtonTextSettingHover},active:{backgroundColor:e.BgColorButtonBgSettingPressed,color:e.TextColorButtonTextSettingPressed},focus:{backgroundColor:e.BgColorButtonBgSettingFocused,color:e.TextColorButtonTextSettingFocused},disabled:{backgroundColor:e.BgColorButtonBgSettingDisabled,color:e.TextColorButtonTextSettingDisabled,cursor:"not-allowed"}},warning:{default:{backgroundColor:e.BgColorButtonBgWarningDefault,color:e.TextColorButtonTextWarningDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgWarningHover,color:e.TextColorButtonTextWarningHover},active:{backgroundColor:e.BgColorButtonBgWarningPressed,color:e.TextColorButtonTextWarningPressed},focus:{backgroundColor:e.BgColorButtonBgWarningFocused,color:e.TextColorButtonTextWarningFocused},disabled:{backgroundColor:e.BgColorButtonBgWarningDisabled,color:e.TextColorButtonTextWarningDisabled,cursor:"not-allowed"}}},q={lg:{height:"50px",padding:"0 20px",fontSize:"18px",fontWeight:700,borderRadius:"6px",lineHeight:"130%",fontFamily:"Pretendard"},md:{height:"40px",padding:"0 16px",fontSize:"16px",fontWeight:600,borderRadius:"6px",lineHeight:"130%",fontFamily:"Pretendard"},sm:{height:"30px",padding:"0 12px",fontSize:"14px",fontWeight:600,borderRadius:"4px",lineHeight:"130%",fontFamily:"Pretendard"}};function J(r,a){const o=j[r];return{root:{...q[a],...o.default,"&:hover:not(:disabled)":o.hover,"&:active:not(:disabled)":o.active,"&:focus:not(:disabled)":o.focus,"&:disabled":o.disabled}}}function Z({children:r,size:a="md",variant:o="primary",isLoading:t=!1,disabled:_=!1,...g}){const i=C.useMemo(()=>J(o,a),[o,a]),m=z[o],c=C.useMemo(()=>{switch(a){case"lg":return 18;case"sm":return 14;case"md":default:return 16}},[a]);return l.jsx(s.Button,{type:"button",styles:i,disabled:_||t,...g,children:t?l.jsx(s.Loader,{color:m,size:c}):r})}const T={"TextField--LeftLabel":"styles-module__TextField--LeftLabel___hiNn3","TextField--TopLabel":"styles-module__TextField--TopLabel___V2otc","TextField__Label--Small":"styles-module__TextField__Label--Small___NkKKA","TextField__Label--Medium":"styles-module__TextField__Label--Medium___IoJd-","TextField__Label--Large":"styles-module__TextField__Label--Large___GMy74","TextField__Tooltip--Small":"styles-module__TextField__Tooltip--Small___GmQHE","TextField__Tooltip--Medium":"styles-module__TextField__Tooltip--Medium___5P3nA","TextField__Tooltip--Large":"styles-module__TextField__Tooltip--Large___YSCfu",TextField__Wrapper:"styles-module__TextField__Wrapper___u6p5Z",TextField__TextCounter:"styles-module__TextField__TextCounter___u1jM5","TextField--Textarea":"styles-module__TextField--Textarea___C2DL5","TextField--Small":"styles-module__TextField--Small___iuH4t","TextField--Medium":"styles-module__TextField--Medium___snYod","TextField--Large":"styles-module__TextField--Large___JoSYk",TextField__Description:"styles-module__TextField__Description___J-kXP",TextField__ErrorMsg:"styles-module__TextField__ErrorMsg___fa6f6",TextField__ClearButton:"styles-module__TextField__ClearButton___bB5Ew"},V=r=>{const{label:a,labelPosition:o="top",size:t="md",required:_,tooltip:g,tooltipPosition:i="top",errorMsg:m,description:c,textarea:h=!1,maxTextCount:d,onChange:B,onClear:b,...u}=r,x="minRows"in r?r.minRows:void 0,[y,M]=C.useState(0);let L=T["TextField__Label--Medium"],U=T["TextField--Medium"],H=T["TextField__Tooltip--Medium"];t==="sm"?(L=T["TextField__Label--Small"],U=T["TextField--Small"],H=T["TextField__Tooltip--Small"]):t==="lg"&&(L=T["TextField__Label--Large"],U=T["TextField--Large"],H=T["TextField__Tooltip--Large"]);const O=C.useCallback(F=>{if(d){if(F.currentTarget?.value?.length>d)return;M(F.currentTarget?.value?.length),B&&B(F)}B&&(M(F.currentTarget?.value?.length),B(F))},[d,B]);return l.jsxs("div",{className:o==="top"?T["TextField--TopLabel"]:T["TextField--LeftLabel"],children:[l.jsxs("div",{children:[a&&l.jsx(s.Input.Label,{required:_,className:L,children:a}),g&&l.jsx(s.Tooltip,{label:g,position:i,children:l.jsx("div",{className:H,children:l.jsx(e.IconInfoCircle,{size:t==="sm"?14:t==="lg"?20:16})})})]}),l.jsxs("div",{children:[l.jsxs("div",{className:T.TextField__Wrapper,children:[h?l.jsx(s.Textarea,{className:T["TextField--Textarea"],size:t,minRows:x,error:m,onChange:O,disabled:u?.disabled,...u}):l.jsx(s.Input,{className:U,error:m,onChange:O,rightSection:b&&y>0?l.jsx("div",{className:T.TextField__ClearButton,onClick:b,children:l.jsx(e.IconClose,{size:t==="sm"?16:t==="lg"?24:20})}):void 0,...u}),d&&d>0&&l.jsx("span",{className:T.TextField__TextCounter,children:`${y}/${d}`})]}),c&&l.jsx(s.Input.Description,{className:T.TextField__Description,children:c}),m&&l.jsx(s.Input.Error,{className:T.TextField__ErrorMsg,children:m})]})]})},p={"SearchBar--LeftLabel":"styles-module__SearchBar--LeftLabel___CeYTM","SearchBar--TopLabel":"styles-module__SearchBar--TopLabel___spN3I","SearchBar__Label--Small":"styles-module__SearchBar__Label--Small___zS1L2","SearchBar__Label--Medium":"styles-module__SearchBar__Label--Medium___Fk0Ao","SearchBar__Label--Large":"styles-module__SearchBar__Label--Large___xTOYL","SearchBar__Tooltip--Small":"styles-module__SearchBar__Tooltip--Small___YhmEr","SearchBar__Tooltip--Medium":"styles-module__SearchBar__Tooltip--Medium___4JhOv","SearchBar__Tooltip--Large":"styles-module__SearchBar__Tooltip--Large___IEoPv",SearchBar__Wrapper:"styles-module__SearchBar__Wrapper___oq49s","SearchBar--Small":"styles-module__SearchBar--Small___SY9CN","SearchBar--Medium":"styles-module__SearchBar--Medium___vLP08","SearchBar--Large":"styles-module__SearchBar--Large___JHfHP",SearchBar__Description:"styles-module__SearchBar__Description___vucS-",SearchBar__ErrorMsg:"styles-module__SearchBar__ErrorMsg___TOeoy",SearchBar__ClearButton:"styles-module__SearchBar__ClearButton___S-y4P"},G=({label:r,labelPosition:a="top",size:o="md",required:t,tooltip:_,tooltipPosition:g="top",errorMsg:i,description:m,onChange:c,onClear:h,...d})=>{const[B,b]=C.useState(0);let u=p["SearchBar__Label--Medium"],x=p["SearchBar--Medium"],y=p["SearchBar__Tooltip--Medium"];o==="sm"?(u=p["SearchBar__Label--Small"],x=p["SearchBar--Small"],y=p["SearchBar__Tooltip--Small"]):o==="lg"&&(u=p["SearchBar__Label--Large"],x=p["SearchBar--Large"],y=p["SearchBar__Tooltip--Large"]);const M=C.useCallback(L=>{c&&(b(L?.length),c(L))},[c]);return l.jsxs("div",{className:a==="top"?p["SearchBar--TopLabel"]:p["SearchBar--LeftLabel"],children:[l.jsxs("div",{children:[r&&l.jsx(s.Input.Label,{required:t,className:u,children:r}),_&&l.jsx(s.Tooltip,{label:_,position:g,children:l.jsx("div",{className:y,children:l.jsx(e.IconInfoCircle,{size:o==="sm"?14:o==="lg"?20:16})})})]}),l.jsxs("div",{children:[l.jsx("div",{className:p.SearchBar__Wrapper,children:l.jsx(s.Autocomplete,{...d,size:o,error:i,className:x,onChange:M,leftSection:l.jsx(e.IconSearch,{size:o==="sm"?16:o==="lg"?24:20}),rightSection:h&&B>0?l.jsx("div",{className:p.SearchBar__ClearButton,onClick:h,children:l.jsx(e.IconClose,{size:o==="sm"?16:o==="lg"?24:20})}):void 0})}),m&&l.jsx(s.Input.Description,{className:p.SearchBar__Description,children:m}),i&&l.jsx(s.Input.Error,{className:p.SearchBar__ErrorMsg,children:i})]})]})},S={"Dropdown--LeftLabel":"styles-module__Dropdown--LeftLabel___SFObq","Dropdown--TopLabel":"styles-module__Dropdown--TopLabel___-lPhr","Dropdown__Label--Small":"styles-module__Dropdown__Label--Small___xbzOR","Dropdown__Label--Medium":"styles-module__Dropdown__Label--Medium___YtJ2-","Dropdown__Label--Large":"styles-module__Dropdown__Label--Large___sCiJv","Dropdown__Tooltip--Small":"styles-module__Dropdown__Tooltip--Small___rkmaO","Dropdown__Tooltip--Medium":"styles-module__Dropdown__Tooltip--Medium___JTfzy","Dropdown__Tooltip--Large":"styles-module__Dropdown__Tooltip--Large___W-sUq","Dropdown--Small":"styles-module__Dropdown--Small___dRIK7","Dropdown--Medium":"styles-module__Dropdown--Medium___-HZoU","Dropdown--Large":"styles-module__Dropdown--Large___BvV3M",Dropdown__Description:"styles-module__Dropdown__Description___OQ8bF",Dropdown__ErrorMsg:"styles-module__Dropdown__ErrorMsg___xTP0Y"},Q=({label:r,labelPosition:a="top",size:o="md",required:t,tooltip:_,tooltipPosition:g="top",errorMsg:i,description:m,...c})=>{const[h,d]=C.useState(!1);let B=S["Dropdown__Label--Medium"],b=S["Dropdown--Medium"],u=S["Dropdown__Tooltip--Medium"],x=18;return o==="sm"?(B=S["Dropdown__Label--Small"],b=S["Dropdown--Small"],u=S["Dropdown__Tooltip--Small"],x=14):o==="lg"&&(B=S["Dropdown__Label--Large"],b=S["Dropdown--Large"],u=S["Dropdown__Tooltip--Large"],x=24),l.jsxs("div",{className:a==="top"?S["Dropdown--TopLabel"]:S["Dropdown--LeftLabel"],children:[l.jsxs("div",{children:[r&&l.jsx(s.Input.Label,{required:t,className:B,children:r}),_&&l.jsx(s.Tooltip,{label:_,position:g,children:l.jsx("div",{className:u,children:l.jsx(e.IconInfoCircle,{size:o==="sm"?14:o==="lg"?20:16})})})]}),l.jsxs("div",{children:[l.jsx(s.Select,{...c,size:o,error:i,className:b,rightSection:h?l.jsx(e.IconChevronUp,{size:x}):l.jsx(e.IconChevronDown,{size:x}),onDropdownOpen:()=>d(!0),onDropdownClose:()=>d(!1),styles:{option:{"&[data-selected]":{"&, &:hover":{backgroundColor:"#e7e7e7",color:"#000000"}}}}}),m&&l.jsx(s.Input.Description,{className:S.Dropdown__Description,children:m}),i&&l.jsx(s.Input.Error,{className:S.Dropdown__ErrorMsg,children:i})]})]})},w={"Checkbox--Small":"styles-module__Checkbox--Small___VZGlw","Checkbox--Medium":"styles-module__Checkbox--Medium___Vwpa3","Checkbox--Large":"styles-module__Checkbox--Large___ybTGE"},K=({size:r="md",...a})=>{let o=w["Checkbox--Medium"],t=24;return r==="sm"?(o=w["Checkbox--Small"],t=18):r==="lg"&&(o=w["Checkbox--Large"],t=32),l.jsx(s.Checkbox,{className:o,styles:{inner:{width:t,height:t}},...a})},I={"Radio--Small":"styles-module__Radio--Small___izWI2","Radio--Medium":"styles-module__Radio--Medium___dwZfV","Radio--Large":"styles-module__Radio--Large___1gLra"},X=({size:r="md",...a})=>{let o=I["Radio--Medium"];return r==="sm"?o=I["Radio--Small"]:r==="lg"&&(o=I["Radio--Large"]),l.jsx(s.Radio,{className:o,size:r,...a})},f={"Toggle--Small":"styles-module__Toggle--Small___sOjUd","Toggle--Medium":"styles-module__Toggle--Medium___yIb8v","Toggle--Large":"styles-module__Toggle--Large___ZOJj1"},R=({size:r="md",labelPosition:a="right",disabled:o,onChange:t,..._})=>{const[g,i]=C.useState(_?.checked||!1);let m=f["Toggle--Medium"],c=50;r==="sm"?(m=f["Toggle--Small"],c=38):r==="lg"&&(m=f["Toggle--Large"],c=67);const h=C.useCallback(d=>{t&&t(d),i(d?.target?.checked)},[t]);return l.jsx(s.Switch,{className:m,size:r,labelPosition:a,disabled:o,onChange:h,styles:()=>({track:{backgroundColor:!o&&g?"#0fd3d8 !important":void 0,borderColor:!o&&g?"#0fd3d8 !important":void 0,width:c}}),..._})},N={"DatePicker--Small":"styles-module__DatePicker--Small___m8asv","DatePicker--Medium":"styles-module__DatePicker--Medium___Po2-B","DatePicker--Large":"styles-module__DatePicker--Large___oQ6EM"},ee=({size:r="md",type:a="default",withTime:o,...t})=>{let _=N["DatePicker--Medium"],g=18;return r==="sm"?(_=N["DatePicker--Small"],g=14):r==="lg"&&(_=N["DatePicker--Large"],g=24),o?l.jsx(v.DateTimePicker,{className:_,size:r,locale:"ko",firstDayOfWeek:0,monthLabelFormat:"YYYY년 MM월",valueFormat:"YYYY-MM-DD | a hh:mm",rightSection:l.jsx(e.IconCalendar,{size:g}),...t}):l.jsx(v.DatePickerInput,{className:_,type:a,size:r,locale:"ko",firstDayOfWeek:0,monthLabelFormat:"YYYY년 MM월",valueFormat:"YYYY-MM-DD",rightSection:l.jsx(e.IconCalendar,{size:g}),...t})},W={"TimePicker--Small":"styles-module__TimePicker--Small___nHQa1","TimePicker--Medium":"styles-module__TimePicker--Medium___E9-rF","TimePicker--Large":"styles-module__TimePicker--Large___I0M7V"},le=({size:r="md",...a})=>{const o=C.useRef(null);let t=W["TimePicker--Medium"],_=18;return r==="sm"?(t=W["TimePicker--Small"],_=14):r==="lg"&&(t=W["TimePicker--Large"],_=24),l.jsx(v.TimeInput,{ref:o,className:t,size:r,...a,rightSection:l.jsx(s.ActionIcon,{onClick:()=>{o&&o?.current?.showPicker()},children:l.jsx(e.IconClock,{size:_})})})},D={Pagination:"style-module__Pagination___xcR-Q",Pagination__PageIndex:"style-module__Pagination__PageIndex___50SZJ","Pagination__PageIndex--Active":"style-module__Pagination__PageIndex--Active___mSIwS",Pagination__Arrow:"style-module__Pagination__Arrow___74vp3"},oe=({currentPageIdx:r,rowsPerPage:a,totalLength:o,paginationSize:t,onPageChange:_,...g})=>{const[i,m]=C.useState(r),c=a||50,h=o||1,d=t||5;C.useEffect(()=>{m(r)},[r]);const B=()=>{_&&_(i-(i%d+1)),m(u=>u-(u%d+1))},b=()=>{_&&_(i+d-i%d),m(u=>u+d-u%d)};return l.jsxs("div",{...g,className:D.Pagination,children:[i>=d?l.jsx("button",{className:D.Pagination__Arrow,onClick:B,children:l.jsx(e.IconChevronLeft,{size:20})}):null,new Array(d).fill(0).map((u,x)=>{const y=Math.floor(i/d)*d+x+1;if(!(y>Math.ceil(h/c)))return l.jsx("button",{className:i===y-1?D["Pagination__PageIndex--Active"]:D.Pagination__PageIndex,onClick:()=>{m(y-1),_&&_(y-1)},children:y},`pagination_${x}`)}),Math.floor(i/d)*d+d<Math.ceil(h/c)?l.jsx("button",{className:D.Pagination__Arrow,onClick:b,children:l.jsx(e.IconChevronRight,{size:20})}):null]})},$={Tab__TitleList:"styles-module__Tab__TitleList___urHWH",Tab__BorderBottom:"styles-module__Tab__BorderBottom___eMTpl"},re=({tabList:r=[],containerPaddingTop:a,...o})=>l.jsxs(s.Tabs,{...o,children:[l.jsx(s.Tabs.List,{className:$.Tab__TitleList,children:r?.map((t,_)=>l.jsxs(s.Tabs.Tab,{value:t.value,leftSection:t.icon,children:[t.title,l.jsx("div",{className:$.Tab__BorderBottom})]},`tab_${_}`))}),r?.map((t,_)=>l.jsx(s.Tabs.Panel,{value:t.value,pt:a,children:t.body},`tab_panel_${_}`))]}),E={"SegmentButton--Small":"styles-module__SegmentButton--Small___o0Y3t","SegmentButton--Medium":"styles-module__SegmentButton--Medium___EgCJm","SegmentButton--Large":"styles-module__SegmentButton--Large___Ym86C"},te=({size:r="md",radius:a=6,...o})=>{let t=E["SegmentButton--Medium"];return r==="sm"?t=E["SegmentButton--Small"]:r==="lg"&&(t=E["SegmentButton--Large"]),l.jsx(s.SegmentedControl,{className:t,size:r,radius:a,styles:{control:{borderWidth:"0 !important"}},...o})},P={"Alert--LightSuccess":"styles-module__Alert--LightSuccess___902eZ","Alert--LightError":"styles-module__Alert--LightError___dZyI0","Alert--FillSuccess":"styles-module__Alert--FillSuccess___HMMWU","Alert--FillError":"styles-module__Alert--FillError___A5LPQ"},_e=({visible:r=!1,type:a="success",variant:o="light",top:t=48,right:_=48,...g})=>{let i=P["Alert--LightSuccess"];return o==="fill"?a==="success"?i=P["Alert--FillSuccess"]:a==="error"&&(i=P["Alert--FillError"]):a==="success"?i=P["Alert--LightSuccess"]:a==="error"&&(i=P["Alert--LightError"]),r?l.jsx(s.Alert,{className:i,icon:a==="success"?l.jsx(e.IconCheckCircle,{size:20}):l.jsx(e.IconWarningCircle,{size:20}),styles:{title:{marginBottom:g?.children?void 0:0}},pos:"fixed",top:t,right:_,...g}):null},A={Tooltip__Body:"styles-module__Tooltip__Body___i1OTG",Tooltip__Title:"styles-module__Tooltip__Title___E0LoV",Tooltip__Content:"styles-module__Tooltip__Content___lU5gr"},ae=({title:r,content:a,maw:o=280,multiline:t=!0,..._})=>l.jsx(s.Tooltip,{..._,maw:o,multiline:t,label:l.jsxs("div",{className:A.Tooltip__Body,children:[r&&l.jsx("span",{className:A.Tooltip__Title,children:r}),l.jsx("span",{className:A.Tooltip__Content,children:a})]})}),se=({size:r="md",width:a,withCloseButton:o=!1,...t})=>{let _=768;return r==="xs"?_=360:r==="sm"?_=544:r==="lg"?_=1e3:r==="xl"&&(_=1200),l.jsx(s.Modal,{size:a||_,withCloseButton:o,...t})},k={ImageUploader:"styles-module__ImageUploader___pO3AP",ImageUploader__Preview:"styles-module__ImageUploader__Preview___DI5K4",ImageUploader__Wrapper:"styles-module__ImageUploader__Wrapper___SpAGM",ImageUploader__FileClearButton:"styles-module__ImageUploader__FileClearButton___w1HyS"},ie=({width:r,height:a,defaultMsg:o="이미지 업로드",file:t,onDrop:_,showClearButton:g,onClear:i,...m})=>{const[c,h]=C.useState(t),d=C.useCallback(()=>{h(void 0),i&&i()},[i]);return l.jsxs("div",{className:k.ImageUploader__Wrapper,children:[g&&c?l.jsx("div",{className:k.ImageUploader__FileClearButton,onClick:d,children:l.jsx(e.IconCloseCircle,{size:24})}):null,l.jsx(Y.Dropzone,{...m,maxFiles:1,className:k.ImageUploader,accept:Y.IMAGE_MIME_TYPE,onDrop:B=>{h(B[0]),_&&_(B)},style:{width:r,height:a},children:l.jsx(l.Fragment,{children:c?l.jsx("img",{className:k.ImageUploader__Preview,src:typeof c=="string"?c:URL.createObjectURL(c),alt:`파일명: ${typeof c=="string"?c:c.name}`,title:`파일명: ${typeof c=="string"?c:c.name}`}):l.jsxs("div",{children:[l.jsx(e.IconPhoto,{size:48}),l.jsx("span",{children:o})]})})})]})};Object.defineProperty(n,"PopUiProvider",{enumerable:!0,get:()=>s.MantineProvider}),n.Alert=_e,n.Button=Z,n.Checkbox=K,n.DatePicker=ee,n.Dropdown=Q,n.ImageUploader=ie,n.Modal=se,n.Pagination=oe,n.Radio=X,n.SearchBar=G,n.SegmentButton=te,n.Tab=re,n.TextField=V,n.TimePicker=le,n.Toggle=R,n.Tooltip=ae,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ (function(n,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("react/jsx-runtime"),require("@mantine/core"),require("react"),require("@pop-ui/foundation"),require("@mantine/notifications"),require("dayjs/locale/ko"),require("@mantine/dates"),require("@mantine/dropzone")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@mantine/core","react","@pop-ui/foundation","@mantine/notifications","dayjs/locale/ko","@mantine/dates","@mantine/dropzone"],l):(n=typeof globalThis<"u"?globalThis:n||self,l(n.Core={},n.jsxRuntime,n.MantineCore,n.React,n.foundation,n.notifications,null,n.dates,n.dropzone))})(this,function(n,l,i,T,e,O,pe,w,A){"use strict";const J={primary:e.TextColorButtonTextPrimaryDefault,primaryLine:e.TextColorButtonTextPrimarylineDefault,basic:e.TextColorButtonTextBasicDefault,danger:e.TextColorButtonTextPrimaryDefault,setting:e.TextColorButtonTextPrimaryDefault,warning:e.TextColorButtonTextPrimaryDefault},Z={primary:{default:{backgroundColor:e.BgColorButtonBgPrimaryDefault,color:e.TextColorButtonTextPrimaryDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgPrimaryHover,color:e.TextColorButtonTextPrimaryHover},active:{backgroundColor:e.BgColorButtonBgPrimaryPressed,color:e.TextColorButtonTextPrimaryPressed},focus:{backgroundColor:e.BgColorButtonBgPrimaryFocused,color:e.TextColorButtonTextPrimaryFocused},disabled:{backgroundColor:e.BgColorButtonBgPrimaryDisabled,color:e.TextColorButtonTextPrimaryDisabled,cursor:"not-allowed"}},primaryLine:{default:{backgroundColor:e.BgColorButtonBgPrimarylineDefault,color:e.TextColorButtonTextPrimarylineDefault,border:`1px solid ${e.BorderColorButtonBorderPrimarylineDefault}`},hover:{backgroundColor:e.BgColorButtonBgPrimarylineHover,color:e.TextColorButtonTextPrimarylineHover,borderColor:e.BorderColorButtonBorderPrimarylineHover},active:{backgroundColor:e.BgColorButtonBgPrimarylinePressed,color:e.TextColorButtonTextPrimarylinePressed,borderColor:e.BorderColorButtonBorderPrimarylinePressed},focus:{backgroundColor:e.BgColorButtonBgPrimarylineFocused,color:e.TextColorButtonTextPrimarylineFocused,borderColor:e.BorderColorButtonBorderPrimarylineFocused},disabled:{backgroundColor:e.BgColorButtonBgPrimarylineDisabled,color:e.TextColorButtonTextPrimarylineDisabled,cursor:"not-allowed"}},basic:{default:{backgroundColor:e.BgColorButtonBgBasicDefault,color:e.TextColorButtonTextBasicDefault,border:`1px solid ${e.BorderColorButtonBorderBasicDefault}`},hover:{backgroundColor:e.BgColorButtonBgBasicHover,color:e.TextColorButtonTextBasicHover,borderColor:e.BorderColorButtonBorderBasicHover},active:{backgroundColor:e.BgColorButtonBgBasicPreseed,color:e.TextColorButtonTextBasicPressed,borderColor:e.BorderColorButtonBorderBasicPressed},focus:{backgroundColor:e.BgColorButtonBgBasicFocused,color:e.TextColorButtonTextBasicFocused,borderColor:e.BorderColorButtonBorderBasicFocused},disabled:{backgroundColor:e.BgColorButtonBgBasicDisabled,color:e.TextColorButtonTextBasicDisabled,cursor:"not-allowed"}},danger:{default:{backgroundColor:e.BgColorButtonBgWarningDefault,color:e.TextColorButtonTextWarningDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgWarningHover,color:e.TextColorButtonTextWarningHover},active:{backgroundColor:e.BgColorButtonBgWarningPressed,color:e.TextColorButtonTextWarningPressed},focus:{backgroundColor:e.BgColorButtonBgWarningFocused,color:e.TextColorButtonTextWarningFocused},disabled:{backgroundColor:e.BgColorButtonBgWarningDisabled,color:e.TextColorButtonTextWarningDisabled,cursor:"not-allowed"}},setting:{default:{backgroundColor:e.BgColorButtonBgSettingDefault,color:e.TextColorButtonTextSettingDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgSettingHover,color:e.TextColorButtonTextSettingHover},active:{backgroundColor:e.BgColorButtonBgSettingPressed,color:e.TextColorButtonTextSettingPressed},focus:{backgroundColor:e.BgColorButtonBgSettingFocused,color:e.TextColorButtonTextSettingFocused},disabled:{backgroundColor:e.BgColorButtonBgSettingDisabled,color:e.TextColorButtonTextSettingDisabled,cursor:"not-allowed"}},warning:{default:{backgroundColor:e.BgColorButtonBgWarningDefault,color:e.TextColorButtonTextWarningDefault,border:"none"},hover:{backgroundColor:e.BgColorButtonBgWarningHover,color:e.TextColorButtonTextWarningHover},active:{backgroundColor:e.BgColorButtonBgWarningPressed,color:e.TextColorButtonTextWarningPressed},focus:{backgroundColor:e.BgColorButtonBgWarningFocused,color:e.TextColorButtonTextWarningFocused},disabled:{backgroundColor:e.BgColorButtonBgWarningDisabled,color:e.TextColorButtonTextWarningDisabled,cursor:"not-allowed"}}},G={lg:{height:"50px",padding:"0 20px",fontSize:"18px",fontWeight:700,borderRadius:"6px",lineHeight:"130%",fontFamily:"Pretendard"},md:{height:"40px",padding:"0 16px",fontSize:"16px",fontWeight:600,borderRadius:"6px",lineHeight:"130%",fontFamily:"Pretendard"},sm:{height:"30px",padding:"0 12px",fontSize:"14px",fontWeight:600,borderRadius:"4px",lineHeight:"130%",fontFamily:"Pretendard"}};function K(t,_){const o=Z[t];return{root:{...G[_],...o.default,"&:hover:not(:disabled)":o.hover,"&:active:not(:disabled)":o.active,"&:focus:not(:disabled)":o.focus,"&:disabled":o.disabled}}}function Q({children:t,size:_="md",variant:o="primary",isLoading:r=!1,disabled:a=!1,...g}){const s=T.useMemo(()=>K(o,_),[o,_]),m=J[o],d=T.useMemo(()=>{switch(_){case"lg":return 18;case"sm":return 14;case"md":default:return 16}},[_]);return l.jsx(i.Button,{type:"button",styles:s,disabled:a||r,...g,children:r?l.jsx(i.Loader,{color:m,size:d}):t})}const I={"Checkbox--Small":"styles-module__Checkbox--Small___VZGlw","Checkbox--Medium":"styles-module__Checkbox--Medium___Vwpa3","Checkbox--Large":"styles-module__Checkbox--Large___ybTGE"},X=({size:t="md",..._})=>{let o=I["Checkbox--Medium"],r=24;return t==="sm"?(o=I["Checkbox--Small"],r=18):t==="lg"&&(o=I["Checkbox--Large"],r=32),l.jsx(i.Checkbox,{className:o,styles:{inner:{width:r,height:r}},..._})},f={"DatePicker--Small":"styles-module__DatePicker--Small___m8asv","DatePicker--Medium":"styles-module__DatePicker--Medium___Po2-B","DatePicker--Large":"styles-module__DatePicker--Large___oQ6EM"},R=({size:t="md",type:_="default",withTime:o,...r})=>{let a=f["DatePicker--Medium"],g=18;return t==="sm"?(a=f["DatePicker--Small"],g=14):t==="lg"&&(a=f["DatePicker--Large"],g=24),o?l.jsx(w.DateTimePicker,{className:a,size:t,locale:"ko",firstDayOfWeek:0,monthLabelFormat:"YYYY년 MM월",valueFormat:"YYYY-MM-DD | a hh:mm",rightSection:l.jsx(e.IconCalendar,{size:g}),...r}):l.jsx(w.DatePickerInput,{className:a,type:_,size:t,locale:"ko",firstDayOfWeek:0,monthLabelFormat:"YYYY년 MM월",valueFormat:"YYYY-MM-DD",rightSection:l.jsx(e.IconCalendar,{size:g}),...r})},S={"Dropdown--LeftLabel":"styles-module__Dropdown--LeftLabel___SFObq","Dropdown--TopLabel":"styles-module__Dropdown--TopLabel___-lPhr","Dropdown__Label--Small":"styles-module__Dropdown__Label--Small___xbzOR","Dropdown__Label--Medium":"styles-module__Dropdown__Label--Medium___YtJ2-","Dropdown__Label--Large":"styles-module__Dropdown__Label--Large___sCiJv","Dropdown__Tooltip--Small":"styles-module__Dropdown__Tooltip--Small___rkmaO","Dropdown__Tooltip--Medium":"styles-module__Dropdown__Tooltip--Medium___JTfzy","Dropdown__Tooltip--Large":"styles-module__Dropdown__Tooltip--Large___W-sUq","Dropdown--Small":"styles-module__Dropdown--Small___dRIK7","Dropdown--Medium":"styles-module__Dropdown--Medium___-HZoU","Dropdown--Large":"styles-module__Dropdown--Large___BvV3M",Dropdown__Description:"styles-module__Dropdown__Description___OQ8bF",Dropdown__ErrorMsg:"styles-module__Dropdown__ErrorMsg___xTP0Y"},ee=({label:t,labelPosition:_="top",size:o="md",required:r,tooltip:a,tooltipPosition:g="top",errorMsg:s,description:m,...d})=>{const[p,c]=T.useState(!1);let h=S["Dropdown__Label--Medium"],x=S["Dropdown--Medium"],u=S["Dropdown__Tooltip--Medium"],y=18;return o==="sm"?(h=S["Dropdown__Label--Small"],x=S["Dropdown--Small"],u=S["Dropdown__Tooltip--Small"],y=14):o==="lg"&&(h=S["Dropdown__Label--Large"],x=S["Dropdown--Large"],u=S["Dropdown__Tooltip--Large"],y=24),l.jsxs("div",{className:_==="top"?S["Dropdown--TopLabel"]:S["Dropdown--LeftLabel"],children:[l.jsxs("div",{children:[t&&l.jsx(i.Input.Label,{required:r,className:h,children:t}),a&&l.jsx(i.Tooltip,{label:a,position:g,children:l.jsx("div",{className:u,children:l.jsx(e.IconInfoCircle,{size:o==="sm"?14:o==="lg"?20:16})})})]}),l.jsxs("div",{children:[l.jsx(i.Select,{...d,size:o,error:s,className:x,rightSection:p?l.jsx(e.IconChevronUp,{size:y}):l.jsx(e.IconChevronDown,{size:y}),onDropdownOpen:()=>c(!0),onDropdownClose:()=>c(!1),styles:{option:{"&[data-selected]":{"&, &:hover":{backgroundColor:"#e7e7e7",color:"#000000"}}}}}),m&&l.jsx(i.Input.Description,{className:S.Dropdown__Description,children:m}),s&&l.jsx(i.Input.Error,{className:S.Dropdown__ErrorMsg,children:s})]})]})},F={ImageUploader:"styles-module__ImageUploader___pO3AP",ImageUploader__Preview:"styles-module__ImageUploader__Preview___DI5K4",ImageUploader__Wrapper:"styles-module__ImageUploader__Wrapper___SpAGM",ImageUploader__FileClearButton:"styles-module__ImageUploader__FileClearButton___w1HyS"},oe=({width:t,height:_,defaultMsg:o="이미지 업로드",file:r,onDrop:a,showClearButton:g,onClear:s,...m})=>{const[d,p]=T.useState(r),c=T.useCallback(()=>{p(void 0),s&&s()},[s]);return l.jsxs("div",{className:F.ImageUploader__Wrapper,children:[g&&d?l.jsx("div",{className:F.ImageUploader__FileClearButton,onClick:c,children:l.jsx(e.IconCloseCircle,{size:24})}):null,l.jsx(A.Dropzone,{...m,maxFiles:1,className:F.ImageUploader,accept:A.IMAGE_MIME_TYPE,onDrop:h=>{p(h[0]),a&&a(h)},style:{width:t,height:_},children:l.jsx(l.Fragment,{children:d?l.jsx("img",{className:F.ImageUploader__Preview,src:typeof d=="string"?d:URL.createObjectURL(d),alt:`파일명: ${typeof d=="string"?d:d.name}`,title:`파일명: ${typeof d=="string"?d:d.name}`}):l.jsxs("div",{children:[l.jsx(e.IconPhoto,{size:48}),l.jsx("span",{children:o})]})})})]})},le=({size:t="md",width:_,withCloseButton:o=!1,...r})=>{let a=768;return t==="xs"?a=360:t==="sm"?a=544:t==="lg"?a=1e3:t==="xl"&&(a=1200),l.jsx(i.Modal,{size:_||a,withCloseButton:o,...r})},D={Pagination:"style-module__Pagination___xcR-Q",Pagination__PageIndex:"style-module__Pagination__PageIndex___50SZJ","Pagination__PageIndex--Active":"style-module__Pagination__PageIndex--Active___mSIwS",Pagination__Arrow:"style-module__Pagination__Arrow___74vp3"},te=({currentPageIdx:t,rowsPerPage:_,totalLength:o,paginationSize:r,onPageChange:a,...g})=>{const[s,m]=T.useState(t),d=_||50,p=o||1,c=r||5;T.useEffect(()=>{m(t)},[t]);const h=()=>{a&&a(s-(s%c+1)),m(u=>u-(u%c+1))},x=()=>{a&&a(s+c-s%c),m(u=>u+c-u%c)};return l.jsxs("div",{...g,className:D.Pagination,children:[s>=c?l.jsx("button",{className:D.Pagination__Arrow,onClick:h,children:l.jsx(e.IconChevronLeft,{size:20})}):null,new Array(c).fill(0).map((u,y)=>{const b=Math.floor(s/c)*c+y+1;if(!(b>Math.ceil(p/d)))return l.jsx("button",{className:s===b-1?D["Pagination__PageIndex--Active"]:D.Pagination__PageIndex,onClick:()=>{m(b-1),a&&a(b-1)},children:b},`pagination_${y}`)}),Math.floor(s/c)*c+c<Math.ceil(p/d)?l.jsx("button",{className:D.Pagination__Arrow,onClick:x,children:l.jsx(e.IconChevronRight,{size:20})}):null]})},N={"Radio--Small":"styles-module__Radio--Small___izWI2","Radio--Medium":"styles-module__Radio--Medium___dwZfV","Radio--Large":"styles-module__Radio--Large___1gLra"},re=({size:t="md",..._})=>{let o=N["Radio--Medium"];return t==="sm"?o=N["Radio--Small"]:t==="lg"&&(o=N["Radio--Large"]),l.jsx(i.Radio,{className:o,size:t,..._})},C={"SearchBar--LeftLabel":"styles-module__SearchBar--LeftLabel___CeYTM","SearchBar--TopLabel":"styles-module__SearchBar--TopLabel___spN3I","SearchBar__Label--Small":"styles-module__SearchBar__Label--Small___zS1L2","SearchBar__Label--Medium":"styles-module__SearchBar__Label--Medium___Fk0Ao","SearchBar__Label--Large":"styles-module__SearchBar__Label--Large___xTOYL","SearchBar__Tooltip--Small":"styles-module__SearchBar__Tooltip--Small___YhmEr","SearchBar__Tooltip--Medium":"styles-module__SearchBar__Tooltip--Medium___4JhOv","SearchBar__Tooltip--Large":"styles-module__SearchBar__Tooltip--Large___IEoPv",SearchBar__Wrapper:"styles-module__SearchBar__Wrapper___oq49s","SearchBar--Small":"styles-module__SearchBar--Small___SY9CN","SearchBar--Medium":"styles-module__SearchBar--Medium___vLP08","SearchBar--Large":"styles-module__SearchBar--Large___JHfHP",SearchBar__Description:"styles-module__SearchBar__Description___vucS-",SearchBar__ErrorMsg:"styles-module__SearchBar__ErrorMsg___TOeoy",SearchBar__ClearButton:"styles-module__SearchBar__ClearButton___S-y4P"},ae=({label:t,labelPosition:_="top",size:o="md",required:r,tooltip:a,tooltipPosition:g="top",errorMsg:s,description:m,onChange:d,onClear:p,...c})=>{const[h,x]=T.useState(0);let u=C["SearchBar__Label--Medium"],y=C["SearchBar--Medium"],b=C["SearchBar__Tooltip--Medium"];o==="sm"?(u=C["SearchBar__Label--Small"],y=C["SearchBar--Small"],b=C["SearchBar__Tooltip--Small"]):o==="lg"&&(u=C["SearchBar__Label--Large"],y=C["SearchBar--Large"],b=C["SearchBar__Tooltip--Large"]);const M=T.useCallback(L=>{d&&(x(L?.length),d(L))},[d]);return l.jsxs("div",{className:_==="top"?C["SearchBar--TopLabel"]:C["SearchBar--LeftLabel"],children:[l.jsxs("div",{children:[t&&l.jsx(i.Input.Label,{required:r,className:u,children:t}),a&&l.jsx(i.Tooltip,{label:a,position:g,children:l.jsx("div",{className:b,children:l.jsx(e.IconInfoCircle,{size:o==="sm"?14:o==="lg"?20:16})})})]}),l.jsxs("div",{children:[l.jsx("div",{className:C.SearchBar__Wrapper,children:l.jsx(i.Autocomplete,{...c,size:o,error:s,className:y,onChange:M,leftSection:l.jsx(e.IconSearch,{size:o==="sm"?16:o==="lg"?24:20}),rightSection:p&&h>0?l.jsx("div",{className:C.SearchBar__ClearButton,onClick:p,children:l.jsx(e.IconClose,{size:o==="sm"?16:o==="lg"?24:20})}):void 0})}),m&&l.jsx(i.Input.Description,{className:C.SearchBar__Description,children:m}),s&&l.jsx(i.Input.Error,{className:C.SearchBar__ErrorMsg,children:s})]})]})},W={"SegmentButton--Small":"styles-module__SegmentButton--Small___o0Y3t","SegmentButton--Medium":"styles-module__SegmentButton--Medium___EgCJm","SegmentButton--Large":"styles-module__SegmentButton--Large___Ym86C"},_e=({size:t="md",radius:_=6,...o})=>{let r=W["SegmentButton--Medium"];return t==="sm"?r=W["SegmentButton--Small"]:t==="lg"&&(r=W["SegmentButton--Large"]),l.jsx(i.SegmentedControl,{className:r,size:t,radius:_,styles:{control:{borderWidth:"0 !important"}},...o})},V={Tab__TitleList:"styles-module__Tab__TitleList___urHWH",Tab__BorderBottom:"styles-module__Tab__BorderBottom___eMTpl"},se=({tabList:t=[],containerPaddingTop:_,...o})=>l.jsxs(i.Tabs,{...o,children:[l.jsx(i.Tabs.List,{className:V.Tab__TitleList,children:t?.map((r,a)=>l.jsxs(i.Tabs.Tab,{value:r.value,leftSection:r.icon,children:[r.title,l.jsx("div",{className:V.Tab__BorderBottom})]},`tab_${a}`))}),t?.map((r,a)=>l.jsx(i.Tabs.Panel,{value:r.value,pt:_,children:r.body},`tab_panel_${a}`))]}),B={"TextField--LeftLabel":"styles-module__TextField--LeftLabel___hiNn3","TextField--TopLabel":"styles-module__TextField--TopLabel___V2otc","TextField__Label--Small":"styles-module__TextField__Label--Small___NkKKA","TextField__Label--Medium":"styles-module__TextField__Label--Medium___IoJd-","TextField__Label--Large":"styles-module__TextField__Label--Large___GMy74","TextField__Tooltip--Small":"styles-module__TextField__Tooltip--Small___GmQHE","TextField__Tooltip--Medium":"styles-module__TextField__Tooltip--Medium___5P3nA","TextField__Tooltip--Large":"styles-module__TextField__Tooltip--Large___YSCfu",TextField__Wrapper:"styles-module__TextField__Wrapper___u6p5Z",TextField__TextCounter:"styles-module__TextField__TextCounter___u1jM5","TextField--Textarea":"styles-module__TextField--Textarea___C2DL5","TextField--Small":"styles-module__TextField--Small___iuH4t","TextField--Medium":"styles-module__TextField--Medium___snYod","TextField--Large":"styles-module__TextField--Large___JoSYk",TextField__Description:"styles-module__TextField__Description___J-kXP",TextField__ErrorMsg:"styles-module__TextField__ErrorMsg___fa6f6",TextField__ClearButton:"styles-module__TextField__ClearButton___bB5Ew"},ie=t=>{const{label:_,labelPosition:o="top",size:r="md",required:a,tooltip:g,tooltipPosition:s="top",errorMsg:m,description:d,textarea:p=!1,maxTextCount:c,onChange:h,onClear:x,...u}=t,y="minRows"in t?t.minRows:void 0,[b,M]=T.useState(0);let L=B["TextField__Label--Medium"],H=B["TextField--Medium"],$=B["TextField__Tooltip--Medium"];r==="sm"?(L=B["TextField__Label--Small"],H=B["TextField--Small"],$=B["TextField__Tooltip--Small"]):r==="lg"&&(L=B["TextField__Label--Large"],H=B["TextField--Large"],$=B["TextField__Tooltip--Large"]);const z=T.useCallback(k=>{if(c){if(k.currentTarget?.value?.length>c)return;M(k.currentTarget?.value?.length),h&&h(k)}h&&(M(k.currentTarget?.value?.length),h(k))},[c,h]);return l.jsxs("div",{className:o==="top"?B["TextField--TopLabel"]:B["TextField--LeftLabel"],children:[l.jsxs("div",{children:[_&&l.jsx(i.Input.Label,{required:a,className:L,children:_}),g&&l.jsx(i.Tooltip,{label:g,position:s,children:l.jsx("div",{className:$,children:l.jsx(e.IconInfoCircle,{size:r==="sm"?14:r==="lg"?20:16})})})]}),l.jsxs("div",{children:[l.jsxs("div",{className:B.TextField__Wrapper,children:[p?l.jsx(i.Textarea,{className:B["TextField--Textarea"],size:r,minRows:y,error:m,onChange:z,disabled:u?.disabled,...u}):l.jsx(i.Input,{className:H,error:m,onChange:z,rightSection:x&&b>0?l.jsx("div",{className:B.TextField__ClearButton,onClick:x,children:l.jsx(e.IconClose,{size:r==="sm"?16:r==="lg"?24:20})}):void 0,...u}),c&&c>0&&l.jsx("span",{className:B.TextField__TextCounter,children:`${b}/${c}`})]}),d&&l.jsx(i.Input.Description,{className:B.TextField__Description,children:d}),m&&l.jsx(i.Input.Error,{className:B.TextField__ErrorMsg,children:m})]})]})},E={"TimePicker--Small":"styles-module__TimePicker--Small___nHQa1","TimePicker--Medium":"styles-module__TimePicker--Medium___E9-rF","TimePicker--Large":"styles-module__TimePicker--Large___I0M7V"},de=({size:t="md",..._})=>{const o=T.useRef(null);let r=E["TimePicker--Medium"],a=18;return t==="sm"?(r=E["TimePicker--Small"],a=14):t==="lg"&&(r=E["TimePicker--Large"],a=24),l.jsx(w.TimeInput,{ref:o,className:r,size:t,..._,rightSection:l.jsx(i.ActionIcon,{onClick:()=>{o&&o?.current?.showPicker()},children:l.jsx(e.IconClock,{size:a})})})},v={Toast:"styles-module__Toast___ZqZzU",Toast__Icon:"styles-module__Toast__Icon___PWXSy",Toast__Body:"styles-module__Toast__Body___wezPs",Toast__Message:"styles-module__Toast__Message___NFsgm"},ne=t=>{const _=typeof t=="string"?{message:t}:t,{message:o,icon:r,autoClose:a=3e3}=_;O.notifications.show({message:l.jsx("div",{className:v.Toast__Message,children:o}),icon:r,autoClose:a,position:"bottom-center",classNames:{root:v.Toast,body:v.Toast__Body,icon:v.Toast__Icon},withCloseButton:!1,withBorder:!1})},U={"Toggle--Small":"styles-module__Toggle--Small___sOjUd","Toggle--Medium":"styles-module__Toggle--Medium___yIb8v","Toggle--Large":"styles-module__Toggle--Large___ZOJj1"},ce=({size:t="md",labelPosition:_="right",disabled:o,onChange:r,...a})=>{const[g,s]=T.useState(a?.checked||!1);let m=U["Toggle--Medium"],d=50;t==="sm"?(m=U["Toggle--Small"],d=38):t==="lg"&&(m=U["Toggle--Large"],d=67);const p=T.useCallback(c=>{r&&r(c),s(c?.target?.checked)},[r]);return l.jsx(i.Switch,{className:m,size:t,labelPosition:_,disabled:o,onChange:p,styles:()=>({track:{backgroundColor:!o&&g?"#0fd3d8 !important":void 0,borderColor:!o&&g?"#0fd3d8 !important":void 0,width:d}}),...a})},Y={Tooltip__Body:"styles-module__Tooltip__Body___i1OTG",Tooltip__Title:"styles-module__Tooltip__Title___E0LoV",Tooltip__Content:"styles-module__Tooltip__Content___lU5gr"},ge=({title:t,content:_,maw:o=280,multiline:r=!0,...a})=>l.jsx(i.Tooltip,{...a,maw:o,multiline:r,label:l.jsxs("div",{className:Y.Tooltip__Body,children:[t&&l.jsx("span",{className:Y.Tooltip__Title,children:t}),l.jsx("span",{className:Y.Tooltip__Content,children:_})]})}),j=(t="light")=>{const _=[];return Object.entries(e.colors).forEach(([o,r])=>{Object.entries(r).forEach(([a,g])=>{const s=e.getCSSVariableName(o,a);_.push(`${s}: ${g};`)})}),_.join(`
2
+ `)},me=(t="light")=>{const _=document.getElementById("pop-ui-theme-vars");_&&_.remove();const o=document.createElement("style");o.id="pop-ui-theme-vars",o.textContent=`
3
+ :root {
4
+ ${j("light")}
5
+ }
6
+
7
+ [data-theme="dark"] {
8
+ ${j("dark")}
9
+ }
10
+ `,document.head.appendChild(o)},P=t=>{const _=e.colors[t],o=Object.keys(_).sort((a,g)=>Number(a)-Number(g));return[e.getCSSVariableRef(t,o[0]||o[o.length-1]),e.getCSSVariableRef(t,o[1]||o[o.length-1]),e.getCSSVariableRef(t,o[2]||o[o.length-1]),e.getCSSVariableRef(t,o[3]||o[o.length-1]),e.getCSSVariableRef(t,o[4]||o[o.length-1]),e.getCSSVariableRef(t,o[5]||o[o.length-1]),e.getCSSVariableRef(t,o[6]||o[o.length-1]),e.getCSSVariableRef(t,o[7]||o[o.length-1]),e.getCSSVariableRef(t,o[8]||o[o.length-1]),e.getCSSVariableRef(t,o[9]||o[o.length-1])]},Te=i.createTheme({colors:{gray:P("gray"),aqua:P("aqua"),red:P("red"),orange:P("orange"),yellow:P("yellow"),green:P("green"),blue:P("blue"),purple:P("purple"),grape:P("grape")},primaryColor:"aqua",primaryShade:5,fontFamily:'Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'}),q=T.createContext(void 0),ue=({children:t,defaultTheme:_="light",notificationPosition:o="bottom-center",notificationLimit:r=5,notificationAutoClose:a,notificationZIndex:g})=>{const[s,m]=T.useState(_);T.useEffect(()=>{me(s),document.documentElement.setAttribute("data-theme",s)},[s]);const d=()=>{m(p=>p==="light"?"dark":"light")};return l.jsx(q.Provider,{value:{theme:s,setTheme:m,toggleTheme:d},children:l.jsxs(i.MantineProvider,{theme:Te,children:[l.jsx(O.Notifications,{position:o,limit:r,autoClose:a,zIndex:g}),t]})})},Be=()=>{const t=T.useContext(q);if(!t)throw new Error("useTheme must be used within ThemeProvider");return t};n.Button=Q,n.Checkbox=X,n.DatePicker=R,n.Dropdown=ee,n.ImageUploader=oe,n.Modal=le,n.Pagination=te,n.PopUiProvider=ue,n.Radio=re,n.SearchBar=ae,n.SegmentButton=_e,n.Tab=se,n.TextField=ie,n.TimePicker=de,n.Toggle=ce,n.Tooltip=ge,n.toast=ne,n.useTheme=Be,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
@@ -1,15 +1,15 @@
1
- import { AlertProps } from '@mantine/core';
2
1
  import { AutocompleteProps } from '@mantine/core';
3
2
  import { ButtonProps } from '@mantine/core';
4
3
  import { CheckboxProps } from '@mantine/core';
5
4
  import { DatePickerInputProps } from '@mantine/dates';
5
+ import { default as default_2 } from 'react';
6
6
  import { DropzoneProps } from '@mantine/dropzone';
7
7
  import { FileWithPath } from '@mantine/dropzone';
8
8
  import { HTMLAttributes } from 'react';
9
9
  import { InputProps } from '@mantine/core';
10
10
  import { JSX } from 'react/jsx-runtime';
11
11
  import { ModalProps } from '@mantine/core';
12
- import { MantineProvider as PopUiProvider } from '@mantine/core';
12
+ import { NotificationsProps } from '@mantine/notifications';
13
13
  import { RadioProps } from '@mantine/core';
14
14
  import { ReactNode } from 'react';
15
15
  import { SegmentedControlProps } from '@mantine/core';
@@ -20,8 +20,6 @@ import { TextareaProps } from '@mantine/core';
20
20
  import { TimeInputProps } from '@mantine/dates';
21
21
  import { TooltipProps } from '@mantine/core';
22
22
 
23
- export declare const Alert: ({ visible, type, variant, top, right, ...props }: IAlertProps) => JSX.Element | null;
24
-
25
23
  export declare function Button({ children, size, variant, isLoading, disabled, ...props }: IButtonProps): JSX.Element;
26
24
 
27
25
  export declare const Checkbox: ({ size, ...props }: ICheckboxProps) => JSX.Element;
@@ -30,13 +28,6 @@ export declare const DatePicker: ({ size, type, withTime, ...props }: IDatePicke
30
28
 
31
29
  export declare const Dropdown: ({ label, labelPosition, size, required, tooltip, tooltipPosition, errorMsg, description, ...props }: IDropdownProps) => JSX.Element;
32
30
 
33
- declare interface IAlertProps extends AlertProps {
34
- visible: boolean;
35
- type?: 'success' | 'error';
36
- variant?: 'fill' | 'light';
37
- title?: string;
38
- }
39
-
40
31
  declare interface IButtonProps extends Omit<ButtonProps, 'variant' | 'styles'> {
41
32
  onClick?: () => void;
42
33
  size?: TButtonSize;
@@ -102,6 +93,19 @@ declare interface IPaginationProps extends HTMLAttributes<HTMLDivElement> {
102
93
  onPageChange?: (e: number) => void;
103
94
  }
104
95
 
96
+ export declare interface IPopUiProviderProps {
97
+ children: default_2.ReactNode;
98
+ defaultTheme?: TThemeMode;
99
+ /** Notifications 표시 위치 */
100
+ notificationPosition?: NotificationsProps['position'];
101
+ /** 동시에 표시되는 최대 알림 수 */
102
+ notificationLimit?: number;
103
+ /** 알림 자동 종료 시간 (ms, false로 설정 시 비활성화) */
104
+ notificationAutoClose?: number | false;
105
+ /** Notifications z-index */
106
+ notificationZIndex?: number;
107
+ }
108
+
105
109
  declare interface IRadioProps extends RadioProps {
106
110
  size?: 'sm' | 'md' | 'lg';
107
111
  }
@@ -133,10 +137,22 @@ declare interface ITabProps extends TabsProps {
133
137
  containerPaddingTop?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
134
138
  }
135
139
 
140
+ declare interface IThemeContextValue {
141
+ theme: TThemeMode;
142
+ setTheme: (theme: TThemeMode) => void;
143
+ toggleTheme: () => void;
144
+ }
145
+
136
146
  declare interface ITimePickerProps extends TimeInputProps {
137
147
  size?: 'sm' | 'md' | 'lg';
138
148
  }
139
149
 
150
+ declare interface IToastOptions {
151
+ message: string;
152
+ icon?: ReactNode;
153
+ autoClose?: number | false;
154
+ }
155
+
140
156
  declare interface IToggleProps extends SwitchProps {
141
157
  size?: 'sm' | 'md' | 'lg';
142
158
  labelPosition: 'left' | 'right';
@@ -153,7 +169,7 @@ export declare const Modal: ({ size, width, withCloseButton, ...props }: IModalP
153
169
 
154
170
  export declare const Pagination: ({ currentPageIdx, rowsPerPage, totalLength, paginationSize, onPageChange, ...props }: IPaginationProps) => JSX.Element;
155
171
 
156
- export { PopUiProvider }
172
+ export declare const PopUiProvider: default_2.FC<IPopUiProviderProps>;
157
173
 
158
174
  export declare const Radio: ({ size, ...props }: IRadioProps) => JSX.Element;
159
175
 
@@ -171,6 +187,22 @@ export declare const TextField: (allProps: TTextFieldProps) => JSX.Element;
171
187
 
172
188
  export declare const TimePicker: ({ size, ...props }: ITimePickerProps) => JSX.Element;
173
189
 
190
+ /**
191
+ * 토스트 알림을 표시합니다
192
+ * @param input - 문자열 메시지 또는 옵션 객체
193
+ * @example
194
+ * // 간단한 사용
195
+ * toast('작업이 완료되었습니다');
196
+ *
197
+ * // 옵션과 함께 사용
198
+ * toast({
199
+ * message: '작업이 완료되었습니다',
200
+ * icon: <IconCheck />,
201
+ * autoClose: 5000,
202
+ * });
203
+ */
204
+ export declare const toast: (input: TToastInput) => void;
205
+
174
206
  export declare const Toggle: ({ size, labelPosition, disabled, onChange, ...props }: IToggleProps) => JSX.Element;
175
207
 
176
208
  export declare const Tooltip: ({ title, content, maw, multiline, ...props }: ITooltipProps) => JSX.Element;
@@ -182,4 +214,16 @@ declare type TTextFieldProps = ICommonTextFieldProps & (({
182
214
  minRows?: number;
183
215
  } & Omit<TextareaProps, keyof ICommonTextFieldProps | 'vars'>));
184
216
 
217
+ /**
218
+ * CSS Variables Generator
219
+ *
220
+ * 디자인 토큰을 CSS Custom Properties로 변환
221
+ * Light/Dark 테마 모두 동일한 색상 사용
222
+ */
223
+ declare type TThemeMode = 'light' | 'dark';
224
+
225
+ declare type TToastInput = string | IToastOptions;
226
+
227
+ export declare const useTheme: () => IThemeContextValue;
228
+
185
229
  export { }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pop-ui/core",
3
3
  "type": "module",
4
- "version": "0.0.26",
4
+ "version": "0.0.28",
5
5
  "main": "./dist/core.umd.cjs",
6
6
  "module": "./dist/core.js",
7
7
  "types": "./dist/types/index.d.ts",
@@ -48,7 +48,8 @@
48
48
  "@mantine/dates": "^8.3.6",
49
49
  "@mantine/dropzone": "^8.3.6",
50
50
  "@mantine/hooks": "^8.3.6",
51
- "@pop-ui/foundation": "0.0.26",
51
+ "@mantine/notifications": "^8.3.6",
52
+ "@pop-ui/foundation": "0.0.28",
52
53
  "dayjs": "^1.11.18"
53
54
  },
54
55
  "peerDependencies": {
@@ -63,7 +64,6 @@
63
64
  "@mantine/form": "^8.3.6",
64
65
  "@mantine/hooks": "^8.3.6",
65
66
  "@mantine/modals": "^8.3.6",
66
- "@mantine/notifications": "^8.3.6",
67
67
  "@mantine/nprogress": "^8.3.6",
68
68
  "@mantine/prism": "^6.0.22",
69
69
  "@mantine/spotlight": "^8.3.6",
@@ -85,7 +85,7 @@
85
85
  "eslint": "^9.38.0",
86
86
  "eslint-plugin-react-hooks": "^7.0.1",
87
87
  "eslint-plugin-react-refresh": "^0.4.24",
88
- "eslint-plugin-storybook": "^10.0.1",
88
+ "eslint-plugin-storybook": "^10.0.4",
89
89
  "polished": "^4.3.1",
90
90
  "postcss": "^8.5.6",
91
91
  "postcss-nesting": "^13.0.2",
@@ -97,5 +97,5 @@
97
97
  "typescript": "^5.9.3",
98
98
  "vite": "^7.1.12"
99
99
  },
100
- "gitHead": "fb2eb189b07dfddfd28532ad83b486ee3a214b40"
100
+ "gitHead": "e5827364c46c642d867accbf05fdc5d108aa2cd7"
101
101
  }