@ceed/cds 0.0.126 → 0.0.128

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 (100) hide show
  1. package/dist/index.js +1 -6
  2. package/package.json +2 -3
  3. package/dist/components/Accordions/Accordions.js +0 -66
  4. package/dist/components/Accordions/index.js +0 -3
  5. package/dist/components/Autocomplete/Autocomplete.js +0 -251
  6. package/dist/components/Autocomplete/index.js +0 -3
  7. package/dist/components/Box/Box.js +0 -6
  8. package/dist/components/Box/index.js +0 -3
  9. package/dist/components/Breadcrumbs/Breadcrumbs.js +0 -67
  10. package/dist/components/Breadcrumbs/index.js +0 -3
  11. package/dist/components/Button/Button.js +0 -28
  12. package/dist/components/Button/index.js +0 -3
  13. package/dist/components/Calendar/Calendar.js +0 -383
  14. package/dist/components/Calendar/hooks/use-calendar-props.js +0 -80
  15. package/dist/components/Calendar/hooks/use-calendar.js +0 -244
  16. package/dist/components/Calendar/index.js +0 -3
  17. package/dist/components/Calendar/types.js +0 -1
  18. package/dist/components/Calendar/utils/index.js +0 -72
  19. package/dist/components/Card/Card.js +0 -22
  20. package/dist/components/Card/index.js +0 -3
  21. package/dist/components/Checkbox/Checkbox.js +0 -28
  22. package/dist/components/Checkbox/index.js +0 -3
  23. package/dist/components/Chip/Chip.js +0 -6
  24. package/dist/components/Chip/index.js +0 -3
  25. package/dist/components/Container/Container.js +0 -65
  26. package/dist/components/Container/index.js +0 -3
  27. package/dist/components/CurrencyInput/CurrencyInput.js +0 -108
  28. package/dist/components/CurrencyInput/hooks/use-currency-setting.js +0 -165
  29. package/dist/components/CurrencyInput/index.js +0 -3
  30. package/dist/components/DataTable/DataTable.js +0 -437
  31. package/dist/components/DataTable/index.js +0 -3
  32. package/dist/components/DataTable/types.js +0 -1
  33. package/dist/components/DatePicker/DatePicker.js +0 -207
  34. package/dist/components/DatePicker/index.js +0 -3
  35. package/dist/components/DateRangePicker/DateRangePicker.js +0 -209
  36. package/dist/components/DateRangePicker/index.js +0 -3
  37. package/dist/components/DialogActions/DialogActions.js +0 -15
  38. package/dist/components/DialogActions/index.js +0 -3
  39. package/dist/components/DialogContent/DialogContent.js +0 -12
  40. package/dist/components/DialogContent/index.js +0 -3
  41. package/dist/components/DialogFrame/DialogFrame.js +0 -51
  42. package/dist/components/DialogFrame/index.js +0 -3
  43. package/dist/components/DialogTitle/DialogTitle.js +0 -12
  44. package/dist/components/DialogTitle/index.js +0 -3
  45. package/dist/components/Divider/Divider.js +0 -28
  46. package/dist/components/Divider/index.js +0 -3
  47. package/dist/components/Dropdown/Dropdown.js +0 -6
  48. package/dist/components/Dropdown/index.js +0 -3
  49. package/dist/components/FormControl/FormControl.js +0 -17
  50. package/dist/components/FormControl/index.js +0 -3
  51. package/dist/components/FormHelperText/FormHelperText.js +0 -6
  52. package/dist/components/FormHelperText/index.js +0 -3
  53. package/dist/components/FormLabel/FormLabel.js +0 -6
  54. package/dist/components/FormLabel/index.js +0 -3
  55. package/dist/components/Grid/Grid.js +0 -6
  56. package/dist/components/Grid/index.js +0 -3
  57. package/dist/components/IconButton/IconButton.js +0 -28
  58. package/dist/components/IconButton/index.js +0 -3
  59. package/dist/components/Input/Input.js +0 -51
  60. package/dist/components/Input/index.js +0 -3
  61. package/dist/components/InsetDrawer/InsetDrawer.js +0 -45
  62. package/dist/components/InsetDrawer/index.js +0 -3
  63. package/dist/components/Markdown/Markdown.js +0 -59
  64. package/dist/components/Markdown/index.js +0 -3
  65. package/dist/components/Menu/Menu.js +0 -56
  66. package/dist/components/Menu/index.js +0 -3
  67. package/dist/components/Modal/Modal.js +0 -63
  68. package/dist/components/Modal/index.js +0 -3
  69. package/dist/components/MonthPicker/MonthPicker.js +0 -203
  70. package/dist/components/MonthPicker/index.js +0 -3
  71. package/dist/components/MonthRangePicker/MonthRangePicker.js +0 -207
  72. package/dist/components/MonthRangePicker/index.js +0 -3
  73. package/dist/components/Radio/Radio.js +0 -10
  74. package/dist/components/Radio/index.js +0 -3
  75. package/dist/components/RadioList/RadioList.js +0 -38
  76. package/dist/components/RadioList/index.js +0 -3
  77. package/dist/components/Select/Select.js +0 -76
  78. package/dist/components/Select/index.js +0 -3
  79. package/dist/components/Sheet/Sheet.js +0 -6
  80. package/dist/components/Sheet/index.js +0 -3
  81. package/dist/components/Stack/Stack.js +0 -6
  82. package/dist/components/Stack/index.js +0 -3
  83. package/dist/components/Switch/Switch.js +0 -54
  84. package/dist/components/Switch/index.js +0 -3
  85. package/dist/components/Table/Table.js +0 -89
  86. package/dist/components/Table/index.js +0 -3
  87. package/dist/components/Tabs/Tabs.js +0 -18
  88. package/dist/components/Tabs/index.js +0 -3
  89. package/dist/components/Textarea/Textarea.js +0 -50
  90. package/dist/components/Textarea/index.js +0 -3
  91. package/dist/components/ThemeProvider/ThemeProvider.js +0 -159
  92. package/dist/components/ThemeProvider/index.js +0 -3
  93. package/dist/components/Tooltip/Tooltip.js +0 -28
  94. package/dist/components/Tooltip/index.js +0 -3
  95. package/dist/components/Typography/Typography.js +0 -28
  96. package/dist/components/Typography/index.js +0 -3
  97. package/dist/components/Uploader/Uploader.js +0 -353
  98. package/dist/components/Uploader/index.js +0 -3
  99. package/dist/components/index.js +0 -44
  100. package/dist/index.mjs +0 -1
package/dist/index.js CHANGED
@@ -1,6 +1 @@
1
- export { useTheme, useColorScheme, useThemeProps,
2
- // Custom UI
3
- boxClasses, buttonClasses, checkboxClasses, dividerClasses, iconButtonClasses, inputClasses, menuClasses, menuButtonClasses, menuItemClasses, optionClasses, radioClasses, radioGroupClasses, selectClasses, switchClasses, tableClasses, textareaClasses, typographyClasses, formControlClasses, formLabelClasses, formHelperTextClasses, gridClasses, stackClasses, sheetClasses, modalClasses, modalCloseClasses, modalDialogClasses, modalOverflowClasses, dialogTitleClasses, dialogContentClasses, dialogActionsClasses, tooltipClasses, tabsClasses, tabListClasses, tabPanelClasses,
4
- // Pure JoyUI
5
- accordionClasses, accordionDetailsClasses, accordionGroupClasses as accordionsClasses, accordionSummaryClasses, AutocompleteListbox, AutocompleteOption, autocompleteClasses, autocompleteListboxClasses, autocompleteOptionClasses, Avatar, avatarClasses, AvatarGroup, avatarGroupClasses, AspectRatio, aspectRatioClasses, Badge, badgeClasses, breadcrumbsClasses, Card, cardClasses, CardActions, cardActionsClasses, CardContent, cardContentClasses, CardCover, cardCoverClasses, CardOverflow, cardOverflowClasses, Chip, chipClasses, CircularProgress, circularProgressClasses, Drawer, drawerClasses, LinearProgress, linearProgressClasses, List, listClasses, ListDivider, listDividerClasses, ListItem, listItemClasses, ListItemButton, listItemButtonClasses, ListItemContent, listItemContentClasses, ListItemDecorator, listItemDecoratorClasses, ListSubheader, listSubheaderClasses, Link, linkClasses, Slider, sliderClasses, Step, stepClasses, StepButton, stepButtonClasses, StepIndicator, Stepper, stepperClasses, Skeleton, skeletonClasses, } from "@mui/joy";
6
- export { Autocomplete, Accordion, Accordions, AccordionDetails, AccordionSummary, Box, Breadcrumbs, Button, Calendar, Checkbox, Container, CurrencyInput, DataTable, DatePicker, DateRangePicker, DialogActions, DialogContent, DialogTitle, DialogFrame, Divider, Dropdown, InsetDrawer, FormControl, FormHelperText, FormLabel, Grid, IconButton, Input, Markdown, Menu, MenuButton, MenuItem, Modal, ModalClose, ModalDialog, ModalOverflow, ModalFrame, MonthPicker, MonthRangePicker, Radio, RadioGroup, RadioList, Select, Option, Sheet, Stack, Switch, Table, TableHead, TableBody, Tabs, Tab, TabList, TabPanel, Textarea, ThemeProvider, Tooltip, Typography, Uploader, } from "./components";
1
+ import{useTheme as Eh,useColorScheme as Hh,useThemeProps as zh,boxClasses as Oh,buttonClasses as Vh,checkboxClasses as Uh,dividerClasses as Yh,iconButtonClasses as $h,inputClasses as Jh,menuClasses as Rh,menuButtonClasses as Wh,menuItemClasses as Gh,optionClasses as _h,radioClasses as qh,radioGroupClasses as jh,selectClasses as Kh,switchClasses as Zh,tableClasses as Xh,textareaClasses as Qh,typographyClasses as eC,formControlClasses as oC,formLabelClasses as tC,formHelperTextClasses as rC,gridClasses as nC,stackClasses as aC,sheetClasses as iC,modalClasses as lC,modalCloseClasses as sC,modalDialogClasses as mC,modalOverflowClasses as pC,dialogTitleClasses as dC,dialogContentClasses as cC,dialogActionsClasses as uC,tooltipClasses as gC,tabsClasses as fC,tabListClasses as hC,tabPanelClasses as CC,accordionClasses as bC,accordionDetailsClasses as yC,accordionGroupClasses as xC,accordionSummaryClasses as vC,AutocompleteListbox as DC,AutocompleteOption as MC,autocompleteClasses as kC,autocompleteListboxClasses as PC,autocompleteOptionClasses as TC,Avatar as wC,avatarClasses as AC,AvatarGroup as FC,avatarGroupClasses as IC,AspectRatio as SC,aspectRatioClasses as BC,Badge as NC,badgeClasses as LC,breadcrumbsClasses as EC,Card as HC,cardClasses as zC,CardActions as OC,cardActionsClasses as VC,CardContent as UC,cardContentClasses as YC,CardCover as $C,cardCoverClasses as JC,CardOverflow as RC,cardOverflowClasses as WC,Chip as GC,chipClasses as _C,CircularProgress as qC,circularProgressClasses as jC,Drawer as KC,drawerClasses as ZC,LinearProgress as XC,linearProgressClasses as QC,List as eb,listClasses as ob,ListDivider as tb,listDividerClasses as rb,ListItem as nb,listItemClasses as ab,ListItemButton as ib,listItemButtonClasses as lb,ListItemContent as sb,listItemContentClasses as mb,ListItemDecorator as pb,listItemDecoratorClasses as db,ListSubheader as cb,listSubheaderClasses as ub,Link as gb,linkClasses as fb,Slider as hb,sliderClasses as Cb,Step as bb,stepClasses as yb,StepButton as xb,stepButtonClasses as vb,StepIndicator as Db,Stepper as Mb,stepperClasses as kb,Skeleton as Pb,skeletonClasses as Tb}from"@mui/joy";import ue from"react";import{AccordionGroup as Dr,Accordion as Mr,AccordionSummary as kr,AccordionDetails as Pr}from"@mui/joy";import{motion as Ke}from"framer-motion";var Tr=Ke(kr),Ze=Tr;Ze.displayName="AccordionSummary";var wr=Ke(Pr),Xe=wr;Xe.displayName="AccordionDetails";var Ar=Ke(Mr);function Qe(e){let{summary:o,details:t,variant:n,color:i,...a}=e,r=n==="solid"?"solid":void 0;return ue.createElement(Ar,{variant:r,color:i,...a},ue.createElement(Ze,{variant:r,color:i},o),ue.createElement(Xe,{variant:r,color:i},t))}Qe.displayName="Accordion";var Fr=Ke(Dr);function To(e){let{variant:o,color:t,items:n,...i}=e;return ue.createElement(Fr,{variant:o,color:t,...i},n.map((a,r)=>ue.createElement(Qe,{summary:a.summary,details:a.details,index:r,variant:o,color:t})))}To.displayName="Accordions";import F,{useCallback as Kr,useEffect as Zr,useMemo as ye,useRef as Xr,useState as Qr}from"react";import{Autocomplete as en,AutocompleteOption as on,ListSubheader as tn,AutocompleteListbox as rn,ListItemDecorator as ft,CircularProgress as nn,styled as ht}from"@mui/joy";import an from"@mui/icons-material/esm/Close.js";import{useVirtualizer as ln}from"@tanstack/react-virtual";import{Popper as sn}from"@mui/base";import{FormControl as Ir,styled as Sr,formLabelClasses as ut}from"@mui/joy";import{motion as Br}from"framer-motion";var Nr=Br(Ir),ge=Sr(Nr)(({theme:e})=>({[`.${ut.root}`]:{display:"block"},[`.${ut.asterisk}`]:{marginLeft:e.spacing(.5)}}));ge.displayName="FormControl";var S=ge;import{FormLabel as Lr}from"@mui/joy";import{motion as Er}from"framer-motion";var Hr=Er(Lr),fe=Hr;fe.displayName="FormLabel";var B=fe;import{FormHelperText as zr}from"@mui/joy";import{motion as Or}from"framer-motion";var Vr=Or(zr),he=Vr;he.displayName="FormHelperText";var A=he;import{Chip as Ur}from"@mui/joy";import{motion as Yr}from"framer-motion";var $r=Yr(Ur),wo=$r;wo.displayName="Chip";var gt=wo;import Jr from"react";import{IconButton as Rr}from"@mui/joy";import{motion as Wr}from"framer-motion";var Gr=Wr(Rr),Ce=e=>Jr.createElement(Gr,{...e});Ce.displayName="IconButton";var L=Ce;import{Stack as _r}from"@mui/joy";import{motion as qr}from"framer-motion";var jr=qr(_r),be=jr;be.displayName="Stack";var Y=be;var mn=ht(sn,{name:"Autocomplete",slot:"Popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),pn=F.forwardRef((e,o)=>{let{anchorEl:t,open:n,modifiers:i,children:a,ownerState:{loading:r,size:p="md"},...l}=e,f=Xr(null),m=a[0].every(u=>u.hasOwnProperty("group")),c=r?[a[1]]:a[0].length===0?[a[2]]:m?a[0].flatMap(u=>[F.createElement(tn,{key:u.key,component:"li"},u.group),...u.children]):a[0],v=ln({count:c.length,estimateSize:()=>36,getScrollElement:()=>f.current,overscan:5}),d=v.getVirtualItems();return Zr(()=>{n&&v.measure()},[n,v]),F.createElement(mn,{ref:o,anchorEl:t,open:n,modifiers:i},F.createElement(rn,{...l},F.createElement("div",{ref:f,style:{overflow:"auto"}},F.createElement("div",{style:{height:`${v.getTotalSize()}px`,position:"relative"}},d.map(({index:u,size:s,start:g,key:y})=>F.cloneElement(c[u],{key:y,style:{position:"absolute",top:0,left:0,width:"100%",fontSize:`var(--ceed-fontSize-${p})`,height:`${s}px`,transform:`translateY(${g}px)`,overflow:"visible"},children:F.createElement("div",{style:{textOverflow:"ellipsis",textWrap:"nowrap",overflow:"hidden",width:"100%"}},c[u].props.children)}))))))}),eo={sm:"20px",md:"24px",lg:"28px"},dn=ht(L,{name:"Autocomplete",slot:"tagDelete"})(({theme:e,size:o="md"})=>({width:eo[o],height:eo[o],minWidth:eo[o],minHeight:eo[o],borderRadius:"50%"}));function oo(e){let{label:o,error:t,helperText:n,color:i,size:a,disabled:r,required:p,onChange:l,onChangeComplete:f,...m}=e,[c,v]=Qr(e.value||e.defaultValue),d=ye(()=>e.options.map(h=>typeof h!="object"?{value:h,label:h}:h),[e.options]),u=ye(()=>{let h=new Map;return d.forEach(C=>{h.set(C.value,C)}),h},[d]),s=ye(()=>{if(e.loading)return{value:"",label:"",startDecorator:F.createElement(nn,{size:"sm",color:"neutral",variant:"plain",thickness:3})};if(c==null)return null;let h=C=>typeof C!="object"?u.get(C)??C:u.get(C.value);return Array.isArray(c)?c.map(h):h(c)},[c,u,e.loading]),g=Kr(h=>F.isValidElement(h)&&!e.loading?F.cloneElement(h,{size:a}):h,[a,e.loading]),y=ye(()=>g(s?.startDecorator||e.startDecorator),[s,g,e.startDecorator]),P=ye(()=>g(s?.endDecorator||e.endDecorator),[s,g,e.endDecorator]),w=F.createElement(en,{...m,required:p,onChange:(h,C)=>{v(C);let D=C,x=Array.isArray(D)?D.map(T=>T.value):D?.value;l?.({...h,target:{...h.target,value:x}}),(Array.isArray(D)&&D.map(T=>u.get(T.value))||u.get(D?.value))&&f?.({...h,target:{...h.target,value:x}})},color:t?"danger":i,value:s,options:d,size:a,disabled:r,startDecorator:y,endDecorator:P,getOptionLabel:h=>`${h.value??""}`,renderTags:(h,C)=>h.map((D,x)=>{let{onClick:T,...Z}=C({index:x});return g(F.createElement(gt,{color:"primary",...Z},F.createElement(Y,{direction:"row",alignItems:"center",gap:2,py:.5},D.value,g(F.createElement(dn,{color:"primary",variant:"soft",onClick:T},F.createElement(an,null))))))}),slots:{listbox:pn},renderOption:(h,C)=>F.createElement(on,{...h},C.startDecorator&&F.createElement(ft,{sx:D=>({marginInlineEnd:`var(--Input-gap, ${D.spacing(1)})`})},g(C.startDecorator)),g(C.label),C.endDecorator&&F.createElement(ft,{sx:D=>({marginInlineStart:`var(--Input-gap, ${D.spacing(1)})`})},g(C.endDecorator))),renderGroup:h=>h});return o?F.createElement(S,{required:p,color:i,size:a,error:t,disabled:r},F.createElement(B,null,o),w,n&&F.createElement(A,null,n)):w}var Ct=oo;import{Box as cn}from"@mui/joy";import{motion as un}from"framer-motion";var gn=un(cn),xe=gn;xe.displayName="Box";var to=xe;import ee from"react";import{Breadcrumbs as An,Link as Fn}from"@mui/joy";import Ao from"react";import{Menu as fn,MenuButton as hn,MenuItem as Cn}from"@mui/joy";import{motion as Fo}from"framer-motion";var bn=Fo(fn),ve=e=>Ao.createElement(bn,{...e});ve.displayName="Menu";var yn=Fo(hn),De=e=>Ao.createElement(yn,{...e});De.displayName="MenuButton";var xn=Fo(Cn),Me=e=>Ao.createElement(xn,{...e});Me.displayName="MenuItem";var bt=ve;import{Dropdown as vn}from"@mui/joy";import{motion as Dn}from"framer-motion";var Mn=Dn(vn),ke=Mn;ke.displayName="Dropdown";var yt=ke;import kn from"react";import{Typography as Pn}from"@mui/joy";import{motion as Tn}from"framer-motion";var wn=Tn(Pn),W=e=>kn.createElement(wn,{...e});W.displayName="Typography";var q=W;function Io(e){let{crumbs:o,size:t,startCrumbCount:n=1,endCrumbCount:i=3,slots:{link:a,...r}={link:Fn},slotProps:{link:p,...l}={link:{color:"neutral"}},...f}=e,m=Math.max(1,i),c=s=>s.type==="link"&&a?ee.createElement(a,{to:s.linkHref,href:s.linkHref,...p},s.label):ee.createElement(q,null,s.label),v=o.slice(0,n).map(s=>ee.createElement(c,{...s})),d=(n+m>o.length?o.slice(n):o.slice(-m)).map(s=>ee.createElement(c,{...s})),u=o.slice(n,-m).map(s=>ee.createElement(Me,null,ee.createElement(c,{...s})));return ee.createElement(An,{size:t,slots:r,slotProps:l,...f},v,u.length&&ee.createElement(yt,null,ee.createElement(De,{size:t,variant:"plain"},"..."),ee.createElement(bt,{size:t},u)),d)}Io.displayName="Breadcrumbs";import In,{forwardRef as Sn}from"react";import{Button as Bn}from"@mui/joy";import{motion as Nn}from"framer-motion";var Ln=Nn(Bn),Pe=Sn((e,o)=>In.createElement(Ln,{ref:o,...e}));Pe.displayName="Button";var I=Pe;import M,{Fragment as Te,forwardRef as Vn,useMemo as wt}from"react";import{styled as j}from"@mui/joy";import Un from"@mui/icons-material/esm/ChevronLeft.js";import Yn from"@mui/icons-material/esm/ChevronRight.js";import{AnimatePresence as At,motion as $n}from"framer-motion";var xt=e=>{let o=[],t=new Date(e.getFullYear(),e.getMonth(),1),n=new Date(e.getFullYear(),e.getMonth()+1,0),i=Math.ceil((t.getDay()+1)/7),a=Math.ceil((n.getDate()+t.getDay())/7),r=1;for(let p=1;p<=a;p++){let l=[];for(let f=1;f<=7;f++)p===i&&f<t.getDay()+1||r>n.getDate()?l.push(void 0):(l.push(r),r++);o.push(l)}return o},vt=(e,o)=>e.toLocaleString(o,{year:"numeric"}),So=(e,o)=>e.toLocaleString(o,{year:"numeric",month:"long"}),Dt=(e,o)=>new Date(0,e).toLocaleString(o,{month:"short"}),Mt=e=>{let o=new Date().getDay(),t=new Date;return t.setDate(t.getDate()-o),Array.from({length:7}).map(()=>{let n=t.toLocaleString(e,{weekday:"short"});return t.setDate(t.getDate()+1),n})},kt=e=>{let o=new Date,t=new Date(e);return t.setHours(0,0,0,0),o.setHours(0,0,0,0),t.getTime()===o.getTime()},Bo=(e,o)=>{let t=new Date(e),n=new Date(o);return t.setHours(0,0,0,0),n.setHours(0,0,0,0),t.getTime()===n.getTime()},re=(e,o,t)=>{let n=new Date(t);n.setHours(0,0,0,0);let i=new Date(Math.min(e.getTime(),o.getTime())),a=new Date(Math.max(e.getTime(),o.getTime()));return n>=i&&n<=a},ro=(e,o)=>e.getFullYear()===o.getFullYear()&&e.getMonth()===o.getMonth();import{useCallback as En,useMemo as Hn,useState as no}from"react";import{useThemeProps as zn}from"@mui/joy";var On=(e,o)=>o.includes(e)?e:o[0],Pt=e=>{let[o,t]=no(()=>On(e.view||"day",e.views||["day","month"])),[n,i]=no(e.defaultValue),[a,r]=no(()=>{let s=new Date;return s.setDate(1),s.setHours(0,0,0,0),e.value?.[0]||e.defaultValue?.[0]||s}),[[p,l],f]=no([0,0]),m=e.view??o,c=s=>{f([p+s,s])},v=En(s=>{r(s),m==="month"?a.getFullYear()!==s.getFullYear()&&c(s>a?1:-1):c(s>a?1:-1),e.onMonthChange?.(s)},[e.onMonthChange,a,m]),d=zn({props:{locale:"default",views:["day","month"],view:m,value:e.value??n,...e,onChange:e.value?e.onChange:s=>{i(s),e.onChange?.(s)},onMonthChange:v,onViewChange:()=>{let s=m==="month"?"day":"month";!(!e.views||e.views.includes(s))||e.view===s||(e.onViewChange?e.onViewChange(s):t(s))}},name:"Calendar"}),u=Hn(()=>({...d,viewMonth:a,direction:l}),[d,a,l]);return[d,u]};import{useCallback as pe,useState as Tt}from"react";var ao=e=>{let[o,t]=Tt(null),[n,i]=Tt(null);return{calendarTitle:e.view==="month"?vt(e.viewMonth,e.locale||"default"):So(e.viewMonth,e.locale||"default"),onPrev:pe(()=>{if(e.view==="day"){let a=new Date(e.viewMonth||new Date);a.setMonth(a.getMonth()-1),e.onMonthChange?.(a)}else if(e.view==="month"){let a=new Date(e.viewMonth||new Date);a.setFullYear(a.getFullYear()-1),e.onMonthChange?.(a)}},[e.onMonthChange,e.viewMonth,e.view]),onNext:pe(()=>{if(e.view==="day"){let a=new Date(e.viewMonth||new Date);a.setMonth(a.getMonth()+1),e.onMonthChange?.(a)}else if(e.view==="month"){let a=new Date(e.viewMonth||new Date);a.setFullYear(a.getFullYear()+1),e.onMonthChange?.(a)}},[e.onMonthChange,e.viewMonth,e.view]),getDayCellProps:pe(a=>{let r=new Date(e.viewMonth||new Date);r.setHours(0,0,0,0),r.setDate(a);let p=e.rangeSelection&&e.value&&e.value[0]&&(o&&re(e.value[0],o,r)||e.value[1]&&re(e.value[0],e.value[1],r));return{"aria-label":r.toLocaleDateString(),"aria-current":p?"date":void 0}},[e.rangeSelection,e.value,e.viewMonth,o]),getMonthCellProps:pe(a=>{let r=new Date(e.viewMonth||new Date);r.setDate(1),r.setHours(0,0,0,0),r.setMonth(a);let l=!e.views?.find(f=>f==="day")&&e.rangeSelection&&e.value&&e.value[0]&&(n&&re(e.value[0],n,r)||e.value[1]&&re(e.value[0],e.value[1],r));return{"aria-label":r.toLocaleDateString(),"aria-current":l?"date":void 0}},[e.rangeSelection,e.value,e.viewMonth,n]),getPickerDayProps:pe(a=>{let r=new Date(e.viewMonth||new Date);r.setHours(0,0,0,0),r.setDate(a);let p=!!e.value&&(Bo(r,e.value[0])||e.value[1]&&Bo(r,e.value[1])),l=e.rangeSelection&&e.value&&e.value[0]&&(o&&re(e.value[0],o,r)||e.value[1]&&re(e.value[0],e.value[1],r)),f=()=>{e.rangeSelection?e.value?e.value[0]&&!e.value[1]?e.onChange?.([new Date(Math.min(e.value[0].getTime(),r.getTime())),new Date(Math.max(e.value[0].getTime(),r.getTime()))]):e.onChange?.([r,void 0]):e.onChange?.([r,void 0]):e.onChange?.([r,void 0]),t(null)};return{isToday:kt(r),isSelected:p,onClick:f,onMouseEnter:e.rangeSelection&&e.value?.[0]&&!e.value?.[1]?()=>t(r):void 0,disabled:e.minDate&&r<e.minDate||e.maxDate&&r>e.maxDate||e.disableFuture&&r>new Date||e.disablePast&&r<(()=>{let m=new Date;return m.setHours(0,0,0,0),m})(),tabIndex:-1,"aria-label":r.toLocaleDateString(),"aria-selected":p?"true":void 0,"aria-current":l?"date":void 0}},[e.onChange,e.value,e.viewMonth,e.rangeSelection,e.minDate,e.maxDate,e.disableFuture,e.disablePast,o]),getPickerMonthProps:pe(a=>{let r=new Date(e.viewMonth||new Date);r.setDate(1),r.setHours(0,0,0,0),r.setMonth(a);let p=!e.views?.find(c=>c==="day")&&e.rangeSelection,l=!!e.value&&(ro(r,e.value[0])||e.value[1]&&ro(r,e.value[1])),f=p&&e.value&&e.value[0]&&(n&&re(e.value[0],n,r)||e.value[1]&&re(e.value[0],e.value[1],r)),m=()=>{p?e.value?e.value[0]&&!e.value[1]?e.onChange?.([new Date(Math.min(e.value[0].getTime(),r.getTime())),new Date(Math.max(e.value[0].getTime(),r.getTime()))]):e.onChange?.([r,void 0]):e.onChange?.([r,void 0]):(e.onViewChange?.("day"),e.onMonthChange?.(r)),i(null)};return{isSelected:l,onMouseEnter:p&&e.value?.[0]&&!e.value?.[1]?()=>i(r):void 0,disabled:e.minDate&&(()=>{let c=new Date(r);return c.setMonth(c.getMonth()+1),c.setDate(0),c<e.minDate})()||e.maxDate&&(()=>{let c=new Date(r);return c.setDate(0),c>e.maxDate})()||e.disableFuture&&r>new Date||e.disablePast&&r<new Date&&!ro(r,new Date),onClick:m,tabIndex:-1,"aria-label":So(r,e.locale||"default"),"aria-selected":l?"true":void 0,"aria-current":f?"date":void 0}},[e.onMonthChange,e.onViewChange,e.onChange,e.viewMonth,e.locale,e.value,e.minDate,e.maxDate,e.disableFuture,e.disablePast,n])}};var Jn=j("div",{name:"Calendar",slot:"root"})({maxWidth:"264px"}),Rn=j("div",{name:"Calendar",slot:"calendarHeader"})(({theme:e})=>({display:"flex",justifyContent:"space-between",alignItems:"center",padding:e.spacing(1)})),Ft=j("div",{name:"Calendar",slot:"viewContainer"})(({theme:e,calendarType:o})=>({paddingLeft:e.spacing(1),paddingRight:e.spacing(1),position:"relative",overflow:"hidden",minHeight:o==="datePicker"?"250px":"unset"})),It=j($n.table,{name:"Calendar",slot:"viewTable"})(({theme:e})=>({borderSpacing:0,"& td, & th":{padding:0},"& th":{paddingTop:e.spacing(1),paddingBottom:e.spacing(1)}})),Wn=j("thead",{name:"Calendar",slot:"weekHeaderContainer"})({}),Gn=j("tbody",{name:"Calendar",slot:"dayPickerContainer"})({}),_n=j(I,{name:"Calendar",slot:"switchViewButton"})(({ownerState:e})=>[e.view==="month"&&{pointerEvents:"none"}]),qn=j("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}}})),jn=j("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}}})),Kn=j(I,{name:"Calendar",slot:"month"})(({theme:e,isSelected:o,disabled:t})=>[{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}},o&&{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}},t&&{color:e.palette.neutral.solidDisabledColor,backgroundColor:e.palette.neutral.solidDisabledBg}]),Zn=j(I,{name:"Calendar",slot:"day"})(({theme:e,isToday:o,isSelected:t,disabled:n})=>[{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}},o&&!t&&{"&:not([aria-current=date]):not(:hover)":{border:`1px solid ${e.palette.neutral.outlinedBorder}`}},t&&{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}},n&&{color:e.palette.neutral.solidDisabledColor,backgroundColor:e.palette.neutral.solidDisabledBg}]),St={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})},io=1e4,Bt=(e,o)=>Math.abs(e)*o,Xn=e=>{let{ownerState:o}=e,{getPickerDayProps:t,getDayCellProps:n}=ao(o),i=wt(()=>xt(o.viewMonth),[o.viewMonth]),a=wt(()=>Mt(o.locale||"default"),[o.locale]);return M.createElement(Ft,{calendarType:"datePicker"},M.createElement(At,{initial:!1,custom:o.direction},M.createElement(It,{key:`${o.viewMonth.toString()}_${o.direction}`,custom:o.direction,variants:St,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:(r,{offset:p,velocity:l})=>{let f=Bt(p.x,l.x);if(f<-io){let m=new Date(o.viewMonth||new Date);m.setMonth(m.getMonth()+1),o.onMonthChange?.(m)}else if(f>io){let m=new Date(o.viewMonth||new Date);m.setMonth(m.getMonth()-1),o.onMonthChange?.(m)}}},M.createElement(Wn,null,M.createElement("tr",null,a.map((r,p)=>M.createElement(M.Fragment,null,M.createElement("th",null,M.createElement(q,{level:"body-xs",textAlign:"center"},r)),p<6&&M.createElement("th",{style:{width:4},"aria-hidden":"true","aria-description":"cell-gap"}))))),M.createElement(Gn,null,i.map((r,p)=>M.createElement(Te,{key:`${o.viewMonth}_${p}`},M.createElement("tr",null,r.map((l,f)=>l?M.createElement(Te,{key:f},M.createElement(qn,{...n(l)},M.createElement(Zn,{size:"sm",variant:"plain",color:"neutral",...t(l)},l)),f<6&&M.createElement("td",{"aria-hidden":"true","aria-description":"cell-gap"})):M.createElement(Te,{key:f},M.createElement("td",null),f<6&&M.createElement("td",{"aria-hidden":"true","aria-description":"cell-gap"})))),p<i.length-1&&M.createElement("tr",{"aria-hidden":"true","aria-description":"row-gap"},M.createElement("td",{colSpan:13,style:{height:4}}))))))))},Qn=e=>{let{ownerState:o}=e,{getPickerMonthProps:t,getMonthCellProps:n}=ao(o),i=Array.from({length:12},(r,p)=>p).reduce((r,p)=>(r[r.length-1].length===4&&r.push([]),r[r.length-1].push(p),r),[[]]),a=!o.views?.find(r=>r==="day")&&o.rangeSelection;return M.createElement(Ft,{calendarType:a?"monthPicker":"datePicker"},M.createElement(At,{initial:!1,custom:o.direction},M.createElement(It,{key:`${o.viewMonth.getFullYear()}_${o.direction}`,custom:o.direction,variants:St,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:(r,{offset:p,velocity:l})=>{let f=Bt(p.x,l.x);if(f<-io){let m=new Date(o.viewMonth||new Date);m.setMonth(m.getMonth()+1),o.onMonthChange?.(m)}else if(f>io){let m=new Date(o.viewMonth||new Date);m.setMonth(m.getMonth()-1),o.onMonthChange?.(m)}}},M.createElement("tbody",null,i.map((r,p)=>M.createElement(Te,{key:p},M.createElement("tr",null,r.map((l,f)=>M.createElement(Te,{key:l},M.createElement(jn,{...n(l)},M.createElement(Kn,{size:"sm",variant:"plain",color:"neutral",...t(l)},Dt(l,o.locale))),f<3&&M.createElement("td",{style:{width:4},"aria-hidden":"true","aria-description":"cell-gap"})))),p<i.length-1&&M.createElement("tr",{"aria-hidden":"true","aria-description":"row-gap"},M.createElement("td",{colSpan:7,style:{height:4}}))))))))},we=Vn((e,o)=>{let[t,n]=Pt(e),{value:i,defaultValue:a,onChange:r,locale:p,onViewChange:l,onMonthChange:f,view:m,views:c,rangeSelection:v,...d}=t,{calendarTitle:u,onPrev:s,onNext:g}=ao(n);return M.createElement(Jn,{ref:o,...d},M.createElement(Rn,null,M.createElement(L,{size:"sm",onClick:s},M.createElement(Un,null)),M.createElement(_n,{ownerState:n,variant:"plain",color:"neutral",onClick:l},u),M.createElement(L,{size:"sm",onClick:g},M.createElement(Yn,null))),m==="day"&&M.createElement(Xn,{ownerState:n}),m==="month"&&M.createElement(Qn,{ownerState:n}))});we.displayName="Calendar";var ae=we;import{Card as ea,CardContent as oa,CardCover as ta,CardActions as ra,CardOverflow as na}from"@mui/joy";import{motion as Ae}from"framer-motion";var aa=Ae(ea),No=aa;No.displayName="Card";var ia=Ae(oa),la=ia;la.displayName="CardContent";var sa=Ae(ta),ma=sa;ma.displayName="CardCover";var pa=Ae(ra),da=pa;da.displayName="CardActions";var ca=Ae(na),ua=ca;ua.displayName="CardOverflow";import ga from"react";import{Checkbox as fa}from"@mui/joy";import{motion as ha}from"framer-motion";var Ca=ha(fa),Fe=e=>ga.createElement(Ca,{...e});Fe.displayName="Checkbox";var Ie=Fe;import{styled as ba}from"@mui/joy";import ya,{forwardRef as xa}from"react";var va=ba("div",{name:"Container",slot:"root",shouldForwardProp:e=>e!=="maxWidth"&&e!=="overrideBreakpoint"})(({theme:e,maxWidth:o="lg",overrideBreakpoint:t})=>[{width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block",paddingLeft:e.spacing(4),paddingRight:e.spacing(4),[e.breakpoints.up("lg")]:{paddingLeft:e.spacing(8),paddingRight:e.spacing(8)},maxWidth:e.breakpoints.values[o]},t?{paddingLeft:e.breakpoints.values[t]>=e.breakpoints.values.lg?e.spacing(8):e.spacing(4),paddingRight:e.breakpoints.values[t]>=e.breakpoints.values.lg?e.spacing(8):e.spacing(4)}:null]),Lo=xa(function(o,t){return ya.createElement(va,{ref:t,...o})});Lo.displayName="Container";import ie,{useCallback as wa,useMemo as Lt,useState as Et}from"react";import{IntlMessageFormat as Aa}from"intl-messageformat";import{NumericFormat as Fa}from"react-number-format";import Se from"react";import{Input as Da}from"@mui/joy";import{motion as Ma}from"framer-motion";var ka=Ma(Da),Be=Se.forwardRef((e,o)=>{let{label:t,helperText:n,error:i,style:a,size:r,color:p,disabled:l,required:f,...m}=e,c=Se.createElement(ka,{required:f,color:i?"danger":p,size:r,disabled:l,slotProps:{input:{ref:o,...m.slotProps?.input},...m.slotProps},...m});return t?Se.createElement(S,{required:f,color:p,size:r,error:i,disabled:l},Se.createElement(B,null,t),c,n&&Se.createElement(A,null,n)):c});Be.displayName="Input";var R=Be;import Pa from"intl-messageformat";var Ta={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},Nt=(e="USD")=>{let[o,t,n,...i]=new Pa(`{amount, number, ::currency/${e} unit-width-narrow}`).format({amount:1e3}).toString().replace(/\d/g,"").split(""),a=Ta[e];return{symbol:`${o} `,thousandSeparator:t,decimalSeparator:n,placeholder:n?`${o} 0${n}${Array.from(Array(a)).map(()=>0).join("")}`:`${o} 0`,fixedDecimalScale:!!n,decimalScale:a}};var Ia=ie.forwardRef(function(o,t){let{onChange:n,...i}=o;return ie.createElement(Fa,{...i,onValueChange:({value:a})=>{n?.({target:{name:o.name,value:a}})},valueIsNumericString:!0,getInputRef:t,allowNegative:!1})}),lo=ie.forwardRef(function(o,t){let{currency:n="USD",name:i,onChange:a,label:r,error:p,helperText:l,required:f,disabled:m,useMinorUnit:c,...v}=o,{symbol:d,thousandSeparator:u,decimalSeparator:s,placeholder:g,fixedDecimalScale:y,decimalScale:P}=Nt(n),[k,w]=Et(o.value),h=Lt(()=>k&&c?k/Math.pow(10,P):k,[k,c,P]),C=Lt(()=>o.max&&c?o.max/Math.pow(10,P):o.max,[o.max,c,P]),[D,x]=Et(!!C&&!!h&&h>C),T=wa(_=>{let se=Number(c?_.target.value?.replace(s,""):_.target.value);C&&Number(_.target.value)>C?x(!0):x(!1),w(se),a?.({..._,target:{name:i,value:se}})},[s,C,i,a,c]),Z=ie.createElement(R,{...v,size:"sm",ref:t,value:h,placeholder:g,onChange:T,disabled:m,required:f,color:p||D?"danger":o.color,slotProps:{input:{component:Ia,decimalSeparator:s,thousandSeparator:u,prefix:d,fixedDecimalScale:y,decimalScale:P,"aria-label":v["aria-label"]}},sx:{fontFamily:"monospace"}});return r?ie.createElement(S,{size:"sm",disabled:m,required:f,error:p||D},ie.createElement(B,null,r),Z,D?ie.createElement(A,null,new Aa(`limit: {amount, number, ::currency/${n} unit-width-narrow}`).format({amount:C})):l&&ie.createElement(A,null,l)):Z});var Ht=lo;import b,{useCallback as de,useEffect as uo,useMemo as J,useRef as Gt,useState as _t,useId as pi}from"react";import{styled as qt,LinearProgress as di,Link as ci}from"@mui/joy";import ui from"@mui/icons-material/esm/ChevronLeft.js";import gi from"@mui/icons-material/esm/ChevronRight.js";import{Sheet as Sa}from"@mui/joy";import{motion as Ba}from"framer-motion";var Na=Ba(Sa),Ne=Na;Ne.displayName="Sheet";var G=Ne;import K from"react";import{Table as La}from"@mui/joy";var Le=e=>{let{children:o,...t}=e;return K.createElement(La,{...t},o)};Le.displayName="Table";function Eo(e){let{headCells:o,showCheckbox:t,onCheckboxChange:n,slots:{checkbox:i=Ie}={},slotProps:{checkbox:a={}}={}}=e;return K.createElement("thead",null,K.createElement("tr",null,t&&K.createElement("th",{style:{width:"40px",textAlign:"center"}},K.createElement(i,{onChange:n,...a})),o.map(r=>K.createElement("th",{key:r.label,style:{width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,textAlign:r.numeric?"right":"left"}},r.label))))}Eo.displayName="TableHead";function Ho(e){let{rows:o,cellOrder:t,rowOptions:n,showCheckbox:i,onCheckboxChange:a,slots:{checkbox:r=Ie}={},slotProps:{checkbox:p={}}={}}=e;return K.createElement("tbody",null,o.map((l,f)=>K.createElement("tr",{key:f},i&&K.createElement("td",{style:{textAlign:"center"}},K.createElement(r,{onChange:m=>a?.(m,f),...p})),t.map(m=>K.createElement("td",{key:m,style:{textAlign:n?.[m]?.numeric?"right":"left"}},l[m])))))}Ho.displayName="TableBody";import E,{forwardRef as Ua,useCallback as zt,useEffect as Ot,useImperativeHandle as Ya,useRef as $a,useState as Vt}from"react";import{IMaskInput as Ja,IMask as zo}from"react-imask";import Ra from"@mui/icons-material/esm/CalendarToday.js";import{styled as Oo}from"@mui/joy";import{FocusTrap as Wa,ClickAwayListener as Ga,Popper as _a}from"@mui/base";import{DialogActions as Ea,styled as Ha}from"@mui/joy";import{motion as za}from"framer-motion";var Oa=za(Ea),Va=Ha(Oa)(({theme:e})=>({padding:e.spacing(1),gap:e.spacing(1),flexDirection:"row",justifyContent:"flex-end"})),Ee=Va;Ee.displayName="DialogActions";var oe=Ee;var qa=Oo(_a,{name:"DatePicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),ja=Oo(G,{name:"DatePicker",slot:"sheet",overridesResolver:(e,o)=>o.root})(({theme:e})=>({width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),Ka=Oo("div",{name:"DatePicker",slot:"container"})({width:"100%"}),Ut=e=>{let o=`${e.getDate()}`,t=`${e.getMonth()+1}`,n=e.getFullYear();return Number(o)<10&&(o="0"+o),Number(t)<10&&(t="0"+t),[n,t,o].join("/")},Za=E.forwardRef(function(o,t){let{onChange:n,...i}=o;return E.createElement(Ja,{...i,inputRef:t,onAccept:a=>n({target:{name:o.name,value:a}}),mask:Date,pattern:"Y/`m/`d",blocks:{d:{mask:zo.MaskedRange,from:1,to:31,maxLength:2},m:{mask:zo.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:zo.MaskedRange,from:1900,to:9999}},format:Ut,parse:a=>{let r=a.split("/");return new Date(Number(r[0]),Number(r[1])-1,Number(r[2]))},autofix:"pad",overwrite:!0})}),so=Ua((e,o)=>{let{onChange:t,disabled:n,label:i,error:a,helperText:r,minDate:p,maxDate:l,disableFuture:f,disablePast:m,required:c,...v}=e,d=$a(null),[u,s]=Vt(e.value||""),[g,y]=Vt(null),P=!!g;Ot(()=>{s(e.value||"")},[e.value]),Ot(()=>{g||d.current?.blur()},[g,d]),Ya(o,()=>d.current,[d.current]);let k=zt(C=>{s(C.target.value),t?.(C)},[t]),w=zt(C=>{y(g?null:C.currentTarget),setTimeout(()=>{d.current?.focus()},0)},[g,y,d]),h=E.createElement(Ka,null,E.createElement(Wa,{open:!0},E.createElement(E.Fragment,null,E.createElement(R,{...v,color:a?"danger":v.color,ref:d,size:"sm",value:u,onChange:k,placeholder:"YYYY/MM/DD",disabled:n,required:c,slotProps:{input:{component:Za,ref:d}},sx:{fontFamily:"monospace"},endDecorator:E.createElement(L,{variant:"plain",onClick:w},E.createElement(Ra,null))}),P&&E.createElement(Ga,{onClickAway:()=>y(null)},E.createElement(qa,{id:"date-picker-popper",open:!0,anchorEl:g,placement:"bottom-end",onMouseDown:C=>C.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}]},E.createElement(ja,{tabIndex:-1,role:"presentation"},E.createElement(ae,{value:Number.isNaN(new Date(u).getTime())?void 0:[new Date(u),void 0],onChange:([C])=>{k({target:{name:e.name,value:Ut(C)}}),y(null)},minDate:p?new Date(p):void 0,maxDate:l?new Date(l):void 0,disableFuture:f,disablePast:m}),E.createElement(oe,{sx:{p:1}},E.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{k({target:{name:e.name,value:""}}),y(null)}},"Clear"))))))));return i?E.createElement(S,{required:c,disabled:n,error:a,size:"sm"},E.createElement(B,null,i),h,r&&E.createElement(A,null,r)):h});var Yt=so;import mo from"react";import{Textarea as Xa}from"@mui/joy";import{motion as Qa}from"framer-motion";var ei=Qa(Xa),He=e=>{let{label:o,error:t,helperText:n,color:i,size:a,disabled:r,required:p,minRows:l=2,maxRows:f=4,...m}=e,c=mo.createElement(ei,{required:p,disabled:r,color:t?"danger":i,size:a,minRows:l,maxRows:f,...m});return o?mo.createElement(S,{required:p,disabled:r,color:i,size:a,error:t},mo.createElement(B,null,o),c,n&&mo.createElement(A,null,n)):c};He.displayName="Textarea";var $t=He;import ze,{useMemo as oi}from"react";import{Select as ti,Option as ri}from"@mui/joy";import{motion as ni}from"framer-motion";var ai=ni(ri),po=ai;po.displayName="Option";function Oe(e){let{label:o,helperText:t,error:n,size:i,color:a,disabled:r,required:p,onChange:l,...f}=e,m=oi(()=>e.options.map(d=>typeof d!="object"?{value:d,label:d}:d),[e.options]),v=ze.createElement(ti,{...f,required:p,disabled:r,size:i,color:n?"danger":a,onChange:(d,u)=>{let s=d||{target:{}},g={...s,target:{name:s.target?.name||e.name,value:u||void 0}};l?.(g)}},m.map(d=>ze.createElement(po,{key:d.value,value:d.value},d.label)));return o?ze.createElement(S,{required:p,disabled:r,size:i,color:a,error:n},ze.createElement(B,null,o),v,t&&ze.createElement(A,null,t)):v}Oe.displayName="Select";var Jt=Oe;import ii from"react";import{Tooltip as li}from"@mui/joy";import{motion as si}from"framer-motion";var mi=si(li),Ve=e=>ii.createElement(mi,{...e});Ve.displayName="Tooltip";var Rt=Ve;function jt(e){return!e.editMode&&["number","date","currency"].includes(e.type||"")?"end":"start"}var Wt=qt("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"}}),co=e=>"Intl"in window?new Intl.NumberFormat().format(e):e;function fi(e){let{paginationModel:{page:o,pageSize:t},rowCount:n,onPageChange:i}=e,a=1,r=Math.ceil(n/t),p=[o-2,o-1].filter(c=>c>1),l=[o+1,o+2].filter(c=>c<=r-1),f=r>1&&o<r-3,m=r>1&&o>4;return b.createElement(Y,{direction:"row",spacing:1,sx:{pt:1,pb:1},justifyContent:"end",alignItems:"center"},b.createElement(Y,{direction:"row",spacing:.5,alignItems:"center"},b.createElement(L,{size:"sm",variant:"plain",color:"neutral",onClick:()=>i(o-1),disabled:o===a,"aria-label":"Previous page"},b.createElement(ui,null)),o!==a&&b.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>i(a)},a),m&&b.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>i(o-3)},"..."),p.map(c=>b.createElement(I,{key:c,size:"sm",variant:"plain",color:"neutral",onClick:()=>i(c)},c)),b.createElement(I,{variant:"soft",size:"sm"},o),l.map(c=>b.createElement(I,{key:c,size:"sm",variant:"plain",color:"neutral",onClick:()=>i(c)},c)),f&&b.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>i(o+3)},"..."),o!==r&&b.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>i(r)},r),b.createElement(L,{size:"sm",variant:"plain",color:"neutral",onClick:()=>i(o+1),disabled:o===r,"aria-label":"Next page"},b.createElement(gi,null))))}var hi=e=>b.createElement(to,{sx:{position:"absolute",top:0,right:0,bottom:0,width:"4px",cursor:"col-resize"},onMouseDown:o=>{let t=o.clientX,n=e.current?.getBoundingClientRect().width,i=r=>{n&&t&&(e.current.style.width=`${n+(r.clientX-t)}px`)},a=()=>{document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",a)};document.addEventListener("mousemove",i),document.addEventListener("mouseup",a)}}),Ci=qt("span",{name:"DataTable",slot:"headCellAsterisk"})(({theme:e})=>({color:"var(--ceed-palette-danger-500)",marginLeft:e.spacing(.5)})),bi=e=>{let o=Gt(null),t={width:e.width,minWidth:e.minWidth??"50px",maxWidth:e.maxWidth,textAlign:jt(e),position:e.stickyHeader?void 0:"relative"},n=e.resizable??!0?hi(o):null;return b.createElement("th",{id:`${e.tableId}_header_${e.headerName??e.field}`,"aria-label":e.headerName??e.field,ref:o,key:e.field,style:t},e.headerName??e.field,e.editMode&&e.required&&b.createElement(Ci,null,"*"),n)},yi=e=>{let{tableId:o,field:t,type:n,renderCell:i,renderEditCell:a,isCellEditable:r,noWrap:p,row:l,rowId:f}=e,[m,c]=_t(l[t]),v=Gt(null),d=J(()=>({row:l,value:m,id:f}),[l,f,m]),u=J(()=>!!(e.editMode&&(typeof r=="function"?r(d):r??!0)),[e.editMode,r,d]),s=J(()=>({...typeof e.componentProps=="function"?e.componentProps(d):e.componentProps||{},size:"sm"}),[e,d]),g=J(()=>({...s,onChange:h=>{s.onChange?.(h),c(h.target.value),n==="select"&&e.onCellEditStop?.({...d,originalRow:l,row:{...d.row,[t]:h.target.value},value:h.target.value})},onFocus:h=>{s.onFocus?.(h),e.onCellEditStart?.({...d,originalRow:l,row:{...d.row,value:m},value:m})},onBlur:h=>{s.onBlur?.(h),n&&["number","text","longText","currency","date"].includes(n)&&e.onCellEditStop?.({...d,originalRow:l,row:{...d.row,[t]:m},value:m})},...n==="autocomplete"&&{onChangeComplete:h=>{s.onChangeComplete?.(h),c(h.target.value),e.onCellEditStop?.({...d,originalRow:l,row:{...d.row,[t]:h.target.value},value:h.target.value})}}}),[d,l,t,m,s,n,e]),y=J(()=>a?a(d):{date:b.createElement(Yt,{value:m,...g}),currency:b.createElement(Ht,{value:m,...g}),number:b.createElement(R,{value:m,type:"number",...g}),text:b.createElement(R,{value:m,type:"text",...g}),longText:b.createElement($t,{value:m,...g}),autocomplete:b.createElement(Ct,{value:m,options:g.options||[m],...g}),select:b.createElement(Jt,{value:m,options:g.options||[m],...g})}[n||"text"],[m,g,n]),P=J(()=>{if(i)return i(d);let h=m;return{link:b.createElement(e.component||ci,{children:h,...s})}[n||"text"]||h},[m,i,d,n,s,e]),k=J(()=>u&&y?y:P,[u,y,P]),w=J(()=>p&&e.type==="longText",[p,e.type]);return uo(()=>{c(l[t])},[l,t]),b.createElement("td",{ref:v,key:t,headers:`${o}_header_${e.headerName??t}`,style:{textAlign:jt({type:n}),verticalAlign:u?"top":"middle",overflow:"auto"}},w?b.createElement(Rt,{title:m,placement:"bottom",style:{maxWidth:"100%"},enterDelay:1500,enterNextDelay:1500},b.createElement("div",{style:{overflow:"hidden",textOverflow:"ellipsis"}},k)):k)},xi=e=>{let{tableId:o,columns:t,rowId:n,editMode:i,noWrap:a,row:r}=e;return b.createElement(b.Fragment,null,t.map((p,l)=>b.createElement(yi,{...p,tableId:o,key:`${n}_${p.field.toString()}_${l}`,row:r,rowId:n,editMode:i,noWrap:a})))};function vi({rows:e,columns:o,rowCount:t,pagination:n,paginationMode:i,paginationModel:a,onPaginationModelChange:r,selectionModel:p=[],onSelectionModelChange:l,editMode:f,getId:m,isTotalSelected:c}){let[v,d]=_t(a?.page||1),u=a?.pageSize||20,s=de((D,x)=>m?.(D)??D?.id??`${(x||0)+(v-1)*u}`,[m??v,u]),g=J(()=>new Set(p),[p]),y=J(()=>!n||i==="server"?e:e.slice((v-1)*u,(v-1)*u+u),[e,v,u,i,n]),P=J(()=>y.length>0&&y.every((D,x)=>g.has(s(D,x))),[y,g,s]),k=t||e.length,w=J(()=>c??(k>0&&p.length===k),[c,p,k]),h=J(()=>(o||Object.keys(e[0]||{}).map(x=>({field:x}))).map(x=>({...x,isCellEditable:f&&(typeof x.isCellEditable=="function"?x.isCellEditable:x.isCellEditable??!0)})),[e,o,f]),C=de(D=>{d(D),r?.({page:D,pageSize:u})},[r,u]);return uo(()=>{C(1)},[k,C]),uo(()=>{let D=Math.max(1,Math.ceil(k/u));v>D&&C(D)},[v,k,u,C]),uo(()=>{l?.([])},[v]),{rowCount:k,page:v,pageSize:u,onPaginationModelChange:C,getId:s,HeadCell:bi,BodyRow:xi,dataInPage:y,isAllSelected:P,isTotalSelected:w,isSelectedRow:de(D=>g.has(D),[g]),onAllCheckboxChange:de(()=>{l?.(P?[]:y.map(s))},[P,y,l,s]),onCheckboxChange:de((D,x)=>{if(g.has(x)){let T=p.filter(Z=>Z!==x);l?.(T)}else{let T=[...p,x];l?.(T)}},[p,l,g]),columns:h,onTotalSelect:de(()=>{l?.(w?[]:e.map(s),!w)},[w,e,l,s])}}function Vo(e){let{rows:o,checkboxSelection:t,editMode:n,selectionModel:i,onSelectionModelChange:a,rowCount:r,columns:p,onPaginationModelChange:l,pagination:f,paginationMode:m,paginationModel:c,loading:v,slots:{checkbox:d=Ie,toolbar:u,footer:s,loadingOverlay:g=()=>b.createElement(di,{value:8,variant:"plain"})}={},slotProps:{checkbox:y={},toolbar:P,background:k={}}={},...w}=e,{columns:h,isAllSelected:C,isSelectedRow:D,onAllCheckboxChange:x,onCheckboxChange:T,getId:Z,rowCount:_,page:se,pageSize:_e,onPaginationModelChange:V,dataInPage:U,isTotalSelected:$,onTotalSelect:qe,HeadCell:Mo,BodyRow:ce}=vi(e),X=pi(),je=J(()=>({page:se,pageSize:_e}),[se,_e]);return b.createElement(to,null,(!!t||!!u)&&b.createElement(Y,{direction:"row",sx:{pt:1,pb:1},justifyContent:"space-between",alignItems:"center"},!!t&&b.createElement(Y,{direction:"row",spacing:1},!C&&b.createElement(q,{level:"body-xs"},co(i?.length||0)," items selected"),C&&!$&&b.createElement(Y,{direction:"row",spacing:1,alignItems:"center"},b.createElement(q,{level:"body-xs"},"All ",co(i?.length||0)," items on this page are selected."),b.createElement(I,{size:"sm",variant:"plain",onClick:qe},"Select all ",co(_??o.length)," items")),$&&b.createElement(Y,{direction:"row",spacing:1,alignItems:"center"},b.createElement(q,{level:"body-xs"},"All ",co(_??o.length)," items are selected."),b.createElement(I,{size:"sm",variant:"plain",color:"danger",onClick:qe},"Cancel"))),u&&b.createElement(u,{...P||{}})),b.createElement(G,{variant:"outlined",sx:{overflow:"auto",width:"100%",boxShadow:"sm",borderRadius:"sm"},...k},b.createElement(Le,{...w},b.createElement("thead",null,b.createElement("tr",null,t&&b.createElement("th",{style:{width:"40px",textAlign:"center"}},b.createElement(d,{onChange:x,checked:C,indeterminate:(i||[]).length>0&&!C,...y})),h.map((Q,ko)=>b.createElement(Mo,{tableId:X,key:`${Q.field.toString()}_${ko}`,stickyHeader:e.stickyHeader,editMode:!!Q.isCellEditable,...Q})))),b.createElement("tbody",null,b.createElement(Wt,null,!!v&&b.createElement("td",null,b.createElement(to,{sx:{position:"absolute",top:0,left:0,right:0}},b.createElement(g,null)))),b.createElement(Wt,null),U.map((Q,ko)=>{let me=Z(Q,ko);return b.createElement("tr",{key:me,role:t?"checkbox":void 0,tabIndex:t?-1:void 0,onClick:t?Po=>T(Po,me):void 0,"aria-checked":t?D(me):void 0},t&&b.createElement("th",{scope:"row",style:{textAlign:"center"}},b.createElement(d,{onChange:Po=>T(Po,me),checked:D(me),...y})),b.createElement(ce,{tableId:X,columns:h,row:Q,rowId:me,editMode:n,noWrap:e.noWrap}))})),s&&b.createElement(s,null))),_e<_&&f&&b.createElement(fi,{paginationModel:je,rowCount:_,onPageChange:V}))}Vo.displayName="DataTable";import H,{forwardRef as Di,useCallback as Uo,useEffect as Kt,useImperativeHandle as Mi,useMemo as ki,useRef as Pi,useState as Zt}from"react";import{IMaskInput as Ti,IMask as Yo}from"react-imask";import wi from"@mui/icons-material/esm/CalendarToday.js";import{styled as $o}from"@mui/joy";import{FocusTrap as Ai,ClickAwayListener as Fi,Popper as Ii}from"@mui/base";var Si=$o(Ii,{name:"DateRangePicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),Bi=$o(G,{name:"DateRangePicker",slot:"sheet",overridesResolver:(e,o)=>o.root})(({theme:e})=>({zIndex:e.zIndex.tooltip,width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),Ni=$o("div",{name:"DateRangePicker",slot:"container"})({width:"100%"}),Xt=([e,o])=>{let t=n=>{let i=`${n.getDate()}`,a=`${n.getMonth()+1}`,r=n.getFullYear();return Number(i)<10&&(i="0"+i),Number(a)<10&&(a="0"+a),[r,a,i].join("/")};return[t(e),o?t(o):""].join(" - ")},Qt=e=>{let o=e.split(" - ")[0]||"",t=e.split(" - ")[1]||"",n=o.split("/"),i=t.split("/");return[new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),new Date(Number(i[0]),Number(i[1])-1,Number(i[2]))]},Li=H.forwardRef(function(o,t){let{onChange:n,...i}=o;return H.createElement(Ti,{...i,inputRef:t,onAccept:a=>n({target:{name:o.name,value:a}}),mask:Date,pattern:"Y/`m/`d - Y/`m/`d",blocks:{d:{mask:Yo.MaskedRange,from:1,to:31,maxLength:2},m:{mask:Yo.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:Yo.MaskedRange,from:1900,to:9999}},format:Xt,parse:Qt,autofix:"pad",overwrite:!0})}),Jo=Di((e,o)=>{let{onChange:t,disabled:n,label:i,error:a,helperText:r,minDate:p,maxDate:l,disableFuture:f,disablePast:m,required:c,...v}=e,d=Pi(null),[u,s]=Zt(e.value||""),[g,y]=Zt(null),P=!!g,k=ki(()=>u?Qt(u):void 0,[u]);Kt(()=>{s(e.value||"")},[e.value]),Kt(()=>{g||d.current?.blur()},[g,d]),Mi(o,()=>d.current,[d.current]);let w=Uo(x=>{s(x.target.value),t?.(x)},[t]),h=Uo(x=>{y(g?null:x.currentTarget),d.current?.focus()},[g,y,d]),C=Uo(([x,T])=>{!x||!T||(s(Xt([x,T])),y(null))},[s,y]),D=H.createElement(Ni,null,H.createElement(Ai,{open:!0},H.createElement(H.Fragment,null,H.createElement(R,{...v,color:a?"danger":v.color,ref:o,size:"sm",value:u,onChange:w,disabled:n,required:c,placeholder:"YYYY/MM/DD - YYYY/MM/DD",slotProps:{input:{component:Li,ref:d}},sx:{fontFamily:"monospace"},endDecorator:H.createElement(L,{variant:"plain",onClick:h},H.createElement(wi,null))}),P&&H.createElement(Fi,{onClickAway:()=>y(null)},H.createElement(Si,{id:"date-range-picker-popper",open:!0,anchorEl:g,placement:"bottom-end",onMouseDown:x=>x.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}]},H.createElement(Bi,{tabIndex:-1,role:"presentation"},H.createElement(ae,{rangeSelection:!0,defaultValue:k,onChange:C,minDate:p?new Date(p):void 0,maxDate:l?new Date(l):void 0,disableFuture:f,disablePast:m}),H.createElement(oe,{sx:{p:1}},H.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{s(""),y(null)}},"Clear"))))))));return i?H.createElement(S,{required:c,disabled:n,error:a,size:"sm"},H.createElement(B,null,i),D,r&&H.createElement(A,null,r)):D});Jo.displayName="DateRangePicker";import{DialogContent as Ei,styled as Hi}from"@mui/joy";import{motion as zi}from"framer-motion";var Oi=zi(Ei),Vi=Hi(Oi)(({theme:e})=>({padding:e.spacing(0,3,2.5)})),Ue=Vi;Ue.displayName="DialogContent";var go=Ue;import{DialogTitle as Ui,styled as Yi}from"@mui/joy";import{motion as $i}from"framer-motion";var Ji=$i(Ui),Ri=Yi(Ji)(({theme:e})=>({padding:e.spacing(2,3)})),Ye=Ri;Ye.displayName="DialogTitle";var fo=Ye;import yo from"react";import ho from"react";import{Modal as Wi,ModalDialog as Gi,ModalClose as _i,ModalOverflow as qi,styled as ji}from"@mui/joy";import{motion as Co}from"framer-motion";var Ki=Co(Wi),Ro=Ki;Ro.displayName="Modal";var Zi=Co(Gi),er=ji(Zi)({padding:0}),$e=er;$e.displayName="ModalDialog";var Xi=Co(_i),bo=Xi;bo.displayName="ModalClose";var Qi=Co(qi),Wo=Qi;Wo.displayName="ModalOverflow";function Go(e){let{title:o,children:t,...n}=e;return ho.createElement(er,{...n},ho.createElement(bo,null),ho.createElement(fo,null,o),ho.createElement(go,null,t))}Go.displayName="ModalFrame";import{styled as el}from"@mui/joy";var ol=el($e)(({theme:e})=>({padding:0}));function _o(e){let{title:o,children:t,actions:n,...i}=e;return yo.createElement(ol,{...i},yo.createElement(fo,null,o),yo.createElement(go,null,t),yo.createElement(oe,null,n))}_o.displayName="DialogFrame";import tl from"react";import{Divider as rl}from"@mui/joy";import{motion as nl}from"framer-motion";var al=nl(rl),Je=e=>tl.createElement(al,{...e});Je.displayName="Divider";import il from"react";import{Drawer as ll}from"@mui/joy";import{motion as sl}from"framer-motion";var ml=sl(ll),qo=e=>{let{children:o,...t}=e;return il.createElement(ml,{...t,slotProps:{...t.slotProps,content:{...t.slotProps?.content,sx:{bgcolor:"transparent",p:{md:3,sm:0},boxShadow:"none"}}}},o)};qo.displayName="InsetDrawer";import{Grid as pl}from"@mui/joy";import{motion as dl}from"framer-motion";var cl=dl(pl),jo=cl;jo.displayName="Grid";import ne from"react";import ul from"react-markdown";import{Link as gl}from"@mui/joy";var Ko=e=>{let{color:o,textColor:t,defaultLevel:n="body-md",defaultLinkAction:i="_self",markdownOptions:a,content:r,...p}=e;return ne.createElement(W,{color:o,textColor:t,...p},ne.createElement(ul,{...a,children:r,components:{h1:({children:l})=>ne.createElement(W,{color:o,textColor:t,level:"h1"},l),h2:({children:l})=>ne.createElement(W,{color:o,textColor:t,level:"h2"},l),h3:({children:l})=>ne.createElement(W,{color:o,textColor:t,level:"h3"},l),h4:({children:l})=>ne.createElement(W,{color:o,textColor:t,level:"h4"},l),p:({children:l})=>ne.createElement(W,{color:o,textColor:t,level:n},l),a:({children:l,href:f})=>ne.createElement(gl,{href:f,target:i},l),hr:()=>ne.createElement(Je,null),...a?.components}}))};Ko.displayName="Markdown";import z,{forwardRef as fl,useCallback as or,useEffect as tr,useImperativeHandle as hl,useRef as Cl,useState as rr}from"react";import{IMaskInput as bl,IMask as nr}from"react-imask";import yl from"@mui/icons-material/esm/CalendarToday.js";import{styled as Xo}from"@mui/joy";import{FocusTrap as xl,ClickAwayListener as vl,Popper as Dl}from"@mui/base";var Ml=Xo(Dl,{name:"MonthPicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),kl=Xo(G,{name:"MonthPicker",slot:"sheet",overridesResolver:(e,o)=>o.root})(({theme:e})=>({width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),Pl=Xo("div",{name:"MonthPicker",slot:"container"})({width:"100%"}),ar=e=>{let o=`${e.getMonth()+1}`,t=e.getFullYear();return Number(o)<10&&(o="0"+o),[t,o].join("/")},Zo=e=>(t=>{if(!/^\d\d\d\d\/(0[1-9]|1[012])(\/(0[1-9]|[23][0-9]))?$/.test(t))return t;let n=t.split("/"),i=new Date(Number(n[0]),Number(n[1])-1);return ar(i)})(e),ir=e=>e.split(" - ")[0]||"",Tl=z.forwardRef(function(o,t){let{onChange:n,...i}=o;return z.createElement(bl,{...i,inputRef:t,onAccept:a=>n({target:{name:o.name,value:a}}),mask:Date,pattern:"Y/m",blocks:{m:{mask:nr.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:nr.MaskedRange,from:1900,to:9999}},format:Zo,parse:ir})}),lr=fl((e,o)=>{let{onChange:t,disabled:n,label:i,error:a,helperText:r,minDate:p,maxDate:l,disableFuture:f,disablePast:m,required:c,...v}=e,d=Cl(null),[u,s]=rr(e.value||""),[g,y]=rr(null),P=!!g;tr(()=>{s(e.value?Zo(ir(e.value)):"")},[e.value]),tr(()=>{g||d.current?.blur()},[g,d]),hl(o,()=>d.current,[d.current]);let k=or(C=>{s(C.target.value),t?.(C)},[t]),w=or(C=>{y(g?null:C.currentTarget),d.current?.focus()},[g,y,d]),h=z.createElement(Pl,null,z.createElement(xl,{open:!0},z.createElement(z.Fragment,null,z.createElement(R,{...v,color:a?"danger":v.color,ref:d,size:"sm",value:u,onChange:k,placeholder:"YYYY/MM",disabled:n,required:c,slotProps:{input:{component:Tl,ref:d}},sx:{fontFamily:"monospace"},endDecorator:z.createElement(L,{variant:"plain",onClick:w},z.createElement(yl,null))}),P&&z.createElement(vl,{onClickAway:()=>y(null)},z.createElement(Ml,{id:"date-picker-popper",open:!0,anchorEl:g,placement:"bottom-end",onMouseDown:C=>C.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}]},z.createElement(kl,{tabIndex:-1,role:"presentation"},z.createElement(ae,{view:"month",views:["month"],value:Number.isNaN(new Date(u).getTime())?void 0:[new Date(u),void 0],onChange:([C])=>{k({target:{name:e.name,value:Zo(ar(C))}}),y(null)},minDate:p?new Date(p):void 0,maxDate:l?new Date(l):void 0,disableFuture:f,disablePast:m}),z.createElement(oe,{sx:{p:1}},z.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{k({target:{name:e.name,value:""}}),y(null)}},"Clear"))))))));return i?z.createElement(S,{required:c,disabled:n,error:a,size:"sm"},z.createElement(B,null,i),h,r&&z.createElement(A,null,r)):h});import O,{forwardRef as wl,useCallback as Qo,useEffect as sr,useImperativeHandle as Al,useMemo as Fl,useRef as Il,useState as mr}from"react";import{IMaskInput as Sl,IMask as pr}from"react-imask";import Bl from"@mui/icons-material/esm/CalendarToday.js";import{styled as rt}from"@mui/joy";import{FocusTrap as Nl,ClickAwayListener as Ll,Popper as El}from"@mui/base";var Hl=rt(El,{name:"MonthRangePicker",slot:"popper"})(({theme:e})=>({zIndex:e.zIndex.tooltip})),zl=rt(G,{name:"MonthRangePicker",slot:"sheet",overridesResolver:(e,o)=>o.root})(({theme:e})=>({zIndex:e.zIndex.tooltip,width:"264px",boxShadow:e.shadow.md,borderRadius:e.radius.md})),Ol=rt("div",{name:"MonthRangePicker",slot:"container"})({width:"100%"}),et=e=>{let o=`${e.getMonth()+1}`,t=e.getFullYear();return Number(o)<10&&(o="0"+o),[t,o].join("/")},ot=([e,o])=>{let t=n=>{if(!/^\d\d\d\d\/(0[1-9]|1[012])(\/(0[1-9]|[23][0-9]))?$/.test(n))return n;let i=n.split("/"),a=new Date(Number(i[0]),Number(i[1])-1);return et(a)};return[t(e),t(o)].join(" - ")},tt=e=>{let o=e.split(" - ")[0]||"",t=e.split(" - ")[1]||"";return[o,t]},Vl=O.forwardRef(function(o,t){let{onChange:n,...i}=o;return O.createElement(Sl,{...i,inputRef:t,onAccept:a=>n({target:{name:o.name,value:a}}),mask:Date,pattern:"Y/m - Y/m",blocks:{m:{mask:pr.MaskedRange,from:1,to:12,maxLength:2},Y:{mask:pr.MaskedRange,from:1900,to:9999}},format:ot,parse:tt})}),nt=wl((e,o)=>{let{onChange:t,disabled:n,label:i,error:a,helperText:r,minDate:p,maxDate:l,disableFuture:f,disablePast:m,required:c,...v}=e,d=Il(null),[u,s]=mr(""),[g,y]=mr(null),P=!!g,k=Fl(()=>u?tt(u).map(x=>new Date(x)):void 0,[u]);sr(()=>{s(e.value?ot(tt(e.value)):"")},[e.value]),sr(()=>{g||d.current?.blur()},[g,d]),Al(o,()=>d.current,[d.current]);let w=Qo(x=>{s(x.target.value),t?.(x)},[t]),h=Qo(x=>{y(g?null:x.currentTarget),d.current?.focus()},[g,y,d]),C=Qo(([x,T])=>{!x||!T||(s(ot([et(x),et(T)])),y(null))},[s,y]),D=O.createElement(Ol,null,O.createElement(Nl,{open:!0},O.createElement(O.Fragment,null,O.createElement(R,{...v,color:a?"danger":v.color,ref:o,size:"sm",value:u,onChange:w,disabled:n,required:c,placeholder:"YYYY/MM - YYYY/MM",slotProps:{input:{component:Vl,ref:d}},sx:{fontFamily:"monospace"},endDecorator:O.createElement(L,{variant:"plain",onClick:h},O.createElement(Bl,null))}),P&&O.createElement(Ll,{onClickAway:()=>y(null)},O.createElement(Hl,{id:"date-range-picker-popper",open:!0,anchorEl:g,placement:"bottom-end",onMouseDown:x=>x.preventDefault(),modifiers:[{name:"offset",options:{offset:[4,4]}}]},O.createElement(zl,{tabIndex:-1,role:"presentation"},O.createElement(ae,{view:"month",views:["month"],rangeSelection:!0,defaultValue:k,onChange:C,minDate:p?new Date(p):void 0,maxDate:l?new Date(l):void 0,disableFuture:f,disablePast:m}),O.createElement(oe,{sx:{p:1}},O.createElement(I,{size:"sm",variant:"plain",color:"neutral",onClick:()=>{s(""),y(null)}},"Clear"))))))));return i?O.createElement(S,{required:c,disabled:n,error:a,size:"sm"},O.createElement(B,null,i),D,r&&O.createElement(A,null,r)):D});nt.displayName="MonthRangePicker";import{Radio as Ul,RadioGroup as Yl}from"@mui/joy";import{motion as dr}from"framer-motion";var $l=dr(Ul),Re=$l;Re.displayName="Radio";var Jl=dr(Yl),We=Jl;We.displayName="RadioGroup";import cr from"react";function at(e){let{items:o,...t}=e;return cr.createElement(We,{...t},o.map(n=>cr.createElement(Re,{key:`${n.value}`,value:n.value,label:n.label})))}at.displayName="RadioList";import ur from"react";import{Switch as Rl,styled as Wl,switchClasses as Gl}from"@mui/joy";import{motion as gr}from"framer-motion";var _l=gr(Rl),ql=Wl(gr.div)({"--Icon-fontSize":"calc(var(--Switch-thumbSize) * 0.75)",display:"inline-flex",justifyContent:"center",alignItems:"center",position:"absolute",left:"var(--Switch-thumbOffset)",width:"var(--Switch-thumbWidth)",height:"var(--Switch-thumbSize)",borderRadius:"var(--Switch-thumbRadius)",boxShadow:"var(--Switch-thumbShadow)",color:"var(--Switch-thumbColor)",backgroundColor:"var(--Switch-thumbBackground)",[`&.${Gl.checked}`]:{left:"unset",right:"var(--Switch-thumbOffset)"}}),jl=e=>ur.createElement(ql,{...e,layout:!0,transition:Kl}),Kl={type:"spring",stiffness:700,damping:30},it=e=>ur.createElement(_l,{...e,slots:{thumb:jl,...e.slots}});it.displayName="Switch";import{Tabs as Zl,Tab as Xl,TabList as Ql,TabPanel as es}from"@mui/joy";import{motion as xo}from"framer-motion";var os=xo(Zl),lt=os;lt.displayName="Tabs";var ts=xo(Xl),st=ts;st.displayName="Tab";var rs=xo(Ql),mt=rs;mt.displayName="TabList";var ns=xo(es),pt=ns;pt.displayName="TabPanel";import Ge from"react";import{CssBaseline as as,CssVarsProvider as is,checkboxClasses as ls,extendTheme as ss,GlobalStyles as ms}from"@mui/joy";var fr={palette:{danger:{50:"#FEF3F2",100:"#FDE6E5",200:"#FBC7C4",300:"#F89E99",400:"#F46E66",500:"#DC0D00",600:"#AB0F00",700:"#791000",800:"#430A0A",900:"#240505"},neutral:{50:"#FAFBFC",100:"#F3F5F7",200:"#EBECF0",300:"#D1D5DB",400:"#A2AAB8",500:"#5E6C83",600:"#505E79",700:"#253858",800:"#071B36",900:"#0B0D0E"},primary:{50:"#F2F7FE",100:"#E8F0FD",200:"#CCDFFC",300:"#9DC1F9",400:"#4D8EF3",500:"#015DEE",600:"#0154D6",700:"#0141A7",800:"#00255F",900:"#000F26"},warning:{50:"#FEF8F2",100:"#FEF1E5",200:"#FCE1C4",300:"#FABD7F",400:"#F57C00",500:"#AF5100",600:"#843600",700:"#672600",800:"#421400",900:"#1d1002"}}},te=ss({cssVarPrefix:"ceed",spacing:4,breakpoints:{values:{xs:0,sm:360,md:600,lg:900,xl:1280}},fontFamily:{display:'"Poppins", var(--ceed-fontFamily-fallback, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol")'},typography:{"marketing-lg":{color:"var(--ceed-palette-text-primary, var(--ceed-palette-neutral-800, #171A1C))",fontFamily:'var(--ceed-fontFamily-display, "Poppins", var(--ceed-fontFamily-fallback, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"))',fontSize:"var(--ceed-fontSize-marketing-lg, 2.625rem)",fontWeight:"var(--ceed-fontWeight-lg, 600)",letterSpacing:"-0.025em",lineHeight:"var(--ceed-lineHeight-xs, 1.33334)"}},colorSchemes:{light:fr,dark:fr},components:{JoyTypography:{defaultProps:{levelMapping:{"marketing-lg":"div"}}},JoyTable:{defaultProps:{size:"sm",borderAxis:"bothBetween"},styleOverrides:{root:({theme:e})=>({"--TableRow-stripeBackground":e.palette.background.level1,"--TableCell-selectedBackground":e.palette.background.level2,"--TableRow-hoverBackground":e.palette.background.level3,"& tbody tr[aria-checked=false] th":{"--TableCell-headBackground":"transparent"},"& tbody tr[aria-checked=true]:hover th":{"--TableCell-headBackground":"var(--TableRow-hoverBackground)"},"& tbody tr[aria-checked=true]:not(:hover) th":{"--TableCell-headBackground":"var(--TableCell-selectedBackground)"},"& tbody tr[aria-checked=true]:not(:hover) td":{"--TableCell-dataBackground":"var(--TableCell-selectedBackground)"},[`& .${ls.root}`]:{verticalAlign:"middle"}})}},JoyTooltip:{defaultProps:{size:"sm",placement:"top"}}}});function dt(e){return Ge.createElement(Ge.Fragment,null,Ge.createElement(is,{theme:te},Ge.createElement(as,null),Ge.createElement(ms,{styles:{body:{"--ceed-fontSize-marketing-lg":"2.625rem",[te.breakpoints.down("md")]:{"--ceed-fontSize-xs":`calc(${te.fontSize.xs} * 0.875)`,"--ceed-fontSize-sm":`calc(${te.fontSize.sm} * 0.875)`,"--ceed-fontSize-md":`calc(${te.fontSize.md} * 0.875)`,"--ceed-fontSize-lg":`calc(${te.fontSize.lg} * 0.875)`,"--ceed-fontSize-xl":`calc(${te.fontSize.xl} * 0.875)`,"--ceed-fontSize-xl2":`calc(${te.fontSize.xl2} * 0.875)`,"--ceed-fontSize-xl3":`calc(${te.fontSize.xl3} * 0.875)`,"--ceed-fontSize-xl4":`calc(${te.fontSize.xl4} * 0.875)`,"--ceed-fontSize-marketing-lg":"calc(2.625rem * 0.875)"}}}}),e.children))}dt.displayName="ThemeProvider";import N,{useCallback as vo,useEffect as hr,useMemo as Cr,useRef as br,useState as Do}from"react";import{styled as le}from"@mui/joy";import ps from"@mui/icons-material/esm/CloudUploadRounded.js";import ds from"@mui/icons-material/esm/UploadFileRounded.js";import cs from"@mui/icons-material/esm/ClearRounded.js";import{combine as us}from"@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/combine.js";import{dropTargetForExternal as gs,monitorForExternal as fs}from"@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/external/adapter.js";import{containsFiles as yr,getFiles as hs}from"@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/external/file.js";import{preventUnhandled as xr}from"@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js";var Cs=le("input")({width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",position:"absolute"}),bs=le(Y,{name:"Uploader",slot:"PreviewRoot"})({}),ys=le(No,{name:"Uploader",slot:"UploadCard"})(({theme:e})=>({padding:e.spacing(2.5),border:`1px solid ${e.palette.neutral.outlinedBorder}`})),xs=le(ds,{name:"Uploader",slot:"UploadFileIcon"})(({theme:e})=>({color:e.palette.neutral[400],width:"32px",height:"32px"})),vs=le(cs,{name:"Uploader",slot:"ClearIcon"})(({theme:e})=>({color:e.palette.neutral.plainColor,width:"18px",height:"18px"})),Ds=["byte","kilobyte","megabyte","gigabyte","terabyte","petabyte"],ct=e=>{let o=e==0?0:Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,o),n=Ds[o];return Intl.NumberFormat("en-us",{style:"unit",unit:n,unitDisplay:"narrow"}).format(t)},Ms=e=>{let{files:o,uploaded:t,onDelete:n}=e;return N.createElement(bs,{gap:1},[...t,...o].map(i=>N.createElement(ys,{key:i.name,size:"sm",color:"neutral"},N.createElement(Y,{direction:"row",alignItems:"center",gap:2},N.createElement(xs,null),N.createElement(Y,{flex:"1"},N.createElement(q,{level:"body-sm",textColor:"common.black"},i.name),!!i.size&&N.createElement(q,{level:"body-xs",fontWeight:"300",lineHeight:"1.33",textColor:"text.tertiary"},ct(i.size))),N.createElement(L,{onClick:()=>n?.(i)},N.createElement(vs,null))))))},ks=le(Y,{name:"Uploader",slot:"root"})(({theme:e})=>({gap:e.spacing(2)})),Ps=le(G,{name:"Uploader",slot:"dropZone",shouldForwardProp:e=>e!=="error"})(({theme:e,state:o,error:t})=>({width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:e.spacing(5),gap:e.spacing(4),cursor:"pointer",backgroundColor:e.palette.background.surface,border:t?`1px solid ${e.palette.danger.outlinedBorder}`:o==="idle"?`1px solid ${e.palette.neutral.outlinedBorder}`:`1px solid ${e.palette.primary.outlinedBorder}`})),Ts=le(ps,{name:"Uploader",slot:"iconContainer",shouldForwardProp:e=>e!=="error"})(({theme:e,state:o,error:t})=>({color:t?`rgba(${e.vars.palette.danger.mainChannel} / 0.6)`:o==="over"?`rgba(${e.palette.primary.mainChannel} / 0.6)`:e.palette.neutral.softActiveBg,width:"32px",height:"32px"})),vr=N.memo(e=>{let{accept:o,minCount:t,maxCount:n,name:i,size:a,maxFileSize:r,maxFileTotalSize:p,onChange:l,label:f,helperText:m,disabled:c,onDelete:v}=e,d=br(null),u=br(null),[s,g]=Do(),[y,P]=Do([]),[k,w]=Do(e.uploaded||[]),[h,C]=Do("idle"),D=Cr(()=>!!s||e.error,[e.error,s]),x=Cr(()=>!n||n&&[...k,...y].length!==n,[y,n,k]),T=vo(V=>{try{let U=o?.split(",").map(X=>X.trim().replace(".","").replace("*",".*"))||[],$=new RegExp(`\\b(${U.join("|")})\\b`),qe=U.pop(),Mo=`Please upload following file types: ${U.join(", ")} and ${qe}.`;if(V.forEach(X=>{let[je,Q]=X.name.split(".");if(!$.test(X.type)&&!$.test(Q))throw new Error(Mo)}),r&&V.forEach(X=>{if(X.size>r)throw new Error(`One or more files exceed the individual file size limit. File must be less than ${ct(r)}.`)}),p&&[...y,...V].reduce((je,Q)=>je+Q.size,0)>p)throw new Error(`Total file size has exceeded the maximum limit. File must be less than ${ct(p)}.`);let ce=[...y,...V];if(n&&[...k,...ce].length>n)throw new Error(`File count exceeds the limit: ${n}`);l?.({target:{name:i,value:ce}}),P(ce),g(void 0)}catch(U){g(U.message)}},[y,k,n,o,r,p,i,l]);hr(()=>{let V=d.current;if(V)return us(gs({element:V,canDrop:yr,onDragEnter:()=>C("over"),onDragLeave:()=>C("potential"),onDrop:async({source:U})=>{let $=await hs({source:U});T($)}}),fs({canMonitor:yr,onDragStart:()=>{C("potential"),xr.start()},onDrop:()=>{C("idle"),xr.stop()}}))}),hr(()=>{u.current&&t&&(y.length<t?u.current.setCustomValidity(`At least ${t} files are required.`):u.current.setCustomValidity(""))},[u,y,t]);let Z=vo(V=>{let U=Array.from(V.target.files||[]);T(U)},[T]),_=vo(V=>{V instanceof File?P(U=>(l?.({target:{name:i,value:U.filter($=>$!==V)}}),U.filter($=>$!==V))):(w(U=>U.filter($=>$.id!==V.id)),v?.(V)),g(void 0)},[i,l,v]),se=vo(()=>{u.current?.click()},[]);return N.createElement(ks,null,x&&N.createElement(S,{size:a,error:!!(D||s),disabled:c,required:!!t},f&&N.createElement(B,null,f),N.createElement(Ps,{state:h,error:!!(D||s),ref:d,onClick:se},N.createElement(Y,{alignItems:"center",gap:1},N.createElement(Ts,{state:h,error:!!(D||s)})),N.createElement(Cs,{type:"file",onChange:Z,multiple:!0,accept:o,disabled:c,required:!!t,ref:u})),s?N.createElement(A,null,s):m&&N.createElement(A,null,m)),[...k,...y].length>0&&N.createElement(Ms,{files:y,uploaded:k,onDelete:_}))});export{Qe as Accordion,Xe as AccordionDetails,Ze as AccordionSummary,To as Accordions,SC as AspectRatio,oo as Autocomplete,DC as AutocompleteListbox,MC as AutocompleteOption,wC as Avatar,FC as AvatarGroup,NC as Badge,xe as Box,Io as Breadcrumbs,Pe as Button,we as Calendar,HC as Card,OC as CardActions,UC as CardContent,$C as CardCover,RC as CardOverflow,Fe as Checkbox,GC as Chip,qC as CircularProgress,Lo as Container,lo as CurrencyInput,Vo as DataTable,so as DatePicker,Jo as DateRangePicker,Ee as DialogActions,Ue as DialogContent,_o as DialogFrame,Ye as DialogTitle,Je as Divider,KC as Drawer,ke as Dropdown,ge as FormControl,he as FormHelperText,fe as FormLabel,jo as Grid,Ce as IconButton,Be as Input,qo as InsetDrawer,XC as LinearProgress,gb as Link,eb as List,tb as ListDivider,nb as ListItem,ib as ListItemButton,sb as ListItemContent,pb as ListItemDecorator,cb as ListSubheader,Ko as Markdown,ve as Menu,De as MenuButton,Me as MenuItem,Ro as Modal,bo as ModalClose,$e as ModalDialog,Go as ModalFrame,Wo as ModalOverflow,lr as MonthPicker,nt as MonthRangePicker,po as Option,Re as Radio,We as RadioGroup,at as RadioList,Oe as Select,Ne as Sheet,Pb as Skeleton,hb as Slider,be as Stack,bb as Step,xb as StepButton,Db as StepIndicator,Mb as Stepper,it as Switch,st as Tab,mt as TabList,pt as TabPanel,Le as Table,Ho as TableBody,Eo as TableHead,lt as Tabs,He as Textarea,dt as ThemeProvider,Ve as Tooltip,W as Typography,vr as Uploader,bC as accordionClasses,yC as accordionDetailsClasses,vC as accordionSummaryClasses,xC as accordionsClasses,BC as aspectRatioClasses,kC as autocompleteClasses,PC as autocompleteListboxClasses,TC as autocompleteOptionClasses,AC as avatarClasses,IC as avatarGroupClasses,LC as badgeClasses,Oh as boxClasses,EC as breadcrumbsClasses,Vh as buttonClasses,VC as cardActionsClasses,zC as cardClasses,YC as cardContentClasses,JC as cardCoverClasses,WC as cardOverflowClasses,Uh as checkboxClasses,_C as chipClasses,jC as circularProgressClasses,uC as dialogActionsClasses,cC as dialogContentClasses,dC as dialogTitleClasses,Yh as dividerClasses,ZC as drawerClasses,oC as formControlClasses,rC as formHelperTextClasses,tC as formLabelClasses,nC as gridClasses,$h as iconButtonClasses,Jh as inputClasses,QC as linearProgressClasses,fb as linkClasses,ob as listClasses,rb as listDividerClasses,lb as listItemButtonClasses,ab as listItemClasses,mb as listItemContentClasses,db as listItemDecoratorClasses,ub as listSubheaderClasses,Wh as menuButtonClasses,Rh as menuClasses,Gh as menuItemClasses,lC as modalClasses,sC as modalCloseClasses,mC as modalDialogClasses,pC as modalOverflowClasses,_h as optionClasses,qh as radioClasses,jh as radioGroupClasses,Kh as selectClasses,iC as sheetClasses,Tb as skeletonClasses,Cb as sliderClasses,aC as stackClasses,vb as stepButtonClasses,yb as stepClasses,kb as stepperClasses,Zh as switchClasses,hC as tabListClasses,CC as tabPanelClasses,Xh as tableClasses,fC as tabsClasses,Qh as textareaClasses,gC as tooltipClasses,eC as typographyClasses,Hh as useColorScheme,Eh as useTheme,zh as useThemeProps};
package/package.json CHANGED
@@ -1,15 +1,14 @@
1
1
  {
2
2
  "name": "@ceed/cds",
3
- "version": "0.0.126",
3
+ "version": "0.0.128",
4
4
  "main": "dist/index.js",
5
- "module": "dist/index.mjs",
6
5
  "types": "dist/index.d.ts",
7
6
  "type": "module",
8
7
  "description": "UI tool for Ecube Labs front-end developers",
9
8
  "scripts": {
10
9
  "storybook": "storybook dev -p 6006",
11
10
  "build-storybook": "storybook build",
12
- "build": "yarn build-for-framer && rm -rf ./dist && tsc -p tsconfig.build.json && yarn dlx esbuild src/index.ts --bundle --outfile='dist/index.mjs' --format=esm '--packages=external' --tsconfig=tsconfig.build.json --minify",
11
+ "build": "yarn build-for-framer && rm -rf ./dist && tsc --emitDeclarationOnly -p tsconfig.build.json && yarn dlx esbuild src/index.ts --bundle --outfile='dist/index.js' --format=esm '--packages=external' --tsconfig=tsconfig.build.json --minify",
13
12
  "build-for-framer": "yarn dlx esbuild src/framer-entrypoint.ts --bundle --outfile='framer/index.js' --format=esm '--external:react' '--external:react/jsx-runtime' '--external:react-dom' '--external:framer' '--external:framer-motion' --main-fields=module,main --target=chrome58 --minify",
14
13
  "prepack": "yarn build"
15
14
  },
@@ -1,66 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- import React from "react";
24
- import { AccordionGroup as JoyAccordionGroup, Accordion as JoyAccordion, AccordionSummary as JoyAccordionSummary, AccordionDetails as JoyAccordionDetails, } from "@mui/joy";
25
- import { motion } from "framer-motion";
26
- var MotionAccordionSummary = motion(JoyAccordionSummary);
27
- var AccordionSummary = MotionAccordionSummary;
28
- export { AccordionSummary };
29
- AccordionSummary.displayName = "AccordionSummary";
30
- var MotionAccordionDetails = motion(JoyAccordionDetails);
31
- var AccordionDetails = MotionAccordionDetails;
32
- export { AccordionDetails };
33
- AccordionDetails.displayName = "AccordionDetails";
34
- var MotionAccordion = motion(JoyAccordion);
35
- function Accordion(props) {
36
- // prop destruction
37
- var summary = props.summary, details = props.details, variant = props.variant, color = props.color, innerProps = __rest(props, ["summary", "details", "variant", "color"]);
38
- // lib hooks
39
- // state, ref, querystring hooks
40
- // form hooks
41
- // query hooks
42
- // calculated values
43
- var inheritedVariant = variant === "solid" ? "solid" : undefined;
44
- // effects
45
- // handlers
46
- return (React.createElement(MotionAccordion, __assign({ variant: inheritedVariant, color: color }, innerProps),
47
- React.createElement(AccordionSummary, { variant: inheritedVariant, color: color }, summary),
48
- React.createElement(AccordionDetails, { variant: inheritedVariant, color: color }, details)));
49
- }
50
- export { Accordion };
51
- Accordion.displayName = "Accordion";
52
- var MotionAccordions = motion(JoyAccordionGroup);
53
- function Accordions(props) {
54
- // prop destruction
55
- var variant = props.variant, color = props.color, items = props.items, innerProps = __rest(props, ["variant", "color", "items"]);
56
- // lib hooks
57
- // state, ref, querystring hooks
58
- // form hooks
59
- // query hooks
60
- // calculated values
61
- // effects
62
- // handlers
63
- return (React.createElement(MotionAccordions, __assign({ variant: variant, color: color }, innerProps), items.map(function (item, index) { return (React.createElement(Accordion, { summary: item.summary, details: item.details, index: index, variant: variant, color: color })); })));
64
- }
65
- export { Accordions };
66
- Accordions.displayName = "Accordions";
@@ -1,3 +0,0 @@
1
- import { Accordions } from "./Accordions";
2
- export * from "./Accordions";
3
- export default Accordions;
@@ -1,251 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
- if (ar || !(i in from)) {
26
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
- ar[i] = from[i];
28
- }
29
- }
30
- return to.concat(ar || Array.prototype.slice.call(from));
31
- };
32
- import React, { useCallback, useEffect, useMemo, useRef, useState, } from "react";
33
- import { Autocomplete as JoyAutocomplete, AutocompleteOption as JoyAutocompleteOption, ListSubheader as JoyListSubheader, AutocompleteListbox as JoyAutocompleteListbox, ListItemDecorator, CircularProgress, styled, } from "@mui/joy";
34
- // @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
35
- import CloseIcon from "@mui/icons-material/esm/Close.js";
36
- import { useVirtualizer } from "@tanstack/react-virtual";
37
- import { Popper } from "@mui/base";
38
- import FormControl from "../FormControl";
39
- import FormLabel from "../FormLabel";
40
- import FormHelperText from "../FormHelperText";
41
- import Chip from "../Chip";
42
- import IconButton from "../IconButton";
43
- import Stack from "../Stack";
44
- var AutocompletePopper = styled(Popper, {
45
- name: "Autocomplete",
46
- slot: "Popper",
47
- })(function (_a) {
48
- var theme = _a.theme;
49
- return ({
50
- zIndex: theme.zIndex.tooltip,
51
- });
52
- });
53
- var AutocompleteListBox = React.forwardRef(function (props, ref) {
54
- // prop destruction
55
- var anchorEl = props.anchorEl, open = props.open, modifiers = props.modifiers, children = props.children, _a = props.ownerState, loading = _a.loading, _b = _a.size, fontSize = _b === void 0 ? "md" : _b, innerProps = __rest(props, ["anchorEl", "open", "modifiers", "children", "ownerState"]);
56
- // state, ref, querystring hooks
57
- var parentRef = useRef(null);
58
- // lib hooks
59
- // NOTE: 부분 grouping은 불가능하다.
60
- var isGrouped = children[0].every(function (child) { return child.hasOwnProperty("group"); });
61
- var renderTargets = (function () {
62
- if (loading) {
63
- return [children[1]];
64
- }
65
- if (children[0].length === 0) {
66
- return [children[2]];
67
- }
68
- if (isGrouped) {
69
- return children[0].flatMap(function (child) { return __spreadArray([
70
- React.createElement(JoyListSubheader, { key: child.key, component: "li" }, child.group)
71
- ], child.children, true); });
72
- }
73
- return children[0];
74
- })();
75
- var virtualizer = useVirtualizer({
76
- count: renderTargets.length,
77
- // TODO: 하드코딩된 option height, autocomplete size에 대응하거나 동적 사이즈를 적용해야한다.
78
- estimateSize: function () { return 36; },
79
- getScrollElement: function () { return parentRef.current; },
80
- overscan: 5,
81
- });
82
- // form hooks
83
- // query hooks
84
- // calculated values
85
- var items = virtualizer.getVirtualItems();
86
- // effects
87
- useEffect(function () {
88
- if (open) {
89
- virtualizer.measure();
90
- }
91
- }, [open, virtualizer]);
92
- // handlers
93
- return (React.createElement(AutocompletePopper, { ref: ref, anchorEl: anchorEl, open: open, modifiers: modifiers },
94
- React.createElement(JoyAutocompleteListbox, __assign({}, innerProps),
95
- React.createElement("div", { ref: parentRef, style: { overflow: "auto" } },
96
- React.createElement("div", { style: {
97
- height: "".concat(virtualizer.getTotalSize(), "px"),
98
- position: "relative",
99
- } }, items.map(function (_a) {
100
- var index = _a.index, size = _a.size, start = _a.start, key = _a.key;
101
- return React.cloneElement(renderTargets[index], {
102
- key: key,
103
- style: {
104
- position: "absolute",
105
- top: 0,
106
- left: 0,
107
- width: "100%",
108
- fontSize: "var(--ceed-fontSize-".concat(fontSize, ")"),
109
- height: "".concat(size, "px"),
110
- transform: "translateY(".concat(start, "px)"),
111
- overflow: "visible",
112
- },
113
- children: (React.createElement("div", { style: {
114
- textOverflow: "ellipsis",
115
- textWrap: "nowrap",
116
- overflow: "hidden",
117
- width: "100%",
118
- } }, renderTargets[index].props.children)),
119
- });
120
- }))))));
121
- });
122
- var AutocompleteDeleteSize = {
123
- sm: "20px",
124
- md: "24px",
125
- lg: "28px",
126
- };
127
- var AutocompleteTagDelete = styled(IconButton, {
128
- name: "Autocomplete",
129
- slot: "tagDelete",
130
- })(function (_a) {
131
- var theme = _a.theme, _b = _a.size, size = _b === void 0 ? "md" : _b;
132
- return ({
133
- width: AutocompleteDeleteSize[size],
134
- height: AutocompleteDeleteSize[size],
135
- minWidth: AutocompleteDeleteSize[size],
136
- minHeight: AutocompleteDeleteSize[size],
137
- borderRadius: "50%",
138
- });
139
- });
140
- function Autocomplete(props) {
141
- // prop destruction
142
- var label = props.label, error = props.error, helperText = props.helperText, color = props.color, size = props.size, disabled = props.disabled, required = props.required, onChange = props.onChange, onChangeComplete = props.onChangeComplete, innerProps = __rest(props, ["label", "error", "helperText", "color", "size", "disabled", "required", "onChange", "onChangeComplete"]);
143
- // lib hooks
144
- // state, ref, querystring hooks
145
- var _a = useState(props.value || props.defaultValue), _value = _a[0], setValue = _a[1];
146
- // form hooks
147
- // query hooks
148
- // calculated values
149
- var options = useMemo(function () {
150
- return props.options.map(function (option) {
151
- if (typeof option !== "object") {
152
- return {
153
- value: option,
154
- label: option,
155
- };
156
- }
157
- return option;
158
- });
159
- }, [props.options]);
160
- var optionMap = useMemo(function () {
161
- var map = new Map();
162
- options.forEach(function (option) {
163
- map.set(option.value, option);
164
- });
165
- return map;
166
- }, [options]);
167
- var value = useMemo(function () {
168
- if (props.loading) {
169
- return {
170
- value: "",
171
- label: "",
172
- startDecorator: (React.createElement(CircularProgress, { size: "sm", color: "neutral", variant: "plain", thickness: 3 })),
173
- };
174
- }
175
- if (_value === null || _value === undefined) {
176
- // NOTE: value가 undefined면 uncontrolled로 취급된다.
177
- return null;
178
- }
179
- var convertValue = function (targetValue) {
180
- var _a;
181
- if (typeof targetValue !== "object") {
182
- return (_a = optionMap.get(targetValue)) !== null && _a !== void 0 ? _a : targetValue;
183
- }
184
- // NOTE: value값이 같은 object가 넘어오면 선택된 option으로, Autocomplete에서 선택된 태그로 보여아한다.
185
- return optionMap.get(targetValue.value);
186
- };
187
- if (Array.isArray(_value)) {
188
- return _value.map(convertValue);
189
- }
190
- return convertValue(_value);
191
- }, [_value, optionMap, props.loading]);
192
- var applySize = useCallback(function (node) {
193
- return React.isValidElement(node) && !props.loading
194
- ? React.cloneElement(node, __assign({ size: size }))
195
- : node;
196
- }, [size, props.loading]);
197
- var startDecorator = useMemo(function () {
198
- return applySize((value === null || value === void 0 ? void 0 : value.startDecorator) || props.startDecorator);
199
- }, [value, applySize, props.startDecorator]);
200
- var endDecorator = useMemo(function () {
201
- return applySize((value === null || value === void 0 ? void 0 : value.endDecorator) || props.endDecorator);
202
- }, [value, applySize, props.endDecorator]);
203
- // effects
204
- // handlers
205
- var handleChange = function (event, value) {
206
- setValue(value);
207
- var newValue = value;
208
- var _value = Array.isArray(newValue)
209
- ? newValue.map(function (value) { return value.value; })
210
- : newValue === null || newValue === void 0 ? void 0 : newValue.value;
211
- onChange === null || onChange === void 0 ? void 0 : onChange(__assign(__assign({}, event), { target: __assign(__assign({}, event.target), {
212
- // @ts-expect-error NOTE: multiple이 true일 때, value는 배열이다.
213
- value: _value }) }));
214
- if ((Array.isArray(newValue) &&
215
- newValue.map(function (value) { return optionMap.get(value.value); })) ||
216
- optionMap.get(newValue === null || newValue === void 0 ? void 0 : newValue.value)) {
217
- onChangeComplete === null || onChangeComplete === void 0 ? void 0 : onChangeComplete(__assign(__assign({}, event), { target: __assign(__assign({}, event.target), {
218
- // @ts-expect-error NOTE: multiple이 true일 때, value는 배열이다.
219
- value: _value }) }));
220
- }
221
- };
222
- var autocomplete = (React.createElement(JoyAutocomplete, __assign({}, innerProps, { required: required, onChange: handleChange, color: error ? "danger" : color, value: value, options: options, size: size, disabled: disabled, startDecorator: startDecorator, endDecorator: endDecorator, getOptionLabel: function (option) { var _a; return "".concat((_a = option.value) !== null && _a !== void 0 ? _a : ""); }, renderTags: function (tags, getTagProps) {
223
- return tags.map(function (tag, index) {
224
- var _a = getTagProps({ index: index }), onClick = _a.onClick, rest = __rest(_a, ["onClick"]);
225
- return applySize(React.createElement(Chip, __assign({ color: "primary" }, rest),
226
- React.createElement(Stack, { direction: "row", alignItems: "center", gap: 2, py: 0.5 },
227
- tag.value,
228
- applySize(React.createElement(AutocompleteTagDelete, { color: "primary", variant: "soft", onClick: onClick },
229
- React.createElement(CloseIcon, null))))));
230
- });
231
- }, slots: {
232
- listbox: AutocompleteListBox,
233
- }, renderOption: function (props, option) { return (React.createElement(JoyAutocompleteOption, __assign({}, props),
234
- option.startDecorator && (React.createElement(ListItemDecorator, { sx: function (theme) { return ({
235
- marginInlineEnd: "var(--Input-gap, ".concat(theme.spacing(1), ")"),
236
- }); } }, applySize(option.startDecorator))),
237
- applySize(option.label),
238
- option.endDecorator && (React.createElement(ListItemDecorator, { sx: function (theme) { return ({
239
- marginInlineStart: "var(--Input-gap, ".concat(theme.spacing(1), ")"),
240
- }); } }, applySize(option.endDecorator))))); },
241
- // TODO: Post React 18 update - validate this conversion, look like a hidden bug
242
- renderGroup: function (params) { return params; } })));
243
- if (label) {
244
- return (React.createElement(FormControl, { required: required, color: color, size: size, error: error, disabled: disabled },
245
- React.createElement(FormLabel, null, label),
246
- autocomplete,
247
- helperText && React.createElement(FormHelperText, null, helperText)));
248
- }
249
- return autocomplete;
250
- }
251
- export { Autocomplete };
@@ -1,3 +0,0 @@
1
- import { Autocomplete } from "./Autocomplete";
2
- export * from "./Autocomplete";
3
- export default Autocomplete;
@@ -1,6 +0,0 @@
1
- import { Box as JoyBox } from "@mui/joy";
2
- import { motion } from "framer-motion";
3
- var MotionBox = motion(JoyBox);
4
- var Box = MotionBox;
5
- export { Box };
6
- Box.displayName = "Box";
@@ -1,3 +0,0 @@
1
- import { Box } from "./Box";
2
- export * from "./Box";
3
- export default Box;
@@ -1,67 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- import React from "react";
24
- import { Breadcrumbs as JoyBreadcrumbs, Link as JoyLink, } from "@mui/joy";
25
- import Menu, { MenuButton, MenuItem } from "../Menu";
26
- import Dropdown from "../Dropdown";
27
- import Typography from "../Typography";
28
- function Breadcrumbs(props) {
29
- // prop destruction
30
- var crumbs = props.crumbs, size = props.size, _a = props.startCrumbCount, startCrumbCount = _a === void 0 ? 1 : _a, _b = props.endCrumbCount, endCrumbCount = _b === void 0 ? 3 : _b, _c = props.slots, _d = _c === void 0 ? { link: JoyLink } : _c, Link = _d.link, restSlots = __rest(_d, ["link"]), _e = props.slotProps, _f = _e === void 0 ? {
31
- link: { color: "neutral" },
32
- } : _e, linkProps = _f.link, restSlotProps = __rest(_f, ["link"]), innerProps = __rest(props, ["crumbs", "size", "startCrumbCount", "endCrumbCount", "slots", "slotProps"]);
33
- // lib hooks
34
- // state, ref, querystring hooks
35
- // form hooks
36
- // query hooks
37
- // calculated values
38
- var _endCrumbCount = Math.max(1, endCrumbCount);
39
- var Crumb = function (props) {
40
- if (props.type === "link" && Link) {
41
- return (React.createElement(Link, __assign({ to: props.linkHref, href: props.linkHref }, linkProps), props.label));
42
- }
43
- else {
44
- return React.createElement(Typography, null, props.label);
45
- }
46
- };
47
- var frontCrumbs = crumbs
48
- .slice(0, startCrumbCount)
49
- .map(function (crumb) { return React.createElement(Crumb, __assign({}, crumb)); });
50
- var backCrumbs = (startCrumbCount + _endCrumbCount > crumbs.length
51
- ? crumbs.slice(startCrumbCount)
52
- : crumbs.slice(-_endCrumbCount)).map(function (crumb) { return React.createElement(Crumb, __assign({}, crumb)); });
53
- var collapsedCrumbs = crumbs
54
- .slice(startCrumbCount, -_endCrumbCount)
55
- .map(function (crumb) { return (React.createElement(MenuItem, null,
56
- React.createElement(Crumb, __assign({}, crumb)))); });
57
- // effects
58
- // handlers
59
- return (React.createElement(JoyBreadcrumbs, __assign({ size: size, slots: restSlots, slotProps: restSlotProps }, innerProps),
60
- frontCrumbs,
61
- collapsedCrumbs.length && (React.createElement(Dropdown, null,
62
- React.createElement(MenuButton, { size: size, variant: "plain" }, "..."),
63
- React.createElement(Menu, { size: size }, collapsedCrumbs))),
64
- backCrumbs));
65
- }
66
- export { Breadcrumbs };
67
- Breadcrumbs.displayName = "Breadcrumbs";
@@ -1,3 +0,0 @@
1
- import { Breadcrumbs } from "./Breadcrumbs";
2
- export * from "./Breadcrumbs";
3
- export default Breadcrumbs;