@ceed/cds 0.0.149 → 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 (155) 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.d.ts +2 -2
  40. package/dist/components/DataTable/DataTable.framer.js +2 -0
  41. package/dist/components/DataTable/DataTable.js +1 -0
  42. package/dist/components/DataTable/index.js +1 -0
  43. package/dist/components/DataTable/types.d.ts +43 -38
  44. package/dist/components/DataTable/types.js +0 -0
  45. package/dist/components/DatePicker/DatePicker.framer.js +1 -0
  46. package/dist/components/DatePicker/DatePicker.js +1 -0
  47. package/dist/components/DatePicker/index.js +1 -0
  48. package/dist/components/DateRangePicker/DateRangePicker.framer.js +1 -0
  49. package/dist/components/DateRangePicker/DateRangePicker.js +1 -0
  50. package/dist/components/DateRangePicker/index.js +1 -0
  51. package/dist/components/DialogActions/DialogActions.js +1 -0
  52. package/dist/components/DialogActions/index.js +1 -0
  53. package/dist/components/DialogContent/DialogContent.js +1 -0
  54. package/dist/components/DialogContent/index.js +1 -0
  55. package/dist/components/DialogFrame/DialogFrame.d.ts +1 -1
  56. package/dist/components/DialogFrame/DialogFrame.framer.js +1 -0
  57. package/dist/components/DialogFrame/DialogFrame.js +1 -0
  58. package/dist/components/DialogFrame/index.js +1 -0
  59. package/dist/components/DialogTitle/DialogTitle.js +1 -0
  60. package/dist/components/DialogTitle/index.js +1 -0
  61. package/dist/components/Divider/Divider.framer.js +1 -0
  62. package/dist/components/Divider/Divider.js +1 -0
  63. package/dist/components/Divider/index.js +1 -0
  64. package/dist/components/Drawer/Drawer.js +1 -0
  65. package/dist/components/Drawer/index.js +1 -0
  66. package/dist/components/Dropdown/Dropdown.js +1 -0
  67. package/dist/components/Dropdown/index.js +1 -0
  68. package/dist/components/FormControl/FormControl.framer.js +1 -0
  69. package/dist/components/FormControl/FormControl.js +1 -0
  70. package/dist/components/FormControl/index.js +1 -0
  71. package/dist/components/FormHelperText/FormHelperText.js +1 -0
  72. package/dist/components/FormHelperText/index.js +1 -0
  73. package/dist/components/FormLabel/FormLabel.js +1 -0
  74. package/dist/components/FormLabel/index.js +1 -0
  75. package/dist/components/Grid/Grid.js +1 -0
  76. package/dist/components/Grid/index.js +1 -0
  77. package/dist/components/IconButton/IconButton.framer.js +1 -0
  78. package/dist/components/IconButton/IconButton.js +1 -0
  79. package/dist/components/IconButton/index.js +1 -0
  80. package/dist/components/Input/Input.framer.js +1 -0
  81. package/dist/components/Input/Input.js +1 -0
  82. package/dist/components/Input/index.js +1 -0
  83. package/dist/components/InsetDrawer/InsetDrawer.js +1 -0
  84. package/dist/components/InsetDrawer/index.js +1 -0
  85. package/dist/components/Link/Link.framer.js +1 -0
  86. package/dist/components/Markdown/Markdown.d.ts +1 -1
  87. package/dist/components/Markdown/Markdown.framer.js +1 -0
  88. package/dist/components/Markdown/Markdown.js +1 -0
  89. package/dist/components/Markdown/index.js +1 -0
  90. package/dist/components/Menu/Menu.js +1 -0
  91. package/dist/components/Menu/index.js +1 -0
  92. package/dist/components/MenuButton/MenuButton.framer.js +1 -0
  93. package/dist/components/Modal/Modal.d.ts +1 -1
  94. package/dist/components/Modal/Modal.framer.js +1 -0
  95. package/dist/components/Modal/Modal.js +1 -0
  96. package/dist/components/Modal/index.js +1 -0
  97. package/dist/components/MonthPicker/MonthPicker.framer.js +1 -0
  98. package/dist/components/MonthPicker/MonthPicker.js +1 -0
  99. package/dist/components/MonthPicker/index.js +1 -0
  100. package/dist/components/MonthRangePicker/MonthRangePicker.framer.js +1 -0
  101. package/dist/components/MonthRangePicker/MonthRangePicker.js +1 -0
  102. package/dist/components/MonthRangePicker/index.js +1 -0
  103. package/dist/components/NavigationGroup/NavigationGroup.js +1 -0
  104. package/dist/components/NavigationGroup/index.js +1 -0
  105. package/dist/components/NavigationItem/NavigationItem.js +1 -0
  106. package/dist/components/NavigationItem/index.js +1 -0
  107. package/dist/components/Navigator/Navigator.framer.js +3 -0
  108. package/dist/components/Navigator/Navigator.js +1 -0
  109. package/dist/components/Navigator/index.js +1 -0
  110. package/dist/components/Radio/Radio.js +1 -0
  111. package/dist/components/Radio/index.js +1 -0
  112. package/dist/components/RadioList/RadioList.framer.js +1 -0
  113. package/dist/components/RadioList/RadioList.js +1 -0
  114. package/dist/components/RadioList/index.js +1 -0
  115. package/dist/components/Select/Select.framer.js +1 -0
  116. package/dist/components/Select/Select.js +1 -0
  117. package/dist/components/Select/index.js +1 -0
  118. package/dist/components/Sheet/Sheet.framer.js +1 -0
  119. package/dist/components/Sheet/Sheet.js +1 -0
  120. package/dist/components/Sheet/index.js +1 -0
  121. package/dist/components/Skeleton/Skeleton.framer.js +1 -0
  122. package/dist/components/Stack/Stack.js +1 -0
  123. package/dist/components/Stack/index.js +1 -0
  124. package/dist/components/Stepper/Stepper.framer.js +1 -0
  125. package/dist/components/Stepper/Stepper.js +1 -0
  126. package/dist/components/Stepper/index.js +1 -0
  127. package/dist/components/Switch/Switch.framer.js +1 -0
  128. package/dist/components/Switch/Switch.js +1 -0
  129. package/dist/components/Switch/index.js +1 -0
  130. package/dist/components/Table/Table.js +1 -0
  131. package/dist/components/Table/index.js +1 -0
  132. package/dist/components/Tabs/Tabs.framer.js +1 -0
  133. package/dist/components/Tabs/Tabs.js +1 -0
  134. package/dist/components/Tabs/index.js +1 -0
  135. package/dist/components/Textarea/Textarea.framer.js +1 -0
  136. package/dist/components/Textarea/Textarea.js +1 -0
  137. package/dist/components/Textarea/index.js +1 -0
  138. package/dist/components/ThemeProvider/ThemeProvider.js +1 -0
  139. package/dist/components/ThemeProvider/index.js +1 -0
  140. package/dist/components/Tooltip/Tooltip.js +1 -0
  141. package/dist/components/Tooltip/index.js +1 -0
  142. package/dist/components/Typography/Typography.framer.js +1 -0
  143. package/dist/components/Typography/Typography.js +1 -0
  144. package/dist/components/Typography/index.js +1 -0
  145. package/dist/components/Uploader/Uploader.framer.js +1 -0
  146. package/dist/components/Uploader/Uploader.js +1 -0
  147. package/dist/components/Uploader/index.js +1 -0
  148. package/dist/components/index.js +1 -0
  149. package/dist/framer-entrypoint.js +1 -0
  150. package/dist/hooks/use-controlled-state/index.js +1 -0
  151. package/dist/index.js +1 -1
  152. package/dist/libs/rehype-accent/index.js +1 -0
  153. package/framer/framer-entrypoint.js +181 -0
  154. package/framer/index.js +45 -34
  155. package/package.json +5 -4
@@ -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};
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import type { ObjectLike, DataTableProps } from "./types";
3
- declare function DataTable<T extends ObjectLike>(props: DataTableProps<T>): React.JSX.Element;
2
+ import type { DataTableProps } from "./types";
3
+ declare function DataTable<T extends Record<PropertyKey, any>, GetId extends ((row: T) => any) | undefined>(props: DataTableProps<T, GetId>): React.JSX.Element;
4
4
  declare namespace DataTable {
5
5
  var displayName: string;
6
6
  }
@@ -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};
@@ -10,27 +10,32 @@ import Select from "../Select";
10
10
  export type ObjectLike<V = any> = Record<PropertyKey, V> | {
11
11
  [key: PropertyKey]: V;
12
12
  };
13
- type Handler<T extends ObjectLike, V = any, R = any> = (params: V extends never ? {
13
+ type ReturnTypeOrNever<T> = T extends (...args: any[]) => infer R ? R : never;
14
+ type IdPropType<T> = T extends {
15
+ id: infer ID;
16
+ } ? ID : never;
17
+ export type InferredIdType<T, GetId> = GetId extends (row: T) => any ? ReturnTypeOrNever<GetId> : IdPropType<T>;
18
+ type Handler<T extends ObjectLike, ID, V = any, R = any> = (params: V extends never ? {
14
19
  row: T;
15
20
  value?: V;
16
- id: PropertyKey;
21
+ id: ID;
17
22
  } : {
18
23
  row: T;
19
24
  value: V;
20
- id: PropertyKey;
25
+ id: ID;
21
26
  }) => R;
22
- type EventHandler<T extends ObjectLike, V = any> = (params: {
27
+ type EventHandler<T extends ObjectLike, ID, V = any> = (params: {
23
28
  originalRow: T;
24
29
  row: T;
25
30
  value?: V;
26
- id: PropertyKey;
31
+ id: ID;
27
32
  }) => void;
28
- type ComponentProperties<C extends React.ElementType, T extends ObjectLike, V = any> = ComponentProps<C> | Handler<T, V, ComponentProps<C>>;
29
- export type RenderCellHandler<T extends ObjectLike, V = any> = Handler<T, V, ReactNode>;
30
- export type CellEditableHandler<T extends ObjectLike, V = any> = Handler<T, V, boolean>;
31
- export type CellEditStartEvent<T extends ObjectLike, V = any> = EventHandler<T, V>;
32
- export type CellEditStopEvent<T extends ObjectLike, V = any> = EventHandler<T, V>;
33
- export type BaseColumnDef<T extends Record<PropertyKey, V>, V> = {
33
+ type ComponentProperties<C extends React.ElementType, T extends ObjectLike, ID, V = any> = ComponentProps<C> | Handler<T, ID, V, ComponentProps<C>>;
34
+ export type RenderCellHandler<T extends ObjectLike, ID, V = any> = Handler<T, ID, V, ReactNode>;
35
+ export type CellEditableHandler<T extends ObjectLike, ID, V = any> = Handler<T, ID, V, boolean>;
36
+ export type CellEditStartEvent<T extends ObjectLike, ID, V = any> = EventHandler<T, ID, V>;
37
+ export type CellEditStopEvent<T extends ObjectLike, ID, V = any> = EventHandler<T, ID, V>;
38
+ export type BaseColumnDef<T extends Record<PropertyKey, V>, V, ID> = {
34
39
  [K in keyof T]: {
35
40
  field: K;
36
41
  headerName?: string;
@@ -38,12 +43,12 @@ export type BaseColumnDef<T extends Record<PropertyKey, V>, V> = {
38
43
  minWidth?: string;
39
44
  maxWidth?: string;
40
45
  resizable?: boolean;
41
- renderCell?: RenderCellHandler<T, T[K]>;
42
- renderEditCell?: RenderCellHandler<T, T[K]>;
43
- isCellEditable?: CellEditableHandler<T, V> | boolean;
46
+ renderCell?: RenderCellHandler<T, ID, T[K]>;
47
+ renderEditCell?: RenderCellHandler<T, ID, T[K]>;
48
+ isCellEditable?: CellEditableHandler<T, ID, V> | boolean;
44
49
  required?: boolean;
45
- onCellEditStart?: CellEditStartEvent<T, V>;
46
- onCellEditStop?: CellEditStopEvent<T, V>;
50
+ onCellEditStart?: CellEditStartEvent<T, ID, V>;
51
+ onCellEditStop?: CellEditStopEvent<T, ID, V>;
47
52
  sortable?: boolean;
48
53
  sortComparator?: (params: {
49
54
  rowA: T;
@@ -52,40 +57,40 @@ export type BaseColumnDef<T extends Record<PropertyKey, V>, V> = {
52
57
  sortOrder?: Sort[];
53
58
  };
54
59
  }[keyof T];
55
- export type AutocompleteColumnDef<T extends Record<PropertyKey, string>> = BaseColumnDef<T, string> & {
60
+ export type AutocompleteColumnDef<T extends Record<PropertyKey, string>, ID> = BaseColumnDef<T, string, ID> & {
56
61
  type: "autocomplete";
57
- componentProps?: ComponentProperties<typeof Autocomplete, T, string>;
62
+ componentProps?: ComponentProperties<typeof Autocomplete, T, InferredIdType<T, ID>, string>;
58
63
  };
59
- export type CurrencyColumnDef<T extends Record<PropertyKey, number>> = BaseColumnDef<T, number> & {
64
+ export type CurrencyColumnDef<T extends Record<PropertyKey, number>, ID> = BaseColumnDef<T, number, ID> & {
60
65
  type: "currency";
61
- componentProps?: ComponentProperties<typeof CurrencyInput, T, number>;
66
+ componentProps?: ComponentProperties<typeof CurrencyInput, T, ID, number>;
62
67
  };
63
- export type DateColumnDef<T extends Record<PropertyKey, string>> = BaseColumnDef<T, string> & {
68
+ export type DateColumnDef<T extends Record<PropertyKey, string>, ID> = BaseColumnDef<T, string, ID> & {
64
69
  type: "date";
65
- componentProps?: ComponentProperties<typeof DatePicker, T, string>;
70
+ componentProps?: ComponentProperties<typeof DatePicker, T, ID, string>;
66
71
  };
67
- export type NumberColumnDef<T extends Record<PropertyKey, number>> = BaseColumnDef<T, number> & {
72
+ export type NumberColumnDef<T extends Record<PropertyKey, number>, ID> = BaseColumnDef<T, number, ID> & {
68
73
  type: "number";
69
- componentProps?: ComponentProperties<typeof Input, T, number>;
74
+ componentProps?: ComponentProperties<typeof Input, T, ID, number>;
70
75
  };
71
- export type TextColumnDef<T extends Record<PropertyKey, string>> = BaseColumnDef<T, string> & {
76
+ export type TextColumnDef<T extends Record<PropertyKey, string>, ID> = BaseColumnDef<T, string, ID> & {
72
77
  type?: "text";
73
- componentProps?: ComponentProperties<typeof Input, T, string>;
78
+ componentProps?: ComponentProperties<typeof Input, T, ID, string>;
74
79
  };
75
- export type LongTextColumnDef<T extends Record<PropertyKey, string>> = BaseColumnDef<T, string> & {
80
+ export type LongTextColumnDef<T extends Record<PropertyKey, string>, ID> = BaseColumnDef<T, string, ID> & {
76
81
  type: "longText";
77
- componentProps?: ComponentProperties<typeof Textarea, T, string>;
82
+ componentProps?: ComponentProperties<typeof Textarea, T, ID, string>;
78
83
  };
79
- export type SelectColumnDef<T extends Record<PropertyKey, string>> = BaseColumnDef<T, string> & {
84
+ export type SelectColumnDef<T extends Record<PropertyKey, string>, ID> = BaseColumnDef<T, string, ID> & {
80
85
  type: "select";
81
- componentProps?: ComponentProperties<typeof Select<string, false>, T, string>;
86
+ componentProps?: ComponentProperties<typeof Select<string, false>, T, ID, string>;
82
87
  };
83
- export type LinkColumnDef<T extends Record<PropertyKey, string>, C extends React.ElementType = typeof Link> = BaseColumnDef<T, string> & {
88
+ export type LinkColumnDef<T extends Record<PropertyKey, string>, ID, C extends React.ElementType = typeof Link> = BaseColumnDef<T, string, ID> & {
84
89
  type: "link";
85
90
  component?: C;
86
- componentProps?: ComponentProperties<C, T, string>;
91
+ componentProps?: ComponentProperties<C, T, ID, string>;
87
92
  };
88
- export type ColumnDef<T extends Record<PropertyKey, any>> = AutocompleteColumnDef<T> | CurrencyColumnDef<T> | DateColumnDef<T> | NumberColumnDef<T> | TextColumnDef<T> | LongTextColumnDef<T> | LinkColumnDef<T> | SelectColumnDef<T>;
93
+ export type ColumnDef<T extends Record<PropertyKey, any>, ID = unknown> = AutocompleteColumnDef<T, ID> | CurrencyColumnDef<T, ID> | DateColumnDef<T, ID> | NumberColumnDef<T, ID> | TextColumnDef<T, ID> | LongTextColumnDef<T, ID> | LinkColumnDef<T, ID> | SelectColumnDef<T, ID>;
89
94
  export type Sort = "asc" | "desc" | null;
90
95
  export type SortModel<T extends Record<PropertyKey, any>> = {
91
96
  [K in keyof T]: {
@@ -93,16 +98,16 @@ export type SortModel<T extends Record<PropertyKey, any>> = {
93
98
  sort: Sort;
94
99
  };
95
100
  }[keyof T];
96
- export type DataTableProps<T extends Record<PropertyKey, any>> = {
101
+ export type DataTableProps<T extends Record<PropertyKey, any>, GetId extends ((row: T) => any) | undefined> = {
97
102
  rows: T[];
98
103
  checkboxSelection?: boolean;
99
- columns: ColumnDef<T>[];
104
+ columns: ColumnDef<T, InferredIdType<T, GetId>>[];
100
105
  editMode?: boolean;
101
106
  /**
102
107
  * 체크박스가 있는 경우, 체크박스를 클릭했을 때 선택된 row의 index를 지정한다.
103
108
  */
104
- selectionModel?: (string | number)[];
105
- onSelectionModelChange?: (newSelectionModel: (string | number)[],
109
+ selectionModel?: InferredIdType<T, GetId>[];
110
+ onSelectionModelChange?: (newSelectionModel: InferredIdType<T, GetId>[],
106
111
  /**
107
112
  * Total Select를 클릭한 경우에만 값이 true/false로 들어온다.
108
113
  * MUI에는 없는 인터페이스지만 Total Select 기능이 추가되었기 때문에 추가해야했다.
@@ -132,7 +137,7 @@ export type DataTableProps<T extends Record<PropertyKey, any>> = {
132
137
  */
133
138
  rowCount?: number;
134
139
  loading?: boolean;
135
- getId?: (row: T) => string | number;
140
+ getId?: GetId;
136
141
  /**
137
142
  * 기본적으로 Uncontrolled로 작동하지만, Controlled로 작동하게 하고 싶을 때 사용한다.
138
143
  * 이 값이 true이면, 현재 페이지 이외에도 존재하는 모든 데이터가 선택된것으로 간주하고 동작한다.
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};
@@ -18,5 +18,5 @@ declare const DialogFrame: React.ForwardRefExoticComponent<Omit<Omit<Pick<{
18
18
  variant?: import("@mui/types").OverridableStringUnion<import("@mui/joy").VariantProp, import("@mui/joy").ModalDialogPropsVariantOverrides> | undefined;
19
19
  } & import("@mui/joy").ModalDialogSlotsAndSlotProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
20
20
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
21
- }, "children" | "layout" | "color" | "maxWidth" | "minWidth" | "variant" | "sx" | "size" | "orientation" | "invertedColors" | keyof import("@mui/joy").ModalDialogSlotsAndSlotProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme>, "style" | "title" | "children" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | "layout" | "color" | "content" | "maxWidth" | "minWidth" | "translate" | "ref" | "slot" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "variant" | "size" | "orientation" | "invertedColors" | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme> | keyof import("@mui/joy").ModalDialogSlotsAndSlotProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme>, "title" | "children"> & DialogFrameProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
21
+ }, "children" | "layout" | "color" | "maxWidth" | "minWidth" | "variant" | "sx" | "size" | "orientation" | "invertedColors" | keyof import("@mui/joy").ModalDialogSlotsAndSlotProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme>, "style" | "title" | "children" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | "layout" | "color" | "content" | "maxWidth" | "minWidth" | "translate" | "ref" | "slot" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "variant" | "size" | "orientation" | "invertedColors" | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme> | keyof import("@mui/joy").ModalDialogSlotsAndSlotProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme>, "title" | "children"> & DialogFrameProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
22
22
  export { DialogFrame };
@@ -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};