@ceed/cds 0.0.150 → 0.0.151-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/components/Accordions/Accordions.framer.js +1 -0
  2. package/dist/components/Accordions/Accordions.js +1 -0
  3. package/dist/components/Accordions/index.js +1 -0
  4. package/dist/components/Autocomplete/Autocomplete.framer.js +1 -0
  5. package/dist/components/Autocomplete/Autocomplete.js +1 -0
  6. package/dist/components/Autocomplete/index.js +1 -0
  7. package/dist/components/Avatar/Avatar.framer.js +1 -0
  8. package/dist/components/Badge/Badge.framer.js +1 -0
  9. package/dist/components/Box/Box.js +1 -0
  10. package/dist/components/Box/index.js +1 -0
  11. package/dist/components/Breadcrumbs/Breadcrumbs.framer.js +1 -0
  12. package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -0
  13. package/dist/components/Breadcrumbs/index.js +1 -0
  14. package/dist/components/Button/Button.framer.js +1 -0
  15. package/dist/components/Button/Button.js +1 -0
  16. package/dist/components/Button/index.js +1 -0
  17. package/dist/components/Calendar/Calendar.framer.js +1 -0
  18. package/dist/components/Calendar/Calendar.js +1 -0
  19. package/dist/components/Calendar/hooks/use-calendar-props.js +1 -0
  20. package/dist/components/Calendar/hooks/use-calendar.js +1 -0
  21. package/dist/components/Calendar/index.js +1 -0
  22. package/dist/components/Calendar/types.js +0 -0
  23. package/dist/components/Calendar/utils/index.js +1 -0
  24. package/dist/components/Card/Card.js +1 -0
  25. package/dist/components/Card/index.js +1 -0
  26. package/dist/components/Checkbox/Checkbox.framer.js +1 -0
  27. package/dist/components/Checkbox/Checkbox.js +1 -0
  28. package/dist/components/Checkbox/index.js +1 -0
  29. package/dist/components/Chip/Chip.framer.js +1 -0
  30. package/dist/components/Chip/Chip.js +1 -0
  31. package/dist/components/Chip/index.js +1 -0
  32. package/dist/components/Container/Container.framer.js +1 -0
  33. package/dist/components/Container/Container.js +1 -0
  34. package/dist/components/Container/index.js +1 -0
  35. package/dist/components/CurrencyInput/CurrencyInput.framer.js +1 -0
  36. package/dist/components/CurrencyInput/CurrencyInput.js +1 -0
  37. package/dist/components/CurrencyInput/hooks/use-currency-setting.js +1 -0
  38. package/dist/components/CurrencyInput/index.js +1 -0
  39. package/dist/components/DataTable/DataTable.framer.js +2 -0
  40. package/dist/components/DataTable/DataTable.js +1 -0
  41. package/dist/components/DataTable/index.js +1 -0
  42. package/dist/components/DataTable/types.js +0 -0
  43. package/dist/components/DatePicker/DatePicker.framer.js +1 -0
  44. package/dist/components/DatePicker/DatePicker.js +1 -0
  45. package/dist/components/DatePicker/index.js +1 -0
  46. package/dist/components/DateRangePicker/DateRangePicker.framer.js +1 -0
  47. package/dist/components/DateRangePicker/DateRangePicker.js +1 -0
  48. package/dist/components/DateRangePicker/index.js +1 -0
  49. package/dist/components/DialogActions/DialogActions.js +1 -0
  50. package/dist/components/DialogActions/index.js +1 -0
  51. package/dist/components/DialogContent/DialogContent.js +1 -0
  52. package/dist/components/DialogContent/index.js +1 -0
  53. package/dist/components/DialogFrame/DialogFrame.framer.js +1 -0
  54. package/dist/components/DialogFrame/DialogFrame.js +1 -0
  55. package/dist/components/DialogFrame/index.js +1 -0
  56. package/dist/components/DialogTitle/DialogTitle.js +1 -0
  57. package/dist/components/DialogTitle/index.js +1 -0
  58. package/dist/components/Divider/Divider.framer.js +1 -0
  59. package/dist/components/Divider/Divider.js +1 -0
  60. package/dist/components/Divider/index.js +1 -0
  61. package/dist/components/Drawer/Drawer.js +1 -0
  62. package/dist/components/Drawer/index.js +1 -0
  63. package/dist/components/Dropdown/Dropdown.js +1 -0
  64. package/dist/components/Dropdown/index.js +1 -0
  65. package/dist/components/FormControl/FormControl.framer.js +1 -0
  66. package/dist/components/FormControl/FormControl.js +1 -0
  67. package/dist/components/FormControl/index.js +1 -0
  68. package/dist/components/FormHelperText/FormHelperText.js +1 -0
  69. package/dist/components/FormHelperText/index.js +1 -0
  70. package/dist/components/FormLabel/FormLabel.js +1 -0
  71. package/dist/components/FormLabel/index.js +1 -0
  72. package/dist/components/Grid/Grid.js +1 -0
  73. package/dist/components/Grid/index.js +1 -0
  74. package/dist/components/IconButton/IconButton.framer.js +1 -0
  75. package/dist/components/IconButton/IconButton.js +1 -0
  76. package/dist/components/IconButton/index.js +1 -0
  77. package/dist/components/Input/Input.framer.js +1 -0
  78. package/dist/components/Input/Input.js +1 -0
  79. package/dist/components/Input/index.js +1 -0
  80. package/dist/components/InsetDrawer/InsetDrawer.js +1 -0
  81. package/dist/components/InsetDrawer/index.js +1 -0
  82. package/dist/components/Link/Link.framer.js +1 -0
  83. package/dist/components/Markdown/Markdown.framer.js +1 -0
  84. package/dist/components/Markdown/Markdown.js +1 -0
  85. package/dist/components/Markdown/index.js +1 -0
  86. package/dist/components/Menu/Menu.js +1 -0
  87. package/dist/components/Menu/index.js +1 -0
  88. package/dist/components/MenuButton/MenuButton.framer.js +1 -0
  89. package/dist/components/Modal/Modal.framer.js +1 -0
  90. package/dist/components/Modal/Modal.js +1 -0
  91. package/dist/components/Modal/index.js +1 -0
  92. package/dist/components/MonthPicker/MonthPicker.framer.js +1 -0
  93. package/dist/components/MonthPicker/MonthPicker.js +1 -0
  94. package/dist/components/MonthPicker/index.js +1 -0
  95. package/dist/components/MonthRangePicker/MonthRangePicker.framer.js +1 -0
  96. package/dist/components/MonthRangePicker/MonthRangePicker.js +1 -0
  97. package/dist/components/MonthRangePicker/index.js +1 -0
  98. package/dist/components/NavigationGroup/NavigationGroup.js +1 -0
  99. package/dist/components/NavigationGroup/index.js +1 -0
  100. package/dist/components/NavigationItem/NavigationItem.js +1 -0
  101. package/dist/components/NavigationItem/index.js +1 -0
  102. package/dist/components/Navigator/Navigator.framer.js +3 -0
  103. package/dist/components/Navigator/Navigator.js +1 -0
  104. package/dist/components/Navigator/index.js +1 -0
  105. package/dist/components/Radio/Radio.js +1 -0
  106. package/dist/components/Radio/index.js +1 -0
  107. package/dist/components/RadioList/RadioList.framer.js +1 -0
  108. package/dist/components/RadioList/RadioList.js +1 -0
  109. package/dist/components/RadioList/index.js +1 -0
  110. package/dist/components/Select/Select.framer.js +1 -0
  111. package/dist/components/Select/Select.js +1 -0
  112. package/dist/components/Select/index.js +1 -0
  113. package/dist/components/Sheet/Sheet.framer.js +1 -0
  114. package/dist/components/Sheet/Sheet.js +1 -0
  115. package/dist/components/Sheet/index.js +1 -0
  116. package/dist/components/Skeleton/Skeleton.framer.js +1 -0
  117. package/dist/components/Stack/Stack.js +1 -0
  118. package/dist/components/Stack/index.js +1 -0
  119. package/dist/components/Stepper/Stepper.framer.js +1 -0
  120. package/dist/components/Stepper/Stepper.js +1 -0
  121. package/dist/components/Stepper/index.js +1 -0
  122. package/dist/components/Switch/Switch.framer.js +1 -0
  123. package/dist/components/Switch/Switch.js +1 -0
  124. package/dist/components/Switch/index.js +1 -0
  125. package/dist/components/Table/Table.js +1 -0
  126. package/dist/components/Table/index.js +1 -0
  127. package/dist/components/Tabs/Tabs.framer.js +1 -0
  128. package/dist/components/Tabs/Tabs.js +1 -0
  129. package/dist/components/Tabs/index.js +1 -0
  130. package/dist/components/Textarea/Textarea.framer.js +1 -0
  131. package/dist/components/Textarea/Textarea.js +1 -0
  132. package/dist/components/Textarea/index.js +1 -0
  133. package/dist/components/ThemeProvider/ThemeProvider.js +1 -0
  134. package/dist/components/ThemeProvider/index.js +1 -0
  135. package/dist/components/Tooltip/Tooltip.js +1 -0
  136. package/dist/components/Tooltip/index.js +1 -0
  137. package/dist/components/Typography/Typography.framer.js +1 -0
  138. package/dist/components/Typography/Typography.js +1 -0
  139. package/dist/components/Typography/index.js +1 -0
  140. package/dist/components/Uploader/Uploader.framer.js +1 -0
  141. package/dist/components/Uploader/Uploader.js +1 -0
  142. package/dist/components/Uploader/index.js +1 -0
  143. package/dist/components/index.js +1 -0
  144. package/dist/framer-entrypoint.js +1 -0
  145. package/dist/hooks/use-controlled-state/index.js +1 -0
  146. package/dist/index.js +1 -1
  147. package/dist/libs/rehype-accent/index.js +1 -0
  148. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const l={variant:{title:"Variant",type:t.Enum,options:["outlined","plain","solid","soft"],defaultValue:"plain"},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"],defaultValue:"neutral"},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},disableDivider:{title:"Disable Divider",type:t.Boolean,defaultValue:!1},summaries:{title:"Summaries",type:t.Array,control:{type:t.String},defaultValue:[]},details:{title:"Details",type:t.Array,control:{type:t.ComponentInstance},defaultValue:[]}};export{l as accordionsPropertyControls};
@@ -0,0 +1 @@
1
+ import c from"react";import{AccordionGroup as p,Accordion as y,AccordionSummary as u,AccordionDetails as f}from"@mui/joy";import{motion as a}from"framer-motion";const M=a(u),e=M;e.displayName="AccordionSummary";const v=a(f),m=v;m.displayName="AccordionDetails";const N=a(y);function A(s){const{summary:i,details:n,variant:d,color:o,...t}=s,r=d==="solid"?"solid":void 0;return c.createElement(N,{variant:r,color:o,...t},c.createElement(e,{variant:r,color:o},i),c.createElement(m,{variant:r,color:o},n))}A.displayName="Accordion";const x=a(p);function l(s){const{variant:i,color:n,items:d,...o}=s;return c.createElement(x,{variant:i,color:n,...o},d.map((t,r)=>c.createElement(A,{summary:t.summary,details:t.details,index:r,variant:i,color:n})))}l.displayName="Accordions";export{A as Accordion,m as AccordionDetails,e as AccordionSummary,l as Accordions};
@@ -0,0 +1 @@
1
+ import{Accordions as o}from"./Accordions";export*from"./Accordions";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const l={onChange:{type:t.EventHandler},label:{title:"Label",type:t.String},helperText:{title:"Helper Text",type:t.String},error:{title:"Error",type:t.Boolean,defaultValue:!1},defaultValue:{title:"Default Value",type:t.String,defaultValue:void 0},options:{title:"Options",type:t.Array,control:{type:t.Object,controls:{label:{title:"Label",type:t.String},chips:{title:"Chips",type:t.Object,controls:{start:{title:"Start",type:t.Object,controls:{label:{title:"Label",type:t.String},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]}}},end:{title:"End",type:t.Object,controls:{label:{title:"Label",type:t.String},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]}}}}}}},defaultValue:[{label:"Option1",chips:{}},{label:"Option2",chips:{}},{label:"Option3",chips:{}}]},placeholder:{title:"Placeholder",type:t.String,defaultValue:"Select an option"},variant:{title:"Variant",type:t.Enum,options:["outlined","plain","solid","soft"],defaultValue:"outlined"},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},startDecorator:{title:"Start Decorator",type:t.ComponentInstance},disabled:{title:"Disabled",type:t.Boolean,defaultValue:!1},required:{title:"Required",type:t.Boolean,defaultValue:!1}};export{l as autocompletePropertyControls};
@@ -0,0 +1 @@
1
+ import t,{useCallback as C,useEffect as R,useMemo as h,useRef as J}from"react";import{Autocomplete as N,AutocompleteOption as $,ListSubheader as F,AutocompleteListbox as H,ListItemDecorator as w,CircularProgress as q,styled as P}from"@mui/joy";import B from"@mui/icons-material/esm/Close.js";import{useVirtualizer as G}from"@tanstack/react-virtual";import{Popper as U}from"@mui/base";import W from"../FormControl";import _ from"../FormLabel";import j from"../FormHelperText";import Y from"../Chip";import K from"../IconButton";import Q from"../Stack";import{useControlledState as X}from"../../hooks/use-controlled-state";const Z=P(U,{name:"Autocomplete",slot:"Popper"})(({theme:o})=>({zIndex:o.zIndex.tooltip})),ee=t.forwardRef((o,i)=>{const{anchorEl:y,open:m,modifiers:b,children:n,ownerState:{loading:O,size:x="md"},...D}=o,A=J(null),E=n[0].every(l=>l.hasOwnProperty("group")),g=O?[n[1]]:n[0].length===0?[n[2]]:E?n[0].flatMap(l=>[t.createElement(F,{key:l.key,component:"li"},l.group),...l.children]):n[0],c=G({count:g.length,estimateSize:()=>36,getScrollElement:()=>A.current,measureElement:l=>l.clientHeight,overscan:5}),d=c.getVirtualItems();return R(()=>{m&&c.measure()},[m,c]),t.createElement(Z,{ref:i,anchorEl:y,open:m,modifiers:b},t.createElement(H,{...D},t.createElement("div",{ref:A,style:{overflow:"auto"}},t.createElement("div",{style:{height:`${c.getTotalSize()}px`,position:"relative"}},d.map(({index:l,size:f,start:s,key:p})=>t.cloneElement(g[l],{key:p,style:{position:"absolute",top:0,left:0,width:"100%",fontSize:`var(--ceed-fontSize-${x})`,height:`${f}px`,transform:`translateY(${s}px)`,overflow:"visible"},children:t.createElement("div",{style:{textOverflow:"ellipsis",textWrap:"nowrap",overflow:"hidden",width:"100%"}},g[l].props.children)}))))))}),V={sm:"20px",md:"24px",lg:"28px"},te=P(K,{name:"Autocomplete",slot:"tagDelete"})(({theme:o,size:i="md"})=>({width:V[i],height:V[i],minWidth:V[i],minHeight:V[i],borderRadius:"50%"}));function S(o){const{label:i,error:y,helperText:m,color:b,size:n,disabled:O,required:x,onChange:D,onChangeComplete:A,sx:E,className:g,...c}=o,[d,l]=X(o.value,o.defaultValue||"",C(e=>D?.({target:{value:e,name:o.name}}),[D,o.name])),f=h(()=>o.options.map(e=>typeof e!="object"?{value:e,label:e}:e),[o.options]),s=h(()=>{const e=new Map;return f.forEach(r=>{e.set(r.value,r)}),e},[f]),p=h(()=>o.loading?{value:"",label:"",startDecorator:t.createElement(q,{size:"sm",color:"neutral",variant:"plain",thickness:3})}:Array.isArray(d)?d.map(e=>s.get(e||"")):s.get(d),[d,s,o.loading]),u=C(e=>t.isValidElement(e)&&!o.loading?t.cloneElement(e,{size:n}):e,[n,o.loading]),T=h(()=>u(p?.startDecorator||o.startDecorator),[p,u,o.startDecorator]),L=h(()=>u(p?.endDecorator||o.endDecorator),[p,u,o.endDecorator]),I=C((e,r)=>{const a=r,M=Array.isArray(a)?a.map(v=>v.value):a?.value;l(M),(Array.isArray(a)&&a.map(v=>s.get(v.value))||s.get(a?.value))&&A?.({...e,target:{...e.target,value:M}})},[A,l,s]),k=t.createElement(N,{...c,required:x,onChange:I,color:y?"danger":b,value:p||null,options:f,size:n,disabled:O,startDecorator:T,endDecorator:L,getOptionLabel:e=>`${e.value??""}`,renderTags:(e,r)=>e.map((a,M)=>{const{onClick:v,...z}=r({index:M});return u(t.createElement(Y,{color:"primary",...z},t.createElement(Q,{direction:"row",alignItems:"center",gap:2,py:.5},a.value,u(t.createElement(te,{color:"primary",variant:"soft",onClick:v},t.createElement(B,null))))))}),slots:{listbox:ee},renderOption:(e,r)=>t.createElement($,{...e},r.startDecorator&&t.createElement(w,{sx:a=>({marginInlineEnd:`var(--Input-gap, ${a.spacing(1)})`})},u(r.startDecorator)),u(r.label),r.endDecorator&&t.createElement(w,{sx:a=>({marginInlineStart:`var(--Input-gap, ${a.spacing(1)})`})},u(r.endDecorator))),renderGroup:e=>e});return t.createElement(W,{required:x,color:b,size:n,error:y,disabled:O,sx:E,className:g},i&&t.createElement(_,null,i),k,m&&t.createElement(j,null,m))}S.displayName="Autocomplete";export{S as Autocomplete};
@@ -0,0 +1 @@
1
+ import{Autocomplete as o}from"./Autocomplete";export*from"./Autocomplete";var e=o;export{e as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={text:{title:"Text",type:t.String,defaultValue:"Tim"},image:{title:"Image",type:t.ResponsiveImage},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"],defaultValue:"neutral"},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},variant:{title:"Variant",type:t.Enum,options:["outlined","plain","solid","soft"],defaultValue:void 0}};export{o as avatarPropertyControls};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const e={badgeContent:{type:t.String},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]},variant:{title:"Variant",type:t.Enum,options:["solid","outlined","soft","plain"],defaultValue:"outlined"},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"}};export{e as badgePropertyControls};
@@ -0,0 +1 @@
1
+ import{Box as t}from"@mui/joy";import{motion as m}from"framer-motion";const r=m(t),o=r;o.displayName="Box";export{o as Box};
@@ -0,0 +1 @@
1
+ import{Box as o}from"./Box";export*from"./Box";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const l={items:{title:"Items",type:t.Array,control:{type:t.Object,controls:{label:{title:"Label",type:t.String,defaultValue:"Home"},href:{title:"Href",type:t.Link,defaultValue:""}}},defaultValue:[]},separator:{title:"Separator",type:t.ComponentInstance},startCrumbCount:{title:"Start Crumb Count",type:t.Number,defaultValue:1},endCrumbCount:{title:"End Crumb Count",type:t.Number,defaultValue:3},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},collapsed:{title:"Collapsed",type:t.Boolean,defaultValue:!1}};export{l as breadcrumbsPropertyControls};
@@ -0,0 +1 @@
1
+ import n from"react";import{Breadcrumbs as y,Link as B}from"@mui/joy";import P,{MenuButton as g,MenuItem as M}from"../Menu";import h from"../Dropdown";import x from"../Typography";function u(b){const{crumbs:s,size:t,startCrumbCount:o=1,endCrumbCount:p=3,slots:{link:i,...a}={link:B},slotProps:{link:k,...c}={link:{color:"neutral"}},...d}=b,e=Math.max(1,p),l=r=>r.type==="link"&&i?n.createElement(i,{to:r.linkHref,href:r.linkHref,...k},r.label):n.createElement(x,null,r.label),C=s.slice(0,o).map(r=>n.createElement(l,{...r})),f=(o+e>s.length?s.slice(o):s.slice(-e)).map(r=>n.createElement(l,{...r})),m=s.slice(o,-e).map(r=>n.createElement(M,null,n.createElement(l,{...r})));return n.createElement(y,{size:t,slots:a,slotProps:c,...d},C,m.length&&n.createElement(h,null,n.createElement(g,{size:t,variant:"plain"},"..."),n.createElement(P,{size:t},m)),f)}u.displayName="Breadcrumbs";export{u as Breadcrumbs};
@@ -0,0 +1 @@
1
+ import{Breadcrumbs as r}from"./Breadcrumbs";export*from"./Breadcrumbs";var e=r;export{e as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const n={text:{title:"Text",type:t.String,defaultValue:"Press me"},onTap:{type:t.EventHandler},disabled:{title:"Disabled",type:t.Boolean,defaultValue:!1},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]},variant:{title:"Variant",type:t.Enum,options:["solid","outlined","soft","plain"]},loading:{title:"Loading",type:t.Boolean,defaultValue:!1},endDecorator:{title:"End Decorator",type:t.ComponentInstance},startDecorator:{title:"Start Decorator",type:t.ComponentInstance},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},modalContents:{title:"Modal Contents",type:t.Array,control:{type:t.ComponentInstance}},enablePortal:{type:t.Boolean,description:"\uD574\uB2F9 \uBC84\uD2BC\uACFC \uC5F0\uACB0\uB41C \uBAA8\uB2EC\uC774 \uCEE8\uD150\uCE20 \uC548\uC5D0\uC11C \uC5F4\uB9AC\uBA74 \uC774 \uAC12\uC744 Yes\uB85C \uC124\uC815\uD574 \uBCF4\uC138\uC694.",defaultValue:!1,hidden:({modalContents:e})=>e.length===0}};export{n as buttonPropertyControls};
@@ -0,0 +1 @@
1
+ import r,{forwardRef as s}from"react";import{Button as i}from"@mui/joy";import{motion as p}from"framer-motion";const e=p(i),o=s((t,n)=>r.createElement(e,{ref:n,...t}));o.displayName="Button";export{o as Button};
@@ -0,0 +1 @@
1
+ import{Button as o}from"./Button";export*from"./Button";var r=o;export{r as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const t={onChange:{title:"onChange",type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1}};export{t as calendarPropertyControls};
@@ -0,0 +1 @@
1
+ import t,{Fragment as g,forwardRef as T,useMemo as y}from"react";import{styled as d}from"@mui/joy";import $ from"@mui/icons-material/esm/ChevronLeft.js";import V from"@mui/icons-material/esm/ChevronRight.js";import{AnimatePresence as w,motion as F}from"framer-motion";import h from"../Button";import H from"../Typography";import{getCalendarDates as A,getMonthNameFromIndex as z,getWeekdayNames as I}from"./utils";import b from"../IconButton";import{useCalendarProps as E}from"./hooks/use-calendar-props";import{useCalendar as m}from"./hooks/use-calendar";const N=d("div",{name:"Calendar",slot:"root"})({maxWidth:"264px"}),_=d("div",{name:"Calendar",slot:"calendarHeader"})(({theme:e})=>({display:"flex",justifyContent:"space-between",alignItems:"center",padding:e.spacing(2)})),v=d("div",{name:"Calendar",slot:"viewContainer",shouldForwardProp:e=>e!=="calendarType"})(({theme:e,calendarType:r})=>({paddingLeft:e.spacing(2),paddingRight:e.spacing(2),position:"relative",overflow:"hidden",minHeight:r==="datePicker"?"250px":"unset"})),f=d(F.table,{name:"Calendar",slot:"viewTable"})(({theme:e})=>({borderSpacing:0,"& td, & th":{padding:0},"& th":{paddingTop:e.spacing(2),paddingBottom:e.spacing(2)}})),O=d("thead",{name:"Calendar",slot:"weekHeaderContainer"})({}),W=d("tbody",{name:"Calendar",slot:"dayPickerContainer"})({}),L=d(h,{name:"Calendar",slot:"switchViewButton"})(({ownerState:e})=>[e.view==="month"&&{pointerEvents:"none"}]),Y=d("td",{name:"Calendar",slot:"dayCell"})(({theme:e})=>({"&[aria-current=date]":{position:"relative","& button[aria-current=date]:not([aria-selected=true]):not(:hover):not(:active)":{backgroundColor:`rgb(${e.palette.primary.lightChannel})`},'& + td[aria-hidden] + td[aria-current="date"]::before':{content:'""',position:"absolute",top:0,left:"-10px",bottom:0,width:"16px",backgroundColor:`rgb(${e.palette.primary.lightChannel})`,zIndex:-1}}})),j=d("td",{name:"Calendar",slot:"monthCell"})(({theme:e})=>({"&[aria-current=date]":{position:"relative","& button[aria-current=date]:not([aria-selected=true]):not(:hover):not(:active)":{backgroundColor:`rgb(${e.palette.primary.lightChannel})`},'& + td[aria-hidden] + td[aria-current="date"]::before':{content:'""',position:"absolute",top:0,left:"-10px",bottom:0,width:"16px",backgroundColor:`rgb(${e.palette.primary.lightChannel})`,zIndex:-1}}})),q=d(h,{name:"Calendar",slot:"month",shouldForwardProp:e=>e!=="isSelected"})(({theme:e,isSelected:r,disabled:s})=>[{width:"59px",textAlign:"center","&:hover":{color:e.palette.primary.softColor,backgroundColor:e.palette.primary.softHoverBg},"&:active":{color:e.palette.primary.softColor,backgroundColor:e.palette.primary.softActiveBg}},r&&{backgroundColor:e.palette.primary.solidBg,color:e.palette.primary.solidColor,"&:hover":{color:e.palette.primary.solidColor,backgroundColor:e.palette.primary.solidHoverBg},"&:active":{color:e.palette.primary.solidColor,backgroundColor:e.palette.primary.solidActiveBg}},s&&{color:e.palette.neutral.solidDisabledColor,backgroundColor:e.palette.neutral.solidDisabledBg}]),G=d(h,{name:"Calendar",slot:"day",shouldForwardProp:e=>!["isToday","isSelected"].includes(e)})(({theme:e,isToday:r,isSelected:s,disabled:p})=>[{width:"32px",height:"32px",textAlign:"center","&:hover":{color:e.palette.primary.softColor,backgroundColor:e.palette.primary.softHoverBg},"&:active":{color:e.palette.primary.softColor,backgroundColor:e.palette.primary.softActiveBg}},r&&!s&&{"&:not([aria-current=date]):not(:hover)":{border:`1px solid ${e.palette.neutral.outlinedBorder}`}},s&&{backgroundColor:e.palette.primary.solidBg,color:e.palette.primary.solidColor,"&:hover":{color:e.palette.primary.solidColor,backgroundColor:e.palette.primary.solidHoverBg},"&:active":{color:e.palette.primary.solidColor,backgroundColor:e.palette.primary.solidActiveBg}},p&&{color:e.palette.neutral.solidDisabledColor,backgroundColor:e.palette.neutral.solidDisabledBg}]),k={enter:e=>({x:e>0?300:-300,opacity:0}),center:{position:"relative",zIndex:1,x:0,opacity:1},exit:e=>({position:"absolute",zIndex:0,x:e<0?300:-300,opacity:0})},u=1e4,M=(e,r)=>Math.abs(e)*r,J=e=>{const{ownerState:r}=e,{getPickerDayProps:s,getDayCellProps:p}=m(r),c=y(()=>A(r.viewMonth),[r.viewMonth]),C=y(()=>I(r.locale||"default"),[r.locale]);return t.createElement(v,{calendarType:"datePicker"},t.createElement(w,{initial:!1,custom:r.direction},t.createElement(f,{key:`${r.viewMonth.toString()}_${r.direction}`,custom:r.direction,variants:k,initial:"enter",animate:"center",exit:"exit",transition:{x:{type:"spring",stiffness:300,damping:30},opacity:{duration:.2}},drag:"x",dragConstraints:{left:0,right:0},dragElastic:1,onDragEnd:(o,{offset:n,velocity:i})=>{const l=M(n.x,i.x);if(l<-u){const a=new Date(r.viewMonth||new Date);a.setMonth(a.getMonth()+1),r.onMonthChange?.(a)}else if(l>u){const a=new Date(r.viewMonth||new Date);a.setMonth(a.getMonth()-1),r.onMonthChange?.(a)}}},t.createElement(O,null,t.createElement("tr",null,C.map((o,n)=>t.createElement(g,{key:`${r.viewMonth}_${o}_${n}`},t.createElement("th",null,t.createElement(H,{level:"body-xs",textAlign:"center"},o)),n<6&&t.createElement("th",{style:{width:4},"aria-hidden":"true","aria-description":"cell-gap"}))))),t.createElement(W,null,c.map((o,n)=>t.createElement(g,{key:`${r.viewMonth}_${n}`},t.createElement("tr",null,o.map((i,l)=>i?t.createElement(g,{key:l},t.createElement(Y,{...p(i)},t.createElement(G,{size:"sm",variant:"plain",color:"neutral",...s(i)},i)),l<6&&t.createElement("td",{"aria-hidden":"true","aria-description":"cell-gap"})):t.createElement(g,{key:l},t.createElement("td",null),l<6&&t.createElement("td",{"aria-hidden":"true","aria-description":"cell-gap"})))),n<c.length-1&&t.createElement("tr",{"aria-hidden":"true","aria-description":"row-gap"},t.createElement("td",{colSpan:13,style:{height:4}}))))))))},K=e=>{const{ownerState:r}=e,{getPickerMonthProps:s,getMonthCellProps:p}=m(r),c=Array.from({length:12},(o,n)=>n).reduce((o,n)=>(o[o.length-1].length===4&&o.push([]),o[o.length-1].push(n),o),[[]]),C=!r.views?.find(o=>o==="day");return t.createElement(v,{calendarType:C?"monthPicker":"datePicker"},t.createElement(w,{initial:!1,custom:r.direction},t.createElement(f,{key:`${r.viewMonth.getFullYear()}_${r.direction}`,custom:r.direction,variants:k,initial:"enter",animate:"center",exit:"exit",transition:{x:{type:"spring",stiffness:300,damping:30},opacity:{duration:.2}},drag:"x",dragConstraints:{left:0,right:0},dragElastic:1,onDragEnd:(o,{offset:n,velocity:i})=>{const l=M(n.x,i.x);if(l<-u){const a=new Date(r.viewMonth||new Date);a.setMonth(a.getMonth()+1),r.onMonthChange?.(a)}else if(l>u){const a=new Date(r.viewMonth||new Date);a.setMonth(a.getMonth()-1),r.onMonthChange?.(a)}}},t.createElement("tbody",null,c.map((o,n)=>t.createElement(g,{key:n},t.createElement("tr",null,o.map((i,l)=>t.createElement(g,{key:i},t.createElement(j,{...p(i)},t.createElement(q,{size:"sm",variant:"plain",color:"neutral",...s(i)},z(i,r.locale))),l<3&&t.createElement("td",{style:{width:4},"aria-hidden":"true","aria-description":"cell-gap"})))),n<c.length-1&&t.createElement("tr",{"aria-hidden":"true","aria-description":"row-gap"},t.createElement("td",{colSpan:7,style:{height:4}}))))))))},x=T((e,r)=>{const[s,p]=E(e),{value:c,defaultValue:C,onChange:o,locale:n,onViewChange:i,onMonthChange:l,view:a,views:Q,rangeSelection:U,minDate:X,maxDate:Z,disableFuture:R,disablePast:ee,...P}=s,{calendarTitle:D,onPrev:S,onNext:B}=m(p);return t.createElement(N,{ref:r,...P},t.createElement(_,null,t.createElement(b,{size:"sm",onClick:S,"aria-label":`Previous ${a==="day"?"Month":"Year"}`},t.createElement($,null)),t.createElement(L,{ownerState:p,variant:"plain",color:"neutral",onClick:i,"aria-label":"Switch Calendar View"},D),t.createElement(b,{size:"sm",onClick:B,"aria-label":`Next ${a==="day"?"Month":"Year"}`},t.createElement(V,null))),a==="day"&&t.createElement(J,{ownerState:p}),a==="month"&&t.createElement(K,{ownerState:p}))});x.displayName="Calendar";export{x as Calendar};
@@ -0,0 +1 @@
1
+ import{useCallback as C,useMemo as f,useState as o}from"react";import{useThemeProps as v}from"@mui/joy";const D=(e,n)=>n.includes(e)?e:n[0],F=e=>{const[n,V]=o(()=>D(e.view||"day",e.views||["day","month"])),[c,w]=o(e.defaultValue),[a,i]=o(()=>{const t=new Date;return t.setDate(1),t.setHours(0,0,0,0),e.value?.[0]||e.defaultValue?.[0]||t}),[[r,s],h]=o([0,0]),l=e.view??n,d=t=>{h([r+t,t])},g=C(t=>{i(t),l==="month"?a.getFullYear()!==t.getFullYear()&&d(t>a?1:-1):d(t>a?1:-1),e.onMonthChange?.(t)},[e.onMonthChange,a,l]),u=v({props:{locale:"default",views:["day","month"],view:l,value:e.value??c,...e,onChange:e.value?e.onChange:t=>{w(t),e.onChange?.(t)},onMonthChange:g,onViewChange:()=>{const t=l==="month"?"day":"month";!(!e.views||e.views.includes(t))||e.view===t||(e.onViewChange?e.onViewChange(t):V(t))}},name:"Calendar"}),m=f(()=>({...u,viewMonth:a,direction:s}),[u,a,s]);return[u,m]};export{F as useCalendarProps};
@@ -0,0 +1 @@
1
+ import{useCallback as c,useState as f}from"react";import{isToday as y,isSameDay as C,isWithinRange as u,getMonthName as o,getYearName as x,isSameMonth as g}from"../utils";const F=e=>{const[h,M]=f(null),[v,m]=f(null);return{calendarTitle:e.view==="month"?x(e.viewMonth,e.locale||"default"):o(e.viewMonth,e.locale||"default"),onPrev:c(()=>{if(e.view==="day"){const i=new Date(e.viewMonth||new Date);i.setMonth(i.getMonth()-1),e.onMonthChange?.(i)}else if(e.view==="month"){const i=new Date(e.viewMonth||new Date);i.setFullYear(i.getFullYear()-1),e.onMonthChange?.(i)}},[e.onMonthChange,e.viewMonth,e.view]),onNext:c(()=>{if(e.view==="day"){const i=new Date(e.viewMonth||new Date);i.setMonth(i.getMonth()+1),e.onMonthChange?.(i)}else if(e.view==="month"){const i=new Date(e.viewMonth||new Date);i.setFullYear(i.getFullYear()+1),e.onMonthChange?.(i)}},[e.onMonthChange,e.viewMonth,e.view]),getDayCellProps:c(i=>{const l=new Date(e.viewMonth||new Date);l.setHours(0,0,0,0),l.setDate(i);const a=e.rangeSelection&&e.value&&e.value[0]&&(h&&u(e.value[0],h,l)||e.value[1]&&u(e.value[0],e.value[1],l));return{"aria-label":l.toLocaleDateString(),"aria-current":a?"date":void 0}},[e.rangeSelection,e.value,e.viewMonth,h]),getMonthCellProps:c(i=>{const l=new Date(e.viewMonth||new Date);l.setDate(1),l.setHours(0,0,0,0),l.setMonth(i);const s=!e.views?.find(d=>d==="day")&&e.rangeSelection&&e.value&&e.value[0]&&(v&&u(e.value[0],v,l)||e.value[1]&&u(e.value[0],e.value[1],l));return{"aria-label":l.toLocaleDateString(),"aria-current":s?"date":void 0}},[e.rangeSelection,e.value,e.viewMonth,v]),getPickerDayProps:c(i=>{const l=new Date(e.viewMonth||new Date);l.setHours(0,0,0,0),l.setDate(i);const a=!!e.value&&(C(l,e.value[0])||e.value[1]&&C(l,e.value[1])),s=e.rangeSelection&&e.value&&e.value[0]&&(h&&u(e.value[0],h,l)||e.value[1]&&u(e.value[0],e.value[1],l)),d=()=>{e.rangeSelection?e.value?e.value[0]&&!e.value[1]?e.onChange?.([new Date(Math.min(e.value[0].getTime(),l.getTime())),new Date(Math.max(e.value[0].getTime(),l.getTime()))]):e.onChange?.([l,void 0]):e.onChange?.([l,void 0]):e.onChange?.([l,void 0]),M(null)};return{isToday:y(l),isSelected:a,onClick:d,onMouseEnter:e.rangeSelection&&e.value?.[0]&&!e.value?.[1]?()=>M(l):void 0,disabled:e.minDate&&l<e.minDate||e.maxDate&&l>e.maxDate||e.disableFuture&&l>new Date||e.disablePast&&l<(()=>{const D=new Date;return D.setHours(0,0,0,0),D})(),tabIndex:-1,"aria-label":l.toLocaleDateString(),"aria-selected":a?"true":void 0,"aria-current":s?"date":void 0}},[e.onChange,e.value,e.viewMonth,e.rangeSelection,e.minDate,e.maxDate,e.disableFuture,e.disablePast,h]),getPickerMonthProps:c(i=>{const l=new Date(e.viewMonth||new Date);l.setDate(1),l.setHours(0,0,0,0),l.setMonth(i);const a=!e.views?.find(n=>n==="day"),s=a&&e.rangeSelection,d=!!e.value&&(g(l,e.value[0])||e.value[1]&&g(l,e.value[1])),D=s&&e.value&&e.value[0]&&(v&&u(e.value[0],v,l)||e.value[1]&&u(e.value[0],e.value[1],l)),b=()=>{s?e.value?e.value[0]&&!e.value[1]?e.onChange?.([new Date(Math.min(e.value[0].getTime(),l.getTime())),new Date(Math.max(e.value[0].getTime(),l.getTime()))]):e.onChange?.([l,void 0]):e.onChange?.([l,void 0]):a?e.onChange?.([l,void 0]):(e.onViewChange?.("day"),e.onMonthChange?.(l)),m(null)};return{isSelected:d,onMouseEnter:s&&e.value?.[0]&&!e.value?.[1]?()=>m(l):void 0,disabled:e.minDate&&(()=>{const n=new Date(l);return n.setMonth(n.getMonth()+1),n.setDate(0),n<e.minDate})()||e.maxDate&&(()=>{const n=new Date(l);return n.setDate(0),n>e.maxDate})()||e.disableFuture&&l>new Date||e.disablePast&&l<new Date&&!g(l,new Date),onClick:b,tabIndex:-1,"aria-label":o(l,e.locale||"default"),"aria-selected":d?"true":void 0,"aria-current":D?"date":void 0}},[e.onMonthChange,e.onViewChange,e.onChange,e.viewMonth,e.locale,e.value,e.minDate,e.maxDate,e.disableFuture,e.disablePast,v])}};export{F as useCalendar};
@@ -0,0 +1 @@
1
+ import{Calendar as r}from"./Calendar";export*from"./Calendar";var e=r;export{e as default};
File without changes
@@ -0,0 +1 @@
1
+ const c=e=>{const t=[],n=new Date(e.getFullYear(),e.getMonth(),1),a=new Date(e.getFullYear(),e.getMonth()+1,0),r=Math.ceil((n.getDay()+1)/7),s=Math.ceil((a.getDate()+n.getDay())/7);let g=1;for(let i=1;i<=s;i++){const o=[];for(let D=1;D<=7;D++)i===r&&D<n.getDay()+1||g>a.getDate()?o.push(void 0):(o.push(g),g++);t.push(o)}return t},u=(e,t)=>e.toLocaleString(t,{year:"numeric"}),l=(e,t)=>e.toLocaleString(t,{year:"numeric",month:"long"}),m=(e,t)=>new Date(0,e).toLocaleString(t,{month:"short"}),h=e=>{const t=new Date().getDay(),n=new Date;return n.setDate(n.getDate()-t),Array.from({length:7}).map(()=>{const a=n.toLocaleString(e,{weekday:"short"});return n.setDate(n.getDate()+1),a})},y=e=>{const t=new Date,n=new Date(e);return n.setHours(0,0,0,0),t.setHours(0,0,0,0),n.getTime()===t.getTime()},p=(e,t)=>{const n=new Date(e),a=new Date(t);return n.setHours(0,0,0,0),a.setHours(0,0,0,0),n.getTime()===a.getTime()},w=(e,t,n)=>{const a=new Date(n);a.setHours(0,0,0,0);const r=new Date(Math.min(e.getTime(),t.getTime())),s=new Date(Math.max(e.getTime(),t.getTime()));return a>=r&&a<=s},d=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth();export{c as getCalendarDates,l as getMonthName,m as getMonthNameFromIndex,h as getWeekdayNames,u as getYearName,p as isSameDay,d as isSameMonth,y as isToday,w as isWithinRange};
@@ -0,0 +1 @@
1
+ import{Card as d,CardContent as e,CardCover as s,CardActions as i,CardOverflow as c}from"@mui/joy";import{motion as o}from"framer-motion";const p=o(d),r=p;r.displayName="Card";const m=o(e),a=m;a.displayName="CardContent";const l=o(s),t=l;t.displayName="CardCover";const v=o(i),C=v;C.displayName="CardActions";const y=o(c),n=y;n.displayName="CardOverflow";export{r as Card,C as CardActions,a as CardContent,t as CardCover,n as CardOverflow};
@@ -0,0 +1 @@
1
+ import{Card as r}from"./Card";export*from"./Card";var t=r;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={onChange:{title:"onChange",type:e.EventHandler},defaultChecked:{title:"Checked",type:e.Boolean,defaultValue:!1},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},label:{title:"Label",type:e.String,defaultValue:"Label"},color:{title:"Color",type:e.Enum,options:[void 0,"primary","neutral","danger","success","warning"],optionTitles:["Default","Primary","Neutral","Danger","Success","Warning"],defaultValue:void 0},size:{title:"Size",type:e.Enum,options:["sm","md","lg"],defaultValue:"md"},variant:{title:"Variant",type:e.Enum,options:["outlined","plain","solid","soft"],defaultValue:void 0}};export{l as checkboxPropertyControls};
@@ -0,0 +1 @@
1
+ import t from"react";import{Checkbox as e}from"@mui/joy";import{motion as c}from"framer-motion";const p=c(e),o=r=>t.createElement(p,{...r});o.displayName="Checkbox";export{o as Checkbox};
@@ -0,0 +1 @@
1
+ import{Checkbox as o}from"./Checkbox";export*from"./Checkbox";var e=o;export{e as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={text:{title:"Text",type:t.String,defaultValue:"Chip"},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]},variant:{title:"Variant",type:t.Enum,options:["solid","outlined","soft","plain"]},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"}};export{o as chipPropertyControls};
@@ -0,0 +1 @@
1
+ import{Chip as i}from"@mui/joy";import{motion as p}from"framer-motion";const t=p(i),o=t;o.displayName="Chip";export{o as Chip};
@@ -0,0 +1 @@
1
+ import{Chip as o}from"./Chip";export*from"./Chip";var p=o;export{p as default};
@@ -0,0 +1 @@
1
+ import{ControlType as o}from"framer";const e={content:{type:o.ComponentInstance},maxWidth:{type:o.Enum,options:[void 0,"sm","md","lg","xl"],optionTitles:["None","Small","Medium","Large","Extra Large"],defaultValue:"xl"}};export{e as containerPropertyControls};
@@ -0,0 +1 @@
1
+ import{styled as r}from"@mui/joy";import s,{forwardRef as p}from"react";const t=r("div",{name:"Container",slot:"root",shouldForwardProp:n=>n!=="maxWidth"&&n!=="overrideBreakpoint"})(({theme:n,maxWidth:a="lg",overrideBreakpoint:i})=>[{width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block",paddingLeft:n.spacing(4),paddingRight:n.spacing(4),[n.breakpoints.up("lg")]:{paddingLeft:n.spacing(8),paddingRight:n.spacing(8)},maxWidth:n.breakpoints.values[a]},i?{paddingLeft:n.breakpoints.values[i]>=n.breakpoints.values.lg?n.spacing(8):n.spacing(4),paddingRight:n.breakpoints.values[i]>=n.breakpoints.values.lg?n.spacing(8):n.spacing(4)}:null]),o=p(function(a,i){return s.createElement(t,{ref:i,...a})});o.displayName="Container";export{o as Container};
@@ -0,0 +1 @@
1
+ import{Container as o}from"./Container";export*from"./Container";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={label:{title:"Label",type:e.String},helperText:{title:"Helper Text",type:e.String},error:{title:"Error",type:e.Boolean,defaultValue:!1},value:{title:"Value",type:e.Number,defaultValue:void 0},onChange:{type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},required:{title:"Required",type:e.Boolean,defaultValue:!1},currency:{title:"Currency",type:e.Enum,options:["usd","krw"],optionTitles:["USD","KRW"]},max:{title:"Max",type:e.Number,defaultValue:void 0}};export{l as currencyInputPropertyControls};
@@ -0,0 +1 @@
1
+ import m,{useCallback as h,useMemo as x,useState as U}from"react";import{IntlMessageFormat as q}from"intl-messageformat";import{NumericFormat as D}from"react-number-format";import F from"../Input";import{useCurrencySetting as O}from"./hooks/use-currency-setting";import{useControlledState as A}from"../../hooks/use-controlled-state";const E=m.forwardRef(function(e,s){const{onChange:o,...u}=e;return m.createElement(D,{...u,onValueChange:({value:l})=>{o?.({target:{name:e.name,value:l}})},valueIsNumericString:!0,getInputRef:s,allowNegative:!1})}),H=m.forwardRef(function(e,s){const{currency:o="USD",name:u,onChange:l,label:M,error:p,helperText:I,required:y,disabled:P,useMinorUnit:r,sx:N,className:S,...b}=e,{symbol:w,thousandSeparator:R,decimalSeparator:c,placeholder:T,fixedDecimalScale:k,decimalScale:n}=O(o),[i,d]=A(e.value,e.defaultValue,h(t=>l?.({target:{name:u,value:t}}),[l,u])),f=x(()=>i&&r?i/Math.pow(10,n):i,[i,r,n]),a=x(()=>e.max&&r?e.max/Math.pow(10,n):e.max,[e.max,r,n]),[g,v]=U(!!a&&!!f&&f>a),V=h(t=>{if(t.target.value===""){d(void 0);return}const L=Number(r?t.target.value?.replace(c,""):t.target.value);a&&Number(t.target.value)>a?v(!0):v(!1),d(L)},[c,a,r,d]);return m.createElement(F,{...b,size:"sm",ref:s,value:f,placeholder:T,onChange:V,error:p||g,disabled:P,required:y,color:p||g?"danger":e.color,label:M,helperText:g?new q(`limit: {amount, number, ::currency/${o} unit-width-narrow}`).format({amount:a}):I,slotProps:{input:{component:E,decimalSeparator:c,thousandSeparator:R,prefix:w,fixedDecimalScale:k,decimalScale:n,"aria-label":b["aria-label"]}},sx:{...N,fontFamily:"monospace"},className:S})});export{H as CurrencyInput};
@@ -0,0 +1 @@
1
+ import t from"intl-messageformat";const A={AED:2,ALL:2,AMD:2,ANG:2,AOA:2,ARS:2,AUD:2,AWG:2,AZN:2,BAM:2,BBD:2,BDT:2,BGN:2,BHD:3,BMD:2,BND:2,BOB:2,BRL:2,BSD:2,BWP:2,BYN:2,BZD:2,CAD:2,CHF:2,CLP:2,CNH:2,CNY:2,COP:2,CRC:2,CUP:2,CVE:0,CZK:2,DJF:0,DKK:2,DOP:2,DZD:2,EGP:2,ETB:2,EUR:2,FJD:2,FKP:2,GBP:2,GEL:2,GHS:2,GIP:2,GMD:2,GNF:0,GTQ:2,GYD:2,HKD:2,HNL:2,HTG:2,HUF:2,IDR:0,ILS:2,INR:2,IQD:3,ISK:2,JMD:2,JOD:3,JPY:0,KES:2,KGS:2,KHR:2,KMF:0,KRW:0,KWD:3,KYD:2,KZT:2,LAK:2,LBP:2,LKR:2,LYD:3,MAD:2,MDL:2,MKD:2,MMK:2,MNT:2,MOP:2,MRU:2,MUR:2,MVR:2,MWK:2,MXN:2,MYR:2,MZN:2,NAD:2,NGN:2,NIO:2,NOK:2,NPR:2,NZD:2,OMR:3,PAB:2,PEN:2,PGK:2,PHP:2,PKR:2,PLN:2,PYG:0,QAR:2,RON:2,RSD:2,RUB:2,RWF:0,SAR:2,SBD:2,SCR:2,SEK:2,SGD:2,SHP:2,SLE:2,SOS:2,SRD:2,STN:2,SVC:2,SZL:2,THB:2,TND:3,TOP:2,TRY:2,TTD:2,TWD:2,TZS:2,UAH:2,UGX:0,USD:2,UYU:2,UZS:2,VEF:2,VND:0,VUV:0,WST:2,XAF:0,XCD:2,XOF:0,XPF:0,YER:2,ZAR:2,ZMW:2},a=(R="USD")=>{const[S,N,D,...M]=new t(`{amount, number, ::currency/${R} unit-width-narrow}`).format({amount:1e3}).toString().replace(/\d/g,"").split(""),r=A[R];return{symbol:`${S} `,thousandSeparator:N,decimalSeparator:D,placeholder:D?`${S} 0${D}${Array.from(Array(r)).map(()=>0).join("")}`:`${S} 0`,fixedDecimalScale:!!D,decimalScale:r}};export{a as useCurrencySetting};
@@ -0,0 +1 @@
1
+ import{CurrencyInput as r}from"./CurrencyInput";export*from"./CurrencyInput";var t=r;export{t as default};
@@ -0,0 +1,2 @@
1
+ import{ControlType as e}from"framer";import{autocompletePropertyControls as a}from"../Autocomplete/Autocomplete.framer";import{selectPropertyControls as i}from"../Select/Select.framer";import{linkPropertyControls as p}from"../Link/Link.framer";function l(t,r){return r.reduce((n,o)=>(t[o]&&(n[o]=t[o]),n),{})}const f={csvUrl:{title:"CSV Data",type:e.File,allowedFileTypes:["csv"]},checkboxSelection:{title:"Show Checkbox",type:e.Boolean,defaultValue:!0},disableSelectionOnClick:{type:e.Boolean,defaultValue:!1,hidden:t=>t.checkboxSelection===!1,description:"\uCCB4\uD06C\uBC15\uC2A4\uB97C \uD1B5\uD574\uC11C\uB9CC \uD589\uC744 \uC120\uD0DD\uD558\uB824\uBA74 Yes\uB85C \uC124\uC815\uD558\uC138\uC694."},noWrap:{type:e.Boolean,defaultValue:!1,description:`\uC904\uBC14\uAFC8 \uC5C6\uC774 cell\uC758 \uB0B4\uC6A9\uC744 \uD45C\uC2DC\uD558\uB824\uBA74 Yes\uB85C \uC124\uC815\uD558\uC138\uC694.
2
+ \uB2E8, \uB0B4\uC6A9\uC774 \uAE38\uC5B4\uC9C8 \uACBD\uC6B0 \uAC00\uB824\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`},hoverRow:{type:e.Boolean,defaultValue:!0,description:"\uB9C8\uC6B0\uC2A4\uB97C \uC62C\uB838\uC744 \uB54C \uD589\uC744 \uAC15\uC870\uD558\uB824\uBA74 Yes\uB85C \uC124\uC815\uD558\uC138\uC694."},editMode:{type:e.Boolean,defaultValue:!1},stripe:{type:e.Enum,options:[void 0,"odd","even"],optionTitles:["None","Odd","Even"],defaultValue:void 0},columns:{type:e.Array,description:"Column\uC758 \uC0C1\uC138 \uC124\uC815\uC774 \uD544\uC694\uD55C \uACBD\uC6B0 \uC0AC\uC6A9",control:{type:e.Object,controls:{field:{type:e.String,description:"Column Name. CSV\uC5D0 \uC788\uB294 \uAC12\uC744 \uADF8\uB300\uB85C \uB123\uC5B4\uC57C \uD55C\uB2E4."},width:{type:e.String},type:{type:e.Enum,defaultValue:"text",options:["text","longText","number","currency","date","select","autocomplete","link"],optionTitles:["Text","Long Text","Number","Currency","Date","Select","Autocomplete","Link"]},resizable:{type:e.Boolean,defaultValue:!0},isColumnEditable:{type:e.Boolean,description:"Column\uC744 \uC218\uC815 \uAC00\uB2A5\uD558\uAC8C \uD560\uC9C0 \uC5EC\uBD80",defaultValue:!1},required:{type:e.Boolean,defaultValue:!1},dateProps:{type:e.Object,controls:{value:{title:"Value",type:e.String,defaultValue:"2024/04/03"}},hidden(t){return t.type!=="date"}},autoCompleteProps:{type:e.Object,controls:{...l(a,["defaultValue","options","placeholder"])},hidden(t){return t.type!=="autocomplete"}},selectProps:{type:e.Object,controls:{...l(i,["defaultValue","options","placeholder"])},hidden(t){return t.type!=="select"}},linkProps:{type:e.Object,controls:{...l(p,["href"])},hidden(t){return t.type!=="link"}}}},defaultValue:[]},stickyHeader:{type:e.Boolean,defaultValue:!1},stickyFooter:{type:e.Boolean,defaultValue:!1},loading:{type:e.Boolean,defaultValue:!1},pagination:{title:"Pagination",type:e.Boolean,defaultValue:!0},onPaginationModelChange:{type:e.EventHandler},onSelectionModelChange:{type:e.EventHandler},toolbar:{type:e.ComponentInstance}};export{f as dataTablePropertyControls};
@@ -0,0 +1 @@
1
+ import e,{useCallback as L,useEffect as Z,useMemo as h,useRef as re,useState as se,useId as he}from"react";import{useVirtualizer as Ce}from"@tanstack/react-virtual";import{styled as R,LinearProgress as Te,Link as xe}from"@mui/joy";import ve from"@mui/icons-material/esm/ChevronLeft.js";import Ie from"@mui/icons-material/esm/ChevronRight.js";import we from"@mui/icons-material/esm/ArrowUpwardRounded.js";import ke from"../Sheet";import{Table as Se}from"../Table";import Pe from"../Checkbox";import ae from"../Box";import j from"../Stack";import ie from"../Typography";import W from"../Button";import de from"../IconButton";import De from"../CurrencyInput";import _e from"../DatePicker";import ce from"../Input";import Me from"../Textarea";import ze from"../Autocomplete";import Ee from"../Select";import Oe from"../Tooltip";import{motion as pe}from"framer-motion";import{useControlledState as Be}from"../../hooks/use-controlled-state";function ue(t){return!t.editMode&&["number","date","currency"].includes(t.type||"")?"end":"start"}const Ae=R("tr",{name:"DataTable",slot:"overlayWrapper"})({position:"sticky",top:"calc(var(--unstable_TableCell-height, 32px))",left:0,right:0,zIndex:1,"& > td":{height:0,padding:0,border:"none !important"}}),ee=t=>"Intl"in window?new Intl.NumberFormat().format(t):t;function Le(t){const{paginationModel:{page:n,pageSize:l},rowCount:c,onPageChange:d}=t,f=1,a=Math.ceil(c/l),I=[n-2,n-1].filter(r=>r>1),m=[n+1,n+2].filter(r=>r<=a-1),C=a>1&&n<a-3,s=a>1&&n>4;return e.createElement(j,{direction:"row",spacing:1,sx:{pt:1,pb:1},justifyContent:"end",alignItems:"center"},e.createElement(j,{direction:"row",spacing:.5,alignItems:"center"},e.createElement(de,{size:"sm",variant:"plain",color:"neutral",onClick:()=>d(n-1),disabled:n===f,"aria-label":"Previous page"},e.createElement(ve,null)),n!==f&&e.createElement(W,{size:"sm",variant:"plain",color:"neutral",onClick:()=>d(f)},f),s&&e.createElement(W,{size:"sm",variant:"plain",color:"neutral",onClick:()=>d(n-3)},"..."),I.map(r=>e.createElement(W,{key:r,size:"sm",variant:"plain",color:"neutral",onClick:()=>d(r)},r)),e.createElement(W,{variant:"soft",size:"sm"},n),m.map(r=>e.createElement(W,{key:r,size:"sm",variant:"plain",color:"neutral",onClick:()=>d(r)},r)),C&&e.createElement(W,{size:"sm",variant:"plain",color:"neutral",onClick:()=>d(n+3)},"..."),n!==a&&e.createElement(W,{size:"sm",variant:"plain",color:"neutral",onClick:()=>d(a)},a),e.createElement(de,{size:"sm",variant:"plain",color:"neutral",onClick:()=>d(n+1),disabled:n===a,"aria-label":"Next page"},e.createElement(Ie,null))))}const We=t=>e.createElement(ae,{sx:{position:"absolute",top:0,right:0,bottom:0,width:"4px",cursor:"col-resize"},onClick:n=>n.stopPropagation(),onMouseDown:n=>{const l=n.clientX,c=t.current?.getBoundingClientRect().width,d=a=>{c&&l&&(t.current.style.width=`${c+(a.clientX-l)}px`)},f=()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",f)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",f)}}),He=R("tbody",{name:"DataTable",slot:"tableBody"})({"&::after":{content:"''",display:"block",height:"100%"}}),$e=R("tr",{name:"DataTable",slot:"tableRow",shouldForwardProp:t=>t!=="striped"})(({striped:t})=>({...t&&{background:"var(--TableRow-stripeBackground, var(--ceed-palette-background-level2))",color:"var(--ceed-palette-text-primary)"},"&:hover":{background:"var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))"}})),Ne=R("span",{name:"DataTable",slot:"headCellAsterisk"})(({theme:t})=>({color:"var(--ceed-palette-danger-500)",marginLeft:t.spacing(.5)})),Ge=pe(we),je=t=>{const{width:n,maxWidth:l,minWidth:c,stickyHeader:d,resizable:f,field:a,tableId:I,headerName:m,required:C,editMode:s,sort:r,onSortChange:$,sortable:u=!0,sortOrder:O}=t,g=re(null),y=h(()=>`${I}_header_${m??a}`.trim(),[I,m,a]),T=f??!0?We(g):null,D={width:n,minWidth:c??"50px",maxWidth:l,position:d?void 0:"relative",cursor:u?"pointer":"default",userSelect:"none"},b=ue(t),_=O[0],i=u&&e.createElement(Ge,{style:{width:"16px",height:"16px"},role:"img","aria-labelledby":y,"aria-description":(r??_)==="desc"?"descending":"ascending","data-testid":void 0,variants:{hover:{opacity:1},initial:{opacity:0}},animate:{color:r?"var(--ceed-palette-text-secondary)":"var(--ceed-palette-primary-solidDisabledColor)",rotate:(r??_)==="desc"?180:0,opacity:r?1:0},transition:{duration:0,rotate:{duration:.2,ease:"easeOut"},color:{duration:.2,ease:"easeInOut"},opacity:{duration:.2,ease:"easeInOut"}}});return e.createElement(pe.th,{id:y,"aria-label":m??a,"aria-sort":r?{asc:"ascending",desc:"descending"}[r]:"none",ref:g,key:a,style:D,onClick:F=>u&&$?.({field:a,currentSort:r,multiple:F.shiftKey}),whileHover:"hover",initial:"initial"},e.createElement(j,{gap:1,direction:"row",justifyContent:b},b==="end"&&i,e.createElement("div",null,m??a,s&&C&&e.createElement(Ne,null,"*")),b==="start"&&i),T)},Fe=t=>{const{tableId:n,field:l,type:c,renderCell:d,renderEditCell:f,isCellEditable:a,noWrap:I,row:m,rowId:C}=t,[s,r]=se(m[l]),$=re(null),u=h(()=>({row:m,value:s,id:C}),[m,C,s]),O=h(()=>!!(t.editMode&&(typeof a=="function"?a(u):a??!0)),[t.editMode,a,u]),g=h(()=>({...typeof t.componentProps=="function"?t.componentProps(u):t.componentProps||{},size:"sm"}),[t,u]),y=h(()=>({...g,onChange:i=>{g.onChange?.(i),r(i.target.value),c==="select"&&t.onCellEditStop?.({...u,originalRow:m,row:{...u.row,[l]:i.target.value},value:i.target.value})},onFocus:i=>{g.onFocus?.(i),t.onCellEditStart?.({...u,originalRow:m,row:{...u.row,value:s},value:s})},onBlur:i=>{g.onBlur?.(i),c&&["number","text","longText","currency","date"].includes(c)&&t.onCellEditStop?.({...u,originalRow:m,row:{...u.row,[l]:s},value:s})},...c==="autocomplete"&&{onChangeComplete:i=>{g.onChangeComplete?.(i),r(i.target.value),t.onCellEditStop?.({...u,originalRow:m,row:{...u.row,[l]:i.target.value},value:i.target.value})}}}),[u,m,l,s,g,c,t]),T=h(()=>f?f(u):{date:e.createElement(_e,{value:s,...y}),currency:e.createElement(De,{value:s,...y}),number:e.createElement(ce,{value:s,type:"number",...y}),text:e.createElement(ce,{value:s,type:"text",...y}),longText:e.createElement(Me,{value:s,...y}),autocomplete:e.createElement(ze,{value:s,options:y.options||[s],...y}),select:e.createElement(Ee,{value:s,options:y.options||[s],...y})}[c||"text"],[s,y,c]),D=h(()=>{if(d)return d(u);const i=s;return{link:e.createElement(t.component||xe,{children:i,...g})}[c||"text"]||i},[s,d,u,c,g,t]),b=h(()=>O&&T?T:D,[O,T,D]),_=h(()=>I&&t.type==="longText",[I,t.type]);return Z(()=>{r(m[l])},[m,l]),e.createElement("td",{ref:$,key:l,headers:`${n}_header_${t.headerName??l}`,style:{textAlign:ue({type:c}),verticalAlign:O?"top":"middle"}},_?e.createElement(Oe,{title:s,placement:"bottom",style:{maxWidth:"100%"},enterDelay:1500,enterNextDelay:1500},e.createElement("div",{style:{overflow:"hidden",textOverflow:"ellipsis"}},b)):b)},Ve=t=>{const{tableId:n,columns:l,rowId:c,editMode:d,noWrap:f,row:a}=t;return e.createElement(e.Fragment,null,l.map((I,m)=>e.createElement(Fe,{...I,tableId:n,key:`${c}_${I.field.toString()}_${m}`,row:a,rowId:c,editMode:d,noWrap:f})))};function Ke({rows:t,columns:n,rowCount:l,pagination:c,paginationMode:d,paginationModel:f,onPaginationModelChange:a,sortModel:I,sortOrder:m=["asc","desc",null],selectionModel:C=[],onSortModelChange:s,onSelectionModelChange:r,editMode:$,getId:u,isTotalSelected:O}){const[g,y]=Be(I,[],L(p=>s?.(p),[s])),T=h(()=>n.reduce((p,o)=>({...p,[o.field]:o}),{}),[n]),D=L((p,o)=>{for(const k of g){const{field:S,sort:Y}=k,x=p[S],P=o[S],G=T[S];let v=0;if(G.sortComparator?v=G.sortComparator({rowA:p,rowB:o}):typeof x=="string"&&typeof P=="string"?v=x.localeCompare(P):typeof x=="number"&&typeof P=="number"?v=x-P:x instanceof Date&&P instanceof Date&&(v=x.getTime()-P.getTime()),v!==0)return Y==="asc"?v:-v}return 0},[g,T]),b=h(()=>g.length?[...t].sort(D):t,[t,g,D]),_=h(()=>Array.from(new Set(m)),[m]),[i,F]=se(f?.page||1),w=f?.pageSize||20,M=L((p,o)=>u?.(p)??p.id??`${(o||0)+(i-1)*w}`,[u,i,w]),H=h(()=>new Set(C),[C]),B=h(()=>!c||d==="server"?b:b.slice((i-1)*w,(i-1)*w+w),[b,i,w,d,c]),V=h(()=>B.length>0&&B.every((p,o)=>H.has(M(p,o))),[B,H,M]),z=l||b.length,A=h(()=>O??(z>0&&C.length===z),[O,C,z]),q=h(()=>(n||Object.keys(b[0]||{}).map(o=>({field:o}))).map(o=>({...o,isCellEditable:$&&(typeof o.isCellEditable=="function"?o.isCellEditable:o.isCellEditable??!0),sort:g.find(k=>k.field===o.field)?.sort,sortOrder:T[o.field]?.sortOrder||_})),[b,n,$,g,T,_]),N=L(p=>{F(p),a?.({page:p,pageSize:w})},[a,w]),U=L(p=>{const{field:o,currentSort:k,multiple:S}=p,x=T[o].sortOrder||_;if(k!==void 0){const G=(x.indexOf(k)+1)%x.length,v=x[G];if(!v){const K=S?g.filter(J=>J.field!==o):[];y(K);return}const te=S?g.map(K=>K.field===o?{field:o,sort:v}:K):[{field:o,sort:v}];y(te)}else{const P=S?[...g,{field:o,sort:x[0]}]:[{field:o,sort:x[0]}];y(P)}},[_,T,g,y]);return Z(()=>{f||N(1)},[z,N,f]),Z(()=>{const p=Math.max(1,Math.ceil(z/w));i>p&&N(p)},[i,z,w,N]),Z(()=>{r?.([])},[i]),{rowCount:z,page:i,pageSize:w,onPaginationModelChange:N,getId:M,HeadCell:je,BodyRow:Ve,dataInPage:B,handleSortChange:U,isAllSelected:V,isTotalSelected:A,isSelectedRow:L(p=>H.has(p),[H]),onAllCheckboxChange:L(()=>{r?.(V?[]:B.map(M))},[V,B,r,M]),onCheckboxChange:L((p,o)=>{if(H.has(o)){const k=C.filter(S=>S!==o);r?.(k)}else{const k=[...C,o];r?.(k)}},[C,r,H]),columns:q,onTotalSelect:L(()=>{r?.(A?[]:b.map(M),!A)},[A,b,r,M])}}function me(t){const{rows:n,checkboxSelection:l,editMode:c,selectionModel:d,onSelectionModelChange:f,disableSelectionOnClick:a,rowCount:I,columns:m,onPaginationModelChange:C,pagination:s,paginationMode:r,paginationModel:$,sortModel:u,sortOrder:O,onSortModelChange:g,loading:y,slots:{checkbox:T=Pe,toolbar:D,footer:b,loadingOverlay:_=()=>e.createElement(Te,{value:8,variant:"plain"})}={},slotProps:{checkbox:i={},toolbar:F,background:w={}}={},stripe:M,...H}=t,B=he(),V=re(null),{columns:z,isAllSelected:A,isSelectedRow:q,onAllCheckboxChange:N,onCheckboxChange:U,getId:p,rowCount:o,page:k,pageSize:S,onPaginationModelChange:Y,handleSortChange:x,dataInPage:P,isTotalSelected:G,onTotalSelect:v,HeadCell:te,BodyRow:K}=Ke(t),J=Ce({count:P.length,getScrollElement:()=>V.current,estimateSize:()=>32,measureElement:E=>E.clientHeight,overscan:20}),ge=h(()=>({page:k,pageSize:S}),[k,S]),fe=J.getTotalSize(),ye=J.getVirtualItems();return e.createElement(ae,{sx:{maxHeight:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},(!!l||!!D)&&e.createElement(j,{direction:"row",sx:{pt:1,pb:1},justifyContent:"space-between",alignItems:"center"},!!l&&e.createElement(j,{direction:"row",spacing:1},!A&&e.createElement(ie,{level:"body-xs"},ee(d?.length||0)," items selected"),A&&!G&&e.createElement(j,{direction:"row",spacing:1,alignItems:"center"},e.createElement(ie,{level:"body-xs"},"All ",ee(d?.length||0)," items on this page are selected."),e.createElement(W,{size:"sm",variant:"plain",onClick:v},"Select all ",ee(o??n.length)," items")),G&&e.createElement(j,{direction:"row",spacing:1,alignItems:"center"},e.createElement(ie,{level:"body-xs"},"All ",ee(o??n.length)," items are selected."),e.createElement(W,{size:"sm",variant:"plain",color:"danger",onClick:v},"Cancel"))),D&&e.createElement(D,{...F||{}})),e.createElement(ke,{variant:"outlined",sx:{height:"100%",overflow:"auto",width:"100%",boxShadow:"sm",borderRadius:"sm"},ref:V,...w},e.createElement(Se,{...H},e.createElement("thead",null,e.createElement("tr",null,l&&e.createElement("th",{style:{width:"40px",textAlign:"center"}},e.createElement(T,{onChange:N,checked:A,indeterminate:(d||[]).length>0&&!A,...i})),z.map((E,oe)=>e.createElement(te,{tableId:B,key:`${E.field.toString()}_${oe}`,stickyHeader:t.stickyHeader,editMode:!!E.isCellEditable,onSortChange:x,...E})))),e.createElement(He,{style:{height:`${fe}px`}},!!y&&e.createElement(Ae,null,e.createElement("td",null,e.createElement(ae,{sx:{position:"absolute",top:0,left:0,right:0}},e.createElement(_,null)))),ye.map((E,oe)=>{const Q=E.index,le=P[Q],X=p(le,Q),be=M&&(M==="even"&&(Q+1)%2===0||M==="odd"&&(Q+1)%2===1);return e.createElement($e,{key:X,role:l&&!a?"checkbox":void 0,tabIndex:l&&!a?-1:void 0,onClick:l&&!a?ne=>U(ne,X):void 0,"aria-checked":l&&!a?q(X):void 0,striped:be,style:{height:`${E.size}px`,transform:`translateY(${E.start-oe*E.size}px)`}},l&&e.createElement("th",{scope:"row",style:{textAlign:"center"}},e.createElement(T,{onChange:ne=>U(ne,X),checked:q(X),...i})),e.createElement(K,{tableId:B,columns:z,row:le,rowId:X,editMode:c,noWrap:t.noWrap}))})),b&&e.createElement(b,null))),S<o&&s&&e.createElement(Le,{paginationModel:ge,rowCount:o,onPageChange:Y}))}me.displayName="DataTable";export{me as DataTable};
@@ -0,0 +1 @@
1
+ import{DataTable as o}from"./DataTable";export*from"./DataTable";var t=o;export{t as default};
File without changes
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={onChange:{title:"onChange",type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},required:{title:"Required",type:e.Boolean,defaultValue:!1},value:{title:"Value",type:e.String,defaultValue:"2024/04/03"},label:{title:"Label",type:e.String,defaultValue:""},error:{title:"Error",type:e.Boolean,defaultValue:!1},helperText:{title:"Helper Text",type:e.String,defaultValue:""},minDate:{title:"Minimum Date",type:e.String},maxDate:{title:"Maximum Date",type:e.String},disableFuture:{title:"Disable Future",type:e.Boolean,defaultValue:!1},disablePast:{title:"Disable Past",type:e.Boolean,defaultValue:!1}};export{l as datePickerPropertyControls};
@@ -0,0 +1 @@
1
+ import a,{forwardRef as E,useCallback as g,useEffect as N,useImperativeHandle as L,useRef as A,useState as S}from"react";import{IMaskInput as Y,IMask as k}from"react-imask";import B from"@mui/icons-material/esm/CalendarToday.js";import{styled as b}from"@mui/joy";import{FocusTrap as F,ClickAwayListener as H,Popper as V}from"@mui/base";import z from"../Input";import R from"../IconButton";import q from"../Sheet";import O from"../Calendar";import $ from"../DialogActions";import j from"../Button";import{useControlledState as G}from"../../hooks/use-controlled-state";const J=b(V,{name:"DatePicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),K=b(q,{name:"DatePicker",slot:"sheet",overridesResolver:(e,t)=>t.root})(({theme:e})=>({width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),Q=b("div",{name:"DatePicker",slot:"container"})({width:"100%"}),C=e=>{let t=`${e.getDate()}`,n=`${e.getMonth()+1}`;const s=e.getFullYear();return Number(t)<10&&(t="0"+t),Number(n)<10&&(n="0"+n),[s,n,t].join("/")},U=a.forwardRef(function(t,n){const{onChange:s,...u}=t;return a.createElement(Y,{...u,inputRef:n,onAccept:l=>s({target:{name:t.name,value:l}}),mask:Date,pattern:"Y/`m/`d",blocks:{d:{mask:k.MaskedRange,from:1,to:31,maxLength:2},m:{mask:k.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:k.MaskedRange,from:1900,to:9999}},format:C,parse:l=>{const d=l.split("/");return new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))},autofix:"pad",overwrite:!0})}),W=E((e,t)=>{const{onChange:n,disabled:s,label:u,error:l,helperText:d,minDate:D,maxDate:h,disableFuture:x,disablePast:M,required:T,sx:w,className:y,...v}=e,r=A(null),[p,P]=G(e.value,e.defaultValue||"",g(o=>n?.({target:{name:e.name,value:o}}),[e.name,n])),[i,m]=S(null),c=!!i;N(()=>{i||r.current?.blur()},[i,r]),L(t,()=>r.current,[r]);const f=g(o=>{P(o.target.value)},[P]),I=g(o=>{m(i?null:o.currentTarget),setTimeout(()=>{r.current?.focus()},0)},[i,m,r]);return a.createElement(Q,null,a.createElement(F,{open:!0},a.createElement(a.Fragment,null,a.createElement(z,{...v,color:l?"danger":v.color,ref:r,size:"sm",value:p,onChange:f,placeholder:"YYYY/MM/DD",disabled:s,required:T,error:l,slotProps:{input:{component:U,ref:r}},className:y,sx:{...w,fontFamily:"monospace"},endDecorator:a.createElement(R,{variant:"plain",onClick:I,"aria-label":"Toggle Calendar","aria-controls":"date-picker-popper","aria-haspopup":"dialog","aria-expanded":c},a.createElement(B,null)),label:u,helperText:d}),c&&a.createElement(H,{onClickAway:()=>m(null)},a.createElement(J,{id:"date-picker-popper",open:!0,anchorEl:i,placement:"bottom-end",onMouseDown:o=>o.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":c},a.createElement(K,{tabIndex:-1,role:"presentation"},a.createElement(O,{value:Number.isNaN(new Date(p).getTime())?void 0:[new Date(p),void 0],onChange:([o])=>{f({target:{name:e.name,value:C(o)}}),m(null)},minDate:D?new Date(D):void 0,maxDate:h?new Date(h):void 0,disableFuture:x,disablePast:M}),a.createElement($,{sx:{p:1}},a.createElement(j,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{f({target:{name:e.name,value:""}}),m(null)}},"Clear"))))))))});export{W as DatePicker};
@@ -0,0 +1 @@
1
+ import{DatePicker as r}from"./DatePicker";export*from"./DatePicker";var o=r;export{o as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={onChange:{title:"onChange",type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},required:{title:"Required",type:e.Boolean,defaultValue:!1},value:{title:"Value",type:e.String,defaultValue:"2024/04/03 - 2024/04/20"},label:{title:"Label",type:e.String,defaultValue:""},error:{title:"Error",type:e.Boolean,defaultValue:!1},helperText:{title:"Helper Text",type:e.String,defaultValue:""},minDate:{title:"Minimum Date",type:e.String},maxDate:{title:"Maximum Date",type:e.String},disableFuture:{title:"Disable Future",type:e.Boolean,defaultValue:!1},disablePast:{title:"Disable Past",type:e.Boolean,defaultValue:!1}};export{l as dateRangePickerPropertyControls};
@@ -0,0 +1 @@
1
+ import a,{forwardRef as L,useCallback as c,useEffect as A,useImperativeHandle as B,useMemo as F,useRef as H,useState as V}from"react";import{IMaskInput as z,IMask as D}from"react-imask";import q from"@mui/icons-material/esm/CalendarToday.js";import{styled as k}from"@mui/joy";import{FocusTrap as j,ClickAwayListener as O,Popper as $}from"@mui/base";import G from"../Input";import J from"../IconButton";import K from"../Sheet";import Q from"../Calendar";import U from"../DialogActions";import W from"../Button";import{useControlledState as X}from"../../hooks/use-controlled-state";const Z=k($,{name:"DateRangePicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),_=k(K,{name:"DateRangePicker",slot:"sheet",overridesResolver:(e,n)=>n.root})(({theme:e})=>({zIndex:e.zIndex.tooltip,width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),ee=k("div",{name:"DateRangePicker",slot:"container"})({width:"100%"}),v=([e,n])=>{const l=o=>{let t=`${o.getDate()}`,i=`${o.getMonth()+1}`;const g=o.getFullYear();return Number(t)<10&&(t="0"+t),Number(i)<10&&(i="0"+i),[g,i,t].join("/")};return[l(e),n?l(n):""].join(" - ")},M=e=>{const n=e.split(" - ")[0]||"",l=e.split(" - ")[1]||"",o=n.split("/"),t=l.split("/");return[new Date(Number(o[0]),Number(o[1])-1,Number(o[2])),new Date(Number(t[0]),Number(t[1])-1,Number(t[2]))]},ae=a.forwardRef(function(n,l){const{onChange:o,...t}=n;return a.createElement(z,{...t,inputRef:l,onAccept:i=>o({target:{name:n.name,value:i}}),mask:Date,pattern:"Y/`m/`d - Y/`m/`d",blocks:{d:{mask:D.MaskedRange,from:1,to:31,maxLength:2},m:{mask:D.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:D.MaskedRange,from:1900,to:9999}},format:v,parse:M,autofix:"pad",overwrite:!0})}),x=L((e,n)=>{const{onChange:l,disabled:o,label:t,error:i,helperText:g,minDate:b,maxDate:h,disableFuture:y,disablePast:w,required:T,sx:I,className:R,...P}=e,s=H(null),[p,m]=X(e.value,e.defaultValue||"",c(r=>l?.({target:{name:e.name,value:r}}),[e.name,l])),[d,u]=V(null),f=!!d,N=F(()=>p?M(p):void 0,[p]);A(()=>{d||s.current?.blur()},[d,s]),B(n,()=>s.current,[s]);const E=c(r=>{m(r.target.value)},[m]),Y=c(r=>{u(d?null:r.currentTarget),s.current?.focus()},[d,u,s]),S=c(([r,C])=>{!r||!C||(m(v([r,C])),u(null))},[m,u]);return a.createElement(ee,null,a.createElement(j,{open:!0},a.createElement(a.Fragment,null,a.createElement(G,{...P,color:i?"danger":P.color,ref:n,size:"sm",value:p,onChange:E,disabled:o,required:T,placeholder:"YYYY/MM/DD - YYYY/MM/DD",slotProps:{input:{component:ae,ref:s}},error:i,className:R,sx:{...I,fontFamily:"monospace"},endDecorator:a.createElement(J,{variant:"plain",onClick:Y,"aria-label":"Toggle Calendar","aria-controls":"date-range-picker-popper","aria-haspopup":"dialog","aria-expanded":f},a.createElement(q,null)),label:t,helperText:g}),f&&a.createElement(O,{onClickAway:()=>u(null)},a.createElement(Z,{id:"date-range-picker-popper",open:!0,anchorEl:d,placement:"bottom-end",onMouseDown:r=>r.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":f},a.createElement(_,{tabIndex:-1,role:"presentation"},a.createElement(Q,{rangeSelection:!0,defaultValue:N,onChange:S,minDate:b?new Date(b):void 0,maxDate:h?new Date(h):void 0,disableFuture:y,disablePast:w}),a.createElement(U,{sx:{p:1}},a.createElement(W,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{m(""),u(null)}},"Clear"))))))))});x.displayName="DateRangePicker";export{x as DateRangePicker};
@@ -0,0 +1 @@
1
+ import{DateRangePicker as e}from"./DateRangePicker";export*from"./DateRangePicker";var o=e;export{o as default};
@@ -0,0 +1 @@
1
+ import{DialogActions as t,styled as n}from"@mui/joy";import{motion as s}from"framer-motion";const a=s(t),c=n(a)(({theme:o})=>({padding:o.spacing(2),gap:o.spacing(2),flexDirection:"row",justifyContent:"flex-end"})),i=c;i.displayName="DialogActions";export{i as DialogActions};
@@ -0,0 +1 @@
1
+ import{DialogActions as o}from"./DialogActions";export*from"./DialogActions";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{DialogContent as n,styled as i}from"@mui/joy";import{motion as a}from"framer-motion";const e=a(n),l=i(e)(({theme:t})=>({padding:t.spacing(0,6,5)})),o=l;o.displayName="DialogContent";export{o as DialogContent};
@@ -0,0 +1 @@
1
+ import{DialogContent as o}from"./DialogContent";export*from"./DialogContent";var r=o;export{r as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={title:{type:t.String,defaultValue:"Title"},content:{title:"Content",type:t.ComponentInstance},actions:{title:"Actions",type:t.ComponentInstance},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},fullscreen:{title:"Fullscreen",type:t.Boolean,defaultValue:!1}};export{o as dialogFramePropertyControls};
@@ -0,0 +1 @@
1
+ import o from"react";import c from"../DialogTitle";import s from"../DialogContent";import{ModalDialog as g}from"../Modal";import D from"../DialogActions";import{styled as d}from"@mui/joy";const p=d(g,{name:"Dialog",slot:"Root"})({padding:0}),e=o.forwardRef((t,i)=>{const{title:l,children:r,actions:a,fullscreen:n,...m}=t;return o.createElement(p,{layout:n?"fullscreen":"center",ref:i,...m},o.createElement(c,null,l),o.createElement(s,null,r),o.createElement(D,null,a))});e.displayName="DialogFrame";export{e as DialogFrame};
@@ -0,0 +1 @@
1
+ import{DialogFrame as o}from"./DialogFrame";export*from"./DialogFrame";var e=o;export{e as default};
@@ -0,0 +1 @@
1
+ import{DialogTitle as t,styled as l}from"@mui/joy";import{motion as a}from"framer-motion";const e=a(t),g=l(e)(({theme:i})=>({padding:i.spacing(4,6)})),o=g;o.displayName="DialogTitle";export{o as DialogTitle};
@@ -0,0 +1 @@
1
+ import{DialogTitle as o}from"./DialogTitle";export*from"./DialogTitle";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const r={text:{type:t.String,defaultValue:void 0},orientation:{title:"Orientation",type:t.Enum,options:["horizontal","vertical"]}};export{r as dividerPropertyControls};
@@ -0,0 +1 @@
1
+ import r from"react";import{Divider as t}from"@mui/joy";import{motion as e}from"framer-motion";const p=e(t),i=o=>r.createElement(p,{...o});i.displayName="Divider";export{i as Divider};
@@ -0,0 +1 @@
1
+ import{Divider as r}from"./Divider";export*from"./Divider";var e=r;export{e as default};
@@ -0,0 +1 @@
1
+ import a from"react";import{Drawer as i,useTheme as p}from"@mui/joy";import{motion as m}from"framer-motion";const w=m(i),t=r=>{const{children:e,size:n,...o}=r,s=p();return a.createElement(w,{...o,slotProps:{...o.slotProps,content:{...o.slotProps?.content,sx:{bgcolor:"transparent",boxShadow:"none",[s.breakpoints.down("md")]:{width:"100%"}}}},sx:{...r.sx,"--Drawer-horizontalSize":{sm:"360px",md:"600px",lg:"900px"}[n||"md"]}},e)};t.displayName="Drawer";export{t as Drawer};
@@ -0,0 +1 @@
1
+ import{Drawer as r}from"./Drawer";export*from"./Drawer";var e=r;export{e as default};
@@ -0,0 +1 @@
1
+ import{Dropdown as r}from"@mui/joy";import{motion as p}from"framer-motion";const n=p(r),o=n;o.displayName="Dropdown";export{o as Dropdown};
@@ -0,0 +1 @@
1
+ import{Dropdown as o}from"./Dropdown";export*from"./Dropdown";var p=o;export{p as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={size:{type:t.Enum,options:["sm","md","lg"],defaultValue:"sm"},label:{title:"Label",type:t.String,defaultValue:"Label"},content:{title:"Contents",type:t.Array,control:{title:"Content",type:t.ComponentInstance}},required:{type:t.Boolean,title:"Required",defaultValue:!1}};export{o as formControlPropertyControls};
@@ -0,0 +1 @@
1
+ import{FormControl as m,styled as s,formLabelClasses as o}from"@mui/joy";import{motion as l}from"framer-motion";const n=l(m),r=s(n)(({theme:t})=>({[`.${o.root}`]:{display:"block"},[`.${o.asterisk}`]:{marginLeft:t.spacing(.5)}}));r.displayName="FormControl";export{r as FormControl};
@@ -0,0 +1 @@
1
+ import{FormControl as o}from"./FormControl";export*from"./FormControl";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{FormHelperText as e}from"@mui/joy";import{motion as r}from"framer-motion";const t=r(e),o=t;o.displayName="FormHelperText";export{o as FormHelperText};
@@ -0,0 +1 @@
1
+ import{FormHelperText as r}from"./FormHelperText";export*from"./FormHelperText";var o=r;export{o as default};
@@ -0,0 +1 @@
1
+ import{FormLabel as m}from"@mui/joy";import{motion as r}from"framer-motion";const a=r(m),o=a;o.displayName="FormLabel";export{o as FormLabel};
@@ -0,0 +1 @@
1
+ import{FormLabel as o}from"./FormLabel";export*from"./FormLabel";var e=o;export{e as default};
@@ -0,0 +1 @@
1
+ import{Grid as r}from"@mui/joy";import{motion as i}from"framer-motion";const t=i(r),o=t;o.displayName="Grid";export{o as Grid};
@@ -0,0 +1 @@
1
+ import{Grid as r}from"./Grid";export*from"./Grid";var t=r;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const n={icon:{title:"Icon",type:t.ComponentInstance},onClick:{title:"onClick",type:t.EventHandler},disabled:{title:"Disabled",type:t.Boolean,defaultValue:!1},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]},variant:{title:"Variant",type:t.Enum,options:["solid","outlined","soft","plain"]},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"},modalContents:{title:"Modal Contents",type:t.Array,control:{type:t.ComponentInstance}},enablePortal:{type:t.Boolean,description:"\uD574\uB2F9 \uBC84\uD2BC\uACFC \uC5F0\uACB0\uB41C \uBAA8\uB2EC\uC774 \uCEE8\uD150\uCE20 \uC548\uC5D0\uC11C \uC5F4\uB9AC\uBA74 \uC774 \uAC12\uC744 Yes\uB85C \uC124\uC815\uD574 \uBCF4\uC138\uC694.",defaultValue:!1,hidden:({modalContents:e})=>e.length===0}};export{n as iconButtonPropertyControls};
@@ -0,0 +1 @@
1
+ import n from"react";import{IconButton as r}from"@mui/joy";import{motion as c}from"framer-motion";const p=c(r),o=t=>n.createElement(p,{...t});o.displayName="IconButton";export{o as IconButton};
@@ -0,0 +1 @@
1
+ import{IconButton as o}from"./IconButton";export*from"./IconButton";var r=o;export{r as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={label:{title:"Label",type:e.String},helperText:{title:"Helper Text",type:e.String},error:{title:"Error",type:e.Boolean,defaultValue:!1},onChange:{type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},required:{title:"Required",type:e.Boolean,defaultValue:!1},readOnly:{title:"Readonly",type:e.Boolean,defaultValue:!1},enableClearable:{title:"Enable Clearable",type:e.Boolean,defaultValue:!1},color:{title:"Color",type:e.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"],defaultValue:"neutral"},variant:{title:"Variant",type:e.Enum,options:["solid","outlined","soft","plain"],defaultValue:"outlined"},defaultValue:{title:"Value",type:e.String,defaultValue:""},placeholder:{title:"Placeholder",type:e.String,defaultValue:"Type in here..."},endDecorator:{title:"End Decorator",type:e.ComponentInstance},startDecorator:{title:"Start Decorator",type:e.ComponentInstance},size:{title:"Size",type:e.Enum,options:["sm","md","lg"],defaultValue:"md"}};export{l as inputPropertyControls};
@@ -0,0 +1 @@
1
+ import e,{useCallback as x}from"react";import{Input as N}from"@mui/joy";import{motion as y}from"framer-motion";import D from"@mui/icons-material/esm/Close.js";import F from"../FormControl";import M from"../FormLabel";import E from"../FormHelperText";import H from"../IconButton";import{useControlledState as k}from"../../hooks/use-controlled-state";import w from"../Stack";const L=y(N),b=e.forwardRef((t,f)=>{const{label:a,helperText:l,error:s,style:S,size:C,color:m,disabled:p,required:u,onChange:i,name:n,sx:I,className:g,enableClearable:h,...o}=t,[d,c]=k(t.value,t.defaultValue,x(r=>{i?.({target:{value:r?.toString()||"",name:n||""}})},[i,n])),P=r=>{c(r.target.value)},T=()=>{c(t.defaultValue||"")},v=e.createElement(L,{value:d,name:n,onChange:P,required:u,color:s?"danger":m,disabled:p,slotProps:{input:{ref:f,...o.slotProps?.input},...o.slotProps},...o,endDecorator:h?e.createElement(w,{gap:1,direction:"row"},o.endDecorator,d&&e.createElement(H,{onMouseDown:r=>r.preventDefault(),onClick:T,"aria-label":"Clear"},e.createElement(D,null))):o.endDecorator});return e.createElement(F,{required:u,color:m,size:C,error:s,disabled:p,sx:I,className:g},a&&e.createElement(M,null,a),v,l&&e.createElement(E,null,l))});b.displayName="Input";export{b as Input};
@@ -0,0 +1 @@
1
+ import{Input as o}from"./Input";export*from"./Input";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import s from"react";import{Drawer as e}from"@mui/joy";import{motion as p}from"framer-motion";const a=p(e),r=t=>{const{children:n,...o}=t;return s.createElement(a,{...o,slotProps:{...o.slotProps,content:{...o.slotProps?.content,sx:{bgcolor:"transparent",p:{md:3,sm:0},boxShadow:"none"}}}},n)};r.displayName="InsetDrawer";export{r as InsetDrawer};
@@ -0,0 +1 @@
1
+ import{InsetDrawer as r}from"./InsetDrawer";export*from"./InsetDrawer";var o=r;export{o as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const l={text:{title:"Text",type:t.String,defaultValue:"Link"},href:{title:"Href",type:t.Link},disabled:{title:"Disabled",type:t.Boolean,defaultValue:!1},level:{title:"Level",type:t.Enum,options:["h1","h2","h3","h4","title-lg","title-md","title-sm","marketing-lg","marketing-md","marketing-sm","body-lg","body-md","body-sm","body-xs","inherit"],defaultValue:"body-md"},color:{title:"Color",type:t.Enum,options:["primary","neutral","danger","success","warning"],optionTitles:["Primary","Neutral","Danger","Success","Warning"]},variant:{title:"Variant",type:t.Enum,options:["solid","outlined","soft","plain"],defaultValue:"plain"},underline:{title:"Underline",type:t.Enum,options:["always","none"],optionTitles:["Always","None"]}};export{l as linkPropertyControls};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={text:{title:"Text",type:t.String,defaultValue:"This is **markdown**.",displayTextArea:!0},textAlign:{title:"Text Align",type:t.Enum,options:[void 0,"start","center","end"],optionTitles:["None","Start","Center","End"],defaultValue:void 0},defaultLevel:{title:"defaultLevel",type:t.Enum,options:["h1","h2","h3","h4","title-lg","title-md","title-sm","marketing-lg","marketing-md","marketing-sm","body-lg","body-md","body-sm","body-xs","inherit"],defaultValue:"body-md"},defaultLinkAction:{title:"defaultLinkAction",type:t.Enum,options:["self","blank","parent","top","unfencedTop"],defaultValue:"self"},textColor:{title:"Text Color",type:t.Enum,options:["text.primary","text.secondary","text.icon","text.tertiary","inherit","common.white","common.black","primary.500","danger.500"],defaultValue:"inherit"},accentColor:{title:"Accent Color",type:t.Enum,options:["text.primary","text.secondary","text.icon","text.tertiary","inherit","common.white","common.black","primary.500","danger.500"],defaultValue:"danger.500"}};export{o as markdownPropertyControls};
@@ -0,0 +1 @@
1
+ import r from"react";import c from"react-markdown";import{Divider as f,Typography as t}from"../";import{Link as g}from"@mui/joy";import{rehypeAccent as T}from"../../libs/rehype-accent";const y=h=>{const{color:e,textColor:p,defaultLevel:n="body-md",accentColor:m="danger.500",defaultLinkAction:a="_self",markdownOptions:i,content:s,...d}=h;return r.createElement(t,{component:"div",color:e,textColor:p,level:n,...d},r.createElement(c,{...i,children:s,rehypePlugins:[[T,{accentColor:m}]],components:{h1:({children:o})=>r.createElement(t,{color:e,textColor:p,level:"h1"},o),h2:({children:o})=>r.createElement(t,{color:e,textColor:p,level:"h2"},o),h3:({children:o})=>r.createElement(t,{color:e,textColor:p,level:"h3"},o),h4:({children:o})=>r.createElement(t,{color:e,textColor:p,level:"h4"},o),p:({children:o,node:l})=>r.createElement(t,{color:e,textColor:p,level:n,...l?.properties},o),a:({children:o,href:l})=>r.createElement(g,{href:l,target:a},o),hr:()=>r.createElement(f,null),...i?.components}}))};y.displayName="Markdown";export{y as Markdown};
@@ -0,0 +1 @@
1
+ import{Markdown as o}from"./Markdown";export*from"./Markdown";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import n from"react";import{Menu as r,MenuButton as s,MenuItem as p}from"@mui/joy";import{motion as t}from"framer-motion";const m=t(r),e=o=>n.createElement(m,{...o});e.displayName="Menu";const i=t(s),u=o=>n.createElement(i,{...o});u.displayName="MenuButton";const P=t(p),M=o=>n.createElement(P,{...o});M.displayName="MenuItem";export{e as Menu,u as MenuButton,M as MenuItem};
@@ -0,0 +1 @@
1
+ import{Menu as o}from"./Menu";export*from"./Menu";var e=o;export{e as default};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={buttonText:{title:"Button Text",type:t.String,defaultValue:"text"},showIcon:{type:t.Boolean,defaultValue:!1},size:{type:t.Enum,options:["sm","md","lg"],defaultValue:"sm"},items:{title:"Items",type:t.Array,control:{type:t.Object,controls:{text:{type:t.String}}},defaultValue:[]}};export{o as menuButtonPropertyControls};
@@ -0,0 +1 @@
1
+ import{ControlType as t}from"framer";const o={title:{type:t.String,defaultValue:"Title"},content:{title:"Content",type:t.ComponentInstance},size:{title:"Size",type:t.Enum,options:["sm","md","lg"],defaultValue:"md"}};export{o as modalFramePropertyControls};
@@ -0,0 +1 @@
1
+ import l from"react";import{Modal as c,ModalDialog as g,ModalClose as y,ModalOverflow as f,styled as e}from"@mui/joy";import{motion as a}from"framer-motion";import D from"../DialogTitle";import C from"../DialogContent";const N=a(c),d=N;d.displayName="Modal";const i=e(g)({padding:0}),r=i;r.displayName="ModalDialog";const v=e(a(y))(({theme:o})=>({top:o.spacing(3),right:o.spacing(6)})),t=v;t.displayName="ModalClose";const w=a(f),n=w;n.displayName="ModalOverflow";function s(o){const{title:M,children:p,...m}=o;return l.createElement(i,{...m},l.createElement(t,null),l.createElement(D,null,M),l.createElement(C,null,p))}s.displayName="ModalFrame";export{d as Modal,t as ModalClose,r as ModalDialog,s as ModalFrame,n as ModalOverflow};
@@ -0,0 +1 @@
1
+ import{Modal as o}from"./Modal";export*from"./Modal";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={onChange:{title:"onChange",type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},required:{title:"Required",type:e.Boolean,defaultValue:!1},value:{title:"Value",type:e.String,defaultValue:"2024/04/03"},label:{title:"Label",type:e.String,defaultValue:""},error:{title:"Error",type:e.Boolean,defaultValue:!1},helperText:{title:"Helper Text",type:e.String,defaultValue:""},minDate:{title:"Minimum Date",type:e.String},maxDate:{title:"Maximum Date",type:e.String},disableFuture:{title:"Disable Future",type:e.Boolean,defaultValue:!1},disablePast:{title:"Disable Past",type:e.Boolean,defaultValue:!1}};export{l as monthPickerPropertyControls};
@@ -0,0 +1 @@
1
+ import n,{forwardRef as N,useCallback as f,useEffect as A,useImperativeHandle as L,useRef as S,useState as Y}from"react";import{IMaskInput as B,IMask as v}from"react-imask";import F from"@mui/icons-material/esm/CalendarToday.js";import{styled as g}from"@mui/joy";import{FocusTrap as H,ClickAwayListener as V,Popper as z}from"@mui/base";import q from"../Input";import R from"../IconButton";import O from"../Sheet";import $ from"../Calendar";import j from"../DialogActions";import G from"../Button";import{useControlledState as J}from"../../hooks/use-controlled-state";const K=g(z,{name:"MonthPicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),Q=g(O,{name:"MonthPicker",slot:"sheet",overridesResolver:(e,t)=>t.root})(({theme:e})=>({width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),U=g("div",{name:"MonthPicker",slot:"container"})({width:"100%"}),P=e=>{let t=`${e.getMonth()+1}`;const a=e.getFullYear();return Number(t)<10&&(t="0"+t),[a,t].join("/")},C=e=>(a=>{if(!/^\d\d\d\d\/(0[1-9]|1[012])(\/(0[1-9]|[23][0-9]))?$/.test(a))return a;const l=a.split("/"),s=new Date(Number(l[0]),Number(l[1])-1);return P(s)})(e),W=e=>e.split(" - ")[0]||"",X=n.forwardRef(function(t,a){const{onChange:l,...s}=t;return n.createElement(B,{...s,inputRef:a,onAccept:u=>l({target:{name:t.name,value:u}}),mask:Date,pattern:"Y/m",blocks:{m:{mask:v.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:v.MaskedRange,from:1900,to:9999}},format:C,parse:W})}),Z=N((e,t)=>{const{onChange:a,disabled:l,label:s,error:u,helperText:D,minDate:h,maxDate:k,disableFuture:x,disablePast:T,required:w,sx:y,className:I,...b}=e,r=S(null),[d,M]=J(e.value,e.defaultValue||"",f(o=>a?.({target:{name:e.name,value:o}}),[e.name,a])),[i,m]=Y(null),p=!!i;A(()=>{i||r.current?.blur()},[i,r]),L(t,()=>r.current,[r]);const c=f(o=>{M(o.target.value)},[M]),E=f(o=>{m(i?null:o.currentTarget),r.current?.focus()},[i,m,r]);return n.createElement(U,null,n.createElement(H,{open:!0},n.createElement(n.Fragment,null,n.createElement(q,{...b,color:u?"danger":b.color,ref:r,size:"sm",value:d,onChange:c,placeholder:"YYYY/MM",disabled:l,required:w,slotProps:{input:{component:X,ref:r}},error:u,className:I,sx:{...y,fontFamily:"monospace"},endDecorator:n.createElement(R,{variant:"plain",onClick:E,"aria-label":"Toggle Calendar","aria-controls":"month-picker-popper","aria-haspopup":"dialog","aria-expanded":p},n.createElement(F,null)),label:s,helperText:D}),p&&n.createElement(V,{onClickAway:()=>m(null)},n.createElement(K,{id:"month-picker-popper",open:!0,anchorEl:i,placement:"bottom-end",onMouseDown:o=>o.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":p},n.createElement(Q,{tabIndex:-1,role:"presentation"},n.createElement($,{view:"month",views:["month"],value:Number.isNaN(new Date(d).getTime())?void 0:[new Date(d),void 0],onChange:([o])=>{c({target:{name:e.name,value:C(P(o))}}),m(null)},minDate:h?new Date(h):void 0,maxDate:k?new Date(k):void 0,disableFuture:x,disablePast:T}),n.createElement(j,{sx:{p:1}},n.createElement(G,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{c({target:{name:e.name,value:""}}),m(null)}},"Clear"))))))))});export{Z as MonthPicker};
@@ -0,0 +1 @@
1
+ import{MonthPicker as o}from"./MonthPicker";export*from"./MonthPicker";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{ControlType as e}from"framer";const l={onChange:{title:"onChange",type:e.EventHandler},disabled:{title:"Disabled",type:e.Boolean,defaultValue:!1},required:{title:"Required",type:e.Boolean,defaultValue:!1},value:{title:"Value",type:e.String,defaultValue:"2024/04 - 2024/07"},label:{title:"Label",type:e.String,defaultValue:""},error:{title:"Error",type:e.Boolean,defaultValue:!1},helperText:{title:"Helper Text",type:e.String,defaultValue:""},minDate:{title:"Minimum Date",type:e.String},maxDate:{title:"Maximum Date",type:e.String},disableFuture:{title:"Disable Future",type:e.Boolean,defaultValue:!1},disablePast:{title:"Disable Past",type:e.Boolean,defaultValue:!1}};export{l as monthRangePickerPropertyControls};
@@ -0,0 +1 @@
1
+ import t,{forwardRef as S,useCallback as c,useEffect as B,useImperativeHandle as F,useMemo as H,useRef as V,useState as z}from"react";import{IMaskInput as q,IMask as C}from"react-imask";import j from"@mui/icons-material/esm/CalendarToday.js";import{styled as f}from"@mui/joy";import{FocusTrap as O,ClickAwayListener as $,Popper as G}from"@mui/base";import J from"../Input";import K from"../IconButton";import Q from"../Sheet";import U from"../Calendar";import W from"../DialogActions";import X from"../Button";import{useControlledState as Z}from"../../hooks/use-controlled-state";const _=f(G,{name:"MonthRangePicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),ee=f(Q,{name:"MonthRangePicker",slot:"sheet",overridesResolver:(e,n)=>n.root})(({theme:e})=>({zIndex:e.zIndex.tooltip,width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),ne=f("div",{name:"MonthRangePicker",slot:"container"})({width:"100%"}),h=e=>{let n=`${e.getMonth()+1}`;const o=e.getFullYear();return Number(n)<10&&(n="0"+n),[o,n].join("/")},v=([e,n])=>{const o=r=>{if(!/^\d\d\d\d\/(0[1-9]|1[012])(\/(0[1-9]|[23][0-9]))?$/.test(r))return r;const l=r.split("/"),i=new Date(Number(l[0]),Number(l[1])-1);return h(i)};return[o(e),o(n)].join(" - ")},D=e=>{const n=e.split(" - ")[0]||"",o=e.split(" - ")[1]||"";return[n,o]},te=t.forwardRef(function(n,o){const{onChange:r,...l}=n;return t.createElement(q,{...l,inputRef:o,onAccept:i=>r({target:{name:n.name,value:i}}),mask:Date,pattern:"Y/m - Y/m",blocks:{m:{mask:C.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:C.MaskedRange,from:1900,to:9999}},format:v,parse:D})}),x=S((e,n)=>{const{onChange:o,disabled:r,label:l,error:i,helperText:y,minDate:k,maxDate:M,disableFuture:T,disablePast:w,required:I,sx:R,className:E,...b}=e,s=V(null),[p,m]=Z(e.value,e.defaultValue||"",c(a=>o?.({target:{name:e.name,value:a}}),[e.name,o])),[d,u]=z(null),g=!!d,Y=H(()=>p?D(p).map(a=>new Date(a)):void 0,[p]);B(()=>{d||s.current?.blur()},[d,s]),F(n,()=>s.current,[s]);const A=c(a=>{m(a.target.value)},[m]),L=c(a=>{u(d?null:a.currentTarget),s.current?.focus()},[d,u,s]),N=c(([a,P])=>{!a||!P||(m(v([h(a),h(P)])),u(null))},[m,u]);return t.createElement(ne,null,t.createElement(O,{open:!0},t.createElement(t.Fragment,null,t.createElement(J,{...b,color:i?"danger":b.color,ref:n,size:"sm",value:p,onChange:A,disabled:r,required:I,placeholder:"YYYY/MM - YYYY/MM",slotProps:{input:{component:te,ref:s}},error:i,className:E,sx:{...R,fontFamily:"monospace"},endDecorator:t.createElement(K,{variant:"plain",onClick:L,"aria-label":"Toggle Calendar","aria-controls":"month-range-picker-popper","aria-haspopup":"dialog","aria-expanded":g},t.createElement(j,null)),label:l,helperText:y}),g&&t.createElement($,{onClickAway:()=>u(null)},t.createElement(_,{id:"month-range-picker-popper",open:!0,anchorEl:d,placement:"bottom-end",onMouseDown:a=>a.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}],"aria-label":"Calendar Tooltip","aria-expanded":g},t.createElement(ee,{tabIndex:-1,role:"presentation"},t.createElement(U,{view:"month",views:["month"],rangeSelection:!0,defaultValue:Y,onChange:N,minDate:k?new Date(k):void 0,maxDate:M?new Date(M):void 0,disableFuture:T,disablePast:w}),t.createElement(W,{sx:{p:1}},t.createElement(X,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{m(""),u(null)}},"Clear"))))))))});x.displayName="MonthRangePicker";export{x as MonthRangePicker};
@@ -0,0 +1 @@
1
+ import{MonthRangePicker as o}from"./MonthRangePicker";export*from"./MonthRangePicker";var e=o;export{e as default};
@@ -0,0 +1 @@
1
+ import r from"react";import{Accordion as s,AccordionSummary as d,AccordionDetails as m,styled as n,accordionSummaryClasses as c,Stack as p}from"@mui/joy";const u=n(d,{name:"NavigationGroup",slot:"Summary",shouldForwardProp:o=>o!=="useIcon"&&o!=="level"})(({theme:o,useIcon:e,level:a})=>({[`& .${c.button}`]:{padding:o.spacing(4,6,4,(e?6:8)+(a||0)*8),[`&.${c.expanded}`]:{color:o.palette.primary.plainColor,"--Icon-color":o.palette.primary.plainColor}}})),y=n(m,{name:"NavigationGroup",slot:"Details"})(({theme:o})=>({"--AccordionDetails-transition":"grid-template-rows 0.2s ease, padding-block 0.2s ease",backgroundColor:o.palette.background.level1}));function A(o){const{title:e,children:a,startDecorator:t,level:i,...l}=o;return r.createElement(s,{...l},r.createElement(u,{useIcon:!!t,level:i},r.createElement(p,{direction:"row",gap:4},t,e)),r.createElement(y,null,a))}export{A as NavigationGroup};
@@ -0,0 +1 @@
1
+ import{NavigationGroup as o}from"./NavigationGroup";export*from"./NavigationGroup";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import r from"react";import{ListItem as d,ListItemButton as p,ListItemDecorator as u,styled as m,listItemButtonClasses as I}from"@mui/joy";const g=m(p,{name:"NavigationItem",slot:"Button",shouldForwardProp:t=>t!=="useIcon"&&t!=="level"})(({theme:t,useIcon:e,level:o})=>({padding:t.spacing(4,6,4,(e?6:8)+(o||0)*8),gap:t.spacing(4),fontWeight:500,"&:hover":{backgroundColor:t.palette.neutral.plainHoverBg},"&:active":{backgroundColor:t.palette.neutral.plainActiveBg},[`&.${I.selected}`]:{color:t.palette.primary.plainColor,"--Icon-color":t.palette.primary.plainColor,"&:not(:hover):not(:active)":{backgroundColor:t.palette.background.surface}}}));function v(t){const{children:e,startDecorator:o,level:a,selected:n,id:i,onClick:l,...s}=t,c=()=>{l?.(i)};return r.createElement(d,{...s},r.createElement(g,{level:a,useIcon:!!o,selected:n,"aria-current":n,onClick:c},o&&r.createElement(u,null,o),e))}export{v as NavigationItem};
@@ -0,0 +1 @@
1
+ import{NavigationItem as o}from"./NavigationItem";export*from"./NavigationItem";var r=o;export{r as default};
@@ -0,0 +1,3 @@
1
+ import{ControlType as e}from"framer";const a={level:{type:e.Number,defaultValue:0,description:"Navigator\uC758 \uB808\uBCA8\uC785\uB2C8\uB2E4. \uB808\uBCA8\uC5D0 \uB530\uB77C \uC88C\uCE21 \uC5EC\uBC31\uC744 \uC870\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},items:{type:e.Array,control:{type:e.Object,controls:{type:{type:e.Enum,options:["item","group"],defaultValue:"item"},title:{type:e.String,defaultValue:"Home",description:"\uC2DC\uAC01\uC801\uC73C\uB85C Navigator\uC5D0 \uB178\uCD9C\uB418\uB294 \uAC12\uC785\uB2C8\uB2E4."},selected:{type:e.Boolean,defaultValue:!1,hidden:t=>t.type!=="item",description:"Yes\uB85C \uC124\uC815\uD558\uBA74 selected \uC2A4\uD0C0\uC77C\uB85C \uB178\uCD9C\uB429\uB2C8\uB2E4."},expanded:{type:e.Boolean,defaultValue:!1,hidden:t=>t.type!=="group",description:"Yes\uB85C \uC124\uC815\uD558\uBA74 \uAE30\uBCF8\uC801\uC73C\uB85C \uD3BC\uCC98\uC9C4 \uC0C1\uD0DC\uB85C \uB178\uCD9C\uB429\uB2C8\uB2E4.(\uC0C8\uB85C\uACE0\uCE68\uC774 \uD544\uC694\uD560\uC9C0\uB3C4 \uBAB0\uB77C\uC694)"},showStartDecorator:{type:e.Boolean,defaultValue:!1,description:"Yes\uB85C \uC124\uC815\uD558\uBA74 startDecorator\uB97C \uC124\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4"},startDecorator:{type:e.Object,controls:{}}}},defaultValue:[{type:"item",title:"Home",content:[]},{type:"group",title:"Projects",content:[]}]},contents:{title:"Contents",type:e.Array,control:{type:e.ComponentInstance},defaultValue:[],description:`NavigationGroup\uD558\uC704\uC5D0 \uB178\uCD9C\uB420 \uAC12\uC785\uB2C8\uB2E4. \uB2E4\uB978 Navigator\uB97C \uB123\uC5B4\uC11C navigation\uC744 \uAD6C\uC131\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4.
2
+
3
+ Navigator\uC5D0 \uC874\uC7AC\uD558\uB294 NavigationGroup\uC5D0 \uC21C\uCC28\uC801\uC73C\uB85C \uC8FC\uC785\uB429\uB2C8\uB2E4.(\uBD88\uD3B8\uD558\uC9C0\uB9CC framer\uC758 \uC81C\uC57D\uC73C\uB85C \uC778\uD574 \uC774\uB807\uAC8C \uAD6C\uC131\uD588\uC2B5\uB2C8\uB2E4.)`},onSelect:{type:e.EventHandler}};export{a as navigatorPropertyControls};
@@ -0,0 +1 @@
1
+ import e from"react";import{NavigationGroup as d}from"../NavigationGroup";import{NavigationItem as p}from"../NavigationItem";function o(a){const{items:i,level:r=0,onSelect:n}=a,l=t=>{n?.(t)};return e.createElement("div",null,i.map((t,c)=>t.type==="item"?e.createElement(p,{key:t.id,id:t.id,startDecorator:t.startDecorator,selected:t.selected,level:r,onClick:l},t.title):t.type==="group"?e.createElement(d,{key:c,title:t.title,startDecorator:t.startDecorator,level:r,defaultExpanded:t.expanded},t.content):null))}o.displayName="Navigator";export{o as Navigator};
@@ -0,0 +1 @@
1
+ import{Navigator as o}from"./Navigator";export*from"./Navigator";var t=o;export{t as default};
@@ -0,0 +1 @@
1
+ import{Radio as r,RadioGroup as t}from"@mui/joy";import{motion as o}from"framer-motion";const d=o(r),i=d;i.displayName="Radio";const p=o(t),a=p;a.displayName="RadioGroup";export{i as Radio,a as RadioGroup};
@@ -0,0 +1 @@
1
+ import{Radio as o}from"./Radio";export*from"./Radio";var t=o;export{t as default};