@lunit/design-system 2.0.0 → 2.0.1

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,2 +1,2 @@
1
- (()=>{"use strict";var e={n:o=>{var t=o&&o.__esModule?()=>o.default:()=>o;return e.d(t,{a:t}),t},d:(o,t)=>{for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{default:()=>E});const t=require("react/jsx-runtime"),n=require("react"),i=require("react-dom"),r=require("@lunit/design-system-icons"),a=require("@mui/material/styles"),l=(0,a.styled)("div")({display:"flex",flex:"0 0 auto",alignItems:"center",justifyContent:"flex-end",gap:8});function d(e){const{children:o,justifyContent:n,sx:i}=e;return(0,t.jsx)(l,{id:"dialog-action","data-testid":"dialog-action",className:"dialog-action",sx:{justifyContent:n,...i},children:o})}const s={small:{width:"320px",maxWidth:"320px"},medium:{width:"500px",maxWidth:"840px"},modal:{position:"relative",boxShadow:"0px 12px 24px 8px rgba(0, 0, 0, 0.12), 0px 12px 44px 3px rgba(0, 0, 0, 0.18)"},nonModal:{position:"fixed",top:"30px",right:"30px",boxShadow:"0px 12px 24px 8px rgba(0, 0, 0, 0.36), 0px 12px 44px 3px rgba(0, 0, 0, 0.48)"}},c={small:{height:"52px",maxHeight:"100%",padding:"20px 20px 8px 20px"},medium:{height:"64px",maxHeight:"100%",padding:"30px 32px 6px 32px"}},p={small:{paddingInline:"20px calc(20px - 10px)",paddingBottom:"28px"},smallAction:{paddingInline:"20px calc(20px - 10px)",paddingBottom:"8px"},medium:{paddingInline:"32px calc(32px - 14px)",paddingBottom:"32px"},mediumAction:{paddingInline:"32px calc(32px - 14px)",paddingBottom:"16px"}},x={small:{height:"64px",padding:"8px 20px 20px 20px"},medium:{height:"84px",padding:"16px 32px 32px 32px"}},m=(0,a.styled)("div")({position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(17, 17, 19, 0.7)",zIndex:1e3,display:"grid",placeItems:"center"}),u=(0,a.styled)("div")((({theme:e,size:o,nonModal:t,type:n})=>({zIndex:1001,maxHeight:"80vh",display:"flex",flexDirection:"column",boxSizing:"border-box",borderRadius:"10px",backgroundColor:e.palette.lunit_token.core.bg_03,color:e.palette.lunit_token.core.text_normal,...s["small"===o?"small":"medium"],...s[t?"nonModal":"modal"],"& #dialog-title":{...c["small"===o?"small":"medium"]},"& #dialog-content":{...p["small"===o&&"passive"!==n?"smallAction":"small"===o?"small":"medium"===o&&"passive"!==n?"mediumAction":"medium"],scrollbarGutter:"stable","::-webkit-scrollbar":{width:"small"===o?"10px":"14px"},"::webkit-scrollbar-track":{background:"transparent"},"::-webkit-scrollbar-thumb":{backgroundClip:"padding-box",border:"2px solid transparent",borderRadius:"10px",backgroundColor:e.palette.lunit_token.component.scrollbars_bg}},"& #dialog-action":{...x["small"===o?"small":"medium"]}}))),b=(0,a.styled)("header")({display:"flex",width:"100%",flex:"0 0 auto",alignItems:"center",justifyContent:"flex-start",gap:"8px"}),h=(0,a.styled)("div")({display:"flex",justifyContent:"center",width:"20px",height:"20px",position:"relative",marginBottom:"1px"}),g=(0,a.styled)("div")((({theme:e})=>({...e.typography.body2_14_regular,flex:"1 1 auto",overflowY:"scroll"}))),y=require("@mui/material"),_=({kind:e,size:o,selected:t=!1})=>"small"===o?"outlined"!==e||t?"4px 8px":"3px 7px":"medium"===o?"outlined"!==e||t?"8px 12px":"7px 11px":"outlined"!==e||t?"10px 12px":"9px 11px",f=({kind:e,size:o,selected:t=!1})=>"small"===o?"outlined"!==e||t?"4px":"3px":"medium"===o?"outlined"!==e||t?"8px":"7px":"outlined"!==e||t?"12px":"11px",k=e=>({position:"relative",zIndex:0,backgroundColor:e}),v="8px",I=({size:e,kind:o,hasIconOnly:t,typography:n,selected:i=!1})=>({..."small"===e&&{...n.button2,padding:`${t?f({kind:o,size:e,selected:i}):_({kind:o,size:e,selected:i})}`,minWidth:"28px",height:"28px"},..."medium"===e&&{...n.button2,padding:`${t?f({kind:o,size:e,selected:i}):_({kind:o,size:e,selected:i})}`,minWidth:"36px",height:"36px"},..."large"===e&&{...n.button1,padding:`${t?f({kind:o,size:e,selected:i}):_({kind:o,size:e,selected:i})}`,minWidth:"44px",height:"44px"}}),j=({kind:e,color:o,lunit_token:t})=>({..."contained"===e&&"primary"===o&&{color:t.component.btn_primary_text_2,backgroundColor:t.component.btn_primary_bg,"&:hover":k(t.component.btn_primary_bg),"&.Mui-disabled":{opacity:.38,border:"none",color:t.component.btn_primary_text_2}},..."contained"===e&&"secondary"===o&&{color:t.component.btn_secondary_text,backgroundColor:t.component.btn_secondary_bg,"&:hover":k(t.component.btn_secondary_bg),"&.Mui-disabled":{opacity:.38,border:"none",color:t.component.btn_secondary_text}},..."contained"===e&&"error"===o&&{color:t.component.btn_primary_text_2,backgroundColor:t.component.btn_error_bg,"&:hover":k(t.component.btn_error_bg),"&.Mui-disabled":{opacity:.38,border:"none",color:t.component.btn_primary_text_2}},..."ghost"===e&&"primary"===o&&{color:t.component.btn_primary_text_1,border:"none","&:hover":k("none"),"&.Mui-disabled":{opacity:.38,border:"none",color:t.component.btn_primary_text_1}},..."ghost"===e&&"secondary"===o&&{color:t.component.btn_secondary_text,border:"none","&:hover":k("none"),"&.Mui-disabled":{opacity:.38,border:"none",color:t.component.btn_secondary_text}},..."ghost"===e&&"error"===o&&{color:t.component.btn_error_text,"&:hover":k("none"),"&.Mui-disabled":{opacity:.38,border:"none",color:t.component.btn_error_text}},..."outlined"===e&&"primary"===o&&{color:t.component.btn_primary_text_1,border:`1px solid ${t.component.btn_primary_border}`,"&:hover":k("none"),"&:hover:before":{content:"''",position:"absolute",left:"-1px",top:"-1px",width:"calc(100% + 2px)",height:"calc(100% + 2px)",zIndex:-1,backgroundColor:t.core.hover,borderRadius:v},"&.Mui-disabled":{opacity:.38,color:t.component.btn_primary_text_1}},..."outlined"===e&&"secondary"===o&&{color:t.component.btn_secondary_text,border:`1px solid ${t.core.border_medium}`,"&:hover":k("none"),"&:hover:before":{content:"''",position:"absolute",left:"-1px",top:"-1px",width:"calc(100% + 2px)",height:"calc(100% + 2px)",zIndex:-1,backgroundColor:t.core.hover,borderRadius:v},"&.Mui-disabled":{opacity:.38,color:t.component.btn_secondary_text}}}),z=({lunit_token:e})=>({fontWeight:"500",borderRadius:v,textTransform:"initial","&.Mui-focusVisible":{"&::after":{position:"absolute",width:"calc(100% + 6px)",height:"calc(100% + 6px)",content:'""',borderRadius:"11px",border:`1px solid ${e.core.focused}`,boxSizing:"border-box"}},"&:hover:before":{content:"''",position:"absolute",left:0,top:0,width:"100%",height:"100%",zIndex:-1,backgroundColor:e.core.hover,borderRadius:v}}),w=({size:e,hasIconOnly:o})=>({"& .MuiButton-startIcon":{margin:0,marginRight:o?"0px":"large"===e?"8px":"4px","*:nth-of-type(1)":{fontSize:"20px"}}}),C=(0,a.styled)(y.Button,{shouldForwardProp:e=>!["kind","hasIconOnly","variant"].includes(e)})((({theme:{typography:e,palette:{lunit_token:o}},kind:t,size:n,color:i,hasIconOnly:r})=>({...z({lunit_token:o}),...w({size:n,hasIconOnly:r}),...I({size:n,kind:t,hasIconOnly:r,typography:e}),...j({kind:t,color:i,lunit_token:o})}))),O=(0,n.forwardRef)(((e,o)=>{const{kind:n,variant:i,icon:r,children:a,startIcon:l}=e,d=Boolean((l||r)&&!a);return"outlined"===n||"outlined"===i?(0,t.jsx)(B,{...e,ref:o,hasIconOnly:d}):"ghost"===n||"text"===i||"ghost"===i?(0,t.jsx)(M,{...e,ref:o,hasIconOnly:d}):(0,t.jsx)(R,{...e,kind:"contained",variant:"contained",ref:o,hasIconOnly:d})})),M=(0,n.forwardRef)(((e,o)=>{const{size:n="small",icon:i,className:r,children:a,startIcon:l,hasIconOnly:d,variant:s,...c}=e;return(0,t.jsx)(C,{...c,ref:o,className:`ghost ${r||""}`,kind:"ghost",color:e.color??"primary",size:n,startIcon:l||i,hasIconOnly:d,children:!d&&(0,t.jsx)(t.Fragment,{children:a})})})),B=(0,n.forwardRef)(((e,o)=>{const{size:n="small",icon:i,className:r,children:a,startIcon:l,hasIconOnly:d,variant:s,...c}=e;return(0,t.jsx)(C,{...c,ref:o,className:`outlined ${r||""}`,kind:"outlined",color:e.color??"primary",size:n,startIcon:l||i,hasIconOnly:d,children:!d&&(0,t.jsx)(t.Fragment,{children:a})})})),R=(0,n.forwardRef)(((e,o)=>{const{size:n="small",icon:i,className:r,children:a,startIcon:l,hasIconOnly:d,variant:s,...c}=e;return(0,t.jsx)(C,{...c,ref:o,className:`${e.kind??"contained"} ${r||""}`,kind:e.kind??"contained",color:e.color??"primary",size:n,startIcon:l||i,hasIconOnly:d,children:!d&&(0,t.jsx)(t.Fragment,{children:a})})})),N=O,$=require("@mui/material/Typography");var S=e.n($);const P=e=>(0,t.jsx)(S(),{...e});function q({dialogProps:e}){const{nonModal:o=!1,onClose:n,title:i,titleIcon:a,titleVariant:l="headline5",children:s,actions:c,type:p,size:x="small",sx:m,style:y,className:_}=e;return(0,t.jsxs)(u,{role:"dialog","aria-labelledby":"dialog-title",size:x,nonModal:o,type:p,sx:{...m},style:y,className:`dialog ${_??""}`,children:[(0,t.jsxs)(b,{id:"dialog-title",className:"dialog-title-wrapper",children:[a&&(0,t.jsx)(h,{className:"dialog-title-icon",children:a}),(0,t.jsx)(P,{component:"h2",id:"dialog-title-text",variant:l,children:i}),"passive"===p&&(0,t.jsx)(N,{id:"dialog-title-close-button","data-testid":"dialog-title-close-button",kind:"ghost",color:"secondary",icon:(0,t.jsx)(r.Close,{}),onClick:n,sx:{marginRight:0,marginLeft:"auto"}})]}),(0,t.jsx)(g,{id:"dialog-content",children:s}),"action"===p&&null!==c?(0,t.jsx)(d,{children:c}):null]})}const E=function(e){const{isOpen:o,type:r,nonModal:a=!1,onClose:l}=e,d="action"===r&&!a,s="passive"===r&&!a,c="action"===r&&a;return(0,n.useEffect)((()=>{if(o&&(s||d&&e.enableBackdropClose||c&&e.enableBackButtonClose))return document.addEventListener("keydown",t),document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",t),document.removeEventListener("keydown",n)};function t(e){"Escape"===e.key&&l()}function n(e){"Backspace"===e.key&&l()}}),[o,s,l]),o?(0,i.createPortal)(a?(0,t.jsx)(q,{dialogProps:{...e}}):(0,t.jsx)(m,{onClick:function(o){(s||d&&e.enableBackdropClose)&&o.target===o.currentTarget&&l()},"data-testid":"dialog-backdrop",children:(0,t.jsx)(q,{dialogProps:{...e}})}),document.body):null};module.exports=o})();
1
+ (()=>{"use strict";var e={n:o=>{var n=o&&o.__esModule?()=>o.default:()=>o;return e.d(n,{a:n}),n},d:(o,n)=>{for(var t in n)e.o(n,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:n[t]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{default:()=>T});const n=require("react/jsx-runtime"),t=require("react"),i=require("react-dom"),r=require("@lunit/design-system-icons"),a=require("@mui/material/styles"),l=(0,a.styled)("div")({display:"flex",flex:"0 0 auto",alignItems:"center",justifyContent:"flex-end",gap:12});function d(e){const{children:o,justifyContent:t,sx:i}=e;return(0,n.jsx)(l,{id:"dialog-action","data-testid":"dialog-action",className:"dialog-action",sx:{justifyContent:t,...i},children:o})}const s={small:{width:"320px",maxWidth:"320px"},medium:{width:"500px",maxWidth:"840px"},modal:{position:"relative"},nonModal:{position:"fixed",top:"30px",right:"30px"}},c={small:{display:"flex",alignItems:"center",height:"52px",maxHeight:"100%",padding:"20px 20px 4px 20px"},medium:{display:"flex",alignItems:"center",height:"64px",maxHeight:"100%",padding:"30px 32px 6px 32px"}},p={small:{paddingInline:"20px calc(20px - 10px)",paddingTop:"8px",paddingBottom:"28px"},smallAction:{paddingInline:"20px calc(20px - 10px)",paddingBlock:"8px"},medium:{paddingInline:"32px calc(32px - 14px)",paddingTop:"16px",paddingBottom:"32px"},mediumAction:{paddingInline:"32px calc(32px - 14px)",paddingBlock:"16px"}},x={small:{height:"64px",padding:"8px 20px 20px 20px"},medium:{height:"84px",padding:"16px 32px 32px 32px"}},m=(0,a.styled)("div")({position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(17, 17, 19, 0.7)",zIndex:1e3,display:"grid",placeItems:"center"}),u=(0,a.styled)("div")((({theme:e,size:o,nonModal:n,type:t})=>({zIndex:1001,maxHeight:"80vh",display:"flex",flexDirection:"column",boxSizing:"border-box",borderRadius:"10px",backgroundColor:e.palette.lunit_token.core.bg_03,color:e.palette.lunit_token.core.text_normal,...s["small"===o?"small":"medium"],...s[n?"nonModal":"modal"],"& #dialog-title":{...c["small"===o?"small":"medium"]},"& #dialog-content":{...p["small"===o&&"passive"!==t?"smallAction":"small"===o?"small":"medium"===o&&"passive"!==t?"mediumAction":"medium"],scrollbarGutter:"stable","::-webkit-scrollbar":{width:"small"===o?"10px":"14px"},"::webkit-scrollbar-track":{background:"transparent"},"::-webkit-scrollbar-thumb":{backgroundClip:"padding-box",border:"2px solid transparent",borderRadius:"10px",backgroundColor:e.palette.lunit_token.component.scrollbars_bg}},"& #dialog-action":{...x["small"===o?"small":"medium"]}}))),h=(0,a.styled)("header")({display:"flex",width:"100%",flex:"0 0 auto",alignItems:"center",justifyContent:"flex-start",gap:"8px"}),g=(0,a.styled)("div")({display:"flex",justifyContent:"center",width:"20px",height:"20px","& .MuiSvgIcon-root":{display:"flex",justifyContent:"center",width:"20px",height:"20px",fontSize:"20px"}}),b=(0,a.styled)("div")((({theme:e})=>({...e.typography.body2_14_regular,flex:"1 1 auto",overflowY:"scroll"}))),y=require("@mui/material"),_=({kind:e,size:o,selected:n=!1})=>"small"===o?"outlined"!==e||n?"4px 8px":"3px 7px":"medium"===o?"outlined"!==e||n?"8px 12px":"7px 11px":"outlined"!==e||n?"10px 12px":"9px 11px",f=({kind:e,size:o,selected:n=!1})=>"small"===o?"outlined"!==e||n?"4px":"3px":"medium"===o?"outlined"!==e||n?"8px":"7px":"outlined"!==e||n?"12px":"11px",k=e=>({position:"relative",zIndex:0,backgroundColor:e}),v="8px",I=({size:e,kind:o,hasIconOnly:n,typography:t,selected:i=!1})=>({..."small"===e&&{...t.button2,padding:`${n?f({kind:o,size:e,selected:i}):_({kind:o,size:e,selected:i})}`,minWidth:"28px",height:"28px"},..."medium"===e&&{...t.button2,padding:`${n?f({kind:o,size:e,selected:i}):_({kind:o,size:e,selected:i})}`,minWidth:"36px",height:"36px"},..."large"===e&&{...t.button1,padding:`${n?f({kind:o,size:e,selected:i}):_({kind:o,size:e,selected:i})}`,minWidth:"44px",height:"44px"}}),j=({kind:e,color:o,lunit_token:n})=>({..."contained"===e&&"primary"===o&&{color:n.component.btn_primary_text_2,backgroundColor:n.component.btn_primary_bg,"&:hover":k(n.component.btn_primary_bg),"&.Mui-disabled":{opacity:.38,border:"none",color:n.component.btn_primary_text_2}},..."contained"===e&&"secondary"===o&&{color:n.component.btn_secondary_text,backgroundColor:n.component.btn_secondary_bg,"&:hover":k(n.component.btn_secondary_bg),"&.Mui-disabled":{opacity:.38,border:"none",color:n.component.btn_secondary_text}},..."contained"===e&&"error"===o&&{color:n.component.btn_primary_text_2,backgroundColor:n.component.btn_error_bg,"&:hover":k(n.component.btn_error_bg),"&.Mui-disabled":{opacity:.38,border:"none",color:n.component.btn_primary_text_2}},..."ghost"===e&&"primary"===o&&{color:n.component.btn_primary_text_1,border:"none","&:hover":k("none"),"&.Mui-disabled":{opacity:.38,border:"none",color:n.component.btn_primary_text_1}},..."ghost"===e&&"secondary"===o&&{color:n.component.btn_secondary_text,border:"none","&:hover":k("none"),"&.Mui-disabled":{opacity:.38,border:"none",color:n.component.btn_secondary_text}},..."ghost"===e&&"error"===o&&{color:n.component.btn_error_text,"&:hover":k("none"),"&.Mui-disabled":{opacity:.38,border:"none",color:n.component.btn_error_text}},..."outlined"===e&&"primary"===o&&{color:n.component.btn_primary_text_1,border:`1px solid ${n.component.btn_primary_border}`,"&:hover":k("none"),"&:hover:before":{content:"''",position:"absolute",left:"-1px",top:"-1px",width:"calc(100% + 2px)",height:"calc(100% + 2px)",zIndex:-1,backgroundColor:n.core.hover,borderRadius:v},"&.Mui-disabled":{opacity:.38,color:n.component.btn_primary_text_1}},..."outlined"===e&&"secondary"===o&&{color:n.component.btn_secondary_text,border:`1px solid ${n.core.border_medium}`,"&:hover":k("none"),"&:hover:before":{content:"''",position:"absolute",left:"-1px",top:"-1px",width:"calc(100% + 2px)",height:"calc(100% + 2px)",zIndex:-1,backgroundColor:n.core.hover,borderRadius:v},"&.Mui-disabled":{opacity:.38,color:n.component.btn_secondary_text}}}),z=({lunit_token:e})=>({fontWeight:"500",borderRadius:v,textTransform:"initial","&.Mui-focusVisible":{"&::after":{position:"absolute",width:"calc(100% + 6px)",height:"calc(100% + 6px)",content:'""',borderRadius:"11px",border:`1px solid ${e.core.focused}`,boxSizing:"border-box"}},"&:hover:before":{content:"''",position:"absolute",left:0,top:0,width:"100%",height:"100%",zIndex:-1,backgroundColor:e.core.hover,borderRadius:v}}),w=({size:e,hasIconOnly:o})=>({"& .MuiButton-startIcon":{margin:0,marginRight:o?"0px":"large"===e?"8px":"4px","*:nth-of-type(1)":{fontSize:"20px"}}}),C=(0,a.styled)(y.Button,{shouldForwardProp:e=>!["kind","hasIconOnly","variant"].includes(e)})((({theme:{typography:e,palette:{lunit_token:o}},kind:n,size:t,color:i,hasIconOnly:r})=>({...z({lunit_token:o}),...w({size:t,hasIconOnly:r}),...I({size:t,kind:n,hasIconOnly:r,typography:e}),...j({kind:n,color:i,lunit_token:o})}))),O=(0,t.forwardRef)(((e,o)=>{const{kind:t,variant:i,icon:r,children:a,startIcon:l}=e,d=Boolean((l||r)&&!a);return"outlined"===t||"outlined"===i?(0,n.jsx)(R,{...e,ref:o,hasIconOnly:d}):"ghost"===t||"text"===i||"ghost"===i?(0,n.jsx)(M,{...e,ref:o,hasIconOnly:d}):(0,n.jsx)(N,{...e,kind:"contained",variant:"contained",ref:o,hasIconOnly:d})})),M=(0,t.forwardRef)(((e,o)=>{const{size:t="small",icon:i,className:r,children:a,startIcon:l,hasIconOnly:d,variant:s,...c}=e;return(0,n.jsx)(C,{...c,ref:o,className:`ghost ${r||""}`,kind:"ghost",color:e.color??"primary",size:t,startIcon:l||i,hasIconOnly:d,children:!d&&(0,n.jsx)(n.Fragment,{children:a})})})),R=(0,t.forwardRef)(((e,o)=>{const{size:t="small",icon:i,className:r,children:a,startIcon:l,hasIconOnly:d,variant:s,...c}=e;return(0,n.jsx)(C,{...c,ref:o,className:`outlined ${r||""}`,kind:"outlined",color:e.color??"primary",size:t,startIcon:l||i,hasIconOnly:d,children:!d&&(0,n.jsx)(n.Fragment,{children:a})})})),N=(0,t.forwardRef)(((e,o)=>{const{size:t="small",icon:i,className:r,children:a,startIcon:l,hasIconOnly:d,variant:s,...c}=e;return(0,n.jsx)(C,{...c,ref:o,className:`${e.kind??"contained"} ${r||""}`,kind:e.kind??"contained",color:e.color??"primary",size:t,startIcon:l||i,hasIconOnly:d,children:!d&&(0,n.jsx)(n.Fragment,{children:a})})})),$=O,S=require("@mui/material/Typography");var B=e.n(S);const P=e=>(0,n.jsx)(B(),{...e});function q({dialogProps:e}){const{nonModal:o=!1,onClose:t,title:i,titleIcon:a,titleVariant:l="headline5",children:s,actions:c,type:p,size:x="small",sx:m,style:y,className:_}=e;return(0,n.jsxs)(u,{role:"dialog","aria-labelledby":"dialog-title",size:x,nonModal:o,type:p,sx:{...m},style:y,className:`dialog elevation2 ${_??""}`,children:[(0,n.jsxs)(h,{id:"dialog-title",className:"dialog-title-wrapper",children:[a&&(0,n.jsx)(g,{className:"dialog-title-icon",children:a}),(0,n.jsx)(P,{component:"h2",id:"dialog-title-text",variant:l,children:i}),"passive"===p&&(0,n.jsx)($,{id:"dialog-title-close-button","data-testid":"dialog-title-close-button",kind:"ghost",color:"secondary",icon:(0,n.jsx)(r.Close,{}),onClick:t,sx:{marginRight:0,marginLeft:"auto"}})]}),(0,n.jsx)(b,{id:"dialog-content",children:s}),"action"===p&&null!==c?(0,n.jsx)(d,{children:c}):null]})}const T=function(e){const{isOpen:o,type:r,nonModal:a=!1,onClose:l}=e,d="action"===r&&!a,s="passive"===r&&!a;return(0,t.useEffect)((()=>{if(o&&s)return document.addEventListener("keydown",e),document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keydown",n)};function e(e){"Escape"===e.key&&l()}function n(e){"Backspace"===e.key&&l()}}),[o,s,l]),o?(0,i.createPortal)(a?(0,n.jsx)(q,{dialogProps:{...e}}):(0,n.jsx)(m,{onClick:function(o){(s||d&&e.enableBackdropClose)&&o.target===o.currentTarget&&l()},"data-testid":"dialog-backdrop",children:(0,n.jsx)(q,{dialogProps:{...e}})}),document.body):null};module.exports=o})();
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/Dialog/index.js","mappings":"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","sources":["webpack://@lunit/design-system/webpack/bootstrap","webpack://@lunit/design-system/webpack/runtime/compat get default export","webpack://@lunit/design-system/webpack/runtime/define property getters","webpack://@lunit/design-system/webpack/runtime/hasOwnProperty shorthand","webpack://@lunit/design-system/webpack/runtime/make namespace object","webpack://@lunit/design-system/external commonjs \"react/jsx-runtime\"","webpack://@lunit/design-system/external commonjs \"react\"","webpack://@lunit/design-system/external commonjs \"react-dom\"","webpack://@lunit/design-system/external commonjs \"@lunit/design-system-icons\"","webpack://@lunit/design-system/external commonjs \"@mui/material/styles\"","webpack://@lunit/design-system/./src/components/Dialog/components/DialogAction.tsx","webpack://@lunit/design-system/./src/components/Dialog/Dialog.styled.ts","webpack://@lunit/design-system/external commonjs \"@mui/material\"","webpack://@lunit/design-system/./src/components/Button/utils/getButtonPaddingBySizeAndKind.ts","webpack://@lunit/design-system/./src/components/Button/utils/getIconButtonPaddingBySizeAndKind.ts","webpack://@lunit/design-system/./src/components/Button/utils/getHoverStyle.ts","webpack://@lunit/design-system/./src/components/Button/Button.styled.ts","webpack://@lunit/design-system/./src/components/Button/Button.tsx","webpack://@lunit/design-system/external commonjs \"@mui/material/Typography\"","webpack://@lunit/design-system/./src/components/Typography/Typography.tsx","webpack://@lunit/design-system/./src/components/Dialog/Dialog.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-dom\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@lunit/design-system-icons\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/material/styles\");","import React from \"react\";\nimport { styled } from \"@mui/material/styles\";\n\ninterface DialogActionProps {\n children: React.ReactNode;\n justifyContent?: React.CSSProperties[\"justifyContent\"];\n sx?: React.CSSProperties;\n}\n\nconst StyledDialogActions = styled(\"div\")({\n display: \"flex\",\n flex: \"0 0 auto\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 8,\n});\n\nexport function DialogAction(props: DialogActionProps) {\n const { children, justifyContent, sx } = props;\n\n return (\n <StyledDialogActions\n id=\"dialog-action\"\n data-testid=\"dialog-action\"\n className=\"dialog-action\"\n sx={{\n justifyContent,\n ...sx,\n }}\n >\n {children}\n </StyledDialogActions>\n );\n}\n\nexport default DialogAction;\n","import { styled } from \"@mui/material/styles\";\n\nimport type { DialogBase } from \"./Dialog\";\nimport type { CSSObject } from \"@mui/material/styles\";\n\nexport interface DialogElementStyle {\n [key: string]: CSSObject;\n}\n\nexport type DialogStyle = Pick<DialogBase, \"size\" | \"type\" | \"nonModal\">;\n\nconst DIALOG_WRAPPER_STYLE: DialogElementStyle = {\n small: {\n width: \"320px\",\n maxWidth: \"320px\",\n },\n medium: {\n width: \"500px\",\n maxWidth: \"840px\",\n },\n modal: {\n position: \"relative\",\n boxShadow:\n \"0px 12px 24px 8px rgba(0, 0, 0, 0.12), 0px 12px 44px 3px rgba(0, 0, 0, 0.18)\",\n },\n nonModal: {\n position: \"fixed\",\n top: \"30px\",\n right: \"30px\",\n boxShadow:\n \"0px 12px 24px 8px rgba(0, 0, 0, 0.36), 0px 12px 44px 3px rgba(0, 0, 0, 0.48)\",\n },\n};\n\nconst DIALOG_TITLE_STYLE: DialogElementStyle = {\n small: {\n height: \"52px\",\n maxHeight: \"100%\",\n padding: \"20px 20px 8px 20px\",\n },\n medium: {\n height: \"64px\",\n maxHeight: \"100%\",\n padding: \"30px 32px 6px 32px\",\n },\n};\n\nconst DIALOG_CONTENT_STYLE: DialogElementStyle = {\n small: {\n paddingInline: \"20px calc(20px - 10px)\",\n paddingBottom: \"28px\",\n },\n smallAction: {\n paddingInline: \"20px calc(20px - 10px)\",\n paddingBottom: \"8px\",\n },\n medium: {\n paddingInline: \"32px calc(32px - 14px)\",\n paddingBottom: \"32px\",\n },\n mediumAction: {\n paddingInline: \"32px calc(32px - 14px)\",\n paddingBottom: \"16px\",\n },\n};\n\nconst DIALOG_ACTION_STYLE: DialogElementStyle = {\n small: {\n height: \"64px\",\n padding: \"8px 20px 20px 20px\",\n },\n medium: {\n height: \"84px\",\n padding: \"16px 32px 32px 32px\",\n },\n};\n\nexport const StyledBackdrop = styled(\"div\")({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(17, 17, 19, 0.7)\",\n zIndex: 1000,\n display: \"grid\",\n placeItems: \"center\",\n});\n\nexport const StyledDialog = styled(\"div\")<DialogStyle>(\n ({ theme, size, nonModal, type }) => ({\n zIndex: 1001,\n maxHeight: \"80vh\",\n display: \"flex\",\n flexDirection: \"column\",\n boxSizing: \"border-box\",\n borderRadius: \"10px\",\n backgroundColor: theme.palette.lunit_token.core.bg_03,\n color: theme.palette.lunit_token.core.text_normal,\n\n ...DIALOG_WRAPPER_STYLE[size === \"small\" ? \"small\" : \"medium\"],\n ...DIALOG_WRAPPER_STYLE[nonModal ? \"nonModal\" : \"modal\"],\n\n \"& #dialog-title\": {\n ...DIALOG_TITLE_STYLE[size === \"small\" ? \"small\" : \"medium\"],\n },\n\n \"& #dialog-content\": {\n ...DIALOG_CONTENT_STYLE[\n size === \"small\" && type !== \"passive\"\n ? \"smallAction\"\n : size === \"small\"\n ? \"small\"\n : size === \"medium\" && type !== \"passive\"\n ? \"mediumAction\"\n : \"medium\"\n ],\n\n scrollbarGutter: \"stable\",\n \"::-webkit-scrollbar\": {\n width: size === \"small\" ? \"10px\" : \"14px\",\n },\n \"::webkit-scrollbar-track\": {\n background: \"transparent\",\n },\n \"::-webkit-scrollbar-thumb\": {\n backgroundClip: \"padding-box\",\n border: `2px solid transparent`,\n /**\n * Figma's border-radius is 6px, but actual border radius is 10px since padding 2px is added.\n */\n borderRadius: \"10px\",\n backgroundColor: theme.palette.lunit_token.component.scrollbars_bg,\n },\n },\n\n \"& #dialog-action\": {\n ...DIALOG_ACTION_STYLE[size === \"small\" ? \"small\" : \"medium\"],\n },\n })\n);\n\nexport const StyledDialogTitle = styled(\"header\")({\n display: \"flex\",\n width: \"100%\",\n flex: \"0 0 auto\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n gap: \"8px\",\n});\n\nexport const StyledDialogTitleIconWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"center\",\n width: \"20px\",\n height: \"20px\",\n position: \"relative\",\n marginBottom: \"1px\",\n});\n\nexport const StyledDialogContent = styled(\"div\")(({ theme }) => ({\n ...theme.typography.body2_14_regular,\n flex: \"1 1 auto\",\n overflowY: \"scroll\",\n}));\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/material\");","import { OUTLINED_BORDER_WIDTH } from \"../const\";\n\nimport type { ButtonProps } from \"../Button.types\";\nimport { ToggleButtonProps } from \"@/components/ToggleButton/ToggleButton.types\";\n\ntype GetButtonPaddingBySizeAndKindParams = Pick<ButtonProps, \"kind\" | \"size\"> &\n Pick<ToggleButtonProps, \"selected\">;\n\n/**\n * When kind is outlined,\n * the padding value must include the border width of outlined.\n * This function takes care of this.\n */\nexport const getButtonPaddingBySizeAndKind = ({\n kind,\n size,\n selected = false,\n}: GetButtonPaddingBySizeAndKindParams) => {\n if (size === \"small\") {\n return kind === \"outlined\" && !selected\n ? `${4 - OUTLINED_BORDER_WIDTH}px ${8 - OUTLINED_BORDER_WIDTH}px`\n : \"4px 8px\";\n }\n\n if (size === \"medium\") {\n return kind === \"outlined\" && !selected\n ? `${8 - OUTLINED_BORDER_WIDTH}px ${12 - OUTLINED_BORDER_WIDTH}px`\n : \"8px 12px\";\n }\n\n // size === \"large\"\n return kind === \"outlined\" && !selected\n ? `${10 - OUTLINED_BORDER_WIDTH}px ${12 - OUTLINED_BORDER_WIDTH}px`\n : \"10px 12px\";\n};\n","import { OUTLINED_BORDER_WIDTH } from \"../const\";\n\nimport type { ButtonProps } from \"../Button.types\";\nimport { ToggleButtonProps } from \"@/components/ToggleButton/ToggleButton.types\";\n\ntype GetIconButtonPaddingBySizeAndKindProps = Pick<\n ButtonProps,\n \"kind\" | \"size\"\n> &\n Pick<ToggleButtonProps, \"selected\">;\n\n/**\n * When kind is outlined,\n * the padding value must include the border width of outlined.\n * This function takes care of this.\n */\nexport const getIconButtonPaddingBySizeAndKind = ({\n kind,\n size,\n selected = false,\n}: GetIconButtonPaddingBySizeAndKindProps) => {\n if (size === \"small\") {\n return kind === \"outlined\" && !selected\n ? `${4 - OUTLINED_BORDER_WIDTH}px`\n : \"4px\";\n }\n\n if (size === \"medium\") {\n return kind === \"outlined\" && !selected\n ? `${8 - OUTLINED_BORDER_WIDTH}px`\n : \"8px\";\n }\n\n // size === \"large\"\n return kind === \"outlined\" && !selected\n ? `${12 - OUTLINED_BORDER_WIDTH}px`\n : \"12px\";\n};\n","const getHoverStyle = (backgroundColor: React.CSSProperties[\"color\"]) => ({\n position: \"relative\",\n zIndex: 0,\n backgroundColor,\n});\n\nexport default getHoverStyle;\n","import { styled } from \"@mui/material/styles\";\nimport { Button as MuiButton } from \"@mui/material\";\n\nimport { ColorToken } from \"@/foundation/colors/types\";\nimport { PADDING_OF_FOCUS, OUTLINED_BORDER_WIDTH } from \"./const\";\nimport { getButtonPaddingBySizeAndKind } from \"./utils/getButtonPaddingBySizeAndKind\";\nimport { getIconButtonPaddingBySizeAndKind } from \"./utils/getIconButtonPaddingBySizeAndKind\";\nimport getHoverStyle from \"./utils/getHoverStyle\";\n\nimport type { ButtonProps } from \"./Button.types\";\nimport type { ToggleButtonProps } from \"../ToggleButton/ToggleButton.types\";\nimport type { Typography } from \"@mui/material/styles/createTypography\";\n\ntype KindStyleParams = Pick<ButtonProps, \"kind\" | \"color\"> & {\n lunit_token: ColorToken;\n};\n\ntype CustomButtonProps = ButtonProps & { hasIconOnly: boolean };\n\ntype sizeStyleParams = Pick<\n CustomButtonProps,\n \"size\" | \"hasIconOnly\" | \"kind\"\n> &\n Pick<ToggleButtonProps, \"selected\"> & { typography: Typography };\n\nconst borderRadius = \"8px\";\n\nexport const sizeStyle = ({\n size,\n kind,\n hasIconOnly,\n typography,\n selected = false,\n}: sizeStyleParams) => ({\n ...(size === \"small\" && {\n ...typography.button2,\n padding: `${\n hasIconOnly\n ? getIconButtonPaddingBySizeAndKind({ kind, size, selected })\n : getButtonPaddingBySizeAndKind({ kind, size, selected })\n }`,\n minWidth: \"28px\",\n height: \"28px\",\n }),\n ...(size === \"medium\" && {\n ...typography.button2,\n padding: `${\n hasIconOnly\n ? getIconButtonPaddingBySizeAndKind({ kind, size, selected })\n : getButtonPaddingBySizeAndKind({ kind, size, selected })\n }`,\n minWidth: \"36px\",\n height: \"36px\",\n }),\n ...(size === \"large\" && {\n ...typography.button1,\n padding: `${\n hasIconOnly\n ? getIconButtonPaddingBySizeAndKind({ kind, size, selected })\n : getButtonPaddingBySizeAndKind({ kind, size, selected })\n }`,\n minWidth: \"44px\",\n height: \"44px\",\n }),\n});\n\nexport const kindStyle = ({ kind, color, lunit_token }: KindStyleParams) => ({\n // kind: container\n ...(kind === \"contained\" &&\n color === \"primary\" && {\n color: lunit_token.component.btn_primary_text_2,\n backgroundColor: lunit_token.component.btn_primary_bg,\n \"&:hover\": getHoverStyle(lunit_token.component.btn_primary_bg),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_primary_text_2,\n },\n }),\n ...(kind === \"contained\" &&\n color === \"secondary\" && {\n color: lunit_token.component.btn_secondary_text,\n backgroundColor: lunit_token.component.btn_secondary_bg,\n \"&:hover\": getHoverStyle(lunit_token.component.btn_secondary_bg),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_secondary_text,\n },\n }),\n ...(kind === \"contained\" &&\n color === \"error\" && {\n color: lunit_token.component.btn_primary_text_2,\n backgroundColor: lunit_token.component.btn_error_bg,\n \"&:hover\": getHoverStyle(lunit_token.component.btn_error_bg),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_primary_text_2,\n },\n }),\n // kind: ghost\n ...(kind === \"ghost\" &&\n color === \"primary\" && {\n color: lunit_token.component.btn_primary_text_1,\n border: \"none\",\n \"&:hover\": getHoverStyle(\"none\"),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_primary_text_1,\n },\n }),\n ...(kind === \"ghost\" &&\n color === \"secondary\" && {\n color: lunit_token.component.btn_secondary_text,\n border: \"none\",\n \"&:hover\": getHoverStyle(\"none\"),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_secondary_text,\n },\n }),\n ...(kind === \"ghost\" &&\n color === \"error\" && {\n color: lunit_token.component.btn_error_text,\n \"&:hover\": getHoverStyle(\"none\"),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_error_text,\n },\n }),\n // kind: outlined\n ...(kind === \"outlined\" &&\n color === \"primary\" && {\n color: lunit_token.component.btn_primary_text_1,\n border: `${OUTLINED_BORDER_WIDTH}px solid ${lunit_token.component.btn_primary_border}`,\n \"&:hover\": getHoverStyle(\"none\"),\n \"&:hover:before\": {\n content: \"''\",\n position: \"absolute\",\n left: \"-1px\",\n top: \"-1px\",\n width: \"calc(100% + 2px)\",\n height: \"calc(100% + 2px)\",\n zIndex: -1,\n backgroundColor: lunit_token.core.hover,\n borderRadius,\n },\n \"&.Mui-disabled\": {\n opacity: 0.38,\n color: lunit_token.component.btn_primary_text_1,\n },\n }),\n ...(kind === \"outlined\" &&\n color === \"secondary\" && {\n color: lunit_token.component.btn_secondary_text,\n border: `${OUTLINED_BORDER_WIDTH}px solid ${lunit_token.core.border_medium}`,\n \"&:hover\": getHoverStyle(\"none\"),\n \"&:hover:before\": {\n content: \"''\",\n position: \"absolute\",\n left: \"-1px\",\n top: \"-1px\",\n width: \"calc(100% + 2px)\",\n height: \"calc(100% + 2px)\",\n zIndex: -1,\n backgroundColor: lunit_token.core.hover,\n borderRadius,\n },\n \"&.Mui-disabled\": {\n opacity: 0.38,\n color: lunit_token.component.btn_secondary_text,\n },\n }),\n});\n\nexport const commonStyle = ({ lunit_token }: { lunit_token: ColorToken }) =>\n ({\n fontWeight: \"500\",\n borderRadius,\n textTransform: \"initial\",\n \"&.Mui-focusVisible\": {\n \"&::after\": {\n position: \"absolute\",\n width: `calc(100% + ${PADDING_OF_FOCUS}px)`,\n height: `calc(100% + ${PADDING_OF_FOCUS}px)`,\n content: '\"\"',\n borderRadius: \"11px\",\n border: `1px solid ${lunit_token.core.focused}`,\n boxSizing: \"border-box\",\n },\n },\n \"&:hover:before\": {\n content: \"''\",\n position: \"absolute\",\n left: 0,\n top: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: -1,\n backgroundColor: lunit_token.core.hover,\n borderRadius,\n },\n } as const);\n\nexport const iconStyle = ({\n size,\n hasIconOnly,\n}: Pick<CustomButtonProps, \"size\" | \"hasIconOnly\">) => ({\n \"& .MuiButton-startIcon\": {\n margin: 0,\n marginRight: hasIconOnly ? \"0px\" : size === \"large\" ? \"8px\" : \"4px\",\n\n \"*:nth-of-type(1)\": {\n fontSize: \"20px\",\n },\n },\n});\n\nexport const CustomButton = styled(MuiButton, {\n shouldForwardProp: (prop: string) => {\n return ![\"kind\", \"hasIconOnly\", \"variant\"].includes(prop);\n },\n})<CustomButtonProps>(\n ({\n theme: {\n typography,\n palette: { lunit_token },\n },\n kind,\n size,\n color,\n hasIconOnly,\n }) => ({\n ...commonStyle({ lunit_token }),\n ...iconStyle({ size, hasIconOnly }),\n ...sizeStyle({ size, kind, hasIconOnly, typography }),\n ...kindStyle({ kind, color, lunit_token }),\n })\n);\n","import React, { forwardRef } from \"react\";\n\nimport { CustomButton } from \"./Button.styled\";\n\nimport type {\n ButtonType,\n ButtonProps,\n GhostButtonProps,\n OutlinedButtonProps,\n ContainedButtonProps,\n} from \"./Button.types\";\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const { kind, variant, icon, children, startIcon } = props;\n const hasIconOnly = Boolean((startIcon || icon) && !children);\n\n if (kind === \"outlined\" || variant === \"outlined\") {\n return <OutlinedButton {...props} ref={ref} hasIconOnly={hasIconOnly} />;\n }\n\n if (kind === \"ghost\" || variant === \"text\" || variant === \"ghost\") {\n return <GhostButton {...props} ref={ref} hasIconOnly={hasIconOnly} />;\n }\n\n return (\n <ContainedButton\n {...props}\n kind=\"contained\"\n variant=\"contained\"\n ref={ref}\n hasIconOnly={hasIconOnly}\n />\n );\n\n /**\n * There is an issue between React 18, Mui's OverridableComponent type and the\n * type coercion to temporarily fix it.\n * https://github.com/lunit-io/design-system/pull/143#issuecomment-1831127232\n */\n}) as ButtonType;\n\nconst GhostButton = forwardRef<\n HTMLButtonElement,\n GhostButtonProps & { hasIconOnly: boolean }\n>((props, ref) => {\n const {\n size = \"small\",\n icon,\n className,\n children,\n startIcon,\n hasIconOnly,\n variant,\n ...restProps\n } = props;\n\n return (\n <CustomButton\n {...restProps}\n ref={ref}\n className={`ghost ${className ? className : \"\"}`}\n kind=\"ghost\"\n color={props.color ?? \"primary\"}\n size={size}\n startIcon={startIcon || icon}\n hasIconOnly={hasIconOnly}\n >\n {!hasIconOnly && <>{children}</>}\n </CustomButton>\n );\n});\n\nconst OutlinedButton = forwardRef<\n HTMLButtonElement,\n OutlinedButtonProps & { hasIconOnly: boolean }\n>((props, ref) => {\n const {\n size = \"small\",\n icon,\n className,\n children,\n startIcon,\n hasIconOnly,\n variant,\n ...restProps\n } = props;\n\n return (\n <CustomButton\n {...restProps}\n ref={ref}\n className={`outlined ${className ? className : \"\"}`}\n kind=\"outlined\"\n color={props.color ?? \"primary\"}\n size={size}\n startIcon={startIcon || icon}\n hasIconOnly={hasIconOnly}\n >\n {!hasIconOnly && <>{children}</>}\n </CustomButton>\n );\n});\n\nconst ContainedButton = forwardRef<\n HTMLButtonElement,\n ContainedButtonProps & { hasIconOnly: boolean }\n>((props, ref) => {\n const {\n size = \"small\",\n icon,\n className,\n children,\n startIcon,\n hasIconOnly,\n variant,\n ...restProps\n } = props;\n\n return (\n <CustomButton\n {...restProps}\n ref={ref}\n className={`${props.kind ?? \"contained\"} ${className ? className : \"\"}`}\n kind={props.kind ?? \"contained\"}\n color={props.color ?? \"primary\"}\n size={size}\n startIcon={startIcon || icon}\n hasIconOnly={hasIconOnly}\n >\n {!hasIconOnly && <>{children}</>}\n </CustomButton>\n );\n});\n\nexport default Button;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/material/Typography\");","import React from \"react\";\nimport MuiTypography from \"@mui/material/Typography\";\n\nimport type { TypographyProps } from \"@mui/material/Typography\";\nimport type { TypographyPropsVariantOverridesType } from \"../../foundation/Typography\";\n\ndeclare module \"@mui/material/Typography\" {\n interface TypographyPropsVariantOverrides\n extends TypographyPropsVariantOverridesType {}\n}\n\nconst Typography = <C extends React.ElementType>(\n props: TypographyProps<C, { component?: C }>\n) => {\n return <MuiTypography {...props} />;\n};\n\nexport default Typography;\n","import React, { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Close } from \"@lunit/design-system-icons\";\n\nimport { DialogAction } from \"./components/DialogAction\";\nimport {\n StyledBackdrop,\n StyledDialog,\n StyledDialogContent,\n StyledDialogTitle,\n StyledDialogTitleIconWrapper,\n} from \"./Dialog.styled\";\nimport Button from \"../Button\";\nimport Typography from \"../Typography\";\n\nimport type { SxProps } from \"@mui/material/styles\";\nimport type { TypographyProps } from \"@mui/material\";\n\nexport interface DialogBase {\n isOpen: boolean;\n onClose(): void;\n type?: \"passive\" | \"action\"; // default passive\n nonModal?: boolean; // default false\n title: string;\n titleIcon?: React.ReactNode;\n titleVariant?: TypographyProps[\"variant\"];\n children: React.ReactNode;\n actions?: React.ReactNode;\n enableBackButtonClose?: boolean;\n enableBackdropClose?: boolean;\n size?: \"small\" | \"medium\"; // default \"small\"\n sx?: SxProps;\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport interface PassiveDialogType extends DialogBase {\n type: \"passive\";\n actions?: undefined;\n enableBackButtonClose?: true;\n enableBackdropClose?: true;\n}\nexport interface ActionDialogType extends DialogBase {\n type: \"action\";\n actions: React.ReactNode;\n enableBackButtonClose?: boolean;\n enableBackdropClose?: boolean;\n}\n\nexport interface PassiveModalProps extends PassiveDialogType {\n nonModal?: false;\n}\nexport interface ActionModalProps extends ActionDialogType {\n nonModal?: false;\n}\nexport type ModalProps = PassiveModalProps | ActionModalProps;\n\nexport interface PassiveNonModalProps extends PassiveDialogType {\n nonModal?: true;\n}\nexport interface ActionNonModalProps extends ActionDialogType {\n nonModal?: true;\n enableBackdropClose?: false;\n}\nexport type NonModalProps = PassiveNonModalProps | ActionNonModalProps;\n\nexport type DialogProps = ModalProps | NonModalProps;\n\nfunction Dialog(props: DialogProps) {\n const { isOpen, type, nonModal = false, onClose } = props;\n\n const isActionModal = type === \"action\" && !nonModal;\n const isPassiveModal = type === \"passive\" && !nonModal;\n const isActionNonModal = type === \"action\" && nonModal;\n\n function handleBackdropClose(e: React.MouseEvent<HTMLDivElement>) {\n const isClosable =\n isPassiveModal || (isActionModal && props.enableBackdropClose);\n\n if (!isClosable) return;\n if (e.target !== e.currentTarget) return;\n\n onClose();\n }\n\n useEffect(() => {\n const isClosable =\n isOpen &&\n (isPassiveModal ||\n (isActionModal && props.enableBackdropClose) ||\n (isActionNonModal && props.enableBackButtonClose));\n\n if (!isClosable) return;\n\n function handleEscClose(event: KeyboardEvent) {\n if (event.key === \"Escape\") onClose();\n }\n function handleBackButtonClose(event: KeyboardEvent) {\n if (event.key === \"Backspace\") onClose();\n }\n\n document.addEventListener(\"keydown\", handleEscClose);\n document.addEventListener(\"keydown\", handleBackButtonClose);\n\n return () => {\n document.removeEventListener(\"keydown\", handleEscClose);\n document.removeEventListener(\"keydown\", handleBackButtonClose);\n };\n }, [isOpen, isPassiveModal, onClose]);\n\n if (!isOpen) return null;\n return createPortal(\n nonModal ? (\n <DialogBase dialogProps={{ ...props }} />\n ) : (\n <StyledBackdrop\n onClick={handleBackdropClose}\n data-testid=\"dialog-backdrop\"\n >\n <DialogBase dialogProps={{ ...props }} />\n </StyledBackdrop>\n ),\n\n document.body\n );\n}\n\nfunction DialogBase({ dialogProps }: { dialogProps: DialogBase }) {\n const {\n nonModal = false,\n onClose,\n title,\n titleIcon,\n titleVariant = \"headline5\",\n children,\n actions,\n type,\n size = \"small\",\n sx,\n style,\n className,\n } = dialogProps;\n\n return (\n <StyledDialog\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n size={size}\n nonModal={nonModal}\n type={type}\n sx={{\n ...sx,\n }}\n style={style}\n className={`dialog ${className ?? \"\"}`}\n >\n <StyledDialogTitle id=\"dialog-title\" className=\"dialog-title-wrapper\">\n {titleIcon && (\n <StyledDialogTitleIconWrapper className=\"dialog-title-icon\">\n {titleIcon}\n </StyledDialogTitleIconWrapper>\n )}\n <Typography\n component=\"h2\"\n id=\"dialog-title-text\"\n variant={titleVariant}\n >\n {title}\n </Typography>\n {type === \"passive\" && (\n <Button\n id=\"dialog-title-close-button\"\n data-testid=\"dialog-title-close-button\"\n kind=\"ghost\"\n color=\"secondary\"\n icon={<Close />}\n onClick={onClose}\n sx={{\n marginRight: 0,\n marginLeft: \"auto\",\n }}\n />\n )}\n </StyledDialogTitle>\n <StyledDialogContent id=\"dialog-content\">{children}</StyledDialogContent>\n {type === \"action\" && actions !== null ? (\n // `actions !== null` is used to not render DialogAction when actions is undefined\n // There was a case when actions is undefined, but DialogAction is rendered with null children\n <DialogAction>{actions}</DialogAction>\n ) : null}\n </StyledDialog>\n );\n}\n\nexport default Dialog;\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","require","StyledDialogActions","styled","display","flex","alignItems","justifyContent","gap","DialogAction","props","children","sx","id","className","DIALOG_WRAPPER_STYLE","small","width","maxWidth","medium","modal","position","boxShadow","nonModal","top","right","DIALOG_TITLE_STYLE","height","maxHeight","padding","DIALOG_CONTENT_STYLE","paddingInline","paddingBottom","smallAction","mediumAction","DIALOG_ACTION_STYLE","StyledBackdrop","left","backgroundColor","zIndex","placeItems","StyledDialog","theme","size","type","flexDirection","boxSizing","borderRadius","palette","lunit_token","core","bg_03","color","text_normal","scrollbarGutter","background","backgroundClip","border","component","scrollbars_bg","StyledDialogTitle","StyledDialogTitleIconWrapper","marginBottom","StyledDialogContent","typography","body2_14_regular","overflowY","getButtonPaddingBySizeAndKind","kind","selected","getIconButtonPaddingBySizeAndKind","sizeStyle","hasIconOnly","button2","minWidth","button1","kindStyle","btn_primary_text_2","btn_primary_bg","opacity","btn_secondary_text","btn_secondary_bg","btn_error_bg","btn_primary_text_1","btn_error_text","btn_primary_border","content","hover","border_medium","commonStyle","fontWeight","textTransform","focused","iconStyle","margin","marginRight","fontSize","CustomButton","shouldForwardProp","includes","Button","forwardRef","ref","variant","icon","startIcon","Boolean","OutlinedButton","GhostButton","ContainedButton","restProps","DialogBase","dialogProps","onClose","title","titleIcon","titleVariant","actions","style","role","Close","onClick","marginLeft","isOpen","isActionModal","isPassiveModal","isActionNonModal","useEffect","enableBackdropClose","enableBackButtonClose","document","addEventListener","handleEscClose","handleBackButtonClose","removeEventListener","event","createPortal","e","target","currentTarget","body"],"sourceRoot":""}
1
+ {"version":3,"file":"components/Dialog/index.js","mappings":"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","sources":["webpack://@lunit/design-system/webpack/bootstrap","webpack://@lunit/design-system/webpack/runtime/compat get default export","webpack://@lunit/design-system/webpack/runtime/define property getters","webpack://@lunit/design-system/webpack/runtime/hasOwnProperty shorthand","webpack://@lunit/design-system/webpack/runtime/make namespace object","webpack://@lunit/design-system/external commonjs \"react/jsx-runtime\"","webpack://@lunit/design-system/external commonjs \"react\"","webpack://@lunit/design-system/external commonjs \"react-dom\"","webpack://@lunit/design-system/external commonjs \"@lunit/design-system-icons\"","webpack://@lunit/design-system/external commonjs \"@mui/material/styles\"","webpack://@lunit/design-system/./src/components/Dialog/components/DialogAction.tsx","webpack://@lunit/design-system/./src/components/Dialog/Dialog.styled.ts","webpack://@lunit/design-system/external commonjs \"@mui/material\"","webpack://@lunit/design-system/./src/components/Button/utils/getButtonPaddingBySizeAndKind.ts","webpack://@lunit/design-system/./src/components/Button/utils/getIconButtonPaddingBySizeAndKind.ts","webpack://@lunit/design-system/./src/components/Button/utils/getHoverStyle.ts","webpack://@lunit/design-system/./src/components/Button/Button.styled.ts","webpack://@lunit/design-system/./src/components/Button/Button.tsx","webpack://@lunit/design-system/external commonjs \"@mui/material/Typography\"","webpack://@lunit/design-system/./src/components/Typography/Typography.tsx","webpack://@lunit/design-system/./src/components/Dialog/Dialog.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-dom\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@lunit/design-system-icons\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/material/styles\");","import React from \"react\";\nimport { styled } from \"@mui/material/styles\";\n\ninterface DialogActionProps {\n children: React.ReactNode;\n justifyContent?: React.CSSProperties[\"justifyContent\"];\n sx?: React.CSSProperties;\n}\n\nconst StyledDialogActions = styled(\"div\")({\n display: \"flex\",\n flex: \"0 0 auto\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 12,\n});\n\nexport function DialogAction(props: DialogActionProps) {\n const { children, justifyContent, sx } = props;\n\n return (\n <StyledDialogActions\n id=\"dialog-action\"\n data-testid=\"dialog-action\"\n className=\"dialog-action\"\n sx={{\n justifyContent,\n ...sx,\n }}\n >\n {children}\n </StyledDialogActions>\n );\n}\n\nexport default DialogAction;\n","import { styled } from \"@mui/material/styles\";\n\nimport type { DialogBase } from \"./Dialog\";\nimport type { CSSObject } from \"@mui/material/styles\";\n\nexport interface DialogElementStyle {\n [key: string]: CSSObject;\n}\n\nexport type DialogStyle = Pick<DialogBase, \"size\" | \"type\" | \"nonModal\">;\n\nconst DIALOG_WRAPPER_STYLE: DialogElementStyle = {\n small: {\n width: \"320px\",\n maxWidth: \"320px\",\n },\n medium: {\n width: \"500px\",\n maxWidth: \"840px\",\n },\n modal: {\n position: \"relative\",\n },\n nonModal: {\n position: \"fixed\",\n top: \"30px\",\n right: \"30px\",\n },\n};\n\nconst DIALOG_TITLE_STYLE: DialogElementStyle = {\n small: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"52px\",\n maxHeight: \"100%\",\n padding: \"20px 20px 4px 20px\", // Title's X button pluses 2px to paddingTop and Bottom\n },\n medium: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"64px\",\n maxHeight: \"100%\",\n padding: \"30px 32px 6px 32px\", // Title's X button pluses 2px to paddingTop and Bottom\n },\n};\n\nconst DIALOG_CONTENT_STYLE: DialogElementStyle = {\n small: {\n paddingInline: \"20px calc(20px - 10px)\",\n paddingTop: \"8px\",\n paddingBottom: \"28px\",\n },\n smallAction: {\n paddingInline: \"20px calc(20px - 10px)\",\n paddingBlock: \"8px\",\n },\n medium: {\n paddingInline: \"32px calc(32px - 14px)\",\n paddingTop: \"16px\",\n paddingBottom: \"32px\",\n },\n mediumAction: {\n paddingInline: \"32px calc(32px - 14px)\",\n paddingBlock: \"16px\",\n },\n};\n\nconst DIALOG_ACTION_STYLE: DialogElementStyle = {\n small: {\n height: \"64px\",\n padding: \"8px 20px 20px 20px\",\n },\n medium: {\n height: \"84px\",\n padding: \"16px 32px 32px 32px\",\n },\n};\n\nexport const StyledBackdrop = styled(\"div\")({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(17, 17, 19, 0.7)\",\n zIndex: 1000,\n display: \"grid\",\n placeItems: \"center\",\n});\n\nexport const StyledDialog = styled(\"div\")<DialogStyle>(\n ({ theme, size, nonModal, type }) => ({\n zIndex: 1001,\n maxHeight: \"80vh\",\n display: \"flex\",\n flexDirection: \"column\",\n boxSizing: \"border-box\",\n borderRadius: \"10px\",\n backgroundColor: theme.palette.lunit_token.core.bg_03,\n color: theme.palette.lunit_token.core.text_normal,\n\n ...DIALOG_WRAPPER_STYLE[size === \"small\" ? \"small\" : \"medium\"],\n ...DIALOG_WRAPPER_STYLE[nonModal ? \"nonModal\" : \"modal\"],\n\n \"& #dialog-title\": {\n ...DIALOG_TITLE_STYLE[size === \"small\" ? \"small\" : \"medium\"],\n },\n\n \"& #dialog-content\": {\n ...DIALOG_CONTENT_STYLE[\n size === \"small\" && type !== \"passive\"\n ? \"smallAction\"\n : size === \"small\"\n ? \"small\"\n : size === \"medium\" && type !== \"passive\"\n ? \"mediumAction\"\n : \"medium\"\n ],\n\n scrollbarGutter: \"stable\",\n \"::-webkit-scrollbar\": {\n width: size === \"small\" ? \"10px\" : \"14px\",\n },\n \"::webkit-scrollbar-track\": {\n background: \"transparent\",\n },\n \"::-webkit-scrollbar-thumb\": {\n backgroundClip: \"padding-box\",\n border: `2px solid transparent`,\n /**\n * Figma's border-radius is 6px, but actual border radius is 10px since padding 2px is added.\n */\n borderRadius: \"10px\",\n backgroundColor: theme.palette.lunit_token.component.scrollbars_bg,\n },\n },\n\n \"& #dialog-action\": {\n ...DIALOG_ACTION_STYLE[size === \"small\" ? \"small\" : \"medium\"],\n },\n })\n);\n\nexport const StyledDialogTitle = styled(\"header\")({\n display: \"flex\",\n width: \"100%\",\n flex: \"0 0 auto\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n gap: \"8px\",\n});\n\nexport const StyledDialogTitleIconWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"center\",\n width: \"20px\",\n height: \"20px\",\n \"& .MuiSvgIcon-root\": {\n display: \"flex\",\n justifyContent: \"center\",\n width: \"20px\",\n height: \"20px\",\n fontSize: \"20px\",\n },\n});\n\nexport const StyledDialogContent = styled(\"div\")(({ theme }) => ({\n ...theme.typography.body2_14_regular,\n flex: \"1 1 auto\",\n overflowY: \"scroll\",\n}));\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/material\");","import { OUTLINED_BORDER_WIDTH } from \"../const\";\n\nimport type { ButtonProps } from \"../Button.types\";\nimport { ToggleButtonProps } from \"@/components/ToggleButton/ToggleButton.types\";\n\ntype GetButtonPaddingBySizeAndKindParams = Pick<ButtonProps, \"kind\" | \"size\"> &\n Pick<ToggleButtonProps, \"selected\">;\n\n/**\n * When kind is outlined,\n * the padding value must include the border width of outlined.\n * This function takes care of this.\n */\nexport const getButtonPaddingBySizeAndKind = ({\n kind,\n size,\n selected = false,\n}: GetButtonPaddingBySizeAndKindParams) => {\n if (size === \"small\") {\n return kind === \"outlined\" && !selected\n ? `${4 - OUTLINED_BORDER_WIDTH}px ${8 - OUTLINED_BORDER_WIDTH}px`\n : \"4px 8px\";\n }\n\n if (size === \"medium\") {\n return kind === \"outlined\" && !selected\n ? `${8 - OUTLINED_BORDER_WIDTH}px ${12 - OUTLINED_BORDER_WIDTH}px`\n : \"8px 12px\";\n }\n\n // size === \"large\"\n return kind === \"outlined\" && !selected\n ? `${10 - OUTLINED_BORDER_WIDTH}px ${12 - OUTLINED_BORDER_WIDTH}px`\n : \"10px 12px\";\n};\n","import { OUTLINED_BORDER_WIDTH } from \"../const\";\n\nimport type { ButtonProps } from \"../Button.types\";\nimport { ToggleButtonProps } from \"@/components/ToggleButton/ToggleButton.types\";\n\ntype GetIconButtonPaddingBySizeAndKindProps = Pick<\n ButtonProps,\n \"kind\" | \"size\"\n> &\n Pick<ToggleButtonProps, \"selected\">;\n\n/**\n * When kind is outlined,\n * the padding value must include the border width of outlined.\n * This function takes care of this.\n */\nexport const getIconButtonPaddingBySizeAndKind = ({\n kind,\n size,\n selected = false,\n}: GetIconButtonPaddingBySizeAndKindProps) => {\n if (size === \"small\") {\n return kind === \"outlined\" && !selected\n ? `${4 - OUTLINED_BORDER_WIDTH}px`\n : \"4px\";\n }\n\n if (size === \"medium\") {\n return kind === \"outlined\" && !selected\n ? `${8 - OUTLINED_BORDER_WIDTH}px`\n : \"8px\";\n }\n\n // size === \"large\"\n return kind === \"outlined\" && !selected\n ? `${12 - OUTLINED_BORDER_WIDTH}px`\n : \"12px\";\n};\n","const getHoverStyle = (backgroundColor: React.CSSProperties[\"color\"]) => ({\n position: \"relative\",\n zIndex: 0,\n backgroundColor,\n});\n\nexport default getHoverStyle;\n","import { styled } from \"@mui/material/styles\";\nimport { Button as MuiButton } from \"@mui/material\";\n\nimport { ColorToken } from \"@/foundation/colors/types\";\nimport { PADDING_OF_FOCUS, OUTLINED_BORDER_WIDTH } from \"./const\";\nimport { getButtonPaddingBySizeAndKind } from \"./utils/getButtonPaddingBySizeAndKind\";\nimport { getIconButtonPaddingBySizeAndKind } from \"./utils/getIconButtonPaddingBySizeAndKind\";\nimport getHoverStyle from \"./utils/getHoverStyle\";\n\nimport type { ButtonProps } from \"./Button.types\";\nimport type { ToggleButtonProps } from \"../ToggleButton/ToggleButton.types\";\nimport type { Typography } from \"@mui/material/styles/createTypography\";\n\ntype KindStyleParams = Pick<ButtonProps, \"kind\" | \"color\"> & {\n lunit_token: ColorToken;\n};\n\ntype CustomButtonProps = ButtonProps & { hasIconOnly: boolean };\n\ntype sizeStyleParams = Pick<\n CustomButtonProps,\n \"size\" | \"hasIconOnly\" | \"kind\"\n> &\n Pick<ToggleButtonProps, \"selected\"> & { typography: Typography };\n\nconst borderRadius = \"8px\";\n\nexport const sizeStyle = ({\n size,\n kind,\n hasIconOnly,\n typography,\n selected = false,\n}: sizeStyleParams) => ({\n ...(size === \"small\" && {\n ...typography.button2,\n padding: `${\n hasIconOnly\n ? getIconButtonPaddingBySizeAndKind({ kind, size, selected })\n : getButtonPaddingBySizeAndKind({ kind, size, selected })\n }`,\n minWidth: \"28px\",\n height: \"28px\",\n }),\n ...(size === \"medium\" && {\n ...typography.button2,\n padding: `${\n hasIconOnly\n ? getIconButtonPaddingBySizeAndKind({ kind, size, selected })\n : getButtonPaddingBySizeAndKind({ kind, size, selected })\n }`,\n minWidth: \"36px\",\n height: \"36px\",\n }),\n ...(size === \"large\" && {\n ...typography.button1,\n padding: `${\n hasIconOnly\n ? getIconButtonPaddingBySizeAndKind({ kind, size, selected })\n : getButtonPaddingBySizeAndKind({ kind, size, selected })\n }`,\n minWidth: \"44px\",\n height: \"44px\",\n }),\n});\n\nexport const kindStyle = ({ kind, color, lunit_token }: KindStyleParams) => ({\n // kind: container\n ...(kind === \"contained\" &&\n color === \"primary\" && {\n color: lunit_token.component.btn_primary_text_2,\n backgroundColor: lunit_token.component.btn_primary_bg,\n \"&:hover\": getHoverStyle(lunit_token.component.btn_primary_bg),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_primary_text_2,\n },\n }),\n ...(kind === \"contained\" &&\n color === \"secondary\" && {\n color: lunit_token.component.btn_secondary_text,\n backgroundColor: lunit_token.component.btn_secondary_bg,\n \"&:hover\": getHoverStyle(lunit_token.component.btn_secondary_bg),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_secondary_text,\n },\n }),\n ...(kind === \"contained\" &&\n color === \"error\" && {\n color: lunit_token.component.btn_primary_text_2,\n backgroundColor: lunit_token.component.btn_error_bg,\n \"&:hover\": getHoverStyle(lunit_token.component.btn_error_bg),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_primary_text_2,\n },\n }),\n // kind: ghost\n ...(kind === \"ghost\" &&\n color === \"primary\" && {\n color: lunit_token.component.btn_primary_text_1,\n border: \"none\",\n \"&:hover\": getHoverStyle(\"none\"),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_primary_text_1,\n },\n }),\n ...(kind === \"ghost\" &&\n color === \"secondary\" && {\n color: lunit_token.component.btn_secondary_text,\n border: \"none\",\n \"&:hover\": getHoverStyle(\"none\"),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_secondary_text,\n },\n }),\n ...(kind === \"ghost\" &&\n color === \"error\" && {\n color: lunit_token.component.btn_error_text,\n \"&:hover\": getHoverStyle(\"none\"),\n \"&.Mui-disabled\": {\n opacity: 0.38,\n border: \"none\",\n color: lunit_token.component.btn_error_text,\n },\n }),\n // kind: outlined\n ...(kind === \"outlined\" &&\n color === \"primary\" && {\n color: lunit_token.component.btn_primary_text_1,\n border: `${OUTLINED_BORDER_WIDTH}px solid ${lunit_token.component.btn_primary_border}`,\n \"&:hover\": getHoverStyle(\"none\"),\n \"&:hover:before\": {\n content: \"''\",\n position: \"absolute\",\n left: \"-1px\",\n top: \"-1px\",\n width: \"calc(100% + 2px)\",\n height: \"calc(100% + 2px)\",\n zIndex: -1,\n backgroundColor: lunit_token.core.hover,\n borderRadius,\n },\n \"&.Mui-disabled\": {\n opacity: 0.38,\n color: lunit_token.component.btn_primary_text_1,\n },\n }),\n ...(kind === \"outlined\" &&\n color === \"secondary\" && {\n color: lunit_token.component.btn_secondary_text,\n border: `${OUTLINED_BORDER_WIDTH}px solid ${lunit_token.core.border_medium}`,\n \"&:hover\": getHoverStyle(\"none\"),\n \"&:hover:before\": {\n content: \"''\",\n position: \"absolute\",\n left: \"-1px\",\n top: \"-1px\",\n width: \"calc(100% + 2px)\",\n height: \"calc(100% + 2px)\",\n zIndex: -1,\n backgroundColor: lunit_token.core.hover,\n borderRadius,\n },\n \"&.Mui-disabled\": {\n opacity: 0.38,\n color: lunit_token.component.btn_secondary_text,\n },\n }),\n});\n\nexport const commonStyle = ({ lunit_token }: { lunit_token: ColorToken }) =>\n ({\n fontWeight: \"500\",\n borderRadius,\n textTransform: \"initial\",\n \"&.Mui-focusVisible\": {\n \"&::after\": {\n position: \"absolute\",\n width: `calc(100% + ${PADDING_OF_FOCUS}px)`,\n height: `calc(100% + ${PADDING_OF_FOCUS}px)`,\n content: '\"\"',\n borderRadius: \"11px\",\n border: `1px solid ${lunit_token.core.focused}`,\n boxSizing: \"border-box\",\n },\n },\n \"&:hover:before\": {\n content: \"''\",\n position: \"absolute\",\n left: 0,\n top: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: -1,\n backgroundColor: lunit_token.core.hover,\n borderRadius,\n },\n } as const);\n\nexport const iconStyle = ({\n size,\n hasIconOnly,\n}: Pick<CustomButtonProps, \"size\" | \"hasIconOnly\">) => ({\n \"& .MuiButton-startIcon\": {\n margin: 0,\n marginRight: hasIconOnly ? \"0px\" : size === \"large\" ? \"8px\" : \"4px\",\n\n \"*:nth-of-type(1)\": {\n fontSize: \"20px\",\n },\n },\n});\n\nexport const CustomButton = styled(MuiButton, {\n shouldForwardProp: (prop: string) => {\n return ![\"kind\", \"hasIconOnly\", \"variant\"].includes(prop);\n },\n})<CustomButtonProps>(\n ({\n theme: {\n typography,\n palette: { lunit_token },\n },\n kind,\n size,\n color,\n hasIconOnly,\n }) => ({\n ...commonStyle({ lunit_token }),\n ...iconStyle({ size, hasIconOnly }),\n ...sizeStyle({ size, kind, hasIconOnly, typography }),\n ...kindStyle({ kind, color, lunit_token }),\n })\n);\n","import React, { forwardRef } from \"react\";\n\nimport { CustomButton } from \"./Button.styled\";\n\nimport type {\n ButtonType,\n ButtonProps,\n GhostButtonProps,\n OutlinedButtonProps,\n ContainedButtonProps,\n} from \"./Button.types\";\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const { kind, variant, icon, children, startIcon } = props;\n const hasIconOnly = Boolean((startIcon || icon) && !children);\n\n if (kind === \"outlined\" || variant === \"outlined\") {\n return <OutlinedButton {...props} ref={ref} hasIconOnly={hasIconOnly} />;\n }\n\n if (kind === \"ghost\" || variant === \"text\" || variant === \"ghost\") {\n return <GhostButton {...props} ref={ref} hasIconOnly={hasIconOnly} />;\n }\n\n return (\n <ContainedButton\n {...props}\n kind=\"contained\"\n variant=\"contained\"\n ref={ref}\n hasIconOnly={hasIconOnly}\n />\n );\n\n /**\n * There is an issue between React 18, Mui's OverridableComponent type and the\n * type coercion to temporarily fix it.\n * https://github.com/lunit-io/design-system/pull/143#issuecomment-1831127232\n */\n}) as ButtonType;\n\nconst GhostButton = forwardRef<\n HTMLButtonElement,\n GhostButtonProps & { hasIconOnly: boolean }\n>((props, ref) => {\n const {\n size = \"small\",\n icon,\n className,\n children,\n startIcon,\n hasIconOnly,\n variant,\n ...restProps\n } = props;\n\n return (\n <CustomButton\n {...restProps}\n ref={ref}\n className={`ghost ${className ? className : \"\"}`}\n kind=\"ghost\"\n color={props.color ?? \"primary\"}\n size={size}\n startIcon={startIcon || icon}\n hasIconOnly={hasIconOnly}\n >\n {!hasIconOnly && <>{children}</>}\n </CustomButton>\n );\n});\n\nconst OutlinedButton = forwardRef<\n HTMLButtonElement,\n OutlinedButtonProps & { hasIconOnly: boolean }\n>((props, ref) => {\n const {\n size = \"small\",\n icon,\n className,\n children,\n startIcon,\n hasIconOnly,\n variant,\n ...restProps\n } = props;\n\n return (\n <CustomButton\n {...restProps}\n ref={ref}\n className={`outlined ${className ? className : \"\"}`}\n kind=\"outlined\"\n color={props.color ?? \"primary\"}\n size={size}\n startIcon={startIcon || icon}\n hasIconOnly={hasIconOnly}\n >\n {!hasIconOnly && <>{children}</>}\n </CustomButton>\n );\n});\n\nconst ContainedButton = forwardRef<\n HTMLButtonElement,\n ContainedButtonProps & { hasIconOnly: boolean }\n>((props, ref) => {\n const {\n size = \"small\",\n icon,\n className,\n children,\n startIcon,\n hasIconOnly,\n variant,\n ...restProps\n } = props;\n\n return (\n <CustomButton\n {...restProps}\n ref={ref}\n className={`${props.kind ?? \"contained\"} ${className ? className : \"\"}`}\n kind={props.kind ?? \"contained\"}\n color={props.color ?? \"primary\"}\n size={size}\n startIcon={startIcon || icon}\n hasIconOnly={hasIconOnly}\n >\n {!hasIconOnly && <>{children}</>}\n </CustomButton>\n );\n});\n\nexport default Button;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/material/Typography\");","import React from \"react\";\nimport MuiTypography from \"@mui/material/Typography\";\n\nimport type { TypographyProps } from \"@mui/material/Typography\";\nimport type { TypographyPropsVariantOverridesType } from \"../../foundation/Typography\";\n\ndeclare module \"@mui/material/Typography\" {\n interface TypographyPropsVariantOverrides\n extends TypographyPropsVariantOverridesType {}\n}\n\nconst Typography = <C extends React.ElementType>(\n props: TypographyProps<C, { component?: C }>\n) => {\n return <MuiTypography {...props} />;\n};\n\nexport default Typography;\n","import React, { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Close } from \"@lunit/design-system-icons\";\n\nimport { DialogAction } from \"./components/DialogAction\";\nimport {\n StyledBackdrop,\n StyledDialog,\n StyledDialogContent,\n StyledDialogTitle,\n StyledDialogTitleIconWrapper,\n} from \"./Dialog.styled\";\nimport Button from \"../Button\";\nimport Typography from \"../Typography\";\n\nimport type { SxProps } from \"@mui/material/styles\";\nimport type { TypographyProps } from \"@mui/material\";\n\nexport interface DialogBase {\n isOpen: boolean;\n onClose(): void;\n type?: \"passive\" | \"action\"; // default passive\n nonModal?: boolean; // default false\n title: string;\n titleIcon?: React.ReactNode;\n titleVariant?: TypographyProps[\"variant\"];\n children: React.ReactNode;\n actions?: React.ReactNode;\n enableBackButtonClose?: boolean; // only for passive dialog\n enableBackdropClose?: boolean;\n size?: \"small\" | \"medium\"; // default \"small\"\n sx?: SxProps;\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport interface PassiveDialogType extends DialogBase {\n type: \"passive\";\n actions?: undefined;\n enableBackButtonClose?: true;\n enableBackdropClose?: true;\n}\nexport interface ActionDialogType extends DialogBase {\n type: \"action\";\n actions: React.ReactNode;\n enableBackButtonClose?: false;\n enableBackdropClose?: boolean;\n}\n\nexport interface PassiveModalProps extends PassiveDialogType {\n nonModal?: false;\n}\nexport interface ActionModalProps extends ActionDialogType {\n nonModal?: false;\n}\nexport type ModalProps = PassiveModalProps | ActionModalProps;\n\nexport interface PassiveNonModalProps extends PassiveDialogType {\n nonModal?: true;\n}\nexport interface ActionNonModalProps extends ActionDialogType {\n nonModal?: true;\n enableBackdropClose?: false;\n}\nexport type NonModalProps = PassiveNonModalProps | ActionNonModalProps;\n\nexport type DialogProps = ModalProps | NonModalProps;\n\nfunction Dialog(props: DialogProps) {\n const { isOpen, type, nonModal = false, onClose } = props;\n\n const isActionModal = type === \"action\" && !nonModal;\n const isPassiveModal = type === \"passive\" && !nonModal;\n\n function handleBackdropClose(e: React.MouseEvent<HTMLDivElement>) {\n const isClosable =\n isPassiveModal || (isActionModal && props.enableBackdropClose);\n\n if (!isClosable) return;\n if (e.target !== e.currentTarget) return;\n\n onClose();\n }\n\n useEffect(() => {\n const isClosable = isOpen && isPassiveModal;\n if (!isClosable) return;\n\n function handleEscClose(event: KeyboardEvent) {\n if (event.key === \"Escape\") onClose();\n }\n function handleBackButtonClose(event: KeyboardEvent) {\n if (event.key === \"Backspace\") onClose();\n }\n\n document.addEventListener(\"keydown\", handleEscClose);\n document.addEventListener(\"keydown\", handleBackButtonClose);\n\n return () => {\n document.removeEventListener(\"keydown\", handleEscClose);\n document.removeEventListener(\"keydown\", handleBackButtonClose);\n };\n }, [isOpen, isPassiveModal, onClose]);\n\n if (!isOpen) return null;\n return createPortal(\n nonModal ? (\n <DialogBase dialogProps={{ ...props }} />\n ) : (\n <StyledBackdrop\n onClick={handleBackdropClose}\n data-testid=\"dialog-backdrop\"\n >\n <DialogBase dialogProps={{ ...props }} />\n </StyledBackdrop>\n ),\n\n document.body\n );\n}\n\nfunction DialogBase({ dialogProps }: { dialogProps: DialogBase }) {\n const {\n nonModal = false,\n onClose,\n title,\n titleIcon,\n titleVariant = \"headline5\",\n children,\n actions,\n type,\n size = \"small\",\n sx,\n style,\n className,\n } = dialogProps;\n\n return (\n <StyledDialog\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n size={size}\n nonModal={nonModal}\n type={type}\n sx={{\n ...sx,\n }}\n style={style}\n className={`dialog elevation2 ${className ?? \"\"}`}\n >\n <StyledDialogTitle id=\"dialog-title\" className=\"dialog-title-wrapper\">\n {titleIcon && (\n <StyledDialogTitleIconWrapper className=\"dialog-title-icon\">\n {titleIcon}\n </StyledDialogTitleIconWrapper>\n )}\n <Typography\n component=\"h2\"\n id=\"dialog-title-text\"\n variant={titleVariant}\n >\n {title}\n </Typography>\n {type === \"passive\" && (\n <Button\n id=\"dialog-title-close-button\"\n data-testid=\"dialog-title-close-button\"\n kind=\"ghost\"\n color=\"secondary\"\n icon={<Close />}\n onClick={onClose}\n sx={{\n marginRight: 0,\n marginLeft: \"auto\",\n }}\n />\n )}\n </StyledDialogTitle>\n <StyledDialogContent id=\"dialog-content\">{children}</StyledDialogContent>\n {type === \"action\" && actions !== null ? (\n // `actions !== null` is used to not render DialogAction when actions is undefined\n // There was a case when actions is undefined, but DialogAction is rendered with null children\n <DialogAction>{actions}</DialogAction>\n ) : null}\n </StyledDialog>\n );\n}\n\nexport default Dialog;\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","require","StyledDialogActions","styled","display","flex","alignItems","justifyContent","gap","DialogAction","props","children","sx","id","className","DIALOG_WRAPPER_STYLE","small","width","maxWidth","medium","modal","position","nonModal","top","right","DIALOG_TITLE_STYLE","height","maxHeight","padding","DIALOG_CONTENT_STYLE","paddingInline","paddingTop","paddingBottom","smallAction","paddingBlock","mediumAction","DIALOG_ACTION_STYLE","StyledBackdrop","left","backgroundColor","zIndex","placeItems","StyledDialog","theme","size","type","flexDirection","boxSizing","borderRadius","palette","lunit_token","core","bg_03","color","text_normal","scrollbarGutter","background","backgroundClip","border","component","scrollbars_bg","StyledDialogTitle","StyledDialogTitleIconWrapper","fontSize","StyledDialogContent","typography","body2_14_regular","overflowY","getButtonPaddingBySizeAndKind","kind","selected","getIconButtonPaddingBySizeAndKind","sizeStyle","hasIconOnly","button2","minWidth","button1","kindStyle","btn_primary_text_2","btn_primary_bg","opacity","btn_secondary_text","btn_secondary_bg","btn_error_bg","btn_primary_text_1","btn_error_text","btn_primary_border","content","hover","border_medium","commonStyle","fontWeight","textTransform","focused","iconStyle","margin","marginRight","CustomButton","shouldForwardProp","includes","Button","forwardRef","ref","variant","icon","startIcon","Boolean","OutlinedButton","GhostButton","ContainedButton","restProps","DialogBase","dialogProps","onClose","title","titleIcon","titleVariant","actions","style","role","Close","onClick","marginLeft","isOpen","isActionModal","isPassiveModal","useEffect","document","addEventListener","handleEscClose","handleBackButtonClose","removeEventListener","event","createPortal","e","enableBackdropClose","target","currentTarget","body"],"sourceRoot":""}