tango-ui-cw 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,12 +1,30 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),d=require("react"),Zt=require("react-dom"),t=require("prop-types"),Gt=require("tailwind-merge"),ot="tango:theme",at="tango:themeTokens",De="light",qt=new Set(["light","dark"]),Xt=["primary","input-accent","modal-ok-bg","drawer-ok-bg","datepicker-confirm-bg"],Pt=d.createContext(null),Ot=()=>typeof window<"u",st=(e,o)=>{if(!Ot())return o;try{const s=window.localStorage.getItem(e);return s?JSON.parse(s):o}catch{return o}},nt=(e,o)=>{if(Ot())try{window.localStorage.setItem(e,JSON.stringify(o))}catch{}};function Jt({children:e}){const[o,s]=d.useState(De),r=d.useRef(!1);d.useEffect(()=>{const u=st(ot,De);u!==De&&qt.has(u)&&s(u),r.current=!0},[]);const[c,l]=d.useState(()=>st(at,{})),n=d.useRef(new Set);d.useEffect(()=>{typeof document>"u"||(document.documentElement.dataset.theme=o)},[o]),d.useEffect(()=>{r.current&&nt(ot,o)},[o]),d.useEffect(()=>{if(typeof document>"u")return;const u=document.documentElement,f=new Set(Object.keys(c));n.current.forEach(v=>{f.has(v)||u.style.removeProperty(`--${v}`)}),Object.entries(c).forEach(([v,N])=>{N==null||N===""?u.style.removeProperty(`--${v}`):u.style.setProperty(`--${v}`,String(N))}),n.current=f,nt(at,c)},[c]);const i=u=>{l(f=>{const v=typeof u=="function"?u(f):u;return{...f,...v||{}}})},p=(u,f=Xt)=>{i(v=>{const N={...v};return f.forEach(L=>{N[L]=u}),N})},b=()=>{l({})},m=()=>{s(u=>u==="dark"?"light":"dark")};return a.jsx(Pt.Provider,{value:{theme:o,setTheme:s,toggleTheme:m,themeTokens:c,setThemeTokens:i,setThemeColor:p,resetThemeTokens:b},children:e})}function Qt(){return d.useContext(Pt)}const eo=new Set(["root","slots","tw","className","css","style"]),Oe={tw:"",css:{}},me=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),V=(e,o="px")=>typeof e=="number"?`${e}${o}`:e,ge=e=>typeof e=="string"&&e.startsWith("$")?`var(--${e.slice(1)})`:e,to=e=>e.includes("-")?e.replace(/-([a-z])/g,(o,s)=>s.toUpperCase()):e,oo=e=>/(color|background|border|fill|stroke|shadow)$/i.test(e),ao={mt:(e,o)=>{e.marginTop=V(o)},mr:(e,o)=>{e.marginRight=V(o)},mb:(e,o)=>{e.marginBottom=V(o)},ml:(e,o)=>{e.marginLeft=V(o)},mx:(e,o)=>{e.marginLeft=V(o),e.marginRight=V(o)},my:(e,o)=>{e.marginTop=V(o),e.marginBottom=V(o)},m:(e,o)=>{e.margin=V(o)},pt:(e,o)=>{e.paddingTop=V(o)},pr:(e,o)=>{e.paddingRight=V(o)},pb:(e,o)=>{e.paddingBottom=V(o)},pl:(e,o)=>{e.paddingLeft=V(o)},px:(e,o)=>{e.paddingLeft=V(o),e.paddingRight=V(o)},py:(e,o)=>{e.paddingTop=V(o),e.paddingBottom=V(o)},p:(e,o)=>{e.padding=V(o)},g:(e,o)=>{e.gap=V(o)},rg:(e,o)=>{e.rowGap=V(o)},cg:(e,o)=>{e.columnGap=V(o)},w:(e,o)=>{e.width=V(o)},h:(e,o)=>{e.height=V(o)},mw:(e,o)=>{e.minWidth=V(o)},mh:(e,o)=>{e.minHeight=V(o)},maxw:(e,o)=>{e.maxWidth=V(o)},maxh:(e,o)=>{e.maxHeight=V(o)},vw:(e,o)=>{e.width=typeof o=="number"?`${o}vw`:o},vh:(e,o)=>{e.height=typeof o=="number"?`${o}vh`:o},presentw:(e,o)=>{e.width=typeof o=="number"?`${o}%`:o},presenth:(e,o)=>{e.height=typeof o=="number"?`${o}%`:o},size:(e,o)=>{e.fontSize=V(o)},fw:(e,o)=>{e.fontWeight=o},fwb:e=>{e.fontWeight="bold"},fwn:e=>{e.fontWeight="normal"},tac:e=>{e.textAlign="center"},tar:e=>{e.textAlign="right"},tal:e=>{e.textAlign="left"},lh:(e,o)=>{e.lineHeight=V(o)},ls:(e,o)=>{e.letterSpacing=V(o)},c:(e,o)=>{e.color=ge(o)},bg:(e,o)=>{e.background=ge(o)},bgc:(e,o)=>{e.backgroundColor=ge(o)},b:(e,o)=>{e.border=o===1?"1px solid var(--tango-border)":ge(o)},br:(e,o)=>{e.borderRadius=V(o)},bw:(e,o)=>{e.borderWidth=V(o)},bs:(e,o)=>{e.borderStyle=o},bColor:(e,o)=>{e.borderColor=ge(o)},boxshadow:(e,o)=>{e.boxShadow=ge(o)},bgSize:(e,o)=>{e.backgroundSize=o},bgPosition:(e,o)=>{e.backgroundPosition=o},bgRepeat:(e,o)=>{e.backgroundRepeat=o},rel:e=>{e.position="relative"},ab:e=>{e.position="absolute"},fixed:e=>{e.position="fixed"},sticky:e=>{e.position="sticky"},center:e=>{e.position="absolute",e.inset=0,e.margin="auto"},inset:(e,o)=>{e.inset=V(o)},top:(e,o)=>{e.top=V(o)},right:(e,o)=>{e.right=V(o)},bottom:(e,o)=>{e.bottom=V(o)},left:(e,o)=>{e.left=V(o)},z:(e,o)=>{e.zIndex=o},flex:e=>{e.display="flex"},iflex:e=>{e.display="inline-flex"},fd:(e,o)=>{e.flexDirection=o},fwrap:(e,o="wrap")=>{e.flexWrap=o},aic:e=>{e.alignItems="center"},ai:(e,o)=>{e.alignItems=o},jcc:e=>{e.justifyContent="center"},jc:(e,o)=>{e.justifyContent=o},ac:(e,o)=>{e.alignContent=o},as:(e,o)=>{e.alignSelf=o},f:(e,o)=>{e.flex=typeof o=="number"?o:`${o}`},fl:e=>{e.float="left"},fr:e=>{e.float="right"},ar:(e,o)=>{e.aspectRatio=o},tran:(e,o)=>{e.transition=typeof o=="number"?`${o}s`:o},op:(e,o)=>{e.opacity=o},oh:e=>{e.overflow="hidden"},ohauto:e=>{e.overflow="auto"},oxh:e=>{e.overflowX="hidden"},oxa:e=>{e.overflowX="auto"},oyh:e=>{e.overflowY="hidden"},oya:e=>{e.overflowY="auto"},cur:(e,o)=>{e.cursor=o},pe:(e,o)=>{e.pointerEvents=o},boxsizing:e=>{e.boxSizing="border-box"},none:e=>{e.display="none"},block:e=>{e.display="block"},inline:e=>{e.display="inline"},ib:e=>{e.display="inline-block"},hidden:e=>{e.visibility="hidden"},shown:e=>{e.visibility="visible"}},ve=(e={})=>me(e)?Object.entries(e).reduce((o,[s,r])=>{if(eo.has(s))return o;const c=ao[s];if(c)return c(o,r),o;const l=to(s),n=typeof r=="string"&&(r.startsWith("$")||oo(l))?ge(r):r;return o[l]=n,o},{}):{},$=(...e)=>{const o=e.filter(Boolean).join(" ").trim();return o?Gt.twMerge(o):""},ke=e=>{if(typeof e=="string")return{tw:e,css:{}};if(!me(e))return{...Oe};if(!("tw"in e||"className"in e||"css"in e||"style"in e))return{tw:"",css:ve(e)};const s=[e.className,e.tw].filter(Boolean).join(" "),r=me(e.css)?ve(e.css):{},c=me(e.style)?ve(e.style):{};return{tw:s,css:{...r,...c}}},so=(e,o)=>me(e)?"root"in e||"slots"in e||"tw"in e||"className"in e||"css"in e||"style"in e?!0:o.some(s=>s!=="root"&&s in e):!1,no=e=>{const o={};return e.forEach(s=>{o[s]={...Oe}}),o.root||(o.root={...Oe}),o},Z=(e,o=["root"])=>{const s=no(o);if(typeof e=="string")return s.root.tw=e,s;if(!me(e))return s;if(!so(e,o))return s.root.css=ve(e),s;const r=ke({tw:[e.className,e.tw].filter(Boolean).join(" "),css:e.css,style:e.style}),c=ke(e.root);s.root={tw:$(r.tw,c.tw),css:{...r.css,...c.css}};const l=me(e.slots)?e.slots:{};return Object.keys(s).forEach(n=>{if(n==="root")return;const i=ke(e[n]),p=ke(l[n]);s[n]={tw:$(i.tw,p.tw),css:{...i.css,...p.css}}}),s},g=({baseClassName:e="",className:o="",baseStyle:s={},style:r={},sxSlot:c=Oe}={})=>({className:$(e,o,c.tw),style:{...s||{},...c.css||{},...r||{}}}),ro=["root","icon","content"],rt={success:"text-[var(--tango-notice-success-text)]",fail:"text-[var(--tango-notice-fail-text)]",caution:"text-[var(--tango-notice-caution-text)]"},lt={default:{base:"fixed top-5 left-1/2 -translate-x-1/2",enter:"animate-[noticeSlideDown_0.3s_cubic-bezier(0.22,1,0.36,1)_forwards]"},md:{base:"fixed bottom-5 left-5",enter:"animate-[noticeSlideFromBottom_0.3s_ease-out_forwards]"}};function lo(e,o){const{type:s="success",icon:r,message:c,variant:l="default",duration:n=3e3,onClose:i,sx:p={},style:b={},className:m="",...u}=e,[f,v]=d.useState(!1),N=rt[s]?s:"success",L=lt[l]?l:"default",F=Z(p,ro),P=d.useCallback(()=>{v(!0);const A=setTimeout(()=>i==null?void 0:i(),300);return()=>clearTimeout(A)},[i]);d.useEffect(()=>{if(!i||n<=0)return;const A=setTimeout(P,n);return()=>clearTimeout(A)},[i,n,P]);const O=lt[L],y=L==="default"?"animate-[noticeSlideUpFade_0.3s_ease-in_forwards]":"animate-[noticeSlideToBottom_0.3s_ease-in_forwards]",w=g({baseClassName:$("inline-flex items-center gap-2 px-3 py-2.5 text-sm z-[999]","rounded-[var(--tango-notice-radius)]","bg-[var(--tango-notice-bg)] text-[var(--tango-notice-foreground)]","shadow-[var(--tango-notice-shadow)]",O.base,f?y:O.enter,L==="md"&&rt[N]),className:m,sxSlot:F.root,baseStyle:{borderRadius:"var(--tango-notice-radius)"},style:b}),h=g({baseClassName:"inline-flex items-center justify-center leading-none flex-shrink-0 text-[var(--tango-notice-foreground)]",baseStyle:{transform:"translateY(-0.5px)"},sxSlot:F.icon}),x=g({baseClassName:"inline-block",sxSlot:F.content});return a.jsxs("div",{ref:o,role:"alert",className:w.className,style:w.style,...u,children:[L!=="md"&&r&&a.jsx("span",{className:h.className,style:h.style,children:r}),a.jsx("span",{className:x.className,style:x.style,children:c})]})}const Ne=d.forwardRef(lo);Ne.displayName="Notice";Ne.propTypes={type:t.oneOf(["success","fail","caution"]),icon:t.node,message:t.node,variant:t.oneOf(["default","md"]),duration:t.number,onClose:t.func,sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string};const _t=d.createContext(null),co=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em",children:a.jsx("path",{d:"M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0",fill:"var(--tango-notice-success-text)"})}),io=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em",children:a.jsx("path",{d:"M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z",fill:"var(--tango-notice-fail-text)"})}),uo=a.jsxs("svg",{viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em",children:[a.jsx("path",{d:"M512 909.061224c-218.906122 0-397.061224-178.155102-397.061224-397.061224s178.155102-397.061224 397.061224-397.061224 397.061224 178.155102 397.061224 397.061224-178.155102 397.061224-397.061224 397.061224z",fill:"var(--tango-notice-caution-text)"}),a.jsx("path",{d:"M512 690.677551m-31.346939 0a31.346939 31.346939 0 1 0 62.693878 0 31.346939 31.346939 0 1 0-62.693878 0Z",fill:"var(--tango-notice-fail-text)"}),a.jsx("path",{d:"M512 584.097959c-11.493878 0-20.897959-9.404082-20.897959-20.897959v-261.22449c0-11.493878 9.404082-20.897959 20.897959-20.897959s20.897959 9.404082 20.897959 20.897959v261.22449c0 12.016327-9.404082 20.897959-20.897959 20.897959z",fill:"var(--tango-notice-fail-text)"})]}),po={success:co,fail:io,caution:uo};function go({children:e}){const[o,s]=d.useState([]),[r,c]=d.useState(!1);d.useEffect(()=>{c(!0)},[]);const l=d.useCallback(i=>{s(p=>p.filter(b=>b.id!==i))},[]),n=d.useCallback((i,p,b="default")=>{const m=Date.now()+Math.random();s(u=>[...u,{id:m,type:i,message:p,variant:b,icon:po[i]}])},[]);return a.jsxs(_t.Provider,{value:{add:n,remove:l},children:[e,r&&Zt.createPortal(a.jsx("div",{id:"notification-container",className:"flex flex-col items-center gap-2",children:o.map(i=>a.jsx(Ne,{...i,onClose:()=>l(i.id)},i.id))}),document.body)]})}function mo(){const e=d.useContext(_t);if(!e)throw new Error("useNotice must be used inside <NoticeProvider />");return e}function xo(){const{add:e}=mo();return{success:o=>e("success",o),fail:o=>e("fail",o),caution:o=>e("caution",o),md:{success:o=>e("success",o,"md"),fail:o=>e("fail",o,"md"),caution:o=>e("caution",o,"md")}}}const At="tango:locale",xe="zh-CN",bo={zh:"zh-CN",ZH:"zh-CN","zh-CN":"zh-CN","zh-cn":"zh-CN",cn:"zh-CN",CN:"zh-CN",en:"en-US",EN:"en-US","en-US":"en-US","en-us":"en-US",us:"en-US",US:"en-US"},Mt={"zh-CN":{button:{default:"按钮",loading:"加载中",iconAlt:"图标",toggle:"切换",light:"浅色",dark:"暗色",blue:"蓝色",green:"绿色",token:"自定义词条",reset:"重置",locale:"语言",chinese:"中文",english:"英文",successDemo:"成功",outlineDemo:"描边",submit:"提交",confirm:"确认",cancel:"取消",search:"搜索",save:"保存",delete:"删除",back:"返回",next:"下一步",prev:"上一步",add:"新增"},banner:{cancel:"取消",action:"操作"},colorpicker:{hex:"HEX",rgb:"RGB",hsl:"HSL"},date:{weekdayPrefix:"星期",weekdayShortPrefix:"周"},datepicker:{placeholder:"YYYY-MM-DD",placeholderTime:"YYYY-MM-DD HH:mm",timeLabel:"时间",confirm:"确定",cancel:"关闭",prevMonth:"上一月",nextMonth:"下一月"},drawer:{title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭"},modal:{title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭"},search:{placeholder:"请输入内容",btnText:"搜索"},materialInput:{label:""},materialButton:{default:"按钮",loading:"加载中",iconAlt:"图标"},table:{empty:"暂无数据",prev:"上一页",next:"下一页",page:"页",total:"共 {total} 条",perPage:"条/页"}},"en-US":{button:{default:"Button",loading:"Loading",iconAlt:"icon",toggle:"Toggle",light:"Light",dark:"Dark",blue:"Blue",green:"Green",token:"Token",reset:"Reset",locale:"Locale",chinese:"Chinese",english:"English",successDemo:"Success",outlineDemo:"Outline",submit:"Submit",confirm:"Confirm",cancel:"Cancel",search:"Search",save:"Save",delete:"Delete",back:"Back",next:"Next",prev:"Previous",add:"Add"},banner:{cancel:"Cancel",action:"Action"},colorpicker:{hex:"HEX",rgb:"RGB",hsl:"HSL"},date:{weekdayPrefix:"",weekdayShortPrefix:""},datepicker:{placeholder:"YYYY-MM-DD",placeholderTime:"YYYY-MM-DD HH:mm",timeLabel:"Time",confirm:"Confirm",cancel:"Close",prevMonth:"Previous month",nextMonth:"Next month"},drawer:{title:"Drawer",okText:"OK",cancelText:"Cancel",closeAriaLabel:"Close"},modal:{title:"Modal",okText:"OK",cancelText:"Cancel",closeAriaLabel:"Close"},search:{placeholder:"Search...",btnText:"Search"},materialInput:{label:""},materialButton:{default:"Button",loading:"Loading",iconAlt:"icon"},table:{empty:"No data",prev:"Previous",next:"Next",page:"Page",total:"{total} items",perPage:"/ page"}}},We=()=>{},zt=d.createContext({locale:xe,setLocale:We,toggleLocale:We,messages:Mt,t:(e,o="")=>o}),ct=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Et=(e,o)=>{const s={...e};return Object.entries(o||{}).forEach(([r,c])=>{ct(c)&&ct(s[r])?s[r]=Et(s[r],c):s[r]=c}),s},fo=(e,o)=>o.split(".").reduce((s,r)=>{if(s&&Object.prototype.hasOwnProperty.call(s,r))return s[r]},e),Se=e=>typeof e!="string"||!e.trim()?xe:bo[e]||e,ho=()=>{if(typeof window>"u")return xe;try{const e=window.localStorage.getItem(At);return Se(e||xe)}catch{return xe}};function yo({children:e,locale:o,defaultLocale:s=xe,onLocaleChange:r=We,messages:c={}}){const l=Se(s),n=o==null?null:Se(o),[i,p]=d.useState(()=>ho()||l),b=n||i,m=N=>{const L=Se(N);n==null&&p(L),r(L)};d.useEffect(()=>{if(!(typeof window>"u"))try{window.localStorage.setItem(At,b)}catch{}},[b]);const u=d.useMemo(()=>Et(Mt,c),[c]),f=()=>{m(b==="zh-CN"?"en-US":"zh-CN")},v=(N,L="")=>{const F=u[b]||u[xe]||{},P=fo(F,N);return P==null||P===""?L:String(P)};return a.jsx(zt.Provider,{value:{locale:b,setLocale:m,toggleLocale:f,messages:u,t:v},children:e})}function ne(){return d.useContext(zt)}const vo="_materialBtn_rb1v1_15",So="_materialBtnSmall_rb1v1_53",No="_materialBtnMedium_rb1v1_65",wo="_materialBtnLarge_rb1v1_77",Co="_materialBtnHuge_rb1v1_89",To="_materialBtnDisabled_rb1v1_103",ko="_ripple_rb1v1_119",he={materialBtn:vo,materialBtnSmall:So,materialBtnMedium:No,materialBtnLarge:wo,materialBtnHuge:Co,materialBtnDisabled:To,ripple:ko},it=["root","content","icon","loading"],jo={small:"small",medium:"medium",large:"large",huge:"huge"},Lo={small:12,medium:14,large:16,huge:20},dt={default:{backgroundColor:"var(--tango-primary)",color:"var(--tango-primary-foreground)",borderColor:"var(--tango-border)",borderWidth:"1px",borderStyle:"solid"},transparent:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-primary-foreground)",borderColor:"var(--tango-button-transparent-border)",borderWidth:"1px",borderStyle:"solid"},danger:{backgroundColor:"var(--tango-destructive)",color:"var(--tango-destructive-foreground)",borderColor:"transparent",borderWidth:"1px",borderStyle:"solid"},success:{backgroundColor:"var(--tango-success)",color:"var(--tango-success-foreground)",borderColor:"transparent",borderWidth:"1px",borderStyle:"solid"}},Po={default:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-button-outline-foreground)",borderColor:"var(--tango-border)",borderWidth:"1px",borderStyle:"solid"},transparent:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-button-outline-foreground)",borderColor:"var(--tango-button-transparent-border)",borderWidth:"1px",borderStyle:"solid"},danger:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-destructive)",borderColor:"var(--tango-destructive)",borderWidth:"1px",borderStyle:"solid"},success:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-success)",borderColor:"var(--tango-success)",borderWidth:"1px",borderStyle:"solid"}},Oo={backgroundColor:"var(--tango-muted)",color:"var(--tango-muted-foreground)",borderColor:"transparent",borderWidth:"1px",borderStyle:"solid",cursor:"not-allowed"},Re={default:"按钮",loading:"加载中",iconAlt:"图标"},_o=e=>e.charAt(0).toUpperCase()+e.slice(1),Ao=e=>e===!0||e==="light"||e==="dark"?!0:Array.isArray(e)&&e.length>0?e[0]===!0||e[0]==="light"||e[0]==="dark":!1,Mo=e=>e==="light"?"light":e==="dark"||e===!0||Array.isArray(e)&&e.length>=2&&e[1]==="dark"?"dark":"light",ut=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function _e(e){const{type:o="default",size:s="medium",sx:r={},style:c={},className:l="",onClick:n=()=>{},children:i,disabled:p=!1,outline:b=!1,icon:m=null,iconPosition:u=null,loading:f=!1,i18nKey:v=null,localeText:N={},rippleColor:L,"aria-label":F,...P}=e,{t:O}=ne(),y=d.useRef(null),w=ut(s,"medium",jo),h=ut(o,"default",dt),x=Ao(f),A=Mo(f),M=p||x,B=Lo[w],j=u==="right"?"right":m||x?"left":null,C=L??"var(--tango-material-button-ripple)",T={default:O("materialButton.default",Re.default),loading:O("materialButton.loading",Re.loading),iconAlt:O("materialButton.iconAlt",Re.iconAlt),...N},Y=(v&&typeof T[v]=="string"?T[v]:null)||(v?O(`materialButton.${v}`,T.default):T.default),R=x?T.loading:Y,W=i??R,z=F||(i==null?String(W||T.default):void 0),k=Z(r,it),U=M?Oo:b?Po[h]:dt[h],H=he[`materialBtn${_o(w)}`],K=k.root.css||{},D=typeof r=="string"?r:"",ee=new Set([...it,"root","slots","tw","className","css","style"]),re=typeof r=="object"?Object.fromEntries(Object.entries(r).filter(([Q])=>!ee.has(Q))):{},ie=[he.materialBtn,H,M&&he.materialBtnDisabled,k.root.tw,D,l].filter(Boolean).join(" "),de={...U,...re,...K,...c},ue=g({baseClassName:"inline-flex items-center relative z-[1]",sxSlot:k.content}),G=g({baseClassName:"inline-flex items-center justify-center shrink-0 transition-all duration-300 relative z-[1]",baseStyle:{width:`${B}px`,height:`${B}px`},sxSlot:k.icon}),pe=g({baseClassName:"inline-flex items-center justify-center shrink-0 animate-spin relative z-[1]",baseStyle:{width:`${B}px`,height:`${B}px`,color:A==="light"?"var(--tango-button-loading-light)":"var(--tango-button-loading-dark)"},sxSlot:k.loading}),J=d.useCallback(Q=>{if(M)return;const oe=y.current;if(!oe)return;const S=document.createElement("span"),E=Math.max(oe.clientWidth,oe.clientHeight),X=E/2;Object.assign(S.style,{width:`${E}px`,height:`${E}px`,left:`${Q.clientX-oe.getBoundingClientRect().left-X}px`,top:`${Q.clientY-oe.getBoundingClientRect().top-X}px`}),S.className=he.ripple,S.style.background=C;const ae=oe.querySelector(`.${he.ripple}`);ae&&ae.remove(),oe.appendChild(S)},[M,C]),I=()=>{if(!m)return null;if(typeof m=="string")return a.jsx("img",{src:m,alt:T.iconAlt,className:G.className,style:G.style,"aria-hidden":"true"});if(d.isValidElement(m))return d.cloneElement(m,{className:$(G.className,m.props.className),style:{...G.style,...m.props.style},"aria-hidden":!0});if(typeof m=="function"){const Q=m;return a.jsx(Q,{className:G.className,style:G.style,"aria-hidden":"true"})}return a.jsx("span",{className:G.className,style:G.style,"aria-hidden":"true",children:m})},q=()=>a.jsx("svg",{viewBox:"0 0 1024 1024",role:"presentation",className:pe.className,style:pe.style,"aria-hidden":"true",children:a.jsx("path",{d:"M512 1024A512 512 0 0 1 0 512a32 32 0 0 1 64 0 448 448 0 0 0 896 0 32 32 0 0 1 64 0 512 512 0 0 1-512 512z",fill:"currentColor"})});return a.jsxs("button",{ref:y,className:ie,style:de,onClick:Q=>{J(Q),n==null||n(Q)},disabled:M,"aria-label":z,"data-variant":h,"data-size":w,"data-icon-position":j||void 0,...P,children:[j==="left"&&a.jsxs(a.Fragment,{children:[x&&q(),!x&&m&&I()]}),a.jsx("span",{className:ue.className,style:ue.style,children:W}),j==="right"&&a.jsxs(a.Fragment,{children:[x&&q(),!x&&m&&I()]})]})}_e.propTypes={type:t.oneOf(["default","transparent","danger","success"]),size:t.oneOf(["small","medium","large","huge"]),sx:t.oneOfType([t.object,t.string]),style:t.object,onClick:t.func,className:t.string,children:t.node,disabled:t.bool,outline:t.bool,icon:t.oneOfType([t.elementType,t.node,t.string]),iconPosition:t.oneOf(["left","right"]),loading:t.oneOfType([t.bool,t.oneOf(["light","dark"]),t.array]),i18nKey:t.string,localeText:t.object,rippleColor:t.string};const zo=["root","content","icon","loading"],Ve={default:"按钮",loading:"加载中",iconAlt:"图标"},Eo="inline-flex select-none items-center justify-center whitespace-nowrap rounded-[var(--tango-radius)] border-[1px] align-middle font-medium tracking-[0.5px] transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tango-input-accent)] focus-visible:ring-offset-2",Ye={small:{iconSize:12,className:"text-xs px-2 py-1 gap-1"},medium:{iconSize:14,className:"text-sm px-4 py-2 gap-1.5"},large:{iconSize:16,className:"text-base px-5 py-3 gap-2"},huge:{iconSize:20,className:"text-[25px] px-[45px] py-[18px] gap-3"}},pt={default:"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] border-[var(--tango-border)] hover:shadow-[0_0_0.4em_0_var(--tango-button-shadow-default)]",transparent:"bg-[var(--tango-transparent)] text-[var(--tango-primary-foreground)] border-[var(--tango-button-transparent-border)] hover:shadow-[0_0_0.4em_0_var(--tango-button-shadow-default)]",danger:"bg-[var(--tango-destructive)] text-[var(--tango-destructive-foreground)] border-transparent hover:shadow-[0_0_0.4em_0_var(--tango-destructive)]",success:"bg-[var(--tango-success)] text-[var(--tango-success-foreground)] border-transparent hover:shadow-[0_0_0.4em_0_var(--tango-success)]"},$o="bg-[var(--tango-transparent)]",Bo={default:"text-[var(--tango-button-outline-foreground)] border-[var(--tango-border)]",transparent:"text-[var(--tango-button-outline-foreground)] border-[var(--tango-button-transparent-border)]",danger:"text-[var(--tango-destructive)] border-[var(--tango-destructive)]",success:"text-[var(--tango-success)] border-[var(--tango-success)]"},Io="shadow-[var(--tango-button-enu-shadow)] hover:shadow-[var(--tango-button-enu-hover-shadow)] active:translate-y-px active:shadow-[var(--tango-button-enu-active-shadow)]",Fo={default:"bg-[var(--tango-button-enu-bg)] text-[var(--tango-button-enu-fg)] border-transparent",transparent:"bg-[var(--tango-transparent)] text-[var(--tango-button-enu-fg)] border-[var(--tango-button-transparent-border)]",danger:"bg-[var(--tango-destructive)] text-[var(--tango-destructive-foreground)] border-transparent",success:"bg-[var(--tango-success)] text-[var(--tango-success-foreground)] border-transparent"},Do="bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] border-transparent cursor-not-allowed shadow-none hover:shadow-none",Ro=e=>e===!0||e==="light"||e==="dark"?!0:Array.isArray(e)&&e.length>0?e[0]===!0||e[0]==="light"||e[0]==="dark":!1,Vo=e=>e==="light"?"light":e==="dark"||e===!0||Array.isArray(e)&&e.length>=2&&e[1]==="dark"?"dark":"light",gt=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function se(e){const{type:o="default",size:s="medium",sx:r={},style:c={},className:l="",onClick:n=()=>{},children:i,disabled:p=!1,outline:b=!1,enu:m=!1,icon:u=null,iconPosition:f=null,loading:v=!1,i18nKey:N=null,localeText:L={},"aria-label":F,...P}=e,{t:O}=ne(),y=gt(s,"medium",Ye),w=gt(o,"default",pt),h=Ro(v),x=Vo(v),A=p||h,M=Ye[y].iconSize,B=f==="right"?"right":u||h?"left":null,j=Z(r,zo),C={default:O("button.default",Ve.default),loading:O("button.loading",Ve.loading),iconAlt:O("button.iconAlt",Ve.iconAlt),...L},_=(N&&typeof C[N]=="string"?C[N]:null)||(N?O(`button.${N}`,C.default):C.default),Y=h?C.loading:_,R=i??Y,W=F||(i==null?String(R||C.default):void 0);let z=pt[w];b&&(z=$(z,$o,Bo[w])),m&&(z=$(z,Io,Fo[w]));const k=g({baseClassName:$(Eo,Ye[y].className,z,A&&Do,h&&"cursor-wait"),className:l,style:c,sxSlot:j.root}),U=g({baseClassName:"inline-flex items-center",sxSlot:j.content}),H=g({baseClassName:"inline-flex items-center justify-center shrink-0 transition-all duration-300",baseStyle:{width:`${M}px`,height:`${M}px`},sxSlot:j.icon}),K=g({baseClassName:"inline-flex items-center justify-center shrink-0 animate-spin",baseStyle:{width:`${M}px`,height:`${M}px`,color:x==="light"?"var(--tango-button-loading-light)":"var(--tango-button-loading-dark)"},sxSlot:j.loading}),D=()=>{if(!u)return null;if(typeof u=="string")return a.jsx("img",{src:u,alt:C.iconAlt,className:H.className,style:H.style,"aria-hidden":"true"});if(d.isValidElement(u))return d.cloneElement(u,{className:$(H.className,u.props.className),style:{...H.style,...u.props.style},"aria-hidden":!0});if(typeof u=="function"){const re=u;return a.jsx(re,{className:H.className,style:H.style,"aria-hidden":"true"})}return a.jsx("span",{className:H.className,style:H.style,"aria-hidden":"true",children:u})},ee=()=>a.jsx("svg",{viewBox:"0 0 1024 1024",role:"presentation",className:K.className,style:K.style,"aria-hidden":"true",children:a.jsx("path",{d:"M512 1024A512 512 0 0 1 0 512a32 32 0 0 1 64 0 448 448 0 0 0 896 0 32 32 0 0 1 64 0 512 512 0 0 1-512 512z",fill:"currentColor"})});return a.jsxs("button",{className:k.className,style:k.style,onClick:n,disabled:A,"aria-label":W,"data-variant":w,"data-size":y,"data-icon-position":B||void 0,...P,children:[B==="left"&&a.jsxs(a.Fragment,{children:[h&&ee(),!h&&u&&D()]}),a.jsx("span",{className:U.className,style:U.style,children:R}),B==="right"&&a.jsxs(a.Fragment,{children:[h&&ee(),!h&&u&&D()]})]})}se.propTypes={type:t.oneOf(["default","transparent","danger","success"]),size:t.oneOf(["small","medium","large","huge"]),sx:t.oneOfType([t.object,t.string]),style:t.object,onClick:t.func,className:t.string,children:t.node,disabled:t.bool,outline:t.bool,enu:t.bool,icon:t.oneOfType([t.elementType,t.node,t.string]),iconPosition:t.oneOf(["left","right"]),loading:t.oneOfType([t.bool,t.oneOf(["light","dark"]),t.array]),i18nKey:t.string,localeText:t.object};se.MaterialButton=_e;const Yo=["root","input","label"],Ko={small:"small",medium:"medium",large:"large",huge:"huge"},Wo={small:{wrapper:"h-10 text-sm",label:"text-sm",labelFloat:"text-[10px]",pt:"pt-5"},medium:{wrapper:"h-12 text-base",label:"text-base",labelFloat:"text-xs",pt:"pt-6"},large:{wrapper:"h-14 text-lg",label:"text-lg",labelFloat:"text-sm",pt:"pt-7"},huge:{wrapper:"h-16 text-xl",label:"text-xl",labelFloat:"text-base",pt:"pt-8"}},Ho={label:""},Uo=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function Ae(e){const{size:o="medium",sx:s={},style:r={},className:c="",onChange:l,value:n,defaultValue:i,disabled:p=!1,label:b,localeText:m,type:u="text",...f}=e,{t:v}=ne(),N=Uo(o,"medium",Ko),L=n!==void 0,[F,P]=d.useState(i??""),[O,y]=d.useState(!1),w=L?n:F,h=O||String(w).length>0,x=b??(m==null?void 0:m.label)??v("materialInput.label",Ho.label),A=Z(s,Yo),M={tw:$(A.root.tw,A.input.tw),css:{...A.root.css,...A.input.css}},B=$("relative inline-flex",A.root.tw),j=Wo[N],C=$("w-[300px] bg-transparent text-[var(--tango-foreground)] outline-none transition-all duration-200 ease-in-out","border-b border-b-[var(--tango-border)]","hover:border-b-[var(--tango-input-accent)]","focus:border-b-[var(--tango-input-accent)]",p&&"text-[var(--tango-muted-foreground)] border-b-[var(--tango-muted)] cursor-not-allowed hover:border-b-[var(--tango-muted)]",j.wrapper,j.pt),T=g({baseClassName:C,className:c,style:r,sxSlot:M}),_=$("absolute left-0 transition-all duration-200 ease-in-out pointer-events-none",h?`top-1 ${j.labelFloat} text-[var(--tango-input-accent)]`:`top-1/2 -translate-y-1/2 ${j.label} text-[var(--tango-muted-foreground)]`,O&&h&&"text-[var(--tango-input-accent)]",p&&"text-[var(--tango-muted-foreground)]",A.label.tw),Y=g({baseClassName:_,sxSlot:{tw:"",css:A.label.css}}),R=d.useCallback(K=>{const D=K.target.value;L||P(D),l==null||l(D)},[L,l]),W=d.useCallback(K=>{var D;y(!0),(D=f.onFocus)==null||D.call(f,K)},[f.onFocus]),z=d.useCallback(K=>{var D;y(!1),(D=f.onBlur)==null||D.call(f,K)},[f.onBlur]),{onFocus:k,onBlur:U,...H}=f;return a.jsxs("div",{className:B,children:[a.jsx("input",{...H,type:u,className:T.className,style:T.style,value:w,disabled:p||void 0,onChange:R,onFocus:W,onBlur:z,"aria-label":x||void 0}),x&&a.jsx("label",{className:Y.className,style:Y.style,children:x})]})}Ae.propTypes={size:t.oneOf(["small","medium","large","huge"]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,onChange:t.func,value:t.string,defaultValue:t.string,disabled:t.bool,label:t.string,localeText:t.shape({label:t.string}),type:t.string};const Zo=["root","input"],Go={small:"small",medium:"medium",large:"large",huge:"huge"},qo={small:"h-8 text-xs px-2.5",medium:"h-10 text-sm px-3",large:"h-12 text-base px-3.5",huge:"h-14 text-lg px-4"},Xo=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function Me(e){const{type:o="default",size:s="medium",sx:r={},style:c={},className:l="",onClick:n,onChange:i,value:p,defaultValue:b,disabled:m=!1,placeholder:u="",maxlength:f=524288,status:v,...N}=e,L=Xo(s,"medium",Go),F=o==="textarea",P=o==="password",O=v==="error",y=Z(r,Zo),w=typeof r=="string",h={tw:$(w?y.root.tw:"",y.input.tw),css:{...y.root.css,...y.input.css}},x=$("inline-flex",w?"":y.root.tw),A=$("w-[300px] rounded-[var(--tango-radius)] border-[1px] bg-[var(--tango-input-bg)] text-[var(--tango-foreground)] outline-none transition-all duration-200 ease-in-out","border-[var(--tango-border)] shadow-[var(--tango-input-shadow)]","hover:border-[var(--tango-input-accent)]","focus:border-[var(--tango-input-accent)] focus:shadow-[var(--tango-input-focus-shadow)]",O&&"border-[var(--tango-input-error-border)] bg-[var(--tango-input-error-bg)] text-[var(--tango-input-error-fg)] hover:border-[var(--tango-input-error-border)] focus:shadow-[var(--tango-input-error-focus-shadow)]",m&&"bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] border-[var(--tango-muted)] cursor-not-allowed shadow-none hover:border-[var(--tango-muted)] focus:shadow-none",qo[L]),M=g({baseClassName:A,className:l,style:c,sxSlot:h}),B=p!==void 0,j={className:M.className,style:M.style,onClick:n,onChange:i?C=>i(C.target.value):void 0,value:B?p:void 0,defaultValue:B?void 0:b??"",disabled:m||void 0,placeholder:u,maxLength:f,"aria-invalid":O||void 0,...N};return a.jsx("div",{className:x,children:P?a.jsx("form",{onSubmit:C=>C.preventDefault(),style:{display:"inline-flex"},autoComplete:"off",children:a.jsx("input",{...j,type:"password"})}):F?a.jsx("textarea",{...j,className:`${j.className} min-h-[80px] py-2 resize-y`}):a.jsx("input",{...j,type:"text"})})}Me.propTypes={type:t.oneOf(["default","textarea","password"]),size:t.oneOf(["small","medium","large","huge"]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,onClick:t.func,onChange:t.func,value:t.string,defaultValue:t.string,disabled:t.bool,placeholder:t.string,maxlength:t.number,status:t.oneOf(["default","error"])};Me.MaterialInput=Ae;const fe=["root"];function Jo(e,o){const{sx:s={},style:r={},className:c="",children:l,...n}=e,i=Z(s,fe),p=g({baseClassName:"flex items-center px-4 bg-[var(--tango-layout-header-bg)] text-[var(--tango-layout-header-color)]",className:c,sxSlot:i.root,baseStyle:{height:"var(--tango-layout-header-height)",borderBottom:"1px solid var(--tango-layout-border)"},style:r});return a.jsx("header",{ref:o,className:p.className,style:p.style,...n,children:l})}const ze=d.forwardRef(Jo);ze.displayName="LayoutHeader";ze.propTypes={sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};function Qo(e,o){const{sx:s={},style:r={},className:c="",children:l,...n}=e,i=Z(s,fe),p=g({baseClassName:"flex items-center px-4 bg-[var(--tango-layout-footer-bg)] text-[var(--tango-layout-footer-color)]",className:c,sxSlot:i.root,baseStyle:{height:"var(--tango-layout-footer-height)",borderTop:"1px solid var(--tango-layout-border)"},style:r});return a.jsx("footer",{ref:o,className:p.className,style:p.style,...n,children:l})}const Ee=d.forwardRef(Qo);Ee.displayName="LayoutFooter";Ee.propTypes={sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};function ea(e,o){const{sx:s={},style:r={},className:c="",width:l,children:n,...i}=e,p=Z(s,fe),b=l??"var(--tango-layout-sider-width)",m=g({baseClassName:"overflow-auto flex flex-col bg-[var(--tango-layout-sider-bg)] text-[var(--tango-layout-sider-color)]",className:c,sxSlot:p.root,baseStyle:{width:b,minWidth:b,maxWidth:"100%",borderRight:"1px solid var(--tango-layout-border)"},style:r});return a.jsx("aside",{ref:o,className:m.className,style:m.style,...i,children:n})}const we=d.forwardRef(ea);we.displayName="LayoutSider";we.propTypes={width:t.oneOfType([t.string,t.number]),sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};function ta(e,o){const{sx:s={},style:r={},className:c="",width:l,children:n,...i}=e,p=Z(s,fe),b=l??"var(--tango-layout-toc-width)",m=g({baseClassName:"overflow-auto flex flex-col bg-[var(--tango-layout-toc-bg)] text-[var(--tango-layout-toc-color)]",className:c,sxSlot:p.root,baseStyle:{width:b,minWidth:b,maxWidth:"100%",borderLeft:"1px solid var(--tango-layout-border)"},style:r});return a.jsx("nav",{ref:o,className:m.className,style:m.style,...i,children:n})}const Ce=d.forwardRef(ta);Ce.displayName="LayoutToc";Ce.propTypes={width:t.oneOfType([t.string,t.number]),sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};function oa(e,o){const{sx:s={},style:r={},className:c="",children:l,...n}=e,i=Z(s,fe),p=g({baseClassName:"flex-1 flex flex-col bg-[var(--tango-layout-content-bg)] text-[var(--tango-layout-content-color)]",className:c,sxSlot:i.root,baseStyle:{},style:r});return a.jsx("main",{ref:o,className:p.className,style:p.style,...n,children:l})}const $e=d.forwardRef(oa);$e.displayName="LayoutContent";$e.propTypes={sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};function aa(e,o){const{sx:s={},style:r={},className:c="",hasSider:l,children:n,...i}=e,p=Z(s,fe),b=l??d.Children.toArray(n).some(u=>{var f,v;return d.isValidElement(u)&&(u.type===we||u.type===Ce||((f=u.type)==null?void 0:f.displayName)==="LayoutSider"||((v=u.type)==null?void 0:v.displayName)==="LayoutToc")}),m=g({baseClassName:$("flex flex-1 flex-col min-h-0",b?"md:flex-row":""),className:c,sxSlot:p.root,style:r});return a.jsx("section",{ref:o,className:m.className,style:m.style,...i,children:n})}const te=d.forwardRef(aa);te.displayName="Layout";te.Header=ze;te.Footer=Ee;te.Sider=we;te.Content=$e;te.Toc=Ce;te.propTypes={hasSider:t.bool,sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};const $t=ze,Bt=Ee,It=we,Ft=$e,Dt=Ce,sa=["root","button","list","item"],Rt=Symbol("LIST_IGNORE"),mt=a.jsxs("svg",{viewBox:"0 0 24 24",width:"1em",height:"1em",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[a.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"}),a.jsx("path",{d:"M14 2v6h6"})]}),xt=a.jsx("svg",{viewBox:"0 0 24 24",width:"1em",height:"1em",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:a.jsx("path",{d:"M18 6 6 18M6 6l12 12"})});function na(e,o){const{sx:s={},style:r={},className:c="",accept:l="image/*",multiple:n=!1,onChange:i=()=>{},beforeUpload:p=()=>{},files:b=[],showUploadList:m=!0,maxCount:u=20,maxSize:f=100,btnText:v="选择文件",btnStyle:N,showSize:L=!0,disabled:F=!1,...P}=e,O=d.useId(),y=b||[],w=Z(s,sa),h=d.useCallback(async(C,T)=>{if(!p)return!0;try{const _=await p(C,T);return _===void 0?!0:_}catch{return!1}},[p]),x=d.useCallback(async C=>{const _=Array.from(C.target.files||[]).filter(W=>W.size/1024/1024>f?(console.warn(`[Tango Upload] ${W.name} 超过 ${f}MB,已被过滤`),!1):!0),Y=n?_.slice(0,u):_.slice(0,1),R=[];for(const W of Y){const z=await h(W,Y);if(z===!1){console.warn(`[Tango Upload] ${W.name} 被 beforeUpload 拦截`);continue}if(z===Rt){console.warn(`[Tango Upload] ${W.name} 被 LIST_IGNORE 忽略`);continue}if(z instanceof Blob){const k=z instanceof File?z:new File([z],W.name,{type:W.type});R.push(k)}else R.push(W)}C.target.value="",i(R)},[n,u,f,h,i]),A=d.useCallback((C,T)=>{const _=y.filter((Y,R)=>R!==T);i(_)},[y,i]),M=g({baseClassName:"inline-flex flex-col gap-3",className:c,sxSlot:w.root,style:r}),B=g({baseClassName:$("list-none p-0 m-0 max-h-[150px] max-w-[400px] overflow-y-auto","border-[1px] border-[var(--tango-upload-border)] rounded-[var(--tango-upload-radius)]","bg-[var(--tango-upload-list-bg)]",y.length===0&&"border-transparent"),baseStyle:{borderRadius:"var(--tango-upload-radius)"},sxSlot:w.list}),j=g({baseClassName:$("flex items-center gap-2 px-3 py-1.5 text-sm","text-[var(--tango-upload-item-text)] hover:bg-[var(--tango-upload-item-hover-bg)]","transition-colors"),sxSlot:w.item});return a.jsxs("div",{ref:o,className:M.className,style:M.style,...P,children:[a.jsx("input",{id:O,type:"file",accept:l,multiple:n,className:"hidden",onChange:x,disabled:F,"aria-hidden":"true",tabIndex:-1}),a.jsx(se,{disabled:F,style:N,sx:w.button,onClick:()=>{var C;return(C=document.getElementById(O))==null?void 0:C.click()},children:v}),m&&y.length>0&&a.jsx("ul",{className:B.className,style:B.style,children:n?y.map((C,T)=>a.jsxs("li",{className:j.className,style:j.style,children:[a.jsx("span",{className:"flex-shrink-0 text-[var(--tango-upload-icon-color)]",children:mt}),a.jsxs("span",{className:"flex-1 truncate",children:[C.name,L&&a.jsxs("span",{className:"ml-1 text-xs text-[var(--tango-muted-foreground)]",children:["(",(C.size/1024).toFixed(2)," KB)"]})]}),a.jsx("button",{type:"button",className:"flex-shrink-0 p-0.5 rounded hover:bg-[var(--tango-upload-del-hover-bg)] text-[var(--tango-upload-del-color)] transition-colors",onClick:()=>A(C,T),"aria-label":`删除 ${C.name}`,children:xt})]},T)):a.jsxs("li",{className:j.className,style:j.style,children:[a.jsx("span",{className:"flex-shrink-0 text-[var(--tango-upload-icon-color)]",children:mt}),a.jsxs("span",{className:"flex-1 truncate",children:[y[0].name,L&&a.jsxs("span",{className:"ml-1 text-xs text-[var(--tango-muted-foreground)]",children:["(",(y[0].size/1024).toFixed(2)," KB)"]})]}),a.jsx("button",{type:"button",className:"flex-shrink-0 p-0.5 rounded hover:bg-[var(--tango-upload-del-hover-bg)] text-[var(--tango-upload-del-color)] transition-colors",onClick:()=>A(y[0],0),"aria-label":`删除 ${y[0].name}`,children:xt})]})})]})}const Be=d.forwardRef(na);Be.displayName="Upload";Be.LIST_IGNORE=Rt;Be.propTypes={sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,accept:t.string,multiple:t.bool,onChange:t.func,beforeUpload:t.func,files:t.array,showUploadList:t.bool,maxCount:t.number,maxSize:t.number,btnText:t.string,btnStyle:t.object,showSize:t.bool,disabled:t.bool};const ra=["root","icon","content","actions","closeIcon"],bt={cancel:"取消",action:"操作"},ft={small:{rootClass:"px-[15px] py-[8px] h-[45px] rounded-[6px] gap-[8px] border",iconSize:20,contentClass:"text-[14px]",closeIconSize:18,buttonBorderRadius:"0.8rem",buttonGap:"8px",buttonFontSize:"13px"},normal:{rootClass:"px-[20px] py-[10px] h-[52px] rounded-[8px] gap-[10px] border",iconSize:22,contentClass:"text-[15px]",closeIconSize:20,buttonBorderRadius:"1rem",buttonGap:"10px",buttonFontSize:"14px"},large:{rootClass:"px-[25px] py-[12px] h-[60px] rounded-[10px] gap-[12px] border-[1.5px]",iconSize:26,contentClass:"text-[16px]",closeIconSize:22,buttonBorderRadius:"1.2rem",buttonGap:"12px",buttonFontSize:"15px"}},ht={info:{bgVar:"--tango-banner-info-bg",borderVar:"--tango-banner-info-border",iconVar:"--tango-banner-info-icon",textVar:"--tango-banner-info-text"},success:{bgVar:"--tango-banner-success-bg",borderVar:"--tango-banner-success-border",iconVar:"--tango-banner-success-icon",textVar:"--tango-banner-success-text"},warning:{bgVar:"--tango-banner-warning-bg",borderVar:"--tango-banner-warning-border",iconVar:"--tango-banner-warning-icon",textVar:"--tango-banner-warning-text"},error:{bgVar:"--tango-banner-error-bg",borderVar:"--tango-banner-error-border",iconVar:"--tango-banner-error-icon",textVar:"--tango-banner-error-text"}},yt=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function He(e){const{children:o,onCancel:s=()=>{},onAction:r=()=>{},showActionButtons:c=!0,size:l="normal",cancelText:n,actionText:i,level:p="info",transparent:b=!1,bannerBgColor:m,bannerBorderColor:u,bannerIconColor:f,sx:v={},style:N={},className:L="",i18nKey:F,localeText:P={},...O}=e,{t:y}=ne(),w=yt(l,"normal",ft),h=yt(p,"info",ht),x=ft[w],A=ht[h],M=Z(v,ra),B={cancel:y("banner.cancel",bt.cancel),action:y("banner.action",bt.action),...P},j=n??(F==="cancel"?y("banner.cancel",B.cancel):B.cancel),C=i??(F==="action"?y("banner.action",B.action):B.action),T=o??j,_=m||(b===!0?"transparent":`var(${A.bgVar})`),Y=u||`var(${A.borderVar})`,R=f||`var(${A.iconVar})`,W=`var(${A.textVar})`,z=g({baseClassName:$("flex w-full items-center justify-start transition-colors duration-200",x.rootClass),className:L,baseStyle:{backgroundColor:_,borderColor:Y,color:b===!0?"var(--tango-muted-foreground)":W},style:N,sxSlot:M.root}),k=g({baseClassName:"shrink-0",baseStyle:{width:`${x.iconSize}px`,height:`${x.iconSize}px`,color:R},sxSlot:M.icon}),U=g({baseClassName:$("flex-grow text-left",x.contentClass),sxSlot:M.content}),H=g({baseClassName:"flex items-center justify-end flex-1",baseStyle:{gap:x.buttonGap},sxSlot:M.actions}),K=g({baseClassName:"shrink-0 cursor-pointer",baseStyle:{width:`${x.closeIconSize}px`,height:`${x.closeIconSize}px`,color:"var(--tango-banner-close-icon)"},sxSlot:M.closeIcon}),D=a.jsxs("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:[a.jsx("path",{d:"M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z"}),a.jsx("path",{d:"M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z"}),a.jsx("path",{d:"M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z"})]}),ee=a.jsxs("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:[a.jsx("path",{d:"M869.472578 920.128281 154.906046 920.128281c-31.943526 0-60.545958-16.517185-76.514651-44.181245-15.968693-27.666106-15.96153-60.696384 0.016373-88.355327l357.283266-618.47194c15.971763-27.647687 44.568055-44.152593 76.496232-44.152593 31.930223-0.001023 60.527538 16.504906 76.499301 44.151569l357.283266 618.472963c15.977903 27.659967 15.984043 60.689221 0.017396 88.355327C930.018535 903.611096 901.416104 920.128281 869.472578 920.128281zM512.187265 169.139212c-15.962553 0-30.261211 8.251941-38.247092 22.075785l0 0L116.65793 809.686936c-7.989975 13.829983-7.993045 30.345122-0.008186 44.179199 7.983835 13.83203 22.285562 22.090111 38.257326 22.090111l714.566532 0c15.971763 0 30.273491-8.258081 38.256302-22.090111 7.984858-13.83203 7.980765-30.349215-0.008186-44.179199L550.437427 191.213973C542.452569 177.391153 528.152888 169.138188 512.187265 169.139212z"}),a.jsx("path",{d:"M513.732457 621.119233c-18.296715 0-33.257451-14.832823-33.257451-33.129538L480.475006 331.789639c0-18.296715 14.960737-33.129538 33.257451-33.129538 18.296715 0 33.257451 14.832823 33.257451 33.129538l0 256.200056C546.989909 606.28641 532.029172 621.119233 513.732457 621.119233z"}),a.jsx("path",{d:"M513.686409 737.619574m-49.991578 0a48.853 48.853 0 1 0 99.983155 0 48.853 48.853 0 1 0-99.983155 0Z"})]}),re=a.jsx("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:a.jsx("path",{d:"M85.333333 512C85.333333 276.352 276.352 85.333333 512 85.333333s426.666667 191.018667 426.666667 426.666667-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512z m683.093334-256.426667a358.954667 358.954667 0 0 0-122.922667-80.768A359.466667 359.466667 0 0 0 512 149.333333c-46.08 0-90.624 8.490667-133.504 25.472A358.954667 358.954667 0 0 0 255.573333 255.573333c-35.413333 35.413333-62.336 76.373333-80.768 122.922667A359.466667 359.466667 0 0 0 149.333333 512c0 46.08 8.490667 90.624 25.472 133.504A358.954667 358.954667 0 0 0 255.573333 768.426667c35.413333 35.413333 76.373333 62.336 122.922667 80.768A359.466667 359.466667 0 0 0 512 874.666667c46.08 0 90.624-8.490667 133.504-25.472a358.954667 358.954667 0 0 0 122.922667-80.768c35.413333-35.413333 62.336-76.373333 80.768-122.922667A359.466667 359.466667 0 0 0 874.666667 512c0-46.08-8.490667-90.624-25.472-133.504A358.912 358.912 0 0 0 768.426667 255.573333zM338.517333 640.213333L466.773333 512 338.517333 383.786667l45.226667-45.226667L512 466.688l128.213333-128.213333 45.226667 45.226666L557.312 512l128.213333 128.213333-45.226666 45.226667L512 557.312l-128.213333 128.213333-45.226667-45.226666z"})}),ie=a.jsxs("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:[a.jsx("path",{d:"M512.3 961.3c-247.1 0-448.1-201-448.1-448.1s201-448.1 448.1-448.1 448.1 201 448.1 448.1-201 448.1-448.1 448.1z m0-849.7c-221.4 0-401.6 180.2-401.6 401.6s180.2 401.6 401.6 401.6 401.6-180.2 401.6-401.6-180.2-401.6-401.6-401.6z"}),a.jsx("path",{d:"M441.2 676c-16.4 0-32.7-5.8-45.5-17.4l-151.3-138c-9.5-8.6-10.2-23.3-1.5-32.8 8.6-9.5 23.3-10.2 32.8-1.5L427 624.2c7.6 6.9 20.8 6.9 28.4 0l293.5-267.5c9.5-8.6 24.2-8 32.8 1.5 8.6 9.5 8 24.2-1.5 32.8L486.7 658.5c-12.8 11.7-29.1 17.5-45.5 17.5z"})]}),de=a.jsx("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:a.jsx("path",{d:"M558.8 509.2l302.8-302.8c3.1-3.1 3.1-8.1 0-11.2l-30.8-30.8c-3.1-3.1-8.1-3.1-11.2 0L516.8 467.2c-1.5 1.5-4.1 1.5-5.6 0L208.3 164.3c-3.1-3.1-8.1-3.1-11.2 0l-30.8 30.8c-3.1 3.1-3.1 8.1 0 11.2l302.8 302.8c1.5 1.5 1.5 4.1 0 5.6l-302.8 303c-3.1 3.1-3.1 8.1 0 11.2l30.8 30.8c3.1 3.1 8.1 3.1 11.2 0l302.8-302.8c1.5-1.5 4.1-1.5 5.6 0l302.8 302.8c3.1 3.1 8.1 3.1 11.2 0l30.8-30.8c3.1-3.1 3.1-8.1 0-11.2L558.8 514.8c-1.5-1.5-1.5-4.1 0-5.6z"})}),ue={success:ie,warning:ee,error:re,info:D},G=c!==!1;return a.jsxs("div",{className:z.className,style:z.style,"data-level":h,"data-size":w,...O,children:[a.jsx("div",{className:k.className,style:k.style,children:ue[h]}),a.jsx("div",{className:U.className,style:U.style,children:T}),a.jsxs("div",{className:H.className,style:H.style,children:[G&&a.jsxs(a.Fragment,{children:[a.jsx(se,{type:"transparent",sx:{c:"var(--tango-banner-btn-text)",br:x.buttonBorderRadius,bColor:"transparent",s:x.buttonFontSize},onClick:s,size:w==="normal"?"medium":w,children:j}),a.jsx(se,{type:"transparent",sx:{c:"var(--tango-banner-btn-text)",br:x.buttonBorderRadius,b:1,bColor:"var(--tango-banner-btn-border)",s:x.buttonFontSize},onClick:r,size:w==="normal"?"medium":w,children:C})]}),a.jsx("div",{className:K.className,style:K.style,onClick:s,children:de})]})]})}He.propTypes={children:t.node,onCancel:t.func,onAction:t.func,size:t.oneOf(["small","normal","large"]),cancelText:t.string,actionText:t.string,level:t.oneOf(["info","success","warning","error"]),transparent:t.bool,showActionButtons:t.bool,bannerBgColor:t.string,bannerBorderColor:t.string,bannerIconColor:t.string,sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,i18nKey:t.string,localeText:t.object};const la=["root","input","text"],Ke={hex:"HEX",rgb:"RGB",hsl:"HSL"},vt={small:{inputSize:20,fontSize:"11px",gap:"6px"},medium:{inputSize:28,fontSize:"12px",gap:"10px"},large:{inputSize:36,fontSize:"14px",gap:"14px"}},ca={hex:"hex",rgb:"rgb",hsl:"hsl"},St=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o,ia=e=>{const o=parseInt(e.slice(1,3),16),s=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return`rgb(${o}, ${s}, ${r})`},da=e=>{let o=parseInt(e.slice(1,3),16)/255,s=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255;const c=Math.max(o,s,r),l=Math.min(o,s,r);let n=0,i=0,p=(c+l)/2;if(c!==l){const b=c-l;i=p>.5?b/(2-c-l):b/(c+l),c===o?n=(s-r)/b+(s<r?6:0):c===s?n=(r-o)/b+2:n=(o-s)/b+4,n/=6}return`hsl(${Math.round(n*360)}, ${Math.round(i*100)}%, ${Math.round(p*100)}%)`},ua=(e,o)=>{switch(o){case"rgb":return ia(e);case"hsl":return da(e);default:return e.toUpperCase()}};function Ue(e){const{value:o,defaultValue:s="#000000",onChange:r=()=>{},disabled:c=!1,showText:l=!1,format:n="hex",size:i="medium",sx:p={},style:b={},className:m="",i18nKey:u,localeText:f={},...v}=e,{t:N}=ne(),L=St(i,"medium",vt),F=St(n,"hex",ca),P=vt[L],[O,y]=d.useState(s),w=o??O,h=Z(p,la),x={hex:N("colorpicker.hex",Ke.hex),rgb:N("colorpicker.rgb",Ke.rgb),hsl:N("colorpicker.hsl",Ke.hsl),...f},A=_=>{const Y=_.target.value;o===void 0&&y(Y),r(Y)},M=[];if(l){const _=u||(typeof l=="string"?l:null)||F;M.push({label:x[_],value:ua(w,_)})}const B=g({baseClassName:$("inline-flex items-center",c&&"cursor-not-allowed opacity-60"),className:m,baseStyle:{gap:P.gap},style:b,sxSlot:h.root}),j=g({baseClassName:$("shrink-0 cursor-pointer border-2 border-[var(--tango-border)] rounded-full bg-transparent overflow-hidden transition-colors duration-200",c&&"cursor-not-allowed"),baseStyle:{width:`${P.inputSize}px`,height:`${P.inputSize}px`,padding:0},sxSlot:h.input}),C=g({baseClassName:"flex flex-col text-[var(--tango-muted-foreground)]",baseStyle:{fontSize:P.fontSize},sxSlot:h.text});return a.jsxs(a.Fragment,{children:[a.jsx("style",{children:`
3
- .tango-cp-input::-webkit-color-swatch-wrapper { padding: 0; }
4
- .tango-cp-input::-webkit-color-swatch { border: 0; border-radius: 9999px; }
5
- .tango-cp-input::-moz-color-swatch { border: 0; border-radius: 9999px; }
6
- `}),a.jsxs("div",{className:B.className,style:B.style,...v,children:[a.jsx("input",{type:"color",value:w,onChange:A,disabled:c,className:`tango-cp-input ${j.className}`,style:j.style,"aria-label":v["aria-label"]||`颜色选择器: ${w}`}),l&&M.length>0&&a.jsx("div",{className:C.className,style:C.style,children:M.map(({label:_,value:Y})=>a.jsxs("span",{children:[_,": ",Y]},_))})]})]})}Ue.propTypes={value:t.string,defaultValue:t.string,onChange:t.func,disabled:t.bool,showText:t.oneOfType([t.bool,t.oneOf(["hex","rgb","hsl"])]),format:t.oneOf(["hex","rgb","hsl"]),size:t.oneOf(["small","medium","large"]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,i18nKey:t.string,localeText:t.object};const pa=["root","date","weekday","time"],Nt={weekdayPrefix:"星期",weekdayShortPrefix:"周"},wt={default:"default",line:"line",full:"full","full-line":"full-line","year-week":"year-week","year-week-line":"year-week-line","week-time":"week-time","no-s":"no-s","no-s-line":"no-s-line"},ga=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o,ma=(e,o)=>{const r=new Date().toLocaleDateString(e,{year:"numeric",month:"2-digit",day:"2-digit"});return o?r.replaceAll("/","-"):r},xa=(e,o)=>{let r=new Date().toLocaleString(e,{weekday:"long"});return o&&e.startsWith("zh")&&(r=r.replace("星期","周")),r},ye=(e,o)=>{const s=new Date,r={hour:"2-digit",minute:"2-digit"};return o&&(r.second="2-digit"),s.toLocaleTimeString(e,r)},ba=(e,o,s,r)=>{const c=e==="line"||e.endsWith("-line"),l=ma(o,c),n=xa(o,s);switch(e){case"line":return[{key:"date",text:l}];case"full":return[{key:"date",text:l+" "},{key:"weekday",text:n+" "},{key:"time",text:ye(o,!0)}];case"full-line":return[{key:"date",text:l+" "},{key:"weekday",text:n+" "},{key:"time",text:ye(o,!0)}];case"year-week":return[{key:"date",text:l+" "},{key:"weekday",text:n}];case"year-week-line":return[{key:"date",text:l+" "},{key:"weekday",text:n}];case"week-time":return[{key:"weekday",text:n+" "},{key:"time",text:ye(o,!0)}];case"no-s":return[{key:"date",text:l+" "},{key:"weekday",text:n+" "},{key:"time",text:ye(o,!1)}];case"no-s-line":return[{key:"date",text:l+" "},{key:"weekday",text:n+" "},{key:"time",text:ye(o,!1)}];default:return[{key:"date",text:l}]}};function Ze(e){const{type:o="default",single:s=!1,sx:r={},style:c={},className:l="",i18nKey:n,localeText:i={},...p}=e||{},{t:b,locale:m}=ne(),[u,f]=d.useState(!1);d.useEffect(()=>{f(!0)},[]);const v=ga(o,"default",wt),N=m==="en-US"?"en-US":"zh-CN";({weekdayPrefix:b("date.weekdayPrefix",Nt.weekdayPrefix),weekdayShortPrefix:b("date.weekdayShortPrefix",Nt.weekdayShortPrefix),...i});const L=Z(r,pa),F=n&&wt[n]?n:v,P=u?ba(F,N,s):[],O=g({baseClassName:$("inline-flex items-center gap-1 text-[var(--tango-foreground)]"),className:l,baseStyle:{},style:c,sxSlot:L.root}),y={date:g({baseClassName:"",sxSlot:L.date}),weekday:g({baseClassName:"text-[var(--tango-muted-foreground)]",sxSlot:L.weekday}),time:g({baseClassName:"",sxSlot:L.time})};return a.jsx("div",{className:O.className,style:O.style,role:"timer","aria-live":"polite",...p,children:P.map(w=>{const h=y[w.key]||{className:"",style:{}};return a.jsx("span",{className:h.className,style:h.style,children:w.text},w.key)})})}Ze.propTypes={type:t.oneOf(["default","line","full","full-line","year-week","year-week-line","week-time","no-s","no-s-line"]),single:t.bool,sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,i18nKey:t.string,localeText:t.object};const fa=["root","input","panel","header","body","footer"],ce={placeholder:"YYYY-MM-DD",placeholderTime:"YYYY-MM-DD HH:mm",timeLabel:"时间",confirm:"确定",cancel:"关闭",prevMonth:"上一月",nextMonth:"下一月",weekDays:["日","一","二","三","四","五","六"],monthFormat:"${year} 年 ${month} 月"},Ct={small:{inputPx:"px-2 py-1",textSm:"text-xs",minW:"min-w-[140px]",panelW:"w-[260px]"},medium:{inputPx:"px-3 py-2",textSm:"text-sm",minW:"min-w-[180px]",panelW:"w-[300px]"},large:{inputPx:"px-4 py-3",textSm:"text-base",minW:"min-w-[220px]",panelW:"w-[340px]"}},ha=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function Ge(e){const{value:o,defaultValue:s,onChange:r=()=>{},disabled:c=!1,time:l=!1,size:n="medium",sx:i={},style:p={},className:b="",i18nKey:m,localeText:u={},placeholder:f,...v}=e,{t:N,locale:L}=ne(),F=ha(n,"medium",Ct),P=Ct[F],O=L==="en-US",[y,w]=d.useState(s||""),h=o!==void 0?o:y,[x,A]=d.useState("00"),[M,B]=d.useState("00"),[j,C]=d.useState(!1),[T,_]=d.useState(()=>{const S=new Date;return new Date(S.getFullYear(),S.getMonth(),1)}),Y=d.useRef(null),R={placeholder:N("datepicker.placeholder",ce.placeholder),placeholderTime:N("datepicker.placeholderTime",ce.placeholderTime),timeLabel:N("datepicker.timeLabel",ce.timeLabel),confirm:N("datepicker.confirm",ce.confirm),cancel:N("datepicker.cancel",ce.cancel),prevMonth:N("datepicker.prevMonth",ce.prevMonth),nextMonth:N("datepicker.nextMonth",ce.nextMonth),weekDays:O?["Su","Mo","Tu","We","Th","Fr","Sa"]:ce.weekDays,monthFormat:O?"${month}/${year}":ce.monthFormat,...u};d.useEffect(()=>{const S=E=>{Y.current&&!Y.current.contains(E.target)&&C(!1)};return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]);const W=S=>{const E=S.getFullYear(),X=(S.getMonth()+1).toString().padStart(2,"0"),ae=S.getDate().toString().padStart(2,"0");return`${E}-${X}-${ae}`},z=d.useMemo(()=>{const S=T.getFullYear(),E=T.getMonth()+1;return R.monthFormat.replace("${year}",String(S)).replace("${month}",String(E))},[T,R.monthFormat]),k=d.useMemo(()=>{const S=T.getFullYear(),E=T.getMonth(),X=new Date(S,E,1).getDay(),ae=new Date(S,E+1,0).getDate(),le=Array.from({length:ae},(Te,Fe)=>Fe+1);return[...Array(X).fill(null),...le]},[T]),U=d.useMemo(()=>h?l?`${h} ${x}:${M}`:h:"",[h,x,M,l]),H=S=>{const E=new Date(T.getFullYear(),T.getMonth(),S);return h===W(E)},K=(S,E,X)=>{if(S){if(l){const ae=`${S}T${E}:${X}`,le=new Date(ae),Te=le.getFullYear(),Fe=(le.getMonth()+1).toString().padStart(2,"0"),Wt=le.getDate().toString().padStart(2,"0"),Ht=le.getHours().toString().padStart(2,"0"),Ut=le.getMinutes().toString().padStart(2,"0");r(`${Te}-${Fe}-${Wt} ${Ht}:${Ut}`,ae);return}r(S,S)}},D=S=>{const E=new Date(T.getFullYear(),T.getMonth(),S),X=W(E);o===void 0&&w(X),K(X,x,M),l||C(!1)},ee=S=>{const E=S.target.value;A(E),K(h,E,M)},re=S=>{const E=S.target.value;B(E),K(h,x,E)},ie=()=>{if(!c){if(h){const[S,E]=h.split("-").map(Number);_(new Date(S,E-1,1))}C(!0)}},de=Array.from({length:24},(S,E)=>String(E).padStart(2,"0")),ue=Array.from({length:60},(S,E)=>String(E).padStart(2,"0")),G=Z(i,fa);typeof i=="string"&&(G.input.tw=$(G.input.tw,G.root.tw),G.root.tw="");const pe=g({baseClassName:"relative inline-block",sxSlot:G.root}),J=g({baseClassName:$("border-[1px] border-[var(--tango-border)] rounded-[var(--tango-radius)] bg-[var(--tango-card)] text-[var(--tango-foreground)] placeholder:text-[var(--tango-muted-foreground)] outline-none transition-all duration-200 cursor-pointer","focus:border-[var(--tango-primary)] focus:shadow-[0_0_0_2px_color-mix(in_srgb,var(--tango-primary)_18%,transparent)]","hover:border-[var(--tango-primary)]",P.inputPx,P.textSm,P.minW,c&&"bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] cursor-not-allowed"),className:b,style:p,sxSlot:G.input}),I=g({baseClassName:$("absolute top-[calc(100%+8px)] left-0 z-20 p-3 border-[1px] border-[var(--tango-border)] bg-[var(--tango-card)] rounded-xl shadow-[0_8px_28px_rgba(0,0,0,0.12)]",P.panelW),sxSlot:G.panel}),q=g({baseClassName:"flex items-center justify-between h-10 mb-2",sxSlot:G.header}),Q=g({baseClassName:"flex flex-wrap",sxSlot:G.body}),oe=g({baseClassName:"mt-2.5 pt-2.5 border-t border-[var(--tango-border)]",sxSlot:G.footer});return a.jsxs("div",{className:pe.className,style:pe.style,ref:Y,...v,children:[a.jsx("input",{type:"text",value:U,readOnly:!0,onClick:ie,className:J.className,style:J.style,disabled:c,placeholder:f||(l?R.placeholderTime:R.placeholder),"aria-label":v["aria-label"]||f||(l?R.placeholderTime:R.placeholder),"aria-haspopup":"dialog","aria-expanded":j}),j&&!c&&a.jsxs("div",{className:I.className,style:I.style,role:"dialog","aria-label":"日期选择面板",children:[a.jsxs("div",{className:q.className,style:q.style,children:[a.jsx("button",{type:"button",className:"w-7 h-7 border-[1px] border-[var(--tango-border)] bg-[var(--tango-card)] text-sm cursor-pointer rounded hover:border-[var(--tango-primary)] hover:bg-[color-mix(in_srgb,var(--tango-primary)_14%,var(--tango-card))]",onClick:()=>_(new Date(T.getFullYear(),T.getMonth()-1,1)),"aria-label":R.prevMonth,children:"<"}),a.jsx("div",{className:"text-sm font-semibold text-[var(--tango-foreground)]",children:z}),a.jsx("button",{type:"button",className:"w-7 h-7 border-[1px] border-[var(--tango-border)] bg-[var(--tango-card)] text-sm cursor-pointer rounded hover:border-[var(--tango-primary)] hover:bg-[color-mix(in_srgb,var(--tango-primary)_14%,var(--tango-card))]",onClick:()=>_(new Date(T.getFullYear(),T.getMonth()+1,1)),"aria-label":R.nextMonth,children:">"})]}),a.jsxs("div",{className:Q.className,style:Q.style,children:[R.weekDays.map(S=>a.jsx("div",{className:"w-[calc(100%/7)] text-center leading-[30px] text-xs text-[var(--tango-muted-foreground)]",children:S},S)),k.map((S,E)=>{if(!S)return a.jsx("div",{className:"w-[calc(100%/7)] text-center leading-[30px]"},`empty-${E}`);const X=H(S);return a.jsx("button",{type:"button",className:$("w-[calc(100%/7)] text-center leading-[30px] border-none bg-transparent cursor-pointer rounded-md text-[13px] text-[var(--tango-muted-foreground)] hover:bg-[var(--tango-muted)] hover:text-[var(--tango-foreground)]",X&&"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] hover:bg-[var(--tango-primary)]"),onClick:()=>D(S),"aria-label":`${T.getFullYear()}-${(T.getMonth()+1).toString().padStart(2,"0")}-${S.toString().padStart(2,"0")}`,children:S},`${T.getFullYear()}-${T.getMonth()}-${S}`)})]}),l&&a.jsxs("div",{className:oe.className,style:oe.style,children:[a.jsx("div",{className:"text-xs text-[var(--tango-muted-foreground)] mb-2",children:R.timeLabel}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("select",{className:"w-20 h-8 border-[1px] border-[var(--tango-border)] rounded-md px-2 text-[13px] outline-none bg-[var(--tango-card)] text-[var(--tango-foreground)] focus:border-[var(--tango-primary)]",value:x,onChange:ee,"aria-label":"小时",children:de.map(S=>a.jsx("option",{value:S,children:S},S))}),a.jsx("span",{className:"font-semibold text-[var(--tango-muted-foreground)]",children:":"}),a.jsx("select",{className:"w-20 h-8 border-[1px] border-[var(--tango-border)] rounded-md px-2 text-[13px] outline-none bg-[var(--tango-card)] text-[var(--tango-foreground)] focus:border-[var(--tango-primary)]",value:M,onChange:re,"aria-label":"分钟",children:ue.map(S=>a.jsx("option",{value:S,children:S},S))})]}),a.jsxs("div",{className:"mt-2.5 flex justify-end gap-2",children:[a.jsx(se,{onClick:()=>C(!1),size:"small",type:"transparent",outline:!0,style:{backgroundColor:"var(--tango-datepicker-cancel-bg)",color:"var(--tango-datepicker-cancel-fg)"},children:R.cancel}),a.jsx(se,{onClick:()=>C(!1),size:"small",style:{backgroundColor:"var(--tango-datepicker-confirm-bg)",color:"var(--tango-datepicker-confirm-fg)",borderColor:"var(--tango-datepicker-confirm-bg)"},children:R.confirm})]})]})]})]})}Ge.propTypes={value:t.string,defaultValue:t.string,onChange:t.func,disabled:t.bool,time:t.bool,size:t.oneOf(["small","medium","large"]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,i18nKey:t.string,localeText:t.object};const ya=["overlay","container","header","title","closeBtn","content","footer"],je={title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭"},va={right:"right",left:"left",top:"top",bottom:"bottom"},Sa={right:"right-0 top-0 h-full",left:"left-0 top-0 h-full",top:"top-0 left-0 w-full",bottom:"bottom-0 left-0 w-full"},Na={right:"translateX(100%)",left:"translateX(-100%)",top:"translateY(-100%)",bottom:"translateY(100%)"},wa=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function qe(e){const{children:o,title:s,okText:r,cancelText:c,open:l=!1,onClose:n=()=>{},onOk:i,type:p="right",width:b,height:m,sx:u={},style:f={},className:v="",maskClosable:N=!0,footerButtons:L,localeText:F={},...P}=e,{t:O}=ne(),y=wa(p,"right",va),[w,h]=d.useState(!1),[x,A]=d.useState(!1);d.useEffect(()=>{if(l){h(!0);const D=setTimeout(()=>A(!0),30);return()=>clearTimeout(D)}if(w){A(!1);const D=setTimeout(()=>h(!1),300);return()=>clearTimeout(D)}},[l]),d.useEffect(()=>{if(w){const D=parseInt(document.body.dataset.tangoScrollLock||"0",10);return D===0&&(document.body.dataset.tangoOriginalOverflow=document.body.style.overflow),document.body.dataset.tangoScrollLock=String(D+1),document.body.style.overflow="hidden",()=>{const ee=parseInt(document.body.dataset.tangoScrollLock||"0",10);ee<=1?(document.body.style.overflow=document.body.dataset.tangoOriginalOverflow||"",delete document.body.dataset.tangoOriginalOverflow,delete document.body.dataset.tangoScrollLock):document.body.dataset.tangoScrollLock=String(ee-1)}}},[w]);const M={};y==="left"||y==="right"?M.width=b||"320px":M.height=m||"300px";const B={title:s??O("drawer.title",je.title),okText:r??O("drawer.okText",je.okText),cancelText:c??O("drawer.cancelText",je.cancelText),closeAriaLabel:O("drawer.closeAriaLabel",je.closeAriaLabel),...F},j=Z(u,ya),C=g({baseClassName:"fixed inset-0 z-[999] flex",sxSlot:j.overlay}),T={tw:$(j.root.tw,j.container.tw),css:{...j.root.css,...j.container.css}},_=g({baseClassName:$("fixed bg-[var(--tango-card)] text-[var(--tango-foreground)] flex flex-col transition-all duration-300 ease-in-out",Sa[y]),className:v,style:{...M,transform:x?"translate(0, 0)":Na[y],...f},sxSlot:T}),Y=g({baseClassName:"flex items-center justify-between px-5 pt-5 pb-3 shrink-0",sxSlot:j.header}),R=g({baseClassName:"text-lg font-bold text-[var(--tango-foreground)]",sxSlot:j.title}),W=g({baseClassName:"cursor-pointer p-1 rounded-md hover:bg-[var(--tango-muted)] transition-colors text-[var(--tango-muted-foreground)]",sxSlot:j.closeBtn}),z=g({baseClassName:"flex-1 overflow-auto overscroll-contain px-5 py-2 text-[var(--tango-foreground)]",sxSlot:j.content}),k=g({baseClassName:"flex justify-end gap-2 px-5 py-4 border-t border-[var(--tango-border)] shrink-0",sxSlot:j.footer}),U=D=>{N&&D.target===D.currentTarget&&n()},H=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:a.jsx("path",{d:"M512 466.944l233.472-233.472a31.744 31.744 0 0 1 45.056 45.056L557.056 512l233.472 233.472a31.744 31.744 0 0 1-45.056 45.056L512 557.056l-233.472 233.472a31.744 31.744 0 0 1-45.056-45.056L466.944 512 233.472 278.528a31.744 31.744 0 0 1 45.056-45.056z"})}),K=L!=null&&L.length?L:[{key:"cancel",text:B.cancelText,onClick:n},{key:"ok",text:B.okText,onClick:i||n}];return w?a.jsx("div",{className:C.className,style:{...C.style,backgroundColor:"rgba(0, 0, 0, 0.5)",opacity:x?1:0,transition:"opacity 300ms ease-in-out"},onClick:U,role:"dialog","aria-modal":"true","aria-label":B.title,...P,children:a.jsxs("div",{className:_.className,style:_.style,children:[a.jsxs("div",{className:Y.className,style:Y.style,children:[a.jsx("h3",{className:R.className,style:R.style,children:B.title}),a.jsx("div",{className:W.className,style:W.style,onClick:n,role:"button",tabIndex:0,"aria-label":B.closeAriaLabel,onKeyDown:D=>{(D.key==="Enter"||D.key===" ")&&n()},children:H})]}),a.jsx("div",{className:z.className,style:z.style,children:o}),a.jsx("div",{className:k.className,style:k.style,children:K.map(D=>{const ee=D.key==="ok";return a.jsx(se,{onClick:D.onClick,type:"default",outline:!ee,size:"medium",style:ee?{backgroundColor:"var(--tango-drawer-ok-bg)",color:"var(--tango-drawer-ok-fg)",borderColor:"var(--tango-drawer-ok-bg)"}:{backgroundColor:"var(--tango-drawer-cancel-bg)",color:"var(--tango-drawer-cancel-fg)"},children:D.text},D.key)})})]})}):null}qe.propTypes={children:t.node,title:t.string,okText:t.string,cancelText:t.string,open:t.bool,onClose:t.func,onOk:t.func,type:t.oneOf(["top","bottom","left","right"]),width:t.oneOfType([t.string,t.number]),height:t.oneOfType([t.string,t.number]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,maskClosable:t.bool,footerButtons:t.arrayOf(t.shape({key:t.string.isRequired,text:t.string.isRequired,onClick:t.func.isRequired})),localeText:t.object};const Ca=["root","text"],Tt={small:"my-0.5",medium:"my-1.5",large:"my-2.5",huge:"my-4"};function Ta(e,o){const{sx:s={},style:r={},className:c="",size:l="medium",children:n,...i}=e,p=Z(s,Ca),b=Tt[l]||Tt.medium,m=!!n,u=g({baseClassName:$("flex items-center justify-center relative w-full",b),className:c,sxSlot:p.root,baseStyle:{},style:r}),f=g({baseClassName:"px-2 whitespace-nowrap z-[1]",sxSlot:p.text});return a.jsxs("span",{ref:o,className:u.className,style:{...u.style,display:"flex",alignItems:"center",justifyContent:"center"},...i,children:[a.jsx("span",{className:`flex-1 h-px bg-[var(--tango-line-color)] ${m?"mr-2.5":""}`}),m&&a.jsx("span",{className:f.className,style:f.style,children:n}),a.jsx("span",{className:`flex-1 h-px bg-[var(--tango-line-color)] ${m?"ml-2.5":""}`})]})}const Xe=d.forwardRef(Ta);Xe.displayName="Line";Xe.propTypes={size:t.oneOf(["small","medium","large","huge"]),sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};const ka=["root"],kt={default:"bg-[var(--tango-mark-default-bg)]",primary:"bg-[var(--tango-mark-primary-bg)]",success:"bg-[var(--tango-mark-success-bg)]",warning:"bg-[var(--tango-mark-warning-bg)]",danger:"bg-[var(--tango-mark-danger-bg)]"};function ja(e,o){const{sx:s={},style:r={},className:c="",color:l="default",beauty:n=!1,children:i,...p}=e,b=Z(s,ka),m=kt[l]||kt.default,u=g({baseClassName:$("inline-block",m,n?"px-2 py-1 rounded":""),className:c,sxSlot:b.root,baseStyle:{},style:r});return a.jsx("mark",{ref:o,className:u.className,style:u.style,...p,children:i})}const Je=d.forwardRef(ja);Je.displayName="Mark";Je.propTypes={color:t.oneOf(["default","primary","success","warning","danger"]),beauty:t.bool,sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};const La=["overlay","container","header","title","closeBtn","content","footer"],Le={title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭"};function Qe(e){const{children:o,title:s,okText:r,cancelText:c,open:l=!1,onClose:n=()=>{},onOk:i,width:p,sx:b={},style:m={},className:u="",maskClosable:f=!0,footerButtons:v,localeText:N={},...L}=e,{t:F}=ne(),[P,O]=d.useState(!1),[y,w]=d.useState(!1);d.useEffect(()=>{if(l){O(!0);const k=setTimeout(()=>w(!0),30);return()=>clearTimeout(k)}if(P){w(!1);const k=setTimeout(()=>O(!1),300);return()=>clearTimeout(k)}},[l]),d.useEffect(()=>{if(P){const k=parseInt(document.body.dataset.tangoScrollLock||"0",10);return k===0&&(document.body.dataset.tangoOriginalOverflow=document.body.style.overflow),document.body.dataset.tangoScrollLock=String(k+1),document.body.style.overflow="hidden",()=>{const U=parseInt(document.body.dataset.tangoScrollLock||"0",10);U<=1?(document.body.style.overflow=document.body.dataset.tangoOriginalOverflow||"",delete document.body.dataset.tangoOriginalOverflow,delete document.body.dataset.tangoScrollLock):document.body.dataset.tangoScrollLock=String(U-1)}}},[P]);const h={title:s??F("modal.title",Le.title),okText:r??F("modal.okText",Le.okText),cancelText:c??F("modal.cancelText",Le.cancelText),closeAriaLabel:F("modal.closeAriaLabel",Le.closeAriaLabel),...N},x=Z(b,La),A=g({baseClassName:"fixed inset-0 z-[999] flex justify-center items-center",sxSlot:x.overlay}),M={tw:$(x.root.tw,x.container.tw),css:{...x.root.css,...x.container.css}},B=g({baseClassName:"bg-[var(--tango-modal-bg)] text-[var(--tango-foreground)] flex flex-col rounded-[var(--tango-radius)] shadow-[var(--tango-modal-shadow)] transition-all duration-300 ease-in-out",className:u,style:{width:p||"520px",maxWidth:"90vw",minHeight:"200px",maxHeight:"80vh",transform:y?"scale(1)":"scale(0.8)",opacity:y?1:0,...m},sxSlot:M}),j=g({baseClassName:"flex items-center justify-between px-5 pt-5 pb-3 shrink-0",sxSlot:x.header}),C=g({baseClassName:"text-lg font-bold text-[var(--tango-foreground)]",sxSlot:x.title}),T=g({baseClassName:"cursor-pointer p-1 rounded-md hover:bg-[var(--tango-muted)] transition-colors text-[var(--tango-muted-foreground)]",sxSlot:x.closeBtn}),_=g({baseClassName:"flex-1 overflow-auto overscroll-contain px-6 py-5 text-[var(--tango-foreground)]",sxSlot:x.content}),Y=g({baseClassName:"flex justify-end gap-2 px-5 py-4 border-t border-[var(--tango-border)] shrink-0",sxSlot:x.footer}),R=k=>{f&&k.target===k.currentTarget&&n()},W=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:a.jsx("path",{d:"M512 466.944l233.472-233.472a31.744 31.744 0 0 1 45.056 45.056L557.056 512l233.472 233.472a31.744 31.744 0 0 1-45.056 45.056L512 557.056l-233.472 233.472a31.744 31.744 0 0 1-45.056-45.056L466.944 512 233.472 278.528a31.744 31.744 0 0 1 45.056-45.056z"})}),z=v!=null&&v.length?v:[{key:"cancel",text:h.cancelText,onClick:n},{key:"ok",text:h.okText,onClick:i||n}];return P?a.jsx("div",{className:A.className,style:{...A.style,backgroundColor:"rgba(0, 0, 0, 0.5)",opacity:y?1:0,transition:"opacity 300ms ease-in-out"},onClick:R,role:"dialog","aria-modal":"true","aria-label":h.title,...L,children:a.jsxs("div",{className:B.className,style:B.style,children:[a.jsxs("div",{className:j.className,style:j.style,children:[a.jsx("h3",{className:C.className,style:C.style,children:h.title}),a.jsx("div",{className:T.className,style:T.style,onClick:n,role:"button",tabIndex:0,"aria-label":h.closeAriaLabel,onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&n()},children:W})]}),a.jsx("div",{className:_.className,style:_.style,children:o}),a.jsx("div",{className:Y.className,style:Y.style,children:z.map(k=>{const U=k.key==="ok";return a.jsx(se,{onClick:k.onClick,type:"default",outline:!U,size:"medium",style:U?{backgroundColor:"var(--tango-modal-ok-bg)",color:"var(--tango-modal-ok-fg)",borderColor:"var(--tango-modal-ok-bg)"}:{backgroundColor:"var(--tango-modal-cancel-bg)",color:"var(--tango-modal-cancel-fg)"},children:k.text},k.key)})})]})}):null}Qe.propTypes={children:t.node,title:t.string,okText:t.string,cancelText:t.string,open:t.bool,onClose:t.func,onOk:t.func,width:t.oneOfType([t.string,t.number]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,maskClosable:t.bool,footerButtons:t.arrayOf(t.shape({key:t.string.isRequired,text:t.string.isRequired,onClick:t.func.isRequired})),localeText:t.object};const Pa=["root","input","button"],Oa={small:"small",medium:"medium",large:"large",huge:"huge"},_a={small:"h-8 text-xs pl-2.5 pr-20",medium:"h-10 text-sm pl-3 pr-24",large:"h-12 text-base pl-3.5 pr-28",huge:"h-14 text-lg pl-4 pr-32"},Aa={small:"small",medium:"small",large:"medium",huge:"medium"},jt={placeholder:"请输入内容",btnText:"搜索"},Ma=(e,o,s)=>Object.prototype.hasOwnProperty.call(s,e)?e:o;function et(e){const{size:o="medium",sx:s={},style:r={},className:c="",onSearch:l,onChange:n,value:i,defaultValue:p,disabled:b=!1,placeholder:m,btnText:u,localeText:f,path:v="",...N}=e,{t:L}=ne(),F=d.useRef(null),P=Ma(o,"medium",Oa),O=i!==void 0,y=L("search.placeholder",jt.placeholder),w=L("search.btnText",jt.btnText),h=m??(f==null?void 0:f.placeholder)??y,x=u??(f==null?void 0:f.btnText)??w,A=Z(s,Pa),M=typeof s=="string",B={tw:$(M?A.root.tw:"",A.input.tw),css:{...A.root.css,...A.input.css}},j=$("relative inline-flex",M?"":A.root.tw),C=$("w-[300px] rounded-[var(--tango-radius)] border-[1px] bg-[var(--tango-input-bg)] text-[var(--tango-foreground)] outline-none transition-all duration-200 ease-in-out","border-[var(--tango-border)] shadow-[var(--tango-input-shadow)]","hover:border-[var(--tango-input-accent)]","focus:border-[var(--tango-input-accent)] focus:shadow-[var(--tango-input-focus-shadow)]",b&&"bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] border-[var(--tango-muted)] cursor-not-allowed shadow-none hover:border-[var(--tango-muted)] focus:shadow-none",_a[P]),T=g({baseClassName:C,className:c,style:r,sxSlot:B}),_=g({baseClassName:"absolute top-1/2 -translate-y-1/2",sxSlot:A.button,style:{right:"calc(var(--spacing) * 2)"}}),Y={right:_.style.right},R={..._.style};delete R.right;const W=d.useCallback(()=>{var U;return O?i:((U=F.current)==null?void 0:U.value)??""},[O,i]),z=d.useCallback(()=>{l==null||l(W())},[l,W]),k=d.useCallback(U=>{U.key==="Enter"&&z()},[z]);return a.jsxs("div",{className:j,children:[a.jsx("input",{ref:O?void 0:F,className:T.className,style:T.style,onKeyDown:k,onChange:n,value:O?i:void 0,defaultValue:O?void 0:p??"",disabled:b||void 0,placeholder:h,type:"text",role:"searchbox","aria-label":h,...N}),a.jsx("div",{className:_.className,style:Y,children:a.jsx(se,{onClick:z,size:Aa[P],disabled:b,"aria-label":x,style:R,children:v?a.jsx("img",{src:v,alt:"search-icon",style:{width:16,height:16,marginTop:2,marginBottom:-3}}):x})})]})}et.propTypes={size:t.oneOf(["small","medium","large","huge"]),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,onSearch:t.func,onChange:t.func,value:t.string,defaultValue:t.string,disabled:t.bool,placeholder:t.string,btnText:t.string,localeText:t.shape({placeholder:t.string,btnText:t.string}),path:t.string};const Vt={default:"block",inline:"inline-block",flex:"flex",inlineFlex:"inline-flex",grid:"grid",circle:"block rounded-full",fixed:"block fixed",absolute:"block absolute",relative:"block relative"},Yt=Object.keys(Vt),za=["root"];function Ea(e,o){const{sx:s={},style:r={},className:c="",type:l="default",children:n,...i}=e,p=Yt.includes(l)?l:"default",b=Z(s,za),m=g({baseClassName:Vt[p],className:c,sxSlot:b.root}),u=p==="circle"?{width:"var(--tango-space-circle-size, 64px)",height:"var(--tango-space-circle-size, 64px)",background:"var(--tango-space-circle-color, var(--tango-primary))"}:{};return a.jsx("div",{ref:o,className:m.className,style:{...u,...m.style,...r},...i,children:n})}const tt=d.forwardRef(Ea);tt.propTypes={type:t.oneOf(Yt),sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,children:t.node};tt.displayName="Space";const $a=["root","wrapper","thead","headerCell","body","row","cell","empty","pagination"],be={empty:"暂无数据",prev:"上一页",next:"下一页",page:"页",total:"共 {total} 条",perPage:"条/页"},Ba=10,Ia=[10,20,50,100],Pe=(e,...o)=>typeof e=="function"?e(...o):e??{};function Kt(e){const{dataSource:o=[],columns:s=[],sx:r={},style:c={},className:l="",pagination:n=null,hide:i=[],rowClassName:p,rowStyle:b,cellClassName:m,cellStyle:u,hoverColor:f="",i18nKey:v=null,localeText:N={},"aria-label":L,...F}=e,{t:P}=ne(),O=d.useId().replace(/:/g,"");o.length===0&&s.length===0&&console.warn("[Tango Table] dataSource 和 columns 不能同时为空,请至少提供一项。");const y={empty:P("table.empty",be.empty),prev:P("table.prev",be.prev),next:P("table.next",be.next),page:P("table.page",be.page),total:P("table.total",be.total),perPage:P("table.perPage",be.perPage),...N},w=Array.isArray(i)?i:typeof i=="string"?[i]:[],h=d.useMemo(()=>s.filter(J=>!J.hide&&!w.includes(J.dataIndex)),[s,w]),x=n!==null&&n!==!1,A=n&&n.placement||"bottom",M=n&&n.pageSize||Ba,B=n&&n.pageSizeOptions||Ia,j=(n==null?void 0:n.showTotal)!==!1,C=(n==null?void 0:n.showSizeChanger)!==!1,[T,_]=d.useState(1),[Y,R]=d.useState(M),W=o.length,z=Math.max(1,Math.ceil(W/Y)),k=Math.min(T,z),U=d.useMemo(()=>{if(!x)return o;const J=(k-1)*Y;return o.slice(J,J+Y)},[o,k,Y,x]),H=d.useCallback(J=>_(Math.max(1,Math.min(J,z))),[z]),K=Z(r,$a),D=g({baseClassName:$("w-full overflow-x-auto rounded-xl border-[1px] border-[var(--tango-border)]","shadow-[0_0_20px_color-mix(in_oklch,var(--tango-foreground)_8%,transparent)]"),className:l,style:c,sxSlot:{tw:$(K.root.tw,K.wrapper.tw),css:{...K.root.css,...K.wrapper.css}}}),ee=g({baseClassName:"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] sticky top-0 z-10",sxSlot:K.thead}),re=g({baseClassName:"text-[var(--tango-foreground)]",sxSlot:K.body}),ie=g({baseClassName:"text-[var(--tango-muted-foreground)] py-16 text-center",sxSlot:K.empty}),de=g({baseClassName:"flex items-center justify-between px-4 py-3 text-sm text-[var(--tango-muted-foreground)] border-t border-[var(--tango-border)]",sxSlot:K.pagination}),ue=f?a.jsx("style",{children:`
7
- [data-tango-table-id="${O}"] [data-tango-table-body] tr:hover {
8
- background-color: ${f} !important;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("react"),Io=require("react-dom"),e=require("prop-types"),zo=require("tailwind-merge"),Bt="tango:theme",Rt="tango:themeTokens",gt="light",Bo=new Set(["light","dark"]),Ro=["primary","input-accent","modal-ok-bg","drawer-ok-bg","datepicker-confirm-bg"],uo=s.createContext(null),go=()=>typeof window<"u",$t=(t,o)=>{if(!go())return o;try{const n=window.localStorage.getItem(t);return n?JSON.parse(n):o}catch{return o}},Ft=(t,o)=>{if(go())try{window.localStorage.setItem(t,JSON.stringify(o))}catch{}};function $o({children:t}){const[o,n]=s.useState(gt),d=s.useRef(!1);s.useEffect(()=>{const b=$t(Bt,gt);b!==gt&&Bo.has(b)&&n(b),d.current=!0},[]);const[f,c]=s.useState(()=>$t(Rt,{})),r=s.useRef(new Set);s.useEffect(()=>{typeof document>"u"||(document.documentElement.dataset.theme=o)},[o]),s.useEffect(()=>{d.current&&Ft(Bt,o)},[o]),s.useEffect(()=>{if(typeof document>"u")return;const b=document.documentElement,S=new Set(Object.keys(f));r.current.forEach(k=>{S.has(k)||b.style.removeProperty(`--${k}`)}),Object.entries(f).forEach(([k,m])=>{m==null||m===""?b.style.removeProperty(`--${k}`):b.style.setProperty(`--${k}`,String(m))}),r.current=S,Ft(Rt,f)},[f]);const p=b=>{c(S=>{const k=typeof b=="function"?b(S):b;return{...S,...k||{}}})},u=(b,S=Ro)=>{p(k=>{const m={...k};return S.forEach(F=>{m[F]=b}),m})},N=()=>{c({})},x=()=>{n(b=>b==="dark"?"light":"dark")};return a.jsx(uo.Provider,{value:{theme:o,setTheme:n,toggleTheme:x,themeTokens:f,setThemeTokens:p,setThemeColor:u,resetThemeTokens:N},children:t})}function Fo(){return s.useContext(uo)}const Do=new Set(["root","slots","tw","className","css","style"]),et={tw:"",css:{}},Me=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),J=(t,o="px")=>typeof t=="number"?`${t}${o}`:t,Oe=t=>typeof t=="string"&&t.startsWith("$")?`var(--${t.slice(1)})`:t,Vo=t=>t.includes("-")?t.replace(/-([a-z])/g,(o,n)=>n.toUpperCase()):t,Ko=t=>/(color|background|border|fill|stroke|shadow)$/i.test(t),Uo={mt:(t,o)=>{t.marginTop=J(o)},mr:(t,o)=>{t.marginRight=J(o)},mb:(t,o)=>{t.marginBottom=J(o)},ml:(t,o)=>{t.marginLeft=J(o)},mx:(t,o)=>{t.marginLeft=J(o),t.marginRight=J(o)},my:(t,o)=>{t.marginTop=J(o),t.marginBottom=J(o)},m:(t,o)=>{t.margin=J(o)},pt:(t,o)=>{t.paddingTop=J(o)},pr:(t,o)=>{t.paddingRight=J(o)},pb:(t,o)=>{t.paddingBottom=J(o)},pl:(t,o)=>{t.paddingLeft=J(o)},px:(t,o)=>{t.paddingLeft=J(o),t.paddingRight=J(o)},py:(t,o)=>{t.paddingTop=J(o),t.paddingBottom=J(o)},p:(t,o)=>{t.padding=J(o)},g:(t,o)=>{t.gap=J(o)},rg:(t,o)=>{t.rowGap=J(o)},cg:(t,o)=>{t.columnGap=J(o)},w:(t,o)=>{t.width=J(o)},h:(t,o)=>{t.height=J(o)},mw:(t,o)=>{t.minWidth=J(o)},mh:(t,o)=>{t.minHeight=J(o)},maxw:(t,o)=>{t.maxWidth=J(o)},maxh:(t,o)=>{t.maxHeight=J(o)},vw:(t,o)=>{t.width=typeof o=="number"?`${o}vw`:o},vh:(t,o)=>{t.height=typeof o=="number"?`${o}vh`:o},presentw:(t,o)=>{t.width=typeof o=="number"?`${o}%`:o},presenth:(t,o)=>{t.height=typeof o=="number"?`${o}%`:o},size:(t,o)=>{t.fontSize=J(o)},fw:(t,o)=>{t.fontWeight=o},fwb:t=>{t.fontWeight="bold"},fwn:t=>{t.fontWeight="normal"},tac:t=>{t.textAlign="center"},tar:t=>{t.textAlign="right"},tal:t=>{t.textAlign="left"},lh:(t,o)=>{t.lineHeight=J(o)},ls:(t,o)=>{t.letterSpacing=J(o)},c:(t,o)=>{t.color=Oe(o)},bg:(t,o)=>{t.background=Oe(o)},bgc:(t,o)=>{t.backgroundColor=Oe(o)},b:(t,o)=>{t.border=o===1?"1px solid var(--tango-border)":Oe(o)},br:(t,o)=>{t.borderRadius=J(o)},bw:(t,o)=>{t.borderWidth=J(o)},bs:(t,o)=>{t.borderStyle=o},bColor:(t,o)=>{t.borderColor=Oe(o)},boxshadow:(t,o)=>{t.boxShadow=Oe(o)},bgSize:(t,o)=>{t.backgroundSize=o},bgPosition:(t,o)=>{t.backgroundPosition=o},bgRepeat:(t,o)=>{t.backgroundRepeat=o},rel:t=>{t.position="relative"},ab:t=>{t.position="absolute"},fixed:t=>{t.position="fixed"},sticky:t=>{t.position="sticky"},center:t=>{t.position="absolute",t.inset=0,t.margin="auto"},inset:(t,o)=>{t.inset=J(o)},top:(t,o)=>{t.top=J(o)},right:(t,o)=>{t.right=J(o)},bottom:(t,o)=>{t.bottom=J(o)},left:(t,o)=>{t.left=J(o)},z:(t,o)=>{t.zIndex=o},flex:t=>{t.display="flex"},iflex:t=>{t.display="inline-flex"},fd:(t,o)=>{t.flexDirection=o},fwrap:(t,o="wrap")=>{t.flexWrap=o},aic:t=>{t.alignItems="center"},ai:(t,o)=>{t.alignItems=o},jcc:t=>{t.justifyContent="center"},jc:(t,o)=>{t.justifyContent=o},ac:(t,o)=>{t.alignContent=o},as:(t,o)=>{t.alignSelf=o},f:(t,o)=>{t.flex=typeof o=="number"?o:`${o}`},fl:t=>{t.float="left"},fr:t=>{t.float="right"},ar:(t,o)=>{t.aspectRatio=o},tran:(t,o)=>{t.transition=typeof o=="number"?`${o}s`:o},op:(t,o)=>{t.opacity=o},oh:t=>{t.overflow="hidden"},ohauto:t=>{t.overflow="auto"},oxh:t=>{t.overflowX="hidden"},oxa:t=>{t.overflowX="auto"},oyh:t=>{t.overflowY="hidden"},oya:t=>{t.overflowY="auto"},cur:(t,o)=>{t.cursor=o},pe:(t,o)=>{t.pointerEvents=o},boxsizing:t=>{t.boxSizing="border-box"},none:t=>{t.display="none"},block:t=>{t.display="block"},inline:t=>{t.display="inline"},ib:t=>{t.display="inline-block"},hidden:t=>{t.visibility="hidden"},shown:t=>{t.visibility="visible"}},Ve=(t={})=>Me(t)?Object.entries(t).reduce((o,[n,d])=>{if(Do.has(n))return o;const f=Uo[n];if(f)return f(o,d),o;const c=Vo(n),r=typeof d=="string"&&(d.startsWith("$")||Ko(c))?Oe(d):d;return o[c]=r,o},{}):{},E=(...t)=>{const o=t.filter(Boolean).join(" ").trim();return o?zo.twMerge(o):""},Xe=t=>{if(typeof t=="string")return{tw:t,css:{}};if(!Me(t))return{...et};if(!("tw"in t||"className"in t||"css"in t||"style"in t))return{tw:"",css:Ve(t)};const n=[t.className,t.tw].filter(Boolean).join(" "),d=Me(t.css)?Ve(t.css):{},f=Me(t.style)?Ve(t.style):{};return{tw:n,css:{...d,...f}}},Wo=(t,o)=>Me(t)?"root"in t||"slots"in t||"tw"in t||"className"in t||"css"in t||"style"in t?!0:o.some(n=>n!=="root"&&n in t):!1,Yo=t=>{const o={};return t.forEach(n=>{o[n]={...et}}),o.root||(o.root={...et}),o},le=(t,o=["root"])=>{const n=Yo(o);if(typeof t=="string")return n.root.tw=t,n;if(!Me(t))return n;if(!Wo(t,o))return n.root.css=Ve(t),n;const d=Xe({tw:[t.className,t.tw].filter(Boolean).join(" "),css:t.css,style:t.style}),f=Xe(t.root);n.root={tw:E(d.tw,f.tw),css:{...d.css,...f.css}};const c=Me(t.slots)?t.slots:{};return Object.keys(n).forEach(r=>{if(r==="root")return;const p=Xe(t[r]),u=Xe(c[r]);n[r]={tw:E(p.tw,u.tw),css:{...p.css,...u.css}}}),n},y=({baseClassName:t="",className:o="",baseStyle:n={},style:d={},sxSlot:f=et}={})=>({className:E(t,o,f.tw),style:{...n||{},...f.css||{},...d||{}}}),be=(t,o,n)=>Object.prototype.hasOwnProperty.call(n,t)?t:o,Ho=["root","icon","content"],Dt={success:"text-[var(--tango-notice-success-text)]",fail:"text-[var(--tango-notice-fail-text)]",caution:"text-[var(--tango-notice-caution-text)]"},Vt={default:{base:"fixed top-5 left-1/2 -translate-x-1/2",enter:"animate-[noticeSlideDown_0.3s_cubic-bezier(0.22,1,0.36,1)_forwards]"},md:{base:"fixed bottom-5 left-5",enter:"animate-[noticeSlideFromBottom_0.3s_ease-out_forwards]"}},Zo={TL:{base:"fixed top-5 left-5",enter:"animate-[noticeSlideFromLeft_0.3s_ease-out_forwards]",exit:"animate-[noticeSlideToLeft_0.3s_ease-in_forwards]"},TR:{base:"fixed top-5 right-5",enter:"animate-[noticeSlideFromRight_0.3s_ease-out_forwards]",exit:"animate-[noticeSlideToRight_0.3s_ease-in_forwards]"},BL:{base:"fixed bottom-5 left-5",enter:"animate-[noticeSlideFromBottom_0.3s_ease-out_forwards]",exit:"animate-[noticeSlideToBottom_0.3s_ease-in_forwards]"},BR:{base:"fixed bottom-5 right-5",enter:"animate-[noticeSlideFromBottom_0.3s_ease-out_forwards]",exit:"animate-[noticeSlideToBottom_0.3s_ease-in_forwards]"}};function Go(t,o){const{type:n="success",icon:d,message:f,variant:c="default",placement:r,duration:p=3e3,onClose:u,sx:N={},style:x={},className:b="",...S}=t,[k,m]=s.useState(!1),F=Dt[n]?n:"success",M=r?r.toUpperCase():void 0,T=Zo[M],I=T?void 0:Vt[c]?c:"default",D=le(N,Ho),w=s.useCallback(()=>{m(!0);const C=setTimeout(()=>u==null?void 0:u(),300);return()=>clearTimeout(C)},[u]);s.useEffect(()=>{if(!u||p<=0)return;const C=setTimeout(w,p);return()=>clearTimeout(C)},[u,p,w]);const h=T||Vt[I],g=M?(T==null?void 0:T.exit)||"animate-[noticeSlideToBottom_0.3s_ease-in_forwards]":I==="default"?"animate-[noticeSlideUpFade_0.3s_ease-in_forwards]":"animate-[noticeSlideToBottom_0.3s_ease-in_forwards]",Y=I==="md"||!!M,_=y({baseClassName:E("inline-flex items-center gap-2 px-3 py-2.5 text-sm z-[999]","rounded-[var(--tango-notice-radius)]","bg-[var(--tango-notice-bg)] text-[var(--tango-notice-foreground)]","shadow-[var(--tango-notice-shadow)]",h.base,k?g:h.enter,Y&&Dt[F]),className:b,sxSlot:D.root,baseStyle:{borderRadius:"var(--tango-notice-radius)"},style:x}),j=y({baseClassName:"inline-flex items-center justify-center leading-none flex-shrink-0 text-[var(--tango-notice-foreground)]",baseStyle:{transform:"translateY(-0.5px)"},sxSlot:D.icon}),z=y({baseClassName:"inline-block",sxSlot:D.content}),K=!I||I==="default"||!!M;return a.jsxs("div",{ref:o,role:"alert",className:_.className,style:_.style,...S,children:[K&&d&&a.jsx("span",{className:j.className,style:j.style,children:d}),a.jsx("span",{className:z.className,style:z.style,children:f})]})}const Ue=s.forwardRef(Go);Ue.displayName="Notice";Ue.propTypes={type:e.oneOf(["success","fail","caution"]),icon:e.node,message:e.node,variant:e.oneOf(["default","md"]),placement:e.oneOf(["TL","TR","BL","BR","tl","tr","bl","br"]),duration:e.number,onClose:e.func,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string};const po=s.createContext(null),qo=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em",children:a.jsx("path",{d:"M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0",fill:"var(--tango-notice-success-text)"})}),Xo=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em",children:a.jsx("path",{d:"M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z",fill:"var(--tango-notice-fail-text)"})}),Jo=a.jsxs("svg",{viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em",children:[a.jsx("path",{d:"M512 909.061224c-218.906122 0-397.061224-178.155102-397.061224-397.061224s178.155102-397.061224 397.061224-397.061224 397.061224 178.155102 397.061224 397.061224-178.155102 397.061224-397.061224 397.061224z",fill:"var(--tango-notice-caution-text)"}),a.jsx("path",{d:"M512 690.677551m-31.346939 0a31.346939 31.346939 0 1 0 62.693878 0 31.346939 31.346939 0 1 0-62.693878 0Z",fill:"var(--tango-notice-fail-text)"}),a.jsx("path",{d:"M512 584.097959c-11.493878 0-20.897959-9.404082-20.897959-20.897959v-261.22449c0-11.493878 9.404082-20.897959 20.897959-20.897959s20.897959 9.404082 20.897959 20.897959v261.22449c0 12.016327-9.404082 20.897959-20.897959 20.897959z",fill:"var(--tango-notice-fail-text)"})]}),Kt={success:qo,fail:Xo,caution:Jo};function Qo({children:t,maxCount:o=1/0}){const[n,d]=s.useState([]),[f,c]=s.useState(!1);s.useEffect(()=>{c(!0)},[]);const r=s.useCallback(u=>{d(N=>N.filter(x=>x.id!==u))},[]),p=s.useCallback((u,N,x="default")=>{let b,S,k,m;typeof x=="string"?b=x:typeof x=="number"?(S=x,b="default"):(b=x.variant??"default",S=x.duration,k=x.placement,m=x.key);const F=Date.now()+Math.random();d(M=>{if(m){const I=M.findIndex(D=>D.key===m);if(I!==-1){const D=[...M];return D[I]={...D[I],id:Date.now()+Math.random(),type:u,message:N,variant:b,icon:Kt[u],...S!==void 0&&{duration:S},...k!=null&&{placement:String(k).toUpperCase()},key:m},D}}let T=M;return o!==1/0&&M.length>=o&&(T=M.slice(1)),[...T,{id:F,type:u,message:N,variant:b,icon:Kt[u],...S!==void 0&&{duration:S},...k!=null&&{placement:String(k).toUpperCase()},...m!==void 0&&{key:m}}]})},[o]);return a.jsxs(po.Provider,{value:{add:p,remove:r},children:[t,f&&Io.createPortal(a.jsx("div",{id:"notification-container",className:"flex flex-col items-center gap-2",children:n.map(u=>a.jsx(Ue,{type:u.type,icon:u.icon,message:u.message,variant:u.variant,placement:u.placement,duration:u.duration??3e3,onClose:()=>r(u.id)},u.id))}),document.body)]})}function ea(){const t=s.useContext(po);if(!t)throw new Error("useNotice must be used inside <NoticeProvider />");return t}function ta(){const{add:t}=ea();return{success:(o,n)=>t("success",o,n??"default"),fail:(o,n)=>t("fail",o,n??"default"),caution:(o,n)=>t("caution",o,n??"default"),md:{success:(o,n)=>t("success",o,n??{variant:"md"}),fail:(o,n)=>t("fail",o,n??{variant:"md"}),caution:(o,n)=>t("caution",o,n??{variant:"md"})}}}const mo="tango:locale",Ee="zh-CN",oa={zh:"zh-CN",ZH:"zh-CN","zh-CN":"zh-CN","zh-cn":"zh-CN",cn:"zh-CN",CN:"zh-CN",en:"en-US",EN:"en-US","en-US":"en-US","en-us":"en-US",us:"en-US",US:"en-US"},fo={"zh-CN":{button:{default:"按钮",loading:"加载中",iconAlt:"图标",toggle:"切换",light:"浅色",dark:"暗色",blue:"蓝色",green:"绿色",token:"自定义词条",reset:"重置",locale:"语言",chinese:"中文",english:"英文",successDemo:"成功",outlineDemo:"描边",submit:"提交",confirm:"确认",cancel:"取消",search:"搜索",save:"保存",delete:"删除",back:"返回",next:"下一步",prev:"上一步",add:"新增"},banner:{cancel:"取消",action:"操作"},colorpicker:{hex:"HEX",rgb:"RGB",hsl:"HSL"},date:{weekdayPrefix:"星期",weekdayShortPrefix:"周"},datepicker:{placeholder:"YYYY-MM-DD",placeholderTime:"YYYY-MM-DD HH:mm",timeLabel:"时间",confirm:"确定",cancel:"关闭",prevMonth:"上一月",nextMonth:"下一月",hourLabel:"小时",minuteLabel:"分钟",panelAriaLabel:"日期选择面板"},drawer:{title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭"},modal:{title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭",confirmTitle:"确认",successTitle:"成功",errorTitle:"错误",warningTitle:"警告"},search:{placeholder:"请输入内容",btnText:"搜索"},input:{clearAriaLabel:"清除",countTemplate:"{current} / {max}"},upload:{btnText:"选择文件",dragPlaceholder:"点击或拖拽文件到此区域上传",dragActivePlaceholder:"释放文件以上传"},materialInput:{label:""},materialButton:{default:"按钮",loading:"加载中",iconAlt:"图标"},table:{empty:"暂无数据",prev:"上一页",next:"下一页",page:"页",total:"共 {total} 条",perPage:"条/页",selectedSummary:"共 {total} 行,已选 {selected} 行",selectAll:"全选",selectRow:"选择行"}},"en-US":{button:{default:"Button",loading:"Loading",iconAlt:"icon",toggle:"Toggle",light:"Light",dark:"Dark",blue:"Blue",green:"Green",token:"Token",reset:"Reset",locale:"Locale",chinese:"Chinese",english:"English",successDemo:"Success",outlineDemo:"Outline",submit:"Submit",confirm:"Confirm",cancel:"Cancel",search:"Search",save:"Save",delete:"Delete",back:"Back",next:"Next",prev:"Previous",add:"Add"},banner:{cancel:"Cancel",action:"Action"},colorpicker:{hex:"HEX",rgb:"RGB",hsl:"HSL"},date:{weekdayPrefix:"",weekdayShortPrefix:""},datepicker:{placeholder:"YYYY-MM-DD",placeholderTime:"YYYY-MM-DD HH:mm",timeLabel:"Time",confirm:"Confirm",cancel:"Close",prevMonth:"Previous month",nextMonth:"Next month",hourLabel:"Hour",minuteLabel:"Minute",panelAriaLabel:"Date picker panel"},drawer:{title:"Drawer",okText:"OK",cancelText:"Cancel",closeAriaLabel:"Close"},modal:{title:"Modal",okText:"OK",cancelText:"Cancel",closeAriaLabel:"Close",confirmTitle:"Confirm",successTitle:"Success",errorTitle:"Error",warningTitle:"Warning"},search:{placeholder:"Search...",btnText:"Search"},input:{clearAriaLabel:"Clear",countTemplate:"{current} / {max}"},upload:{btnText:"Select file",dragPlaceholder:"Click or drag files to this area to upload",dragActivePlaceholder:"Release to upload"},materialInput:{label:""},materialButton:{default:"Button",loading:"Loading",iconAlt:"icon"},table:{empty:"No data",prev:"Previous",next:"Next",page:"Page",total:"{total} items",perPage:"/ page",selectedSummary:"{total} rows, {selected} selected",selectAll:"Select all",selectRow:"Select row"}}},yt=()=>{},xo=s.createContext({locale:Ee,setLocale:yt,toggleLocale:yt,messages:fo,t:(t,o="")=>o}),Ut=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),bo=(t,o)=>{const n={...t};return Object.entries(o||{}).forEach(([d,f])=>{Ut(f)&&Ut(n[d])?n[d]=bo(n[d],f):n[d]=f}),n},aa=(t,o)=>o.split(".").reduce((n,d)=>{if(n&&Object.prototype.hasOwnProperty.call(n,d))return n[d]},t),Ke=t=>typeof t!="string"||!t.trim()?Ee:oa[t]||t,sa=()=>{if(typeof window>"u")return Ee;try{const t=window.localStorage.getItem(mo);return Ke(t||Ee)}catch{return Ee}};function ra({children:t,locale:o,defaultLocale:n=Ee,onLocaleChange:d=yt,messages:f={}}){const c=Ke(n),r=o==null?null:Ke(o),[p,u]=s.useState(()=>sa()||c),N=r||p,x=m=>{const F=Ke(m);r==null&&u(F),d(F)};s.useEffect(()=>{if(!(typeof window>"u"))try{window.localStorage.setItem(mo,N)}catch{}},[N]);const b=s.useMemo(()=>bo(fo,f),[f]),S=()=>{x(N==="zh-CN"?"en-US":"zh-CN")},k=(m,F="")=>{const M=b[N]||b[Ee]||{},T=aa(M,m);return T==null||T===""?F:String(T)};return a.jsx(xo.Provider,{value:{locale:N,setLocale:x,toggleLocale:S,messages:b,t:k},children:t})}function he(){return s.useContext(xo)}const na="_materialBtn_rb1v1_15",la="_materialBtnSmall_rb1v1_53",ia="_materialBtnMedium_rb1v1_65",ca="_materialBtnLarge_rb1v1_77",da="_materialBtnHuge_rb1v1_89",ua="_materialBtnDisabled_rb1v1_103",ga="_ripple_rb1v1_119",$e={materialBtn:na,materialBtnSmall:la,materialBtnMedium:ia,materialBtnLarge:ca,materialBtnHuge:da,materialBtnDisabled:ua,ripple:ga},Wt=["root","content","icon","loading"],pa={small:"small",medium:"medium",large:"large",huge:"huge"},ma={small:12,medium:14,large:16,huge:20},Yt={default:{backgroundColor:"var(--tango-primary)",color:"var(--tango-primary-foreground)",borderColor:"var(--tango-border)",borderWidth:"1px",borderStyle:"solid"},transparent:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-primary-foreground)",borderColor:"var(--tango-button-transparent-border)",borderWidth:"1px",borderStyle:"solid"},danger:{backgroundColor:"var(--tango-destructive)",color:"var(--tango-destructive-foreground)",borderColor:"transparent",borderWidth:"1px",borderStyle:"solid"},success:{backgroundColor:"var(--tango-success)",color:"var(--tango-success-foreground)",borderColor:"transparent",borderWidth:"1px",borderStyle:"solid"}},fa={default:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-button-outline-foreground)",borderColor:"var(--tango-border)",borderWidth:"1px",borderStyle:"solid"},transparent:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-button-outline-foreground)",borderColor:"var(--tango-button-transparent-border)",borderWidth:"1px",borderStyle:"solid"},danger:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-destructive)",borderColor:"var(--tango-destructive)",borderWidth:"1px",borderStyle:"solid"},success:{backgroundColor:"var(--tango-transparent)",color:"var(--tango-success)",borderColor:"var(--tango-success)",borderWidth:"1px",borderStyle:"solid"}},xa={backgroundColor:"var(--tango-muted)",color:"var(--tango-muted-foreground)",borderColor:"transparent",borderWidth:"1px",borderStyle:"solid",cursor:"not-allowed"},pt={default:"按钮",loading:"加载中",iconAlt:"图标"},ba=t=>t.charAt(0).toUpperCase()+t.slice(1),ha=t=>t===!0||t==="light"||t==="dark"?!0:Array.isArray(t)&&t.length>0?t[0]===!0||t[0]==="light"||t[0]==="dark":!1,ya=t=>t==="light"?"light":t==="dark"||t===!0||Array.isArray(t)&&t.length>=2&&t[1]==="dark"?"dark":"light";function tt(t){const{type:o="default",size:n="medium",sx:d={},style:f={},className:c="",onClick:r=()=>{},children:p,disabled:u=!1,outline:N=!1,icon:x=null,iconPosition:b=null,loading:S=!1,i18nKey:k=null,localeText:m={},rippleColor:F,"aria-label":M,...T}=t,{t:I}=he(),D=s.useRef(null),w=be(n,"medium",pa),h=be(o,"default",Yt),g=ha(S),Y=ya(S),_=u||g,j=ma[w],z=b==="right"?"right":x||g?"left":null,K=F??"var(--tango-material-button-ripple)",C={default:I("materialButton.default",pt.default),loading:I("materialButton.loading",pt.loading),iconAlt:I("materialButton.iconAlt",pt.iconAlt),...m},R=(k&&typeof C[k]=="string"?C[k]:null)||(k?I(`materialButton.${k}`,C.default):C.default),U=g?C.loading:R,$=p??U,W=M||(p==null?String($||C.default):void 0),Q=le(d,Wt),oe=_?xa:N?fa[h]:Yt[h],X=$e[`materialBtn${ba(w)}`],te=Q.root.css||{},ne=typeof d=="string"?d:"",ie=new Set([...Wt,"root","slots","tw","className","css","style"]),ae=typeof d=="object"?Object.fromEntries(Object.entries(d).filter(([re])=>!ie.has(re))):{},se=[$e.materialBtn,X,_&&$e.materialBtnDisabled,Q.root.tw,ne,c].filter(Boolean).join(" "),ge={...oe,...ae,...te,...f},P=y({baseClassName:"inline-flex items-center relative z-[1]",sxSlot:Q.content}),V=y({baseClassName:"inline-flex items-center justify-center shrink-0 transition-all duration-300 relative z-[1]",baseStyle:{width:`${j}px`,height:`${j}px`},sxSlot:Q.icon}),ce=y({baseClassName:"inline-flex items-center justify-center shrink-0 animate-spin relative z-[1]",baseStyle:{width:`${j}px`,height:`${j}px`,color:Y==="light"?"var(--tango-button-loading-light)":"var(--tango-button-loading-dark)"},sxSlot:Q.loading}),q=s.useCallback(re=>{if(_)return;const l=D.current;if(!l)return;const i=document.createElement("span"),L=Math.max(l.clientWidth,l.clientHeight),Z=L/2;Object.assign(i.style,{width:`${L}px`,height:`${L}px`,left:`${re.clientX-l.getBoundingClientRect().left-Z}px`,top:`${re.clientY-l.getBoundingClientRect().top-Z}px`}),i.className=$e.ripple,i.style.background=K;const O=l.querySelector(`.${$e.ripple}`);O&&O.remove(),l.appendChild(i)},[_,K]),ue=()=>{if(!x)return null;if(typeof x=="string")return a.jsx("img",{src:x,alt:C.iconAlt,className:V.className,style:V.style,"aria-hidden":"true"});if(s.isValidElement(x))return s.cloneElement(x,{className:E(V.className,x.props.className),style:{...V.style,...x.props.style},"aria-hidden":!0});if(typeof x=="function"){const re=x;return a.jsx(re,{className:V.className,style:V.style,"aria-hidden":"true"})}return a.jsx("span",{className:V.className,style:V.style,"aria-hidden":"true",children:x})},de=()=>a.jsx("svg",{viewBox:"0 0 1024 1024",role:"presentation",className:ce.className,style:ce.style,"aria-hidden":"true",children:a.jsx("path",{d:"M512 1024A512 512 0 0 1 0 512a32 32 0 0 1 64 0 448 448 0 0 0 896 0 32 32 0 0 1 64 0 512 512 0 0 1-512 512z",fill:"currentColor"})});return a.jsxs("button",{ref:D,className:se,style:ge,onClick:re=>{q(re),r==null||r(re)},disabled:_,"aria-label":W,"data-variant":h,"data-size":w,"data-icon-position":z||void 0,...T,children:[z==="left"&&a.jsxs(a.Fragment,{children:[g&&de(),!g&&x&&ue()]}),a.jsx("span",{className:P.className,style:P.style,children:$}),z==="right"&&a.jsxs(a.Fragment,{children:[g&&de(),!g&&x&&ue()]})]})}tt.propTypes={type:e.oneOf(["default","transparent","danger","success"]),size:e.oneOf(["small","medium","large","huge"]),sx:e.oneOfType([e.string,e.object]),style:e.object,onClick:e.func,className:e.string,children:e.node,disabled:e.bool,outline:e.bool,icon:e.oneOfType([e.elementType,e.node,e.string]),iconPosition:e.oneOf(["left","right"]),loading:e.oneOfType([e.bool,e.oneOf(["light","dark"]),e.array]),i18nKey:e.string,localeText:e.shape({default:e.string,loading:e.string,iconAlt:e.string}),rippleColor:e.string};const va=["root","content","icon","loading"],mt={default:"按钮",loading:"加载中",iconAlt:"图标"},Sa="inline-flex select-none items-center justify-center whitespace-nowrap rounded-[var(--tango-radius)] border-[1px] align-middle font-medium tracking-[0.5px] transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tango-input-accent)] focus-visible:ring-offset-2",ft={small:{iconSize:12,className:"text-xs px-2 py-1 gap-1"},medium:{iconSize:14,className:"text-sm px-4 py-2 gap-1.5"},large:{iconSize:16,className:"text-base px-5 py-3 gap-2"},huge:{iconSize:20,className:"text-[25px] px-[45px] py-[18px] gap-3"}},Ht={default:"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] border-[var(--tango-border)] hover:shadow-[0_0_0.4em_0_var(--tango-button-shadow-default)]",transparent:"bg-[var(--tango-transparent)] text-[var(--tango-primary-foreground)] border-[var(--tango-button-transparent-border)] hover:shadow-[0_0_0.4em_0_var(--tango-button-shadow-default)]",danger:"bg-[var(--tango-destructive)] text-[var(--tango-destructive-foreground)] border-transparent hover:shadow-[0_0_0.4em_0_var(--tango-destructive)]",success:"bg-[var(--tango-success)] text-[var(--tango-success-foreground)] border-transparent hover:shadow-[0_0_0.4em_0_var(--tango-success)]"},wa="bg-[var(--tango-transparent)]",Na={default:"text-[var(--tango-button-outline-foreground)] border-[var(--tango-border)]",transparent:"text-[var(--tango-button-outline-foreground)] border-[var(--tango-button-transparent-border)]",danger:"text-[var(--tango-destructive)] border-[var(--tango-destructive)]",success:"text-[var(--tango-success)] border-[var(--tango-success)]"},Ca="shadow-[var(--tango-button-enu-shadow)] hover:shadow-[var(--tango-button-enu-hover-shadow)] active:translate-y-px active:shadow-[var(--tango-button-enu-active-shadow)]",ka={default:"bg-[var(--tango-button-enu-bg)] text-[var(--tango-button-enu-fg)] border-transparent",transparent:"bg-[var(--tango-transparent)] text-[var(--tango-button-enu-fg)] border-[var(--tango-button-transparent-border)]",danger:"bg-[var(--tango-destructive)] text-[var(--tango-destructive-foreground)] border-transparent",success:"bg-[var(--tango-success)] text-[var(--tango-success-foreground)] border-transparent"},Ta="bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] border-transparent cursor-not-allowed shadow-none hover:shadow-none",La=t=>t===!0||t==="light"||t==="dark"?!0:Array.isArray(t)&&t.length>0?t[0]===!0||t[0]==="light"||t[0]==="dark":!1,ja=t=>t==="light"?"light":t==="dark"||t===!0||Array.isArray(t)&&t.length>=2&&t[1]==="dark"?"dark":"light";function Se(t){const{type:o="default",size:n="medium",sx:d={},style:f={},className:c="",onClick:r=()=>{},children:p,disabled:u=!1,outline:N=!1,enu:x=!1,icon:b=null,iconPosition:S=null,loading:k=!1,i18nKey:m=null,localeText:F={},"aria-label":M,...T}=t,{t:I}=he(),D=be(n,"medium",ft),w=be(o,"default",Ht),h=La(k),g=ja(k),Y=u||h,_=ft[D].iconSize,j=S==="right"?"right":b||h?"left":null,z=le(d,va),K={default:I("button.default",mt.default),loading:I("button.loading",mt.loading),iconAlt:I("button.iconAlt",mt.iconAlt),...F},H=(m&&typeof K[m]=="string"?K[m]:null)||(m?I(`button.${m}`,K.default):K.default),R=h?K.loading:H,U=p??R,$=M||(p==null?String(U||K.default):void 0);let W=Ht[w];N&&(W=E(W,wa,Na[w])),x&&(W=E(W,Ca,ka[w]));const Q=y({baseClassName:E(Sa,ft[D].className,W,Y&&Ta,h&&"cursor-wait"),className:c,style:f,sxSlot:z.root}),oe=y({baseClassName:"inline-flex items-center",sxSlot:z.content}),X=y({baseClassName:"inline-flex items-center justify-center shrink-0 transition-all duration-300",baseStyle:{width:`${_}px`,height:`${_}px`},sxSlot:z.icon}),te=y({baseClassName:"inline-flex items-center justify-center shrink-0 animate-spin",baseStyle:{width:`${_}px`,height:`${_}px`,color:g==="light"?"var(--tango-button-loading-light)":"var(--tango-button-loading-dark)"},sxSlot:z.loading}),ne=()=>{if(!b)return null;if(typeof b=="string")return a.jsx("img",{src:b,alt:K.iconAlt,className:X.className,style:X.style,"aria-hidden":"true"});if(s.isValidElement(b))return s.cloneElement(b,{className:E(X.className,b.props.className),style:{...X.style,...b.props.style},"aria-hidden":!0});if(typeof b=="function"){const ae=b;return a.jsx(ae,{className:X.className,style:X.style,"aria-hidden":"true"})}return a.jsx("span",{className:X.className,style:X.style,"aria-hidden":"true",children:b})},ie=()=>a.jsx("svg",{viewBox:"0 0 1024 1024",role:"presentation",className:te.className,style:te.style,"aria-hidden":"true",children:a.jsx("path",{d:"M512 1024A512 512 0 0 1 0 512a32 32 0 0 1 64 0 448 448 0 0 0 896 0 32 32 0 0 1 64 0 512 512 0 0 1-512 512z",fill:"currentColor"})});return a.jsxs("button",{className:Q.className,style:Q.style,onClick:r,disabled:Y,"aria-label":$,"data-variant":w,"data-size":D,"data-icon-position":j||void 0,...T,children:[j==="left"&&a.jsxs(a.Fragment,{children:[h&&ie(),!h&&b&&ne()]}),a.jsx("span",{className:oe.className,style:oe.style,children:U}),j==="right"&&a.jsxs(a.Fragment,{children:[h&&ie(),!h&&b&&ne()]})]})}Se.propTypes={type:e.oneOf(["default","transparent","danger","success"]),size:e.oneOf(["small","medium","large","huge"]),sx:e.oneOfType([e.string,e.object]),style:e.object,onClick:e.func,className:e.string,children:e.node,disabled:e.bool,outline:e.bool,enu:e.bool,icon:e.oneOfType([e.elementType,e.node,e.string]),iconPosition:e.oneOf(["left","right"]),loading:e.oneOfType([e.bool,e.oneOf(["light","dark"]),e.array]),i18nKey:e.string,localeText:e.shape({default:e.string,loading:e.string,iconAlt:e.string})};Se.MaterialButton=tt;const _a=["root","input","label","prefix","suffix","clearIcon"],Pa={small:"small",medium:"medium",large:"large",huge:"huge"},Aa={small:{wrapper:"h-10 text-sm",label:"text-sm",labelFloat:"text-[10px]",pt:"pt-5"},medium:{wrapper:"h-12 text-base",label:"text-base",labelFloat:"text-xs",pt:"pt-6"},large:{wrapper:"h-14 text-lg",label:"text-lg",labelFloat:"text-sm",pt:"pt-7"},huge:{wrapper:"h-16 text-xl",label:"text-xl",labelFloat:"text-base",pt:"pt-8"}},Oa={small:"pl-7",medium:"pl-8",large:"pl-9",huge:"pl-10"},Ma={small:"pr-7",medium:"pr-8",large:"pr-9",huge:"pr-10"},xt={label:"",clearAriaLabel:"清除",countTemplate:"{current} / {max}"};function ot(t){const{size:o="medium",sx:n={},style:d={},className:f="",onChange:c,value:r,defaultValue:p,disabled:u=!1,label:N,localeText:x,type:b="text",prefix:S,suffix:k,allowClear:m=!0,showCount:F=!1,maxLength:M=524288,...T}=t,{t:I}=he(),D=s.useRef(null),w=be(o,"medium",Pa),h=r!==void 0,[g,Y]=s.useState(h?r??"":p??""),[_,j]=s.useState(!1),z=h?r??"":g,K=String(z).length,C=K>M,H=_||String(z).length>0,R=N??(x==null?void 0:x.label)??I("materialInput.label",xt.label),U=(x==null?void 0:x.clearAriaLabel)??I("input.clearAriaLabel",xt.clearAriaLabel),$=le(n,_a),W={tw:E($.root.tw,$.input.tw),css:{...$.root.css,...$.input.css}},Q=E("relative inline-flex flex-col",$.root.tw),oe=Aa[w],X=!!S,te=!!k||m&&!u,ne=E(X?Oa[w]:"",te?Ma[w]:""),ie=E("w-[300px] bg-transparent text-[var(--tango-foreground)] outline-none transition-all duration-200 ease-in-out","border-b border-b-[var(--tango-border)]","hover:border-b-[var(--tango-input-accent)]","focus:border-b-[var(--tango-input-accent)]",u&&"text-[var(--tango-muted-foreground)] border-b-[var(--tango-muted)] cursor-not-allowed hover:border-b-[var(--tango-muted)]",oe.wrapper,oe.pt,ne),ae=y({baseClassName:ie,className:f,style:d,sxSlot:W}),se=E("absolute left-0 transition-all duration-200 ease-in-out pointer-events-none",H?`top-1 ${oe.labelFloat} text-[var(--tango-input-accent)]`:`top-1/2 -translate-y-1/2 ${oe.label} text-[var(--tango-muted-foreground)]`,_&&H&&"text-[var(--tango-input-accent)]",u&&"text-[var(--tango-muted-foreground)]",$.label.tw),ge=y({baseClassName:se,sxSlot:{tw:"",css:$.label.css}}),P=s.useCallback(O=>{const A=O.target.value;h||Y(A),c==null||c(A)},[h,c]),V=s.useCallback(O=>{var A;j(!0),(A=T.onFocus)==null||A.call(T,O)},[T.onFocus]),ce=s.useCallback(O=>{var A;j(!1),(A=T.onBlur)==null||A.call(T,O)},[T.onBlur]),q=s.useCallback(O=>{O.stopPropagation(),h||(Y(""),D.current&&(D.current.value="")),c==null||c("")},[h,c]),ue=()=>{if(!S)return null;const O=y({baseClassName:"absolute top-1/2 -translate-y-1/2 left-2 text-[var(--tango-muted-foreground)]",sxSlot:$.prefix});return a.jsx("span",{className:O.className,style:O.style,children:S})},de=()=>{if(!k)return null;const A=y({baseClassName:`absolute top-1/2 -translate-y-1/2 ${m&&!u?"right-6":"right-1.5"} text-[var(--tango-muted-foreground)]`,sxSlot:$.suffix});return a.jsx("span",{className:A.className,style:A.style,children:k})},re=()=>{if(!m||u||!(z!==""&&z!==void 0&&z!==null))return null;const A=y({baseClassName:"absolute top-1/2 -translate-y-1/2 right-1.5 cursor-pointer text-[var(--tango-muted-foreground)] hover:text-[var(--tango-foreground)] transition-colors",sxSlot:$.clearIcon});return a.jsx("span",{className:A.className,style:A.style,onClick:q,"aria-label":U,role:"button",children:a.jsx("svg",{viewBox:"0 0 16 16",fill:"currentColor",style:{width:14,height:14},children:a.jsx("path",{d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"})})})},l=()=>{if(!F)return null;const A=((x==null?void 0:x.countTemplate)??I("input.countTemplate",xt.countTemplate)).replace("{current}",String(K)).replace("{max}",String(M));return a.jsx("div",{className:E("text-xs mt-1 text-right w-[300px]",C?"text-[var(--tango-input-error-border)]":"text-[var(--tango-muted-foreground)]"),children:A})},{onFocus:i,onBlur:L,...Z}=T;return a.jsxs("div",{className:Q,children:[a.jsxs("div",{className:"relative inline-flex w-[300px]",children:[ue(),a.jsx("input",{...Z,ref:h?void 0:D,type:b,className:ae.className,style:ae.style,value:h?r:void 0,defaultValue:h?void 0:p??"",maxLength:M,disabled:u||void 0,onChange:P,onFocus:V,onBlur:ce,"aria-label":R||void 0}),de(),re(),R&&a.jsx("label",{className:ge.className,style:ge.style,children:R})]}),l()]})}ot.propTypes={size:e.oneOf(["small","medium","large","huge"]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,onChange:e.func,value:e.string,defaultValue:e.string,disabled:e.bool,label:e.string,localeText:e.shape({label:e.string,clearAriaLabel:e.string,countTemplate:e.string}),type:e.string,prefix:e.node,suffix:e.node,allowClear:e.bool,showCount:e.bool,maxLength:e.number};const Ea=["root","input","prefix","suffix","clearIcon"],Ia={small:"small",medium:"medium",large:"large",huge:"huge"},za={small:"h-8 text-xs px-2.5",medium:"h-10 text-sm px-3",large:"h-12 text-base px-3.5",huge:"h-14 text-lg px-4"},Ba={small:"pl-7",medium:"pl-8",large:"pl-9",huge:"pl-10"},Ra={small:"pr-7",medium:"pr-8",large:"pr-9",huge:"pr-10"},Zt={clearAriaLabel:"清除",countTemplate:"{current} / {max}"};function We(t){const{type:o="default",size:n="medium",sx:d={},style:f={},className:c="",onClick:r,onChange:p,value:u,defaultValue:N,disabled:x=!1,placeholder:b="",maxLength:S=524288,status:k,prefix:m,suffix:F,allowClear:M=!0,showCount:T=!1,localeText:I,...D}=t,{t:w}=he(),h=s.useRef(null),g=u!==void 0,[Y,_]=s.useState(g?u??"":N??""),j=g?u??"":Y,z=String(j).length,K=z>S,C=be(n,"medium",Ia),H=o==="textarea",R=o==="password",U=k==="error",$=le(d,Ea),W=typeof d=="string",Q={tw:E(W?$.root.tw:"",$.input.tw),css:{...$.root.css,...$.input.css}},oe=E("relative inline-flex flex-col",W?"":$.root.tw),X=!!m,te=!!F||M&&!x,ne=E(X?Ba[C]:"",te?Ra[C]:""),ie=E("w-[300px] rounded-[var(--tango-radius)] border-[1px] bg-[var(--tango-input-bg)] text-[var(--tango-foreground)] outline-none transition-all duration-200 ease-in-out","border-[var(--tango-border)] shadow-[var(--tango-input-shadow)]","hover:border-[var(--tango-input-accent)]","focus:border-[var(--tango-input-accent)] focus:shadow-[var(--tango-input-focus-shadow)]",U&&"border-[var(--tango-input-error-border)] bg-[var(--tango-input-error-bg)] text-[var(--tango-input-error-fg)] hover:border-[var(--tango-input-error-border)] focus:shadow-[var(--tango-input-error-focus-shadow)]",x&&"bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] border-[var(--tango-muted)] cursor-not-allowed shadow-none hover:border-[var(--tango-muted)] focus:shadow-none",za[C],ne),ae=y({baseClassName:ie,className:c,style:f,sxSlot:Q}),se=(I==null?void 0:I.clearAriaLabel)??w("input.clearAriaLabel",Zt.clearAriaLabel),ge=s.useCallback(l=>{const i=l.target.value;g||_(i),p==null||p(i)},[g,p]),P=s.useCallback(l=>{l.stopPropagation(),g||(_(""),h.current&&(h.current.value="")),p==null||p("")},[g,p]),V=()=>{if(!T)return null;const i=((I==null?void 0:I.countTemplate)??w("input.countTemplate",Zt.countTemplate)).replace("{current}",String(z)).replace("{max}",String(S));return a.jsx("div",{className:E("text-xs mt-1 text-right w-[300px]",K?"text-[var(--tango-input-error-border)]":"text-[var(--tango-muted-foreground)]"),children:i})},ce=()=>{if(!M||x||!(j!==""&&j!==void 0&&j!==null))return null;const i=y({baseClassName:"absolute top-1/2 -translate-y-1/2 right-1.5 cursor-pointer text-[var(--tango-muted-foreground)] hover:text-[var(--tango-foreground)] transition-colors",sxSlot:$.clearIcon});return a.jsx("span",{className:i.className,style:i.style,onClick:P,"aria-label":se,role:"button",children:a.jsx("svg",{viewBox:"0 0 16 16",fill:"currentColor",style:{width:14,height:14},children:a.jsx("path",{d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"})})})},q=()=>{if(!m)return null;const l=y({baseClassName:"absolute top-1/2 -translate-y-1/2 left-2 text-[var(--tango-muted-foreground)]",sxSlot:$.prefix});return a.jsx("span",{className:l.className,style:l.style,children:m})},ue=()=>{if(!F)return null;const i=y({baseClassName:`absolute top-1/2 -translate-y-1/2 ${M&&!x?"right-6":"right-1.5"} text-[var(--tango-muted-foreground)]`,sxSlot:$.suffix});return a.jsx("span",{className:i.className,style:i.style,children:F})},de={className:ae.className,style:ae.style,onClick:r,onChange:ge,value:g?u:void 0,defaultValue:g?void 0:N??"",disabled:x||void 0,placeholder:b,maxLength:S,"aria-invalid":U||void 0,...D},re=l=>a.jsxs("div",{className:"relative inline-flex w-[300px]",children:[q(),l,ue(),ce()]});return a.jsxs("div",{className:oe,children:[re(R?a.jsx("form",{onSubmit:l=>l.preventDefault(),style:{display:"inline-flex"},autoComplete:"off",children:a.jsx("input",{...de,ref:g?void 0:h,type:"password"})}):H?a.jsx("textarea",{...de,ref:g?void 0:h,className:`${de.className} min-h-[80px] py-2 resize-y`}):a.jsx("input",{...de,ref:g?void 0:h,type:"text"})),V()]})}We.propTypes={type:e.oneOf(["default","textarea","password"]),size:e.oneOf(["small","medium","large","huge"]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,onClick:e.func,onChange:e.func,value:e.string,defaultValue:e.string,disabled:e.bool,placeholder:e.string,maxLength:e.number,status:e.oneOf(["default","error"]),prefix:e.node,suffix:e.node,allowClear:e.bool,showCount:e.bool,localeText:e.shape({clearAriaLabel:e.string,countTemplate:e.string})};We.MaterialInput=ot;const Re=["root"];function $a(t,o){const{sx:n={},style:d={},className:f="",children:c,...r}=t,p=le(n,Re),u=y({baseClassName:"flex items-center px-4 bg-[var(--tango-layout-header-bg)] text-[var(--tango-layout-header-color)]",className:f,sxSlot:p.root,baseStyle:{height:"var(--tango-layout-header-height)",borderBottom:"1px solid var(--tango-layout-border)"},style:d});return a.jsx("header",{ref:o,className:u.className,style:u.style,...r,children:c})}const at=s.forwardRef($a);at.displayName="LayoutHeader";at.propTypes={sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};function Fa(t,o){const{sx:n={},style:d={},className:f="",children:c,...r}=t,p=le(n,Re),u=y({baseClassName:"flex items-center px-4 bg-[var(--tango-layout-footer-bg)] text-[var(--tango-layout-footer-color)]",className:f,sxSlot:p.root,baseStyle:{height:"var(--tango-layout-footer-height)",borderTop:"1px solid var(--tango-layout-border)"},style:d});return a.jsx("footer",{ref:o,className:u.className,style:u.style,...r,children:c})}const st=s.forwardRef(Fa);st.displayName="LayoutFooter";st.propTypes={sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};function Da(t,o){const{sx:n={},style:d={},className:f="",width:c,children:r,...p}=t,u=le(n,Re),N=c??"var(--tango-layout-sider-width)",x=y({baseClassName:"overflow-auto flex flex-col bg-[var(--tango-layout-sider-bg)] text-[var(--tango-layout-sider-color)]",className:f,sxSlot:u.root,baseStyle:{width:N,minWidth:N,maxWidth:"100%",borderRight:"1px solid var(--tango-layout-border)"},style:d});return a.jsx("aside",{ref:o,className:x.className,style:x.style,...p,children:r})}const Ye=s.forwardRef(Da);Ye.displayName="LayoutSider";Ye.propTypes={width:e.oneOfType([e.string,e.number]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};function Va(t,o){const{sx:n={},style:d={},className:f="",width:c,children:r,...p}=t,u=le(n,Re),N=c??"var(--tango-layout-toc-width)",x=y({baseClassName:"overflow-auto flex flex-col bg-[var(--tango-layout-toc-bg)] text-[var(--tango-layout-toc-color)]",className:f,sxSlot:u.root,baseStyle:{width:N,minWidth:N,maxWidth:"100%",borderLeft:"1px solid var(--tango-layout-border)"},style:d});return a.jsx("nav",{ref:o,className:x.className,style:x.style,...p,children:r})}const He=s.forwardRef(Va);He.displayName="LayoutToc";He.propTypes={width:e.oneOfType([e.string,e.number]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};function Ka(t,o){const{sx:n={},style:d={},className:f="",children:c,...r}=t,p=le(n,Re),u=y({baseClassName:"flex-1 flex flex-col bg-[var(--tango-layout-content-bg)] text-[var(--tango-layout-content-color)]",className:f,sxSlot:p.root,baseStyle:{},style:d});return a.jsx("main",{ref:o,className:u.className,style:u.style,...r,children:c})}const rt=s.forwardRef(Ka);rt.displayName="LayoutContent";rt.propTypes={sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};function Ua(t,o){const{sx:n={},style:d={},className:f="",hasSider:c,children:r,...p}=t,u=le(n,Re),N=c??s.Children.toArray(r).some(b=>{var S,k;return s.isValidElement(b)&&(b.type===Ye||b.type===He||((S=b.type)==null?void 0:S.displayName)==="LayoutSider"||((k=b.type)==null?void 0:k.displayName)==="LayoutToc")}),x=y({baseClassName:E("flex flex-1 flex-col min-h-0",N?"md:flex-row":""),className:f,sxSlot:u.root,style:d});return a.jsx("section",{ref:o,className:x.className,style:x.style,...p,children:r})}const ye=s.forwardRef(Ua);ye.displayName="Layout";ye.Header=at;ye.Footer=st;ye.Sider=Ye;ye.Content=rt;ye.Toc=He;ye.propTypes={hasSider:e.bool,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};const ho=at,yo=st,vo=Ye,So=rt,wo=He,bt={btnText:"选择文件",dragPlaceholder:"点击或拖拽文件到此区域上传",dragActivePlaceholder:"释放文件以上传"},Wa=["root","button","list","item","dragger","preview"],vt=Symbol("LIST_IGNORE"),Gt=a.jsxs("svg",{viewBox:"0 0 24 24",width:"1em",height:"1em",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[a.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"}),a.jsx("path",{d:"M14 2v6h6"})]}),qt=a.jsx("svg",{viewBox:"0 0 24 24",width:"1em",height:"1em",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:a.jsx("path",{d:"M18 6 6 18M6 6l12 12"})}),Ya=a.jsxs("svg",{viewBox:"0 0 24 24",width:"2em",height:"2em",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[a.jsx("path",{d:"M12 16V4m0 0-4 4m4-4 4 4"}),a.jsx("path",{d:"M20 16v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2"})]}),Ha=a.jsx("svg",{className:"animate-spin",viewBox:"0 0 24 24",width:"1.5em",height:"1.5em",fill:"none",stroke:"currentColor",strokeWidth:"2",children:a.jsx("path",{d:"M12 2a10 10 0 1 0 10 10",strokeLinecap:"round"})});function Za(t,o){var re;const{sx:n={},style:d={},className:f="",accept:c="image/*",multiple:r=!1,onChange:p=()=>{},beforeUpload:u=()=>{},files:N=[],showUploadList:x=!0,maxCount:b=20,maxSize:S=100,btnText:k,btnStyle:m,showSize:F=!0,disabled:M=!1,draggable:T=!1,dragPlaceholder:I,dragActivePlaceholder:D,localeText:w,preview:h=!1,loading:g=!1,...Y}=t,_=s.useId(),j=N||[],z=le(n,Wa),[K,C]=s.useState(!1);s.useEffect(()=>{g&&C(!1)},[g]);const H=s.useRef(new Map),R=s.useCallback(l=>`${l.name}_${l.size}_${l.lastModified}`,[]);s.useEffect(()=>{const l=new Set(j.map(R));H.current.forEach((i,L)=>{l.has(L)||(URL.revokeObjectURL(i),H.current.delete(L))}),j.forEach(i=>{var Z;const L=R(i);!H.current.has(L)&&((Z=i.type)!=null&&Z.startsWith("image/"))&&H.current.set(L,URL.createObjectURL(i))})},[j,R]),s.useEffect(()=>()=>{H.current.forEach(l=>URL.revokeObjectURL(l)),H.current.clear()},[]);const U=s.useCallback(l=>H.current.get(R(l))||null,[R]),{t:$}=he(),W=(w==null?void 0:w.btnText)??k??$("upload.btnText",bt.btnText),Q=(w==null?void 0:w.dragPlaceholder)??I??$("upload.dragPlaceholder",bt.dragPlaceholder),oe=(w==null?void 0:w.dragActivePlaceholder)??D??$("upload.dragActivePlaceholder",bt.dragActivePlaceholder),X=s.useCallback(async(l,i)=>{if(!u)return!0;try{const L=await u(l,i);return L===void 0?!0:L}catch{return!1}},[u]),te=s.useCallback(async l=>{const L=Array.from(l.target.files||[]).filter(A=>A.size/1024/1024>S?(console.warn(`[Tango Upload] ${A.name} 超过 ${S}MB,已被过滤`),!1):!0),Z=r?L.slice(0,b):L.slice(0,1),O=[];for(const A of Z){const xe=await X(A,Z);if(xe===!1){console.warn(`[Tango Upload] ${A.name} 被 beforeUpload 拦截`);continue}if(xe===vt){console.warn(`[Tango Upload] ${A.name} 被 LIST_IGNORE 忽略`);continue}if(xe instanceof Blob){const je=xe instanceof File?xe:new File([xe],A.name,{type:A.type});O.push(je)}else O.push(A)}l.target.value="",p(O)},[r,b,S,X,p]),ne=s.useCallback(async l=>{const i=l.filter(O=>O.size/1024/1024>S?(console.warn(`[Tango Upload] ${O.name} 超过 ${S}MB,已被过滤`),!1):!0),L=r?i.slice(0,b):i.slice(0,1),Z=[];for(const O of L){const A=await X(O,L);if(A===!1){console.warn(`[Tango Upload] ${O.name} 被 beforeUpload 拦截`);continue}if(A===vt){console.warn(`[Tango Upload] ${O.name} 被 LIST_IGNORE 忽略`);continue}if(A instanceof Blob){const xe=A instanceof File?A:new File([A],O.name,{type:O.type});Z.push(xe)}else Z.push(O)}p(Z)},[r,b,S,X,p]),ie=s.useCallback(l=>{l.preventDefault(),l.stopPropagation(),M||C(!0)},[M]),ae=s.useCallback(l=>{l.preventDefault(),l.stopPropagation(),M||C(!0)},[M]),se=s.useCallback(l=>{l.preventDefault(),l.stopPropagation(),!l.currentTarget.contains(l.relatedTarget)&&C(!1)},[]),ge=s.useCallback(async l=>{if(l.preventDefault(),l.stopPropagation(),C(!1),M)return;const i=Array.from(l.dataTransfer.files||[]);if(i.length!==0)if(c){const L=c.split(",").map(O=>O.trim()),Z=i.filter(O=>L.some(A=>{if(A.startsWith("."))return O.name.toLowerCase().endsWith(A.toLowerCase());if(A.endsWith("/*")){const xe=A.split("/")[0];return O.type.startsWith(xe+"/")}return A.includes("/")?O.type===A:!0}));Z.length<i.length&&console.warn(`[Tango Upload] 拖拽文件中有 ${i.length-Z.length} 个不符合 accept 限制,已过滤`),await ne(Z)}else await ne(i)},[M,c,ne]),P=s.useCallback((l,i)=>{const L=j.filter((Z,O)=>O!==i);p(L)},[j,p]),V=y({baseClassName:"inline-flex flex-col gap-3",className:f,sxSlot:z.root,style:d}),ce=y({baseClassName:E("list-none p-0 m-0 max-h-[150px] max-w-[400px] overflow-y-auto","border-[1px] border-[var(--tango-upload-border)] rounded-[var(--tango-upload-radius)]","bg-[var(--tango-upload-list-bg)]",j.length===0&&"border-transparent"),baseStyle:{borderRadius:"var(--tango-upload-radius)"},sxSlot:z.list}),q=y({baseClassName:E("flex items-center gap-2 px-3 py-1.5 text-sm","text-[var(--tango-upload-item-text)] hover:bg-[var(--tango-upload-item-hover-bg)]","transition-colors"),sxSlot:z.item}),ue=y({baseClassName:E("flex flex-col items-center justify-center gap-2 p-6 cursor-pointer","border-2 border-dashed rounded-[var(--tango-upload-radius)]","bg-[var(--tango-upload-dragger-bg)]","text-[var(--tango-upload-item-text)]","transition-colors",K&&!M&&"border-[var(--tango-upload-dragger-active-border)] bg-[var(--tango-upload-dragger-active-bg)] text-[var(--tango-upload-dragger-active-text)]",M&&"opacity-50 cursor-not-allowed"),baseStyle:{borderRadius:"var(--tango-upload-radius)"},sxSlot:z.dragger}),de=y({baseClassName:E("w-8 h-8 rounded object-cover flex-shrink-0","border border-[var(--tango-upload-border)]"),sxSlot:z.preview});return a.jsxs("div",{ref:o,className:V.className,style:V.style,...Y,children:[a.jsx("input",{id:_,type:"file",accept:c,multiple:r,className:"hidden",onChange:te,disabled:M,"aria-hidden":"true",tabIndex:-1}),T?a.jsxs("div",{className:E(ue.className,g&&"opacity-60 cursor-wait pointer-events-none"),style:ue.style,onClick:()=>{var l;return!M&&!g&&((l=document.getElementById(_))==null?void 0:l.click())},onDragEnter:g?void 0:ie,onDragOver:g?void 0:ae,onDragLeave:g?void 0:se,onDrop:g?void 0:ge,role:"button",tabIndex:M||g?-1:0,"aria-label":K?oe:Q,children:[g?Ha:Ya,a.jsx("span",{className:"text-sm text-center",children:g?"...":K?oe:Q})]}):a.jsx(Se,{disabled:M,loading:g&&"light",style:m,sx:z.button,onClick:()=>{var l;return(l=document.getElementById(_))==null?void 0:l.click()},children:W}),x&&j.length>0&&a.jsx("ul",{className:ce.className,style:ce.style,children:r?j.map((l,i)=>{var Z;const L=h&&((Z=l.type)!=null&&Z.startsWith("image/"))?U(l):null;return a.jsxs("li",{className:q.className,style:q.style,children:[L?a.jsx("img",{src:L,alt:l.name,className:de.className,style:de.style}):a.jsx("span",{className:"flex-shrink-0 text-[var(--tango-upload-icon-color)]",children:Gt}),a.jsxs("span",{className:"flex-1 truncate",children:[l.name,F&&a.jsxs("span",{className:"ml-1 text-xs text-[var(--tango-muted-foreground)]",children:["(",(l.size/1024).toFixed(2)," KB)"]})]}),a.jsx("button",{type:"button",className:"flex-shrink-0 p-0.5 rounded hover:bg-[var(--tango-upload-del-hover-bg)] text-[var(--tango-upload-del-color)] transition-colors",onClick:()=>P(l,i),"aria-label":`删除 ${l.name}`,children:qt})]},R(l))}):a.jsxs("li",{className:q.className,style:q.style,children:[h&&((re=j[0].type)!=null&&re.startsWith("image/"))?a.jsx("img",{src:U(j[0]),alt:j[0].name,className:de.className,style:de.style}):a.jsx("span",{className:"flex-shrink-0 text-[var(--tango-upload-icon-color)]",children:Gt}),a.jsxs("span",{className:"flex-1 truncate",children:[j[0].name,F&&a.jsxs("span",{className:"ml-1 text-xs text-[var(--tango-muted-foreground)]",children:["(",(j[0].size/1024).toFixed(2)," KB)"]})]}),a.jsx("button",{type:"button",className:"flex-shrink-0 p-0.5 rounded hover:bg-[var(--tango-upload-del-hover-bg)] text-[var(--tango-upload-del-color)] transition-colors",onClick:()=>P(j[0],0),"aria-label":`删除 ${j[0].name}`,children:qt})]})})]})}const Ze=s.forwardRef(Za);Ze.displayName="Upload";Ze.LIST_IGNORE=vt;Ze.propTypes={sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,accept:e.string,multiple:e.bool,onChange:e.func,beforeUpload:e.func,files:e.array,showUploadList:e.bool,maxCount:e.number,maxSize:e.number,btnText:e.string,btnStyle:e.object,showSize:e.bool,disabled:e.bool,draggable:e.bool,dragPlaceholder:e.string,dragActivePlaceholder:e.string,localeText:e.shape({btnText:e.string,dragPlaceholder:e.string,dragActivePlaceholder:e.string}),preview:e.bool,loading:e.bool};const Ga=["root","header","body"];function qa(t,o){const{sx:n={},style:d={},className:f="",title:c,extra:r,bordered:p=!0,children:u,...N}=t,x=le(n,Ga),b=y({baseClassName:E("flex flex-col",p?"border border-[var(--tango-card-border)]":"","rounded-[var(--tango-card-radius)]","bg-[var(--tango-card-bg)] text-[var(--tango-card-foreground)]","shadow-[var(--tango-card-shadow)]"),className:f,sxSlot:x.root,baseStyle:{},style:d}),S=y({baseClassName:E("flex items-center justify-between","px-[var(--tango-card-padding-x)] py-[var(--tango-card-header-padding-y)]",p&&(c||r)?"border-b border-[var(--tango-card-border)]":""),className:"",sxSlot:x.header,baseStyle:{},style:{}}),k=y({baseClassName:E("px-[var(--tango-card-padding-x)] py-[var(--tango-card-body-padding-y)]"),className:"",sxSlot:x.body,baseStyle:{},style:{}}),m=c!=null||r!=null;return a.jsxs("div",{ref:o,className:b.className,style:b.style,...N,children:[m&&a.jsxs("div",{className:S.className,style:S.style,children:[c!=null&&a.jsx("div",{className:"font-semibold text-base",children:c}),r!=null&&a.jsx("div",{children:r})]}),u?a.jsx("div",{className:k.className,style:k.style,children:u}):null]})}const nt=s.forwardRef(qa);nt.displayName="Card";nt.propTypes={title:e.node,extra:e.node,bordered:e.bool,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};const Xa=["root","icon","content","actions","closeIcon"],Xt={cancel:"取消",action:"操作"},Jt={small:{rootClass:"px-[15px] py-[8px] h-[45px] rounded-[6px] gap-[8px] border",iconSize:20,contentClass:"text-[14px]",closeIconSize:18,buttonBorderRadius:"0.8rem",buttonGap:"8px",buttonFontSize:"13px"},normal:{rootClass:"px-[20px] py-[10px] h-[52px] rounded-[8px] gap-[10px] border",iconSize:22,contentClass:"text-[15px]",closeIconSize:20,buttonBorderRadius:"1rem",buttonGap:"10px",buttonFontSize:"14px"},large:{rootClass:"px-[25px] py-[12px] h-[60px] rounded-[10px] gap-[12px] border-[1.5px]",iconSize:26,contentClass:"text-[16px]",closeIconSize:22,buttonBorderRadius:"1.2rem",buttonGap:"12px",buttonFontSize:"15px"}},Qt={info:{bgVar:"--tango-banner-info-bg",borderVar:"--tango-banner-info-border",iconVar:"--tango-banner-info-icon",textVar:"--tango-banner-info-text"},success:{bgVar:"--tango-banner-success-bg",borderVar:"--tango-banner-success-border",iconVar:"--tango-banner-success-icon",textVar:"--tango-banner-success-text"},warning:{bgVar:"--tango-banner-warning-bg",borderVar:"--tango-banner-warning-border",iconVar:"--tango-banner-warning-icon",textVar:"--tango-banner-warning-text"},error:{bgVar:"--tango-banner-error-bg",borderVar:"--tango-banner-error-border",iconVar:"--tango-banner-error-icon",textVar:"--tango-banner-error-text"}};function St(t){const{children:o,onCancel:n=()=>{},onAction:d=()=>{},showActionButtons:f=!0,size:c="normal",cancelText:r,actionText:p,level:u="info",transparent:N=!1,bannerBgColor:x,bannerBorderColor:b,bannerIconColor:S,sx:k={},style:m={},className:F="",i18nKey:M,localeText:T={},...I}=t,{t:D}=he(),w=be(c,"normal",Jt),h=be(u,"info",Qt),g=Jt[w],Y=Qt[h],_=le(k,Xa),j={cancel:D("banner.cancel",Xt.cancel),action:D("banner.action",Xt.action),...T},z=r??(M==="cancel"?D("banner.cancel",j.cancel):j.cancel),K=p??(M==="action"?D("banner.action",j.action):j.action),C=o??z,H=x||(N===!0?"transparent":`var(${Y.bgVar})`),R=b||`var(${Y.borderVar})`,U=S||`var(${Y.iconVar})`,$=`var(${Y.textVar})`,W=y({baseClassName:E("flex w-full items-center justify-start transition-colors duration-200",g.rootClass),className:F,baseStyle:{backgroundColor:H,borderColor:R,color:N===!0?"var(--tango-muted-foreground)":$},style:m,sxSlot:_.root}),Q=y({baseClassName:"shrink-0",baseStyle:{width:`${g.iconSize}px`,height:`${g.iconSize}px`,color:U},sxSlot:_.icon}),oe=y({baseClassName:E("flex-grow text-left",g.contentClass),sxSlot:_.content}),X=y({baseClassName:"flex items-center justify-end flex-1",baseStyle:{gap:g.buttonGap},sxSlot:_.actions}),te=y({baseClassName:"shrink-0 cursor-pointer",baseStyle:{width:`${g.closeIconSize}px`,height:`${g.closeIconSize}px`,color:"var(--tango-banner-close-icon)"},sxSlot:_.closeIcon}),ne=a.jsxs("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:[a.jsx("path",{d:"M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z"}),a.jsx("path",{d:"M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z"}),a.jsx("path",{d:"M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z"})]}),ie=a.jsxs("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:[a.jsx("path",{d:"M869.472578 920.128281 154.906046 920.128281c-31.943526 0-60.545958-16.517185-76.514651-44.181245-15.968693-27.666106-15.96153-60.696384 0.016373-88.355327l357.283266-618.47194c15.971763-27.647687 44.568055-44.152593 76.496232-44.152593 31.930223-0.001023 60.527538 16.504906 76.499301 44.151569l357.283266 618.472963c15.977903 27.659967 15.984043 60.689221 0.017396 88.355327C930.018535 903.611096 901.416104 920.128281 869.472578 920.128281zM512.187265 169.139212c-15.962553 0-30.261211 8.251941-38.247092 22.075785l0 0L116.65793 809.686936c-7.989975 13.829983-7.993045 30.345122-0.008186 44.179199 7.983835 13.83203 22.285562 22.090111 38.257326 22.090111l714.566532 0c15.971763 0 30.273491-8.258081 38.256302-22.090111 7.984858-13.83203 7.980765-30.349215-0.008186-44.179199L550.437427 191.213973C542.452569 177.391153 528.152888 169.138188 512.187265 169.139212z"}),a.jsx("path",{d:"M513.732457 621.119233c-18.296715 0-33.257451-14.832823-33.257451-33.129538L480.475006 331.789639c0-18.296715 14.960737-33.129538 33.257451-33.129538 18.296715 0 33.257451 14.832823 33.257451 33.129538l0 256.200056C546.989909 606.28641 532.029172 621.119233 513.732457 621.119233z"}),a.jsx("path",{d:"M513.686409 737.619574m-49.991578 0a48.853 48.853 0 1 0 99.983155 0 48.853 48.853 0 1 0-99.983155 0Z"})]}),ae=a.jsx("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:a.jsx("path",{d:"M85.333333 512C85.333333 276.352 276.352 85.333333 512 85.333333s426.666667 191.018667 426.666667 426.666667-191.018667 426.666667-426.666667 426.666667S85.333333 747.648 85.333333 512z m683.093334-256.426667a358.954667 358.954667 0 0 0-122.922667-80.768A359.466667 359.466667 0 0 0 512 149.333333c-46.08 0-90.624 8.490667-133.504 25.472A358.954667 358.954667 0 0 0 255.573333 255.573333c-35.413333 35.413333-62.336 76.373333-80.768 122.922667A359.466667 359.466667 0 0 0 149.333333 512c0 46.08 8.490667 90.624 25.472 133.504A358.954667 358.954667 0 0 0 255.573333 768.426667c35.413333 35.413333 76.373333 62.336 122.922667 80.768A359.466667 359.466667 0 0 0 512 874.666667c46.08 0 90.624-8.490667 133.504-25.472a358.954667 358.954667 0 0 0 122.922667-80.768c35.413333-35.413333 62.336-76.373333 80.768-122.922667A359.466667 359.466667 0 0 0 874.666667 512c0-46.08-8.490667-90.624-25.472-133.504A358.912 358.912 0 0 0 768.426667 255.573333zM338.517333 640.213333L466.773333 512 338.517333 383.786667l45.226667-45.226667L512 466.688l128.213333-128.213333 45.226667 45.226666L557.312 512l128.213333 128.213333-45.226666 45.226667L512 557.312l-128.213333 128.213333-45.226667-45.226666z"})}),se=a.jsxs("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:[a.jsx("path",{d:"M512.3 961.3c-247.1 0-448.1-201-448.1-448.1s201-448.1 448.1-448.1 448.1 201 448.1 448.1-201 448.1-448.1 448.1z m0-849.7c-221.4 0-401.6 180.2-401.6 401.6s180.2 401.6 401.6 401.6 401.6-180.2 401.6-401.6-180.2-401.6-401.6-401.6z"}),a.jsx("path",{d:"M441.2 676c-16.4 0-32.7-5.8-45.5-17.4l-151.3-138c-9.5-8.6-10.2-23.3-1.5-32.8 8.6-9.5 23.3-10.2 32.8-1.5L427 624.2c7.6 6.9 20.8 6.9 28.4 0l293.5-267.5c9.5-8.6 24.2-8 32.8 1.5 8.6 9.5 8 24.2-1.5 32.8L486.7 658.5c-12.8 11.7-29.1 17.5-45.5 17.5z"})]}),ge=a.jsx("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:a.jsx("path",{d:"M558.8 509.2l302.8-302.8c3.1-3.1 3.1-8.1 0-11.2l-30.8-30.8c-3.1-3.1-8.1-3.1-11.2 0L516.8 467.2c-1.5 1.5-4.1 1.5-5.6 0L208.3 164.3c-3.1-3.1-8.1-3.1-11.2 0l-30.8 30.8c-3.1 3.1-3.1 8.1 0 11.2l302.8 302.8c1.5 1.5 1.5 4.1 0 5.6l-302.8 303c-3.1 3.1-3.1 8.1 0 11.2l30.8 30.8c3.1 3.1 8.1 3.1 11.2 0l302.8-302.8c1.5-1.5 4.1-1.5 5.6 0l302.8 302.8c3.1 3.1 8.1 3.1 11.2 0l30.8-30.8c3.1-3.1 3.1-8.1 0-11.2L558.8 514.8c-1.5-1.5-1.5-4.1 0-5.6z"})}),P={success:se,warning:ie,error:ae,info:ne},V=f!==!1;return a.jsxs("div",{className:W.className,style:W.style,"data-level":h,"data-size":w,...I,children:[a.jsx("div",{className:Q.className,style:Q.style,children:P[h]}),a.jsx("div",{className:oe.className,style:oe.style,children:C}),a.jsxs("div",{className:X.className,style:X.style,children:[V&&a.jsxs(a.Fragment,{children:[a.jsx(Se,{type:"transparent",sx:{c:"var(--tango-banner-btn-text)",br:g.buttonBorderRadius,bColor:"transparent",s:g.buttonFontSize},onClick:n,size:w==="normal"?"medium":w,children:z}),a.jsx(Se,{type:"transparent",sx:{c:"var(--tango-banner-btn-text)",br:g.buttonBorderRadius,b:1,bColor:"var(--tango-banner-btn-border)",s:g.buttonFontSize},onClick:d,size:w==="normal"?"medium":w,children:K})]}),a.jsx("div",{className:te.className,style:te.style,onClick:n,children:ge})]})]})}St.propTypes={children:e.node,onCancel:e.func,onAction:e.func,size:e.oneOf(["small","normal","large"]),cancelText:e.string,actionText:e.string,level:e.oneOf(["info","success","warning","error"]),transparent:e.bool,showActionButtons:e.bool,bannerBgColor:e.string,bannerBorderColor:e.string,bannerIconColor:e.string,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,i18nKey:e.string,localeText:e.shape({cancel:e.string,action:e.string})};const Ja=["root","input","text"],ht={hex:"HEX",rgb:"RGB",hsl:"HSL"},eo={small:{inputSize:20,fontSize:"11px",gap:"6px"},medium:{inputSize:28,fontSize:"12px",gap:"10px"},large:{inputSize:36,fontSize:"14px",gap:"14px"}},Qa={hex:"hex",rgb:"rgb",hsl:"hsl"},es=`
3
+ .tango-cp-input::-webkit-color-swatch-wrapper { padding: 0; }
4
+ .tango-cp-input::-webkit-color-swatch { border: 0; border-radius: 9999px; }
5
+ .tango-cp-input::-moz-color-swatch { border: 0; border-radius: 9999px; }
6
+ `,ts=t=>{const o=parseInt(t.slice(1,3),16),n=parseInt(t.slice(3,5),16),d=parseInt(t.slice(5,7),16);return`rgb(${o}, ${n}, ${d})`},os=t=>{let o=parseInt(t.slice(1,3),16)/255,n=parseInt(t.slice(3,5),16)/255,d=parseInt(t.slice(5,7),16)/255;const f=Math.max(o,n,d),c=Math.min(o,n,d);let r=0,p=0,u=(f+c)/2;if(f!==c){const N=f-c;p=u>.5?N/(2-f-c):N/(f+c),f===o?r=(n-d)/N+(n<d?6:0):f===n?r=(d-o)/N+2:r=(o-n)/N+4,r/=6}return`hsl(${Math.round(r*360)}, ${Math.round(p*100)}%, ${Math.round(u*100)}%)`},as=(t,o)=>{switch(o){case"rgb":return ts(t);case"hsl":return os(t);default:return t.toUpperCase()}};function wt(t){const{value:o,defaultValue:n="#000000",onChange:d=()=>{},disabled:f=!1,showText:c=!1,format:r="hex",size:p="medium",sx:u={},style:N={},className:x="",i18nKey:b,localeText:S={},...k}=t,{t:m}=he(),F=be(p,"medium",eo),M=be(r,"hex",Qa),T=eo[F],[I,D]=s.useState(n),w=o??I,h=le(u,Ja),g={hex:m("colorpicker.hex",ht.hex),rgb:m("colorpicker.rgb",ht.rgb),hsl:m("colorpicker.hsl",ht.hsl),...S},Y=C=>{const H=C.target.value;o===void 0&&D(H),d(H)},_=[];if(c){const C=b||(typeof c=="string"?c:null)||M;_.push({label:g[C],value:as(w,C)})}const j=y({baseClassName:E("inline-flex items-center",f&&"cursor-not-allowed opacity-60"),className:x,baseStyle:{gap:T.gap},style:N,sxSlot:h.root}),z=y({baseClassName:E("shrink-0 cursor-pointer border-2 border-[var(--tango-border)] rounded-full bg-transparent overflow-hidden transition-colors duration-200",f&&"cursor-not-allowed"),baseStyle:{width:`${T.inputSize}px`,height:`${T.inputSize}px`,padding:0},sxSlot:h.input}),K=y({baseClassName:"flex flex-col text-[var(--tango-muted-foreground)]",baseStyle:{fontSize:T.fontSize},sxSlot:h.text});return a.jsxs(a.Fragment,{children:[a.jsx("style",{children:es}),a.jsxs("div",{className:j.className,style:j.style,...k,children:[a.jsx("input",{type:"color",value:w,onChange:Y,disabled:f,className:`tango-cp-input ${z.className}`,style:z.style,"aria-label":k["aria-label"]||`颜色选择器: ${w}`}),c&&_.length>0&&a.jsx("div",{className:K.className,style:K.style,children:_.map(({label:C,value:H})=>a.jsxs("span",{children:[C,": ",H]},C))})]})]})}wt.propTypes={value:e.string,defaultValue:e.string,onChange:e.func,disabled:e.bool,showText:e.oneOfType([e.bool,e.oneOf(["hex","rgb","hsl"])]),format:e.oneOf(["hex","rgb","hsl"]),size:e.oneOf(["small","medium","large"]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,i18nKey:e.string,localeText:e.shape({hex:e.string,rgb:e.string,hsl:e.string})};const ss=["root","date","weekday","time"],to={weekdayPrefix:"星期",weekdayShortPrefix:"周"},oo={default:"default",line:"line",full:"full","full-line":"full-line","year-week":"year-week","year-week-line":"year-week-line","week-time":"week-time","no-s":"no-s","no-s-line":"no-s-line"},rs=(t,o)=>{const d=new Date().toLocaleDateString(t,{year:"numeric",month:"2-digit",day:"2-digit"});return o?d.replaceAll("/","-"):d},ns=(t,o)=>{let d=new Date().toLocaleString(t,{weekday:"long"});return o&&t.startsWith("zh")&&(d=d.replace("星期","周")),d},Fe=(t,o)=>{const n=new Date,d={hour:"2-digit",minute:"2-digit"};return o&&(d.second="2-digit"),n.toLocaleTimeString(t,d)},ls=(t,o,n,d)=>{const f=t==="line"||t.endsWith("-line"),c=rs(o,f),r=ns(o,n);switch(t){case"line":return[{key:"date",text:c}];case"full":return[{key:"date",text:c+" "},{key:"weekday",text:r+" "},{key:"time",text:Fe(o,!0)}];case"full-line":return[{key:"date",text:c+" "},{key:"weekday",text:r+" "},{key:"time",text:Fe(o,!0)}];case"year-week":return[{key:"date",text:c+" "},{key:"weekday",text:r}];case"year-week-line":return[{key:"date",text:c+" "},{key:"weekday",text:r}];case"week-time":return[{key:"weekday",text:r+" "},{key:"time",text:Fe(o,!0)}];case"no-s":return[{key:"date",text:c+" "},{key:"weekday",text:r+" "},{key:"time",text:Fe(o,!1)}];case"no-s-line":return[{key:"date",text:c+" "},{key:"weekday",text:r+" "},{key:"time",text:Fe(o,!1)}];default:return[{key:"date",text:c}]}};function Nt(t){const{type:o="default",single:n=!1,sx:d={},style:f={},className:c="",i18nKey:r,localeText:p={},...u}=t||{},{t:N,locale:x}=he(),[b,S]=s.useState(!1);s.useEffect(()=>{S(!0)},[]);const k=be(o,"default",oo),m=x==="en-US"?"en-US":"zh-CN";({weekdayPrefix:N("date.weekdayPrefix",to.weekdayPrefix),weekdayShortPrefix:N("date.weekdayShortPrefix",to.weekdayShortPrefix),...p});const F=le(d,ss),M=r&&oo[r]?r:k,T=b?ls(M,m,n):[],I=y({baseClassName:E("inline-flex items-center gap-1 text-[var(--tango-foreground)]"),className:c,baseStyle:{},style:f,sxSlot:F.root}),D={date:y({baseClassName:"",sxSlot:F.date}),weekday:y({baseClassName:"text-[var(--tango-muted-foreground)]",sxSlot:F.weekday}),time:y({baseClassName:"",sxSlot:F.time})};return a.jsx("div",{className:I.className,style:I.style,role:"timer","aria-live":"polite",...u,children:T.map(w=>{const h=D[w.key]||{className:"",style:{}};return a.jsx("span",{className:h.className,style:h.style,children:w.text},w.key)})})}Nt.propTypes={type:e.oneOf(["default","line","full","full-line","year-week","year-week-line","week-time","no-s","no-s-line"]),single:e.bool,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,i18nKey:e.string,localeText:e.shape({weekdayPrefix:e.string,weekdayShortPrefix:e.string})};const is=["root","input","panel","header","body","footer"],we={placeholder:"YYYY-MM-DD",placeholderTime:"YYYY-MM-DD HH:mm",timeLabel:"时间",confirm:"确定",cancel:"关闭",prevMonth:"上一月",nextMonth:"下一月",weekDays:["日","一","二","三","四","五","六"],monthFormat:"${year} 年 ${month} 月",hourLabel:"小时",minuteLabel:"分钟",panelAriaLabel:"日期选择面板"},ao={small:{inputPx:"px-2 py-1",textSm:"text-xs",minW:"min-w-[140px]",panelW:"w-[260px]"},medium:{inputPx:"px-3 py-2",textSm:"text-sm",minW:"min-w-[180px]",panelW:"w-[300px]"},large:{inputPx:"px-4 py-3",textSm:"text-base",minW:"min-w-[220px]",panelW:"w-[340px]"}};function Ct(t){const{value:o,defaultValue:n,onChange:d=()=>{},disabled:f=!1,time:c=!1,size:r="medium",sx:p={},style:u={},className:N="",i18nKey:x,localeText:b={},placeholder:S,...k}=t,{t:m,locale:F}=he(),M=be(r,"medium",ao),T=ao[M],I=F==="en-US",[D,w]=s.useState(n||""),h=o!==void 0?o:D,[g,Y]=s.useState("00"),[_,j]=s.useState("00"),[z,K]=s.useState(!1),[C,H]=s.useState(()=>{const i=new Date;return new Date(i.getFullYear(),i.getMonth(),1)}),R=s.useRef(null),U={placeholder:m("datepicker.placeholder",we.placeholder),placeholderTime:m("datepicker.placeholderTime",we.placeholderTime),timeLabel:m("datepicker.timeLabel",we.timeLabel),confirm:m("datepicker.confirm",we.confirm),cancel:m("datepicker.cancel",we.cancel),prevMonth:m("datepicker.prevMonth",we.prevMonth),nextMonth:m("datepicker.nextMonth",we.nextMonth),weekDays:I?["Su","Mo","Tu","We","Th","Fr","Sa"]:we.weekDays,monthFormat:I?"${month}/${year}":we.monthFormat,hourLabel:m("datepicker.hourLabel",we.hourLabel),minuteLabel:m("datepicker.minuteLabel",we.minuteLabel),panelAriaLabel:m("datepicker.panelAriaLabel",we.panelAriaLabel),...b};s.useEffect(()=>{const i=L=>{R.current&&!R.current.contains(L.target)&&K(!1)};return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[]);const $=i=>{const L=i.getFullYear(),Z=(i.getMonth()+1).toString().padStart(2,"0"),O=i.getDate().toString().padStart(2,"0");return`${L}-${Z}-${O}`},W=s.useMemo(()=>{const i=C.getFullYear(),L=C.getMonth()+1;return U.monthFormat.replace("${year}",String(i)).replace("${month}",String(L))},[C,U.monthFormat]),Q=s.useMemo(()=>{const i=C.getFullYear(),L=C.getMonth(),Z=new Date(i,L,1).getDay(),O=new Date(i,L+1,0).getDate(),A=Array.from({length:O},(xe,je)=>je+1);return[...Array(Z).fill(null),...A]},[C]),oe=s.useMemo(()=>h?c?`${h} ${g}:${_}`:h:"",[h,g,_,c]),X=i=>{const L=new Date(C.getFullYear(),C.getMonth(),i);return h===$(L)},te=(i,L,Z)=>{if(i){if(c){const O=`${i}T${L}:${Z}`,A=new Date(O),xe=A.getFullYear(),je=(A.getMonth()+1).toString().padStart(2,"0"),Ge=A.getDate().toString().padStart(2,"0"),_e=A.getHours().toString().padStart(2,"0"),ut=A.getMinutes().toString().padStart(2,"0");d(`${xe}-${je}-${Ge} ${_e}:${ut}`,O);return}d(i,i)}},ne=i=>{const L=new Date(C.getFullYear(),C.getMonth(),i),Z=$(L);o===void 0&&w(Z),te(Z,g,_),c||K(!1)},ie=i=>{const L=i.target.value;Y(L),te(h,L,_)},ae=i=>{const L=i.target.value;j(L),te(h,g,L)},se=()=>{if(!f){if(h){const[i,L]=h.split("-").map(Number);H(new Date(i,L-1,1))}K(!0)}},ge=Array.from({length:24},(i,L)=>String(L).padStart(2,"0")),P=Array.from({length:60},(i,L)=>String(L).padStart(2,"0")),V=le(p,is);typeof p=="string"&&(V.input.tw=E(V.input.tw,V.root.tw),V.root.tw="");const ce=y({baseClassName:"relative inline-block",sxSlot:V.root}),q=y({baseClassName:E("border-[1px] border-[var(--tango-border)] rounded-[var(--tango-radius)] bg-[var(--tango-card)] text-[var(--tango-foreground)] placeholder:text-[var(--tango-muted-foreground)] outline-none transition-all duration-200 cursor-pointer","focus:border-[var(--tango-primary)] focus:shadow-[0_0_0_2px_color-mix(in_srgb,var(--tango-primary)_18%,transparent)]","hover:border-[var(--tango-primary)]",T.inputPx,T.textSm,T.minW,f&&"bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] cursor-not-allowed"),className:N,style:u,sxSlot:V.input}),ue=y({baseClassName:E("absolute top-[calc(100%+8px)] left-0 z-20 p-3 border-[1px] border-[var(--tango-border)] bg-[var(--tango-card)] rounded-xl shadow-[0_8px_28px_rgba(0,0,0,0.12)]",T.panelW),sxSlot:V.panel}),de=y({baseClassName:"flex items-center justify-between h-10 mb-2",sxSlot:V.header}),re=y({baseClassName:"flex flex-wrap",sxSlot:V.body}),l=y({baseClassName:"mt-2.5 pt-2.5 border-t border-[var(--tango-border)]",sxSlot:V.footer});return a.jsxs("div",{className:ce.className,style:ce.style,ref:R,...k,children:[a.jsx("input",{type:"text",value:oe,readOnly:!0,onClick:se,className:q.className,style:q.style,disabled:f,placeholder:S||(c?U.placeholderTime:U.placeholder),"aria-label":k["aria-label"]||S||(c?U.placeholderTime:U.placeholder),"aria-haspopup":"dialog","aria-expanded":z}),z&&!f&&a.jsxs("div",{className:ue.className,style:ue.style,role:"dialog","aria-label":U.panelAriaLabel,children:[a.jsxs("div",{className:de.className,style:de.style,children:[a.jsx("button",{type:"button",className:"w-7 h-7 border-[1px] border-[var(--tango-border)] bg-[var(--tango-card)] text-sm cursor-pointer rounded hover:border-[var(--tango-primary)] hover:bg-[color-mix(in_srgb,var(--tango-primary)_14%,var(--tango-card))]",onClick:()=>H(new Date(C.getFullYear(),C.getMonth()-1,1)),"aria-label":U.prevMonth,children:"<"}),a.jsx("div",{className:"text-sm font-semibold text-[var(--tango-foreground)]",children:W}),a.jsx("button",{type:"button",className:"w-7 h-7 border-[1px] border-[var(--tango-border)] bg-[var(--tango-card)] text-sm cursor-pointer rounded hover:border-[var(--tango-primary)] hover:bg-[color-mix(in_srgb,var(--tango-primary)_14%,var(--tango-card))]",onClick:()=>H(new Date(C.getFullYear(),C.getMonth()+1,1)),"aria-label":U.nextMonth,children:">"})]}),a.jsxs("div",{className:re.className,style:re.style,children:[U.weekDays.map(i=>a.jsx("div",{className:"w-[calc(100%/7)] text-center leading-[30px] text-xs text-[var(--tango-muted-foreground)]",children:i},i)),Q.map((i,L)=>{if(!i)return a.jsx("div",{className:"w-[calc(100%/7)] text-center leading-[30px]"},`empty-${L}`);const Z=X(i);return a.jsx("button",{type:"button",className:E("w-[calc(100%/7)] text-center leading-[30px] border-none bg-transparent cursor-pointer rounded-md text-[13px] text-[var(--tango-muted-foreground)] hover:bg-[var(--tango-muted)] hover:text-[var(--tango-foreground)]",Z&&"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] hover:bg-[var(--tango-primary)]"),onClick:()=>ne(i),"aria-label":`${C.getFullYear()}-${(C.getMonth()+1).toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`,children:i},`${C.getFullYear()}-${C.getMonth()}-${i}`)})]}),c&&a.jsxs("div",{className:l.className,style:l.style,children:[a.jsx("div",{className:"text-xs text-[var(--tango-muted-foreground)] mb-2",children:U.timeLabel}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("select",{className:"w-20 h-8 border-[1px] border-[var(--tango-border)] rounded-md px-2 text-[13px] outline-none bg-[var(--tango-card)] text-[var(--tango-foreground)] focus:border-[var(--tango-primary)]",value:g,onChange:ie,"aria-label":U.hourLabel,children:ge.map(i=>a.jsx("option",{value:i,children:i},i))}),a.jsx("span",{className:"font-semibold text-[var(--tango-muted-foreground)]",children:":"}),a.jsx("select",{className:"w-20 h-8 border-[1px] border-[var(--tango-border)] rounded-md px-2 text-[13px] outline-none bg-[var(--tango-card)] text-[var(--tango-foreground)] focus:border-[var(--tango-primary)]",value:_,onChange:ae,"aria-label":U.minuteLabel,children:P.map(i=>a.jsx("option",{value:i,children:i},i))})]}),a.jsxs("div",{className:"mt-2.5 flex justify-end gap-2",children:[a.jsx(Se,{onClick:()=>K(!1),size:"small",type:"transparent",outline:!0,style:{backgroundColor:"var(--tango-datepicker-cancel-bg)",color:"var(--tango-datepicker-cancel-fg)"},children:U.cancel}),a.jsx(Se,{onClick:()=>K(!1),size:"small",style:{backgroundColor:"var(--tango-datepicker-confirm-bg)",color:"var(--tango-datepicker-confirm-fg)",borderColor:"var(--tango-datepicker-confirm-bg)"},children:U.confirm})]})]})]})]})}Ct.propTypes={value:e.string,defaultValue:e.string,onChange:e.func,disabled:e.bool,time:e.bool,size:e.oneOf(["small","medium","large"]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,i18nKey:e.string,localeText:e.shape({placeholder:e.string,placeholderTime:e.string,timeLabel:e.string,confirm:e.string,cancel:e.string,prevMonth:e.string,nextMonth:e.string,weekDays:e.arrayOf(e.string),monthFormat:e.string,hourLabel:e.string,minuteLabel:e.string,panelAriaLabel:e.string})};const cs=["overlay","container","header","title","closeBtn","content","footer"],Je={title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭"},ds={right:"right",left:"left",top:"top",bottom:"bottom"},us={right:"right-0 top-0 h-full",left:"left-0 top-0 h-full",top:"top-0 left-0 w-full",bottom:"bottom-0 left-0 w-full"},gs={right:"translateX(100%)",left:"translateX(-100%)",top:"translateY(-100%)",bottom:"translateY(100%)"},so='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function kt(t){const{children:o,title:n,okText:d,cancelText:f,open:c=!1,onClose:r=()=>{},onOk:p,type:u="right",width:N,height:x,sx:b={},style:S={},className:k="",maskClosable:m=!0,footerButtons:F,localeText:M={},...T}=t,{onKeyDown:I,...D}=T,w=s.useRef(null),h=s.useRef(null),{t:g}=he(),Y=be(u,"right",ds),[_,j]=s.useState(!1),[z,K]=s.useState(!1);s.useEffect(()=>{if(c){j(!0);const P=setTimeout(()=>K(!0),30);return()=>clearTimeout(P)}if(_){K(!1);const P=setTimeout(()=>j(!1),300);return()=>clearTimeout(P)}},[c]),s.useEffect(()=>{if(!(typeof document>"u")&&_){const P=parseInt(document.body.dataset.tangoScrollLock||"0",10);return P===0&&(document.body.dataset.tangoOriginalOverflow=document.body.style.overflow),document.body.dataset.tangoScrollLock=String(P+1),document.body.style.overflow="hidden",()=>{const V=parseInt(document.body.dataset.tangoScrollLock||"0",10);V<=1?(document.body.style.overflow=document.body.dataset.tangoOriginalOverflow||"",delete document.body.dataset.tangoOriginalOverflow,delete document.body.dataset.tangoScrollLock):document.body.dataset.tangoScrollLock=String(V-1)}}},[_]),s.useEffect(()=>{if(typeof document>"u")return;if(!_){if(h.current){try{h.current.focus()}catch{}h.current=null}return}h.current=document.activeElement;const P=setTimeout(()=>{if(w.current){const V=w.current.querySelectorAll(so);V.length>0?V[0].focus():w.current.focus()}},100);return()=>clearTimeout(P)},[_]);const C={};Y==="left"||Y==="right"?C.width=N||"320px":C.height=x||"300px";const H={title:n??g("drawer.title",Je.title),okText:d??g("drawer.okText",Je.okText),cancelText:f??g("drawer.cancelText",Je.cancelText),closeAriaLabel:g("drawer.closeAriaLabel",Je.closeAriaLabel),...M},R=le(b,cs),U=y({baseClassName:"fixed inset-0 z-[999] flex",sxSlot:R.overlay}),$={tw:E(R.root.tw,R.container.tw),css:{...R.root.css,...R.container.css}},W=y({baseClassName:E("fixed bg-[var(--tango-card)] text-[var(--tango-foreground)] flex flex-col transition-all duration-300 ease-in-out",us[Y]),className:k,style:{...C,transform:z?"translate(0, 0)":gs[Y],...S},sxSlot:$}),Q=y({baseClassName:"flex items-center justify-between px-5 pt-5 pb-3 shrink-0",sxSlot:R.header}),oe=y({baseClassName:"text-lg font-bold text-[var(--tango-foreground)]",sxSlot:R.title}),X=y({baseClassName:"cursor-pointer p-1 rounded-md hover:bg-[var(--tango-muted)] transition-colors text-[var(--tango-muted-foreground)]",sxSlot:R.closeBtn}),te=y({baseClassName:"flex-1 overflow-auto overscroll-contain px-5 py-2 text-[var(--tango-foreground)]",sxSlot:R.content}),ne=y({baseClassName:"flex justify-end gap-2 px-5 py-4 border-t border-[var(--tango-border)] shrink-0",sxSlot:R.footer}),ie=P=>{m&&P.target===P.currentTarget&&r()},ae=s.useCallback(P=>{if(P.key==="Escape"){P.stopPropagation(),r();return}if(P.key==="Tab"&&w.current){const V=w.current.querySelectorAll(so);if(V.length===0){P.preventDefault();return}const ce=V[0],q=V[V.length-1];P.shiftKey?(document.activeElement===ce||document.activeElement===w.current)&&(P.preventDefault(),q.focus()):(document.activeElement===q||document.activeElement===w.current)&&(P.preventDefault(),ce.focus())}},[r]),se=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:a.jsx("path",{d:"M512 466.944l233.472-233.472a31.744 31.744 0 0 1 45.056 45.056L557.056 512l233.472 233.472a31.744 31.744 0 0 1-45.056 45.056L512 557.056l-233.472 233.472a31.744 31.744 0 0 1-45.056-45.056L466.944 512 233.472 278.528a31.744 31.744 0 0 1 45.056-45.056z"})}),ge=F!=null&&F.length?F:[{key:"cancel",text:H.cancelText,onClick:r},{key:"ok",text:H.okText,onClick:p||r}];return _?a.jsx("div",{ref:w,className:U.className,style:{...U.style,backgroundColor:"rgba(0, 0, 0, 0.5)",opacity:z?1:0,transition:"opacity 300ms ease-in-out"},onClick:ie,role:"dialog","aria-modal":"true","aria-label":H.title,...D,tabIndex:-1,onKeyDown:P=>{ae(P),I==null||I(P)},children:a.jsxs("div",{className:W.className,style:W.style,children:[a.jsxs("div",{className:Q.className,style:Q.style,children:[a.jsx("h3",{className:oe.className,style:oe.style,children:H.title}),a.jsx("div",{className:X.className,style:X.style,onClick:r,role:"button",tabIndex:0,"aria-label":H.closeAriaLabel,onKeyDown:P=>{(P.key==="Enter"||P.key===" ")&&r()},children:se})]}),a.jsx("div",{className:te.className,style:te.style,children:o}),a.jsx("div",{className:ne.className,style:ne.style,children:ge.map(P=>{const V=P.key==="ok";return a.jsx(Se,{onClick:P.onClick,type:"default",outline:!V,size:"medium",style:V?{backgroundColor:"var(--tango-drawer-ok-bg)",color:"var(--tango-drawer-ok-fg)",borderColor:"var(--tango-drawer-ok-bg)"}:{backgroundColor:"var(--tango-drawer-cancel-bg)",color:"var(--tango-drawer-cancel-fg)"},children:P.text},P.key)})})]})}):null}kt.propTypes={children:e.node,title:e.string,okText:e.string,cancelText:e.string,open:e.bool,onClose:e.func,onOk:e.func,type:e.oneOf(["top","bottom","left","right"]),width:e.oneOfType([e.string,e.number]),height:e.oneOfType([e.string,e.number]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,maskClosable:e.bool,footerButtons:e.arrayOf(e.shape({key:e.string.isRequired,text:e.string.isRequired,onClick:e.func.isRequired})),localeText:e.shape({title:e.string,okText:e.string,cancelText:e.string,closeAriaLabel:e.string})};const ps=["root","text"],ms={small:"my-0.5",medium:"my-1.5",large:"my-2.5",huge:"my-4"};function fs(t,o){const{sx:n={},style:d={},className:f="",size:c="medium",children:r,...p}=t,u=le(n,ps),N=be(c,ms,"medium"),x=!!r,b=y({baseClassName:E("flex items-center justify-center relative w-full",N),className:f,sxSlot:u.root,baseStyle:{},style:d}),S=y({baseClassName:"px-2 whitespace-nowrap z-[1]",sxSlot:u.text});return a.jsxs("span",{ref:o,className:b.className,style:b.style,role:x?void 0:"separator",...p,children:[a.jsx("span",{className:`flex-1 h-px bg-[var(--tango-line-color)] ${x?"mr-2.5":""}`}),x&&a.jsx("span",{className:S.className,style:S.style,children:r}),a.jsx("span",{className:`flex-1 h-px bg-[var(--tango-line-color)] ${x?"ml-2.5":""}`})]})}const lt=s.forwardRef(fs);lt.displayName="Line";lt.propTypes={size:e.oneOf(["small","medium","large","huge"]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};const xs=["root"],ro={default:"bg-[var(--tango-mark-default-bg)]",primary:"bg-[var(--tango-mark-primary-bg)]",success:"bg-[var(--tango-mark-success-bg)]",warning:"bg-[var(--tango-mark-warning-bg)]",danger:"bg-[var(--tango-mark-danger-bg)]"};function bs(t,o){const{sx:n={},style:d={},className:f="",color:c="default",beauty:r=!1,children:p,...u}=t,N=le(n,xs),x=ro[c]||ro.default,b=y({baseClassName:E("inline-block",x,r?"px-2 py-1 rounded":""),className:f,sxSlot:N.root,baseStyle:{},style:d});return a.jsx("mark",{ref:o,className:b.className,style:b.style,...u,children:p})}const it=s.forwardRef(bs);it.displayName="Mark";it.propTypes={color:e.oneOf(["default","primary","success","warning","danger"]),beauty:e.bool,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};const hs=["overlay","container","header","title","closeBtn","content","footer"],De={title:"基础标题",okText:"确定",cancelText:"取消",closeAriaLabel:"关闭",confirmTitle:"确认",successTitle:"成功",errorTitle:"错误",warningTitle:"警告"},no='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function Tt(t){const{children:o,title:n,okText:d,cancelText:f,open:c=!1,onClose:r=()=>{},onOk:p,width:u,sx:N={},style:x={},className:b="",maskClosable:S=!0,footerButtons:k,footer:m,destroyOnClose:F=!1,localeText:M={},_staticType:T,...I}=t,{onKeyDown:D,...w}=I,h=s.useRef(null),g=s.useRef(null),{t:Y}=he(),[_,j]=s.useState(!1),[z,K]=s.useState(!1),[C,H]=s.useState(!1);s.useEffect(()=>{if(c){j(!0);const l=setTimeout(()=>K(!0),30);return()=>clearTimeout(l)}if(_){K(!1);const l=setTimeout(()=>j(!1),300);return()=>clearTimeout(l)}},[c]),s.useEffect(()=>{if(!(typeof document>"u")&&_){const l=parseInt(document.body.dataset.tangoScrollLock||"0",10);return l===0&&(document.body.dataset.tangoOriginalOverflow=document.body.style.overflow),document.body.dataset.tangoScrollLock=String(l+1),document.body.style.overflow="hidden",()=>{const i=parseInt(document.body.dataset.tangoScrollLock||"0",10);i<=1?(document.body.style.overflow=document.body.dataset.tangoOriginalOverflow||"",delete document.body.dataset.tangoOriginalOverflow,delete document.body.dataset.tangoScrollLock):document.body.dataset.tangoScrollLock=String(i-1)}}},[_]),s.useEffect(()=>{if(typeof document>"u")return;if(!_){if(g.current){try{g.current.focus()}catch{}g.current=null}return}g.current=document.activeElement;const l=setTimeout(()=>{if(h.current){const i=h.current.querySelectorAll(no);i.length>0?i[0].focus():h.current.focus()}},100);return()=>clearTimeout(l)},[_]);const R=T?`modal.${T}Title`:"modal.title",U=T?De[`${T}Title`]:De.title,$={title:n??Y(R,U),okText:d??Y("modal.okText",De.okText),cancelText:f??Y("modal.cancelText",De.cancelText),closeAriaLabel:Y("modal.closeAriaLabel",De.closeAriaLabel),...M},W=le(N,hs),Q=y({baseClassName:"fixed inset-0 z-[999] flex justify-center items-center",sxSlot:W.overlay}),oe={tw:E(W.root.tw,W.container.tw),css:{...W.root.css,...W.container.css}},X=y({baseClassName:"bg-[var(--tango-modal-bg)] text-[var(--tango-foreground)] flex flex-col rounded-[var(--tango-radius)] shadow-[var(--tango-modal-shadow)] transition-all duration-300 ease-in-out",className:b,style:{width:u||"520px",maxWidth:"90vw",minHeight:"200px",maxHeight:"80vh",transform:z?"scale(1)":"scale(0.8)",opacity:z?1:0,...x},sxSlot:oe}),te=y({baseClassName:"flex items-center justify-between px-5 pt-5 pb-3 shrink-0",sxSlot:W.header}),ne=y({baseClassName:"text-lg font-bold text-[var(--tango-foreground)]",sxSlot:W.title}),ie=y({baseClassName:"cursor-pointer p-1 rounded-md hover:bg-[var(--tango-muted)] transition-colors text-[var(--tango-muted-foreground)]",sxSlot:W.closeBtn}),ae=y({baseClassName:"flex-1 overflow-auto overscroll-contain px-6 py-5 text-[var(--tango-foreground)]",sxSlot:W.content}),se=y({baseClassName:"flex justify-end gap-2 px-5 py-4 border-t border-[var(--tango-border)] shrink-0",sxSlot:W.footer}),ge=l=>{S&&l.target===l.currentTarget&&r()},P=s.useCallback(l=>{if(l.key==="Escape"){l.stopPropagation(),r();return}if(l.key==="Tab"&&h.current){const i=h.current.querySelectorAll(no);if(i.length===0){l.preventDefault();return}const L=i[0],Z=i[i.length-1];l.shiftKey?(document.activeElement===L||document.activeElement===h.current)&&(l.preventDefault(),Z.focus()):(document.activeElement===Z||document.activeElement===h.current)&&(l.preventDefault(),L.focus())}},[r]),V=a.jsx("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:a.jsx("path",{d:"M512 466.944l233.472-233.472a31.744 31.744 0 0 1 45.056 45.056L557.056 512l233.472 233.472a31.744 31.744 0 0 1-45.056 45.056L512 557.056l-233.472 233.472a31.744 31.744 0 0 1-45.056-45.056L466.944 512 233.472 278.528a31.744 31.744 0 0 1 45.056-45.056z"})}),ce=()=>{let l;try{l=p==null?void 0:p()}catch(i){console.error("[Tango Modal] onOk threw:",i);return}l&&typeof l.then=="function"?(H(!0),l.then(()=>{H(!1),r()}).catch(i=>{console.error("[Tango Modal] onOk promise rejected:",i),H(!1)})):r()},q=T==="success"||T==="error"||T==="warning"?[{key:"ok",text:$.okText,onClick:r}]:[{key:"cancel",text:$.cancelText,onClick:r},{key:"ok",text:$.okText,onClick:ce}],ue=k!=null&&k.length?k:q,de=F?c||z:!0;if(!_)return null;const re=()=>m===null||m===!1?null:m!==void 0?m:a.jsx("div",{className:se.className,style:se.style,children:ue.map(l=>{const i=l.key==="ok";return a.jsx(Se,{onClick:l.onClick,type:"default",outline:!i,size:"medium",loading:i&&C?"light":!1,disabled:i&&C,style:i?{backgroundColor:"var(--tango-modal-ok-bg)",color:"var(--tango-modal-ok-fg)",borderColor:"var(--tango-modal-ok-bg)"}:{backgroundColor:"var(--tango-modal-cancel-bg)",color:"var(--tango-modal-cancel-fg)"},children:l.text},l.key)})});return a.jsx("div",{ref:h,className:Q.className,style:{...Q.style,backgroundColor:"rgba(0, 0, 0, 0.5)",opacity:z?1:0,transition:"opacity 300ms ease-in-out"},onClick:ge,role:"dialog","aria-modal":"true","aria-label":$.title,...w,tabIndex:-1,onKeyDown:l=>{P(l),D==null||D(l)},children:a.jsxs("div",{className:X.className,style:X.style,children:[a.jsxs("div",{className:te.className,style:te.style,children:[a.jsx("h3",{className:ne.className,style:ne.style,children:$.title}),a.jsx("div",{className:ie.className,style:ie.style,onClick:r,role:"button",tabIndex:0,"aria-label":$.closeAriaLabel,onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&r()},children:V})]}),a.jsx("div",{className:ae.className,style:ae.style,children:de?o:null}),re()]})})}Tt.propTypes={children:e.node,title:e.string,okText:e.string,cancelText:e.string,open:e.bool,onClose:e.func,onOk:e.func,width:e.oneOfType([e.string,e.number]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,maskClosable:e.bool,footerButtons:e.arrayOf(e.shape({key:e.string.isRequired,text:e.string.isRequired,onClick:e.func.isRequired})),footer:e.oneOfType([e.node,e.oneOf([null])]),destroyOnClose:e.bool,localeText:e.shape({title:e.string,okText:e.string,cancelText:e.string,closeAriaLabel:e.string,confirmTitle:e.string,successTitle:e.string,errorTitle:e.string,warningTitle:e.string})};const ys=["root","input","button","prefix","clearIcon"],vs={small:"small",medium:"medium",large:"large",huge:"huge"},Ss={small:"h-8 text-xs pl-2.5 pr-20",medium:"h-10 text-sm pl-3 pr-24",large:"h-12 text-base pl-3.5 pr-28",huge:"h-14 text-lg pl-4 pr-32"},ws={small:"pr-26",medium:"pr-30",large:"pr-34",huge:"pr-38"},Ns={small:"pl-7",medium:"pl-8",large:"pl-9",huge:"pl-10"},Cs={small:"small",medium:"small",large:"medium",huge:"medium"},lo={placeholder:"请输入内容",btnText:"搜索"},io={clearAriaLabel:"清除",countTemplate:"{current} / {max}"},ks={small:"calc(var(--spacing) * 2 + 56px)",medium:"calc(var(--spacing) * 2 + 64px)",large:"calc(var(--spacing) * 2 + 80px)",huge:"calc(var(--spacing) * 2 + 96px)"};function Lt(t){const{size:o="medium",sx:n={},style:d={},className:f="",onSearch:c,onChange:r,value:p,defaultValue:u,disabled:N=!1,placeholder:x,btnText:b,localeText:S,path:k="",prefix:m,allowClear:F=!0,showCount:M=!1,maxLength:T=524288,...I}=t,{t:D}=he(),w=s.useRef(null),h=be(o,"medium",vs),g=p!==void 0,[Y,_]=s.useState(g?p??"":u??""),j=g?p??"":Y,z=String(j).length,K=z>T,C=D("search.placeholder",lo.placeholder),H=D("search.btnText",lo.btnText),R=x??(S==null?void 0:S.placeholder)??C,U=b??(S==null?void 0:S.btnText)??H,$=(S==null?void 0:S.clearAriaLabel)??D("input.clearAriaLabel",io.clearAriaLabel),W=le(n,ys),Q=typeof n=="string",oe={tw:E(Q?W.root.tw:"",W.input.tw),css:{...W.root.css,...W.input.css}},X=E("relative inline-flex flex-col",Q?"":W.root.tw),te=F&&!N,ne=!!m,ie=te?ws[h]:"",ae=ne?Ns[h]:"",se=E("w-[300px] rounded-[var(--tango-radius)] border-[1px] bg-[var(--tango-input-bg)] text-[var(--tango-foreground)] outline-none transition-all duration-200 ease-in-out","border-[var(--tango-border)] shadow-[var(--tango-input-shadow)]","hover:border-[var(--tango-input-accent)]","focus:border-[var(--tango-input-accent)] focus:shadow-[var(--tango-input-focus-shadow)]",N&&"bg-[var(--tango-muted)] text-[var(--tango-muted-foreground)] border-[var(--tango-muted)] cursor-not-allowed shadow-none hover:border-[var(--tango-muted)] focus:shadow-none",Ss[h],ie,ae),ge=y({baseClassName:se,className:f,style:d,sxSlot:oe}),P=y({baseClassName:"absolute top-1/2 -translate-y-1/2",sxSlot:W.button,style:{right:"calc(var(--spacing) * 2)"}}),V={right:P.style.right},ce={...P.style};delete ce.right;const q=s.useCallback(()=>g?p:Y,[g,p,Y]),ue=s.useCallback(()=>{c==null||c(q())},[c,q]),de=s.useCallback(O=>{O.key==="Enter"&&ue()},[ue]),re=s.useCallback(O=>{const A=O.target.value;g||_(A),r==null||r(A)},[g,r]),l=s.useCallback(O=>{O.stopPropagation(),g||(_(""),w.current&&(w.current.value="")),r==null||r("")},[g,r]),i=()=>{if(!F||N||!(j!==""&&j!==void 0&&j!==null))return null;const A=y({baseClassName:"absolute top-1/2 -translate-y-1/2 cursor-pointer text-[var(--tango-muted-foreground)] hover:text-[var(--tango-foreground)] transition-colors",sxSlot:W.clearIcon});return a.jsx("span",{className:A.className,style:{...A.style,right:ks[h]},onClick:l,"aria-label":$,role:"button",children:a.jsx("svg",{viewBox:"0 0 16 16",fill:"currentColor",style:{width:14,height:14},children:a.jsx("path",{d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"})})})},L=()=>{if(!m)return null;const O=y({baseClassName:"absolute top-1/2 -translate-y-1/2 left-2 text-[var(--tango-muted-foreground)]",sxSlot:W.prefix});return a.jsx("span",{className:O.className,style:O.style,children:m})},Z=()=>{if(!M)return null;const A=((S==null?void 0:S.countTemplate)??D("input.countTemplate",io.countTemplate)).replace("{current}",String(z)).replace("{max}",String(T));return a.jsx("div",{className:E("text-xs mt-1 text-right w-[300px]",K?"text-[var(--tango-input-error-border)]":"text-[var(--tango-muted-foreground)]"),children:A})};return a.jsxs("div",{className:X,children:[a.jsxs("div",{className:"relative inline-flex w-[300px]",children:[L(),a.jsx("input",{ref:g?void 0:w,className:ge.className,style:ge.style,onKeyDown:de,onChange:re,value:g?p:void 0,defaultValue:g?void 0:u??"",disabled:N||void 0,placeholder:R,maxLength:T,type:"text",role:"searchbox","aria-label":R,...I}),i(),a.jsx("div",{className:P.className,style:V,children:a.jsx(Se,{onClick:ue,size:Cs[h],disabled:N,"aria-label":U,style:ce,children:k?a.jsx("img",{src:k,alt:"search-icon",style:{width:16,height:16,marginTop:2,marginBottom:-3}}):U})})]}),Z()]})}Lt.propTypes={size:e.oneOf(["small","medium","large","huge"]),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,onSearch:e.func,onChange:e.func,value:e.string,defaultValue:e.string,disabled:e.bool,placeholder:e.string,btnText:e.string,path:e.string,prefix:e.node,allowClear:e.bool,showCount:e.bool,maxLength:e.number,localeText:e.shape({placeholder:e.string,btnText:e.string,clearAriaLabel:e.string,countTemplate:e.string})};const No={default:"block",inline:"inline-block",flex:"flex",inlineFlex:"inline-flex",grid:"grid",circle:"block rounded-full",fixed:"block fixed",absolute:"block absolute",relative:"block relative"},Co=Object.keys(No),Ts=["root"];function Ls(t,o){const{sx:n={},style:d={},className:f="",type:c="default",children:r,...p}=t,u=Co.includes(c)?c:"default",N=le(n,Ts),x=y({baseClassName:No[u],className:f,sxSlot:N.root}),b=u==="circle"?{width:"var(--tango-space-circle-size, 64px)",height:"var(--tango-space-circle-size, 64px)",background:"var(--tango-space-circle-color, var(--tango-primary))"}:{};return a.jsx("div",{ref:o,className:x.className,style:{...b,...x.style,...d},...p,children:r})}const ct=s.forwardRef(Ls);ct.propTypes={type:e.oneOf(Co),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,children:e.node};ct.displayName="Space";const js=["root","wrapper","thead","headerCell","body","row","cell","empty","pagination","loading","footer"],Le={empty:"暂无数据",prev:"上一页",next:"下一页",page:"页",total:"共 {total} 条",perPage:"条/页",selectedSummary:"共 {total} 行,已选 {selected} 行",selectAll:"全选",selectRow:"选择行"},_s=10,Ps=[10,20,50,100],Qe=(t,...o)=>typeof t=="function"?t(...o):t??{};function jt(t){const{dataSource:o=[],columns:n=[],sx:d={},style:f={},className:c="",pagination:r=null,hide:p=[],rowClassName:u,rowStyle:N,cellClassName:x,cellStyle:b,hoverColor:S="",loading:k,rowSelection:m,onRow:F,i18nKey:M=null,localeText:T={},"aria-label":I,...D}=t,{t:w}=he(),h=s.useId().replace(/:/g,"");o.length===0&&n.length===0&&console.warn("[Tango Table] dataSource 和 columns 不能同时为空,请至少提供一项。");const g={empty:w("table.empty",Le.empty),prev:w("table.prev",Le.prev),next:w("table.next",Le.next),page:w("table.page",Le.page),total:w("table.total",Le.total),perPage:w("table.perPage",Le.perPage),selectedSummary:w("table.selectedSummary",Le.selectedSummary),selectAll:w("table.selectAll",Le.selectAll),selectRow:w("table.selectRow",Le.selectRow),...T},Y=k!==!1&&(k===!0||o.length===0),_=3,j=Array.isArray(p)?p:typeof p=="string"?[p]:[],z=s.useMemo(()=>n.filter(B=>!B.hide&&!j.includes(B.dataIndex)),[n,j]),K=!!m,C=Array.isArray(m==null?void 0:m.selectedRowKeys),[H,R]=s.useState([]),U=C?m.selectedRowKeys:H,$=s.useCallback((B,v)=>B.key??v,[]),W=s.useCallback((B,v)=>B.includes(v)?B.filter(G=>G!==v):[...B,v],[]),Q=s.useCallback(B=>{if(!(m!=null&&m.onChange))return;const v=o.map((ee,me)=>$(ee,me)),G=o.filter((ee,me)=>B.includes(v[me]));m.onChange(B,G)},[o,$,m]),oe=s.useCallback((B,v)=>{const G=$(B,v),ee=W(U,G);C||R(ee),Q(ee)},[$,U,W,C,Q]),X=s.useMemo(()=>o.map((B,v)=>$(B,v)),[o,$]),te=s.useMemo(()=>o.length>0&&X.every(B=>U.includes(B)),[o.length,X,U]),ne=s.useCallback(()=>{const B=te?[]:X;C||R(B),Q(B)},[te,X,C,Q]),ie=(B,v,G)=>a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("input",{type:"checkbox",checked:B,onChange:v,className:"h-4 w-4 cursor-pointer accent-[var(--tango-primary)]","aria-label":G})}),ae=s.useMemo(()=>K?[{title:"",dataIndex:"__selection__",key:"__selection__",width:(m==null?void 0:m.width)||50,fixed:(m==null?void 0:m.fixed)!==!1},...z]:z,[z,K,m]),[se,ge]=s.useState(null),[P,V]=s.useState(null),ce=ae.length>0?ae[ae.length-1].dataIndex:null,q=s.useMemo(()=>ae.map(B=>{if(!B.fixed)return{...B,fixedSide:null};const v=B.dataIndex===ce?"right":"left";return{...B,fixedSide:v}}),[ae,ce]),ue=s.useMemo(()=>{const B={};let v=0,G=0;for(let ee=0;ee<q.length;ee++){const me=q[ee];me.fixedSide==="left"?(B[me.dataIndex]={side:"left",value:v},v+=Number(me.width)||120):B[me.dataIndex]={side:"left",value:0}}for(let ee=q.length-1;ee>=0;ee--){const me=q[ee];me.fixedSide==="right"&&(B[me.dataIndex]={side:"right",value:G},G+=Number(me.width)||120)}return B},[q]),de=s.useMemo(()=>q.reduce((B,v)=>B+(Number(v.width)||150),0),[q]),re=s.useCallback(B=>{if(!B.sortable)return;let v,G;se===B.dataIndex?P==="asc"?(v=se,G="desc"):P==="desc"?(v=null,G=null):(v=B.dataIndex,G="asc"):(v=B.dataIndex,G="asc"),ge(v),V(G)},[se,P]),l=s.useMemo(()=>!se||!P?o:[...o].sort((B,v)=>{const G=Number(B[se]),ee=Number(v[se]);return isNaN(G)||isNaN(ee)?0:P==="asc"?G-ee:ee-G}),[o,se,P]),i=r!==null&&r!==!1,L=r&&r.placement||"bottom",Z=r&&r.pageSize||_s,O=r&&r.pageSizeOptions||Ps,A=(r==null?void 0:r.showTotal)!==!1,xe=(r==null?void 0:r.showSizeChanger)!==!1,[je,Ge]=s.useState(1),[_e,ut]=s.useState(Z),_t=l.length,Ne=Math.max(1,Math.ceil(_t/_e)),ve=Math.min(je,Ne),ko=s.useMemo(()=>{if(!i)return l;const B=(ve-1)*_e;return l.slice(B,B+_e)},[l,ve,_e,i]),Ie=s.useCallback(B=>Ge(Math.max(1,Math.min(B,Ne))),[Ne]),pe=le(d,js),Pt=y({baseClassName:E("w-full overflow-x-auto bg-[var(--tango-background)]","shadow-[0_0_20px_color-mix(in_oklch,var(--tango-foreground)_8%,transparent)]"),className:c,style:f,sxSlot:{tw:E(pe.root.tw,pe.wrapper.tw),css:{...pe.root.css,...pe.wrapper.css}}}),At=y({baseClassName:"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] sticky top-0 z-10",sxSlot:pe.thead}),Ot=y({baseClassName:"text-[var(--tango-foreground)]",sxSlot:pe.body}),Mt=y({baseClassName:"text-[var(--tango-muted-foreground)] py-16 text-center",sxSlot:pe.empty}),Et=y({baseClassName:"flex items-center justify-between px-4 py-3 text-sm text-[var(--tango-muted-foreground)] border-t border-[var(--tango-border)]",sxSlot:pe.pagination}),It=y({baseClassName:"flex items-center justify-between px-4 py-3 text-sm text-[var(--tango-muted-foreground)] border-t border-[var(--tango-border)] bg-[var(--tango-background)]",sxSlot:pe.footer}),To=S?a.jsx("style",{children:`
7
+ [data-tango-table-id="${h}"] [data-tango-table-body] tr:hover {
8
+ background-color: ${S} !important;
9
9
  transform: translateY(-1px);
10
10
  box-shadow: 0 2px 8px color-mix(in oklch, var(--tango-foreground) 5%, transparent);
11
11
  }
12
- `}):null,G=()=>{if(!x)return null;const J=Array.from({length:z},(I,q)=>q+1);return a.jsxs("div",{className:de.className,style:de.style,children:[a.jsxs("div",{className:"flex items-center gap-3",children:[j&&a.jsx("span",{children:y.total.replace("{total}",String(W))}),C&&a.jsx("select",{value:Y,onChange:I=>{R(Number(I.target.value)),_(1)},className:"rounded border-[1px] border-[var(--tango-border)] bg-[var(--tango-background)] px-2 py-1 text-sm cursor-pointer","aria-label":y.perPage,children:B.map(I=>a.jsxs("option",{value:I,children:[I," ",y.perPage]},I))})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>H(k-1),disabled:k<=1,className:"px-2 py-1 rounded border-[1px] border-[var(--tango-border)] text-xs disabled:opacity-40 disabled:cursor-not-allowed hover:bg-[var(--tango-accent)] transition-colors","aria-label":y.prev,children:y.prev}),J.length<=7?J.map(I=>a.jsx("button",{type:"button",onClick:()=>H(I),className:`min-w-[28px] px-2 py-1 rounded text-xs transition-colors ${I===k?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"}`,children:I},I)):a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",onClick:()=>H(1),className:`min-w-[28px] px-2 py-1 rounded text-xs ${k===1?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"} transition-colors`,children:"1"}),k>3&&a.jsx("span",{className:"px-1 text-xs",children:"…"}),Array.from({length:z},(I,q)=>q+1).filter(I=>I>1&&I<z&&Math.abs(I-k)<=1).map(I=>a.jsx("button",{type:"button",onClick:()=>H(I),className:`min-w-[28px] px-2 py-1 rounded text-xs ${I===k?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"} transition-colors`,children:I},I)),k<z-2&&a.jsx("span",{className:"px-1 text-xs",children:"…"}),a.jsx("button",{type:"button",onClick:()=>H(z),className:`min-w-[28px] px-2 py-1 rounded text-xs ${k===z?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"} transition-colors`,children:z})]}),a.jsx("button",{type:"button",onClick:()=>H(k+1),disabled:k>=z,className:"px-2 py-1 rounded border-[1px] border-[var(--tango-border)] text-xs disabled:opacity-40 disabled:cursor-not-allowed hover:bg-[var(--tango-accent)] transition-colors","aria-label":y.next,children:y.next})]})]})},pe=J=>a.jsxs("div",{className:D.className,style:D.style,"data-tango-table-id":O,children:[ue,a.jsxs("table",{className:"w-full border-collapse separate border-spacing-0 text-sm",role:"table",children:[a.jsx("thead",{className:ee.className,style:ee.style,children:a.jsx("tr",{children:h.map(I=>{const q=g({baseClassName:$("px-5 py-4 text-left font-semibold tracking-wide relative",K.headerCell.tw),baseStyle:I.width?{width:I.width}:{},sxSlot:{tw:"",css:K.headerCell.css}});return a.jsxs("th",{className:q.className,style:q.style,children:[I.title,a.jsx("span",{className:"absolute right-0 top-[20%] h-[60%] w-px bg-[var(--tango-primary-foreground)]/15 last:hidden"})]},I.key||I.dataIndex)})})}),a.jsx("tbody",{className:re.className,style:re.style,"data-tango-table-body":!0,children:J.length===0?a.jsx("tr",{children:a.jsx("td",{colSpan:h.length,className:ie.className,style:ie.style,children:y.empty})}):J.map((I,q)=>{const Q=q%2===0?"even":"odd",oe=$("transition-all duration-200",Q==="even"?"bg-[color-mix(in_oklch,var(--tango-table-hover)_6%,transparent)]":"","hover:bg-[color-mix(in_oklch,var(--tango-table-hover)_20%,transparent)]",K.row.tw,Pe(p,I,q,Q)),S={...Pe(b,I,q,Q),...K.row.css};return a.jsx("tr",{className:oe,style:S,children:h.map((E,X)=>{const ae=X%2===0?"even":"odd",le=$("px-5 py-3.5 text-left relative","border-b border-[color-mix(in_oklch,var(--tango-foreground)_5%,transparent)]",K.cell.tw,Pe(m,I,E,q,X,Q,ae)),Te={...E.width?{width:E.width}:{},...Pe(u,I,E,q,X,Q,ae),...K.cell.css};return a.jsxs("td",{className:le,style:Te,children:[a.jsx("div",{className:"flex items-center min-h-5",children:E.render?E.render(I[E.dataIndex],I,q):I[E.dataIndex]}),a.jsx("span",{className:"absolute right-0 top-[20%] h-[60%] w-px bg-[color-mix(in_oklch,var(--tango-foreground)_4%,transparent)] last:hidden"})]},E.key||E.dataIndex||X)})},I.key||q)})})]})]});return a.jsxs("div",{role:"region","aria-label":L||"Table",...F,children:[x&&A==="top"&&G(),pe(U),x&&A==="bottom"&&G()]})}Kt.propTypes={dataSource:t.array,columns:t.arrayOf(t.shape({title:t.string.isRequired,dataIndex:t.string.isRequired,key:t.oneOfType([t.string,t.number]),render:t.func,width:t.oneOfType([t.string,t.number]),hide:t.bool})),sx:t.oneOfType([t.object,t.string]),style:t.object,className:t.string,pagination:t.oneOfType([t.bool,t.shape({placement:t.oneOf(["top","bottom"]),pageSize:t.number,pageSizeOptions:t.arrayOf(t.number),showTotal:t.bool,showSizeChanger:t.bool})]),hide:t.oneOfType([t.arrayOf(t.string),t.string]),rowClassName:t.oneOfType([t.func,t.string]),rowStyle:t.oneOfType([t.func,t.object]),cellClassName:t.oneOfType([t.func,t.string]),cellStyle:t.oneOfType([t.func,t.object]),hoverColor:t.string,i18nKey:t.string,localeText:t.object};const Fa=["root","tooltip"],Lt={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},Da={top:{bottom:"-5px",left:"50%",marginLeft:"-5px",transform:"rotate(45deg)"},bottom:{top:"-5px",left:"50%",marginLeft:"-5px",transform:"rotate(45deg)"},left:{right:"-5px",top:"50%",marginTop:"-5px",transform:"rotate(45deg)"},right:{left:"-5px",top:"50%",marginTop:"-5px",transform:"rotate(45deg)"}};function Ra(e,o){const{children:s,title:r,placement:c="top",open:l,defaultOpen:n=!1,onOpenChange:i,disabled:p=!1,sx:b={},style:m={},className:u="",onMouseEnter:f,onMouseLeave:v,onFocus:N,onBlur:L,...F}=e,[P,O]=d.useState(n),y=l!==void 0,w=y?l:P,h=d.useCallback(_=>{y||O(_),i==null||i(_)},[y,i]),x=Lt[c]?c:"top",A=Z(b,Fa),M=g({baseClassName:"relative inline-flex",sxSlot:A.root}),B=g({baseClassName:$("absolute z-50 whitespace-nowrap px-3 py-1.5 text-sm","bg-[var(--tango-tooltip-background)] text-[var(--tango-tooltip-foreground)]","shadow-[var(--tango-tooltip-shadow)]",Lt[x]),className:u,baseStyle:{borderRadius:"var(--tango-tooltip-radius)"},sxSlot:A.tooltip,style:m}),j={position:"absolute",width:"10px",height:"10px",backgroundColor:"inherit",...Da[x]},C=()=>!p&&h(!0),T=()=>!p&&h(!1);return a.jsxs("div",{ref:o,className:M.className,style:M.style,onMouseEnter:_=>{C(),f==null||f(_)},onMouseLeave:_=>{T(),v==null||v(_)},onFocus:_=>{C(),N==null||N(_)},onBlur:_=>{T(),L==null||L(_)},...F,children:[s,w&&r&&a.jsxs("div",{role:"tooltip",className:B.className,style:B.style,children:[a.jsx("span",{style:{position:"relative",zIndex:1},children:r}),a.jsx("span",{style:j})]})]})}const Ie=d.forwardRef(Ra);Ie.displayName="Tooltip";Ie.propTypes={children:t.node,title:t.node,placement:t.oneOf(["top","bottom","left","right"]),open:t.bool,defaultOpen:t.bool,onOpenChange:t.func,disabled:t.bool,sx:t.oneOfType([t.string,t.object]),style:t.object,className:t.string,onMouseEnter:t.func,onMouseLeave:t.func,onFocus:t.func,onBlur:t.func};se.MaterialButton=_e;Me.MaterialInput=Ae;te.Header=$t;te.Footer=Bt;te.Sider=It;te.Content=Ft;te.Toc=Dt;exports.Banner=He;exports.Button=se;exports.ColorPicker=Ue;exports.Content=Ft;exports.DateDisplay=Ze;exports.DatePicker=Ge;exports.Drawer=qe;exports.Footer=Bt;exports.Header=$t;exports.Input=Me;exports.Layout=te;exports.Line=Xe;exports.Mark=Je;exports.MaterialButton=_e;exports.MaterialInput=Ae;exports.Modal=Qe;exports.Notice=Ne;exports.NoticeProvider=go;exports.Search=et;exports.Sider=It;exports.Space=tt;exports.Table=Kt;exports.TangoBanner=He;exports.TangoColorPicker=Ue;exports.TangoDate=Ze;exports.TangoDatePicker=Ge;exports.TangoDrawer=qe;exports.TangoI18nProvider=yo;exports.TangoModal=Qe;exports.TangoNotice=Ne;exports.TangoSearch=et;exports.TangoTooltip=Ie;exports.ThemeProvider=Jt;exports.Toc=Dt;exports.Tooltip=Ie;exports.Upload=Be;exports.createSlotProps=g;exports.mergeTwClassNames=$;exports.normalizeSxSlots=Z;exports.normalizeTangoLocale=Se;exports.useNotice=xo;exports.useTangoI18n=ne;exports.useTangoStyle=ve;exports.useTheme=Qt;
12
+ `}):null,Lo=Y?a.jsx("style",{children:`
13
+ @keyframes tango-shimmer-${h} {
14
+ 0% { background-position: -200% 0; }
15
+ 100% { background-position: 200% 0; }
16
+ }
17
+ [data-tango-table-id="${h}"] .tango-skeleton-bar {
18
+ background: linear-gradient(
19
+ 90deg,
20
+ color-mix(in oklch, var(--tango-foreground) 5%, var(--tango-background)) 25%,
21
+ color-mix(in oklch, var(--tango-foreground) 15%, var(--tango-background)) 50%,
22
+ color-mix(in oklch, var(--tango-foreground) 5%, var(--tango-background)) 75%
23
+ );
24
+ background-size: 200% 100%;
25
+ // fixed by clayw on 20260624: 改为 alternate 往返动画,避免无限循环跳变导致的闪烁
26
+ animation: tango-shimmer-${h} 1.5s ease-in-out infinite alternate;
27
+ border-radius: 4px;
28
+ min-height: 14px;
29
+ }
30
+ `}):null,zt=()=>{if(!i)return null;const B=Array.from({length:Ne},(v,G)=>G+1);return a.jsxs("div",{className:Et.className,style:Et.style,children:[a.jsxs("div",{className:"flex items-center gap-3",children:[A&&a.jsx("span",{children:g.total.replace("{total}",String(_t))}),xe&&a.jsx("select",{value:_e,onChange:v=>{ut(Number(v.target.value)),Ge(1)},className:"rounded border-[1px] border-[var(--tango-border)] bg-[var(--tango-background)] px-2 py-1 text-sm cursor-pointer","aria-label":g.perPage,children:O.map(v=>a.jsxs("option",{value:v,children:[v," ",g.perPage]},v))})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>Ie(ve-1),disabled:ve<=1,className:"px-2 py-1 rounded border-[1px] border-[var(--tango-border)] text-xs disabled:opacity-40 disabled:cursor-not-allowed hover:bg-[var(--tango-accent)] transition-colors","aria-label":g.prev,children:g.prev}),B.length<=7?B.map(v=>a.jsx("button",{type:"button",onClick:()=>Ie(v),className:`min-w-[28px] px-2 py-1 rounded text-xs transition-colors ${v===ve?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"}`,children:v},v)):a.jsxs(a.Fragment,{children:[a.jsx("button",{type:"button",onClick:()=>Ie(1),className:`min-w-[28px] px-2 py-1 rounded text-xs ${ve===1?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"} transition-colors`,children:"1"}),ve>3&&a.jsx("span",{className:"px-1 text-xs",children:"…"}),Array.from({length:Ne},(v,G)=>G+1).filter(v=>v>1&&v<Ne&&Math.abs(v-ve)<=1).map(v=>a.jsx("button",{type:"button",onClick:()=>Ie(v),className:`min-w-[28px] px-2 py-1 rounded text-xs ${v===ve?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"} transition-colors`,children:v},v)),ve<Ne-2&&a.jsx("span",{className:"px-1 text-xs",children:"…"}),a.jsx("button",{type:"button",onClick:()=>Ie(Ne),className:`min-w-[28px] px-2 py-1 rounded text-xs ${ve===Ne?"bg-[var(--tango-primary)] text-[var(--tango-primary-foreground)] font-medium":"border-[1px] border-[var(--tango-border)] hover:bg-[var(--tango-accent)]"} transition-colors`,children:Ne})]}),a.jsx("button",{type:"button",onClick:()=>Ie(ve+1),disabled:ve>=Ne,className:"px-2 py-1 rounded border-[1px] border-[var(--tango-border)] text-xs disabled:opacity-40 disabled:cursor-not-allowed hover:bg-[var(--tango-accent)] transition-colors","aria-label":g.next,children:g.next})]})]})},jo=()=>{if(!K||Y)return null;const B=g.selectedSummary.replace("{total}",String(o.length)).replace("{selected}",String(U.length));return a.jsx("div",{className:It.className,style:It.style,children:a.jsx("span",{children:B})})},_o=B=>a.jsxs("div",{className:Pt.className,style:Pt.style,"data-tango-table-id":h,children:[To,Lo,a.jsxs("table",{className:"border-collapse border-spacing-0 text-sm",role:"table",style:{minWidth:"100%",width:de,tableLayout:"fixed"},children:[a.jsx("colgroup",{children:q.map(v=>a.jsx("col",{style:{width:v.width||150}},v.key||v.dataIndex))}),a.jsx("thead",{className:At.className,style:At.style,children:a.jsx("tr",{children:q.map((v,G)=>{const ee=ue[v.dataIndex],me=v.fixedSide!==null,ze=q[G+1],ke=q[G-1],fe=me&&v.fixedSide==="left"&&ze&&!ze.fixed,Ce=me&&v.fixedSide==="right"&&ke&&!ke.fixed,Pe=me?{position:"sticky",[ee.side]:ee.value,zIndex:20,backgroundColor:"var(--tango-primary)"}:{},Ae=y({baseClassName:E("px-5 py-4 text-left font-semibold tracking-wide relative",me&&"z-20",pe.headerCell.tw),baseStyle:{...v.width?{width:v.width}:{},...Pe},sxSlot:{tw:"",css:pe.headerCell.css}}),Te=se===v.dataIndex,Be=v.sortable?a.jsx("button",{type:"button",onClick:()=>re(v),className:"inline-flex items-center justify-center ml-1 w-5 h-5 rounded hover:bg-[var(--tango-primary-foreground)]/20 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tango-primary-foreground)]","aria-label":`排序 ${v.title}`,"aria-sort":Te?P==="asc"?"ascending":"descending":"none",children:a.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("path",{d:"M8 2 L4 7 L12 7 Z",fill:Te&&P==="asc"?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.5"}),a.jsx("path",{d:"M8 14 L4 9 L12 9 Z",fill:Te&&P==="desc"?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.5"})]})}):null;return a.jsxs("th",{className:Ae.className,style:Ae.style,children:[a.jsxs("span",{className:"inline-flex items-center",children:[v.dataIndex==="__selection__"?ie(te,ne,g.selectAll):v.title,Be]}),a.jsx("span",{className:"absolute right-0 top-[20%] h-[60%] w-px bg-[var(--tango-primary-foreground)]/15 last:hidden"}),fe&&a.jsx("span",{className:"absolute -right-2 top-0 bottom-0 w-2 pointer-events-none",style:{boxShadow:"2px 0 4px color-mix(in oklch, var(--tango-foreground) 8%, transparent)",backgroundColor:"inherit"}}),Ce&&a.jsx("span",{className:"absolute -left-2 top-0 bottom-0 w-2 pointer-events-none",style:{boxShadow:"-2px 0 4px color-mix(in oklch, var(--tango-foreground) 8%, transparent)",backgroundColor:"inherit"}})]},v.key||v.dataIndex)})})}),a.jsx("tbody",{className:Ot.className,style:Ot.style,"data-tango-table-body":!0,children:Y?Array.from({length:_},(v,G)=>{const ee=G%2===0?"even":"odd",me=E("transition-all duration-200",ee==="even"?"bg-[color-mix(in_oklch,var(--tango-table-hover)_6%,var(--tango-background))]":"",pe.row.tw),ze={...pe.row.css};return a.jsx("tr",{className:me,style:ze,children:q.map((ke,fe)=>{const Ce=ue[ke.dataIndex],Pe=ke.fixedSide!==null,Ae=Pe?{position:"sticky",[Ce.side]:Ce.value,zIndex:15,backgroundColor:ee==="even"?"color-mix(in oklch, var(--tango-table-hover) 6%, var(--tango-background))":"var(--tango-background)"}:{},Te=E("px-5 py-3.5 text-left relative","border-b border-[color-mix(in_oklch,var(--tango-foreground)_5%,transparent)]",Pe&&"z-15",pe.cell.tw),Be={...ke.width?{width:ke.width}:{},...Ae,...pe.cell.css},qe=fe===0?"60%":fe===q.length-1?"40%":"80%";return a.jsx("td",{className:Te,style:Be,children:a.jsx("div",{className:E("tango-skeleton-bar",pe.loading.tw),style:{width:qe,...pe.loading.css}})},`skeleton-${ke.dataIndex||fe}`)})},`skeleton-${G}`)}):B.length===0?a.jsx("tr",{children:a.jsx("td",{colSpan:q.length,className:Mt.className,style:Mt.style,children:g.empty})}):B.map((v,G)=>{const ee=G%2===0?"even":"odd",me=E("transition-all duration-200",ee==="even"?"bg-[color-mix(in_oklch,var(--tango-table-hover)_6%,var(--tango-background))]":"","hover:bg-[color-mix(in_oklch,var(--tango-table-hover)_20%,var(--tango-background))]",pe.row.tw,Qe(u,v,G,ee)),ze={...Qe(N,v,G,ee),...pe.row.css},ke=typeof F=="function"?F(v,G):{};return a.jsx("tr",{className:me,style:ze,...ke,children:q.map((fe,Ce)=>{const Pe=Ce%2===0?"even":"odd",Ae=ue[fe.dataIndex],Te=fe.fixedSide!==null,Be=q[Ce+1],qe=q[Ce-1],Po=Te&&fe.fixedSide==="left"&&Be&&!Be.fixed,Ao=Te&&fe.fixedSide==="right"&&qe&&!qe.fixed,Oo=Te?{position:"sticky",[Ae.side]:Ae.value,zIndex:15,backgroundColor:ee==="even"?"color-mix(in oklch, var(--tango-table-hover) 6%, var(--tango-background))":"var(--tango-background)"}:{},Mo=E("px-5 py-3.5 text-left relative","border-b border-[color-mix(in_oklch,var(--tango-foreground)_5%,transparent)]",Te&&"z-15",pe.cell.tw,Qe(x,v,fe,G,Ce,ee,Pe)),Eo={...fe.width?{width:fe.width}:{},...Oo,...Qe(b,v,fe,G,Ce,ee,Pe),...pe.cell.css};return a.jsxs("td",{className:Mo,style:Eo,children:[a.jsx("div",{className:"flex items-center min-h-5",children:fe.dataIndex==="__selection__"?ie(U.includes($(v,G)),()=>oe(v,G),g.selectRow):fe.render?fe.render(v[fe.dataIndex],v,G):v[fe.dataIndex]}),a.jsx("span",{className:"absolute right-0 top-[20%] h-[60%] w-px bg-[color-mix(in_oklch,var(--tango-foreground)_4%,transparent)] last:hidden"}),Po&&a.jsx("span",{className:"absolute -right-2 top-0 bottom-0 w-2 pointer-events-none",style:{boxShadow:"2px 0 4px color-mix(in oklch, var(--tango-foreground) 8%, transparent)",backgroundColor:"inherit"}}),Ao&&a.jsx("span",{className:"absolute -left-2 top-0 bottom-0 w-2 pointer-events-none",style:{boxShadow:"-2px 0 4px color-mix(in oklch, var(--tango-foreground) 8%, transparent)",backgroundColor:"inherit"}})]},fe.key||fe.dataIndex||Ce)})},v.key||G)})})]})]});return a.jsxs("div",{role:"region","aria-label":I||"Table",className:"rounded-xl border-[1px] border-[var(--tango-border)] overflow-hidden",...D,children:[i&&L==="top"&&zt(),_o(ko),jo(),i&&L==="bottom"&&zt()]})}jt.propTypes={dataSource:e.array,columns:e.arrayOf(e.shape({title:e.string.isRequired,dataIndex:e.string.isRequired,key:e.oneOfType([e.string,e.number]),render:e.func,width:e.oneOfType([e.string,e.number]),hide:e.bool,sortable:e.bool,fixed:e.bool})),sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,pagination:e.oneOfType([e.bool,e.shape({placement:e.oneOf(["top","bottom"]),pageSize:e.number,pageSizeOptions:e.arrayOf(e.number),showTotal:e.bool,showSizeChanger:e.bool})]),hide:e.oneOfType([e.arrayOf(e.string),e.string]),rowClassName:e.oneOfType([e.func,e.string]),rowStyle:e.oneOfType([e.func,e.object]),cellClassName:e.oneOfType([e.func,e.string]),cellStyle:e.oneOfType([e.func,e.object]),hoverColor:e.string,loading:e.bool,rowSelection:e.shape({type:e.oneOf(["checkbox"]),selectedRowKeys:e.arrayOf(e.oneOfType([e.string,e.number])),onChange:e.func,fixed:e.bool,width:e.oneOfType([e.string,e.number])}),onRow:e.func,i18nKey:e.string,localeText:e.shape({empty:e.string,prev:e.string,next:e.string,total:e.string,perPage:e.string,selectedSummary:e.string,selectAll:e.string,selectRow:e.string})};const As=["root","tooltip"],co={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"},Os={top:{bottom:"-5px",left:"50%",marginLeft:"-5px",transform:"rotate(45deg)"},bottom:{top:"-5px",left:"50%",marginLeft:"-5px",transform:"rotate(45deg)"},left:{right:"-5px",top:"50%",marginTop:"-5px",transform:"rotate(45deg)"},right:{left:"-5px",top:"50%",marginTop:"-5px",transform:"rotate(45deg)"}};function Ms(t,o){const{children:n,title:d,placement:f="top",open:c,defaultOpen:r=!1,onOpenChange:p,disabled:u=!1,zIndex:N=50,sx:x={},style:b={},className:S="",onMouseEnter:k,onMouseLeave:m,onFocus:F,onBlur:M,...T}=t,[I,D]=s.useState(r),w=c!==void 0,h=w?c:I,g=s.useCallback(R=>{w||D(R),p==null||p(R)},[w,p]),Y=co[f]?f:"top",_=le(x,As),j=y({baseClassName:"relative inline-flex",sxSlot:_.root}),z=y({baseClassName:E("absolute whitespace-nowrap px-3 py-1.5 text-sm",`z-[${N}]`,"bg-[var(--tango-tooltip-background)] text-[var(--tango-tooltip-foreground)]","shadow-[var(--tango-tooltip-shadow)]",co[Y]),className:S,baseStyle:{borderRadius:"var(--tango-tooltip-radius)"},sxSlot:_.tooltip,style:b}),K={position:"absolute",width:"10px",height:"10px",backgroundColor:"inherit",...Os[Y]},C=()=>!u&&g(!0),H=()=>!u&&g(!1);return a.jsxs("div",{ref:o,className:j.className,style:j.style,onMouseEnter:R=>{C(),k==null||k(R)},onMouseLeave:R=>{H(),m==null||m(R)},onFocus:R=>{C(),F==null||F(R)},onBlur:R=>{H(),M==null||M(R)},...T,children:[n,h&&d&&a.jsxs("div",{role:"tooltip",className:z.className,style:z.style,children:[a.jsx("span",{style:{position:"relative",zIndex:1},children:d}),a.jsx("span",{style:K})]})]})}const dt=s.forwardRef(Ms);dt.displayName="Tooltip";dt.propTypes={children:e.node,title:e.node,placement:e.oneOf(["top","bottom","left","right"]),open:e.bool,defaultOpen:e.bool,onOpenChange:e.func,disabled:e.bool,zIndex:e.number,sx:e.oneOfType([e.string,e.object]),style:e.object,className:e.string,onMouseEnter:e.func,onMouseLeave:e.func,onFocus:e.func,onBlur:e.func};Se.MaterialButton=tt;We.MaterialInput=ot;ye.Header=ho;ye.Footer=yo;ye.Sider=vo;ye.Content=So;ye.Toc=wo;exports.Banner=St;exports.Button=Se;exports.Card=nt;exports.ColorPicker=wt;exports.Content=So;exports.DateDisplay=Nt;exports.DatePicker=Ct;exports.Drawer=kt;exports.Footer=yo;exports.Header=ho;exports.Input=We;exports.Layout=ye;exports.Line=lt;exports.Mark=it;exports.MaterialButton=tt;exports.MaterialInput=ot;exports.Modal=Tt;exports.Notice=Ue;exports.NoticeProvider=Qo;exports.Search=Lt;exports.Sider=vo;exports.Space=ct;exports.Table=jt;exports.TangoBanner=St;exports.TangoButton=Se;exports.TangoCard=nt;exports.TangoColorPicker=wt;exports.TangoDate=Nt;exports.TangoDatePicker=Ct;exports.TangoDrawer=kt;exports.TangoI18nProvider=ra;exports.TangoInput=We;exports.TangoLayout=ye;exports.TangoLine=lt;exports.TangoMark=it;exports.TangoModal=Tt;exports.TangoNotice=Ue;exports.TangoSearch=Lt;exports.TangoSpace=ct;exports.TangoTable=jt;exports.TangoTooltip=dt;exports.TangoUpload=Ze;exports.ThemeProvider=$o;exports.Toc=wo;exports.Tooltip=dt;exports.Upload=Ze;exports.createSlotProps=y;exports.mergeTwClassNames=E;exports.normalizeSxSlots=le;exports.normalizeTangoLocale=Ke;exports.resolveSupportedValue=be;exports.useNotice=ta;exports.useTangoI18n=he;exports.useTangoStyle=Ve;exports.useTheme=Fo;