@wakastellar/ui 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.cjs.js +25 -19
  2. package/dist/index.es.js +2657 -2604
  3. package/package.json +11 -17
package/dist/index.cjs.js CHANGED
@@ -1,16 +1,13 @@
1
- "use strict";var Mi=Object.create;var ns=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var Ai=Object.getOwnPropertyNames;var $i=Object.getPrototypeOf,Fi=Object.prototype.hasOwnProperty;var Li=(t,a,r,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Ai(a))!Fi.call(t,n)&&n!==r&&ns(t,n,{get:()=>a[n],enumerable:!(s=Ri(a,n))||s.enumerable});return t};var ka=(t,a,r)=>(r=t!=null?Mi($i(t)):{},Li(a||!t||!t.__esModule?ns(r,"default",{value:t,enumerable:!0}):r,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),C=require("react"),Ii=require("@radix-ui/react-accordion"),E=require("lucide-react"),Ls=require("clsx"),Oi=require("tailwind-merge"),De=require("class-variance-authority"),_i=require("@radix-ui/react-alert-dialog"),zi=require("@radix-ui/react-aspect-ratio"),Vi=require("@radix-ui/react-avatar"),Ra=require("@radix-ui/react-slot"),Wi=require("react-day-picker"),Hi=require("@radix-ui/react-checkbox"),D=require("date-fns"),qi=require("@radix-ui/react-collapsible"),Le=require("cmdk"),Ui=require("@radix-ui/react-dialog"),Bi=require("@radix-ui/react-context-menu"),Gi=require("@radix-ui/react-dropdown-menu"),Xi=require("@radix-ui/react-label"),Ji=require("@radix-ui/react-hover-card"),Yi=require("@radix-ui/react-select"),Ya=require("react-dom"),Ki=require("@radix-ui/react-menubar"),Zi=require("@radix-ui/react-navigation-menu"),Qi=require("@radix-ui/react-popover"),el=require("@radix-ui/react-progress"),tl=require("@radix-ui/react-radio-group"),al=require("@radix-ui/react-scroll-area"),rl=require("@radix-ui/react-separator"),sl=require("@radix-ui/react-slider"),nl=require("@radix-ui/react-switch"),ol=require("@radix-ui/react-tabs"),il=require("@radix-ui/react-toast"),ll=require("@radix-ui/react-toggle"),cl=require("@radix-ui/react-tooltip"),ft=require("react-datepicker"),et=require("react-i18next"),lt=require("i18next"),Ee=require("@tanstack/react-table"),dl=require("@tanstack/react-virtual");function pe(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(a,r,s.get?s:{enumerable:!0,get:()=>t[r]})}}return a.default=t,Object.freeze(a)}const i=pe(C),Pt=pe(Ii),$e=pe(_i),ul=pe(zi),zt=pe(Vi),Ka=pe(Hi),ir=pe(qi),he=pe(Ui),be=pe(Bi),xe=pe(Gi),Is=pe(Xi),Aa=pe(Ji),Ce=pe(Yi),ue=pe(Ki),Ie=pe(Zi),ra=pe(Qi),Za=pe(el),sa=pe(tl),Et=pe(al),Os=pe(rl),Jt=pe(sl),Qa=pe(nl),Rt=pe(ol),qe=pe(il),_s=pe(ll),fa=pe(cl);function Pa(...t){return Oi.twMerge(Ls.clsx(...t))}Pa.variants=function(t){const a={variants:t.variants??{},defaultVariants:t.defaultVariants},r=De.cva(t.base??"",a);return s=>{const{class:n,className:o,...l}=s??{};return Pa(r(l),n,o)}};const w=(...t)=>Pa(t),ml=Pt.Root,zs=i.forwardRef(({className:t,...a},r)=>e.jsx(Pt.Item,{ref:r,className:w("border-b",t),...a}));zs.displayName="AccordionItem";const Vs=i.forwardRef(({className:t,children:a,...r},s)=>e.jsx(Pt.Header,{className:"flex",children:e.jsxs(Pt.Trigger,{ref:s,className:w("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...r,children:[a,e.jsx(E.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Vs.displayName=Pt.Trigger.displayName;const Ws=i.forwardRef(({className:t,children:a,...r},s)=>e.jsx(Pt.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:e.jsx("div",{className:w("pb-4 pt-0",t),children:a})}));Ws.displayName=Pt.Content.displayName;const Hs=$e.Root,fl=$e.Trigger,qs=$e.Portal,lr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Overlay,{className:w("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a,ref:r}));lr.displayName=$e.Overlay.displayName;const cr=i.forwardRef(({className:t,...a},r)=>e.jsxs(qs,{children:[e.jsx(lr,{}),e.jsx($e.Content,{ref:r,className:w("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...a})]}));cr.displayName=$e.Content.displayName;const dr=({className:t,...a})=>e.jsx("div",{className:w("flex flex-col space-y-2 text-center sm:text-left",t),...a});dr.displayName="AlertDialogHeader";const ur=({className:t,...a})=>e.jsx("div",{className:w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});ur.displayName="AlertDialogFooter";const mr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Title,{ref:r,className:w("text-lg font-semibold",t),...a}));mr.displayName=$e.Title.displayName;const fr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Description,{ref:r,className:w("text-sm text-muted-foreground",t),...a}));fr.displayName=$e.Description.displayName;const hr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Action,{ref:r,className:w("inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),...a}));hr.displayName=$e.Action.displayName;const pr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Cancel,{ref:r,className:w("mt-2 inline-flex h-10 items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-semibold ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:mt-0",t),...a}));pr.displayName=$e.Cancel.displayName;const hl=De.cva("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Us=i.forwardRef(({className:t,variant:a,...r},s)=>e.jsx("div",{ref:s,role:"alert",className:w(hl({variant:a}),t),...r}));Us.displayName="Alert";const Bs=i.forwardRef(({className:t,...a},r)=>e.jsx("h5",{ref:r,className:w("mb-1 font-medium leading-none tracking-tight",t),...a}));Bs.displayName="AlertTitle";const Gs=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:w("text-sm [&_p]:leading-relaxed",t),...a}));Gs.displayName="AlertDescription";const pl=ul.Root,Xs=i.forwardRef(({className:t,...a},r)=>e.jsx(zt.Root,{ref:r,className:w("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",t),...a}));Xs.displayName=zt.Root.displayName;const Js=i.forwardRef(({className:t,...a},r)=>e.jsx(zt.Image,{ref:r,className:w("aspect-square h-full w-full",t),...a}));Js.displayName=zt.Image.displayName;const Ys=i.forwardRef(({className:t,...a},r)=>e.jsx(zt.Fallback,{ref:r,className:w("flex h-full w-full items-center justify-center rounded-full bg-muted",t),...a}));Ys.displayName=zt.Fallback.displayName;const Ks=De.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function He({className:t,variant:a,...r}){return e.jsx("div",{className:w(Ks({variant:a}),t),...r})}const gl=De.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),O=i.forwardRef(({className:t,variant:a,size:r,asChild:s=!1,...n},o)=>{const l=s?Ra.Slot:"button";return e.jsx(l,{className:w(gl({variant:a,size:r,className:t})),ref:o,...n})});O.displayName="Button";function gr({className:t,classNames:a,showOutsideDays:r=!0,...s}){return e.jsx(Wi.DayPicker,{showOutsideDays:r,className:w("p-4 bg-background border border-border rounded-lg shadow-sm",t),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center mb-4",caption_label:"text-lg font-semibold text-foreground",nav:"space-x-1 flex items-center",nav_button:w("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200","h-8 w-8 bg-background border border-border hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex mb-2",head_cell:"text-muted-foreground rounded-md w-10 h-10 font-medium text-sm flex items-center justify-center",row:"flex w-full",cell:"h-10 w-10 text-center text-sm p-0 relative",day:w("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200","h-10 w-10 p-0 font-normal cursor-pointer","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50"),day_range_end:"day-range-end",day_selected:w("bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground","focus:bg-primary focus:text-primary-foreground shadow-sm"),day_today:"bg-accent text-accent-foreground font-semibold",day_outside:"text-muted-foreground opacity-50 hover:opacity-70",day_disabled:"text-muted-foreground opacity-30 cursor-not-allowed",day_range_middle:"bg-accent/50 text-accent-foreground",day_hidden:"invisible",...a},components:{Chevron:({...n})=>n.orientation==="left"?e.jsx(E.ChevronLeft,{className:"h-4 w-4"}):e.jsx(E.ChevronRight,{className:"h-4 w-4"})},...s})}gr.displayName="Calendar";const Ve=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:w("rounded-xl border bg-card text-card-foreground shadow",t),...a}));Ve.displayName="Card";const Ke=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:w("flex flex-col space-y-1.5 p-6",t),...a}));Ke.displayName="CardHeader";const We=i.forwardRef(({className:t,...a},r)=>e.jsx("h3",{ref:r,className:w("font-semibold leading-none tracking-tight",t),...a}));We.displayName="CardTitle";const Dt=i.forwardRef(({className:t,...a},r)=>e.jsx("p",{ref:r,className:w("text-sm text-muted-foreground",t),...a}));Dt.displayName="CardDescription";const Ze=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:w("p-6 pt-0",t),...a}));Ze.displayName="CardContent";const Zs=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:w("flex items-center p-6 pt-0",t),...a}));Zs.displayName="CardFooter";const at=i.forwardRef(({className:t,...a},r)=>e.jsx(Ka.Root,{ref:r,className:w("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t),...a,children:e.jsx(Ka.Indicator,{className:w("flex items-center justify-center text-current"),children:e.jsx(E.Check,{className:"h-4 w-4"})})}));at.displayName=Ka.Root.displayName;function je(t){return(a={})=>{const r=a.width?String(a.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}function Q(t){return(a,r)=>{const s=r?.context?String(r.context):"standalone";let n;if(s==="formatting"&&t.formattingValues){const l=t.defaultFormattingWidth||t.defaultWidth,c=r?.width?String(r.width):l;n=t.formattingValues[c]||t.formattingValues[l]}else{const l=t.defaultWidth,c=r?.width?String(r.width):t.defaultWidth;n=t.values[c]||t.values[l]}const o=t.argumentCallback?t.argumentCallback(a):a;return n[o]}}function ee(t){return(a,r={})=>{const s=r.width,n=s&&t.matchPatterns[s]||t.matchPatterns[t.defaultMatchWidth],o=a.match(n);if(!o)return null;const l=o[0],c=s&&t.parsePatterns[s]||t.parsePatterns[t.defaultParseWidth],f=Array.isArray(c)?xl(c,h=>h.test(l)):bl(c,h=>h.test(l));let m;m=t.valueCallback?t.valueCallback(f):f,m=r.valueCallback?r.valueCallback(m):m;const p=a.slice(l.length);return{value:m,rest:p}}}function bl(t,a){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&a(t[r]))return r}function xl(t,a){for(let r=0;r<t.length;r++)if(a(t[r]))return r}function yt(t){return(a,r={})=>{const s=a.match(t.matchPattern);if(!s)return null;const n=s[0],o=a.match(t.parsePattern);if(!o)return null;let l=t.valueCallback?t.valueCallback(o[0]):o[0];l=r.valueCallback?r.valueCallback(l):l;const c=a.slice(n.length);return{value:l,rest:c}}}const os=Symbol.for("constructDateFrom");function Qs(t,a){return typeof t=="function"?t(a):t&&typeof t=="object"&&os in t?t[os](a):t instanceof Date?new t.constructor(a):new Date(a)}function vl(t,...a){const r=Qs.bind(null,t||a.find(s=>typeof s=="object"));return a.map(r)}let yl={};function wl(){return yl}function jl(t,a){return Qs(a||t,t)}function is(t,a){const r=wl(),s=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,n=jl(t,a?.in),o=n.getDay(),l=(o<s?7:0)+o-s;return n.setDate(n.getDate()-l),n.setHours(0,0,0,0),n}function er(t,a,r){const[s,n]=vl(r?.in,t,a);return+is(s,r)==+is(n,r)}const ls={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},Nl=(t,a,r)=>{let s;const n=r?.addSuffix?ls[t].withPreposition:ls[t].standalone;return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?"in "+s:"vor "+s:s},Sl={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},kl={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Cl={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Tl={date:je({formats:Sl,defaultWidth:"full"}),time:je({formats:kl,defaultWidth:"full"}),dateTime:je({formats:Cl,defaultWidth:"full"})},El={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},Pl=(t,a,r,s)=>El[t],Dl={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},Ml={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},tr={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},Rl={narrow:tr.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:tr.wide},Al={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},$l={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},Fl={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},Ll=t=>Number(t)+".",Il={ordinalNumber:Ll,era:Q({values:Dl,defaultWidth:"wide"}),quarter:Q({values:Ml,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:tr,formattingValues:Rl,defaultWidth:"wide"}),day:Q({values:Al,defaultWidth:"wide"}),dayPeriod:Q({values:$l,defaultWidth:"wide",formattingValues:Fl,defaultFormattingWidth:"wide"})},Ol=/^(\d+)(\.)?/i,_l=/\d+/i,zl={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},Vl={any:[/^v/i,/^n/i]},Wl={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},Hl={any:[/1/i,/2/i,/3/i,/4/i]},ql={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},Ul={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Bl={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},Gl={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},Xl={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},Jl={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},Yl={ordinalNumber:yt({matchPattern:Ol,parsePattern:_l,valueCallback:t=>parseInt(t)}),era:ee({matchPatterns:zl,defaultMatchWidth:"wide",parsePatterns:Vl,defaultParseWidth:"any"}),quarter:ee({matchPatterns:Wl,defaultMatchWidth:"wide",parsePatterns:Hl,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:ql,defaultMatchWidth:"wide",parsePatterns:Ul,defaultParseWidth:"any"}),day:ee({matchPatterns:Bl,defaultMatchWidth:"wide",parsePatterns:Gl,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:Xl,defaultMatchWidth:"wide",parsePatterns:Jl,defaultParseWidth:"any"})},en={code:"de",formatDistance:Nl,formatLong:Tl,formatRelative:Pl,localize:Il,match:Yl,options:{weekStartsOn:1,firstWeekContainsDate:4}},Kl={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Zl=(t,a,r)=>{let s;const n=Kl[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",a.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"in "+s:s+" ago":s},Ql={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ec=(t,a,r,s)=>Ql[t],tc={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},ac={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},rc={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},sc={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},nc={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},oc={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ic=(t,a)=>{const r=Number(t),s=r%100;if(s>20||s<10)switch(s%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},lc={ordinalNumber:ic,era:Q({values:tc,defaultWidth:"wide"}),quarter:Q({values:ac,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:rc,defaultWidth:"wide"}),day:Q({values:sc,defaultWidth:"wide"}),dayPeriod:Q({values:nc,defaultWidth:"wide",formattingValues:oc,defaultFormattingWidth:"wide"})},cc=/^(\d+)(th|st|nd|rd)?/i,dc=/\d+/i,uc={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},mc={any:[/^b/i,/^(a|c)/i]},fc={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},hc={any:[/1/i,/2/i,/3/i,/4/i]},pc={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},gc={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},bc={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},xc={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},vc={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},yc={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},wc={ordinalNumber:yt({matchPattern:cc,parsePattern:dc,valueCallback:t=>parseInt(t,10)}),era:ee({matchPatterns:uc,defaultMatchWidth:"wide",parsePatterns:mc,defaultParseWidth:"any"}),quarter:ee({matchPatterns:fc,defaultMatchWidth:"wide",parsePatterns:hc,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:pc,defaultMatchWidth:"wide",parsePatterns:gc,defaultParseWidth:"any"}),day:ee({matchPatterns:bc,defaultMatchWidth:"wide",parsePatterns:xc,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:vc,defaultMatchWidth:"any",parsePatterns:yc,defaultParseWidth:"any"})},jc={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Nc={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Sc={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},kc={date:je({formats:jc,defaultWidth:"full"}),time:je({formats:Nc,defaultWidth:"full"}),dateTime:je({formats:Sc,defaultWidth:"full"})},tn={code:"en-US",formatDistance:Zl,formatLong:kc,formatRelative:ec,localize:lc,match:wc,options:{weekStartsOn:0,firstWeekContainsDate:1}},Cc={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}},Tc=(t,a,r)=>{let s;const n=Cc[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",a.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"en "+s:"hace "+s:s},Ec={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},Pc={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Dc={full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Mc={date:je({formats:Ec,defaultWidth:"full"}),time:je({formats:Pc,defaultWidth:"full"}),dateTime:je({formats:Dc,defaultWidth:"full"})},Rc={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},Ac={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"},$c=(t,a,r,s)=>a.getHours()!==1?Ac[t]:Rc[t],Fc={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},Lc={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Ic={narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},Oc={narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sá"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},_c={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},zc={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},Vc=(t,a)=>Number(t)+"º",Wc={ordinalNumber:Vc,era:Q({values:Fc,defaultWidth:"wide"}),quarter:Q({values:Lc,defaultWidth:"wide",argumentCallback:t=>Number(t)-1}),month:Q({values:Ic,defaultWidth:"wide"}),day:Q({values:Oc,defaultWidth:"wide"}),dayPeriod:Q({values:_c,defaultWidth:"wide",formattingValues:zc,defaultFormattingWidth:"wide"})},Hc=/^(\d+)(º)?/i,qc=/\d+/i,Uc={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},Bc={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},Gc={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},Xc={any:[/1/i,/2/i,/3/i,/4/i]},Jc={narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},Yc={narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},Kc={narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},Zc={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},Qc={narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},ed={any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},td={ordinalNumber:yt({matchPattern:Hc,parsePattern:qc,valueCallback:function(t){return parseInt(t,10)}}),era:ee({matchPatterns:Uc,defaultMatchWidth:"wide",parsePatterns:Bc,defaultParseWidth:"any"}),quarter:ee({matchPatterns:Gc,defaultMatchWidth:"wide",parsePatterns:Xc,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:Jc,defaultMatchWidth:"wide",parsePatterns:Yc,defaultParseWidth:"any"}),day:ee({matchPatterns:Kc,defaultMatchWidth:"wide",parsePatterns:Zc,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:Qc,defaultMatchWidth:"any",parsePatterns:ed,defaultParseWidth:"any"})},an={code:"es",formatDistance:Tc,formatLong:Mc,formatRelative:$c,localize:Wc,match:td,options:{weekStartsOn:1,firstWeekContainsDate:1}},ad={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},rd=(t,a,r)=>{let s;const n=ad[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?"dans "+s:"il y a "+s:s},sd={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},nd={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},od={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},id={date:je({formats:sd,defaultWidth:"full"}),time:je({formats:nd,defaultWidth:"full"}),dateTime:je({formats:od,defaultWidth:"full"})},ld={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},cd=(t,a,r,s)=>ld[t],dd={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},ud={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},md={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},fd={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},hd={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},pd=(t,a)=>{const r=Number(t),s=a?.unit;if(r===0)return"0";const n=["year","week","hour","minute","second"];let o;return r===1?o=s&&n.includes(s)?"ère":"er":o="ème",r+o},gd=["MMM","MMMM"],bd={preprocessor:(t,a)=>t.getDate()===1||!a.some(s=>s.isToken&&gd.includes(s.value))?a:a.map(s=>s.isToken&&s.value==="do"?{isToken:!0,value:"d"}:s),ordinalNumber:pd,era:Q({values:dd,defaultWidth:"wide"}),quarter:Q({values:ud,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:md,defaultWidth:"wide"}),day:Q({values:fd,defaultWidth:"wide"}),dayPeriod:Q({values:hd,defaultWidth:"wide"})},xd=/^(\d+)(ième|ère|ème|er|e)?/i,vd=/\d+/i,yd={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},wd={any:[/^av/i,/^ap/i]},jd={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},Nd={any:[/1/i,/2/i,/3/i,/4/i]},Sd={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},kd={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},Cd={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},Td={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},Ed={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},Pd={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},Dd={ordinalNumber:yt({matchPattern:xd,parsePattern:vd,valueCallback:t=>parseInt(t)}),era:ee({matchPatterns:yd,defaultMatchWidth:"wide",parsePatterns:wd,defaultParseWidth:"any"}),quarter:ee({matchPatterns:jd,defaultMatchWidth:"wide",parsePatterns:Nd,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:Sd,defaultMatchWidth:"wide",parsePatterns:kd,defaultParseWidth:"any"}),day:ee({matchPatterns:Cd,defaultMatchWidth:"wide",parsePatterns:Td,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:Ed,defaultMatchWidth:"any",parsePatterns:Pd,defaultParseWidth:"any"})},Ot={code:"fr",formatDistance:rd,formatLong:id,formatRelative:cd,localize:bd,match:Dd,options:{weekStartsOn:1,firstWeekContainsDate:4}},Md={lessThanXSeconds:{one:"meno di un secondo",other:"meno di {{count}} secondi"},xSeconds:{one:"un secondo",other:"{{count}} secondi"},halfAMinute:"alcuni secondi",lessThanXMinutes:{one:"meno di un minuto",other:"meno di {{count}} minuti"},xMinutes:{one:"un minuto",other:"{{count}} minuti"},aboutXHours:{one:"circa un'ora",other:"circa {{count}} ore"},xHours:{one:"un'ora",other:"{{count}} ore"},xDays:{one:"un giorno",other:"{{count}} giorni"},aboutXWeeks:{one:"circa una settimana",other:"circa {{count}} settimane"},xWeeks:{one:"una settimana",other:"{{count}} settimane"},aboutXMonths:{one:"circa un mese",other:"circa {{count}} mesi"},xMonths:{one:"un mese",other:"{{count}} mesi"},aboutXYears:{one:"circa un anno",other:"circa {{count}} anni"},xYears:{one:"un anno",other:"{{count}} anni"},overXYears:{one:"più di un anno",other:"più di {{count}} anni"},almostXYears:{one:"quasi un anno",other:"quasi {{count}} anni"}},Rd=(t,a,r)=>{let s;const n=Md[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",a.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"tra "+s:s+" fa":s},Ad={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},$d={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Fd={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Ld={date:je({formats:Ad,defaultWidth:"full"}),time:je({formats:$d,defaultWidth:"full"}),dateTime:je({formats:Fd,defaultWidth:"full"})},br=["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"];function Id(t){switch(t){case 0:return"'domenica scorsa alle' p";default:return"'"+br[t]+" scorso alle' p"}}function cs(t){return"'"+br[t]+" alle' p"}function Od(t){switch(t){case 0:return"'domenica prossima alle' p";default:return"'"+br[t]+" prossimo alle' p"}}const _d={lastWeek:(t,a,r)=>{const s=t.getDay();return er(t,a,r)?cs(s):Id(s)},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:(t,a,r)=>{const s=t.getDay();return er(t,a,r)?cs(s):Od(s)},other:"P"},zd=(t,a,r,s)=>{const n=_d[t];return typeof n=="function"?n(a,r,s):n},Vd={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},Wd={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Hd={narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],abbreviated:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],wide:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},qd={narrow:["D","L","M","M","G","V","S"],short:["dom","lun","mar","mer","gio","ven","sab"],abbreviated:["dom","lun","mar","mer","gio","ven","sab"],wide:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},Ud={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"}},Bd={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"}},Gd=(t,a)=>{const r=Number(t);return String(r)},Xd={ordinalNumber:Gd,era:Q({values:Vd,defaultWidth:"wide"}),quarter:Q({values:Wd,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:Hd,defaultWidth:"wide"}),day:Q({values:qd,defaultWidth:"wide"}),dayPeriod:Q({values:Ud,defaultWidth:"wide",formattingValues:Bd,defaultFormattingWidth:"wide"})},Jd=/^(\d+)(º)?/i,Yd=/\d+/i,Kd={narrow:/^(aC|dC)/i,abbreviated:/^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i,wide:/^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i},Zd={any:[/^a/i,/^(d|e)/i]},Qd={narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},eu={any:[/1/i,/2/i,/3/i,/4/i]},tu={narrow:/^[gfmalsond]/i,abbreviated:/^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,wide:/^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i},au={narrow:[/^g/i,/^f/i,/^m/i,/^a/i,/^m/i,/^g/i,/^l/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ge/i,/^f/i,/^mar/i,/^ap/i,/^mag/i,/^gi/i,/^l/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},ru={narrow:/^[dlmgvs]/i,short:/^(do|lu|ma|me|gi|ve|sa)/i,abbreviated:/^(dom|lun|mar|mer|gio|ven|sab)/i,wide:/^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i},su={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^g/i,/^v/i,/^s/i],any:[/^d/i,/^l/i,/^ma/i,/^me/i,/^g/i,/^v/i,/^s/i]},nu={narrow:/^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,any:/^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i},ou={any:{am:/^a/i,pm:/^p/i,midnight:/^mezza/i,noon:/^mezzo/i,morning:/mattina/i,afternoon:/pomeriggio/i,evening:/sera/i,night:/notte/i}},iu={ordinalNumber:yt({matchPattern:Jd,parsePattern:Yd,valueCallback:t=>parseInt(t,10)}),era:ee({matchPatterns:Kd,defaultMatchWidth:"wide",parsePatterns:Zd,defaultParseWidth:"any"}),quarter:ee({matchPatterns:Qd,defaultMatchWidth:"wide",parsePatterns:eu,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:tu,defaultMatchWidth:"wide",parsePatterns:au,defaultParseWidth:"any"}),day:ee({matchPatterns:ru,defaultMatchWidth:"wide",parsePatterns:su,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:nu,defaultMatchWidth:"any",parsePatterns:ou,defaultParseWidth:"any"})},rn={code:"it",formatDistance:Rd,formatLong:Ld,formatRelative:zd,localize:Xd,match:iu,options:{weekStartsOn:1,firstWeekContainsDate:4}},lu={lessThanXSeconds:{one:"1秒未満",other:"{{count}}秒未満",oneWithSuffix:"約1秒",otherWithSuffix:"約{{count}}秒"},xSeconds:{one:"1秒",other:"{{count}}秒"},halfAMinute:"30秒",lessThanXMinutes:{one:"1分未満",other:"{{count}}分未満",oneWithSuffix:"約1分",otherWithSuffix:"約{{count}}分"},xMinutes:{one:"1分",other:"{{count}}分"},aboutXHours:{one:"約1時間",other:"約{{count}}時間"},xHours:{one:"1時間",other:"{{count}}時間"},xDays:{one:"1日",other:"{{count}}日"},aboutXWeeks:{one:"約1週間",other:"約{{count}}週間"},xWeeks:{one:"1週間",other:"{{count}}週間"},aboutXMonths:{one:"約1か月",other:"約{{count}}か月"},xMonths:{one:"1か月",other:"{{count}}か月"},aboutXYears:{one:"約1年",other:"約{{count}}年"},xYears:{one:"1年",other:"{{count}}年"},overXYears:{one:"1年以上",other:"{{count}}年以上"},almostXYears:{one:"1年近く",other:"{{count}}年近く"}},cu=(t,a,r)=>{r=r||{};let s;const n=lu[t];return typeof n=="string"?s=n:a===1?r.addSuffix&&n.oneWithSuffix?s=n.oneWithSuffix:s=n.one:r.addSuffix&&n.otherWithSuffix?s=n.otherWithSuffix.replace("{{count}}",String(a)):s=n.other.replace("{{count}}",String(a)),r.addSuffix?r.comparison&&r.comparison>0?s+"後":s+"前":s},du={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},uu={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},mu={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},fu={date:je({formats:du,defaultWidth:"full"}),time:je({formats:uu,defaultWidth:"full"}),dateTime:je({formats:mu,defaultWidth:"full"})},hu={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},pu=(t,a,r,s)=>hu[t],gu={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},bu={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},xu={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},vu={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},yu={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},wu={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},ju=(t,a)=>{const r=Number(t);switch(String(a?.unit)){case"year":return`${r}年`;case"quarter":return`第${r}四半期`;case"month":return`${r}月`;case"week":return`第${r}週`;case"date":return`${r}日`;case"hour":return`${r}時`;case"minute":return`${r}分`;case"second":return`${r}秒`;default:return`${r}`}},Nu={ordinalNumber:ju,era:Q({values:gu,defaultWidth:"wide"}),quarter:Q({values:bu,defaultWidth:"wide",argumentCallback:t=>Number(t)-1}),month:Q({values:xu,defaultWidth:"wide"}),day:Q({values:vu,defaultWidth:"wide"}),dayPeriod:Q({values:yu,defaultWidth:"wide",formattingValues:wu,defaultFormattingWidth:"wide"})},Su=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,ku=/\d+/i,Cu={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},Tu={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},Eu={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},Pu={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Du={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},Mu={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Ru={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Au={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},$u={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Fu={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Lu={ordinalNumber:yt({matchPattern:Su,parsePattern:ku,valueCallback:function(t){return parseInt(t,10)}}),era:ee({matchPatterns:Cu,defaultMatchWidth:"wide",parsePatterns:Tu,defaultParseWidth:"any"}),quarter:ee({matchPatterns:Eu,defaultMatchWidth:"wide",parsePatterns:Pu,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:Du,defaultMatchWidth:"wide",parsePatterns:Mu,defaultParseWidth:"any"}),day:ee({matchPatterns:Ru,defaultMatchWidth:"wide",parsePatterns:Au,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:$u,defaultMatchWidth:"any",parsePatterns:Fu,defaultParseWidth:"any"})},sn={code:"ja",formatDistance:cu,formatLong:fu,formatRelative:pu,localize:Nu,match:Lu,options:{weekStartsOn:0,firstWeekContainsDate:1}},Iu={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"aproximadamente 1 hora",other:"aproximadamente {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"aproximadamente 1 semana",other:"aproximadamente {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"aproximadamente 1 mês",other:"aproximadamente {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"aproximadamente 1 ano",other:"aproximadamente {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},Ou=(t,a,r)=>{let s;const n=Iu[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?"daqui a "+s:"há "+s:s},_u={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},zu={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Vu={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Wu={date:je({formats:_u,defaultWidth:"full"}),time:je({formats:zu,defaultWidth:"full"}),dateTime:je({formats:Vu,defaultWidth:"full"})},Hu={lastWeek:t=>{const a=t.getDay();return"'"+(a===0||a===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},qu=(t,a,r,s)=>{const n=Hu[t];return typeof n=="function"?n(a):n},Uu={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},Bu={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Gu={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},Xu={narrow:["d","s","t","q","q","s","s"],short:["dom","seg","ter","qua","qui","sex","sáb"],abbreviated:["dom","seg","ter","qua","qui","sex","sáb"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},Ju={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"}},Yu={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"}},Ku=(t,a)=>Number(t)+"º",Zu={ordinalNumber:Ku,era:Q({values:Uu,defaultWidth:"wide"}),quarter:Q({values:Bu,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:Gu,defaultWidth:"wide"}),day:Q({values:Xu,defaultWidth:"wide"}),dayPeriod:Q({values:Ju,defaultWidth:"wide",formattingValues:Yu,defaultFormattingWidth:"wide"})},Qu=/^(\d+)(º|ª)?/i,em=/\d+/i,tm={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes da era comum|depois de cristo|era comum)/i},am={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},rm={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},sm={any:[/1/i,/2/i,/3/i,/4/i]},nm={narrow:/^[jfmasond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},om={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ab/i,/^mai/i,/^jun/i,/^jul/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},im={narrow:/^[dstq]/i,short:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,wide:/^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i},lm={narrow:[/^d/i,/^s/i,/^t/i,/^q/i,/^q/i,/^s/i,/^s/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[áa]/i]},cm={narrow:/^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,any:/^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i},dm={any:{am:/^a/i,pm:/^p/i,midnight:/^meia/i,noon:/^meio/i,morning:/manh[ãa]/i,afternoon:/tarde/i,evening:/noite/i,night:/madrugada/i}},um={ordinalNumber:yt({matchPattern:Qu,parsePattern:em,valueCallback:t=>parseInt(t,10)}),era:ee({matchPatterns:tm,defaultMatchWidth:"wide",parsePatterns:am,defaultParseWidth:"any"}),quarter:ee({matchPatterns:rm,defaultMatchWidth:"wide",parsePatterns:sm,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:nm,defaultMatchWidth:"wide",parsePatterns:om,defaultParseWidth:"any"}),day:ee({matchPatterns:im,defaultMatchWidth:"wide",parsePatterns:lm,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:cm,defaultMatchWidth:"any",parsePatterns:dm,defaultParseWidth:"any"})},nn={code:"pt",formatDistance:Ou,formatLong:Wu,formatRelative:qu,localize:Zu,match:um,options:{weekStartsOn:1,firstWeekContainsDate:4}},mm={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},fm=(t,a,r)=>{let s;const n=mm[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?s+"内":s+"前":s},hm={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},pm={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},gm={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},bm={date:je({formats:hm,defaultWidth:"full"}),time:je({formats:pm,defaultWidth:"full"}),dateTime:je({formats:gm,defaultWidth:"full"})};function ds(t,a,r){const s="eeee p";return er(t,a,r)?s:t.getTime()>a.getTime()?"'下个'"+s:"'上个'"+s}const xm={lastWeek:ds,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:ds,other:"PP p"},vm=(t,a,r,s)=>{const n=xm[t];return typeof n=="function"?n(a,r,s):n},ym={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},wm={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},jm={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},Nm={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},Sm={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},km={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Cm=(t,a)=>{const r=Number(t);switch(a?.unit){case"date":return r.toString()+"日";case"hour":return r.toString()+"时";case"minute":return r.toString()+"分";case"second":return r.toString()+"秒";default:return"第 "+r.toString()}},Tm={ordinalNumber:Cm,era:Q({values:ym,defaultWidth:"wide"}),quarter:Q({values:wm,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:jm,defaultWidth:"wide"}),day:Q({values:Nm,defaultWidth:"wide"}),dayPeriod:Q({values:Sm,defaultWidth:"wide",formattingValues:km,defaultFormattingWidth:"wide"})},Em=/^(第\s*)?\d+(日|时|分|秒)?/i,Pm=/\d+/i,Dm={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Mm={any:[/^(前)/i,/^(公元)/i]},Rm={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Am={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},$m={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},Fm={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},Lm={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Im={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Om={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},_m={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},zm={ordinalNumber:yt({matchPattern:Em,parsePattern:Pm,valueCallback:t=>parseInt(t,10)}),era:ee({matchPatterns:Dm,defaultMatchWidth:"wide",parsePatterns:Mm,defaultParseWidth:"any"}),quarter:ee({matchPatterns:Rm,defaultMatchWidth:"wide",parsePatterns:Am,defaultParseWidth:"any",valueCallback:t=>t+1}),month:ee({matchPatterns:$m,defaultMatchWidth:"wide",parsePatterns:Fm,defaultParseWidth:"any"}),day:ee({matchPatterns:Lm,defaultMatchWidth:"wide",parsePatterns:Im,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:Om,defaultMatchWidth:"any",parsePatterns:_m,defaultParseWidth:"any"})},on={code:"zh-CN",formatDistance:fm,formatLong:bm,formatRelative:vm,localize:Tm,match:zm,options:{weekStartsOn:1,firstWeekContainsDate:4}},Vm=(t=Ot)=>[{label:"Aujourd'hui",value:()=>new Date},{label:"Hier",value:()=>D.subDays(new Date,1)},{label:"Demain",value:()=>D.addDays(new Date,1)},{label:"Cette semaine",range:()=>({from:D.startOfWeek(new Date,{locale:t}),to:D.endOfWeek(new Date,{locale:t})})},{label:"Semaine dernière",range:()=>({from:D.startOfWeek(D.subWeeks(new Date,1),{locale:t}),to:D.endOfWeek(D.subWeeks(new Date,1),{locale:t})})},{label:"Ce mois",range:()=>({from:D.startOfMonth(new Date),to:D.endOfMonth(new Date)})},{label:"Mois dernier",range:()=>({from:D.startOfMonth(D.subMonths(new Date,1)),to:D.endOfMonth(D.subMonths(new Date,1))})},{label:"Ce trimestre",range:()=>({from:D.startOfQuarter(new Date),to:D.endOfQuarter(new Date)})},{label:"Cette année",range:()=>({from:D.startOfYear(new Date),to:D.endOfYear(new Date)})}],Wm=()=>[{label:"7 derniers jours",range:()=>({from:D.subDays(new Date,7),to:new Date})},{label:"30 derniers jours",range:()=>({from:D.subDays(new Date,30),to:new Date})},{label:"90 derniers jours",range:()=>({from:D.subDays(new Date,90),to:new Date})}],Hm=t=>t.map(a=>({label:`${a} prochains jours`,range:()=>({from:new Date,to:D.addDays(new Date,a)})})),qm=(t,a)=>{if(typeof a=="function"){const r=a();return"from"in r&&r.from&&r.to?{label:t,range:()=>({from:r.from,to:r.to})}:{label:t,value:a}}return"from"in a&&a.from&&a.to?{label:t,range:{from:a.from,to:a.to}}:{label:t,value:a}},Um=t=>D.isAfter(t,D.endOfDay(new Date)),ln=t=>D.isBefore(t,D.startOfDay(new Date)),Bm=t=>{const a=new Date;return t.getDate()===a.getDate()&&t.getMonth()===a.getMonth()&&t.getFullYear()===a.getFullYear()},xr=t=>{const a=t.getDay();return a!==0&&a!==6},cn=t=>{const a=t.getDay();return a===0||a===6},dn=(t,a)=>a.some(r=>D.isEqual(D.startOfDay(r),D.startOfDay(t))),ct=(t,a,r)=>D.isWithinInterval(t,{start:a,end:r}),Gm=t=>a=>{const r=D.subYears(new Date,t);return D.isAfter(a,r)?`L'âge minimum est de ${t} ans`:!0},Xm=t=>a=>{const r=D.subYears(new Date,t);return D.isBefore(a,r)?`L'âge maximum est de ${t} ans`:!0},Jm=t=>ln(t)?"Cette date est expirée":!0,Ym=(t,a)=>({days:D.differenceInDays(a,t),weeks:D.differenceInWeeks(a,t),months:D.differenceInMonths(a,t)}),Km=(t,a="PPP",r=Ot)=>t.from?t.to?`${D.format(t.from,a,{locale:r})} - ${D.format(t.to,a,{locale:r})}`:D.format(t.from,a,{locale:r}):"",Zm=t=>[new Date(t,0,1),new Date(t,4,1),new Date(t,4,8),new Date(t,6,14),new Date(t,7,15),new Date(t,10,1),new Date(t,10,11),new Date(t,11,25)],vr=(t,a)=>{const r=[],s=D.startOfMonth(new Date(t,a)),n=D.endOfMonth(new Date(t,a));let o=s;for(;D.isBefore(o,n)||D.isEqual(o,n);)r.push(o),o=D.addDays(o,1);return r},Qm=(t,a)=>vr(t,a).filter(cn),ef=(t,a)=>vr(t,a).filter(xr),tf=()=>t=>{const a=new Date,r=D.endOfMonth(t);if(D.isBefore(r,a))return"La carte est expirée";const s=D.addMonths(a,3);return D.isBefore(r,s)?"La carte expire bientôt":!0},af=t=>a=>{const r=D.addDays(new Date,t);return D.isBefore(a,r)?`La réservation doit être faite ${t} jours à l'avance minimum`:!0},rf=t=>a=>!a.from||!a.to?!0:D.differenceInDays(a.to,a.from)>t?`La période ne peut pas dépasser ${t} jours`:!0,sf=(t,a)=>D.isEqual(D.startOfDay(t),D.startOfDay(a)),nf=(t,a,r=[])=>{let s=0,n=D.startOfDay(t);const o=D.startOfDay(a);for(;D.isBefore(n,o)||D.isEqual(n,o);)xr(n)&&!dn(n,r)&&s++,n=D.addDays(n,1);return s},of=t=>{const a=t||new Date().getFullYear();return[1,2,3,4].map(r=>{const s=D.startOfQuarter(new Date(a,(r-1)*3,1)),n=D.endOfQuarter(s);return{label:`T${r} ${a}`,range:()=>({from:s,to:n})}})},lf=(t,a=Ot)=>{const r=t||new Date().getFullYear();return Array.from({length:12},(s,n)=>{const o=D.startOfMonth(new Date(r,n,1)),l=D.endOfMonth(o);return{label:D.format(o,"MMMM yyyy",{locale:a}),range:()=>({from:o,to:l})}})},cf=t=>t.getTime(),df=t=>new Date(t),uf=t=>D.startOfDay(t),mf=(t,a)=>!t.from||!t.to||!a.from||!a.to?!1:D.isEqual(D.startOfDay(t.from),D.startOfDay(a.from))&&D.isEqual(D.startOfDay(t.to),D.startOfDay(a.to)),ff=(t,a)=>!t.from||!t.to||!a.from||!a.to||!(ct(t.from,a.from,a.to)||ct(t.to,a.from,a.to)||ct(a.from,t.from,t.to)||ct(a.to,t.from,t.to))?null:{from:D.isBefore(t.from,a.from)?t.from:a.from,to:D.isAfter(t.to,a.to)?t.to:a.to},hf=(t,a)=>!t.from||!t.to||!a.from||!a.to?!1:ct(t.from,a.from,a.to)||ct(t.to,a.from,a.to)||ct(a.from,t.from,t.to)||ct(a.to,t.from,t.to);class yr{constructor(a){this.loadedThemes=new Set,this.styleElements=new Map,this.config={baseUrl:a.baseUrl,cache:a.cache??!0,timeout:a.timeout??1e4,onError:a.onError??(r=>console.error("Theme loading error:",r)),onSuccess:a.onSuccess??(()=>{})}}async loadTheme(a){if(this.config.cache&&this.loadedThemes.has(a)){console.log(`Theme "${a}" already loaded from cache`),this.applyTheme(a);return}try{const r=new AbortController,s=setTimeout(()=>r.abort(),this.config.timeout),n=this.buildThemeUrl(a);console.log(`Loading theme from: ${n}`);const o=await fetch(n,{signal:r.signal,headers:{Accept:"text/css"}});if(clearTimeout(s),!o.ok)throw new Error(`Failed to load theme: ${o.status} ${o.statusText}`);const l=await o.text();if(!l.includes(`[data-theme="${a}"]`))throw new Error(`Invalid theme CSS: missing [data-theme="${a}"] selector`);this.injectThemeStyles(a,l),this.loadedThemes.add(a),this.applyTheme(a),this.config.onSuccess(a)}catch(r){const s=r instanceof Error?r:new Error(String(r));throw this.config.onError(s,a),s}}applyTheme(a){if(typeof document>"u")return;document.documentElement.setAttribute("data-theme",a);try{localStorage.setItem("theme",a)}catch(s){console.warn("Could not save theme to localStorage:",s)}console.log(`Applied theme: ${a}`)}getCurrentTheme(){return typeof document>"u"?null:document.documentElement.getAttribute("data-theme")}loadSavedTheme(){if(typeof window>"u")return null;try{return localStorage.getItem("theme")}catch(a){return console.warn("Could not load theme from localStorage:",a),null}}async preloadThemes(a){console.log(`Preloading ${a.length} themes...`),await Promise.allSettled(a.map(r=>this.loadTheme(r))),console.log(`Preloaded ${this.loadedThemes.size} themes`)}unloadTheme(a){const r=this.styleElements.get(a);r&&(r.remove(),this.styleElements.delete(a)),this.loadedThemes.delete(a),console.log(`Unloaded theme: ${a}`)}clearCache(){this.styleElements.forEach(a=>a.remove()),this.styleElements.clear(),this.loadedThemes.clear(),console.log("Theme cache cleared")}getLoadedThemes(){return Array.from(this.loadedThemes)}buildThemeUrl(a){return`${this.config.baseUrl.replace(/\/$/,"")}/${a}.css`}injectThemeStyles(a,r){if(typeof document>"u")return;const s=this.styleElements.get(a);s&&s.remove();const n=document.createElement("style");n.setAttribute("data-theme-name",a),n.textContent=r,document.head.appendChild(n),this.styleElements.set(a,n)}}let na=null;function pf(t){return na=new yr(t),na}function wr(){if(!na)throw new Error("ThemeLoader not initialized. Call initThemeLoader() first.");return na}async function gf(t){return wr().loadTheme(t)}function bf(t){wr().applyTheme(t)}function xf(t){if(typeof window>"u")return{loadTheme:async()=>{},applyTheme:()=>{},currentTheme:null,loadedThemes:[],isLoading:!1};const a=na||new yr({baseUrl:t?.baseUrl||"/themes",...t}),[r,s]=i.useState(!1),[n,o]=i.useState(a.getCurrentTheme());return{loadTheme:async f=>{s(!0);try{await a.loadTheme(f),o(f)}finally{s(!1)}},applyTheme:f=>{a.applyTheme(f),o(f)},currentTheme:n,loadedThemes:a.getLoadedThemes(),isLoading:r}}var us=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ha={exports:{}},ms;function yf(){return ms||(ms=1,(function(t){var a=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
1
+ "use strict";var Mi=Object.create;var ns=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var Ai=Object.getOwnPropertyNames;var $i=Object.getPrototypeOf,Fi=Object.prototype.hasOwnProperty;var Li=(t,a,r,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Ai(a))!Fi.call(t,n)&&n!==r&&ns(t,n,{get:()=>a[n],enumerable:!(s=Ri(a,n))||s.enumerable});return t};var ka=(t,a,r)=>(r=t!=null?Mi($i(t)):{},Li(a||!t||!t.__esModule?ns(r,"default",{value:t,enumerable:!0}):r,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),C=require("react"),Ii=require("@radix-ui/react-accordion"),E=require("lucide-react"),Ls=require("clsx"),Oi=require("tailwind-merge"),De=require("class-variance-authority"),_i=require("@radix-ui/react-alert-dialog"),zi=require("@radix-ui/react-aspect-ratio"),Vi=require("@radix-ui/react-avatar"),Ra=require("@radix-ui/react-slot"),Wi=require("react-day-picker"),Hi=require("@radix-ui/react-checkbox"),D=require("date-fns"),qi=require("@radix-ui/react-collapsible"),Le=require("cmdk"),Ui=require("@radix-ui/react-dialog"),Bi=require("@radix-ui/react-context-menu"),Gi=require("@radix-ui/react-dropdown-menu"),Xi=require("@radix-ui/react-label"),Ji=require("@radix-ui/react-hover-card"),Yi=require("@radix-ui/react-select"),Ya=require("react-dom"),Ki=require("@radix-ui/react-menubar"),Zi=require("@radix-ui/react-navigation-menu"),Qi=require("@radix-ui/react-popover"),el=require("@radix-ui/react-progress"),tl=require("@radix-ui/react-radio-group"),al=require("@radix-ui/react-scroll-area"),rl=require("@radix-ui/react-separator"),sl=require("@radix-ui/react-slider"),nl=require("@radix-ui/react-switch"),ol=require("@radix-ui/react-tabs"),il=require("@radix-ui/react-toast"),ll=require("@radix-ui/react-toggle"),cl=require("@radix-ui/react-tooltip"),ft=require("react-datepicker"),et=require("react-i18next"),lt=require("i18next"),Ee=require("@tanstack/react-table"),dl=require("@tanstack/react-virtual");function pe(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(a,r,s.get?s:{enumerable:!0,get:()=>t[r]})}}return a.default=t,Object.freeze(a)}const i=pe(C),Pt=pe(Ii),$e=pe(_i),ul=pe(zi),zt=pe(Vi),Ka=pe(Hi),ir=pe(qi),he=pe(Ui),be=pe(Bi),xe=pe(Gi),Is=pe(Xi),Aa=pe(Ji),Ce=pe(Yi),ue=pe(Ki),Ie=pe(Zi),ra=pe(Qi),Za=pe(el),sa=pe(tl),Et=pe(al),Os=pe(rl),Jt=pe(sl),Qa=pe(nl),Rt=pe(ol),qe=pe(il),_s=pe(ll),fa=pe(cl);function Pa(...t){return Oi.twMerge(Ls.clsx(...t))}Pa.variants=function(t){const a={variants:t.variants??{},defaultVariants:t.defaultVariants},r=De.cva(t.base??"",a);return s=>{const{class:n,className:o,...d}=s??{};return Pa(r(d),n,o)}};const j=(...t)=>Pa(t),ml=Pt.Root,zs=i.forwardRef(({className:t,...a},r)=>e.jsx(Pt.Item,{ref:r,className:j("border-b",t),...a}));zs.displayName="AccordionItem";const Vs=i.forwardRef(({className:t,children:a,...r},s)=>e.jsx(Pt.Header,{className:"flex",children:e.jsxs(Pt.Trigger,{ref:s,className:j("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...r,children:[a,e.jsx(E.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Vs.displayName=Pt.Trigger.displayName;const Ws=i.forwardRef(({className:t,children:a,...r},s)=>e.jsx(Pt.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:e.jsx("div",{className:j("pb-4 pt-0",t),children:a})}));Ws.displayName=Pt.Content.displayName;const Hs=$e.Root,fl=$e.Trigger,qs=$e.Portal,lr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Overlay,{className:j("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a,ref:r}));lr.displayName=$e.Overlay.displayName;const cr=i.forwardRef(({className:t,...a},r)=>e.jsxs(qs,{children:[e.jsx(lr,{}),e.jsx($e.Content,{ref:r,className:j("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...a})]}));cr.displayName=$e.Content.displayName;const dr=({className:t,...a})=>e.jsx("div",{className:j("flex flex-col space-y-2 text-center sm:text-left",t),...a});dr.displayName="AlertDialogHeader";const ur=({className:t,...a})=>e.jsx("div",{className:j("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});ur.displayName="AlertDialogFooter";const mr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Title,{ref:r,className:j("text-lg font-semibold",t),...a}));mr.displayName=$e.Title.displayName;const fr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Description,{ref:r,className:j("text-sm text-muted-foreground",t),...a}));fr.displayName=$e.Description.displayName;const hr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Action,{ref:r,className:j("inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),...a}));hr.displayName=$e.Action.displayName;const pr=i.forwardRef(({className:t,...a},r)=>e.jsx($e.Cancel,{ref:r,className:j("mt-2 inline-flex h-10 items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-semibold ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:mt-0",t),...a}));pr.displayName=$e.Cancel.displayName;const hl=De.cva("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Us=i.forwardRef(({className:t,variant:a,...r},s)=>e.jsx("div",{ref:s,role:"alert",className:j(hl({variant:a}),t),...r}));Us.displayName="Alert";const Bs=i.forwardRef(({className:t,...a},r)=>e.jsx("h5",{ref:r,className:j("mb-1 font-medium leading-none tracking-tight",t),...a}));Bs.displayName="AlertTitle";const Gs=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:j("text-sm [&_p]:leading-relaxed",t),...a}));Gs.displayName="AlertDescription";const pl=ul.Root,Xs=i.forwardRef(({className:t,...a},r)=>e.jsx(zt.Root,{ref:r,className:j("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",t),...a}));Xs.displayName=zt.Root.displayName;const Js=i.forwardRef(({className:t,...a},r)=>e.jsx(zt.Image,{ref:r,className:j("aspect-square h-full w-full",t),...a}));Js.displayName=zt.Image.displayName;const Ys=i.forwardRef(({className:t,...a},r)=>e.jsx(zt.Fallback,{ref:r,className:j("flex h-full w-full items-center justify-center rounded-full bg-muted",t),...a}));Ys.displayName=zt.Fallback.displayName;const Ks=De.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function He({className:t,variant:a,...r}){return e.jsx("div",{className:j(Ks({variant:a}),t),...r})}const gl=De.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),O=i.forwardRef(({className:t,variant:a,size:r,asChild:s=!1,...n},o)=>{const d=s?Ra.Slot:"button";return e.jsx(d,{className:j(gl({variant:a,size:r,className:t})),ref:o,...n})});O.displayName="Button";function gr({className:t,classNames:a,showOutsideDays:r=!0,...s}){return e.jsx(Wi.DayPicker,{showOutsideDays:r,className:j("p-4 bg-background border border-border rounded-lg shadow-sm",t),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center mb-4",caption_label:"text-lg font-semibold text-foreground",nav:"space-x-1 flex items-center",nav_button:j("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200","h-8 w-8 bg-background border border-border hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex mb-2",head_cell:"text-muted-foreground rounded-md w-10 h-10 font-medium text-sm flex items-center justify-center",row:"flex w-full",cell:"h-10 w-10 text-center text-sm p-0 relative",day:j("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200","h-10 w-10 p-0 font-normal cursor-pointer","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50"),day_range_end:"day-range-end",day_selected:j("bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground","focus:bg-primary focus:text-primary-foreground shadow-sm"),day_today:"bg-accent text-accent-foreground font-semibold",day_outside:"text-muted-foreground opacity-50 hover:opacity-70",day_disabled:"text-muted-foreground opacity-30 cursor-not-allowed",day_range_middle:"bg-accent/50 text-accent-foreground",day_hidden:"invisible",...a},components:{Chevron:({...n})=>n.orientation==="left"?e.jsx(E.ChevronLeft,{className:"h-4 w-4"}):e.jsx(E.ChevronRight,{className:"h-4 w-4"})},...s})}gr.displayName="Calendar";const Ve=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:j("rounded-xl border bg-card text-card-foreground shadow",t),...a}));Ve.displayName="Card";const Ke=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:j("flex flex-col space-y-1.5 p-6",t),...a}));Ke.displayName="CardHeader";const We=i.forwardRef(({className:t,...a},r)=>e.jsx("h3",{ref:r,className:j("font-semibold leading-none tracking-tight",t),...a}));We.displayName="CardTitle";const Dt=i.forwardRef(({className:t,...a},r)=>e.jsx("p",{ref:r,className:j("text-sm text-muted-foreground",t),...a}));Dt.displayName="CardDescription";const Ze=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:j("p-6 pt-0",t),...a}));Ze.displayName="CardContent";const Zs=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{ref:r,className:j("flex items-center p-6 pt-0",t),...a}));Zs.displayName="CardFooter";const at=i.forwardRef(({className:t,...a},r)=>e.jsx(Ka.Root,{ref:r,className:j("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t),...a,children:e.jsx(Ka.Indicator,{className:j("flex items-center justify-center text-current"),children:e.jsx(E.Check,{className:"h-4 w-4"})})}));at.displayName=Ka.Root.displayName;function je(t){return(a={})=>{const r=a.width?String(a.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}function ee(t){return(a,r)=>{const s=r?.context?String(r.context):"standalone";let n;if(s==="formatting"&&t.formattingValues){const d=t.defaultFormattingWidth||t.defaultWidth,u=r?.width?String(r.width):d;n=t.formattingValues[u]||t.formattingValues[d]}else{const d=t.defaultWidth,u=r?.width?String(r.width):t.defaultWidth;n=t.values[u]||t.values[d]}const o=t.argumentCallback?t.argumentCallback(a):a;return n[o]}}function te(t){return(a,r={})=>{const s=r.width,n=s&&t.matchPatterns[s]||t.matchPatterns[t.defaultMatchWidth],o=a.match(n);if(!o)return null;const d=o[0],u=s&&t.parsePatterns[s]||t.parsePatterns[t.defaultParseWidth],f=Array.isArray(u)?xl(u,h=>h.test(d)):bl(u,h=>h.test(d));let m;m=t.valueCallback?t.valueCallback(f):f,m=r.valueCallback?r.valueCallback(m):m;const b=a.slice(d.length);return{value:m,rest:b}}}function bl(t,a){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&a(t[r]))return r}function xl(t,a){for(let r=0;r<t.length;r++)if(a(t[r]))return r}function yt(t){return(a,r={})=>{const s=a.match(t.matchPattern);if(!s)return null;const n=s[0],o=a.match(t.parsePattern);if(!o)return null;let d=t.valueCallback?t.valueCallback(o[0]):o[0];d=r.valueCallback?r.valueCallback(d):d;const u=a.slice(n.length);return{value:d,rest:u}}}const os=Symbol.for("constructDateFrom");function Qs(t,a){return typeof t=="function"?t(a):t&&typeof t=="object"&&os in t?t[os](a):t instanceof Date?new t.constructor(a):new Date(a)}function vl(t,...a){const r=Qs.bind(null,t||a.find(s=>typeof s=="object"));return a.map(r)}let yl={};function wl(){return yl}function jl(t,a){return Qs(a||t,t)}function is(t,a){const r=wl(),s=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,n=jl(t,a?.in),o=n.getDay(),d=(o<s?7:0)+o-s;return n.setDate(n.getDate()-d),n.setHours(0,0,0,0),n}function er(t,a,r){const[s,n]=vl(r?.in,t,a);return+is(s,r)==+is(n,r)}const ls={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},Nl=(t,a,r)=>{let s;const n=r?.addSuffix?ls[t].withPreposition:ls[t].standalone;return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?"in "+s:"vor "+s:s},Sl={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},kl={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Cl={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Tl={date:je({formats:Sl,defaultWidth:"full"}),time:je({formats:kl,defaultWidth:"full"}),dateTime:je({formats:Cl,defaultWidth:"full"})},El={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},Pl=(t,a,r,s)=>El[t],Dl={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},Ml={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},tr={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},Rl={narrow:tr.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:tr.wide},Al={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},$l={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},Fl={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},Ll=t=>Number(t)+".",Il={ordinalNumber:Ll,era:ee({values:Dl,defaultWidth:"wide"}),quarter:ee({values:Ml,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:tr,formattingValues:Rl,defaultWidth:"wide"}),day:ee({values:Al,defaultWidth:"wide"}),dayPeriod:ee({values:$l,defaultWidth:"wide",formattingValues:Fl,defaultFormattingWidth:"wide"})},Ol=/^(\d+)(\.)?/i,_l=/\d+/i,zl={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},Vl={any:[/^v/i,/^n/i]},Wl={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},Hl={any:[/1/i,/2/i,/3/i,/4/i]},ql={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},Ul={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Bl={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},Gl={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},Xl={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},Jl={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},Yl={ordinalNumber:yt({matchPattern:Ol,parsePattern:_l,valueCallback:t=>parseInt(t)}),era:te({matchPatterns:zl,defaultMatchWidth:"wide",parsePatterns:Vl,defaultParseWidth:"any"}),quarter:te({matchPatterns:Wl,defaultMatchWidth:"wide",parsePatterns:Hl,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:ql,defaultMatchWidth:"wide",parsePatterns:Ul,defaultParseWidth:"any"}),day:te({matchPatterns:Bl,defaultMatchWidth:"wide",parsePatterns:Gl,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Xl,defaultMatchWidth:"wide",parsePatterns:Jl,defaultParseWidth:"any"})},en={code:"de",formatDistance:Nl,formatLong:Tl,formatRelative:Pl,localize:Il,match:Yl,options:{weekStartsOn:1,firstWeekContainsDate:4}},Kl={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Zl=(t,a,r)=>{let s;const n=Kl[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",a.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"in "+s:s+" ago":s},Ql={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ec=(t,a,r,s)=>Ql[t],tc={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},ac={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},rc={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},sc={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},nc={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},oc={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ic=(t,a)=>{const r=Number(t),s=r%100;if(s>20||s<10)switch(s%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},lc={ordinalNumber:ic,era:ee({values:tc,defaultWidth:"wide"}),quarter:ee({values:ac,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:rc,defaultWidth:"wide"}),day:ee({values:sc,defaultWidth:"wide"}),dayPeriod:ee({values:nc,defaultWidth:"wide",formattingValues:oc,defaultFormattingWidth:"wide"})},cc=/^(\d+)(th|st|nd|rd)?/i,dc=/\d+/i,uc={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},mc={any:[/^b/i,/^(a|c)/i]},fc={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},hc={any:[/1/i,/2/i,/3/i,/4/i]},pc={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},gc={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},bc={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},xc={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},vc={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},yc={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},wc={ordinalNumber:yt({matchPattern:cc,parsePattern:dc,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:uc,defaultMatchWidth:"wide",parsePatterns:mc,defaultParseWidth:"any"}),quarter:te({matchPatterns:fc,defaultMatchWidth:"wide",parsePatterns:hc,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:pc,defaultMatchWidth:"wide",parsePatterns:gc,defaultParseWidth:"any"}),day:te({matchPatterns:bc,defaultMatchWidth:"wide",parsePatterns:xc,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:vc,defaultMatchWidth:"any",parsePatterns:yc,defaultParseWidth:"any"})},jc={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Nc={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Sc={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},kc={date:je({formats:jc,defaultWidth:"full"}),time:je({formats:Nc,defaultWidth:"full"}),dateTime:je({formats:Sc,defaultWidth:"full"})},tn={code:"en-US",formatDistance:Zl,formatLong:kc,formatRelative:ec,localize:lc,match:wc,options:{weekStartsOn:0,firstWeekContainsDate:1}},Cc={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}},Tc=(t,a,r)=>{let s;const n=Cc[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",a.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"en "+s:"hace "+s:s},Ec={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},Pc={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Dc={full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Mc={date:je({formats:Ec,defaultWidth:"full"}),time:je({formats:Pc,defaultWidth:"full"}),dateTime:je({formats:Dc,defaultWidth:"full"})},Rc={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},Ac={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"},$c=(t,a,r,s)=>a.getHours()!==1?Ac[t]:Rc[t],Fc={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},Lc={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Ic={narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},Oc={narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sá"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},_c={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},zc={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},Vc=(t,a)=>Number(t)+"º",Wc={ordinalNumber:Vc,era:ee({values:Fc,defaultWidth:"wide"}),quarter:ee({values:Lc,defaultWidth:"wide",argumentCallback:t=>Number(t)-1}),month:ee({values:Ic,defaultWidth:"wide"}),day:ee({values:Oc,defaultWidth:"wide"}),dayPeriod:ee({values:_c,defaultWidth:"wide",formattingValues:zc,defaultFormattingWidth:"wide"})},Hc=/^(\d+)(º)?/i,qc=/\d+/i,Uc={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},Bc={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},Gc={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},Xc={any:[/1/i,/2/i,/3/i,/4/i]},Jc={narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},Yc={narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},Kc={narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},Zc={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},Qc={narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},ed={any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},td={ordinalNumber:yt({matchPattern:Hc,parsePattern:qc,valueCallback:function(t){return parseInt(t,10)}}),era:te({matchPatterns:Uc,defaultMatchWidth:"wide",parsePatterns:Bc,defaultParseWidth:"any"}),quarter:te({matchPatterns:Gc,defaultMatchWidth:"wide",parsePatterns:Xc,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Jc,defaultMatchWidth:"wide",parsePatterns:Yc,defaultParseWidth:"any"}),day:te({matchPatterns:Kc,defaultMatchWidth:"wide",parsePatterns:Zc,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Qc,defaultMatchWidth:"any",parsePatterns:ed,defaultParseWidth:"any"})},an={code:"es",formatDistance:Tc,formatLong:Mc,formatRelative:$c,localize:Wc,match:td,options:{weekStartsOn:1,firstWeekContainsDate:1}},ad={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},rd=(t,a,r)=>{let s;const n=ad[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?"dans "+s:"il y a "+s:s},sd={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},nd={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},od={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},id={date:je({formats:sd,defaultWidth:"full"}),time:je({formats:nd,defaultWidth:"full"}),dateTime:je({formats:od,defaultWidth:"full"})},ld={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},cd=(t,a,r,s)=>ld[t],dd={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},ud={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},md={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},fd={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},hd={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},pd=(t,a)=>{const r=Number(t),s=a?.unit;if(r===0)return"0";const n=["year","week","hour","minute","second"];let o;return r===1?o=s&&n.includes(s)?"ère":"er":o="ème",r+o},gd=["MMM","MMMM"],bd={preprocessor:(t,a)=>t.getDate()===1||!a.some(s=>s.isToken&&gd.includes(s.value))?a:a.map(s=>s.isToken&&s.value==="do"?{isToken:!0,value:"d"}:s),ordinalNumber:pd,era:ee({values:dd,defaultWidth:"wide"}),quarter:ee({values:ud,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:md,defaultWidth:"wide"}),day:ee({values:fd,defaultWidth:"wide"}),dayPeriod:ee({values:hd,defaultWidth:"wide"})},xd=/^(\d+)(ième|ère|ème|er|e)?/i,vd=/\d+/i,yd={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},wd={any:[/^av/i,/^ap/i]},jd={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},Nd={any:[/1/i,/2/i,/3/i,/4/i]},Sd={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},kd={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},Cd={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},Td={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},Ed={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},Pd={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},Dd={ordinalNumber:yt({matchPattern:xd,parsePattern:vd,valueCallback:t=>parseInt(t)}),era:te({matchPatterns:yd,defaultMatchWidth:"wide",parsePatterns:wd,defaultParseWidth:"any"}),quarter:te({matchPatterns:jd,defaultMatchWidth:"wide",parsePatterns:Nd,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Sd,defaultMatchWidth:"wide",parsePatterns:kd,defaultParseWidth:"any"}),day:te({matchPatterns:Cd,defaultMatchWidth:"wide",parsePatterns:Td,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Ed,defaultMatchWidth:"any",parsePatterns:Pd,defaultParseWidth:"any"})},Ot={code:"fr",formatDistance:rd,formatLong:id,formatRelative:cd,localize:bd,match:Dd,options:{weekStartsOn:1,firstWeekContainsDate:4}},Md={lessThanXSeconds:{one:"meno di un secondo",other:"meno di {{count}} secondi"},xSeconds:{one:"un secondo",other:"{{count}} secondi"},halfAMinute:"alcuni secondi",lessThanXMinutes:{one:"meno di un minuto",other:"meno di {{count}} minuti"},xMinutes:{one:"un minuto",other:"{{count}} minuti"},aboutXHours:{one:"circa un'ora",other:"circa {{count}} ore"},xHours:{one:"un'ora",other:"{{count}} ore"},xDays:{one:"un giorno",other:"{{count}} giorni"},aboutXWeeks:{one:"circa una settimana",other:"circa {{count}} settimane"},xWeeks:{one:"una settimana",other:"{{count}} settimane"},aboutXMonths:{one:"circa un mese",other:"circa {{count}} mesi"},xMonths:{one:"un mese",other:"{{count}} mesi"},aboutXYears:{one:"circa un anno",other:"circa {{count}} anni"},xYears:{one:"un anno",other:"{{count}} anni"},overXYears:{one:"più di un anno",other:"più di {{count}} anni"},almostXYears:{one:"quasi un anno",other:"quasi {{count}} anni"}},Rd=(t,a,r)=>{let s;const n=Md[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",a.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"tra "+s:s+" fa":s},Ad={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},$d={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Fd={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Ld={date:je({formats:Ad,defaultWidth:"full"}),time:je({formats:$d,defaultWidth:"full"}),dateTime:je({formats:Fd,defaultWidth:"full"})},br=["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"];function Id(t){switch(t){case 0:return"'domenica scorsa alle' p";default:return"'"+br[t]+" scorso alle' p"}}function cs(t){return"'"+br[t]+" alle' p"}function Od(t){switch(t){case 0:return"'domenica prossima alle' p";default:return"'"+br[t]+" prossimo alle' p"}}const _d={lastWeek:(t,a,r)=>{const s=t.getDay();return er(t,a,r)?cs(s):Id(s)},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:(t,a,r)=>{const s=t.getDay();return er(t,a,r)?cs(s):Od(s)},other:"P"},zd=(t,a,r,s)=>{const n=_d[t];return typeof n=="function"?n(a,r,s):n},Vd={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},Wd={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Hd={narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],abbreviated:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],wide:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},qd={narrow:["D","L","M","M","G","V","S"],short:["dom","lun","mar","mer","gio","ven","sab"],abbreviated:["dom","lun","mar","mer","gio","ven","sab"],wide:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},Ud={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"}},Bd={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"}},Gd=(t,a)=>{const r=Number(t);return String(r)},Xd={ordinalNumber:Gd,era:ee({values:Vd,defaultWidth:"wide"}),quarter:ee({values:Wd,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:Hd,defaultWidth:"wide"}),day:ee({values:qd,defaultWidth:"wide"}),dayPeriod:ee({values:Ud,defaultWidth:"wide",formattingValues:Bd,defaultFormattingWidth:"wide"})},Jd=/^(\d+)(º)?/i,Yd=/\d+/i,Kd={narrow:/^(aC|dC)/i,abbreviated:/^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i,wide:/^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i},Zd={any:[/^a/i,/^(d|e)/i]},Qd={narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},eu={any:[/1/i,/2/i,/3/i,/4/i]},tu={narrow:/^[gfmalsond]/i,abbreviated:/^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,wide:/^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i},au={narrow:[/^g/i,/^f/i,/^m/i,/^a/i,/^m/i,/^g/i,/^l/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ge/i,/^f/i,/^mar/i,/^ap/i,/^mag/i,/^gi/i,/^l/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},ru={narrow:/^[dlmgvs]/i,short:/^(do|lu|ma|me|gi|ve|sa)/i,abbreviated:/^(dom|lun|mar|mer|gio|ven|sab)/i,wide:/^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i},su={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^g/i,/^v/i,/^s/i],any:[/^d/i,/^l/i,/^ma/i,/^me/i,/^g/i,/^v/i,/^s/i]},nu={narrow:/^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,any:/^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i},ou={any:{am:/^a/i,pm:/^p/i,midnight:/^mezza/i,noon:/^mezzo/i,morning:/mattina/i,afternoon:/pomeriggio/i,evening:/sera/i,night:/notte/i}},iu={ordinalNumber:yt({matchPattern:Jd,parsePattern:Yd,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:Kd,defaultMatchWidth:"wide",parsePatterns:Zd,defaultParseWidth:"any"}),quarter:te({matchPatterns:Qd,defaultMatchWidth:"wide",parsePatterns:eu,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:tu,defaultMatchWidth:"wide",parsePatterns:au,defaultParseWidth:"any"}),day:te({matchPatterns:ru,defaultMatchWidth:"wide",parsePatterns:su,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:nu,defaultMatchWidth:"any",parsePatterns:ou,defaultParseWidth:"any"})},rn={code:"it",formatDistance:Rd,formatLong:Ld,formatRelative:zd,localize:Xd,match:iu,options:{weekStartsOn:1,firstWeekContainsDate:4}},lu={lessThanXSeconds:{one:"1秒未満",other:"{{count}}秒未満",oneWithSuffix:"約1秒",otherWithSuffix:"約{{count}}秒"},xSeconds:{one:"1秒",other:"{{count}}秒"},halfAMinute:"30秒",lessThanXMinutes:{one:"1分未満",other:"{{count}}分未満",oneWithSuffix:"約1分",otherWithSuffix:"約{{count}}分"},xMinutes:{one:"1分",other:"{{count}}分"},aboutXHours:{one:"約1時間",other:"約{{count}}時間"},xHours:{one:"1時間",other:"{{count}}時間"},xDays:{one:"1日",other:"{{count}}日"},aboutXWeeks:{one:"約1週間",other:"約{{count}}週間"},xWeeks:{one:"1週間",other:"{{count}}週間"},aboutXMonths:{one:"約1か月",other:"約{{count}}か月"},xMonths:{one:"1か月",other:"{{count}}か月"},aboutXYears:{one:"約1年",other:"約{{count}}年"},xYears:{one:"1年",other:"{{count}}年"},overXYears:{one:"1年以上",other:"{{count}}年以上"},almostXYears:{one:"1年近く",other:"{{count}}年近く"}},cu=(t,a,r)=>{r=r||{};let s;const n=lu[t];return typeof n=="string"?s=n:a===1?r.addSuffix&&n.oneWithSuffix?s=n.oneWithSuffix:s=n.one:r.addSuffix&&n.otherWithSuffix?s=n.otherWithSuffix.replace("{{count}}",String(a)):s=n.other.replace("{{count}}",String(a)),r.addSuffix?r.comparison&&r.comparison>0?s+"後":s+"前":s},du={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},uu={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},mu={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},fu={date:je({formats:du,defaultWidth:"full"}),time:je({formats:uu,defaultWidth:"full"}),dateTime:je({formats:mu,defaultWidth:"full"})},hu={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},pu=(t,a,r,s)=>hu[t],gu={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},bu={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},xu={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},vu={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},yu={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},wu={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},ju=(t,a)=>{const r=Number(t);switch(String(a?.unit)){case"year":return`${r}年`;case"quarter":return`第${r}四半期`;case"month":return`${r}月`;case"week":return`第${r}週`;case"date":return`${r}日`;case"hour":return`${r}時`;case"minute":return`${r}分`;case"second":return`${r}秒`;default:return`${r}`}},Nu={ordinalNumber:ju,era:ee({values:gu,defaultWidth:"wide"}),quarter:ee({values:bu,defaultWidth:"wide",argumentCallback:t=>Number(t)-1}),month:ee({values:xu,defaultWidth:"wide"}),day:ee({values:vu,defaultWidth:"wide"}),dayPeriod:ee({values:yu,defaultWidth:"wide",formattingValues:wu,defaultFormattingWidth:"wide"})},Su=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,ku=/\d+/i,Cu={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},Tu={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},Eu={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},Pu={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Du={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},Mu={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Ru={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Au={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},$u={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Fu={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Lu={ordinalNumber:yt({matchPattern:Su,parsePattern:ku,valueCallback:function(t){return parseInt(t,10)}}),era:te({matchPatterns:Cu,defaultMatchWidth:"wide",parsePatterns:Tu,defaultParseWidth:"any"}),quarter:te({matchPatterns:Eu,defaultMatchWidth:"wide",parsePatterns:Pu,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Du,defaultMatchWidth:"wide",parsePatterns:Mu,defaultParseWidth:"any"}),day:te({matchPatterns:Ru,defaultMatchWidth:"wide",parsePatterns:Au,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:$u,defaultMatchWidth:"any",parsePatterns:Fu,defaultParseWidth:"any"})},sn={code:"ja",formatDistance:cu,formatLong:fu,formatRelative:pu,localize:Nu,match:Lu,options:{weekStartsOn:0,firstWeekContainsDate:1}},Iu={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"aproximadamente 1 hora",other:"aproximadamente {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"aproximadamente 1 semana",other:"aproximadamente {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"aproximadamente 1 mês",other:"aproximadamente {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"aproximadamente 1 ano",other:"aproximadamente {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},Ou=(t,a,r)=>{let s;const n=Iu[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?"daqui a "+s:"há "+s:s},_u={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},zu={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Vu={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Wu={date:je({formats:_u,defaultWidth:"full"}),time:je({formats:zu,defaultWidth:"full"}),dateTime:je({formats:Vu,defaultWidth:"full"})},Hu={lastWeek:t=>{const a=t.getDay();return"'"+(a===0||a===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},qu=(t,a,r,s)=>{const n=Hu[t];return typeof n=="function"?n(a):n},Uu={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},Bu={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Gu={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},Xu={narrow:["d","s","t","q","q","s","s"],short:["dom","seg","ter","qua","qui","sex","sáb"],abbreviated:["dom","seg","ter","qua","qui","sex","sáb"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},Ju={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"}},Yu={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"}},Ku=(t,a)=>Number(t)+"º",Zu={ordinalNumber:Ku,era:ee({values:Uu,defaultWidth:"wide"}),quarter:ee({values:Bu,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:Gu,defaultWidth:"wide"}),day:ee({values:Xu,defaultWidth:"wide"}),dayPeriod:ee({values:Ju,defaultWidth:"wide",formattingValues:Yu,defaultFormattingWidth:"wide"})},Qu=/^(\d+)(º|ª)?/i,em=/\d+/i,tm={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes da era comum|depois de cristo|era comum)/i},am={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},rm={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},sm={any:[/1/i,/2/i,/3/i,/4/i]},nm={narrow:/^[jfmasond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},om={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ab/i,/^mai/i,/^jun/i,/^jul/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},im={narrow:/^[dstq]/i,short:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,wide:/^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i},lm={narrow:[/^d/i,/^s/i,/^t/i,/^q/i,/^q/i,/^s/i,/^s/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[áa]/i]},cm={narrow:/^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,any:/^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i},dm={any:{am:/^a/i,pm:/^p/i,midnight:/^meia/i,noon:/^meio/i,morning:/manh[ãa]/i,afternoon:/tarde/i,evening:/noite/i,night:/madrugada/i}},um={ordinalNumber:yt({matchPattern:Qu,parsePattern:em,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:tm,defaultMatchWidth:"wide",parsePatterns:am,defaultParseWidth:"any"}),quarter:te({matchPatterns:rm,defaultMatchWidth:"wide",parsePatterns:sm,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:nm,defaultMatchWidth:"wide",parsePatterns:om,defaultParseWidth:"any"}),day:te({matchPatterns:im,defaultMatchWidth:"wide",parsePatterns:lm,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:cm,defaultMatchWidth:"any",parsePatterns:dm,defaultParseWidth:"any"})},nn={code:"pt",formatDistance:Ou,formatLong:Wu,formatRelative:qu,localize:Zu,match:um,options:{weekStartsOn:1,firstWeekContainsDate:4}},mm={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},fm=(t,a,r)=>{let s;const n=mm[t];return typeof n=="string"?s=n:a===1?s=n.one:s=n.other.replace("{{count}}",String(a)),r?.addSuffix?r.comparison&&r.comparison>0?s+"内":s+"前":s},hm={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},pm={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},gm={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},bm={date:je({formats:hm,defaultWidth:"full"}),time:je({formats:pm,defaultWidth:"full"}),dateTime:je({formats:gm,defaultWidth:"full"})};function ds(t,a,r){const s="eeee p";return er(t,a,r)?s:t.getTime()>a.getTime()?"'下个'"+s:"'上个'"+s}const xm={lastWeek:ds,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:ds,other:"PP p"},vm=(t,a,r,s)=>{const n=xm[t];return typeof n=="function"?n(a,r,s):n},ym={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},wm={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},jm={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},Nm={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},Sm={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},km={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Cm=(t,a)=>{const r=Number(t);switch(a?.unit){case"date":return r.toString()+"日";case"hour":return r.toString()+"时";case"minute":return r.toString()+"分";case"second":return r.toString()+"秒";default:return"第 "+r.toString()}},Tm={ordinalNumber:Cm,era:ee({values:ym,defaultWidth:"wide"}),quarter:ee({values:wm,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:jm,defaultWidth:"wide"}),day:ee({values:Nm,defaultWidth:"wide"}),dayPeriod:ee({values:Sm,defaultWidth:"wide",formattingValues:km,defaultFormattingWidth:"wide"})},Em=/^(第\s*)?\d+(日|时|分|秒)?/i,Pm=/\d+/i,Dm={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Mm={any:[/^(前)/i,/^(公元)/i]},Rm={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Am={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},$m={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},Fm={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},Lm={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Im={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Om={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},_m={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},zm={ordinalNumber:yt({matchPattern:Em,parsePattern:Pm,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:Dm,defaultMatchWidth:"wide",parsePatterns:Mm,defaultParseWidth:"any"}),quarter:te({matchPatterns:Rm,defaultMatchWidth:"wide",parsePatterns:Am,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:$m,defaultMatchWidth:"wide",parsePatterns:Fm,defaultParseWidth:"any"}),day:te({matchPatterns:Lm,defaultMatchWidth:"wide",parsePatterns:Im,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Om,defaultMatchWidth:"any",parsePatterns:_m,defaultParseWidth:"any"})},on={code:"zh-CN",formatDistance:fm,formatLong:bm,formatRelative:vm,localize:Tm,match:zm,options:{weekStartsOn:1,firstWeekContainsDate:4}},Vm=(t=Ot)=>[{label:"Aujourd'hui",value:()=>new Date},{label:"Hier",value:()=>D.subDays(new Date,1)},{label:"Demain",value:()=>D.addDays(new Date,1)},{label:"Cette semaine",range:()=>({from:D.startOfWeek(new Date,{locale:t}),to:D.endOfWeek(new Date,{locale:t})})},{label:"Semaine dernière",range:()=>({from:D.startOfWeek(D.subWeeks(new Date,1),{locale:t}),to:D.endOfWeek(D.subWeeks(new Date,1),{locale:t})})},{label:"Ce mois",range:()=>({from:D.startOfMonth(new Date),to:D.endOfMonth(new Date)})},{label:"Mois dernier",range:()=>({from:D.startOfMonth(D.subMonths(new Date,1)),to:D.endOfMonth(D.subMonths(new Date,1))})},{label:"Ce trimestre",range:()=>({from:D.startOfQuarter(new Date),to:D.endOfQuarter(new Date)})},{label:"Cette année",range:()=>({from:D.startOfYear(new Date),to:D.endOfYear(new Date)})}],Wm=()=>[{label:"7 derniers jours",range:()=>({from:D.subDays(new Date,7),to:new Date})},{label:"30 derniers jours",range:()=>({from:D.subDays(new Date,30),to:new Date})},{label:"90 derniers jours",range:()=>({from:D.subDays(new Date,90),to:new Date})}],Hm=t=>t.map(a=>({label:`${a} prochains jours`,range:()=>({from:new Date,to:D.addDays(new Date,a)})})),qm=(t,a)=>{if(typeof a=="function"){const r=a();return"from"in r&&r.from&&r.to?{label:t,range:()=>({from:r.from,to:r.to})}:{label:t,value:a}}return"from"in a&&a.from&&a.to?{label:t,range:{from:a.from,to:a.to}}:{label:t,value:a}},Um=t=>D.isAfter(t,D.endOfDay(new Date)),ln=t=>D.isBefore(t,D.startOfDay(new Date)),Bm=t=>{const a=new Date;return t.getDate()===a.getDate()&&t.getMonth()===a.getMonth()&&t.getFullYear()===a.getFullYear()},xr=t=>{const a=t.getDay();return a!==0&&a!==6},cn=t=>{const a=t.getDay();return a===0||a===6},dn=(t,a)=>a.some(r=>D.isEqual(D.startOfDay(r),D.startOfDay(t))),ct=(t,a,r)=>D.isWithinInterval(t,{start:a,end:r}),Gm=t=>a=>{const r=D.subYears(new Date,t);return D.isAfter(a,r)?`L'âge minimum est de ${t} ans`:!0},Xm=t=>a=>{const r=D.subYears(new Date,t);return D.isBefore(a,r)?`L'âge maximum est de ${t} ans`:!0},Jm=t=>ln(t)?"Cette date est expirée":!0,Ym=(t,a)=>({days:D.differenceInDays(a,t),weeks:D.differenceInWeeks(a,t),months:D.differenceInMonths(a,t)}),Km=(t,a="PPP",r=Ot)=>t.from?t.to?`${D.format(t.from,a,{locale:r})} - ${D.format(t.to,a,{locale:r})}`:D.format(t.from,a,{locale:r}):"",Zm=t=>[new Date(t,0,1),new Date(t,4,1),new Date(t,4,8),new Date(t,6,14),new Date(t,7,15),new Date(t,10,1),new Date(t,10,11),new Date(t,11,25)],vr=(t,a)=>{const r=[],s=D.startOfMonth(new Date(t,a)),n=D.endOfMonth(new Date(t,a));let o=s;for(;D.isBefore(o,n)||D.isEqual(o,n);)r.push(o),o=D.addDays(o,1);return r},Qm=(t,a)=>vr(t,a).filter(cn),ef=(t,a)=>vr(t,a).filter(xr),tf=()=>t=>{const a=new Date,r=D.endOfMonth(t);if(D.isBefore(r,a))return"La carte est expirée";const s=D.addMonths(a,3);return D.isBefore(r,s)?"La carte expire bientôt":!0},af=t=>a=>{const r=D.addDays(new Date,t);return D.isBefore(a,r)?`La réservation doit être faite ${t} jours à l'avance minimum`:!0},rf=t=>a=>!a.from||!a.to?!0:D.differenceInDays(a.to,a.from)>t?`La période ne peut pas dépasser ${t} jours`:!0,sf=(t,a)=>D.isEqual(D.startOfDay(t),D.startOfDay(a)),nf=(t,a,r=[])=>{let s=0,n=D.startOfDay(t);const o=D.startOfDay(a);for(;D.isBefore(n,o)||D.isEqual(n,o);)xr(n)&&!dn(n,r)&&s++,n=D.addDays(n,1);return s},of=t=>{const a=t||new Date().getFullYear();return[1,2,3,4].map(r=>{const s=D.startOfQuarter(new Date(a,(r-1)*3,1)),n=D.endOfQuarter(s);return{label:`T${r} ${a}`,range:()=>({from:s,to:n})}})},lf=(t,a=Ot)=>{const r=t||new Date().getFullYear();return Array.from({length:12},(s,n)=>{const o=D.startOfMonth(new Date(r,n,1)),d=D.endOfMonth(o);return{label:D.format(o,"MMMM yyyy",{locale:a}),range:()=>({from:o,to:d})}})},cf=t=>t.getTime(),df=t=>new Date(t),uf=t=>D.startOfDay(t),mf=(t,a)=>!t.from||!t.to||!a.from||!a.to?!1:D.isEqual(D.startOfDay(t.from),D.startOfDay(a.from))&&D.isEqual(D.startOfDay(t.to),D.startOfDay(a.to)),ff=(t,a)=>!t.from||!t.to||!a.from||!a.to||!(ct(t.from,a.from,a.to)||ct(t.to,a.from,a.to)||ct(a.from,t.from,t.to)||ct(a.to,t.from,t.to))?null:{from:D.isBefore(t.from,a.from)?t.from:a.from,to:D.isAfter(t.to,a.to)?t.to:a.to},hf=(t,a)=>!t.from||!t.to||!a.from||!a.to?!1:ct(t.from,a.from,a.to)||ct(t.to,a.from,a.to)||ct(a.from,t.from,t.to)||ct(a.to,t.from,t.to);class yr{constructor(a){this.loadedThemes=new Set,this.styleElements=new Map,this.config={baseUrl:a.baseUrl,cache:a.cache??!0,timeout:a.timeout??1e4,onError:a.onError??(r=>console.error("Theme loading error:",r)),onSuccess:a.onSuccess??(()=>{})}}async loadTheme(a){if(this.config.cache&&this.loadedThemes.has(a)){console.log(`Theme "${a}" already loaded from cache`),this.applyTheme(a);return}try{const r=new AbortController,s=setTimeout(()=>r.abort(),this.config.timeout),n=this.buildThemeUrl(a);console.log(`Loading theme from: ${n}`);const o=await fetch(n,{signal:r.signal,headers:{Accept:"text/css"}});if(clearTimeout(s),!o.ok)throw new Error(`Failed to load theme: ${o.status} ${o.statusText}`);const d=await o.text();if(!d.includes(`[data-theme="${a}"]`))throw new Error(`Invalid theme CSS: missing [data-theme="${a}"] selector`);this.injectThemeStyles(a,d),this.loadedThemes.add(a),this.applyTheme(a),this.config.onSuccess(a)}catch(r){const s=r instanceof Error?r:new Error(String(r));throw this.config.onError(s,a),s}}applyTheme(a){if(typeof document>"u")return;document.documentElement.setAttribute("data-theme",a);try{localStorage.setItem("theme",a)}catch(s){console.warn("Could not save theme to localStorage:",s)}console.log(`Applied theme: ${a}`)}getCurrentTheme(){return typeof document>"u"?null:document.documentElement.getAttribute("data-theme")}loadSavedTheme(){if(typeof window>"u")return null;try{return localStorage.getItem("theme")}catch(a){return console.warn("Could not load theme from localStorage:",a),null}}async preloadThemes(a){console.log(`Preloading ${a.length} themes...`),await Promise.allSettled(a.map(r=>this.loadTheme(r))),console.log(`Preloaded ${this.loadedThemes.size} themes`)}unloadTheme(a){const r=this.styleElements.get(a);r&&(r.remove(),this.styleElements.delete(a)),this.loadedThemes.delete(a),console.log(`Unloaded theme: ${a}`)}clearCache(){this.styleElements.forEach(a=>a.remove()),this.styleElements.clear(),this.loadedThemes.clear(),console.log("Theme cache cleared")}getLoadedThemes(){return Array.from(this.loadedThemes)}buildThemeUrl(a){return`${this.config.baseUrl.replace(/\/$/,"")}/${a}.css`}injectThemeStyles(a,r){if(typeof document>"u")return;const s=this.styleElements.get(a);s&&s.remove();const n=document.createElement("style");n.setAttribute("data-theme-name",a),n.textContent=r,document.head.appendChild(n),this.styleElements.set(a,n)}}let na=null;function pf(t){return na=new yr(t),na}function wr(){if(!na)throw new Error("ThemeLoader not initialized. Call initThemeLoader() first.");return na}async function gf(t){return wr().loadTheme(t)}function bf(t){wr().applyTheme(t)}function xf(t){if(typeof window>"u")return{loadTheme:async()=>{},applyTheme:()=>{},currentTheme:null,loadedThemes:[],isLoading:!1};const a=na||new yr({baseUrl:t?.baseUrl||"/themes",...t}),[r,s]=i.useState(!1),[n,o]=i.useState(a.getCurrentTheme());return{loadTheme:async f=>{s(!0);try{await a.loadTheme(f),o(f)}finally{s(!1)}},applyTheme:f=>{a.applyTheme(f),o(f)},currentTheme:n,loadedThemes:a.getLoadedThemes(),isLoading:r}}var us=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ha={exports:{}},ms;function yf(){return ms||(ms=1,(function(t){var a=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
2
2
  * Prism: Lightweight, robust, elegant syntax highlighting
3
3
  *
4
4
  * @license MIT <https://opensource.org/licenses/MIT>
5
5
  * @author Lea Verou <https://lea.verou.me>
6
6
  * @namespace
7
7
  * @public
8
- */var r=(function(s){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,l={},c={manual:s.Prism&&s.Prism.manual,disableWorkerMessageHandler:s.Prism&&s.Prism.disableWorkerMessageHandler,util:{encode:function u(d){return d instanceof f?new f(d.type,u(d.content),d.alias):Array.isArray(d)?d.map(u):d.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(u){return Object.prototype.toString.call(u).slice(8,-1)},objId:function(u){return u.__id||Object.defineProperty(u,"__id",{value:++o}),u.__id},clone:function u(d,g){g=g||{};var v,N;switch(c.util.type(d)){case"Object":if(N=c.util.objId(d),g[N])return g[N];v={},g[N]=v;for(var $ in d)d.hasOwnProperty($)&&(v[$]=u(d[$],g));return v;case"Array":return N=c.util.objId(d),g[N]?g[N]:(v=[],g[N]=v,d.forEach(function(F,M){v[M]=u(F,g)}),v);default:return d}},getLanguage:function(u){for(;u;){var d=n.exec(u.className);if(d)return d[1].toLowerCase();u=u.parentElement}return"none"},setLanguage:function(u,d){u.className=u.className.replace(RegExp(n,"gi"),""),u.classList.add("language-"+d)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(v){var u=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(v.stack)||[])[1];if(u){var d=document.getElementsByTagName("script");for(var g in d)if(d[g].src==u)return d[g]}return null}},isActive:function(u,d,g){for(var v="no-"+d;u;){var N=u.classList;if(N.contains(d))return!0;if(N.contains(v))return!1;u=u.parentElement}return!!g}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(u,d){var g=c.util.clone(c.languages[u]);for(var v in d)g[v]=d[v];return g},insertBefore:function(u,d,g,v){v=v||c.languages;var N=v[u],$={};for(var F in N)if(N.hasOwnProperty(F)){if(F==d)for(var M in g)g.hasOwnProperty(M)&&($[M]=g[M]);g.hasOwnProperty(F)||($[F]=N[F])}var T=v[u];return v[u]=$,c.languages.DFS(c.languages,function(P,L){L===T&&P!=u&&(this[P]=$)}),$},DFS:function u(d,g,v,N){N=N||{};var $=c.util.objId;for(var F in d)if(d.hasOwnProperty(F)){g.call(d,F,d[F],v||F);var M=d[F],T=c.util.type(M);T==="Object"&&!N[$(M)]?(N[$(M)]=!0,u(M,g,null,N)):T==="Array"&&!N[$(M)]&&(N[$(M)]=!0,u(M,g,F,N))}}},plugins:{},highlightAll:function(u,d){c.highlightAllUnder(document,u,d)},highlightAllUnder:function(u,d,g){var v={callback:g,container:u,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};c.hooks.run("before-highlightall",v),v.elements=Array.prototype.slice.apply(v.container.querySelectorAll(v.selector)),c.hooks.run("before-all-elements-highlight",v);for(var N=0,$;$=v.elements[N++];)c.highlightElement($,d===!0,v.callback)},highlightElement:function(u,d,g){var v=c.util.getLanguage(u),N=c.languages[v];c.util.setLanguage(u,v);var $=u.parentElement;$&&$.nodeName.toLowerCase()==="pre"&&c.util.setLanguage($,v);var F=u.textContent,M={element:u,language:v,grammar:N,code:F};function T(L){M.highlightedCode=L,c.hooks.run("before-insert",M),M.element.innerHTML=M.highlightedCode,c.hooks.run("after-highlight",M),c.hooks.run("complete",M),g&&g.call(M.element)}if(c.hooks.run("before-sanity-check",M),$=M.element.parentElement,$&&$.nodeName.toLowerCase()==="pre"&&!$.hasAttribute("tabindex")&&$.setAttribute("tabindex","0"),!M.code){c.hooks.run("complete",M),g&&g.call(M.element);return}if(c.hooks.run("before-highlight",M),!M.grammar){T(c.util.encode(M.code));return}if(d&&s.Worker){var P=new Worker(c.filename);P.onmessage=function(L){T(L.data)},P.postMessage(JSON.stringify({language:M.language,code:M.code,immediateClose:!0}))}else T(c.highlight(M.code,M.grammar,M.language))},highlight:function(u,d,g){var v={code:u,grammar:d,language:g};if(c.hooks.run("before-tokenize",v),!v.grammar)throw new Error('The language "'+v.language+'" has no grammar.');return v.tokens=c.tokenize(v.code,v.grammar),c.hooks.run("after-tokenize",v),f.stringify(c.util.encode(v.tokens),v.language)},tokenize:function(u,d){var g=d.rest;if(g){for(var v in g)d[v]=g[v];delete d.rest}var N=new h;return x(N,N.head,u),p(u,N,d,N.head,0),S(N)},hooks:{all:{},add:function(u,d){var g=c.hooks.all;g[u]=g[u]||[],g[u].push(d)},run:function(u,d){var g=c.hooks.all[u];if(!(!g||!g.length))for(var v=0,N;N=g[v++];)N(d)}},Token:f};s.Prism=c;function f(u,d,g,v){this.type=u,this.content=d,this.alias=g,this.length=(v||"").length|0}f.stringify=function u(d,g){if(typeof d=="string")return d;if(Array.isArray(d)){var v="";return d.forEach(function(T){v+=u(T,g)}),v}var N={type:d.type,content:u(d.content,g),tag:"span",classes:["token",d.type],attributes:{},language:g},$=d.alias;$&&(Array.isArray($)?Array.prototype.push.apply(N.classes,$):N.classes.push($)),c.hooks.run("wrap",N);var F="";for(var M in N.attributes)F+=" "+M+'="'+(N.attributes[M]||"").replace(/"/g,"&quot;")+'"';return"<"+N.tag+' class="'+N.classes.join(" ")+'"'+F+">"+N.content+"</"+N.tag+">"};function m(u,d,g,v){u.lastIndex=d;var N=u.exec(g);if(N&&v&&N[1]){var $=N[1].length;N.index+=$,N[0]=N[0].slice($)}return N}function p(u,d,g,v,N,$){for(var F in g)if(!(!g.hasOwnProperty(F)||!g[F])){var M=g[F];M=Array.isArray(M)?M:[M];for(var T=0;T<M.length;++T){if($&&$.cause==F+","+T)return;var P=M[T],L=P.inside,A=!!P.lookbehind,V=!!P.greedy,X=P.alias;if(V&&!P.pattern.global){var me=P.pattern.toString().match(/[imsuy]*$/)[0];P.pattern=RegExp(P.pattern.source,me+"g")}for(var se=P.pattern||P,Y=v.next,H=N;Y!==d.tail&&!($&&H>=$.reach);H+=Y.value.length,Y=Y.next){var _=Y.value;if(d.length>u.length)return;if(!(_ instanceof f)){var q=1,R;if(V){if(R=m(se,H,u,A),!R||R.index>=u.length)break;var Re=R.index,te=R.index+R[0].length,Z=H;for(Z+=Y.value.length;Re>=Z;)Y=Y.next,Z+=Y.value.length;if(Z-=Y.value.length,H=Z,Y.value instanceof f)continue;for(var G=Y;G!==d.tail&&(Z<te||typeof G.value=="string");G=G.next)q++,Z+=G.value.length;q--,_=u.slice(H,Z),R.index-=H}else if(R=m(se,0,_,A),!R)continue;var Re=R.index,ve=R[0],Ne=_.slice(0,Re),le=_.slice(Re+ve.length),Me=H+_.length;$&&Me>$.reach&&($.reach=Me);var z=Y.prev;Ne&&(z=x(d,z,Ne),H+=Ne.length),k(d,z,q);var I=new f(F,L?c.tokenize(ve,L):ve,X,ve);if(Y=x(d,z,I),le&&x(d,Y,le),q>1){var J={cause:F+","+T,reach:Me};p(u,d,g,Y.prev,H,J),$&&J.reach>$.reach&&($.reach=J.reach)}}}}}}function h(){var u={value:null,prev:null,next:null},d={value:null,prev:u,next:null};u.next=d,this.head=u,this.tail=d,this.length=0}function x(u,d,g){var v=d.next,N={value:g,prev:d,next:v};return d.next=N,v.prev=N,u.length++,N}function k(u,d,g){for(var v=d.next,N=0;N<g&&v!==u.tail;N++)v=v.next;d.next=v,v.prev=d,u.length-=N}function S(u){for(var d=[],g=u.head.next;g!==u.tail;)d.push(g.value),g=g.next;return d}if(!s.document)return s.addEventListener&&(c.disableWorkerMessageHandler||s.addEventListener("message",function(u){var d=JSON.parse(u.data),g=d.language,v=d.code,N=d.immediateClose;s.postMessage(c.highlight(v,c.languages[g],g)),N&&s.close()},!1)),c;var j=c.util.currentScript();j&&(c.filename=j.src,j.hasAttribute("data-manual")&&(c.manual=!0));function y(){c.manual||c.highlightAll()}if(!c.manual){var b=document.readyState;b==="loading"||b==="interactive"&&j&&j.defer?document.addEventListener("DOMContentLoaded",y):window.requestAnimationFrame?window.requestAnimationFrame(y):window.setTimeout(y,16)}return c})(a);t.exports&&(t.exports=r),typeof us<"u"&&(us.Prism=r),r.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",function(s){s.type==="entity"&&(s.attributes.title=s.content.replace(/&amp;/,"&"))}),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(n,o){var l={};l["language-"+o]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:r.languages[o]},l.cdata=/^<!\[CDATA\[|\]\]>$/i;var c={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:l}};c["language-"+o]={pattern:/[\s\S]+/,inside:r.languages[o]};var f={};f[n]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return n}),"i"),lookbehind:!0,greedy:!0,inside:c},r.languages.insertBefore("markup","cdata",f)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(s,n){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+s+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:r.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,(function(s){var n=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+n.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+n.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var o=s.languages.markup;o&&(o.tag.addInlined("style","css"),o.tag.addAttribute("style","css"))})(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,(function(){if(typeof r>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var s="Loading…",n=function(j,y){return"✖ Error "+j+" while fetching file: "+y},o="✖ Error: File does not exist or is empty",l={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},c="data-src-status",f="loading",m="loaded",p="failed",h="pre[data-src]:not(["+c+'="'+m+'"]):not(['+c+'="'+f+'"])';function x(j,y,b){var u=new XMLHttpRequest;u.open("GET",j,!0),u.onreadystatechange=function(){u.readyState==4&&(u.status<400&&u.responseText?y(u.responseText):u.status>=400?b(n(u.status,u.statusText)):b(o))},u.send(null)}function k(j){var y=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(j||"");if(y){var b=Number(y[1]),u=y[2],d=y[3];return u?d?[b,Number(d)]:[b,void 0]:[b,b]}}r.hooks.add("before-highlightall",function(j){j.selector+=", "+h}),r.hooks.add("before-sanity-check",function(j){var y=j.element;if(y.matches(h)){j.code="",y.setAttribute(c,f);var b=y.appendChild(document.createElement("CODE"));b.textContent=s;var u=y.getAttribute("data-src"),d=j.language;if(d==="none"){var g=(/\.(\w+)$/.exec(u)||[,"none"])[1];d=l[g]||g}r.util.setLanguage(b,d),r.util.setLanguage(y,d);var v=r.plugins.autoloader;v&&v.loadLanguages(d),x(u,function(N){y.setAttribute(c,m);var $=k(y.getAttribute("data-range"));if($){var F=N.split(/\r\n?|\n/g),M=$[0],T=$[1]==null?F.length:$[1];M<0&&(M+=F.length),M=Math.max(0,Math.min(M-1,F.length)),T<0&&(T+=F.length),T=Math.max(0,Math.min(T,F.length)),N=F.slice(M,T).join(`
9
- `),y.hasAttribute("data-start")||y.setAttribute("data-start",String(M+1))}b.textContent=N,r.highlightElement(b)},function(N){y.setAttribute(c,p),b.textContent=N})}}),r.plugins.fileHighlight={highlight:function(y){for(var b=(y||document).querySelectorAll(h),u=0,d;d=b[u++];)r.highlightElement(d)}};var S=!1;r.fileHighlight=function(){S||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),S=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}})()})(Ha)),Ha.exports}var wf=yf();const qa=vf(wf);var fs={},hs;function jf(){return hs||(hs=1,(function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),t.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var a=t.languages.extend("typescript",{});delete a["class-name"],t.languages.typescript["class-name"].inside=a,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:a}}}}),t.languages.ts=t.languages.typescript})(Prism)),fs}jf();Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(t){var a=t.util.clone(t.languages.javascript),r=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,s=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,n=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(f,m){return f=f.replace(/<S>/g,function(){return r}).replace(/<BRACES>/g,function(){return s}).replace(/<SPREAD>/g,function(){return n}),RegExp(f,m)}n=o(n).source,t.languages.jsx=t.languages.extend("markup",a),t.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=a.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var l=function(f){return f?typeof f=="string"?f:typeof f.content=="string"?f.content:f.content.map(l).join(""):""},c=function(f){for(var m=[],p=0;p<f.length;p++){var h=f[p],x=!1;if(typeof h!="string"&&(h.type==="tag"&&h.content[0]&&h.content[0].type==="tag"?h.content[0].content[0].content==="</"?m.length>0&&m[m.length-1].tagName===l(h.content[0].content[1])&&m.pop():h.content[h.content.length-1].content==="/>"||m.push({tagName:l(h.content[0].content[1]),openedBraces:0}):m.length>0&&h.type==="punctuation"&&h.content==="{"?m[m.length-1].openedBraces++:m.length>0&&m[m.length-1].openedBraces>0&&h.type==="punctuation"&&h.content==="}"?m[m.length-1].openedBraces--:x=!0),(x||typeof h=="string")&&m.length>0&&m[m.length-1].openedBraces===0){var k=l(h);p<f.length-1&&(typeof f[p+1]=="string"||f[p+1].type==="plain-text")&&(k+=l(f[p+1]),f.splice(p+1,1)),p>0&&(typeof f[p-1]=="string"||f[p-1].type==="plain-text")&&(k=l(f[p-1])+k,f.splice(p-1,1),p--),f[p]=new t.Token("plain-text",k,null,k)}h.content&&typeof h.content!="string"&&c(h.content)}};t.hooks.add("after-tokenize",function(f){f.language!=="jsx"&&f.language!=="tsx"||c(f.tokens)})})(Prism);(function(t){var a=t.util.clone(t.languages.typescript);t.languages.tsx=t.languages.extend("jsx",a),delete t.languages.tsx.parameter,delete t.languages.tsx["literal-property"];var r=t.languages.tsx.tag;r.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+r.pattern.source+")",r.pattern.flags),r.lookbehind=!0})(Prism);(function(t){var a=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+a.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+a.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+a.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+a.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:a,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var r=t.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(Prism);var ps={},gs;function Nf(){return gs||(gs=1,Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss),ps}Nf();Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(t){var a="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},s={bash:r,environment:{pattern:RegExp("\\$"+a),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+a),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};t.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+a),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:s},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:s},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:s.entity}}],environment:{pattern:RegExp("\\$?"+a),alias:"constant"},variable:s.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=t.languages.bash;for(var n=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=s.variable[1].inside,l=0;l<n.length;l++)o[n[l]]=t.languages.bash[n[l]];t.languages.sh=t.languages.bash,t.languages.shell=t.languages.bash})(Prism);var bs={},xs;function Sf(){return xs||(xs=1,Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python),bs}Sf();var vs={},ys;function kf(){return ys||(ys=1,(function(t){var a=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,s={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:s.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:s.inside}],keyword:a,function:[t.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:a,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return a.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism)),vs}kf();var ws={},js;function Cf(){return js||(js=1,(function(t){function a(H,_){return H.replace(/<<(\d+)>>/g,function(q,R){return"(?:"+_[+R]+")"})}function r(H,_,q){return RegExp(a(H,_),"")}function s(H,_){for(var q=0;q<_;q++)H=H.replace(/<<self>>/g,function(){return"(?:"+H+")"});return H.replace(/<<self>>/g,"[^\\s\\S]")}var n={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function o(H){return"\\b(?:"+H.trim().replace(/ /g,"|")+")\\b"}var l=o(n.typeDeclaration),c=RegExp(o(n.type+" "+n.typeDeclaration+" "+n.contextual+" "+n.other)),f=o(n.typeDeclaration+" "+n.contextual+" "+n.other),m=o(n.type+" "+n.typeDeclaration+" "+n.other),p=s(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),h=s(/\((?:[^()]|<<self>>)*\)/.source,2),x=/@?\b[A-Za-z_]\w*\b/.source,k=a(/<<0>>(?:\s*<<1>>)?/.source,[x,p]),S=a(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[f,k]),j=/\[\s*(?:,\s*)*\]/.source,y=a(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[S,j]),b=a(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,h,j]),u=a(/\(<<0>>+(?:,<<0>>+)+\)/.source,[b]),d=a(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[u,S,j]),g={keyword:c,punctuation:/[<>()?,.:[\]]/},v=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,N=/"(?:\\.|[^\\"\r\n])*"/.source,$=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;t.languages.csharp=t.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[$]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[N]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[S]),lookbehind:!0,inside:g},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[x,d]),lookbehind:!0,inside:g},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[x]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[l,k]),lookbehind:!0,inside:g},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[S]),lookbehind:!0,inside:g},{pattern:r(/(\bwhere\s+)<<0>>/.source,[x]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:g},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[d,m,x]),inside:g}],keyword:c,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),t.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),t.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[x]),lookbehind:!0,alias:"punctuation"}}),t.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[x]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[h]),lookbehind:!0,alias:"class-name",inside:g},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[d,S]),inside:g,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[d]),lookbehind:!0,inside:g,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[x,p]),inside:{function:r(/^<<0>>/.source,[x]),generic:{pattern:RegExp(p),alias:"class-name",inside:g}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[l,k,x,d,c.source,h,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[k,h]),lookbehind:!0,greedy:!0,inside:t.languages.csharp},keyword:c,"class-name":{pattern:RegExp(d),greedy:!0,inside:g},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var F=N+"|"+v,M=a(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[F]),T=s(a(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[M]),2),P=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,L=a(/<<0>>(?:\s*\(<<1>>*\))?/.source,[S,T]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[P,L]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[P]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[T]),inside:t.languages.csharp},"class-name":{pattern:RegExp(S),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=/:[^}\r\n]+/.source,V=s(a(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[M]),2),X=a(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[V,A]),me=s(a(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[F]),2),se=a(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[me,A]);function Y(H,_){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[H]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[_,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:t.languages.csharp}}},string:/[\s\S]+/}}t.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[X]),lookbehind:!0,greedy:!0,inside:Y(X,V)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[se]),lookbehind:!0,greedy:!0,inside:Y(se,me)}],char:{pattern:RegExp(v),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp})(Prism)),ws}Cf();var Ns={},Ss;function Tf(){return Ss||(Ss=1,(function(t){var a=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,r=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],s=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:a,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:s,operator:n,punctuation:o};var l={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:t.languages.php},c=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];t.languages.insertBefore("php","variable",{string:c,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:a,string:c,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,number:s,operator:n,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",function(f){if(/<\?/.test(f.code)){var m=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;t.languages["markup-templating"].buildPlaceholders(f,"php",m)}}),t.hooks.add("after-tokenize",function(f){t.languages["markup-templating"].tokenizePlaceholders(f,"php")})})(Prism)),Ns}Tf();var ks={},Cs;function Ef(){return Cs||(Cs=1,(function(t){t.languages.ruby=t.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),t.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var a={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:t.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete t.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",s=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;t.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:a,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:a,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+s),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+s+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),t.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:a,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:a,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:a,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:a,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:a,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete t.languages.ruby.string,t.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),t.languages.rb=t.languages.ruby})(Prism)),ks}Ef();Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/});Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}});delete Prism.languages.go["class-name"];var Ts={},Es;function Pf(){return Es||(Es=1,(function(t){for(var a=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)a=a.replace(/<self>/g,function(){return a});a=a.replace(/<self>/g,function(){return/[^\s\S]/.source}),t.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},t.languages.rust["closure-params"].inside.rest=t.languages.rust,t.languages.rust.attribute.inside.string=t.languages.rust.string})(Prism)),Ts}Pf();Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};(function(t){var a=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(p){return p=p.replace(/<inner>/g,function(){return a}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+p+")")}var s=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,n=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return s}),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;t.languages.markdown=t.languages.extend("markup",{}),t.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:t.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+n+o+"(?:"+n+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+n+o+")(?:"+n+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(s),inside:t.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+n+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+n+"$"),inside:{"table-header":{pattern:RegExp(s),alias:"important",inside:t.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(p){["url","bold","italic","strike","code-snippet"].forEach(function(h){p!==h&&(t.languages.markdown[p].inside.content.inside[h]=t.languages.markdown[h])})}),t.hooks.add("after-tokenize",function(p){if(p.language!=="markdown"&&p.language!=="md")return;function h(x){if(!(!x||typeof x=="string"))for(var k=0,S=x.length;k<S;k++){var j=x[k];if(j.type!=="code"){h(j.content);continue}var y=j.content[1],b=j.content[3];if(y&&b&&y.type==="code-language"&&b.type==="code-block"&&typeof y.content=="string"){var u=y.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");u=(/[a-z][\w-]*/i.exec(u)||[""])[0].toLowerCase();var d="language-"+u;b.alias?typeof b.alias=="string"?b.alias=[b.alias,d]:b.alias.push(d):b.alias=[d]}}}h(p.tokens)}),t.hooks.add("wrap",function(p){if(p.type==="code-block"){for(var h="",x=0,k=p.classes.length;x<k;x++){var S=p.classes[x],j=/language-(.+)/.exec(S);if(j){h=j[1];break}}var y=t.languages[h];if(y)p.content=t.highlight(m(p.content),y,h);else if(h&&h!=="none"&&t.plugins.autoloader){var b="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);p.attributes.id=b,t.plugins.autoloader.loadLanguages(h,function(){var u=document.getElementById(b);u&&(u.innerHTML=t.highlight(u.textContent,t.languages[h],h))})}}});var l=RegExp(t.languages.markup.tag.pattern.source,"gi"),c={amp:"&",lt:"<",gt:">",quot:'"'},f=String.fromCodePoint||String.fromCharCode;function m(p){var h=p.replace(l,"");return h=h.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(x,k){if(k=k.toLowerCase(),k[0]==="#"){var S;return k[1]==="x"?S=parseInt(k.slice(2),16):S=Number(k.slice(1)),f(S)}else{var j=c[k];return j||x}}),h}t.languages.md=t.languages.markdown})(Prism);(function(t){var a=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,s="(?:"+r.source+"(?:[ ]+"+a.source+")?|"+a.source+"(?:[ ]+"+r.source+")?)",n=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function l(c,f){f=(f||"").replace(/m/g,"")+"m";var m=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return s}).replace(/<<value>>/g,function(){return c});return RegExp(m,f)}t.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return s})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return s}).replace(/<<key>>/g,function(){return"(?:"+n+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:l(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:l(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:l(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:l(o),lookbehind:!0,greedy:!0},number:{pattern:l(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:a,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},t.languages.yml=t.languages.yaml})(Prism);(function(t){var a=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source,r=/(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,function(){return a}),s=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source,n=/--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(/<STR>/g,function(){return s}),o={pattern:RegExp(s),greedy:!0},l={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function c(f,m){return f=f.replace(/<OPT>/g,function(){return n}).replace(/<SP>/g,function(){return r}),RegExp(f,m)}t.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:c(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:c(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:c(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:c(/(^ONBUILD<SP>)\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:l,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:l},t.languages.dockerfile=t.languages.docker})(Prism);Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m};const Ps=De.cva("relative rounded font-mono",{variants:{variant:{inline:"bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm",block:"block bg-muted overflow-x-auto"},size:{sm:"text-xs sm:text-sm",base:"text-sm sm:text-base",lg:"text-base sm:text-lg"}},defaultVariants:{variant:"inline",size:"base"}}),un=i.forwardRef(({className:t,variant:a,size:r,language:s,showLineNumbers:n=!1,maxHeight:o,copyable:l=!1,filename:c,theme:f="auto",children:m,...p},h)=>{const[x,k]=i.useState(!1),[S,j]=i.useState("");i.useRef(null),i.useEffect(()=>{if(a==="block"&&s&&m)try{const b=typeof m=="string"?m:String(m),u=qa.highlight(b,qa.languages[s]||qa.languages.text,s);j(u)}catch(b){console.warn(`Failed to highlight code for language: ${s}`,b),j(String(m))}else j(String(m))},[s,m,a]);const y=async()=>{if(typeof m=="string")try{await navigator.clipboard.writeText(m),k(!0),setTimeout(()=>k(!1),2e3)}catch(b){console.error("Failed to copy code:",b)}};return a==="block"?e.jsxs("div",{className:"relative my-4 sm:my-6",children:[(c||l)&&e.jsxs("div",{className:"flex items-center justify-between bg-muted/50 px-3 sm:px-4 py-2 sm:py-3 rounded-t-lg border-b",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[c&&e.jsxs("div",{className:"flex items-center gap-1.5 text-xs sm:text-sm text-muted-foreground",children:[e.jsx(E.FileText,{className:"h-3 w-3 sm:h-4 sm:w-4"}),e.jsx("span",{className:"font-medium",children:c})]}),s&&!c&&e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground uppercase font-medium",children:s})]}),l&&e.jsx(O,{variant:"ghost",size:"sm",onClick:y,className:"h-6 w-6 sm:h-7 sm:w-7 p-0 hover:bg-muted-foreground/10",children:x?e.jsx(E.Check,{className:"h-3 w-3 sm:h-4 sm:w-4 text-green-600"}):e.jsx(E.Copy,{className:"h-3 w-3 sm:h-4 sm:w-4"})})]}),e.jsx("div",{className:w("waka-code relative",o&&"overflow-hidden"),style:{maxHeight:o?`${o}px`:void 0},children:e.jsxs("pre",{className:w(Ps({variant:a,size:r}),"p-3 sm:p-4 lg:p-6","text-xs sm:text-sm lg:text-base","leading-relaxed sm:leading-loose","whitespace-pre-wrap break-words","scrollbar-thin scrollbar-thumb-muted-foreground/20 scrollbar-track-transparent","hover:scrollbar-thumb-muted-foreground/30",o&&"overflow-y-auto",!c&&!l&&s&&"rounded-lg",c||l?"rounded-b-lg":"rounded-lg",t),children:[n&&e.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-8 sm:w-10 lg:w-12 bg-muted/30 border-r border-border/50 flex flex-col text-xs sm:text-sm text-muted-foreground select-none",children:String(m).split(`
10
- `).map((b,u)=>e.jsx("div",{className:"flex items-center justify-center h-5 sm:h-6 lg:h-7",children:u+1},u))}),e.jsx("code",{ref:h,className:w("block",n&&"ml-8 sm:ml-10 lg:ml-12",s&&"language-"+s),...p,dangerouslySetInnerHTML:a==="block"&&s?{__html:S}:void 0,children:a==="block"&&s?void 0:m})]})}),s&&!c&&!l&&e.jsx("div",{className:"absolute top-2 right-2 text-xs text-muted-foreground/70 bg-background/80 px-2 py-1 rounded uppercase font-medium",children:s})]}):e.jsx("code",{className:w(Ps({variant:a,size:r}),t),ref:h,...p,children:m})});un.displayName="Code";const Df=ir.Root,Mf=ir.CollapsibleTrigger,Rf=ir.CollapsibleContent,mn=he.Root,Af=he.Trigger,fn=he.Portal,$f=he.Close,jr=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Overlay,{ref:r,className:w("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a}));jr.displayName=he.Overlay.displayName;const Nr=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(fn,{children:[e.jsx(jr,{}),e.jsxs(he.Content,{ref:s,className:w("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...r,children:[a,e.jsxs(he.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(E.X,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Nr.displayName=he.Content.displayName;const hn=({className:t,...a})=>e.jsx("div",{className:w("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});hn.displayName="DialogHeader";const pn=({className:t,...a})=>e.jsx("div",{className:w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});pn.displayName="DialogFooter";const gn=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Title,{ref:r,className:w("text-lg font-semibold leading-none tracking-tight",t),...a}));gn.displayName=he.Title.displayName;const bn=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Description,{ref:r,className:w("text-sm text-muted-foreground",t),...a}));bn.displayName=he.Description.displayName;const _t=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command,{ref:r,className:w("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...a}));_t.displayName=Le.Command.displayName;const Ff=({children:t,...a})=>e.jsx(mn,{...a,children:e.jsx(Nr,{className:"overflow-hidden p-0 shadow-lg",children:e.jsx(_t,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:t})})}),oa=i.forwardRef(({className:t,...a},r)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(E.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(Le.Command.Input,{ref:r,className:w("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...a})]}));oa.displayName=Le.Command.Input.displayName;const Sr=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.List,{ref:r,className:w("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...a}));Sr.displayName=Le.Command.List.displayName;const ia=i.forwardRef((t,a)=>e.jsx(Le.Command.Empty,{ref:a,className:"py-6 text-center text-sm",...t}));ia.displayName=Le.Command.Empty.displayName;const la=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.Group,{ref:r,className:w("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...a}));la.displayName=Le.Command.Group.displayName;const xn=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.Separator,{ref:r,className:w("-mx-1 h-px bg-border",t),...a}));xn.displayName=Le.Command.Separator.displayName;const ca=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.Item,{ref:r,className:w("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...a}));ca.displayName=Le.Command.Item.displayName;const vn=({className:t,...a})=>e.jsx("span",{className:w("ml-auto text-xs tracking-widest text-muted-foreground",t),...a});vn.displayName="CommandShortcut";const yn=be.Root,wn=be.Trigger,Lf=be.Group,If=be.Portal,Of=be.Sub,_f=be.RadioGroup,jn=i.forwardRef(({className:t,inset:a,children:r,...s},n)=>e.jsxs(be.SubTrigger,{ref:n,className:w("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a&&"pl-8",t),...s,children:[r,e.jsx(E.ChevronRight,{className:"ml-auto h-4 w-4"})]}));jn.displayName=be.SubTrigger.displayName;const Nn=i.forwardRef(({className:t,...a},r)=>e.jsx(be.SubContent,{ref:r,className:w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Nn.displayName=be.SubContent.displayName;const kr=i.forwardRef(({className:t,...a},r)=>e.jsx(be.Portal,{children:e.jsx(be.Content,{ref:r,className:w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a})}));kr.displayName=be.Content.displayName;const it=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(be.Item,{ref:s,className:w("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",t),...r}));it.displayName=be.Item.displayName;const Sn=i.forwardRef(({className:t,children:a,checked:r,...s},n)=>e.jsxs(be.CheckboxItem,{ref:n,className:w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(be.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),a]}));Sn.displayName=be.CheckboxItem.displayName;const kn=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(be.RadioItem,{ref:s,className:w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(be.ItemIndicator,{children:e.jsx(E.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));kn.displayName=be.RadioItem.displayName;const Cn=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(be.Label,{ref:s,className:w("px-2 py-1.5 text-sm font-semibold text-foreground",a&&"pl-8",t),...r}));Cn.displayName=be.Label.displayName;const Kt=i.forwardRef(({className:t,...a},r)=>e.jsx(be.Separator,{ref:r,className:w("-mx-1 my-1 h-px bg-border",t),...a}));Kt.displayName=be.Separator.displayName;const Tn=({className:t,...a})=>e.jsx("span",{className:w("ml-auto text-xs tracking-widest text-muted-foreground",t),...a});Tn.displayName="ContextMenuShortcut";const Zt=xe.Root,Qt=xe.Trigger,zf=xe.Group,Vf=xe.Portal,Wf=xe.Sub,Hf=xe.RadioGroup,En=i.forwardRef(({className:t,inset:a,children:r,...s},n)=>e.jsxs(xe.SubTrigger,{ref:n,className:w("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",t),...s,children:[r,e.jsx(E.ChevronRight,{className:"ml-auto h-4 w-4"})]}));En.displayName=xe.SubTrigger.displayName;const Pn=i.forwardRef(({className:t,...a},r)=>e.jsx(xe.SubContent,{ref:r,className:w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Pn.displayName=xe.SubContent.displayName;const Lt=i.forwardRef(({className:t,sideOffset:a=4,...r},s)=>e.jsx(xe.Portal,{children:e.jsx(xe.Content,{ref:s,sideOffset:a,className:w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r})}));Lt.displayName=xe.Content.displayName;const Cr=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(xe.Item,{ref:s,className:w("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",t),...r}));Cr.displayName=xe.Item.displayName;const Tt=i.forwardRef(({className:t,children:a,checked:r,...s},n)=>e.jsxs(xe.CheckboxItem,{ref:n,className:w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(xe.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),a]}));Tt.displayName=xe.CheckboxItem.displayName;const Dn=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(xe.RadioItem,{ref:s,className:w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(xe.ItemIndicator,{children:e.jsx(E.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));Dn.displayName=xe.RadioItem.displayName;const ea=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(xe.Label,{ref:s,className:w("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",t),...r}));ea.displayName=xe.Label.displayName;const ta=i.forwardRef(({className:t,...a},r)=>e.jsx(xe.Separator,{ref:r,className:w("-mx-1 my-1 h-px bg-muted",t),...a}));ta.displayName=xe.Separator.displayName;const Mn=({className:t,...a})=>e.jsx("span",{className:w("ml-auto text-xs tracking-widest opacity-60",t),...a});Mn.displayName="DropdownMenuShortcut";var qf=t=>t.type==="checkbox",Yt=t=>t instanceof Date,Tr=t=>t==null;const Rn=t=>typeof t=="object";var Mt=t=>!Tr(t)&&!Array.isArray(t)&&Rn(t)&&!Yt(t),Uf=t=>Mt(t)&&t.target?qf(t.target)?t.target.checked:t.target.value:t,Bf=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,Gf=(t,a)=>t.has(Bf(a)),Xf=t=>{const a=t.constructor&&t.constructor.prototype;return Mt(a)&&a.hasOwnProperty("isPrototypeOf")},Jf=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function An(t){let a;const r=Array.isArray(t),s=typeof FileList<"u"?t instanceof FileList:!1;if(t instanceof Date)a=new Date(t);else if(!(Jf&&(t instanceof Blob||s))&&(r||Mt(t)))if(a=r?[]:Object.create(Object.getPrototypeOf(t)),!r&&!Xf(t))a=t;else for(const n in t)t.hasOwnProperty(n)&&(a[n]=An(t[n]));else return t;return a}var $n=t=>/^\w*$/.test(t),ar=t=>t===void 0,Yf=t=>Array.isArray(t)?t.filter(Boolean):[],Fn=t=>Yf(t.replace(/["|']|\]/g,"").split(/\.|\[/)),Fe=(t,a,r)=>{if(!a||!Mt(t))return r;const s=($n(a)?[a]:Fn(a)).reduce((n,o)=>Tr(n)?n:n[o],t);return ar(s)||s===t?ar(t[a])?r:t[a]:s},Ua=t=>typeof t=="boolean",Ds=(t,a,r)=>{let s=-1;const n=$n(a)?[a]:Fn(a),o=n.length,l=o-1;for(;++s<o;){const c=n[s];let f=r;if(s!==l){const m=t[c];f=Mt(m)||Array.isArray(m)?m:isNaN(+n[s+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;t[c]=f,t=t[c]}};const Ms={BLUR:"blur",CHANGE:"change"},Rs={all:"all"},Er=C.createContext(null);Er.displayName="HookFormContext";const $a=()=>C.useContext(Er),Kf=t=>{const{children:a,...r}=t;return C.createElement(Er.Provider,{value:r},a)};var Zf=(t,a,r,s=!0)=>{const n={defaultValues:a._defaultValues};for(const o in t)Object.defineProperty(n,o,{get:()=>{const l=o;return a._proxyFormState[l]!==Rs.all&&(a._proxyFormState[l]=!s||Rs.all),r&&(r[l]=!0),t[l]}});return n};const Ln=typeof window<"u"?C.useLayoutEffect:C.useEffect;function Qf(t){const a=$a(),{control:r=a.control,disabled:s,name:n,exact:o}=t||{},[l,c]=C.useState(r._formState),f=C.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ln(()=>r._subscribe({name:n,formState:f.current,exact:o,callback:m=>{!s&&c({...r._formState,...m})}}),[n,s,o]),C.useEffect(()=>{f.current.isValid&&r._setValid(!0)},[r]),C.useMemo(()=>Zf(l,r,f.current,!1),[l,r])}var eh=t=>typeof t=="string",th=(t,a,r,s,n)=>eh(t)?Fe(r,t,n):Array.isArray(t)?t.map(o=>Fe(r,o)):r,As=t=>Tr(t)||!Rn(t);function In(t,a,r=new WeakSet){if(As(t)||As(a))return t===a;if(Yt(t)&&Yt(a))return t.getTime()===a.getTime();const s=Object.keys(t),n=Object.keys(a);if(s.length!==n.length)return!1;if(r.has(t)||r.has(a))return!0;r.add(t),r.add(a);for(const o of s){const l=t[o];if(!n.includes(o))return!1;if(o!=="ref"){const c=a[o];if(Yt(l)&&Yt(c)||Mt(l)&&Mt(c)||Array.isArray(l)&&Array.isArray(c)?!In(l,c,r):l!==c)return!1}}return!0}function ah(t){const a=$a(),{control:r=a.control,name:s,defaultValue:n,disabled:o,exact:l,compute:c}=t||{},f=C.useRef(n),m=C.useRef(c),p=C.useRef(void 0);m.current=c;const h=C.useMemo(()=>r._getWatch(s,f.current),[r,s]),[x,k]=C.useState(m.current?m.current(h):h);return Ln(()=>r._subscribe({name:s,formState:{values:!0},exact:l,callback:S=>{if(!o){const j=th(s,r._names,S.values||r._formValues,!1,f.current);if(m.current){const y=m.current(j);In(y,p.current)||(k(y),p.current=y)}else k(j)}}}),[r,o,s,l]),C.useEffect(()=>r._removeUnmounted()),x}function rh(t){const a=$a(),{name:r,disabled:s,control:n=a.control,shouldUnregister:o,defaultValue:l}=t,c=Gf(n._names.array,r),f=C.useMemo(()=>Fe(n._formValues,r,Fe(n._defaultValues,r,l)),[n,r,l]),m=ah({control:n,name:r,defaultValue:f,exact:!0}),p=Qf({control:n,name:r,exact:!0}),h=C.useRef(t),x=C.useRef(void 0),k=C.useRef(n.register(r,{...t.rules,value:m,...Ua(t.disabled)?{disabled:t.disabled}:{}}));h.current=t;const S=C.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Fe(p.errors,r)},isDirty:{enumerable:!0,get:()=>!!Fe(p.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!Fe(p.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!Fe(p.validatingFields,r)},error:{enumerable:!0,get:()=>Fe(p.errors,r)}}),[p,r]),j=C.useCallback(d=>k.current.onChange({target:{value:Uf(d),name:r},type:Ms.CHANGE}),[r]),y=C.useCallback(()=>k.current.onBlur({target:{value:Fe(n._formValues,r),name:r},type:Ms.BLUR}),[r,n._formValues]),b=C.useCallback(d=>{const g=Fe(n._fields,r);g&&d&&(g._f.ref={focus:()=>d.focus&&d.focus(),select:()=>d.select&&d.select(),setCustomValidity:v=>d.setCustomValidity(v),reportValidity:()=>d.reportValidity()})},[n._fields,r]),u=C.useMemo(()=>({name:r,value:m,...Ua(s)||p.disabled?{disabled:p.disabled||s}:{},onChange:j,onBlur:y,ref:b}),[r,s,p.disabled,j,y,b,m]);return C.useEffect(()=>{const d=n._options.shouldUnregister||o,g=x.current;g&&g!==r&&!c&&n.unregister(g),n.register(r,{...h.current.rules,...Ua(h.current.disabled)?{disabled:h.current.disabled}:{}});const v=(N,$)=>{const F=Fe(n._fields,N);F&&F._f&&(F._f.mount=$)};if(v(r,!0),d){const N=An(Fe(n._options.defaultValues,r,h.current.defaultValue));Ds(n._defaultValues,r,N),ar(Fe(n._formValues,r))&&Ds(n._formValues,r,N)}return!c&&n.register(r),x.current=r,()=>{(c?d&&!n._state.action:d)?n.unregister(r):v(r,!1)}},[r,n,c,o]),C.useEffect(()=>{n._setDisabledField({disabled:s,name:r})},[s,r,n]),C.useMemo(()=>({field:u,formState:p,fieldState:S}),[u,p,S])}const On=t=>t.render(rh(t)),sh=De.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ge=i.forwardRef(({className:t,...a},r)=>e.jsx(Is.Root,{ref:r,className:w(sh(),t),...a}));ge.displayName=Is.Root.displayName;const nh=Kf,_n=i.createContext({}),oh=({...t})=>e.jsx(_n.Provider,{value:{name:t.name},children:e.jsx(On,{...t})}),ha=()=>{const t=i.useContext(_n),a=i.useContext(zn),{getFieldState:r,formState:s}=$a(),n=r(t.name,s);if(!t)throw new Error("useFormField should be used within <FormField>");const{id:o}=a;return{id:o,name:t.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...n}},zn=i.createContext({}),Vn=i.forwardRef(({className:t,...a},r)=>{const s=i.useId();return e.jsx(zn.Provider,{value:{id:s},children:e.jsx("div",{ref:r,className:w("space-y-2",t),...a})})});Vn.displayName="FormItem";const Wn=i.forwardRef(({className:t,...a},r)=>{const{error:s,formItemId:n}=ha();return e.jsx(ge,{ref:r,className:w(s&&"text-destructive",t),htmlFor:n,...a})});Wn.displayName="FormLabel";const Hn=i.forwardRef(({...t},a)=>{const{error:r,formItemId:s,formDescriptionId:n,formMessageId:o}=ha();return e.jsx(Ra.Slot,{ref:a,id:s,"aria-describedby":r?`${n} ${o}`:`${n}`,"aria-invalid":!!r,...t})});Hn.displayName="FormControl";const qn=i.forwardRef(({className:t,...a},r)=>{const{formDescriptionId:s}=ha();return e.jsx("p",{ref:r,id:s,className:w("text-sm text-muted-foreground",t),...a})});qn.displayName="FormDescription";const Un=i.forwardRef(({className:t,children:a,...r},s)=>{const{error:n,formMessageId:o}=ha(),l=n?String(n?.message):a;return l?e.jsx("p",{ref:s,id:o,className:w("text-sm font-medium text-destructive",t),...r,children:l}):null});Un.displayName="FormMessage";const ih=Aa.Root,lh=Aa.Trigger,Bn=i.forwardRef(({className:t,align:a="center",sideOffset:r=4,...s},n)=>e.jsx(Aa.Content,{ref:n,align:a,sideOffset:r,className:w("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s}));Bn.displayName=Aa.Content.displayName;const Gn=i.forwardRef(({length:t=6,value:a="",onChange:r,onComplete:s,pattern:n="numeric",secure:o=!1,disabled:l=!1,className:c,error:f,size:m="md",separator:p,separatorElement:h=e.jsx("span",{className:"text-muted-foreground",children:"-"}),...x},k)=>{const[S,j]=i.useState(a.split("").slice(0,t)),y=i.useRef([]);i.useEffect(()=>{const F=a.split("").slice(0,t);j(F)},[a,t]);const u=(()=>{switch(n){case"numeric":return/^[0-9]$/;case"alpha":return/^[a-zA-Z]$/;case"alphanumeric":return/^[a-zA-Z0-9]$/;default:return/^.$/}})(),d=(F,M)=>{if(l)return;const T=M.slice(-1);if(T&&!u.test(T))return;const P=[...S];P[F]=T,j(P);const L=P.join("");r?.(L),T&&F<t-1&&y.current[F+1]?.focus(),P.every(A=>A!=="")&&P.length===t&&s?.(L)},g=(F,M)=>{if(!l){if(M.key==="Backspace"){M.preventDefault();const T=[...S];T[F]?(T[F]="",j(T),r?.(T.join(""))):F>0&&(T[F-1]="",j(T),r?.(T.join("")),y.current[F-1]?.focus())}if(M.key==="Delete"){M.preventDefault();const T=[...S];T[F]="",j(T),r?.(T.join(""))}M.key==="ArrowLeft"&&F>0&&(M.preventDefault(),y.current[F-1]?.focus()),M.key==="ArrowRight"&&F<t-1&&(M.preventDefault(),y.current[F+1]?.focus()),M.key==="Home"&&(M.preventDefault(),y.current[0]?.focus()),M.key==="End"&&(M.preventDefault(),y.current[t-1]?.focus())}},v=F=>{if(F.preventDefault(),l)return;const T=F.clipboardData.getData("text/plain").split("").filter(A=>u.test(A)).slice(0,t),P=[...S];T.forEach((A,V)=>{P[V]=A}),j(P),r?.(P.join(""));const L=P.findIndex(A=>!A);L!==-1?y.current[L]?.focus():y.current[t-1]?.focus(),P.every(A=>A!=="")&&P.length===t&&s?.(P.join(""))},N=F=>{F.target.select()},$={sm:"h-8 w-8 text-sm",md:"h-12 w-12 text-base",lg:"h-16 w-16 text-lg"}[m];return e.jsxs("div",{ref:k,className:w("flex flex-col gap-2",c),children:[e.jsx("div",{className:"flex items-center gap-2",children:Array.from({length:t}).map((F,M)=>e.jsxs(i.Fragment,{children:[e.jsx("input",{ref:T=>y.current[M]=T,type:o?"password":"text",inputMode:n==="numeric"?"numeric":"text",maxLength:1,value:S[M]||"",onChange:T=>d(M,T.target.value),onKeyDown:T=>g(M,T),onPaste:v,onFocus:N,disabled:l,className:w("flex items-center justify-center rounded-md border border-input bg-background text-center font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",$,f&&"border-destructive focus-visible:ring-destructive",S[M]&&"border-primary"),"aria-label":`Caractère ${M+1} sur ${t}`,...x}),p&&(M+1)%p===0&&M<t-1&&e.jsx("div",{className:"flex items-center justify-center",children:h})]},M))}),f&&e.jsx("p",{className:"text-sm text-destructive",role:"alert",children:f})]})});Gn.displayName="InputOTP";const fe=i.forwardRef(({className:t,type:a,...r},s)=>e.jsx("input",{type:a,className:w("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:s,...r}));fe.displayName="Input";const ut=Ce.Root,ch=Ce.Group,mt=Ce.Value,rt=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ce.Trigger,{ref:s,className:w("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...r,children:[a,e.jsx(Ce.Icon,{asChild:!0,children:e.jsx(E.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));rt.displayName=Ce.Trigger.displayName;const Pr=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.ScrollUpButton,{ref:r,className:w("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(E.ChevronUp,{className:"h-4 w-4"})}));Pr.displayName=Ce.ScrollUpButton.displayName;const Dr=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.ScrollDownButton,{ref:r,className:w("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(E.ChevronDown,{className:"h-4 w-4"})}));Dr.displayName=Ce.ScrollDownButton.displayName;const st=i.forwardRef(({className:t,children:a,position:r="popper",...s},n)=>e.jsx(Ce.Portal,{children:e.jsxs(Ce.Content,{ref:n,className:w("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,...s,children:[e.jsx(Pr,{}),e.jsx(Ce.Viewport,{className:w("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),e.jsx(Dr,{})]})}));st.displayName=Ce.Content.displayName;const Xn=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.Label,{ref:r,className:w("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...a}));Xn.displayName=Ce.Label.displayName;const Qe=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ce.Item,{ref:s,className:w("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Ce.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),e.jsx(Ce.ItemText,{children:a})]}));Qe.displayName=Ce.Item.displayName;const Jn=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.Separator,{ref:r,className:w("-mx-1 my-1 h-px bg-muted",t),...a}));Jn.displayName=Ce.Separator.displayName;function dh({languages:t,value:a,onChange:r,showFlags:s=!0,showLabels:n=!0,variant:o="default",isLoading:l=!1,className:c,placeholder:f="Select language",ariaLabel:m="Select language"}){const[p,h]=i.useState(!1),[x,k]=i.useState(!1),S=i.useRef(null),j=i.useRef(null);i.useEffect(()=>{k(!0)},[]);const y=t.find(v=>v.code===a),b=v=>{r?.(v),h(!1)},[u,d]=i.useState({top:0,left:0});if(i.useEffect(()=>{if(p&&S.current&&x){const v=S.current.getBoundingClientRect();d({top:v.bottom+8,left:v.left})}},[p,x]),o==="default")return e.jsxs(ut,{value:a,onValueChange:r,disabled:l,children:[e.jsx(rt,{className:w("w-[180px]",c),children:e.jsx(mt,{placeholder:f,children:y&&e.jsxs("div",{className:"flex items-center gap-2",children:[s&&y.flagEmoji&&e.jsx("span",{className:"text-lg",children:y.flagEmoji}),s&&y.flag&&!y.flagEmoji&&e.jsx("img",{src:y.flag,alt:y.label,className:"h-4 w-6 object-cover rounded"}),!s&&e.jsx(E.Globe,{className:"h-4 w-4 text-muted-foreground"}),n&&e.jsx("span",{children:y.label})]})})}),e.jsx(st,{children:t.map(v=>e.jsx(Qe,{value:v.code,children:e.jsxs("div",{className:"flex items-center gap-2",children:[s&&v.flagEmoji&&e.jsx("span",{className:"text-lg",children:v.flagEmoji}),s&&v.flag&&!v.flagEmoji&&e.jsx("img",{src:v.flag,alt:v.label,className:"h-4 w-6 object-cover rounded"}),n&&v.label]})},v.code))})]});if(o==="minimal"){const v=p&&x?e.jsx("div",{ref:j,className:"fixed z-[9999] min-w-[160px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg",style:{top:`${u.top}px`,left:`${u.left}px`},onMouseDown:N=>N.stopPropagation(),children:e.jsx("div",{className:"grid gap-1",children:t.map(N=>e.jsxs("button",{onMouseDown:$=>{$.preventDefault(),$.stopPropagation(),b(N.code)},type:"button",className:w("flex items-center gap-2 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer",a===N.code&&"bg-accent"),children:[N.flagEmoji&&e.jsx("span",{className:"text-lg",children:N.flagEmoji}),N.flag&&!N.flagEmoji&&e.jsx("img",{src:N.flag,alt:N.label,className:"h-4 w-6 object-cover rounded"}),e.jsx("span",{className:"flex-1 text-left",children:N.label}),a===N.code&&e.jsx(E.Check,{className:"h-4 w-4 shrink-0"})]},N.code))})}):null;return e.jsxs(e.Fragment,{children:[e.jsxs("button",{ref:S,onClick:N=>{N.preventDefault(),N.stopPropagation(),h(!p)},className:w("flex h-9 w-9 items-center justify-center rounded-md border border-input bg-transparent hover:bg-accent hover:text-accent-foreground transition-colors",c),title:"Changer de langue",type:"button",disabled:l,children:[y?.flagEmoji?e.jsx("span",{className:"text-lg",children:y.flagEmoji}):e.jsx(E.Globe,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:m})]}),x&&typeof document<"u"&&v&&Ya.createPortal(e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-[9998]",onMouseDown:N=>{N.preventDefault(),h(!1)}}),v]}),document.body)]})}const g=p&&x?e.jsx("div",{ref:j,className:"fixed z-[9999] min-w-[180px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg",style:{top:`${u.top}px`,left:`${u.left}px`},onMouseDown:v=>v.stopPropagation(),children:e.jsx("div",{className:"grid gap-1",children:t.map(v=>e.jsxs("button",{onMouseDown:N=>{N.preventDefault(),N.stopPropagation(),b(v.code)},type:"button",className:w("flex items-center gap-2 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer",a===v.code&&"bg-accent"),children:[s&&v.flagEmoji&&e.jsx("span",{className:"text-lg",children:v.flagEmoji}),s&&v.flag&&!v.flagEmoji&&e.jsx("img",{src:v.flag,alt:v.label,className:"h-4 w-6 object-cover rounded"}),e.jsx("span",{className:"flex-1 text-left",children:v.label}),a===v.code&&e.jsx(E.Check,{className:"h-4 w-4 shrink-0"})]},v.code))})}):null;return e.jsxs(e.Fragment,{children:[e.jsxs("button",{ref:S,onClick:v=>{v.preventDefault(),v.stopPropagation(),l||h(!p)},className:w("inline-flex items-center gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors",l&&"opacity-50 cursor-not-allowed",c),disabled:l,type:"button","aria-label":m,children:[s&&y?.flagEmoji&&e.jsx("span",{className:"text-lg",children:y.flagEmoji}),s&&y?.flag&&!y?.flagEmoji&&e.jsx("img",{src:y.flag,alt:y.label,className:"h-4 w-6 object-cover rounded"}),!s&&e.jsx(E.Globe,{className:"h-4 w-4"}),n&&e.jsx("span",{children:y?.label||"Langue"}),e.jsx(E.ChevronDown,{className:"h-4 w-4"})]}),x&&typeof document<"u"&&g&&Ya.createPortal(e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-[9998]",onMouseDown:v=>{v.preventDefault(),h(!1)}}),g]}),document.body)]})}const uh=ue.Menu,mh=ue.Group,fh=ue.Portal,hh=ue.Sub,ph=ue.RadioGroup,Yn=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.Root,{ref:r,className:w("flex h-10 items-center space-x-1 rounded-md border bg-background p-1",t),...a}));Yn.displayName=ue.Root.displayName;const Kn=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.Trigger,{ref:r,className:w("flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t),...a}));Kn.displayName=ue.Trigger.displayName;const Zn=i.forwardRef(({className:t,inset:a,children:r,...s},n)=>e.jsxs(ue.SubTrigger,{ref:n,className:w("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a&&"pl-8",t),...s,children:[r,e.jsx(E.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Zn.displayName=ue.SubTrigger.displayName;const Qn=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.SubContent,{ref:r,className:w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Qn.displayName=ue.SubContent.displayName;const eo=i.forwardRef(({className:t,align:a="start",alignOffset:r=-4,sideOffset:s=8,...n},o)=>e.jsx(ue.Portal,{children:e.jsx(ue.Content,{ref:o,align:a,alignOffset:r,sideOffset:s,className:w("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n})}));eo.displayName=ue.Content.displayName;const to=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(ue.Item,{ref:s,className:w("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",t),...r}));to.displayName=ue.Item.displayName;const ao=i.forwardRef(({className:t,children:a,checked:r,...s},n)=>e.jsxs(ue.CheckboxItem,{ref:n,className:w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(ue.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),a]}));ao.displayName=ue.CheckboxItem.displayName;const ro=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(ue.RadioItem,{ref:s,className:w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(ue.ItemIndicator,{children:e.jsx(E.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));ro.displayName=ue.RadioItem.displayName;const so=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(ue.Label,{ref:s,className:w("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",t),...r}));so.displayName=ue.Label.displayName;const no=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.Separator,{ref:r,className:w("-mx-1 my-1 h-px bg-muted",t),...a}));no.displayName=ue.Separator.displayName;const oo=({className:t,...a})=>e.jsx("span",{className:w("ml-auto text-xs tracking-widest text-muted-foreground",t),...a});oo.displayName="MenubarShortcut";const io=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ie.Root,{ref:s,className:w("relative z-10 flex max-w-max flex-1 items-center justify-center",t),...r,children:[a,e.jsx(Mr,{})]}));io.displayName=Ie.Root.displayName;const lo=i.forwardRef(({className:t,...a},r)=>e.jsx(Ie.List,{ref:r,className:w("group flex flex-1 list-none items-center justify-center space-x-1",t),...a}));lo.displayName=Ie.List.displayName;const gh=Ie.Item,co=De.cva("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),uo=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ie.Trigger,{ref:s,className:w(co(),"group",t),...r,children:[a," ",e.jsx(E.ChevronDown,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));uo.displayName=Ie.Trigger.displayName;const mo=i.forwardRef(({className:t,...a},r)=>e.jsx(Ie.Content,{ref:r,className:w("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",t),...a}));mo.displayName=Ie.Content.displayName;const bh=Ie.Link,Mr=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{className:w("absolute left-0 top-full flex justify-center"),children:e.jsx(Ie.Viewport,{className:w("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",t),ref:r,...a})}));Mr.displayName=Ie.Viewport.displayName;const fo=i.forwardRef(({className:t,...a},r)=>e.jsx(Ie.Indicator,{ref:r,className:w("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",t),...a,children:e.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));fo.displayName=Ie.Indicator.displayName;const xt=ra.Root,vt=ra.Trigger,dt=i.forwardRef(({className:t,align:a="center",sideOffset:r=4,...s},n)=>e.jsx(ra.Portal,{children:e.jsx(ra.Content,{ref:n,align:a,sideOffset:r,className:w("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s})}));dt.displayName=ra.Content.displayName;const ho=i.forwardRef(({className:t,value:a,...r},s)=>e.jsx(Za.Root,{ref:s,className:w("relative h-4 w-full overflow-hidden rounded-full bg-secondary",t),...r,children:e.jsx(Za.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(a||0)}%)`}})}));ho.displayName=Za.Root.displayName;const po=i.forwardRef(({className:t,...a},r)=>e.jsx(sa.Root,{className:w("grid gap-2",t),...a,ref:r}));po.displayName=sa.Root.displayName;const go=i.forwardRef(({className:t,...a},r)=>e.jsx(sa.Item,{ref:r,className:w("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:e.jsx(sa.Indicator,{className:"flex items-center justify-center",children:e.jsx(E.Circle,{className:"h-2.5 w-2.5 fill-current text-current"})})}));go.displayName=sa.Item.displayName;const It=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Et.Root,{ref:s,className:w("relative overflow-hidden",t),...r,children:[e.jsx(Et.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),e.jsx(Rr,{}),e.jsx(Et.Corner,{})]}));It.displayName=Et.Root.displayName;const Rr=i.forwardRef(({className:t,orientation:a="vertical",...r},s)=>e.jsx(Et.ScrollAreaScrollbar,{ref:s,orientation:a,className:w("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...r,children:e.jsx(Et.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));Rr.displayName=Et.ScrollAreaScrollbar.displayName;const At=i.forwardRef(({className:t,orientation:a="horizontal",decorative:r=!0,...s},n)=>e.jsx(Os.Root,{ref:n,decorative:r,orientation:a,className:w("shrink-0 bg-border",a==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...s}));At.displayName=Os.Root.displayName;const Ar=he.Root,$r=he.Trigger,xh=he.Close,bo=he.Portal,Fr=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Overlay,{className:w("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a,ref:r}));Fr.displayName=he.Overlay.displayName;const vh=De.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Fa=i.forwardRef(({side:t="right",className:a,children:r,...s},n)=>e.jsxs(bo,{children:[e.jsx(Fr,{}),e.jsxs(he.Content,{ref:n,className:w(vh({side:t}),a),...s,children:[r,e.jsxs(he.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(E.X,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Fa.displayName=he.Content.displayName;const Lr=({className:t,...a})=>e.jsx("div",{className:w("flex flex-col space-y-2 text-center sm:text-left",t),...a});Lr.displayName="SheetHeader";const xo=({className:t,...a})=>e.jsx("div",{className:w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});xo.displayName="SheetFooter";const Ir=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Title,{ref:r,className:w("text-lg font-semibold text-foreground",t),...a}));Ir.displayName=he.Title.displayName;const Or=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Description,{ref:r,className:w("text-sm text-muted-foreground",t),...a}));Or.displayName=he.Description.displayName;function yh({className:t,...a}){return e.jsx("div",{className:w("animate-pulse rounded-md bg-muted",t),...a})}const vo=i.forwardRef(({className:t,...a},r)=>e.jsxs(Jt.Root,{ref:r,className:w("relative flex w-full touch-none select-none items-center",t),...a,children:[e.jsx(Jt.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:e.jsx(Jt.Range,{className:"absolute h-full bg-primary"})}),e.jsx(Jt.Thumb,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));vo.displayName=Jt.Root.displayName;const _r=i.forwardRef(({className:t,...a},r)=>e.jsx(Qa.Root,{className:w("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...a,ref:r,children:e.jsx(Qa.Thumb,{className:w("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));_r.displayName=Qa.Root.displayName;const yo=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:r,className:w("w-full caption-bottom text-sm",t),...a})}));yo.displayName="Table";const wo=i.forwardRef(({className:t,...a},r)=>e.jsx("thead",{ref:r,className:w("[&_tr]:border-b",t),...a}));wo.displayName="TableHeader";const jo=i.forwardRef(({className:t,...a},r)=>e.jsx("tbody",{ref:r,className:w("[&_tr:last-child]:border-0",t),...a}));jo.displayName="TableBody";const No=i.forwardRef(({className:t,...a},r)=>e.jsx("tfoot",{ref:r,className:w("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...a}));No.displayName="TableFooter";const So=i.forwardRef(({className:t,...a},r)=>e.jsx("tr",{ref:r,className:w("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...a}));So.displayName="TableRow";const ko=i.forwardRef(({className:t,...a},r)=>e.jsx("th",{ref:r,className:w("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",t),...a}));ko.displayName="TableHead";const Co=i.forwardRef(({className:t,...a},r)=>e.jsx("td",{ref:r,className:w("p-4 align-middle [&:has([role=checkbox])]:pr-0",t),...a}));Co.displayName="TableCell";const To=i.forwardRef(({className:t,...a},r)=>e.jsx("caption",{ref:r,className:w("mt-4 text-sm text-muted-foreground",t),...a}));To.displayName="TableCaption";const zr=Rt.Root,La=i.forwardRef(({className:t,...a},r)=>e.jsx(Rt.List,{ref:r,className:w("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",t),...a}));La.displayName=Rt.List.displayName;const da=i.forwardRef(({className:t,...a},r)=>e.jsx(Rt.Trigger,{ref:r,className:w("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",t),...a}));da.displayName=Rt.Trigger.displayName;const ua=i.forwardRef(({className:t,...a},r)=>e.jsx(Rt.Content,{ref:r,className:w("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...a}));ua.displayName=Rt.Content.displayName;const pa=i.forwardRef(({className:t,...a},r)=>e.jsx("textarea",{className:w("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:r,...a}));pa.displayName="Textarea";const Eo=i.createContext(void 0);function Po({children:t,themes:a,defaultTheme:r="default",s3Config:s,onThemeChange:n,enableDarkMode:o=!1}){const[l,c]=i.useState(r),[f,m]=i.useState(!0),[p,h]=i.useState(new Set),[x,k]=i.useState(!1),[S,j]=i.useState(!1),y=i.useRef(new Map),b=i.useRef(new Set);i.useEffect(()=>{b.current=p},[p]);const u=i.useCallback(async T=>{if(!s)throw new Error("S3 configuration not provided");const{baseUrl:P,prefix:L="",extension:A="css",headers:V={},timeout:X=1e4}=s,me=P.replace(/\/+$/,""),se=L.replace(/^\/+/,"").replace(/\/+$/,""),Y=`v=${Date.now()}`;let H;se?H=`${me}/${se}/${T}.${A}?${Y}`:H=`${me}/${T}.${A}?${Y}`,console.log(`[ThemeProvider] Loading theme "${T}" from URL: ${H}`);try{const _=new AbortController,q=setTimeout(()=>_.abort(),X),R=await fetch(H,{signal:_.signal,headers:{Accept:A==="json"?"application/json":"text/css","Cache-Control":"no-cache, no-store, must-revalidate",Pragma:"no-cache",...V}});if(clearTimeout(q),!R.ok){const Z=`HTTP ${R.status}: ${R.statusText}`;throw console.error(`[ThemeProvider] Failed to load theme "${T}" from ${H}:`,Z),new Error(Z)}if(console.log(`[ThemeProvider] ✅ Successfully loaded theme "${T}" from ${H}`),A==="json"){let Z;try{const G=await R.text();if(console.log(`[ThemeProvider] Raw JSON response for theme "${T}" (${G.length} chars)`),!G||G.trim().length===0)throw new Error(`Empty JSON response for theme "${T}"`);Z=JSON.parse(G),console.log(`[ThemeProvider] Parsed JSON for theme "${T}":`,Object.keys(Z))}catch(G){throw console.error(`[ThemeProvider] Failed to parse JSON for theme "${T}":`,G),new Error(`Invalid JSON format for theme "${T}": ${G instanceof Error?G.message:"Unknown error"}`)}try{const G=wh(T,Z);if(!G.includes(`[data-theme="${T}"]`))throw console.error(`[ThemeProvider] ❌ Generated CSS missing [data-theme="${T}"] selector for theme "${T}"`),console.error("[ThemeProvider] Generated CSS:",G.substring(0,500)),new Error(`Generated CSS is missing the required selector [data-theme="${T}"]`);return console.log(`[ThemeProvider] ✅ Converted JSON to CSS for theme "${T}" (${G.length} chars)`),G}catch(G){throw console.error(`[ThemeProvider] Failed to convert JSON to CSS for theme "${T}":`,G),G}}const te=await R.text();if(!te||te.trim().length===0)throw new Error(`Empty CSS response for theme "${T}"`);return!te.includes(`[data-theme="${T}"]`)&&!te.includes(":root")&&!te.includes("html")?(console.warn(`[ThemeProvider] Theme CSS might be missing [data-theme="${T}"] selector`),console.warn("[ThemeProvider] CSS content preview:",te.substring(0,200))):console.log(`[ThemeProvider] ✅ CSS file loaded for theme "${T}" (${te.length} chars)`),te}catch(_){throw console.error(`[ThemeProvider] Error loading theme ${T}:`,_),_}},[s]);i.useCallback(T=>{const P=y.current.get(T);P&&(P.parentNode&&P.parentNode.removeChild(P),y.current.delete(T))},[]);const d=i.useCallback((T,P)=>{if(typeof document>"u")return;!P.includes(`[data-theme="${T}"]`)&&!P.includes(":root")&&console.warn(`[ThemeProvider] CSS might be missing [data-theme="${T}"] selector:`,P.substring(0,200)),document.querySelectorAll("style[data-theme-styles]").forEach(X=>X.remove()),y.current.clear();const A=document.createElement("style");A.setAttribute("data-theme-id",T),A.setAttribute("data-theme-styles","active"),A.textContent=P,document.head.appendChild(A),y.current.set(T,A),document.querySelector(`style[data-theme-id="${T}"]`)?console.log(`[ThemeProvider] ✅ CSS injected for theme "${T}" (${P.length} chars)`):console.error(`[ThemeProvider] ❌ Failed to inject CSS for theme "${T}"`),A.offsetHeight},[]),g=i.useCallback(T=>{if(typeof document>"u")return;const P=document.documentElement;P.setAttribute("data-theme",T);const L=P.getAttribute("data-theme");L!==T?console.warn(`[ThemeProvider] Failed to apply theme attribute. Expected: ${T}, Got: ${L}`):console.log(`[ThemeProvider] ✅ Theme attribute applied: data-theme="${T}"`);try{localStorage.setItem("waka-theme",T)}catch(A){console.warn("[ThemeProvider] Could not save theme to localStorage:",A)}},[]),v=i.useCallback(async T=>{if(!b.current.has(T))try{if(s){const P=await u(T);d(T,P),h(L=>new Set(L).add(T))}else h(P=>new Set(P).add(T))}catch(P){throw console.error(`[ThemeProvider] Failed to preload theme ${T}:`,P),P}},[s,u,d]),N=i.useCallback(async T=>{m(!0);try{if(s){const P=await u(T);d(T,P),h(L=>new Set(L).add(T)),await new Promise(L=>requestAnimationFrame(L))}g(T),c(T),n?.(T)}catch(P){throw console.error(`[ThemeProvider] Failed to change theme to ${T}:`,P),P}finally{m(!1)}},[s,u,d,g,n]),$=i.useCallback(T=>p.has(T),[p]);i.useEffect(()=>{if(x)return;(async()=>{m(!0);try{let P=r;if(typeof window<"u"){const L=localStorage.getItem("waka-theme");L&&a.some(A=>A.id===L)&&(P=L)}if(s){const L=await u(P);d(P,L),h(new Set([P])),await new Promise(A=>requestAnimationFrame(A))}else h(new Set([P]));g(P),c(P)}catch(P){console.error("[ThemeProvider] Error initializing:",P),g(r),c(r),h(new Set([r]))}finally{m(!1),k(!0)}})()},[x,r,a,s,u,d,g]);const F=i.useCallback(()=>{o&&j(T=>{const P=!T,L=document.documentElement;P?L.classList.add("dark"):L.classList.remove("dark");try{localStorage.setItem("waka-dark-mode",P?"dark":"light")}catch(A){console.warn("[ThemeProvider] Could not save dark mode to localStorage:",A)}return P})},[o]);i.useEffect(()=>{if(!o||typeof window>"u")return;let T=!1;try{const V=localStorage.getItem("waka-dark-mode");V!==null?T=V==="dark":(T=window.matchMedia("(prefers-color-scheme: dark)").matches,localStorage.setItem("waka-dark-mode",T?"dark":"light"))}catch(V){console.warn("[ThemeProvider] Could not read dark mode from localStorage:",V)}j(T);const P=document.documentElement;T?P.classList.add("dark"):P.classList.remove("dark");const L=window.matchMedia("(prefers-color-scheme: dark)"),A=V=>{try{localStorage.getItem("waka-dark-mode")||(j(V.matches),V.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),localStorage.setItem("waka-dark-mode",V.matches?"dark":"light"))}catch{}};return L.addEventListener("change",A),()=>{L.removeEventListener("change",A)}},[]),i.useEffect(()=>()=>{y.current.forEach(T=>{T.parentNode&&T.parentNode.removeChild(T)}),y.current.clear()},[]);const M={currentTheme:l,themes:a,changeTheme:N,isLoading:f,loadedThemes:p,preloadTheme:v,isThemeLoaded:$,isDarkMode:S,toggleDarkMode:F};return e.jsx(Eo.Provider,{value:M,children:t})}function wh(t,a){if(!a||typeof a!="object")throw console.error(`[ThemeProvider] Invalid JSON data for theme "${t}":`,a),new Error(`Invalid JSON data for theme "${t}"`);let r={};if(a.cssVars||a["css-vars"])r=a.cssVars||a["css-vars"],console.log(`[ThemeProvider] Using cssVars/css-vars format for theme "${t}"`);else if(a.variables)r=a.variables,console.log(`[ThemeProvider] Using variables format for theme "${t}"`);else if(typeof a=="object"&&a!==null){const o=["label","description","author","previewColor","version","createdAt","changelog","id"];r=Object.fromEntries(Object.entries(a).filter(([l])=>!o.includes(l))),console.log(`[ThemeProvider] Using direct object format for theme "${t}"`)}if(!r||Object.keys(r).length===0)throw console.error(`[ThemeProvider] No CSS variables found in JSON for theme "${t}":`,a),new Error(`No CSS variables found in JSON for theme "${t}"`);console.log(`[ThemeProvider] Found ${Object.keys(r).length} CSS variables for theme "${t}"`);const s=Object.entries(r).map(([o,l])=>{const c=o.startsWith("--")?o:`--${o}`,f=String(l);return` ${c}: ${f};`}).join(`
11
- `);if(s.trim().length===0)throw console.error(`[ThemeProvider] No CSS variables generated for theme "${t}"`),new Error(`No CSS variables found in JSON for theme "${t}"`);const n=`[data-theme="${t}"] {
12
- ${s}
13
- }`;if(!n.includes(`[data-theme="${t}"]`))throw console.error(`[ThemeProvider] Generated CSS is missing the selector for theme "${t}"`),console.error("[ThemeProvider] Generated CSS:",n),new Error(`Generated CSS is missing the required selector [data-theme="${t}"]`);return n.length<50&&console.warn(`[ThemeProvider] Generated CSS seems too short for theme "${t}":`,n),console.log(`[ThemeProvider] ✅ Generated valid CSS for theme "${t}" with ${Object.keys(r).length} variables`),n}function ga(){const t=i.useContext(Eo);if(!t)throw new Error("useTheme must be used within a ThemeProvider");return t}const Do=i.forwardRef(({className:t,variant:a="default",ariaLabel:r="Select theme"},s)=>{const{currentTheme:n,changeTheme:o,themes:l,isLoading:c}=ga(),[f,m]=i.useState(!1),[p,h]=i.useState(!1),x=i.useRef(null),k=i.useRef(null);i.useEffect(()=>{h(!0)},[]);const S=async(b,u)=>{u&&(u.preventDefault(),u.stopPropagation()),await o(b),a==="compact"&&setTimeout(()=>m(!1),100)},[j,y]=i.useState({top:0,right:0});if(i.useEffect(()=>{if(f&&x.current&&p){const b=x.current.getBoundingClientRect();y({top:b.bottom+8,right:window.innerWidth-b.right})}},[f,p]),a==="compact"){const b=f&&p?e.jsxs("div",{ref:k,className:"fixed z-[9999] min-w-[220px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg",style:{top:`${j.top}px`,right:`${j.right}px`},onMouseDown:u=>{u.stopPropagation()},children:[e.jsx("div",{className:"px-2 py-1.5 border-b border-border mb-2",children:e.jsxs("div",{className:"text-xs font-medium text-muted-foreground flex items-center justify-between",children:[e.jsx("span",{children:"Thèmes"}),c&&e.jsx(E.Loader2,{className:"h-3 w-3 animate-spin"})]})}),c&&l.length===0?e.jsxs("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:[e.jsx(E.Loader2,{className:"h-4 w-4 mr-2 animate-spin"}),"Chargement..."]}):e.jsxs("div",{className:"grid gap-1",children:[l.map(u=>e.jsxs("button",{onMouseDown:d=>{d.preventDefault(),d.stopPropagation(),S(u.id,d)},type:"button",className:w("flex items-center gap-3 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer",n===u.id&&"bg-accent"),children:[u.previewColor&&e.jsx("div",{className:"h-4 w-4 rounded border border-border shrink-0",style:{backgroundColor:u.previewColor}}),e.jsx("span",{className:"flex-1 text-left",children:u.label}),n===u.id&&e.jsx(E.Check,{className:"h-4 w-4 shrink-0"})]},u.id)),l.length===0&&!c&&e.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Aucun thème disponible"})]}),e.jsx("div",{className:"px-2 py-1.5 border-t border-border mt-2",children:e.jsxs("div",{className:"text-xs text-muted-foreground",children:[l.length," thème",l.length>1?"s":""," disponible",l.length>1?"s":""]})})]}):null;return e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:s,className:w("relative",t),children:e.jsxs("button",{ref:x,onMouseDown:u=>{u.preventDefault(),u.stopPropagation()},onClick:u=>{u.preventDefault(),u.stopPropagation(),m(!f)},className:"flex h-9 w-9 items-center justify-center rounded-md border border-input bg-transparent hover:bg-accent hover:text-accent-foreground relative",title:"Changer de thème",type:"button",children:[e.jsx(E.Palette,{className:"h-4 w-4"}),c&&e.jsx(E.Loader2,{className:"h-3 w-3 absolute top-1 right-1 animate-spin text-primary"}),e.jsx("span",{className:"sr-only",children:r})]})}),p&&typeof document<"u"&&b&&Ya.createPortal(e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-[9998]",onMouseDown:u=>{u.preventDefault(),m(!1)}}),b]}),document.body)]})}if(a==="select"){const b=l.find(u=>u.id===n);return e.jsx("div",{ref:s,className:w("w-full",t),children:e.jsxs(ut,{value:n,onValueChange:u=>o(u),disabled:c||l.length===0,children:[e.jsx(rt,{className:"w-full","aria-label":r,children:e.jsx(mt,{children:c&&l.length===0?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(E.Loader2,{className:"h-4 w-4 animate-spin"}),e.jsx("span",{children:"Chargement..."})]}):b?e.jsxs("span",{className:"flex items-center gap-3",children:[b.previewColor&&e.jsx("div",{className:"h-4 w-4 rounded border border-border shrink-0",style:{backgroundColor:b.previewColor}}),e.jsx("span",{className:"truncate",children:b.label})]}):e.jsx("span",{className:"text-muted-foreground",children:"Sélectionner un thème"})})}),e.jsxs(st,{children:[l.map(u=>e.jsx(Qe,{value:u.id,className:"cursor-pointer",children:e.jsxs("div",{className:"flex items-center gap-3 w-full",children:[u.previewColor&&e.jsx("div",{className:"h-4 w-4 rounded border border-border shrink-0",style:{backgroundColor:u.previewColor}}),e.jsx("span",{className:"flex-1 text-left truncate",children:u.label})]})},u.id)),l.length===0&&!c&&e.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Aucun thème disponible"})]})]})})}return e.jsx("div",{ref:s,className:w("grid gap-4",t),children:c&&l.length===0?e.jsxs("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:[e.jsx(E.Loader2,{className:"h-5 w-5 mr-2 animate-spin"}),"Chargement des thèmes..."]}):e.jsxs(e.Fragment,{children:[l.map(b=>e.jsxs("button",{onClick:u=>S(b.id,u),type:"button",className:w("relative flex flex-col items-start gap-2 rounded-lg border-2 p-4 text-left transition-all hover:border-primary",n===b.id?"border-primary bg-primary/5":"border-muted"),children:[e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"font-semibold",children:b.label}),b.description&&e.jsx("span",{className:"text-sm text-muted-foreground",children:b.description})]}),n===b.id&&e.jsx(E.Check,{className:"h-5 w-5 text-primary shrink-0"})]}),b.previewColor&&e.jsx("div",{className:"flex gap-2 w-full",children:e.jsx("div",{className:"h-8 w-full rounded border",style:{backgroundColor:b.previewColor}})})]},b.id)),l.length===0&&!c&&e.jsx("div",{className:"py-12 text-center text-sm text-muted-foreground",children:"Aucun thème disponible"})]})})});Do.displayName="ThemeSelector";const Mo=qe.Provider,Vr=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Viewport,{ref:r,className:w("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...a}));Vr.displayName=qe.Viewport.displayName;const jh=De.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Wr=i.forwardRef(({className:t,variant:a,...r},s)=>e.jsx(qe.Root,{ref:s,className:w(jh({variant:a}),t),...r}));Wr.displayName=qe.Root.displayName;const Ro=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Action,{ref:r,className:w("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...a}));Ro.displayName=qe.Action.displayName;const Hr=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Close,{ref:r,className:w("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...a,children:e.jsx(E.X,{className:"h-4 w-4"})}));Hr.displayName=qe.Close.displayName;const qr=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Title,{ref:r,className:w("text-sm font-semibold",t),...a}));qr.displayName=qe.Title.displayName;const Ur=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Description,{ref:r,className:w("text-sm opacity-90",t),...a}));Ur.displayName=qe.Description.displayName;const Nh=1,Sh=1e6;let Ba=0;function kh(){return Ba=(Ba+1)%Number.MAX_SAFE_INTEGER,Ba.toString()}const Ga=new Map,$s=t=>{if(Ga.has(t))return;const a=setTimeout(()=>{Ga.delete(t),aa({type:"REMOVE_TOAST",toastId:t})},Sh);Ga.set(t,a)},Ao=(t,a)=>{switch(a.type){case"ADD_TOAST":return{...t,toasts:[a.toast,...t.toasts].slice(0,Nh)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(r=>r.id===a.toast.id?{...r,...a.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=a;return r?$s(r):t.toasts.forEach(s=>{$s(s.id)}),{...t,toasts:t.toasts.map(s=>s.id===r||r===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return a.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(r=>r.id!==a.toastId)}}},Ca=[];let Ta={toasts:[]};function aa(t){Ta=Ao(Ta,t),Ca.forEach(a=>{a(Ta)})}function $o({...t}){const a=kh(),r=n=>aa({type:"UPDATE_TOAST",toast:{...n,id:a}}),s=()=>aa({type:"DISMISS_TOAST",toastId:a});return aa({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:n=>{n||s()}}}),{id:a,dismiss:s,update:r}}function Br(){const[t,a]=i.useState(Ta);return i.useEffect(()=>(Ca.push(a),()=>{const r=Ca.indexOf(a);r>-1&&Ca.splice(r,1)}),[t]),{...t,toast:$o,dismiss:r=>aa({type:"DISMISS_TOAST",toastId:r})}}function Ch(){const{toasts:t}=Br();return e.jsxs(Mo,{children:[t.map(function({id:a,title:r,description:s,action:n,...o}){return e.jsxs(Wr,{...o,children:[e.jsxs("div",{className:"grid gap-1",children:[r&&e.jsx(qr,{children:r}),s&&e.jsx(Ur,{children:s})]}),n,e.jsx(Hr,{})]},a)}),e.jsx(Vr,{})]})}const Fo=De.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),Lo=i.forwardRef(({className:t,variant:a,size:r,...s},n)=>e.jsx(_s.Root,{ref:n,className:w(Fo({variant:a,size:r,className:t})),...s}));Lo.displayName=_s.Root.displayName;const rr=fa.Provider,sr=fa.Root,nr=fa.Trigger,Da=i.forwardRef(({className:t,sideOffset:a=4,...r},s)=>e.jsx(fa.Content,{ref:s,sideOffset:a,className:w("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r}));Da.displayName=fa.Content.displayName;const Io=De.cva("",{variants:{variant:{default:"text-foreground",muted:"text-muted-foreground",destructive:"text-destructive",success:"text-green-600 dark:text-green-400",warning:"text-amber-600 dark:text-amber-400",link:"text-primary underline-offset-4 hover:underline"},size:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}},defaultVariants:{variant:"default",size:"base",weight:"normal",align:"left"}}),Oo=i.forwardRef(({className:t,variant:a,size:r,weight:s,align:n,asChild:o=!1,truncate:l=!1,...c},f)=>{const m=o?Ra.Slot:"p";return e.jsx(m,{className:w(Io({variant:a,size:r,weight:s,align:n}),l&&"truncate",t),ref:f,...c})});Oo.displayName="Text";const _o=De.cva("font-bold tracking-tight",{variants:{level:{h1:"text-4xl lg:text-5xl",h2:"text-3xl lg:text-4xl",h3:"text-2xl lg:text-3xl",h4:"text-xl lg:text-2xl",h5:"text-lg lg:text-xl",h6:"text-base lg:text-lg"},variant:{default:"text-foreground",gradient:"bg-gradient-to-r from-primary to-primary/60 bg-clip-text text-transparent",muted:"text-muted-foreground"}},defaultVariants:{level:"h2",variant:"default"}}),zo=i.forwardRef(({className:t,level:a="h2",variant:r,asChild:s=!1,...n},o)=>{const l=s?Ra.Slot:a;return e.jsx(l,{className:w(_o({level:a,variant:r}),t),ref:o,...n})});zo.displayName="Heading";const Vo=De.cva("mt-6 border-l-4 pl-6 italic",{variants:{variant:{default:"border-border text-muted-foreground",primary:"border-primary text-foreground",success:"border-green-500 text-green-900 dark:text-green-100",warning:"border-amber-500 text-amber-900 dark:text-amber-100",destructive:"border-destructive text-destructive"}},defaultVariants:{variant:"default"}}),Wo=i.forwardRef(({className:t,variant:a,author:r,cite:s,children:n,...o},l)=>e.jsxs("figure",{className:"my-6",children:[e.jsx("blockquote",{className:w(Vo({variant:a}),t),cite:s,ref:l,...o,children:n}),r&&e.jsxs("figcaption",{className:"mt-2 text-sm text-muted-foreground",children:["— ",r]})]}));Wo.displayName="Blockquote";De.cva("relative rounded font-mono",{variants:{variant:{inline:"bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm",block:"block bg-muted overflow-x-auto"},size:{sm:"text-xs sm:text-sm",base:"text-sm sm:text-base",lg:"text-base sm:text-lg"}},defaultVariants:{variant:"inline",size:"base"}});const Ho=De.cva("inline-flex items-center justify-center rounded border border-border bg-muted px-2 py-1 font-mono text-xs font-medium text-muted-foreground shadow-sm",{variants:{size:{sm:"h-5 min-w-[1.25rem] text-[0.625rem]",default:"h-6 min-w-[1.5rem] text-xs",lg:"h-7 min-w-[1.75rem] text-sm"}},defaultVariants:{size:"default"}}),qo=i.forwardRef(({className:t,size:a,...r},s)=>e.jsx("kbd",{className:w(Ho({size:a}),t),ref:s,...r}));qo.displayName="Kbd";const Th=De.cva("flex items-center",{variants:{variant:{default:"gap-2 p-3 rounded-lg border bg-card shadow-sm",minimal:"gap-2",pills:"gap-2 p-2 rounded-full border bg-muted/30",inline:"gap-1.5 text-sm",compact:"gap-1.5 p-2 rounded-md bg-muted/50"}},defaultVariants:{variant:"default"}}),Eh=De.cva("justify-between gap-2 transition-all",{variants:{variant:{default:"h-9 border-primary/50",minimal:"h-8 border-0 shadow-none hover:bg-accent",pills:"h-8 rounded-full px-4",inline:"h-7 text-sm border-0 shadow-none p-0 hover:bg-transparent hover:underline",compact:"h-7 text-xs px-2"}},defaultVariants:{variant:"default"}}),Ph={partner:E.Building2,network:E.Network,customer:E.Users},Dh={partner:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200",network:"bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200",customer:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200"},Xa={partner:"Partenaire",network:"Réseau",customer:"Client"},Uo=i.forwardRef(({type:t,items:a,selected:r,isLoading:s,onSelect:n,placeholder:o,emptyText:l,showIcon:c,showBadge:f,variant:m},p)=>{const[h,x]=i.useState(!1),[k,S]=i.useState(""),j=Ph[t],y=i.useMemo(()=>k?a.filter(d=>d.name.toLowerCase().includes(k.toLowerCase())):a,[a,k]),b=d=>{n(d),x(!1),S("")},u=d=>{d.stopPropagation(),n({id:"",name:"",type:t}),S("")};return e.jsxs(xt,{open:h,onOpenChange:x,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{ref:p,variant:m==="inline"?"ghost":"outline",role:"combobox","aria-expanded":h,className:w(Eh({variant:m}),r?.id?"border-primary/50":""),disabled:s||a.length===0,children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[c&&j&&e.jsx(j,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"truncate",children:r?.name||o||Xa[t]}),f&&r?.id&&e.jsx(He,{variant:"secondary",className:w("text-xs",Dh[t]),children:t})]}),r?.id?e.jsx(E.X,{className:"h-3 w-3 shrink-0 opacity-50 hover:opacity-100",onClick:u}):e.jsx(E.ChevronRight,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(dt,{className:"w-[300px] p-0",align:"start",children:e.jsxs(_t,{shouldFilter:!1,children:[e.jsxs("div",{className:"flex items-center border-b px-3 py-2 bg-muted/50",children:[e.jsx(E.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(oa,{placeholder:`Rechercher ${Xa[t].toLowerCase()}...`,value:k,onValueChange:S,className:"border-0 focus:ring-0"})]}),e.jsxs(Sr,{children:[e.jsx(ia,{children:l||`Aucun ${Xa[t].toLowerCase()} trouvé`}),e.jsx(la,{children:y.map(d=>e.jsx(ca,{value:d.id,onSelect:()=>b(d),className:"cursor-pointer",children:e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[c&&j&&e.jsx(j,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate",children:d.name}),d.metadata?.count!==void 0&&e.jsx(He,{variant:"secondary",className:"text-xs",children:d.metadata.count})]})},d.id))})]})]})})]})});Uo.displayName="AdmincrumbSelector";const Bo=i.forwardRef(({levels:t,separator:a,className:r,onLevelChange:s,showIcons:n=!0,showBadges:o=!1,showHome:l=!1,maxWidth:c="100%",variant:f="default",resetable:m=!1,onReset:p},h)=>{const x=j=>y=>{s?.(j,y)},k=t.some(j=>j.selected?.id),S=m&&k&&p;return e.jsxs("nav",{ref:h,"aria-label":"Fil d'Ariane administrateur",className:w("flex items-center gap-2",r),style:{maxWidth:c},children:[e.jsxs("div",{className:w(Th({variant:f}),"overflow-x-auto"),children:[l&&e.jsxs(e.Fragment,{children:[e.jsx(O,{variant:f==="inline"?"ghost":"outline",size:f==="compact"?"sm":"default",className:w(f==="inline"&&"h-7 px-2",f==="compact"&&"h-7 px-2"),onClick:()=>p?.(),children:e.jsx(E.Home,{className:"h-4 w-4"})}),e.jsx(E.ChevronRight,{className:"h-4 w-4 text-muted-foreground shrink-0","aria-hidden":"true"})]}),e.jsx("ol",{className:"flex items-center gap-2 list-none p-0 m-0",children:t.map((j,y)=>e.jsxs("li",{className:"flex items-center gap-2",children:[y>0&&e.jsx(e.Fragment,{children:a||e.jsx(E.ChevronRight,{className:w("text-muted-foreground shrink-0",f==="compact"||f==="inline"?"h-3 w-3":"h-4 w-4"),"aria-hidden":"true"})}),e.jsx(Uo,{...j,onSelect:x(y),showIcon:n,showBadge:o,variant:f||"default"})]},`${j.type}-${y}`))}),S&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-px h-6 bg-border mx-1","aria-hidden":"true"}),e.jsxs(O,{variant:"ghost",size:f==="compact"?"sm":"default",onClick:p,className:w("gap-2",f==="compact"&&"h-7 px-2 text-xs"),children:[e.jsx(E.X,{className:"h-3 w-3"}),"Réinitialiser"]})]})]}),k&&!S&&e.jsxs(He,{variant:"secondary",className:"gap-1",children:[e.jsx(E.Filter,{className:"h-3 w-3"}),"Filtré"]})]})});Bo.displayName="WakaAdmincrumb";function Mh(){const[t,a]=i.useState(),[r,s]=i.useState(),[n,o]=i.useState(),l=i.useCallback((f,m)=>{f===0?(a(m.id?m:void 0),s(void 0),o(void 0)):f===1?(s(m.id?m:void 0),o(void 0)):f===2&&o(m.id?m:void 0)},[]),c=i.useCallback(()=>{a(void 0),s(void 0),o(void 0)},[]);return{partner:t,network:r,customer:n,handleLevelChange:l,reset:c}}const Rh=({images:t,autoplay:a=!1,autoplayInterval:r=3e3,showIndicators:s=!0,showNavigation:n=!0,showThumbnails:o=!1,showFullscreen:l=!1,showDownload:c=!1,showShare:f=!1,showCounter:m=!1,showProgress:p=!1,transition:h="fade",layout:x="default",theme:k="auto",aspectRatio:S="16/9",maxHeight:j,className:y,imageClassName:b,indicatorClassName:u,navigationClassName:d,thumbnailClassName:g,overlayClassName:v,counterClassName:N,progressClassName:$,onImageChange:F,onImageClick:M,onFullscreenToggle:T,onDownload:P,onShare:L,onPlayPause:A,onThumbnailClick:V,onIndicatorClick:X,onNavigationClick:me,onKeyboardNavigation:se,onTouchStart:Y,onTouchEnd:H,onSwipeLeft:_,onSwipeRight:q,onSwipeUp:R,onSwipeDown:te,onLoadStart:Z,onLoadEnd:G,onError:Re,onReady:ve,onDestroy:Ne,loop:le=!0,pauseOnHover:Me=!0,pauseOnFocus:z=!0,pauseOnTouch:I=!0,keyboardNavigation:J=!0,touchNavigation:ce=!0,swipeThreshold:oe=50,animationDuration:de=300,preloadImages:Se=!0,lazyLoading:ye=!0,imageQuality:Oe="auto",placeholder:ht,errorImage:Ue,loadingSpinner:Be,emptyState:wt,customControls:Vt,customOverlay:Wt,customThumbnails:$t,customIndicators:W,customNavigation:K,ariaLabel:Pe="Carrousel d'images",ariaLabelledBy:Ge,ariaDescribedBy:ba,role:es="region",virtualScrolling:Ia=!1,maxVisibleThumbnails:Oa=10,thumbnailSize:xa="medium",overlayOpacity:mi=.7,overlayGradient:fi,navigationSize:nt="medium",indicatorSize:jt="medium",indicatorShape:pt="circle",thumbnailAspectRatio:va="1/1",onMount:_a,onUnmount:za,onBeforeChange:tt,onAfterChange:Va})=>{const[Xe,Ht]=C.useState(0),[Je,ot]=C.useState(a),[Nt,ya]=C.useState(!1),[ts,Wa]=C.useState(!1),[wa,as]=C.useState(!1),[qt,Ut]=C.useState(null),[hi,St]=C.useState(null),[Ye,ja]=C.useState(new Set),[Na,Sa]=C.useState(0),ne=C.useRef(null),B=C.useRef(null),we=C.useRef([]),Ae=C.useRef(null),kt=C.useRef(0),ke=t&&t.length>0,Te=Math.max(0,Math.min(Xe,t.length-1)),re=ke?t[Te]:null,Ct=C.useMemo(()=>{switch(S){case"16/9":return"aspect-video";case"4/3":return"aspect-[4/3]";case"1/1":return"aspect-square";case"3/2":return"aspect-[3/2]";default:return"aspect-video"}},[S]),gt=C.useMemo(()=>k==="auto"?"":k==="dark"?"dark":"light",[k]),Bt=C.useCallback(()=>{ne.current&&clearInterval(ne.current),Je&&ke&&t.length>1&&(ne.current=setInterval(()=>{Ht(U=>le?(U+1)%t.length:Math.min(U+1,t.length-1))},r))},[Je,ke,t.length,r,le]),_e=C.useCallback(()=>{ne.current&&(clearInterval(ne.current),ne.current=null)},[]),rs=C.useCallback(()=>{if(!Je||!a)return;const U=Date.now(),ie=()=>{const Ft=(Date.now()-U)/r*100;Sa(Math.min(Ft,100)),Ft<100&&requestAnimationFrame(ie)};requestAnimationFrame(ie)},[Je,a,r]);C.useEffect(()=>(Je?(Bt(),rs()):(_e(),Sa(0)),()=>_e()),[Je,Bt,_e,rs]);const Gt=C.useCallback(()=>{if(!ke)return;const U=le?(Xe-1+t.length)%t.length:Math.max(Xe-1,0);tt&&!tt(Xe,U)||(Ht(U),me?.("prev"))},[ke,Xe,t.length,le,tt,me]),Xt=C.useCallback(()=>{if(!ke)return;const U=le?(Xe+1)%t.length:Math.min(Xe+1,t.length-1);tt&&!tt(Xe,U)||(Ht(U),me?.("next"))},[ke,Xe,t.length,le,tt,me]),ss=C.useCallback(U=>{!ke||U<0||U>=t.length||tt&&!tt(Xe,U)||(Ht(U),X?.(U))},[ke,Xe,t.length,tt,X]),pi=C.useCallback(U=>{if(!J)return;const ie=U.key;switch(se?.(ie),ie){case"ArrowLeft":U.preventDefault(),Gt();break;case"ArrowRight":U.preventDefault(),Xt();break;case"ArrowUp":U.preventDefault(),R?.();break;case"ArrowDown":U.preventDefault(),te?.();break;case" ":U.preventDefault(),ot(ze=>!ze),A?.(!Je);break;case"Escape":Nt&&(ya(!1),T?.(!1));break;case"f":case"F":l&&ya(ze=>(T?.(!ze),!ze));break}},[J,Gt,Xt,se,R,te,Je,A,Nt,l,T]),gi=C.useCallback(U=>{if(!ce)return;const ie=U.touches[0];Ut({x:ie.clientX,y:ie.clientY}),kt.current=Date.now(),Y?.(U),I&&ot(!1)},[ce,Y,I]),bi=C.useCallback(U=>{if(!ce||!qt)return;const ie=U.changedTouches[0];St({x:ie.clientX,y:ie.clientY}),H?.(U);const ze=ie.clientX-qt.x,Ft=ie.clientY-qt.y;Date.now()-kt.current,Math.abs(ze)>Math.abs(Ft)&&Math.abs(ze)>oe?ze>0?(q?.(),Gt()):(_?.(),Xt()):Math.abs(Ft)>oe&&(Ft>0?te?.():R?.()),Ut(null),St(null)},[ce,qt,H,oe,q,_,te,R,Gt,Xt]),xi=C.useCallback(U=>{ja(ie=>new Set([...ie,U])),Wa(!1),G?.(U)},[G]),vi=C.useCallback((U,ie)=>{as(!0),Wa(!1),Re?.(U,ie)},[Re]);C.useEffect(()=>{re&&(F?.(Te,re),Va?.(Te))},[Te,re,F,Va]);const yi=C.useCallback(()=>{re&&M?.(re,Te)},[re,Te,M]),bt=C.useCallback(U=>{U.stopPropagation()},[]),wi=C.useCallback(()=>{ya(U=>(T?.(!U),!U))},[T]),ji=C.useCallback(()=>{re&&P?.(re,Te)},[re,Te,P]),Ni=C.useCallback(()=>{re&&L?.(re,Te)},[re,Te,L]),Si=C.useCallback(()=>{Me&&ot(!1)},[Me]),ki=C.useCallback(()=>{Me&&a&&ot(!0)},[Me,a]),Ci=C.useCallback(()=>{z&&ot(!1)},[z]),Ti=C.useCallback(()=>{z&&a&&ot(!0)},[z,a]);if(C.useEffect(()=>(_a?.(),ve?.(),()=>{za?.(),Ne?.(),_e()}),[_a,ve,za,Ne,_e]),C.useEffect(()=>()=>_e(),[_e]),!ke)return e.jsx("div",{className:w("flex items-center justify-center h-64 bg-gray-100 rounded-lg",y),children:wt||e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-gray-500 mb-2",children:"Aucune image à afficher"}),e.jsx("p",{className:"text-sm text-gray-400",children:"Ajoutez des images pour commencer"})]})});const Ei=w("waka-carousel relative w-full mx-auto bg-black rounded-lg overflow-hidden","focus:outline-none focus:ring-2 focus:ring-blue-500",Nt&&"fixed inset-0 z-50 rounded-none",gt,y),Pi=w("relative",Ct,b),Di=w("absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-4",v);return e.jsxs("div",{ref:B,className:Ei,style:{maxHeight:j},tabIndex:0,onKeyDown:pi,onTouchStart:gi,onTouchEnd:bi,onMouseEnter:Si,onMouseLeave:ki,onFocus:Ci,onBlur:Ti,role:es,"aria-label":Pe,"aria-labelledby":Ge,"aria-describedby":ba,children:[e.jsxs("div",{className:Pi,children:[ts&&Be&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 z-20",children:Be}),wa&&Ue?e.jsx("img",{src:Ue,alt:"Erreur de chargement",className:w("w-full h-full object-cover",b)}):re?e.jsx("img",{ref:U=>we.current[Te]=U,src:re.src,alt:re.alt,className:w("w-full h-full object-cover transition-opacity duration-300",b),onClick:yi,loading:ye?"lazy":"eager",onLoad:()=>xi(Te),onError:U=>vi(Te,new Error("Erreur de chargement de l'image"))}):null,re&&(re.title||re.description||re.caption)&&e.jsxs("div",{className:Di,children:[re.title&&e.jsx("h3",{className:"text-white text-lg font-semibold mb-1",children:re.title}),re.description&&e.jsx("p",{className:"text-white/90 text-sm mb-2",children:re.description}),re.caption&&e.jsx("p",{className:"text-white/80 text-xs",children:re.caption})]}),Vt&&e.jsx("div",{className:"absolute inset-0 z-10",children:Vt}),Wt&&e.jsx("div",{className:"absolute inset-0 z-10",children:Wt}),n&&t.length>1&&e.jsx(e.Fragment,{children:K?e.jsx("div",{className:"absolute inset-0 z-10",children:K}):e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:U=>{bt(U),Gt()},className:w("absolute left-2 top-1/2 -translate-y-1/2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white",nt==="small"&&"p-1",nt==="large"&&"p-3",d),"aria-label":"Image précédente",children:e.jsx(E.ChevronLeft,{className:w("w-5 h-5",nt==="small"&&"w-4 h-4",nt==="large"&&"w-6 h-6")})}),e.jsx("button",{onClick:U=>{bt(U),Xt()},className:w("absolute right-2 top-1/2 -translate-y-1/2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white",nt==="small"&&"p-1",nt==="large"&&"p-3",d),"aria-label":"Image suivante",children:e.jsx(E.ChevronRight,{className:w("w-5 h-5",nt==="small"&&"w-4 h-4",nt==="large"&&"w-6 h-6")})})]})}),a&&t.length>1&&e.jsx("button",{onClick:U=>{bt(U),ot(ie=>(A?.(!ie),!ie))},className:w("absolute top-2 right-2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":Je?"Pause":"Lecture",children:Je?e.jsx(E.Pause,{className:"w-4 h-4"}):e.jsx(E.Play,{className:"w-4 h-4"})}),l&&e.jsx("button",{onClick:U=>{bt(U),wi()},className:w("absolute top-2 left-2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":Nt?"Quitter le plein écran":"Plein écran",children:Nt?e.jsx(E.X,{className:"w-4 h-4"}):e.jsx(E.Maximize2,{className:"w-4 h-4"})}),c&&re?.downloadUrl&&e.jsx("button",{onClick:U=>{bt(U),ji()},className:w("absolute top-2 right-12 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":"Télécharger l'image",children:e.jsx(E.Download,{className:"w-4 h-4"})}),f&&re?.shareUrl&&e.jsx("button",{onClick:U=>{bt(U),Ni()},className:w("absolute top-2 right-20 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":"Partager l'image",children:e.jsx(E.Share2,{className:"w-4 h-4"})}),m&&e.jsxs("div",{className:w("absolute top-2 left-1/2 -translate-x-1/2 z-10","bg-black/50 text-white px-3 py-1 rounded-full text-sm",N),children:[Te+1," / ",t.length]}),p&&Je&&e.jsx("div",{className:w("absolute bottom-0 left-0 right-0 h-1 bg-black/30",$),children:e.jsx("div",{ref:Ae,className:"h-full bg-white transition-all duration-100",style:{width:`${Na}%`}})})]}),s&&t.length>1&&e.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2",children:W?e.jsx("div",{className:"flex space-x-2",children:W}):t.map((U,ie)=>e.jsx("button",{onClick:ze=>{bt(ze),ss(ie)},className:w("transition-all duration-200","focus:outline-none focus:ring-2 focus:ring-white",pt==="circle"&&"rounded-full",pt==="square"&&"rounded",pt==="diamond"&&"rotate-45",pt==="line"&&"rounded-none",jt==="small"&&"w-2 h-2",jt==="medium"&&"w-3 h-3",jt==="large"&&"w-4 h-4",pt==="line"&&jt==="small"&&"w-8 h-1",pt==="line"&&jt==="medium"&&"w-12 h-1",pt==="line"&&jt==="large"&&"w-16 h-1",ie===Te?"bg-white":"bg-white/50 hover:bg-white/70",u),"aria-label":`Aller à l'image ${ie+1}`},ie))}),o&&t.length>1&&e.jsx("div",{className:"flex space-x-2 p-4 bg-gray-100 overflow-x-auto",children:$t?e.jsx("div",{className:"flex space-x-2",children:$t}):t.map((U,ie)=>e.jsx("button",{onClick:ze=>{bt(ze),ss(ie),V?.(ie)},className:w("flex-shrink-0 rounded overflow-hidden","border-2 transition-all duration-200","focus:outline-none focus:ring-2 focus:ring-blue-500",xa==="small"&&"w-12 h-12",xa==="medium"&&"w-16 h-16",xa==="large"&&"w-20 h-20",va==="1/1"&&"aspect-square",va==="4/3"&&"aspect-[4/3]",va==="16/9"&&"aspect-video",ie===Te?"border-blue-500":"border-gray-300 hover:border-gray-400",g),children:e.jsx("img",{src:U.src,alt:U.alt,className:"w-full h-full object-cover",loading:"lazy"})},ie))})]})};let Fs=!1,or=null;!Fs&&!lt.isInitialized&&(Fs=!0,or=lt.use(et.initReactI18next).init({resources:{},fallbackLng:"fr",lng:"fr",defaultNS:"translation",ns:["translation"],debug:!1,interpolation:{escapeValue:!1},react:{useSuspense:!1},ignoreJSONStructure:!0,returnNull:!1,returnEmptyString:!1,returnObjects:!1,load:"languageOnly",detection:void 0,initImmediate:!0}).then(()=>(console.log("[i18n] Initialized successfully"),lt)).catch(t=>(console.error("[i18n] Failed to initialize:",t),lt)));function Go(){const[t,a]=C.useState(lt.isInitialized);return C.useEffect(()=>{if(lt.isInitialized){a(!0);return}if(or)or.then(()=>{a(!0)});else{const r=setTimeout(()=>{a(!0)},100);return()=>clearTimeout(r)}},[]),!t||!lt.isInitialized?{t:r=>r,i18n:lt,ready:!1}:et.useTranslation()}ft.registerLocale("fr",Ot);ft.registerLocale("en",tn);ft.registerLocale("es",an);ft.registerLocale("de",en);ft.registerLocale("it",rn);ft.registerLocale("pt",nn);ft.registerLocale("ja",sn);ft.registerLocale("zh",on);const Gr=i.forwardRef(({value:t,onChange:a,placeholder:r,disabled:s=!1,className:n,variant:o="date",format:l,minDate:c,maxDate:f,showSeconds:m=!1,showClear:p=!0,showPresets:h=!1,presets:x,locale:k="fr",timeFormat:S="24h",size:j="md",error:y,label:b,required:u=!1,inline:d=!1,monthsShown:g=1,timeIntervals:v=15,validation:N,showWeekNumbers:$=!1,showTodayButton:F=!0,showSelectionInfo:M=!1,allowTimeRange:T=!1,timezone:P,onBeforeChange:L,onAfterChange:A,renderDay:V,popoverClassName:X,disableAnimations:me=!1,readOnly:se=!1,id:Y,name:H,autoFocus:_=!1},q)=>{const{t:R}=Go(),[te,Z]=i.useState(!1),[G,Re]=i.useState(o==="range"&&t&&!("from"in t)?{from:t,to:void 0}:t),[ve,Ne]=i.useState(null),[le,Me]=i.useState(null),I={fr:Ot,en:tn,es:an,de:en,it:rn,pt:nn,ja:sn,zh:on}[k]||Ot,J=[{label:R?.("today")||"Aujourd'hui",value:()=>new Date},{label:R?.("yesterday")||"Hier",value:()=>D.subDays(new Date,1)},{label:R?.("thisWeek")||"Cette semaine",range:()=>({from:D.startOfWeek(new Date,{locale:I}),to:D.endOfWeek(new Date,{locale:I})})},{label:R?.("lastWeek")||"Semaine dernière",range:()=>({from:D.startOfWeek(D.subWeeks(new Date,1),{locale:I}),to:D.endOfWeek(D.subWeeks(new Date,1),{locale:I})})},{label:R?.("thisMonth")||"Ce mois",range:()=>({from:D.startOfMonth(new Date),to:D.endOfMonth(new Date)})},{label:R?.("lastMonth")||"Mois dernier",range:()=>({from:D.startOfMonth(D.subMonths(new Date,1)),to:D.endOfMonth(D.subMonths(new Date,1))})},{label:R?.("last7Days")||"7 derniers jours",range:()=>({from:D.subDays(new Date,7),to:new Date})},{label:R?.("last30Days")||"30 derniers jours",range:()=>({from:D.subDays(new Date,30),to:new Date})},{label:R?.("thisYear")||"Cette année",range:()=>({from:D.startOfYear(new Date),to:D.endOfYear(new Date)})}],ce=x||(h?J:[]),oe={sm:"h-8 px-3 text-xs",md:"h-10 px-4 text-sm",lg:"h-12 px-5 text-base"},Se=l||(()=>{switch(o){case"time":return m?S==="12h"?"h:mm:ss a":"HH:mm:ss":S==="12h"?"h:mm a":"HH:mm";case"datetime":return m?S==="12h"?"PPP h:mm:ss a":"PPP HH:mm:ss":S==="12h"?"PPP h:mm a":"PPP HH:mm";case"range":return"PPP";case"multiple":return"PPP";default:return"PPP"}})(),ye=W=>{if(!N)return null;if(c&&D.isBefore(W,D.startOfDay(c)))return R?.("dateBeforeMin")||`Date antérieure au ${D.format(c,Se,{locale:I})}`;if(f&&D.isAfter(W,D.endOfDay(f)))return R?.("dateAfterMax")||`Date postérieure au ${D.format(f,Se,{locale:I})}`;if(N.disabledDates?.some(K=>D.isEqual(D.startOfDay(K),D.startOfDay(W)))||N.disabledDatesFn?.(W))return N.message||R?.("dateDisabled")||"Date désactivée";if(N.disabledDaysOfWeek?.includes(W.getDay()))return N.message||R?.("dayOfWeekDisabled")||"Jour de la semaine désactivé";if(N.validate){const K=N.validate(W);if(K===!1)return N.message||R?.("invalidDate")||"Date invalide";if(typeof K=="string")return K}return null},Oe=W=>{if(se)return;let K=null;if(o==="range"){if(Array.isArray(W)&&W[0]&&W[1])K={from:W[0],to:W[1]};else if(W){const Pe=G;Pe?.from&&!Pe.to?K={from:Pe.from,to:W}:K={from:W,to:void 0}}}else if(o==="multiple")if(Array.isArray(G)){const Pe=[...G],Ge=Pe.findIndex(ba=>D.isEqual(D.startOfDay(ba),D.startOfDay(W)));Ge>=0?Pe.splice(Ge,1):Pe.push(W),K=Pe}else K=W?[W]:[];else K=W;if(!(L&&!L(K))){if(K&&!K.from&&!Array.isArray(K)){const Pe=ye(K);if(Pe){Ne(Pe);return}}Ne(null),Re(K),a?.(K),A?.(K),o!=="range"&&o!=="multiple"&&!d&&Z(!1)}},ht=W=>{if(W.range){const K=typeof W.range=="function"?W.range():W.range;Oe([K.from,K.to])}else if(W.value){const K=typeof W.value=="function"?W.value():W.value;Oe(K)}d||Z(!1)},Ue=W=>{W&&W.stopPropagation(),!se&&(Re(null),Ne(null),a?.(null),A?.(null))},Be=()=>{Oe(new Date)},wt=()=>{if(!G)return r||R?.("selectDate")||"Sélectionner une date";try{if(o==="range"){const W=G;return W.from&&W.to?`${D.format(W.from,Se,{locale:I})} - ${D.format(W.to,Se,{locale:I})}`:W.from?`${D.format(W.from,Se,{locale:I})} - ...`:r||R?.("selectDateRange")||"Sélectionner une période"}if(o==="multiple"){const W=G;return W.length===0?r||R?.("selectDates")||"Sélectionner des dates":W.length===1?D.format(W[0],Se,{locale:I}):`${W.length} ${R?.("datesSelected")||"dates sélectionnées"}`}return D.format(G,Se,{locale:I})}catch(W){return console.error("Error formatting date:",W),r||R?.("selectDate")||"Sélectionner une date"}},Vt=W=>!!(c&&D.isBefore(W,D.startOfDay(c))||f&&D.isAfter(W,D.endOfDay(f))||N?.disabledDates?.some(K=>D.isEqual(D.startOfDay(K),D.startOfDay(W)))||N?.disabledDatesFn?.(W)||N?.disabledDaysOfWeek?.includes(W.getDay())),Wt=W=>!!(N?.highlightedDates?.some(K=>D.isEqual(D.startOfDay(K),D.startOfDay(W)))||N?.highlightedDatesFn?.(W)),$t=()=>{const W={selected:o==="range"?G?.from:o==="multiple"?void 0:G,onChange:Oe,startDate:o==="range"?G?.from:void 0,endDate:o==="range"?G?.to:void 0,selectsRange:o==="range",selectsMultiple:o==="multiple",highlightDates:o==="multiple"?G:void 0,showTimeSelect:o==="time"||o==="datetime",showTimeSelectOnly:o==="time",timeFormat:m?S==="12h"?"h:mm:ss aa":"HH:mm:ss":S==="12h"?"h:mm aa":"HH:mm",timeIntervals:v,timeCaption:R?.("time")||"Heure",dateFormat:Se,locale:k,placeholderText:r,disabled:s,minDate:c,maxDate:f,inline:d,monthsShown:o==="range"?Math.max(2,g):g,showWeekNumbers:$,filterDate:K=>!Vt(K),dayClassName:K=>{const Pe=[];if(Wt(K)&&Pe.push("highlighted-date"),le&&o==="range"){const Ge=G;Ge?.from&&!Ge.to&&D.isWithinInterval(K,{start:Ge.from<le?Ge.from:le,end:Ge.from>le?Ge.from:le})&&Pe.push("in-selecting-range")}return Pe.join(" ")},onDayMouseEnter:K=>Me(K),calendarClassName:w("waka-datepicker",me&&"no-animations"),wrapperClassName:"w-full",autoFocus:_};return e.jsxs("div",{className:"flex gap-3",children:[h&&ce.length>0&&e.jsxs("div",{className:"flex flex-col gap-1 min-w-[150px] border-r border-border pr-3",children:[e.jsx(ge,{className:"text-xs font-semibold text-muted-foreground mb-1",children:R?.("quickSelection")||"Sélection rapide"}),e.jsx(It,{className:"h-[300px]",children:e.jsx("div",{className:"space-y-1",children:ce.map((K,Pe)=>e.jsx(O,{variant:"ghost",size:"sm",className:"w-full justify-start text-xs",onClick:()=>ht(K),children:K.label},Pe))})})]}),e.jsxs("div",{className:"flex-1",children:[e.jsx(ft,{...W}),M&&G&&e.jsxs("div",{className:"mt-3 p-2 bg-muted rounded-md text-xs space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E.Info,{className:"h-3 w-3 text-muted-foreground"}),e.jsxs("span",{className:"font-medium",children:[R?.("selection")||"Sélection"," :"]})]}),e.jsx("div",{className:"text-muted-foreground pl-5",children:wt()})]})]})]})};return d?e.jsxs("div",{ref:q,className:w("space-y-2",n),id:Y,children:[b&&e.jsxs(ge,{className:"text-sm font-medium text-foreground",children:[b,u&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsx("div",{className:"border border-border rounded-lg p-4 bg-card",children:$t()}),(y||ve)&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:y||ve})]})]}):e.jsxs("div",{ref:q,className:w("space-y-2",n),id:Y,children:[b&&e.jsxs(ge,{htmlFor:`${Y}-input`,className:"text-sm font-medium text-foreground",children:[b,u&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsxs(xt,{open:te,onOpenChange:Z,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{id:`${Y}-input`,name:H,variant:"outline",disabled:s||se,className:w("w-full justify-between text-left font-normal",!G&&"text-muted-foreground",oe[j],(y||ve)&&"border-destructive focus-visible:ring-destructive",se&&"cursor-default opacity-70"),"aria-label":b||r,"aria-invalid":!!(y||ve),"aria-required":u,children:[e.jsxs("span",{className:"flex items-center gap-2 flex-1 truncate",children:[o==="time"?e.jsx(E.Clock,{className:"h-4 w-4 flex-shrink-0"}):e.jsx(E.Calendar,{className:"h-4 w-4 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:wt()})]}),e.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0 ml-2",children:[G&&p&&!se&&e.jsx(rr,{children:e.jsxs(sr,{children:[e.jsx(nr,{asChild:!0,children:e.jsx("div",{className:"h-5 w-5 rounded hover:bg-destructive/10 flex items-center justify-center cursor-pointer",onClick:Ue,role:"button","aria-label":R?.("clear")||"Effacer",children:e.jsx(E.X,{className:"h-3 w-3 text-muted-foreground hover:text-destructive"})})}),e.jsx(Da,{children:e.jsx("p",{children:R?.("clear")||"Effacer"})})]})}),ve&&e.jsx(rr,{children:e.jsxs(sr,{children:[e.jsx(nr,{asChild:!0,children:e.jsx(E.AlertCircle,{className:"h-4 w-4 text-destructive"})}),e.jsx(Da,{children:e.jsx("p",{children:ve})})]})})]})]})}),e.jsxs(dt,{className:w("w-auto p-0",X),align:"start",sideOffset:4,children:[e.jsx("div",{className:"p-4",children:$t()}),(F||p)&&e.jsxs(e.Fragment,{children:[e.jsx(At,{}),e.jsxs("div",{className:"flex items-center justify-between p-3 gap-2",children:[F&&e.jsxs(O,{variant:"outline",size:"sm",onClick:Be,disabled:s||se,children:[e.jsx(E.Calendar,{className:"h-3.5 w-3.5 mr-1.5"}),R?.("today")||"Aujourd'hui"]}),p&&G&&e.jsxs(O,{variant:"outline",size:"sm",onClick:Ue,disabled:s||se,className:"ml-auto",children:[e.jsx(E.X,{className:"h-3.5 w-3.5 mr-1.5"}),R?.("clear")||"Effacer"]})]})]})]})]}),(y||ve)&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:y||ve})]})]})});Gr.displayName="WakaDateTimePicker";function Ah({name:t,control:a,defaultValue:r,...s}){return e.jsx(On,{name:t,control:a,defaultValue:r,render:({field:n,fieldState:o})=>e.jsx(Gr,{...s,value:n.value,onChange:n.onChange,error:o.error?.message})})}function $h(t){return i.useMemo(()=>({formatDateForSubmit:r=>r?r.toISOString():null,formatRangeForSubmit:r=>!r?.from||!r?.to?null:{from:r.from.toISOString(),to:r.to.toISOString()},parseDateFromServer:r=>r?new Date(r):null,parseRangeFromServer:r=>r?{from:new Date(r.from),to:new Date(r.to)}:null}),[])}const Fh={info:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200",error:"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200"},Ea=i.forwardRef(({notification:t,onMarkAsRead:a,onDelete:r},s)=>{const n=o=>{const c=new Date().getTime()-o.getTime(),f=Math.floor(c/6e4),m=Math.floor(c/36e5),p=Math.floor(c/864e5);return f<1?"À l'instant":f<60?`Il y a ${f} min`:m<24?`Il y a ${m}h`:p<7?`Il y a ${p}j`:o.toLocaleDateString("fr-FR")};return e.jsxs("div",{ref:s,className:w("flex gap-3 p-4 hover:bg-muted/50 transition-colors border-l-4",t.read?"border-l-transparent opacity-60":"border-l-primary","relative group"),children:[e.jsx("div",{className:w("flex-shrink-0 w-10 h-10 rounded-full flex items-center justify-center",Fh[t.type]),children:t.icon||e.jsx(E.Bell,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-1",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("h4",{className:w("text-sm font-semibold",t.read&&"font-normal"),children:t.title}),e.jsx("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:n(t.timestamp)})]}),e.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:t.message}),t.action&&e.jsx(O,{variant:"link",size:"sm",className:"h-auto p-0 text-primary",onClick:t.action.onClick,children:t.action.label})]}),e.jsxs("div",{className:"flex-shrink-0 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[!t.read&&a&&e.jsxs(O,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>a(t.id),children:[e.jsx(E.Check,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Marquer comme lu"})]}),r&&e.jsxs(O,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive",onClick:()=>r(t.id),children:[e.jsx(E.Trash2,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Supprimer"})]})]})]})});Ea.displayName="NotificationItem";const Xo=i.forwardRef(({notifications:t,onMarkAsRead:a,onMarkAllAsRead:r,onDelete:s,onDeleteAll:n,onSettingsClick:o,maxHeight:l="400px",className:c,iconClassName:f,badgeClassName:m,showBadge:p=!0,showTabs:h=!0,emptyMessage:x="Aucune notification",emptyIcon:k},S)=>{const[j,y]=i.useState(!1),[b,u]=i.useState("all"),d=t.filter(N=>!N.read).length,g=i.useMemo(()=>b==="all"?t:b==="unread"?t.filter(N=>!N.read):t,[t,b]),v=()=>e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 px-4 text-center",children:[k||e.jsx(E.Bell,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:x})]});return e.jsxs(xt,{open:j,onOpenChange:y,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{ref:S,variant:"ghost",size:"icon",className:w("relative",c),children:[e.jsx(E.Bell,{className:w("h-5 w-5",f)}),p&&d>0&&e.jsx(He,{variant:"destructive",className:w("absolute -top-1 -right-1 h-5 min-w-[20px] flex items-center justify-center p-0 text-xs",m),children:d>99?"99+":d}),e.jsxs("span",{className:"sr-only",children:["Notifications (",d," non lues)"]})]})}),e.jsxs(dt,{className:"w-[380px] p-0",align:"end",sideOffset:8,children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-base",children:"Notifications"}),d>0&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[d," non ",d>1?"lues":"lue"]})]}),e.jsxs("div",{className:"flex gap-1",children:[r&&d>0&&e.jsxs(O,{variant:"ghost",size:"sm",className:"h-8 text-xs",onClick:r,children:[e.jsx(E.Check,{className:"h-3 w-3 mr-1"}),"Tout marquer"]}),o&&e.jsxs(O,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:o,children:[e.jsx(E.Settings,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Paramètres"})]})]})]}),h&&t.length>0&&e.jsxs(zr,{value:b,onValueChange:u,className:"w-full",children:[e.jsxs(La,{className:"w-full rounded-none border-b bg-transparent p-0",children:[e.jsxs(da,{value:"all",className:"flex-1 rounded-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:["Toutes (",t.length,")"]}),e.jsxs(da,{value:"unread",className:"flex-1 rounded-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:["Non lues (",d,")"]})]}),e.jsx(ua,{value:"all",className:"m-0",children:e.jsx(It,{className:"h-[400px]",style:{maxHeight:l},children:e.jsx("div",{className:"p-0",children:g.length===0?e.jsx(v,{}):e.jsx("div",{className:"divide-y",children:g.map(N=>e.jsx(Ea,{notification:N,onMarkAsRead:a,onDelete:s},N.id))})})})}),e.jsx(ua,{value:"unread",className:"m-0",children:e.jsx(It,{className:"h-[400px]",style:{maxHeight:l},children:e.jsx("div",{className:"p-0",children:g.length===0?e.jsx(v,{}):e.jsx("div",{className:"divide-y",children:g.map(N=>e.jsx(Ea,{notification:N,onMarkAsRead:a,onDelete:s},N.id))})})})})]}),!h&&e.jsx(It,{className:"h-[400px]",style:{maxHeight:l},children:e.jsx("div",{className:"p-0",children:t.length===0?e.jsx(v,{}):e.jsx("div",{className:"divide-y",children:t.map(N=>e.jsx(Ea,{notification:N,onMarkAsRead:a,onDelete:s},N.id))})})}),t.length>0&&n&&e.jsxs(e.Fragment,{children:[e.jsx(At,{}),e.jsx("div",{className:"p-2",children:e.jsxs(O,{variant:"ghost",size:"sm",className:"w-full text-destructive hover:text-destructive",onClick:n,children:[e.jsx(E.Trash2,{className:"h-3 w-3 mr-2"}),"Tout supprimer"]})})]})]})]})});Xo.displayName="WakaNotifications";function Lh(t=[]){const[a,r]=i.useState(t),s=i.useCallback(m=>{const p={...m,id:`notification-${Date.now()}-${Math.random()}`,timestamp:new Date,read:!1};r(h=>[p,...h])},[]),n=i.useCallback(m=>{r(p=>p.map(h=>h.id===m?{...h,read:!0}:h))},[]),o=i.useCallback(()=>{r(m=>m.map(p=>({...p,read:!0})))},[]),l=i.useCallback(m=>{r(p=>p.filter(h=>h.id!==m))},[]),c=i.useCallback(()=>{r([])},[]),f=i.useMemo(()=>a.filter(m=>!m.read).length,[a]);return{notifications:a,addNotification:s,markAsRead:n,markAllAsRead:o,deleteNotification:l,deleteAllNotifications:c,unreadCount:f}}const Ih=De.cva("relative inline-flex items-center justify-center",{variants:{size:{sm:"w-12 h-12",md:"w-16 h-16",lg:"w-24 h-24",xl:"w-32 h-32"}},defaultVariants:{size:"md"}}),Jo=i.forwardRef(({className:t,size:a,showAsteroids:r=!0,speed:s=2,rocketColor:n="text-primary",asteroidColor:o="text-muted-foreground",...l},c)=>{const m={sm:{orbit:40,rocket:16,asteroid:6},md:{orbit:56,rocket:20,asteroid:8},lg:{orbit:88,rocket:28,asteroid:12},xl:{orbit:120,rocket:36,asteroid:16}}[a||"md"],p=m.orbit,h=m.orbit;return e.jsxs("div",{ref:c,className:w(Ih({size:a,className:t})),role:"status","aria-label":"Chargement en cours",...l,children:[e.jsxs("svg",{width:m.orbit*2,height:m.orbit*2,viewBox:`0 0 ${m.orbit*2} ${m.orbit*2}`,className:"overflow-visible",children:[e.jsx("circle",{cx:p,cy:h,r:m.orbit-m.rocket,fill:"none",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 4",className:"opacity-20"}),r&&e.jsxs("g",{className:o,children:[e.jsx("g",{style:{animation:`waka-float ${s*1.5}s ease-in-out infinite`,transformOrigin:`${p+m.orbit*.6}px ${h-m.orbit*.5}px`},children:e.jsx("polygon",{points:Ja(p+m.orbit*.6,h-m.orbit*.5,m.asteroid),fill:"currentColor",opacity:"0.3"})}),e.jsx("g",{style:{animation:`waka-float ${s*2}s ease-in-out infinite 0.5s`,transformOrigin:`${p-m.orbit*.7}px ${h+m.orbit*.4}px`},children:e.jsx("polygon",{points:Ja(p-m.orbit*.7,h+m.orbit*.4,m.asteroid*.8),fill:"currentColor",opacity:"0.3"})}),e.jsx("g",{style:{animation:`waka-float ${s*1.8}s ease-in-out infinite 1s`,transformOrigin:`${p-m.orbit*.8}px ${h-m.orbit*.2}px`},children:e.jsx("polygon",{points:Ja(p-m.orbit*.8,h-m.orbit*.2,m.asteroid*.6),fill:"currentColor",opacity:"0.3"})})]}),e.jsx("g",{className:n,style:{animation:`waka-orbit ${s}s linear infinite`,transformOrigin:`${p}px ${h}px`},children:e.jsxs("g",{transform:`translate(${p}, ${h-m.orbit+m.rocket/2})`,children:[e.jsx("path",{d:`M 0,-${m.rocket/2} L ${m.rocket/4},-${m.rocket/6} L ${m.rocket/4},${m.rocket/3} L 0,${m.rocket/2} L -${m.rocket/4},${m.rocket/3} L -${m.rocket/4},-${m.rocket/6} Z`,fill:"currentColor"}),e.jsx("circle",{cx:"0",cy:-m.rocket/6,r:m.rocket/8,fill:"white",opacity:"0.8"}),e.jsxs("g",{opacity:"0.8",children:[e.jsx("path",{d:`M -${m.rocket/6},${m.rocket/2} L -${m.rocket/8},${m.rocket/1.5} L 0,${m.rocket/2} Z`,fill:"#FF6B35",style:{animation:`waka-flicker ${s/4}s ease-in-out infinite`}}),e.jsx("path",{d:`M 0,${m.rocket/2} L ${m.rocket/8},${m.rocket/1.5} L ${m.rocket/6},${m.rocket/2} Z`,fill:"#FF6B35",style:{animation:`waka-flicker ${s/4}s ease-in-out infinite 0.1s`}}),e.jsx("path",{d:`M -${m.rocket/12},${m.rocket/2} L 0,${m.rocket/1.3} L ${m.rocket/12},${m.rocket/2} Z`,fill:"#FFA500",style:{animation:`waka-flicker ${s/4}s ease-in-out infinite 0.05s`}})]})]})}),[...Array(3)].map((x,k)=>e.jsx("circle",{cx:p+(k-1)*m.orbit*.3,cy:h-m.orbit*1.2,r:"1",fill:"currentColor",className:"opacity-40",style:{animation:`waka-twinkle ${s*1.5}s ease-in-out infinite ${k*.3}s`}},k))]}),e.jsx("style",{dangerouslySetInnerHTML:{__html:`
8
+ */var r=(function(s){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,d={},u={manual:s.Prism&&s.Prism.manual,disableWorkerMessageHandler:s.Prism&&s.Prism.disableWorkerMessageHandler,util:{encode:function c(l){return l instanceof f?new f(l.type,c(l.content),l.alias):Array.isArray(l)?l.map(c):l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(c){return Object.prototype.toString.call(c).slice(8,-1)},objId:function(c){return c.__id||Object.defineProperty(c,"__id",{value:++o}),c.__id},clone:function c(l,g){g=g||{};var v,N;switch(u.util.type(l)){case"Object":if(N=u.util.objId(l),g[N])return g[N];v={},g[N]=v;for(var $ in l)l.hasOwnProperty($)&&(v[$]=c(l[$],g));return v;case"Array":return N=u.util.objId(l),g[N]?g[N]:(v=[],g[N]=v,l.forEach(function(F,M){v[M]=c(F,g)}),v);default:return l}},getLanguage:function(c){for(;c;){var l=n.exec(c.className);if(l)return l[1].toLowerCase();c=c.parentElement}return"none"},setLanguage:function(c,l){c.className=c.className.replace(RegExp(n,"gi"),""),c.classList.add("language-"+l)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(v){var c=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(v.stack)||[])[1];if(c){var l=document.getElementsByTagName("script");for(var g in l)if(l[g].src==c)return l[g]}return null}},isActive:function(c,l,g){for(var v="no-"+l;c;){var N=c.classList;if(N.contains(l))return!0;if(N.contains(v))return!1;c=c.parentElement}return!!g}},languages:{plain:d,plaintext:d,text:d,txt:d,extend:function(c,l){var g=u.util.clone(u.languages[c]);for(var v in l)g[v]=l[v];return g},insertBefore:function(c,l,g,v){v=v||u.languages;var N=v[c],$={};for(var F in N)if(N.hasOwnProperty(F)){if(F==l)for(var M in g)g.hasOwnProperty(M)&&($[M]=g[M]);g.hasOwnProperty(F)||($[F]=N[F])}var T=v[c];return v[c]=$,u.languages.DFS(u.languages,function(P,L){L===T&&P!=c&&(this[P]=$)}),$},DFS:function c(l,g,v,N){N=N||{};var $=u.util.objId;for(var F in l)if(l.hasOwnProperty(F)){g.call(l,F,l[F],v||F);var M=l[F],T=u.util.type(M);T==="Object"&&!N[$(M)]?(N[$(M)]=!0,c(M,g,null,N)):T==="Array"&&!N[$(M)]&&(N[$(M)]=!0,c(M,g,F,N))}}},plugins:{},highlightAll:function(c,l){u.highlightAllUnder(document,c,l)},highlightAllUnder:function(c,l,g){var v={callback:g,container:c,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};u.hooks.run("before-highlightall",v),v.elements=Array.prototype.slice.apply(v.container.querySelectorAll(v.selector)),u.hooks.run("before-all-elements-highlight",v);for(var N=0,$;$=v.elements[N++];)u.highlightElement($,l===!0,v.callback)},highlightElement:function(c,l,g){var v=u.util.getLanguage(c),N=u.languages[v];u.util.setLanguage(c,v);var $=c.parentElement;$&&$.nodeName.toLowerCase()==="pre"&&u.util.setLanguage($,v);var F=c.textContent,M={element:c,language:v,grammar:N,code:F};function T(L){M.highlightedCode=L,u.hooks.run("before-insert",M),M.element.innerHTML=M.highlightedCode,u.hooks.run("after-highlight",M),u.hooks.run("complete",M),g&&g.call(M.element)}if(u.hooks.run("before-sanity-check",M),$=M.element.parentElement,$&&$.nodeName.toLowerCase()==="pre"&&!$.hasAttribute("tabindex")&&$.setAttribute("tabindex","0"),!M.code){u.hooks.run("complete",M),g&&g.call(M.element);return}if(u.hooks.run("before-highlight",M),!M.grammar){T(u.util.encode(M.code));return}if(l&&s.Worker){var P=new Worker(u.filename);P.onmessage=function(L){T(L.data)},P.postMessage(JSON.stringify({language:M.language,code:M.code,immediateClose:!0}))}else T(u.highlight(M.code,M.grammar,M.language))},highlight:function(c,l,g){var v={code:c,grammar:l,language:g};if(u.hooks.run("before-tokenize",v),!v.grammar)throw new Error('The language "'+v.language+'" has no grammar.');return v.tokens=u.tokenize(v.code,v.grammar),u.hooks.run("after-tokenize",v),f.stringify(u.util.encode(v.tokens),v.language)},tokenize:function(c,l){var g=l.rest;if(g){for(var v in g)l[v]=g[v];delete l.rest}var N=new h;return w(N,N.head,c),b(c,N,l,N.head,0),S(N)},hooks:{all:{},add:function(c,l){var g=u.hooks.all;g[c]=g[c]||[],g[c].push(l)},run:function(c,l){var g=u.hooks.all[c];if(!(!g||!g.length))for(var v=0,N;N=g[v++];)N(l)}},Token:f};s.Prism=u;function f(c,l,g,v){this.type=c,this.content=l,this.alias=g,this.length=(v||"").length|0}f.stringify=function c(l,g){if(typeof l=="string")return l;if(Array.isArray(l)){var v="";return l.forEach(function(T){v+=c(T,g)}),v}var N={type:l.type,content:c(l.content,g),tag:"span",classes:["token",l.type],attributes:{},language:g},$=l.alias;$&&(Array.isArray($)?Array.prototype.push.apply(N.classes,$):N.classes.push($)),u.hooks.run("wrap",N);var F="";for(var M in N.attributes)F+=" "+M+'="'+(N.attributes[M]||"").replace(/"/g,"&quot;")+'"';return"<"+N.tag+' class="'+N.classes.join(" ")+'"'+F+">"+N.content+"</"+N.tag+">"};function m(c,l,g,v){c.lastIndex=l;var N=c.exec(g);if(N&&v&&N[1]){var $=N[1].length;N.index+=$,N[0]=N[0].slice($)}return N}function b(c,l,g,v,N,$){for(var F in g)if(!(!g.hasOwnProperty(F)||!g[F])){var M=g[F];M=Array.isArray(M)?M:[M];for(var T=0;T<M.length;++T){if($&&$.cause==F+","+T)return;var P=M[T],L=P.inside,A=!!P.lookbehind,V=!!P.greedy,X=P.alias;if(V&&!P.pattern.global){var me=P.pattern.toString().match(/[imsuy]*$/)[0];P.pattern=RegExp(P.pattern.source,me+"g")}for(var se=P.pattern||P,Y=v.next,H=N;Y!==l.tail&&!($&&H>=$.reach);H+=Y.value.length,Y=Y.next){var _=Y.value;if(l.length>c.length)return;if(!(_ instanceof f)){var q=1,R;if(V){if(R=m(se,H,c,A),!R||R.index>=c.length)break;var Re=R.index,Q=R.index+R[0].length,Z=H;for(Z+=Y.value.length;Re>=Z;)Y=Y.next,Z+=Y.value.length;if(Z-=Y.value.length,H=Z,Y.value instanceof f)continue;for(var G=Y;G!==l.tail&&(Z<Q||typeof G.value=="string");G=G.next)q++,Z+=G.value.length;q--,_=c.slice(H,Z),R.index-=H}else if(R=m(se,0,_,A),!R)continue;var Re=R.index,ve=R[0],Ne=_.slice(0,Re),le=_.slice(Re+ve.length),Me=H+_.length;$&&Me>$.reach&&($.reach=Me);var z=Y.prev;Ne&&(z=w(l,z,Ne),H+=Ne.length),k(l,z,q);var I=new f(F,L?u.tokenize(ve,L):ve,X,ve);if(Y=w(l,z,I),le&&w(l,Y,le),q>1){var J={cause:F+","+T,reach:Me};b(c,l,g,Y.prev,H,J),$&&J.reach>$.reach&&($.reach=J.reach)}}}}}}function h(){var c={value:null,prev:null,next:null},l={value:null,prev:c,next:null};c.next=l,this.head=c,this.tail=l,this.length=0}function w(c,l,g){var v=l.next,N={value:g,prev:l,next:v};return l.next=N,v.prev=N,c.length++,N}function k(c,l,g){for(var v=l.next,N=0;N<g&&v!==c.tail;N++)v=v.next;l.next=v,v.prev=l,c.length-=N}function S(c){for(var l=[],g=c.head.next;g!==c.tail;)l.push(g.value),g=g.next;return l}if(!s.document)return s.addEventListener&&(u.disableWorkerMessageHandler||s.addEventListener("message",function(c){var l=JSON.parse(c.data),g=l.language,v=l.code,N=l.immediateClose;s.postMessage(u.highlight(v,u.languages[g],g)),N&&s.close()},!1)),u;var p=u.util.currentScript();p&&(u.filename=p.src,p.hasAttribute("data-manual")&&(u.manual=!0));function y(){u.manual||u.highlightAll()}if(!u.manual){var x=document.readyState;x==="loading"||x==="interactive"&&p&&p.defer?document.addEventListener("DOMContentLoaded",y):window.requestAnimationFrame?window.requestAnimationFrame(y):window.setTimeout(y,16)}return u})(a);t.exports&&(t.exports=r),typeof us<"u"&&(us.Prism=r),r.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",function(s){s.type==="entity"&&(s.attributes.title=s.content.replace(/&amp;/,"&"))}),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(n,o){var d={};d["language-"+o]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:r.languages[o]},d.cdata=/^<!\[CDATA\[|\]\]>$/i;var u={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:d}};u["language-"+o]={pattern:/[\s\S]+/,inside:r.languages[o]};var f={};f[n]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return n}),"i"),lookbehind:!0,greedy:!0,inside:u},r.languages.insertBefore("markup","cdata",f)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(s,n){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+s+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:r.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,(function(s){var n=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+n.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+n.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var o=s.languages.markup;o&&(o.tag.addInlined("style","css"),o.tag.addAttribute("style","css"))})(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,(function(){if(typeof r>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var s="Loading…",n=function(p,y){return"✖ Error "+p+" while fetching file: "+y},o="✖ Error: File does not exist or is empty",d={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},u="data-src-status",f="loading",m="loaded",b="failed",h="pre[data-src]:not(["+u+'="'+m+'"]):not(['+u+'="'+f+'"])';function w(p,y,x){var c=new XMLHttpRequest;c.open("GET",p,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status<400&&c.responseText?y(c.responseText):c.status>=400?x(n(c.status,c.statusText)):x(o))},c.send(null)}function k(p){var y=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(p||"");if(y){var x=Number(y[1]),c=y[2],l=y[3];return c?l?[x,Number(l)]:[x,void 0]:[x,x]}}r.hooks.add("before-highlightall",function(p){p.selector+=", "+h}),r.hooks.add("before-sanity-check",function(p){var y=p.element;if(y.matches(h)){p.code="",y.setAttribute(u,f);var x=y.appendChild(document.createElement("CODE"));x.textContent=s;var c=y.getAttribute("data-src"),l=p.language;if(l==="none"){var g=(/\.(\w+)$/.exec(c)||[,"none"])[1];l=d[g]||g}r.util.setLanguage(x,l),r.util.setLanguage(y,l);var v=r.plugins.autoloader;v&&v.loadLanguages(l),w(c,function(N){y.setAttribute(u,m);var $=k(y.getAttribute("data-range"));if($){var F=N.split(/\r\n?|\n/g),M=$[0],T=$[1]==null?F.length:$[1];M<0&&(M+=F.length),M=Math.max(0,Math.min(M-1,F.length)),T<0&&(T+=F.length),T=Math.max(0,Math.min(T,F.length)),N=F.slice(M,T).join(`
9
+ `),y.hasAttribute("data-start")||y.setAttribute("data-start",String(M+1))}x.textContent=N,r.highlightElement(x)},function(N){y.setAttribute(u,b),x.textContent=N})}}),r.plugins.fileHighlight={highlight:function(y){for(var x=(y||document).querySelectorAll(h),c=0,l;l=x[c++];)r.highlightElement(l)}};var S=!1;r.fileHighlight=function(){S||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),S=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}})()})(Ha)),Ha.exports}var wf=yf();const qa=vf(wf);var fs={},hs;function jf(){return hs||(hs=1,(function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),t.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var a=t.languages.extend("typescript",{});delete a["class-name"],t.languages.typescript["class-name"].inside=a,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:a}}}}),t.languages.ts=t.languages.typescript})(Prism)),fs}jf();Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(t){var a=t.util.clone(t.languages.javascript),r=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,s=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,n=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(f,m){return f=f.replace(/<S>/g,function(){return r}).replace(/<BRACES>/g,function(){return s}).replace(/<SPREAD>/g,function(){return n}),RegExp(f,m)}n=o(n).source,t.languages.jsx=t.languages.extend("markup",a),t.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=a.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var d=function(f){return f?typeof f=="string"?f:typeof f.content=="string"?f.content:f.content.map(d).join(""):""},u=function(f){for(var m=[],b=0;b<f.length;b++){var h=f[b],w=!1;if(typeof h!="string"&&(h.type==="tag"&&h.content[0]&&h.content[0].type==="tag"?h.content[0].content[0].content==="</"?m.length>0&&m[m.length-1].tagName===d(h.content[0].content[1])&&m.pop():h.content[h.content.length-1].content==="/>"||m.push({tagName:d(h.content[0].content[1]),openedBraces:0}):m.length>0&&h.type==="punctuation"&&h.content==="{"?m[m.length-1].openedBraces++:m.length>0&&m[m.length-1].openedBraces>0&&h.type==="punctuation"&&h.content==="}"?m[m.length-1].openedBraces--:w=!0),(w||typeof h=="string")&&m.length>0&&m[m.length-1].openedBraces===0){var k=d(h);b<f.length-1&&(typeof f[b+1]=="string"||f[b+1].type==="plain-text")&&(k+=d(f[b+1]),f.splice(b+1,1)),b>0&&(typeof f[b-1]=="string"||f[b-1].type==="plain-text")&&(k=d(f[b-1])+k,f.splice(b-1,1),b--),f[b]=new t.Token("plain-text",k,null,k)}h.content&&typeof h.content!="string"&&u(h.content)}};t.hooks.add("after-tokenize",function(f){f.language!=="jsx"&&f.language!=="tsx"||u(f.tokens)})})(Prism);(function(t){var a=t.util.clone(t.languages.typescript);t.languages.tsx=t.languages.extend("jsx",a),delete t.languages.tsx.parameter,delete t.languages.tsx["literal-property"];var r=t.languages.tsx.tag;r.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+r.pattern.source+")",r.pattern.flags),r.lookbehind=!0})(Prism);(function(t){var a=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+a.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+a.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+a.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+a.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:a,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var r=t.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(Prism);var ps={},gs;function Nf(){return gs||(gs=1,Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss),ps}Nf();Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(t){var a="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},s={bash:r,environment:{pattern:RegExp("\\$"+a),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+a),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};t.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+a),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:s},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:s},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:s.entity}}],environment:{pattern:RegExp("\\$?"+a),alias:"constant"},variable:s.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=t.languages.bash;for(var n=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=s.variable[1].inside,d=0;d<n.length;d++)o[n[d]]=t.languages.bash[n[d]];t.languages.sh=t.languages.bash,t.languages.shell=t.languages.bash})(Prism);var bs={},xs;function Sf(){return xs||(xs=1,Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python),bs}Sf();var vs={},ys;function kf(){return ys||(ys=1,(function(t){var a=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,s={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:s.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:s.inside}],keyword:a,function:[t.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:a,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return a.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism)),vs}kf();var ws={},js;function Cf(){return js||(js=1,(function(t){function a(H,_){return H.replace(/<<(\d+)>>/g,function(q,R){return"(?:"+_[+R]+")"})}function r(H,_,q){return RegExp(a(H,_),"")}function s(H,_){for(var q=0;q<_;q++)H=H.replace(/<<self>>/g,function(){return"(?:"+H+")"});return H.replace(/<<self>>/g,"[^\\s\\S]")}var n={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function o(H){return"\\b(?:"+H.trim().replace(/ /g,"|")+")\\b"}var d=o(n.typeDeclaration),u=RegExp(o(n.type+" "+n.typeDeclaration+" "+n.contextual+" "+n.other)),f=o(n.typeDeclaration+" "+n.contextual+" "+n.other),m=o(n.type+" "+n.typeDeclaration+" "+n.other),b=s(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),h=s(/\((?:[^()]|<<self>>)*\)/.source,2),w=/@?\b[A-Za-z_]\w*\b/.source,k=a(/<<0>>(?:\s*<<1>>)?/.source,[w,b]),S=a(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[f,k]),p=/\[\s*(?:,\s*)*\]/.source,y=a(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[S,p]),x=a(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[b,h,p]),c=a(/\(<<0>>+(?:,<<0>>+)+\)/.source,[x]),l=a(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[c,S,p]),g={keyword:u,punctuation:/[<>()?,.:[\]]/},v=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,N=/"(?:\\.|[^\\"\r\n])*"/.source,$=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;t.languages.csharp=t.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[$]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[N]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[S]),lookbehind:!0,inside:g},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[w,l]),lookbehind:!0,inside:g},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[w]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[d,k]),lookbehind:!0,inside:g},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[S]),lookbehind:!0,inside:g},{pattern:r(/(\bwhere\s+)<<0>>/.source,[w]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:g},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[l,m,w]),inside:g}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),t.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),t.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[w]),lookbehind:!0,alias:"punctuation"}}),t.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[w]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[h]),lookbehind:!0,alias:"class-name",inside:g},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[l,S]),inside:g,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[l]),lookbehind:!0,inside:g,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[w,b]),inside:{function:r(/^<<0>>/.source,[w]),generic:{pattern:RegExp(b),alias:"class-name",inside:g}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[d,k,w,l,u.source,h,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[k,h]),lookbehind:!0,greedy:!0,inside:t.languages.csharp},keyword:u,"class-name":{pattern:RegExp(l),greedy:!0,inside:g},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var F=N+"|"+v,M=a(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[F]),T=s(a(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[M]),2),P=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,L=a(/<<0>>(?:\s*\(<<1>>*\))?/.source,[S,T]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[P,L]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[P]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[T]),inside:t.languages.csharp},"class-name":{pattern:RegExp(S),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=/:[^}\r\n]+/.source,V=s(a(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[M]),2),X=a(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[V,A]),me=s(a(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[F]),2),se=a(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[me,A]);function Y(H,_){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[H]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[_,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:t.languages.csharp}}},string:/[\s\S]+/}}t.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[X]),lookbehind:!0,greedy:!0,inside:Y(X,V)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[se]),lookbehind:!0,greedy:!0,inside:Y(se,me)}],char:{pattern:RegExp(v),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp})(Prism)),ws}Cf();var Ns={},Ss;function Tf(){return Ss||(Ss=1,(function(t){var a=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,r=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],s=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:a,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:s,operator:n,punctuation:o};var d={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:t.languages.php},u=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:d}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:d}}];t.languages.insertBefore("php","variable",{string:u,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:a,string:u,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,number:s,operator:n,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",function(f){if(/<\?/.test(f.code)){var m=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;t.languages["markup-templating"].buildPlaceholders(f,"php",m)}}),t.hooks.add("after-tokenize",function(f){t.languages["markup-templating"].tokenizePlaceholders(f,"php")})})(Prism)),Ns}Tf();var ks={},Cs;function Ef(){return Cs||(Cs=1,(function(t){t.languages.ruby=t.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),t.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var a={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:t.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete t.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",s=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;t.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:a,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:a,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+s),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+s+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),t.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:a,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:a,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:a,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:a,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:a,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete t.languages.ruby.string,t.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),t.languages.rb=t.languages.ruby})(Prism)),ks}Ef();Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/});Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}});delete Prism.languages.go["class-name"];var Ts={},Es;function Pf(){return Es||(Es=1,(function(t){for(var a=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)a=a.replace(/<self>/g,function(){return a});a=a.replace(/<self>/g,function(){return/[^\s\S]/.source}),t.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},t.languages.rust["closure-params"].inside.rest=t.languages.rust,t.languages.rust.attribute.inside.string=t.languages.rust.string})(Prism)),Ts}Pf();Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};(function(t){var a=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(b){return b=b.replace(/<inner>/g,function(){return a}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+b+")")}var s=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,n=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return s}),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;t.languages.markdown=t.languages.extend("markup",{}),t.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:t.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+n+o+"(?:"+n+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+n+o+")(?:"+n+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(s),inside:t.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+n+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+n+"$"),inside:{"table-header":{pattern:RegExp(s),alias:"important",inside:t.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(b){["url","bold","italic","strike","code-snippet"].forEach(function(h){b!==h&&(t.languages.markdown[b].inside.content.inside[h]=t.languages.markdown[h])})}),t.hooks.add("after-tokenize",function(b){if(b.language!=="markdown"&&b.language!=="md")return;function h(w){if(!(!w||typeof w=="string"))for(var k=0,S=w.length;k<S;k++){var p=w[k];if(p.type!=="code"){h(p.content);continue}var y=p.content[1],x=p.content[3];if(y&&x&&y.type==="code-language"&&x.type==="code-block"&&typeof y.content=="string"){var c=y.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");c=(/[a-z][\w-]*/i.exec(c)||[""])[0].toLowerCase();var l="language-"+c;x.alias?typeof x.alias=="string"?x.alias=[x.alias,l]:x.alias.push(l):x.alias=[l]}}}h(b.tokens)}),t.hooks.add("wrap",function(b){if(b.type==="code-block"){for(var h="",w=0,k=b.classes.length;w<k;w++){var S=b.classes[w],p=/language-(.+)/.exec(S);if(p){h=p[1];break}}var y=t.languages[h];if(y)b.content=t.highlight(m(b.content),y,h);else if(h&&h!=="none"&&t.plugins.autoloader){var x="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);b.attributes.id=x,t.plugins.autoloader.loadLanguages(h,function(){var c=document.getElementById(x);c&&(c.innerHTML=t.highlight(c.textContent,t.languages[h],h))})}}});var d=RegExp(t.languages.markup.tag.pattern.source,"gi"),u={amp:"&",lt:"<",gt:">",quot:'"'},f=String.fromCodePoint||String.fromCharCode;function m(b){var h=b.replace(d,"");return h=h.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(w,k){if(k=k.toLowerCase(),k[0]==="#"){var S;return k[1]==="x"?S=parseInt(k.slice(2),16):S=Number(k.slice(1)),f(S)}else{var p=u[k];return p||w}}),h}t.languages.md=t.languages.markdown})(Prism);(function(t){var a=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,s="(?:"+r.source+"(?:[ ]+"+a.source+")?|"+a.source+"(?:[ ]+"+r.source+")?)",n=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function d(u,f){f=(f||"").replace(/m/g,"")+"m";var m=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return s}).replace(/<<value>>/g,function(){return u});return RegExp(m,f)}t.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return s})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return s}).replace(/<<key>>/g,function(){return"(?:"+n+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:d(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:d(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:d(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:d(o),lookbehind:!0,greedy:!0},number:{pattern:d(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:a,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},t.languages.yml=t.languages.yaml})(Prism);(function(t){var a=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source,r=/(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,function(){return a}),s=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source,n=/--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(/<STR>/g,function(){return s}),o={pattern:RegExp(s),greedy:!0},d={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function u(f,m){return f=f.replace(/<OPT>/g,function(){return n}).replace(/<SP>/g,function(){return r}),RegExp(f,m)}t.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:u(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:u(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:u(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:u(/(^ONBUILD<SP>)\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:d,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:d},t.languages.dockerfile=t.languages.docker})(Prism);Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m};const Ps=De.cva("relative rounded font-mono",{variants:{variant:{inline:"bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm",block:"block bg-muted overflow-x-auto"},size:{sm:"text-xs sm:text-sm",base:"text-sm sm:text-base",lg:"text-base sm:text-lg"}},defaultVariants:{variant:"inline",size:"base"}}),un=i.forwardRef(({className:t,variant:a,size:r,language:s,showLineNumbers:n=!1,maxHeight:o,copyable:d=!1,filename:u,theme:f="auto",children:m,...b},h)=>{const[w,k]=i.useState(!1),[S,p]=i.useState("");i.useRef(null),i.useEffect(()=>{if(a==="block"&&s&&m)try{const x=typeof m=="string"?m:String(m),c=qa.highlight(x,qa.languages[s]||qa.languages.text,s);p(c)}catch(x){console.warn(`Failed to highlight code for language: ${s}`,x),p(String(m))}else p(String(m))},[s,m,a]);const y=async()=>{if(typeof m=="string")try{await navigator.clipboard.writeText(m),k(!0),setTimeout(()=>k(!1),2e3)}catch(x){console.error("Failed to copy code:",x)}};return a==="block"?e.jsxs("div",{className:"relative my-4 sm:my-6",children:[(u||d)&&e.jsxs("div",{className:"flex items-center justify-between bg-muted/50 px-3 sm:px-4 py-2 sm:py-3 rounded-t-lg border-b",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[u&&e.jsxs("div",{className:"flex items-center gap-1.5 text-xs sm:text-sm text-muted-foreground",children:[e.jsx(E.FileText,{className:"h-3 w-3 sm:h-4 sm:w-4"}),e.jsx("span",{className:"font-medium",children:u})]}),s&&!u&&e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground uppercase font-medium",children:s})]}),d&&e.jsx(O,{variant:"ghost",size:"sm",onClick:y,className:"h-6 w-6 sm:h-7 sm:w-7 p-0 hover:bg-muted-foreground/10",children:w?e.jsx(E.Check,{className:"h-3 w-3 sm:h-4 sm:w-4 text-green-600"}):e.jsx(E.Copy,{className:"h-3 w-3 sm:h-4 sm:w-4"})})]}),e.jsx("div",{className:j("waka-code relative",o&&"overflow-hidden"),style:{maxHeight:o?`${o}px`:void 0},children:e.jsxs("pre",{className:j(Ps({variant:a,size:r}),"p-3 sm:p-4 lg:p-6","text-xs sm:text-sm lg:text-base","leading-relaxed sm:leading-loose","whitespace-pre-wrap break-words","scrollbar-thin scrollbar-thumb-muted-foreground/20 scrollbar-track-transparent","hover:scrollbar-thumb-muted-foreground/30",o&&"overflow-y-auto",!u&&!d&&s&&"rounded-lg",u||d?"rounded-b-lg":"rounded-lg",t),children:[n&&e.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-8 sm:w-10 lg:w-12 bg-muted/30 border-r border-border/50 flex flex-col text-xs sm:text-sm text-muted-foreground select-none",children:String(m).split(`
10
+ `).map((x,c)=>e.jsx("div",{className:"flex items-center justify-center h-5 sm:h-6 lg:h-7",children:c+1},c))}),e.jsx("code",{ref:h,className:j("block",n&&"ml-8 sm:ml-10 lg:ml-12",s&&"language-"+s),...b,dangerouslySetInnerHTML:a==="block"&&s?{__html:S}:void 0,children:a==="block"&&s?void 0:m})]})}),s&&!u&&!d&&e.jsx("div",{className:"absolute top-2 right-2 text-xs text-muted-foreground/70 bg-background/80 px-2 py-1 rounded uppercase font-medium",children:s})]}):e.jsx("code",{className:j(Ps({variant:a,size:r}),t),ref:h,...b,children:m})});un.displayName="Code";const Df=ir.Root,Mf=ir.CollapsibleTrigger,Rf=ir.CollapsibleContent,mn=he.Root,Af=he.Trigger,fn=he.Portal,$f=he.Close,jr=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Overlay,{ref:r,className:j("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a}));jr.displayName=he.Overlay.displayName;const Nr=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(fn,{children:[e.jsx(jr,{}),e.jsxs(he.Content,{ref:s,className:j("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...r,children:[a,e.jsxs(he.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(E.X,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Nr.displayName=he.Content.displayName;const hn=({className:t,...a})=>e.jsx("div",{className:j("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});hn.displayName="DialogHeader";const pn=({className:t,...a})=>e.jsx("div",{className:j("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});pn.displayName="DialogFooter";const gn=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Title,{ref:r,className:j("text-lg font-semibold leading-none tracking-tight",t),...a}));gn.displayName=he.Title.displayName;const bn=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Description,{ref:r,className:j("text-sm text-muted-foreground",t),...a}));bn.displayName=he.Description.displayName;const _t=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command,{ref:r,className:j("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...a}));_t.displayName=Le.Command.displayName;const Ff=({children:t,...a})=>e.jsx(mn,{...a,children:e.jsx(Nr,{className:"overflow-hidden p-0 shadow-lg",children:e.jsx(_t,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:t})})}),oa=i.forwardRef(({className:t,...a},r)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(E.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(Le.Command.Input,{ref:r,className:j("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...a})]}));oa.displayName=Le.Command.Input.displayName;const Sr=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.List,{ref:r,className:j("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...a}));Sr.displayName=Le.Command.List.displayName;const ia=i.forwardRef((t,a)=>e.jsx(Le.Command.Empty,{ref:a,className:"py-6 text-center text-sm",...t}));ia.displayName=Le.Command.Empty.displayName;const la=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.Group,{ref:r,className:j("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...a}));la.displayName=Le.Command.Group.displayName;const xn=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.Separator,{ref:r,className:j("-mx-1 h-px bg-border",t),...a}));xn.displayName=Le.Command.Separator.displayName;const ca=i.forwardRef(({className:t,...a},r)=>e.jsx(Le.Command.Item,{ref:r,className:j("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...a}));ca.displayName=Le.Command.Item.displayName;const vn=({className:t,...a})=>e.jsx("span",{className:j("ml-auto text-xs tracking-widest text-muted-foreground",t),...a});vn.displayName="CommandShortcut";const yn=be.Root,wn=be.Trigger,Lf=be.Group,If=be.Portal,Of=be.Sub,_f=be.RadioGroup,jn=i.forwardRef(({className:t,inset:a,children:r,...s},n)=>e.jsxs(be.SubTrigger,{ref:n,className:j("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a&&"pl-8",t),...s,children:[r,e.jsx(E.ChevronRight,{className:"ml-auto h-4 w-4"})]}));jn.displayName=be.SubTrigger.displayName;const Nn=i.forwardRef(({className:t,...a},r)=>e.jsx(be.SubContent,{ref:r,className:j("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Nn.displayName=be.SubContent.displayName;const kr=i.forwardRef(({className:t,...a},r)=>e.jsx(be.Portal,{children:e.jsx(be.Content,{ref:r,className:j("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a})}));kr.displayName=be.Content.displayName;const it=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(be.Item,{ref:s,className:j("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",t),...r}));it.displayName=be.Item.displayName;const Sn=i.forwardRef(({className:t,children:a,checked:r,...s},n)=>e.jsxs(be.CheckboxItem,{ref:n,className:j("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(be.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),a]}));Sn.displayName=be.CheckboxItem.displayName;const kn=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(be.RadioItem,{ref:s,className:j("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(be.ItemIndicator,{children:e.jsx(E.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));kn.displayName=be.RadioItem.displayName;const Cn=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(be.Label,{ref:s,className:j("px-2 py-1.5 text-sm font-semibold text-foreground",a&&"pl-8",t),...r}));Cn.displayName=be.Label.displayName;const Kt=i.forwardRef(({className:t,...a},r)=>e.jsx(be.Separator,{ref:r,className:j("-mx-1 my-1 h-px bg-border",t),...a}));Kt.displayName=be.Separator.displayName;const Tn=({className:t,...a})=>e.jsx("span",{className:j("ml-auto text-xs tracking-widest text-muted-foreground",t),...a});Tn.displayName="ContextMenuShortcut";const Zt=xe.Root,Qt=xe.Trigger,zf=xe.Group,Vf=xe.Portal,Wf=xe.Sub,Hf=xe.RadioGroup,En=i.forwardRef(({className:t,inset:a,children:r,...s},n)=>e.jsxs(xe.SubTrigger,{ref:n,className:j("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",t),...s,children:[r,e.jsx(E.ChevronRight,{className:"ml-auto h-4 w-4"})]}));En.displayName=xe.SubTrigger.displayName;const Pn=i.forwardRef(({className:t,...a},r)=>e.jsx(xe.SubContent,{ref:r,className:j("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Pn.displayName=xe.SubContent.displayName;const Lt=i.forwardRef(({className:t,sideOffset:a=4,...r},s)=>e.jsx(xe.Portal,{children:e.jsx(xe.Content,{ref:s,sideOffset:a,className:j("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r})}));Lt.displayName=xe.Content.displayName;const Cr=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(xe.Item,{ref:s,className:j("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",t),...r}));Cr.displayName=xe.Item.displayName;const Tt=i.forwardRef(({className:t,children:a,checked:r,...s},n)=>e.jsxs(xe.CheckboxItem,{ref:n,className:j("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(xe.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),a]}));Tt.displayName=xe.CheckboxItem.displayName;const Dn=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(xe.RadioItem,{ref:s,className:j("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(xe.ItemIndicator,{children:e.jsx(E.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));Dn.displayName=xe.RadioItem.displayName;const ea=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(xe.Label,{ref:s,className:j("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",t),...r}));ea.displayName=xe.Label.displayName;const ta=i.forwardRef(({className:t,...a},r)=>e.jsx(xe.Separator,{ref:r,className:j("-mx-1 my-1 h-px bg-muted",t),...a}));ta.displayName=xe.Separator.displayName;const Mn=({className:t,...a})=>e.jsx("span",{className:j("ml-auto text-xs tracking-widest opacity-60",t),...a});Mn.displayName="DropdownMenuShortcut";var qf=t=>t.type==="checkbox",Yt=t=>t instanceof Date,Tr=t=>t==null;const Rn=t=>typeof t=="object";var Mt=t=>!Tr(t)&&!Array.isArray(t)&&Rn(t)&&!Yt(t),Uf=t=>Mt(t)&&t.target?qf(t.target)?t.target.checked:t.target.value:t,Bf=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,Gf=(t,a)=>t.has(Bf(a)),Xf=t=>{const a=t.constructor&&t.constructor.prototype;return Mt(a)&&a.hasOwnProperty("isPrototypeOf")},Jf=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function An(t){let a;const r=Array.isArray(t),s=typeof FileList<"u"?t instanceof FileList:!1;if(t instanceof Date)a=new Date(t);else if(!(Jf&&(t instanceof Blob||s))&&(r||Mt(t)))if(a=r?[]:Object.create(Object.getPrototypeOf(t)),!r&&!Xf(t))a=t;else for(const n in t)t.hasOwnProperty(n)&&(a[n]=An(t[n]));else return t;return a}var $n=t=>/^\w*$/.test(t),ar=t=>t===void 0,Yf=t=>Array.isArray(t)?t.filter(Boolean):[],Fn=t=>Yf(t.replace(/["|']|\]/g,"").split(/\.|\[/)),Fe=(t,a,r)=>{if(!a||!Mt(t))return r;const s=($n(a)?[a]:Fn(a)).reduce((n,o)=>Tr(n)?n:n[o],t);return ar(s)||s===t?ar(t[a])?r:t[a]:s},Ua=t=>typeof t=="boolean",Ds=(t,a,r)=>{let s=-1;const n=$n(a)?[a]:Fn(a),o=n.length,d=o-1;for(;++s<o;){const u=n[s];let f=r;if(s!==d){const m=t[u];f=Mt(m)||Array.isArray(m)?m:isNaN(+n[s+1])?{}:[]}if(u==="__proto__"||u==="constructor"||u==="prototype")return;t[u]=f,t=t[u]}};const Ms={BLUR:"blur",CHANGE:"change"},Rs={all:"all"},Er=C.createContext(null);Er.displayName="HookFormContext";const $a=()=>C.useContext(Er),Kf=t=>{const{children:a,...r}=t;return C.createElement(Er.Provider,{value:r},a)};var Zf=(t,a,r,s=!0)=>{const n={defaultValues:a._defaultValues};for(const o in t)Object.defineProperty(n,o,{get:()=>{const d=o;return a._proxyFormState[d]!==Rs.all&&(a._proxyFormState[d]=!s||Rs.all),r&&(r[d]=!0),t[d]}});return n};const Ln=typeof window<"u"?C.useLayoutEffect:C.useEffect;function Qf(t){const a=$a(),{control:r=a.control,disabled:s,name:n,exact:o}=t||{},[d,u]=C.useState(r._formState),f=C.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ln(()=>r._subscribe({name:n,formState:f.current,exact:o,callback:m=>{!s&&u({...r._formState,...m})}}),[n,s,o]),C.useEffect(()=>{f.current.isValid&&r._setValid(!0)},[r]),C.useMemo(()=>Zf(d,r,f.current,!1),[d,r])}var eh=t=>typeof t=="string",th=(t,a,r,s,n)=>eh(t)?Fe(r,t,n):Array.isArray(t)?t.map(o=>Fe(r,o)):r,As=t=>Tr(t)||!Rn(t);function In(t,a,r=new WeakSet){if(As(t)||As(a))return t===a;if(Yt(t)&&Yt(a))return t.getTime()===a.getTime();const s=Object.keys(t),n=Object.keys(a);if(s.length!==n.length)return!1;if(r.has(t)||r.has(a))return!0;r.add(t),r.add(a);for(const o of s){const d=t[o];if(!n.includes(o))return!1;if(o!=="ref"){const u=a[o];if(Yt(d)&&Yt(u)||Mt(d)&&Mt(u)||Array.isArray(d)&&Array.isArray(u)?!In(d,u,r):d!==u)return!1}}return!0}function ah(t){const a=$a(),{control:r=a.control,name:s,defaultValue:n,disabled:o,exact:d,compute:u}=t||{},f=C.useRef(n),m=C.useRef(u),b=C.useRef(void 0);m.current=u;const h=C.useMemo(()=>r._getWatch(s,f.current),[r,s]),[w,k]=C.useState(m.current?m.current(h):h);return Ln(()=>r._subscribe({name:s,formState:{values:!0},exact:d,callback:S=>{if(!o){const p=th(s,r._names,S.values||r._formValues,!1,f.current);if(m.current){const y=m.current(p);In(y,b.current)||(k(y),b.current=y)}else k(p)}}}),[r,o,s,d]),C.useEffect(()=>r._removeUnmounted()),w}function rh(t){const a=$a(),{name:r,disabled:s,control:n=a.control,shouldUnregister:o,defaultValue:d}=t,u=Gf(n._names.array,r),f=C.useMemo(()=>Fe(n._formValues,r,Fe(n._defaultValues,r,d)),[n,r,d]),m=ah({control:n,name:r,defaultValue:f,exact:!0}),b=Qf({control:n,name:r,exact:!0}),h=C.useRef(t),w=C.useRef(void 0),k=C.useRef(n.register(r,{...t.rules,value:m,...Ua(t.disabled)?{disabled:t.disabled}:{}}));h.current=t;const S=C.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Fe(b.errors,r)},isDirty:{enumerable:!0,get:()=>!!Fe(b.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!Fe(b.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!Fe(b.validatingFields,r)},error:{enumerable:!0,get:()=>Fe(b.errors,r)}}),[b,r]),p=C.useCallback(l=>k.current.onChange({target:{value:Uf(l),name:r},type:Ms.CHANGE}),[r]),y=C.useCallback(()=>k.current.onBlur({target:{value:Fe(n._formValues,r),name:r},type:Ms.BLUR}),[r,n._formValues]),x=C.useCallback(l=>{const g=Fe(n._fields,r);g&&l&&(g._f.ref={focus:()=>l.focus&&l.focus(),select:()=>l.select&&l.select(),setCustomValidity:v=>l.setCustomValidity(v),reportValidity:()=>l.reportValidity()})},[n._fields,r]),c=C.useMemo(()=>({name:r,value:m,...Ua(s)||b.disabled?{disabled:b.disabled||s}:{},onChange:p,onBlur:y,ref:x}),[r,s,b.disabled,p,y,x,m]);return C.useEffect(()=>{const l=n._options.shouldUnregister||o,g=w.current;g&&g!==r&&!u&&n.unregister(g),n.register(r,{...h.current.rules,...Ua(h.current.disabled)?{disabled:h.current.disabled}:{}});const v=(N,$)=>{const F=Fe(n._fields,N);F&&F._f&&(F._f.mount=$)};if(v(r,!0),l){const N=An(Fe(n._options.defaultValues,r,h.current.defaultValue));Ds(n._defaultValues,r,N),ar(Fe(n._formValues,r))&&Ds(n._formValues,r,N)}return!u&&n.register(r),w.current=r,()=>{(u?l&&!n._state.action:l)?n.unregister(r):v(r,!1)}},[r,n,u,o]),C.useEffect(()=>{n._setDisabledField({disabled:s,name:r})},[s,r,n]),C.useMemo(()=>({field:c,formState:b,fieldState:S}),[c,b,S])}const On=t=>t.render(rh(t)),sh=De.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ge=i.forwardRef(({className:t,...a},r)=>e.jsx(Is.Root,{ref:r,className:j(sh(),t),...a}));ge.displayName=Is.Root.displayName;const nh=Kf,_n=i.createContext({}),oh=({...t})=>e.jsx(_n.Provider,{value:{name:t.name},children:e.jsx(On,{...t})}),ha=()=>{const t=i.useContext(_n),a=i.useContext(zn),{getFieldState:r,formState:s}=$a(),n=r(t.name,s);if(!t)throw new Error("useFormField should be used within <FormField>");const{id:o}=a;return{id:o,name:t.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...n}},zn=i.createContext({}),Vn=i.forwardRef(({className:t,...a},r)=>{const s=i.useId();return e.jsx(zn.Provider,{value:{id:s},children:e.jsx("div",{ref:r,className:j("space-y-2",t),...a})})});Vn.displayName="FormItem";const Wn=i.forwardRef(({className:t,...a},r)=>{const{error:s,formItemId:n}=ha();return e.jsx(ge,{ref:r,className:j(s&&"text-destructive",t),htmlFor:n,...a})});Wn.displayName="FormLabel";const Hn=i.forwardRef(({...t},a)=>{const{error:r,formItemId:s,formDescriptionId:n,formMessageId:o}=ha();return e.jsx(Ra.Slot,{ref:a,id:s,"aria-describedby":r?`${n} ${o}`:`${n}`,"aria-invalid":!!r,...t})});Hn.displayName="FormControl";const qn=i.forwardRef(({className:t,...a},r)=>{const{formDescriptionId:s}=ha();return e.jsx("p",{ref:r,id:s,className:j("text-sm text-muted-foreground",t),...a})});qn.displayName="FormDescription";const Un=i.forwardRef(({className:t,children:a,...r},s)=>{const{error:n,formMessageId:o}=ha(),d=n?String(n?.message):a;return d?e.jsx("p",{ref:s,id:o,className:j("text-sm font-medium text-destructive",t),...r,children:d}):null});Un.displayName="FormMessage";const ih=Aa.Root,lh=Aa.Trigger,Bn=i.forwardRef(({className:t,align:a="center",sideOffset:r=4,...s},n)=>e.jsx(Aa.Content,{ref:n,align:a,sideOffset:r,className:j("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s}));Bn.displayName=Aa.Content.displayName;const Gn=i.forwardRef(({length:t=6,value:a="",onChange:r,onComplete:s,pattern:n="numeric",secure:o=!1,disabled:d=!1,className:u,error:f,size:m="md",separator:b,separatorElement:h=e.jsx("span",{className:"text-muted-foreground",children:"-"}),...w},k)=>{const[S,p]=i.useState(a.split("").slice(0,t)),y=i.useRef([]);i.useEffect(()=>{const F=a.split("").slice(0,t);p(F)},[a,t]);const c=(()=>{switch(n){case"numeric":return/^[0-9]$/;case"alpha":return/^[a-zA-Z]$/;case"alphanumeric":return/^[a-zA-Z0-9]$/;default:return/^.$/}})(),l=(F,M)=>{if(d)return;const T=M.slice(-1);if(T&&!c.test(T))return;const P=[...S];P[F]=T,p(P);const L=P.join("");r?.(L),T&&F<t-1&&y.current[F+1]?.focus(),P.every(A=>A!=="")&&P.length===t&&s?.(L)},g=(F,M)=>{if(!d){if(M.key==="Backspace"){M.preventDefault();const T=[...S];T[F]?(T[F]="",p(T),r?.(T.join(""))):F>0&&(T[F-1]="",p(T),r?.(T.join("")),y.current[F-1]?.focus())}if(M.key==="Delete"){M.preventDefault();const T=[...S];T[F]="",p(T),r?.(T.join(""))}M.key==="ArrowLeft"&&F>0&&(M.preventDefault(),y.current[F-1]?.focus()),M.key==="ArrowRight"&&F<t-1&&(M.preventDefault(),y.current[F+1]?.focus()),M.key==="Home"&&(M.preventDefault(),y.current[0]?.focus()),M.key==="End"&&(M.preventDefault(),y.current[t-1]?.focus())}},v=F=>{if(F.preventDefault(),d)return;const T=F.clipboardData.getData("text/plain").split("").filter(A=>c.test(A)).slice(0,t),P=[...S];T.forEach((A,V)=>{P[V]=A}),p(P),r?.(P.join(""));const L=P.findIndex(A=>!A);L!==-1?y.current[L]?.focus():y.current[t-1]?.focus(),P.every(A=>A!=="")&&P.length===t&&s?.(P.join(""))},N=F=>{F.target.select()},$={sm:"h-8 w-8 text-sm",md:"h-12 w-12 text-base",lg:"h-16 w-16 text-lg"}[m];return e.jsxs("div",{ref:k,className:j("flex flex-col gap-2",u),children:[e.jsx("div",{className:"flex items-center gap-2",children:Array.from({length:t}).map((F,M)=>e.jsxs(i.Fragment,{children:[e.jsx("input",{ref:T=>y.current[M]=T,type:o?"password":"text",inputMode:n==="numeric"?"numeric":"text",maxLength:1,value:S[M]||"",onChange:T=>l(M,T.target.value),onKeyDown:T=>g(M,T),onPaste:v,onFocus:N,disabled:d,className:j("flex items-center justify-center rounded-md border border-input bg-background text-center font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",$,f&&"border-destructive focus-visible:ring-destructive",S[M]&&"border-primary"),"aria-label":`Caractère ${M+1} sur ${t}`,...w}),b&&(M+1)%b===0&&M<t-1&&e.jsx("div",{className:"flex items-center justify-center",children:h})]},M))}),f&&e.jsx("p",{className:"text-sm text-destructive",role:"alert",children:f})]})});Gn.displayName="InputOTP";const fe=i.forwardRef(({className:t,type:a,...r},s)=>e.jsx("input",{type:a,className:j("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:s,...r}));fe.displayName="Input";const ut=Ce.Root,ch=Ce.Group,mt=Ce.Value,rt=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ce.Trigger,{ref:s,className:j("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...r,children:[a,e.jsx(Ce.Icon,{asChild:!0,children:e.jsx(E.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));rt.displayName=Ce.Trigger.displayName;const Pr=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.ScrollUpButton,{ref:r,className:j("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(E.ChevronUp,{className:"h-4 w-4"})}));Pr.displayName=Ce.ScrollUpButton.displayName;const Dr=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.ScrollDownButton,{ref:r,className:j("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(E.ChevronDown,{className:"h-4 w-4"})}));Dr.displayName=Ce.ScrollDownButton.displayName;const st=i.forwardRef(({className:t,children:a,position:r="popper",...s},n)=>e.jsx(Ce.Portal,{children:e.jsxs(Ce.Content,{ref:n,className:j("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:r,...s,children:[e.jsx(Pr,{}),e.jsx(Ce.Viewport,{className:j("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),e.jsx(Dr,{})]})}));st.displayName=Ce.Content.displayName;const Xn=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.Label,{ref:r,className:j("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...a}));Xn.displayName=Ce.Label.displayName;const Qe=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ce.Item,{ref:s,className:j("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Ce.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),e.jsx(Ce.ItemText,{children:a})]}));Qe.displayName=Ce.Item.displayName;const Jn=i.forwardRef(({className:t,...a},r)=>e.jsx(Ce.Separator,{ref:r,className:j("-mx-1 my-1 h-px bg-muted",t),...a}));Jn.displayName=Ce.Separator.displayName;function dh({languages:t,value:a,onChange:r,showFlags:s=!0,showLabels:n=!0,variant:o="default",isLoading:d=!1,className:u,placeholder:f="Select language",ariaLabel:m="Select language"}){const[b,h]=i.useState(!1),[w,k]=i.useState(!1),S=i.useRef(null),p=i.useRef(null);i.useEffect(()=>{k(!0)},[]);const y=t.find(v=>v.code===a),x=v=>{r?.(v),h(!1)},[c,l]=i.useState({top:0,left:0});if(i.useEffect(()=>{if(b&&S.current&&w){const v=S.current.getBoundingClientRect();l({top:v.bottom+8,left:v.left})}},[b,w]),o==="default")return e.jsxs(ut,{value:a,onValueChange:r,disabled:d,children:[e.jsx(rt,{className:j("w-[180px]",u),children:e.jsx(mt,{placeholder:f,children:y&&e.jsxs("div",{className:"flex items-center gap-2",children:[s&&y.flagEmoji&&e.jsx("span",{className:"text-lg",children:y.flagEmoji}),s&&y.flag&&!y.flagEmoji&&e.jsx("img",{src:y.flag,alt:y.label,className:"h-4 w-6 object-cover rounded"}),!s&&e.jsx(E.Globe,{className:"h-4 w-4 text-muted-foreground"}),n&&e.jsx("span",{children:y.label})]})})}),e.jsx(st,{children:t.map(v=>e.jsx(Qe,{value:v.code,children:e.jsxs("div",{className:"flex items-center gap-2",children:[s&&v.flagEmoji&&e.jsx("span",{className:"text-lg",children:v.flagEmoji}),s&&v.flag&&!v.flagEmoji&&e.jsx("img",{src:v.flag,alt:v.label,className:"h-4 w-6 object-cover rounded"}),n&&v.label]})},v.code))})]});if(o==="minimal"){const v=b&&w?e.jsx("div",{ref:p,className:"fixed z-[9999] min-w-[160px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg",style:{top:`${c.top}px`,left:`${c.left}px`},onMouseDown:N=>N.stopPropagation(),children:e.jsx("div",{className:"grid gap-1",children:t.map(N=>e.jsxs("button",{onMouseDown:$=>{$.preventDefault(),$.stopPropagation(),x(N.code)},type:"button",className:j("flex items-center gap-2 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer",a===N.code&&"bg-accent"),children:[N.flagEmoji&&e.jsx("span",{className:"text-lg",children:N.flagEmoji}),N.flag&&!N.flagEmoji&&e.jsx("img",{src:N.flag,alt:N.label,className:"h-4 w-6 object-cover rounded"}),e.jsx("span",{className:"flex-1 text-left",children:N.label}),a===N.code&&e.jsx(E.Check,{className:"h-4 w-4 shrink-0"})]},N.code))})}):null;return e.jsxs(e.Fragment,{children:[e.jsxs("button",{ref:S,onClick:N=>{N.preventDefault(),N.stopPropagation(),h(!b)},className:j("flex h-9 w-9 items-center justify-center rounded-md border border-input bg-transparent hover:bg-accent hover:text-accent-foreground transition-colors",u),title:"Changer de langue",type:"button",disabled:d,children:[y?.flagEmoji?e.jsx("span",{className:"text-lg",children:y.flagEmoji}):e.jsx(E.Globe,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:m})]}),w&&typeof document<"u"&&v&&Ya.createPortal(e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-[9998]",onMouseDown:N=>{N.preventDefault(),h(!1)}}),v]}),document.body)]})}const g=b&&w?e.jsx("div",{ref:p,className:"fixed z-[9999] min-w-[180px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg",style:{top:`${c.top}px`,left:`${c.left}px`},onMouseDown:v=>v.stopPropagation(),children:e.jsx("div",{className:"grid gap-1",children:t.map(v=>e.jsxs("button",{onMouseDown:N=>{N.preventDefault(),N.stopPropagation(),x(v.code)},type:"button",className:j("flex items-center gap-2 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer",a===v.code&&"bg-accent"),children:[s&&v.flagEmoji&&e.jsx("span",{className:"text-lg",children:v.flagEmoji}),s&&v.flag&&!v.flagEmoji&&e.jsx("img",{src:v.flag,alt:v.label,className:"h-4 w-6 object-cover rounded"}),e.jsx("span",{className:"flex-1 text-left",children:v.label}),a===v.code&&e.jsx(E.Check,{className:"h-4 w-4 shrink-0"})]},v.code))})}):null;return e.jsxs(e.Fragment,{children:[e.jsxs("button",{ref:S,onClick:v=>{v.preventDefault(),v.stopPropagation(),d||h(!b)},className:j("inline-flex items-center gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors",d&&"opacity-50 cursor-not-allowed",u),disabled:d,type:"button","aria-label":m,children:[s&&y?.flagEmoji&&e.jsx("span",{className:"text-lg",children:y.flagEmoji}),s&&y?.flag&&!y?.flagEmoji&&e.jsx("img",{src:y.flag,alt:y.label,className:"h-4 w-6 object-cover rounded"}),!s&&e.jsx(E.Globe,{className:"h-4 w-4"}),n&&e.jsx("span",{children:y?.label||"Langue"}),e.jsx(E.ChevronDown,{className:"h-4 w-4"})]}),w&&typeof document<"u"&&g&&Ya.createPortal(e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-[9998]",onMouseDown:v=>{v.preventDefault(),h(!1)}}),g]}),document.body)]})}const uh=ue.Menu,mh=ue.Group,fh=ue.Portal,hh=ue.Sub,ph=ue.RadioGroup,Yn=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.Root,{ref:r,className:j("flex h-10 items-center space-x-1 rounded-md border bg-background p-1",t),...a}));Yn.displayName=ue.Root.displayName;const Kn=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.Trigger,{ref:r,className:j("flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t),...a}));Kn.displayName=ue.Trigger.displayName;const Zn=i.forwardRef(({className:t,inset:a,children:r,...s},n)=>e.jsxs(ue.SubTrigger,{ref:n,className:j("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a&&"pl-8",t),...s,children:[r,e.jsx(E.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Zn.displayName=ue.SubTrigger.displayName;const Qn=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.SubContent,{ref:r,className:j("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Qn.displayName=ue.SubContent.displayName;const eo=i.forwardRef(({className:t,align:a="start",alignOffset:r=-4,sideOffset:s=8,...n},o)=>e.jsx(ue.Portal,{children:e.jsx(ue.Content,{ref:o,align:a,alignOffset:r,sideOffset:s,className:j("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n})}));eo.displayName=ue.Content.displayName;const to=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(ue.Item,{ref:s,className:j("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",t),...r}));to.displayName=ue.Item.displayName;const ao=i.forwardRef(({className:t,children:a,checked:r,...s},n)=>e.jsxs(ue.CheckboxItem,{ref:n,className:j("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(ue.ItemIndicator,{children:e.jsx(E.Check,{className:"h-4 w-4"})})}),a]}));ao.displayName=ue.CheckboxItem.displayName;const ro=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(ue.RadioItem,{ref:s,className:j("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(ue.ItemIndicator,{children:e.jsx(E.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));ro.displayName=ue.RadioItem.displayName;const so=i.forwardRef(({className:t,inset:a,...r},s)=>e.jsx(ue.Label,{ref:s,className:j("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",t),...r}));so.displayName=ue.Label.displayName;const no=i.forwardRef(({className:t,...a},r)=>e.jsx(ue.Separator,{ref:r,className:j("-mx-1 my-1 h-px bg-muted",t),...a}));no.displayName=ue.Separator.displayName;const oo=({className:t,...a})=>e.jsx("span",{className:j("ml-auto text-xs tracking-widest text-muted-foreground",t),...a});oo.displayName="MenubarShortcut";const io=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ie.Root,{ref:s,className:j("relative z-10 flex max-w-max flex-1 items-center justify-center",t),...r,children:[a,e.jsx(Mr,{})]}));io.displayName=Ie.Root.displayName;const lo=i.forwardRef(({className:t,...a},r)=>e.jsx(Ie.List,{ref:r,className:j("group flex flex-1 list-none items-center justify-center space-x-1",t),...a}));lo.displayName=Ie.List.displayName;const gh=Ie.Item,co=De.cva("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),uo=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Ie.Trigger,{ref:s,className:j(co(),"group",t),...r,children:[a," ",e.jsx(E.ChevronDown,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));uo.displayName=Ie.Trigger.displayName;const mo=i.forwardRef(({className:t,...a},r)=>e.jsx(Ie.Content,{ref:r,className:j("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",t),...a}));mo.displayName=Ie.Content.displayName;const bh=Ie.Link,Mr=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{className:j("absolute left-0 top-full flex justify-center"),children:e.jsx(Ie.Viewport,{className:j("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",t),ref:r,...a})}));Mr.displayName=Ie.Viewport.displayName;const fo=i.forwardRef(({className:t,...a},r)=>e.jsx(Ie.Indicator,{ref:r,className:j("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",t),...a,children:e.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));fo.displayName=Ie.Indicator.displayName;const xt=ra.Root,vt=ra.Trigger,dt=i.forwardRef(({className:t,align:a="center",sideOffset:r=4,...s},n)=>e.jsx(ra.Portal,{children:e.jsx(ra.Content,{ref:n,align:a,sideOffset:r,className:j("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s})}));dt.displayName=ra.Content.displayName;const ho=i.forwardRef(({className:t,value:a,...r},s)=>e.jsx(Za.Root,{ref:s,className:j("relative h-4 w-full overflow-hidden rounded-full bg-secondary",t),...r,children:e.jsx(Za.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(a||0)}%)`}})}));ho.displayName=Za.Root.displayName;const po=i.forwardRef(({className:t,...a},r)=>e.jsx(sa.Root,{className:j("grid gap-2",t),...a,ref:r}));po.displayName=sa.Root.displayName;const go=i.forwardRef(({className:t,...a},r)=>e.jsx(sa.Item,{ref:r,className:j("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:e.jsx(sa.Indicator,{className:"flex items-center justify-center",children:e.jsx(E.Circle,{className:"h-2.5 w-2.5 fill-current text-current"})})}));go.displayName=sa.Item.displayName;const It=i.forwardRef(({className:t,children:a,...r},s)=>e.jsxs(Et.Root,{ref:s,className:j("relative overflow-hidden",t),...r,children:[e.jsx(Et.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),e.jsx(Rr,{}),e.jsx(Et.Corner,{})]}));It.displayName=Et.Root.displayName;const Rr=i.forwardRef(({className:t,orientation:a="vertical",...r},s)=>e.jsx(Et.ScrollAreaScrollbar,{ref:s,orientation:a,className:j("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...r,children:e.jsx(Et.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));Rr.displayName=Et.ScrollAreaScrollbar.displayName;const At=i.forwardRef(({className:t,orientation:a="horizontal",decorative:r=!0,...s},n)=>e.jsx(Os.Root,{ref:n,decorative:r,orientation:a,className:j("shrink-0 bg-border",a==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...s}));At.displayName=Os.Root.displayName;const Ar=he.Root,$r=he.Trigger,xh=he.Close,bo=he.Portal,Fr=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Overlay,{className:j("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a,ref:r}));Fr.displayName=he.Overlay.displayName;const vh=De.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Fa=i.forwardRef(({side:t="right",className:a,children:r,...s},n)=>e.jsxs(bo,{children:[e.jsx(Fr,{}),e.jsxs(he.Content,{ref:n,className:j(vh({side:t}),a),...s,children:[r,e.jsxs(he.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(E.X,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Fa.displayName=he.Content.displayName;const Lr=({className:t,...a})=>e.jsx("div",{className:j("flex flex-col space-y-2 text-center sm:text-left",t),...a});Lr.displayName="SheetHeader";const xo=({className:t,...a})=>e.jsx("div",{className:j("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});xo.displayName="SheetFooter";const Ir=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Title,{ref:r,className:j("text-lg font-semibold text-foreground",t),...a}));Ir.displayName=he.Title.displayName;const Or=i.forwardRef(({className:t,...a},r)=>e.jsx(he.Description,{ref:r,className:j("text-sm text-muted-foreground",t),...a}));Or.displayName=he.Description.displayName;function yh({className:t,...a}){return e.jsx("div",{className:j("animate-pulse rounded-md bg-muted",t),...a})}const vo=i.forwardRef(({className:t,...a},r)=>e.jsxs(Jt.Root,{ref:r,className:j("relative flex w-full touch-none select-none items-center",t),...a,children:[e.jsx(Jt.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:e.jsx(Jt.Range,{className:"absolute h-full bg-primary"})}),e.jsx(Jt.Thumb,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));vo.displayName=Jt.Root.displayName;const _r=i.forwardRef(({className:t,...a},r)=>e.jsx(Qa.Root,{className:j("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...a,ref:r,children:e.jsx(Qa.Thumb,{className:j("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));_r.displayName=Qa.Root.displayName;const yo=i.forwardRef(({className:t,...a},r)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:r,className:j("w-full caption-bottom text-sm",t),...a})}));yo.displayName="Table";const wo=i.forwardRef(({className:t,...a},r)=>e.jsx("thead",{ref:r,className:j("[&_tr]:border-b",t),...a}));wo.displayName="TableHeader";const jo=i.forwardRef(({className:t,...a},r)=>e.jsx("tbody",{ref:r,className:j("[&_tr:last-child]:border-0",t),...a}));jo.displayName="TableBody";const No=i.forwardRef(({className:t,...a},r)=>e.jsx("tfoot",{ref:r,className:j("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...a}));No.displayName="TableFooter";const So=i.forwardRef(({className:t,...a},r)=>e.jsx("tr",{ref:r,className:j("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...a}));So.displayName="TableRow";const ko=i.forwardRef(({className:t,...a},r)=>e.jsx("th",{ref:r,className:j("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",t),...a}));ko.displayName="TableHead";const Co=i.forwardRef(({className:t,...a},r)=>e.jsx("td",{ref:r,className:j("p-4 align-middle [&:has([role=checkbox])]:pr-0",t),...a}));Co.displayName="TableCell";const To=i.forwardRef(({className:t,...a},r)=>e.jsx("caption",{ref:r,className:j("mt-4 text-sm text-muted-foreground",t),...a}));To.displayName="TableCaption";const zr=Rt.Root,La=i.forwardRef(({className:t,...a},r)=>e.jsx(Rt.List,{ref:r,className:j("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",t),...a}));La.displayName=Rt.List.displayName;const da=i.forwardRef(({className:t,...a},r)=>e.jsx(Rt.Trigger,{ref:r,className:j("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",t),...a}));da.displayName=Rt.Trigger.displayName;const ua=i.forwardRef(({className:t,...a},r)=>e.jsx(Rt.Content,{ref:r,className:j("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...a}));ua.displayName=Rt.Content.displayName;const pa=i.forwardRef(({className:t,...a},r)=>e.jsx("textarea",{className:j("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:r,...a}));pa.displayName="Textarea";const Eo=i.forwardRef(({className:t,variant:a="default",ariaLabel:r="Select theme"},s)=>{const{currentTheme:n,changeTheme:o,themes:d,isLoading:u}=ga(),[f,m]=i.useState(!1),[b,h]=i.useState(!1),w=i.useRef(null),k=i.useRef(null);i.useEffect(()=>{h(!0)},[]);const S=async(x,c)=>{c&&(c.preventDefault(),c.stopPropagation()),await o(x),a==="compact"&&setTimeout(()=>m(!1),100)},[p,y]=i.useState({top:0,right:0});if(i.useEffect(()=>{if(f&&w.current&&b){const x=w.current.getBoundingClientRect();y({top:x.bottom+8,right:window.innerWidth-x.right})}},[f,b]),a==="compact"){const x=f&&b?e.jsxs("div",{ref:k,className:"fixed z-[9999] min-w-[220px] rounded-md border border-border bg-popover text-popover-foreground p-2 shadow-lg",style:{top:`${p.top}px`,right:`${p.right}px`},onMouseDown:c=>{c.stopPropagation()},children:[e.jsx("div",{className:"px-2 py-1.5 border-b border-border mb-2",children:e.jsxs("div",{className:"text-xs font-medium text-muted-foreground flex items-center justify-between",children:[e.jsx("span",{children:"Thèmes"}),u&&e.jsx(E.Loader2,{className:"h-3 w-3 animate-spin"})]})}),u&&d.length===0?e.jsxs("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:[e.jsx(E.Loader2,{className:"h-4 w-4 mr-2 animate-spin"}),"Chargement..."]}):e.jsxs("div",{className:"grid gap-1",children:[d.map(c=>e.jsxs("button",{onMouseDown:l=>{l.preventDefault(),l.stopPropagation(),S(c.id,l)},type:"button",className:j("flex items-center gap-3 rounded-sm px-2 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors cursor-pointer",n===c.id&&"bg-accent"),children:[c.previewColor&&e.jsx("div",{className:"h-4 w-4 rounded border border-border shrink-0",style:{backgroundColor:c.previewColor}}),e.jsx("span",{className:"flex-1 text-left",children:c.label}),n===c.id&&e.jsx(E.Check,{className:"h-4 w-4 shrink-0"})]},c.id)),d.length===0&&!u&&e.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Aucun thème disponible"})]}),e.jsx("div",{className:"px-2 py-1.5 border-t border-border mt-2",children:e.jsxs("div",{className:"text-xs text-muted-foreground",children:[d.length," thème",d.length>1?"s":""," disponible",d.length>1?"s":""]})})]}):null;return e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:s,className:j("relative",t),children:e.jsxs("button",{ref:w,onMouseDown:c=>{c.preventDefault(),c.stopPropagation()},onClick:c=>{c.preventDefault(),c.stopPropagation(),m(!f)},className:"flex h-9 w-9 items-center justify-center rounded-md border border-input bg-transparent hover:bg-accent hover:text-accent-foreground relative",title:"Changer de thème",type:"button",children:[e.jsx(E.Palette,{className:"h-4 w-4"}),u&&e.jsx(E.Loader2,{className:"h-3 w-3 absolute top-1 right-1 animate-spin text-primary"}),e.jsx("span",{className:"sr-only",children:r})]})}),b&&typeof document<"u"&&x&&Ya.createPortal(e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-[9998]",onMouseDown:c=>{c.preventDefault(),m(!1)}}),x]}),document.body)]})}if(a==="select"){const x=d.find(c=>c.id===n);return e.jsx("div",{ref:s,className:j("w-full",t),children:e.jsxs(ut,{value:n,onValueChange:c=>o(c),disabled:u||d.length===0,children:[e.jsx(rt,{className:"w-full","aria-label":r,children:e.jsx(mt,{children:u&&d.length===0?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(E.Loader2,{className:"h-4 w-4 animate-spin"}),e.jsx("span",{children:"Chargement..."})]}):x?e.jsxs("span",{className:"flex items-center gap-3",children:[x.previewColor&&e.jsx("div",{className:"h-4 w-4 rounded border border-border shrink-0",style:{backgroundColor:x.previewColor}}),e.jsx("span",{className:"truncate",children:x.label})]}):e.jsx("span",{className:"text-muted-foreground",children:"Sélectionner un thème"})})}),e.jsxs(st,{children:[d.map(c=>e.jsx(Qe,{value:c.id,className:"cursor-pointer",children:e.jsxs("div",{className:"flex items-center gap-3 w-full",children:[c.previewColor&&e.jsx("div",{className:"h-4 w-4 rounded border border-border shrink-0",style:{backgroundColor:c.previewColor}}),e.jsx("span",{className:"flex-1 text-left truncate",children:c.label})]})},c.id)),d.length===0&&!u&&e.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Aucun thème disponible"})]})]})})}return e.jsx("div",{ref:s,className:j("grid gap-4",t),children:u&&d.length===0?e.jsxs("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:[e.jsx(E.Loader2,{className:"h-5 w-5 mr-2 animate-spin"}),"Chargement des thèmes..."]}):e.jsxs(e.Fragment,{children:[d.map(x=>e.jsxs("button",{onClick:c=>S(x.id,c),type:"button",className:j("relative flex flex-col items-start gap-2 rounded-lg border-2 p-4 text-left transition-all hover:border-primary",n===x.id?"border-primary bg-primary/5":"border-muted"),children:[e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"font-semibold",children:x.label}),x.description&&e.jsx("span",{className:"text-sm text-muted-foreground",children:x.description})]}),n===x.id&&e.jsx(E.Check,{className:"h-5 w-5 text-primary shrink-0"})]}),x.previewColor&&e.jsx("div",{className:"flex gap-2 w-full",children:e.jsx("div",{className:"h-8 w-full rounded border",style:{backgroundColor:x.previewColor}})})]},x.id)),d.length===0&&!u&&e.jsx("div",{className:"py-12 text-center text-sm text-muted-foreground",children:"Aucun thème disponible"})]})})});Eo.displayName="ThemeSelector";const Po=qe.Provider,Vr=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Viewport,{ref:r,className:j("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...a}));Vr.displayName=qe.Viewport.displayName;const wh=De.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Wr=i.forwardRef(({className:t,variant:a,...r},s)=>e.jsx(qe.Root,{ref:s,className:j(wh({variant:a}),t),...r}));Wr.displayName=qe.Root.displayName;const Do=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Action,{ref:r,className:j("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...a}));Do.displayName=qe.Action.displayName;const Hr=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Close,{ref:r,className:j("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...a,children:e.jsx(E.X,{className:"h-4 w-4"})}));Hr.displayName=qe.Close.displayName;const qr=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Title,{ref:r,className:j("text-sm font-semibold",t),...a}));qr.displayName=qe.Title.displayName;const Ur=i.forwardRef(({className:t,...a},r)=>e.jsx(qe.Description,{ref:r,className:j("text-sm opacity-90",t),...a}));Ur.displayName=qe.Description.displayName;const jh=1,Nh=1e6;let Ba=0;function Sh(){return Ba=(Ba+1)%Number.MAX_SAFE_INTEGER,Ba.toString()}const Ga=new Map,$s=t=>{if(Ga.has(t))return;const a=setTimeout(()=>{Ga.delete(t),aa({type:"REMOVE_TOAST",toastId:t})},Nh);Ga.set(t,a)},Mo=(t,a)=>{switch(a.type){case"ADD_TOAST":return{...t,toasts:[a.toast,...t.toasts].slice(0,jh)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(r=>r.id===a.toast.id?{...r,...a.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=a;return r?$s(r):t.toasts.forEach(s=>{$s(s.id)}),{...t,toasts:t.toasts.map(s=>s.id===r||r===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return a.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(r=>r.id!==a.toastId)}}},Ca=[];let Ta={toasts:[]};function aa(t){Ta=Mo(Ta,t),Ca.forEach(a=>{a(Ta)})}function Ro({...t}){const a=Sh(),r=n=>aa({type:"UPDATE_TOAST",toast:{...n,id:a}}),s=()=>aa({type:"DISMISS_TOAST",toastId:a});return aa({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:n=>{n||s()}}}),{id:a,dismiss:s,update:r}}function Br(){const[t,a]=i.useState(Ta);return i.useEffect(()=>(Ca.push(a),()=>{const r=Ca.indexOf(a);r>-1&&Ca.splice(r,1)}),[t]),{...t,toast:Ro,dismiss:r=>aa({type:"DISMISS_TOAST",toastId:r})}}function kh(){const{toasts:t}=Br();return e.jsxs(Po,{children:[t.map(function({id:a,title:r,description:s,action:n,...o}){return e.jsxs(Wr,{...o,children:[e.jsxs("div",{className:"grid gap-1",children:[r&&e.jsx(qr,{children:r}),s&&e.jsx(Ur,{children:s})]}),n,e.jsx(Hr,{})]},a)}),e.jsx(Vr,{})]})}const Ao=De.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),$o=i.forwardRef(({className:t,variant:a,size:r,...s},n)=>e.jsx(_s.Root,{ref:n,className:j(Ao({variant:a,size:r,className:t})),...s}));$o.displayName=_s.Root.displayName;const rr=fa.Provider,sr=fa.Root,nr=fa.Trigger,Da=i.forwardRef(({className:t,sideOffset:a=4,...r},s)=>e.jsx(fa.Content,{ref:s,sideOffset:a,className:j("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r}));Da.displayName=fa.Content.displayName;const Fo=De.cva("",{variants:{variant:{default:"text-foreground",muted:"text-muted-foreground",destructive:"text-destructive",success:"text-green-600 dark:text-green-400",warning:"text-amber-600 dark:text-amber-400",link:"text-primary underline-offset-4 hover:underline"},size:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}},defaultVariants:{variant:"default",size:"base",weight:"normal",align:"left"}}),Lo=i.forwardRef(({className:t,variant:a,size:r,weight:s,align:n,asChild:o=!1,truncate:d=!1,...u},f)=>{const m=o?Ra.Slot:"p";return e.jsx(m,{className:j(Fo({variant:a,size:r,weight:s,align:n}),d&&"truncate",t),ref:f,...u})});Lo.displayName="Text";const Io=De.cva("font-bold tracking-tight",{variants:{level:{h1:"text-4xl lg:text-5xl",h2:"text-3xl lg:text-4xl",h3:"text-2xl lg:text-3xl",h4:"text-xl lg:text-2xl",h5:"text-lg lg:text-xl",h6:"text-base lg:text-lg"},variant:{default:"text-foreground",gradient:"bg-gradient-to-r from-primary to-primary/60 bg-clip-text text-transparent",muted:"text-muted-foreground"}},defaultVariants:{level:"h2",variant:"default"}}),Oo=i.forwardRef(({className:t,level:a="h2",variant:r,asChild:s=!1,...n},o)=>{const d=s?Ra.Slot:a;return e.jsx(d,{className:j(Io({level:a,variant:r}),t),ref:o,...n})});Oo.displayName="Heading";const _o=De.cva("mt-6 border-l-4 pl-6 italic",{variants:{variant:{default:"border-border text-muted-foreground",primary:"border-primary text-foreground",success:"border-green-500 text-green-900 dark:text-green-100",warning:"border-amber-500 text-amber-900 dark:text-amber-100",destructive:"border-destructive text-destructive"}},defaultVariants:{variant:"default"}}),zo=i.forwardRef(({className:t,variant:a,author:r,cite:s,children:n,...o},d)=>e.jsxs("figure",{className:"my-6",children:[e.jsx("blockquote",{className:j(_o({variant:a}),t),cite:s,ref:d,...o,children:n}),r&&e.jsxs("figcaption",{className:"mt-2 text-sm text-muted-foreground",children:["— ",r]})]}));zo.displayName="Blockquote";De.cva("relative rounded font-mono",{variants:{variant:{inline:"bg-muted px-[0.3rem] py-[0.2rem] text-xs sm:text-sm",block:"block bg-muted overflow-x-auto"},size:{sm:"text-xs sm:text-sm",base:"text-sm sm:text-base",lg:"text-base sm:text-lg"}},defaultVariants:{variant:"inline",size:"base"}});const Vo=De.cva("inline-flex items-center justify-center rounded border border-border bg-muted px-2 py-1 font-mono text-xs font-medium text-muted-foreground shadow-sm",{variants:{size:{sm:"h-5 min-w-[1.25rem] text-[0.625rem]",default:"h-6 min-w-[1.5rem] text-xs",lg:"h-7 min-w-[1.75rem] text-sm"}},defaultVariants:{size:"default"}}),Wo=i.forwardRef(({className:t,size:a,...r},s)=>e.jsx("kbd",{className:j(Vo({size:a}),t),ref:s,...r}));Wo.displayName="Kbd";const Ch=De.cva("flex items-center",{variants:{variant:{default:"gap-2 p-3 rounded-lg border bg-card shadow-sm",minimal:"gap-2",pills:"gap-2 p-2 rounded-full border bg-muted/30",inline:"gap-1.5 text-sm",compact:"gap-1.5 p-2 rounded-md bg-muted/50"}},defaultVariants:{variant:"default"}}),Th=De.cva("justify-between gap-2 transition-all",{variants:{variant:{default:"h-9 border-primary/50",minimal:"h-8 border-0 shadow-none hover:bg-accent",pills:"h-8 rounded-full px-4",inline:"h-7 text-sm border-0 shadow-none p-0 hover:bg-transparent hover:underline",compact:"h-7 text-xs px-2"}},defaultVariants:{variant:"default"}}),Eh={partner:E.Building2,network:E.Network,customer:E.Users},Ph={partner:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200",network:"bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200",customer:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200"},Xa={partner:"Partenaire",network:"Réseau",customer:"Client"},Ho=i.forwardRef(({type:t,items:a,selected:r,isLoading:s,onSelect:n,placeholder:o,emptyText:d,showIcon:u,showBadge:f,variant:m},b)=>{const[h,w]=i.useState(!1),[k,S]=i.useState(""),p=Eh[t],y=i.useMemo(()=>k?a.filter(l=>l.name.toLowerCase().includes(k.toLowerCase())):a,[a,k]),x=l=>{n(l),w(!1),S("")},c=l=>{l.stopPropagation(),n({id:"",name:"",type:t}),S("")};return e.jsxs(xt,{open:h,onOpenChange:w,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{ref:b,variant:m==="inline"?"ghost":"outline",role:"combobox","aria-expanded":h,className:j(Th({variant:m}),r?.id?"border-primary/50":""),disabled:s||a.length===0,children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[u&&p&&e.jsx(p,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"truncate",children:r?.name||o||Xa[t]}),f&&r?.id&&e.jsx(He,{variant:"secondary",className:j("text-xs",Ph[t]),children:t})]}),r?.id?e.jsx(E.X,{className:"h-3 w-3 shrink-0 opacity-50 hover:opacity-100",onClick:c}):e.jsx(E.ChevronRight,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(dt,{className:"w-[300px] p-0",align:"start",children:e.jsxs(_t,{shouldFilter:!1,children:[e.jsxs("div",{className:"flex items-center border-b px-3 py-2 bg-muted/50",children:[e.jsx(E.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(oa,{placeholder:`Rechercher ${Xa[t].toLowerCase()}...`,value:k,onValueChange:S,className:"border-0 focus:ring-0"})]}),e.jsxs(Sr,{children:[e.jsx(ia,{children:d||`Aucun ${Xa[t].toLowerCase()} trouvé`}),e.jsx(la,{children:y.map(l=>e.jsx(ca,{value:l.id,onSelect:()=>x(l),className:"cursor-pointer",children:e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[u&&p&&e.jsx(p,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"flex-1 truncate",children:l.name}),l.metadata?.count!==void 0&&e.jsx(He,{variant:"secondary",className:"text-xs",children:l.metadata.count})]})},l.id))})]})]})})]})});Ho.displayName="AdmincrumbSelector";const qo=i.forwardRef(({levels:t,separator:a,className:r,onLevelChange:s,showIcons:n=!0,showBadges:o=!1,showHome:d=!1,maxWidth:u="100%",variant:f="default",resetable:m=!1,onReset:b},h)=>{const w=p=>y=>{s?.(p,y)},k=t.some(p=>p.selected?.id),S=m&&k&&b;return e.jsxs("nav",{ref:h,"aria-label":"Fil d'Ariane administrateur",className:j("flex items-center gap-2",r),style:{maxWidth:u},children:[e.jsxs("div",{className:j(Ch({variant:f}),"overflow-x-auto"),children:[d&&e.jsxs(e.Fragment,{children:[e.jsx(O,{variant:f==="inline"?"ghost":"outline",size:f==="compact"?"sm":"default",className:j(f==="inline"&&"h-7 px-2",f==="compact"&&"h-7 px-2"),onClick:()=>b?.(),children:e.jsx(E.Home,{className:"h-4 w-4"})}),e.jsx(E.ChevronRight,{className:"h-4 w-4 text-muted-foreground shrink-0","aria-hidden":"true"})]}),e.jsx("ol",{className:"flex items-center gap-2 list-none p-0 m-0",children:t.map((p,y)=>e.jsxs("li",{className:"flex items-center gap-2",children:[y>0&&e.jsx(e.Fragment,{children:a||e.jsx(E.ChevronRight,{className:j("text-muted-foreground shrink-0",f==="compact"||f==="inline"?"h-3 w-3":"h-4 w-4"),"aria-hidden":"true"})}),e.jsx(Ho,{...p,onSelect:w(y),showIcon:n,showBadge:o,variant:f||"default"})]},`${p.type}-${y}`))}),S&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-px h-6 bg-border mx-1","aria-hidden":"true"}),e.jsxs(O,{variant:"ghost",size:f==="compact"?"sm":"default",onClick:b,className:j("gap-2",f==="compact"&&"h-7 px-2 text-xs"),children:[e.jsx(E.X,{className:"h-3 w-3"}),"Réinitialiser"]})]})]}),k&&!S&&e.jsxs(He,{variant:"secondary",className:"gap-1",children:[e.jsx(E.Filter,{className:"h-3 w-3"}),"Filtré"]})]})});qo.displayName="WakaAdmincrumb";function Dh(){const[t,a]=i.useState(),[r,s]=i.useState(),[n,o]=i.useState(),d=i.useCallback((f,m)=>{f===0?(a(m.id?m:void 0),s(void 0),o(void 0)):f===1?(s(m.id?m:void 0),o(void 0)):f===2&&o(m.id?m:void 0)},[]),u=i.useCallback(()=>{a(void 0),s(void 0),o(void 0)},[]);return{partner:t,network:r,customer:n,handleLevelChange:d,reset:u}}const Mh=({images:t,autoplay:a=!1,autoplayInterval:r=3e3,showIndicators:s=!0,showNavigation:n=!0,showThumbnails:o=!1,showFullscreen:d=!1,showDownload:u=!1,showShare:f=!1,showCounter:m=!1,showProgress:b=!1,transition:h="fade",layout:w="default",theme:k="auto",aspectRatio:S="16/9",maxHeight:p,className:y,imageClassName:x,indicatorClassName:c,navigationClassName:l,thumbnailClassName:g,overlayClassName:v,counterClassName:N,progressClassName:$,onImageChange:F,onImageClick:M,onFullscreenToggle:T,onDownload:P,onShare:L,onPlayPause:A,onThumbnailClick:V,onIndicatorClick:X,onNavigationClick:me,onKeyboardNavigation:se,onTouchStart:Y,onTouchEnd:H,onSwipeLeft:_,onSwipeRight:q,onSwipeUp:R,onSwipeDown:Q,onLoadStart:Z,onLoadEnd:G,onError:Re,onReady:ve,onDestroy:Ne,loop:le=!0,pauseOnHover:Me=!0,pauseOnFocus:z=!0,pauseOnTouch:I=!0,keyboardNavigation:J=!0,touchNavigation:ce=!0,swipeThreshold:oe=50,animationDuration:de=300,preloadImages:Se=!0,lazyLoading:ye=!0,imageQuality:Oe="auto",placeholder:ht,errorImage:Ue,loadingSpinner:Be,emptyState:wt,customControls:Vt,customOverlay:Wt,customThumbnails:$t,customIndicators:W,customNavigation:K,ariaLabel:Pe="Carrousel d'images",ariaLabelledBy:Ge,ariaDescribedBy:ba,role:es="region",virtualScrolling:Ia=!1,maxVisibleThumbnails:Oa=10,thumbnailSize:xa="medium",overlayOpacity:mi=.7,overlayGradient:fi,navigationSize:nt="medium",indicatorSize:jt="medium",indicatorShape:pt="circle",thumbnailAspectRatio:va="1/1",onMount:_a,onUnmount:za,onBeforeChange:tt,onAfterChange:Va})=>{const[Xe,Ht]=C.useState(0),[Je,ot]=C.useState(a),[Nt,ya]=C.useState(!1),[ts,Wa]=C.useState(!1),[wa,as]=C.useState(!1),[qt,Ut]=C.useState(null),[hi,St]=C.useState(null),[Ye,ja]=C.useState(new Set),[Na,Sa]=C.useState(0),ne=C.useRef(null),B=C.useRef(null),we=C.useRef([]),Ae=C.useRef(null),kt=C.useRef(0),ke=t&&t.length>0,Te=Math.max(0,Math.min(Xe,t.length-1)),re=ke?t[Te]:null,Ct=C.useMemo(()=>{switch(S){case"16/9":return"aspect-video";case"4/3":return"aspect-[4/3]";case"1/1":return"aspect-square";case"3/2":return"aspect-[3/2]";default:return"aspect-video"}},[S]),gt=C.useMemo(()=>k==="auto"?"":k==="dark"?"dark":"light",[k]),Bt=C.useCallback(()=>{ne.current&&clearInterval(ne.current),Je&&ke&&t.length>1&&(ne.current=setInterval(()=>{Ht(U=>le?(U+1)%t.length:Math.min(U+1,t.length-1))},r))},[Je,ke,t.length,r,le]),_e=C.useCallback(()=>{ne.current&&(clearInterval(ne.current),ne.current=null)},[]),rs=C.useCallback(()=>{if(!Je||!a)return;const U=Date.now(),ie=()=>{const Ft=(Date.now()-U)/r*100;Sa(Math.min(Ft,100)),Ft<100&&requestAnimationFrame(ie)};requestAnimationFrame(ie)},[Je,a,r]);C.useEffect(()=>(Je?(Bt(),rs()):(_e(),Sa(0)),()=>_e()),[Je,Bt,_e,rs]);const Gt=C.useCallback(()=>{if(!ke)return;const U=le?(Xe-1+t.length)%t.length:Math.max(Xe-1,0);tt&&!tt(Xe,U)||(Ht(U),me?.("prev"))},[ke,Xe,t.length,le,tt,me]),Xt=C.useCallback(()=>{if(!ke)return;const U=le?(Xe+1)%t.length:Math.min(Xe+1,t.length-1);tt&&!tt(Xe,U)||(Ht(U),me?.("next"))},[ke,Xe,t.length,le,tt,me]),ss=C.useCallback(U=>{!ke||U<0||U>=t.length||tt&&!tt(Xe,U)||(Ht(U),X?.(U))},[ke,Xe,t.length,tt,X]),pi=C.useCallback(U=>{if(!J)return;const ie=U.key;switch(se?.(ie),ie){case"ArrowLeft":U.preventDefault(),Gt();break;case"ArrowRight":U.preventDefault(),Xt();break;case"ArrowUp":U.preventDefault(),R?.();break;case"ArrowDown":U.preventDefault(),Q?.();break;case" ":U.preventDefault(),ot(ze=>!ze),A?.(!Je);break;case"Escape":Nt&&(ya(!1),T?.(!1));break;case"f":case"F":d&&ya(ze=>(T?.(!ze),!ze));break}},[J,Gt,Xt,se,R,Q,Je,A,Nt,d,T]),gi=C.useCallback(U=>{if(!ce)return;const ie=U.touches[0];Ut({x:ie.clientX,y:ie.clientY}),kt.current=Date.now(),Y?.(U),I&&ot(!1)},[ce,Y,I]),bi=C.useCallback(U=>{if(!ce||!qt)return;const ie=U.changedTouches[0];St({x:ie.clientX,y:ie.clientY}),H?.(U);const ze=ie.clientX-qt.x,Ft=ie.clientY-qt.y;Date.now()-kt.current,Math.abs(ze)>Math.abs(Ft)&&Math.abs(ze)>oe?ze>0?(q?.(),Gt()):(_?.(),Xt()):Math.abs(Ft)>oe&&(Ft>0?Q?.():R?.()),Ut(null),St(null)},[ce,qt,H,oe,q,_,Q,R,Gt,Xt]),xi=C.useCallback(U=>{ja(ie=>new Set([...ie,U])),Wa(!1),G?.(U)},[G]),vi=C.useCallback((U,ie)=>{as(!0),Wa(!1),Re?.(U,ie)},[Re]);C.useEffect(()=>{re&&(F?.(Te,re),Va?.(Te))},[Te,re,F,Va]);const yi=C.useCallback(()=>{re&&M?.(re,Te)},[re,Te,M]),bt=C.useCallback(U=>{U.stopPropagation()},[]),wi=C.useCallback(()=>{ya(U=>(T?.(!U),!U))},[T]),ji=C.useCallback(()=>{re&&P?.(re,Te)},[re,Te,P]),Ni=C.useCallback(()=>{re&&L?.(re,Te)},[re,Te,L]),Si=C.useCallback(()=>{Me&&ot(!1)},[Me]),ki=C.useCallback(()=>{Me&&a&&ot(!0)},[Me,a]),Ci=C.useCallback(()=>{z&&ot(!1)},[z]),Ti=C.useCallback(()=>{z&&a&&ot(!0)},[z,a]);if(C.useEffect(()=>(_a?.(),ve?.(),()=>{za?.(),Ne?.(),_e()}),[_a,ve,za,Ne,_e]),C.useEffect(()=>()=>_e(),[_e]),!ke)return e.jsx("div",{className:j("flex items-center justify-center h-64 bg-gray-100 rounded-lg",y),children:wt||e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-gray-500 mb-2",children:"Aucune image à afficher"}),e.jsx("p",{className:"text-sm text-gray-400",children:"Ajoutez des images pour commencer"})]})});const Ei=j("waka-carousel relative w-full mx-auto bg-black rounded-lg overflow-hidden","focus:outline-none focus:ring-2 focus:ring-blue-500",Nt&&"fixed inset-0 z-50 rounded-none",gt,y),Pi=j("relative",Ct,x),Di=j("absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-4",v);return e.jsxs("div",{ref:B,className:Ei,style:{maxHeight:p},tabIndex:0,onKeyDown:pi,onTouchStart:gi,onTouchEnd:bi,onMouseEnter:Si,onMouseLeave:ki,onFocus:Ci,onBlur:Ti,role:es,"aria-label":Pe,"aria-labelledby":Ge,"aria-describedby":ba,children:[e.jsxs("div",{className:Pi,children:[ts&&Be&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 z-20",children:Be}),wa&&Ue?e.jsx("img",{src:Ue,alt:"Erreur de chargement",className:j("w-full h-full object-cover",x)}):re?e.jsx("img",{ref:U=>we.current[Te]=U,src:re.src,alt:re.alt,className:j("w-full h-full object-cover transition-opacity duration-300",x),onClick:yi,loading:ye?"lazy":"eager",onLoad:()=>xi(Te),onError:U=>vi(Te,new Error("Erreur de chargement de l'image"))}):null,re&&(re.title||re.description||re.caption)&&e.jsxs("div",{className:Di,children:[re.title&&e.jsx("h3",{className:"text-white text-lg font-semibold mb-1",children:re.title}),re.description&&e.jsx("p",{className:"text-white/90 text-sm mb-2",children:re.description}),re.caption&&e.jsx("p",{className:"text-white/80 text-xs",children:re.caption})]}),Vt&&e.jsx("div",{className:"absolute inset-0 z-10",children:Vt}),Wt&&e.jsx("div",{className:"absolute inset-0 z-10",children:Wt}),n&&t.length>1&&e.jsx(e.Fragment,{children:K?e.jsx("div",{className:"absolute inset-0 z-10",children:K}):e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:U=>{bt(U),Gt()},className:j("absolute left-2 top-1/2 -translate-y-1/2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white",nt==="small"&&"p-1",nt==="large"&&"p-3",l),"aria-label":"Image précédente",children:e.jsx(E.ChevronLeft,{className:j("w-5 h-5",nt==="small"&&"w-4 h-4",nt==="large"&&"w-6 h-6")})}),e.jsx("button",{onClick:U=>{bt(U),Xt()},className:j("absolute right-2 top-1/2 -translate-y-1/2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white",nt==="small"&&"p-1",nt==="large"&&"p-3",l),"aria-label":"Image suivante",children:e.jsx(E.ChevronRight,{className:j("w-5 h-5",nt==="small"&&"w-4 h-4",nt==="large"&&"w-6 h-6")})})]})}),a&&t.length>1&&e.jsx("button",{onClick:U=>{bt(U),ot(ie=>(A?.(!ie),!ie))},className:j("absolute top-2 right-2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":Je?"Pause":"Lecture",children:Je?e.jsx(E.Pause,{className:"w-4 h-4"}):e.jsx(E.Play,{className:"w-4 h-4"})}),d&&e.jsx("button",{onClick:U=>{bt(U),wi()},className:j("absolute top-2 left-2 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":Nt?"Quitter le plein écran":"Plein écran",children:Nt?e.jsx(E.X,{className:"w-4 h-4"}):e.jsx(E.Maximize2,{className:"w-4 h-4"})}),u&&re?.downloadUrl&&e.jsx("button",{onClick:U=>{bt(U),ji()},className:j("absolute top-2 right-12 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":"Télécharger l'image",children:e.jsx(E.Download,{className:"w-4 h-4"})}),f&&re?.shareUrl&&e.jsx("button",{onClick:U=>{bt(U),Ni()},className:j("absolute top-2 right-20 z-10","bg-black/50 hover:bg-black/70 text-white p-2 rounded-full","transition-all duration-200 hover:scale-110","focus:outline-none focus:ring-2 focus:ring-white"),"aria-label":"Partager l'image",children:e.jsx(E.Share2,{className:"w-4 h-4"})}),m&&e.jsxs("div",{className:j("absolute top-2 left-1/2 -translate-x-1/2 z-10","bg-black/50 text-white px-3 py-1 rounded-full text-sm",N),children:[Te+1," / ",t.length]}),b&&Je&&e.jsx("div",{className:j("absolute bottom-0 left-0 right-0 h-1 bg-black/30",$),children:e.jsx("div",{ref:Ae,className:"h-full bg-white transition-all duration-100",style:{width:`${Na}%`}})})]}),s&&t.length>1&&e.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2",children:W?e.jsx("div",{className:"flex space-x-2",children:W}):t.map((U,ie)=>e.jsx("button",{onClick:ze=>{bt(ze),ss(ie)},className:j("transition-all duration-200","focus:outline-none focus:ring-2 focus:ring-white",pt==="circle"&&"rounded-full",pt==="square"&&"rounded",pt==="diamond"&&"rotate-45",pt==="line"&&"rounded-none",jt==="small"&&"w-2 h-2",jt==="medium"&&"w-3 h-3",jt==="large"&&"w-4 h-4",pt==="line"&&jt==="small"&&"w-8 h-1",pt==="line"&&jt==="medium"&&"w-12 h-1",pt==="line"&&jt==="large"&&"w-16 h-1",ie===Te?"bg-white":"bg-white/50 hover:bg-white/70",c),"aria-label":`Aller à l'image ${ie+1}`},ie))}),o&&t.length>1&&e.jsx("div",{className:"flex space-x-2 p-4 bg-gray-100 overflow-x-auto",children:$t?e.jsx("div",{className:"flex space-x-2",children:$t}):t.map((U,ie)=>e.jsx("button",{onClick:ze=>{bt(ze),ss(ie),V?.(ie)},className:j("flex-shrink-0 rounded overflow-hidden","border-2 transition-all duration-200","focus:outline-none focus:ring-2 focus:ring-blue-500",xa==="small"&&"w-12 h-12",xa==="medium"&&"w-16 h-16",xa==="large"&&"w-20 h-20",va==="1/1"&&"aspect-square",va==="4/3"&&"aspect-[4/3]",va==="16/9"&&"aspect-video",ie===Te?"border-blue-500":"border-gray-300 hover:border-gray-400",g),children:e.jsx("img",{src:U.src,alt:U.alt,className:"w-full h-full object-cover",loading:"lazy"})},ie))})]})};let Fs=!1,or=null;!Fs&&!lt.isInitialized&&(Fs=!0,or=lt.use(et.initReactI18next).init({resources:{},fallbackLng:"fr",lng:"fr",defaultNS:"translation",ns:["translation"],debug:!1,interpolation:{escapeValue:!1},react:{useSuspense:!1},ignoreJSONStructure:!0,returnNull:!1,returnEmptyString:!1,returnObjects:!1,load:"languageOnly",detection:void 0,initImmediate:!0}).then(()=>(console.log("[i18n] Initialized successfully"),lt)).catch(t=>(console.error("[i18n] Failed to initialize:",t),lt)));function Uo(){const[t,a]=C.useState(lt.isInitialized);return C.useEffect(()=>{if(lt.isInitialized){a(!0);return}if(or)or.then(()=>{a(!0)});else{const r=setTimeout(()=>{a(!0)},100);return()=>clearTimeout(r)}},[]),!t||!lt.isInitialized?{t:r=>r,i18n:lt,ready:!1}:et.useTranslation()}ft.registerLocale("fr",Ot);ft.registerLocale("en",tn);ft.registerLocale("es",an);ft.registerLocale("de",en);ft.registerLocale("it",rn);ft.registerLocale("pt",nn);ft.registerLocale("ja",sn);ft.registerLocale("zh",on);const Gr=i.forwardRef(({value:t,onChange:a,placeholder:r,disabled:s=!1,className:n,variant:o="date",format:d,minDate:u,maxDate:f,showSeconds:m=!1,showClear:b=!0,showPresets:h=!1,presets:w,locale:k="fr",timeFormat:S="24h",size:p="md",error:y,label:x,required:c=!1,inline:l=!1,monthsShown:g=1,timeIntervals:v=15,validation:N,showWeekNumbers:$=!1,showTodayButton:F=!0,showSelectionInfo:M=!1,allowTimeRange:T=!1,timezone:P,onBeforeChange:L,onAfterChange:A,renderDay:V,popoverClassName:X,disableAnimations:me=!1,readOnly:se=!1,id:Y,name:H,autoFocus:_=!1},q)=>{const{t:R}=Uo(),[Q,Z]=i.useState(!1),[G,Re]=i.useState(o==="range"&&t&&!("from"in t)?{from:t,to:void 0}:t),[ve,Ne]=i.useState(null),[le,Me]=i.useState(null),I={fr:Ot,en:tn,es:an,de:en,it:rn,pt:nn,ja:sn,zh:on}[k]||Ot,J=[{label:R?.("today")||"Aujourd'hui",value:()=>new Date},{label:R?.("yesterday")||"Hier",value:()=>D.subDays(new Date,1)},{label:R?.("thisWeek")||"Cette semaine",range:()=>({from:D.startOfWeek(new Date,{locale:I}),to:D.endOfWeek(new Date,{locale:I})})},{label:R?.("lastWeek")||"Semaine dernière",range:()=>({from:D.startOfWeek(D.subWeeks(new Date,1),{locale:I}),to:D.endOfWeek(D.subWeeks(new Date,1),{locale:I})})},{label:R?.("thisMonth")||"Ce mois",range:()=>({from:D.startOfMonth(new Date),to:D.endOfMonth(new Date)})},{label:R?.("lastMonth")||"Mois dernier",range:()=>({from:D.startOfMonth(D.subMonths(new Date,1)),to:D.endOfMonth(D.subMonths(new Date,1))})},{label:R?.("last7Days")||"7 derniers jours",range:()=>({from:D.subDays(new Date,7),to:new Date})},{label:R?.("last30Days")||"30 derniers jours",range:()=>({from:D.subDays(new Date,30),to:new Date})},{label:R?.("thisYear")||"Cette année",range:()=>({from:D.startOfYear(new Date),to:D.endOfYear(new Date)})}],ce=w||(h?J:[]),oe={sm:"h-8 px-3 text-xs",md:"h-10 px-4 text-sm",lg:"h-12 px-5 text-base"},Se=d||(()=>{switch(o){case"time":return m?S==="12h"?"h:mm:ss a":"HH:mm:ss":S==="12h"?"h:mm a":"HH:mm";case"datetime":return m?S==="12h"?"PPP h:mm:ss a":"PPP HH:mm:ss":S==="12h"?"PPP h:mm a":"PPP HH:mm";case"range":return"PPP";case"multiple":return"PPP";default:return"PPP"}})(),ye=W=>{if(!N)return null;if(u&&D.isBefore(W,D.startOfDay(u)))return R?.("dateBeforeMin")||`Date antérieure au ${D.format(u,Se,{locale:I})}`;if(f&&D.isAfter(W,D.endOfDay(f)))return R?.("dateAfterMax")||`Date postérieure au ${D.format(f,Se,{locale:I})}`;if(N.disabledDates?.some(K=>D.isEqual(D.startOfDay(K),D.startOfDay(W)))||N.disabledDatesFn?.(W))return N.message||R?.("dateDisabled")||"Date désactivée";if(N.disabledDaysOfWeek?.includes(W.getDay()))return N.message||R?.("dayOfWeekDisabled")||"Jour de la semaine désactivé";if(N.validate){const K=N.validate(W);if(K===!1)return N.message||R?.("invalidDate")||"Date invalide";if(typeof K=="string")return K}return null},Oe=W=>{if(se)return;let K=null;if(o==="range"){if(Array.isArray(W)&&W[0]&&W[1])K={from:W[0],to:W[1]};else if(W){const Pe=G;Pe?.from&&!Pe.to?K={from:Pe.from,to:W}:K={from:W,to:void 0}}}else if(o==="multiple")if(Array.isArray(G)){const Pe=[...G],Ge=Pe.findIndex(ba=>D.isEqual(D.startOfDay(ba),D.startOfDay(W)));Ge>=0?Pe.splice(Ge,1):Pe.push(W),K=Pe}else K=W?[W]:[];else K=W;if(!(L&&!L(K))){if(K&&!K.from&&!Array.isArray(K)){const Pe=ye(K);if(Pe){Ne(Pe);return}}Ne(null),Re(K),a?.(K),A?.(K),o!=="range"&&o!=="multiple"&&!l&&Z(!1)}},ht=W=>{if(W.range){const K=typeof W.range=="function"?W.range():W.range;Oe([K.from,K.to])}else if(W.value){const K=typeof W.value=="function"?W.value():W.value;Oe(K)}l||Z(!1)},Ue=W=>{W&&W.stopPropagation(),!se&&(Re(null),Ne(null),a?.(null),A?.(null))},Be=()=>{Oe(new Date)},wt=()=>{if(!G)return r||R?.("selectDate")||"Sélectionner une date";try{if(o==="range"){const W=G;return W.from&&W.to?`${D.format(W.from,Se,{locale:I})} - ${D.format(W.to,Se,{locale:I})}`:W.from?`${D.format(W.from,Se,{locale:I})} - ...`:r||R?.("selectDateRange")||"Sélectionner une période"}if(o==="multiple"){const W=G;return W.length===0?r||R?.("selectDates")||"Sélectionner des dates":W.length===1?D.format(W[0],Se,{locale:I}):`${W.length} ${R?.("datesSelected")||"dates sélectionnées"}`}return D.format(G,Se,{locale:I})}catch(W){return console.error("Error formatting date:",W),r||R?.("selectDate")||"Sélectionner une date"}},Vt=W=>!!(u&&D.isBefore(W,D.startOfDay(u))||f&&D.isAfter(W,D.endOfDay(f))||N?.disabledDates?.some(K=>D.isEqual(D.startOfDay(K),D.startOfDay(W)))||N?.disabledDatesFn?.(W)||N?.disabledDaysOfWeek?.includes(W.getDay())),Wt=W=>!!(N?.highlightedDates?.some(K=>D.isEqual(D.startOfDay(K),D.startOfDay(W)))||N?.highlightedDatesFn?.(W)),$t=()=>{const W={selected:o==="range"?G?.from:o==="multiple"?void 0:G,onChange:Oe,startDate:o==="range"?G?.from:void 0,endDate:o==="range"?G?.to:void 0,selectsRange:o==="range",selectsMultiple:o==="multiple",highlightDates:o==="multiple"?G:void 0,showTimeSelect:o==="time"||o==="datetime",showTimeSelectOnly:o==="time",timeFormat:m?S==="12h"?"h:mm:ss aa":"HH:mm:ss":S==="12h"?"h:mm aa":"HH:mm",timeIntervals:v,timeCaption:R?.("time")||"Heure",dateFormat:Se,locale:k,placeholderText:r,disabled:s,minDate:u,maxDate:f,inline:l,monthsShown:o==="range"?Math.max(2,g):g,showWeekNumbers:$,filterDate:K=>!Vt(K),dayClassName:K=>{const Pe=[];if(Wt(K)&&Pe.push("highlighted-date"),le&&o==="range"){const Ge=G;Ge?.from&&!Ge.to&&D.isWithinInterval(K,{start:Ge.from<le?Ge.from:le,end:Ge.from>le?Ge.from:le})&&Pe.push("in-selecting-range")}return Pe.join(" ")},onDayMouseEnter:K=>Me(K),calendarClassName:j("waka-datepicker",me&&"no-animations"),wrapperClassName:"w-full",autoFocus:_};return e.jsxs("div",{className:"flex gap-3",children:[h&&ce.length>0&&e.jsxs("div",{className:"flex flex-col gap-1 min-w-[150px] border-r border-border pr-3",children:[e.jsx(ge,{className:"text-xs font-semibold text-muted-foreground mb-1",children:R?.("quickSelection")||"Sélection rapide"}),e.jsx(It,{className:"h-[300px]",children:e.jsx("div",{className:"space-y-1",children:ce.map((K,Pe)=>e.jsx(O,{variant:"ghost",size:"sm",className:"w-full justify-start text-xs",onClick:()=>ht(K),children:K.label},Pe))})})]}),e.jsxs("div",{className:"flex-1",children:[e.jsx(ft,{...W}),M&&G&&e.jsxs("div",{className:"mt-3 p-2 bg-muted rounded-md text-xs space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E.Info,{className:"h-3 w-3 text-muted-foreground"}),e.jsxs("span",{className:"font-medium",children:[R?.("selection")||"Sélection"," :"]})]}),e.jsx("div",{className:"text-muted-foreground pl-5",children:wt()})]})]})]})};return l?e.jsxs("div",{ref:q,className:j("space-y-2",n),id:Y,children:[x&&e.jsxs(ge,{className:"text-sm font-medium text-foreground",children:[x,c&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsx("div",{className:"border border-border rounded-lg p-4 bg-card",children:$t()}),(y||ve)&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:y||ve})]})]}):e.jsxs("div",{ref:q,className:j("space-y-2",n),id:Y,children:[x&&e.jsxs(ge,{htmlFor:`${Y}-input`,className:"text-sm font-medium text-foreground",children:[x,c&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsxs(xt,{open:Q,onOpenChange:Z,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{id:`${Y}-input`,name:H,variant:"outline",disabled:s||se,className:j("w-full justify-between text-left font-normal",!G&&"text-muted-foreground",oe[p],(y||ve)&&"border-destructive focus-visible:ring-destructive",se&&"cursor-default opacity-70"),"aria-label":x||r,"aria-invalid":!!(y||ve),"aria-required":c,children:[e.jsxs("span",{className:"flex items-center gap-2 flex-1 truncate",children:[o==="time"?e.jsx(E.Clock,{className:"h-4 w-4 flex-shrink-0"}):e.jsx(E.Calendar,{className:"h-4 w-4 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:wt()})]}),e.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0 ml-2",children:[G&&b&&!se&&e.jsx(rr,{children:e.jsxs(sr,{children:[e.jsx(nr,{asChild:!0,children:e.jsx("div",{className:"h-5 w-5 rounded hover:bg-destructive/10 flex items-center justify-center cursor-pointer",onClick:Ue,role:"button","aria-label":R?.("clear")||"Effacer",children:e.jsx(E.X,{className:"h-3 w-3 text-muted-foreground hover:text-destructive"})})}),e.jsx(Da,{children:e.jsx("p",{children:R?.("clear")||"Effacer"})})]})}),ve&&e.jsx(rr,{children:e.jsxs(sr,{children:[e.jsx(nr,{asChild:!0,children:e.jsx(E.AlertCircle,{className:"h-4 w-4 text-destructive"})}),e.jsx(Da,{children:e.jsx("p",{children:ve})})]})})]})]})}),e.jsxs(dt,{className:j("w-auto p-0",X),align:"start",sideOffset:4,children:[e.jsx("div",{className:"p-4",children:$t()}),(F||b)&&e.jsxs(e.Fragment,{children:[e.jsx(At,{}),e.jsxs("div",{className:"flex items-center justify-between p-3 gap-2",children:[F&&e.jsxs(O,{variant:"outline",size:"sm",onClick:Be,disabled:s||se,children:[e.jsx(E.Calendar,{className:"h-3.5 w-3.5 mr-1.5"}),R?.("today")||"Aujourd'hui"]}),b&&G&&e.jsxs(O,{variant:"outline",size:"sm",onClick:Ue,disabled:s||se,className:"ml-auto",children:[e.jsx(E.X,{className:"h-3.5 w-3.5 mr-1.5"}),R?.("clear")||"Effacer"]})]})]})]})]}),(y||ve)&&e.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:y||ve})]})]})});Gr.displayName="WakaDateTimePicker";function Rh({name:t,control:a,defaultValue:r,...s}){return e.jsx(On,{name:t,control:a,defaultValue:r,render:({field:n,fieldState:o})=>e.jsx(Gr,{...s,value:n.value,onChange:n.onChange,error:o.error?.message})})}function Ah(t){return i.useMemo(()=>({formatDateForSubmit:r=>r?r.toISOString():null,formatRangeForSubmit:r=>!r?.from||!r?.to?null:{from:r.from.toISOString(),to:r.to.toISOString()},parseDateFromServer:r=>r?new Date(r):null,parseRangeFromServer:r=>r?{from:new Date(r.from),to:new Date(r.to)}:null}),[])}const $h={info:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200",error:"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200"},Ea=i.forwardRef(({notification:t,onMarkAsRead:a,onDelete:r},s)=>{const n=o=>{const u=new Date().getTime()-o.getTime(),f=Math.floor(u/6e4),m=Math.floor(u/36e5),b=Math.floor(u/864e5);return f<1?"À l'instant":f<60?`Il y a ${f} min`:m<24?`Il y a ${m}h`:b<7?`Il y a ${b}j`:o.toLocaleDateString("fr-FR")};return e.jsxs("div",{ref:s,className:j("flex gap-3 p-4 hover:bg-muted/50 transition-colors border-l-4",t.read?"border-l-transparent opacity-60":"border-l-primary","relative group"),children:[e.jsx("div",{className:j("flex-shrink-0 w-10 h-10 rounded-full flex items-center justify-center",$h[t.type]),children:t.icon||e.jsx(E.Bell,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-1",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("h4",{className:j("text-sm font-semibold",t.read&&"font-normal"),children:t.title}),e.jsx("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:n(t.timestamp)})]}),e.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:t.message}),t.action&&e.jsx(O,{variant:"link",size:"sm",className:"h-auto p-0 text-primary",onClick:t.action.onClick,children:t.action.label})]}),e.jsxs("div",{className:"flex-shrink-0 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[!t.read&&a&&e.jsxs(O,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>a(t.id),children:[e.jsx(E.Check,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Marquer comme lu"})]}),r&&e.jsxs(O,{variant:"ghost",size:"icon",className:"h-8 w-8 text-destructive hover:text-destructive",onClick:()=>r(t.id),children:[e.jsx(E.Trash2,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Supprimer"})]})]})]})});Ea.displayName="NotificationItem";const Bo=i.forwardRef(({notifications:t,onMarkAsRead:a,onMarkAllAsRead:r,onDelete:s,onDeleteAll:n,onSettingsClick:o,maxHeight:d="400px",className:u,iconClassName:f,badgeClassName:m,showBadge:b=!0,showTabs:h=!0,emptyMessage:w="Aucune notification",emptyIcon:k},S)=>{const[p,y]=i.useState(!1),[x,c]=i.useState("all"),l=t.filter(N=>!N.read).length,g=i.useMemo(()=>x==="all"?t:x==="unread"?t.filter(N=>!N.read):t,[t,x]),v=()=>e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 px-4 text-center",children:[k||e.jsx(E.Bell,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:w})]});return e.jsxs(xt,{open:p,onOpenChange:y,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{ref:S,variant:"ghost",size:"icon",className:j("relative",u),children:[e.jsx(E.Bell,{className:j("h-5 w-5",f)}),b&&l>0&&e.jsx(He,{variant:"destructive",className:j("absolute -top-1 -right-1 h-5 min-w-[20px] flex items-center justify-center p-0 text-xs",m),children:l>99?"99+":l}),e.jsxs("span",{className:"sr-only",children:["Notifications (",l," non lues)"]})]})}),e.jsxs(dt,{className:"w-[380px] p-0",align:"end",sideOffset:8,children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-base",children:"Notifications"}),l>0&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[l," non ",l>1?"lues":"lue"]})]}),e.jsxs("div",{className:"flex gap-1",children:[r&&l>0&&e.jsxs(O,{variant:"ghost",size:"sm",className:"h-8 text-xs",onClick:r,children:[e.jsx(E.Check,{className:"h-3 w-3 mr-1"}),"Tout marquer"]}),o&&e.jsxs(O,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:o,children:[e.jsx(E.Settings,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Paramètres"})]})]})]}),h&&t.length>0&&e.jsxs(zr,{value:x,onValueChange:c,className:"w-full",children:[e.jsxs(La,{className:"w-full rounded-none border-b bg-transparent p-0",children:[e.jsxs(da,{value:"all",className:"flex-1 rounded-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:["Toutes (",t.length,")"]}),e.jsxs(da,{value:"unread",className:"flex-1 rounded-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:["Non lues (",l,")"]})]}),e.jsx(ua,{value:"all",className:"m-0",children:e.jsx(It,{className:"h-[400px]",style:{maxHeight:d},children:e.jsx("div",{className:"p-0",children:g.length===0?e.jsx(v,{}):e.jsx("div",{className:"divide-y",children:g.map(N=>e.jsx(Ea,{notification:N,onMarkAsRead:a,onDelete:s},N.id))})})})}),e.jsx(ua,{value:"unread",className:"m-0",children:e.jsx(It,{className:"h-[400px]",style:{maxHeight:d},children:e.jsx("div",{className:"p-0",children:g.length===0?e.jsx(v,{}):e.jsx("div",{className:"divide-y",children:g.map(N=>e.jsx(Ea,{notification:N,onMarkAsRead:a,onDelete:s},N.id))})})})})]}),!h&&e.jsx(It,{className:"h-[400px]",style:{maxHeight:d},children:e.jsx("div",{className:"p-0",children:t.length===0?e.jsx(v,{}):e.jsx("div",{className:"divide-y",children:t.map(N=>e.jsx(Ea,{notification:N,onMarkAsRead:a,onDelete:s},N.id))})})}),t.length>0&&n&&e.jsxs(e.Fragment,{children:[e.jsx(At,{}),e.jsx("div",{className:"p-2",children:e.jsxs(O,{variant:"ghost",size:"sm",className:"w-full text-destructive hover:text-destructive",onClick:n,children:[e.jsx(E.Trash2,{className:"h-3 w-3 mr-2"}),"Tout supprimer"]})})]})]})]})});Bo.displayName="WakaNotifications";function Fh(t=[]){const[a,r]=i.useState(t),s=i.useCallback(m=>{const b={...m,id:`notification-${Date.now()}-${Math.random()}`,timestamp:new Date,read:!1};r(h=>[b,...h])},[]),n=i.useCallback(m=>{r(b=>b.map(h=>h.id===m?{...h,read:!0}:h))},[]),o=i.useCallback(()=>{r(m=>m.map(b=>({...b,read:!0})))},[]),d=i.useCallback(m=>{r(b=>b.filter(h=>h.id!==m))},[]),u=i.useCallback(()=>{r([])},[]),f=i.useMemo(()=>a.filter(m=>!m.read).length,[a]);return{notifications:a,addNotification:s,markAsRead:n,markAllAsRead:o,deleteNotification:d,deleteAllNotifications:u,unreadCount:f}}const Lh=De.cva("relative inline-flex items-center justify-center",{variants:{size:{sm:"w-12 h-12",md:"w-16 h-16",lg:"w-24 h-24",xl:"w-32 h-32"}},defaultVariants:{size:"md"}}),Go=i.forwardRef(({className:t,size:a,showAsteroids:r=!0,speed:s=2,rocketColor:n="text-primary",asteroidColor:o="text-muted-foreground",...d},u)=>{const m={sm:{orbit:40,rocket:16,asteroid:6},md:{orbit:56,rocket:20,asteroid:8},lg:{orbit:88,rocket:28,asteroid:12},xl:{orbit:120,rocket:36,asteroid:16}}[a||"md"],b=m.orbit,h=m.orbit;return e.jsxs("div",{ref:u,className:j(Lh({size:a,className:t})),role:"status","aria-label":"Chargement en cours",...d,children:[e.jsxs("svg",{width:m.orbit*2,height:m.orbit*2,viewBox:`0 0 ${m.orbit*2} ${m.orbit*2}`,className:"overflow-visible",children:[e.jsx("circle",{cx:b,cy:h,r:m.orbit-m.rocket,fill:"none",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 4",className:"opacity-20"}),r&&e.jsxs("g",{className:o,children:[e.jsx("g",{style:{animation:`waka-float ${s*1.5}s ease-in-out infinite`,transformOrigin:`${b+m.orbit*.6}px ${h-m.orbit*.5}px`},children:e.jsx("polygon",{points:Ja(b+m.orbit*.6,h-m.orbit*.5,m.asteroid),fill:"currentColor",opacity:"0.3"})}),e.jsx("g",{style:{animation:`waka-float ${s*2}s ease-in-out infinite 0.5s`,transformOrigin:`${b-m.orbit*.7}px ${h+m.orbit*.4}px`},children:e.jsx("polygon",{points:Ja(b-m.orbit*.7,h+m.orbit*.4,m.asteroid*.8),fill:"currentColor",opacity:"0.3"})}),e.jsx("g",{style:{animation:`waka-float ${s*1.8}s ease-in-out infinite 1s`,transformOrigin:`${b-m.orbit*.8}px ${h-m.orbit*.2}px`},children:e.jsx("polygon",{points:Ja(b-m.orbit*.8,h-m.orbit*.2,m.asteroid*.6),fill:"currentColor",opacity:"0.3"})})]}),e.jsx("g",{className:n,style:{animation:`waka-orbit ${s}s linear infinite`,transformOrigin:`${b}px ${h}px`},children:e.jsxs("g",{transform:`translate(${b}, ${h-m.orbit+m.rocket/2})`,children:[e.jsx("path",{d:`M 0,-${m.rocket/2} L ${m.rocket/4},-${m.rocket/6} L ${m.rocket/4},${m.rocket/3} L 0,${m.rocket/2} L -${m.rocket/4},${m.rocket/3} L -${m.rocket/4},-${m.rocket/6} Z`,fill:"currentColor"}),e.jsx("circle",{cx:"0",cy:-m.rocket/6,r:m.rocket/8,fill:"white",opacity:"0.8"}),e.jsxs("g",{opacity:"0.8",children:[e.jsx("path",{d:`M -${m.rocket/6},${m.rocket/2} L -${m.rocket/8},${m.rocket/1.5} L 0,${m.rocket/2} Z`,fill:"#FF6B35",style:{animation:`waka-flicker ${s/4}s ease-in-out infinite`}}),e.jsx("path",{d:`M 0,${m.rocket/2} L ${m.rocket/8},${m.rocket/1.5} L ${m.rocket/6},${m.rocket/2} Z`,fill:"#FF6B35",style:{animation:`waka-flicker ${s/4}s ease-in-out infinite 0.1s`}}),e.jsx("path",{d:`M -${m.rocket/12},${m.rocket/2} L 0,${m.rocket/1.3} L ${m.rocket/12},${m.rocket/2} Z`,fill:"#FFA500",style:{animation:`waka-flicker ${s/4}s ease-in-out infinite 0.05s`}})]})]})}),[...Array(3)].map((w,k)=>e.jsx("circle",{cx:b+(k-1)*m.orbit*.3,cy:h-m.orbit*1.2,r:"1",fill:"currentColor",className:"opacity-40",style:{animation:`waka-twinkle ${s*1.5}s ease-in-out infinite ${k*.3}s`}},k))]}),e.jsx("style",{dangerouslySetInnerHTML:{__html:`
14
11
  @keyframes waka-orbit {
15
12
  from { transform: rotate(0deg); }
16
13
  to { transform: rotate(360deg); }
@@ -27,7 +24,7 @@ ${s}
27
24
  0%, 100% { opacity: 0.4; transform: scale(1); }
28
25
  50% { opacity: 1; transform: scale(1.5); }
29
26
  }
30
- `}})]})});Jo.displayName="WakaSpinner";function Ja(t,a,r){const s=[];for(let o=0;o<6;o++){const l=o/6*Math.PI*2,c=r*(.7+Math.random()*.6),f=t+Math.cos(l)*c,m=a+Math.sin(l)*c;s.push([f,m])}return s.map(([o,l])=>`${o},${l}`).join(" ")}function Yo({s3Config:t,onSave:a,onDelete:r,onLoadTheme:s,existingThemes:n=[],className:o}){const{toast:l}=Br(),[c,f]=i.useState(""),[m,p]=i.useState(""),[h,x]=i.useState(""),[k,S]=i.useState("#3b82f6"),[j,y]=i.useState(""),[b,u]=i.useState(""),[d,g]=i.useState(""),[v,N]=i.useState(!1),[$,F]=i.useState(!1),[M,T]=i.useState(!1),[P,L]=i.useState(!1),[A,V]=i.useState(!1),[X,me]=i.useState(null),[se,Y]=i.useState([]),[H,_]=i.useState("1.0.0"),q=i.useRef(null),R=i.useCallback(z=>{if(!z.trim())return{valid:!1,error:"Le CSS ne peut pas être vide"};const I=z.includes(":root")||z.includes(".dark"),J=z.includes("@theme inline");return!I&&!J?{valid:!1,error:"Le CSS doit contenir :root, .dark ou @theme inline"}:z.includes("--")?{valid:!0}:{valid:!1,error:"Le CSS doit contenir des variables CSS (--variable)"}},[]),te=i.useCallback(()=>{const z=R(b);if(!z.valid){l({title:"CSS invalide",description:z.error,variant:"destructive"});return}q.current&&q.current.parentNode&&q.current.parentNode.removeChild(q.current);const I=document.createElement("style");I.setAttribute("data-theme-preview",c),I.textContent=b,document.head.appendChild(I),q.current=I,document.documentElement.setAttribute("data-theme",c),F(!0),l({title:"Prévisualisation activée",description:`Le thème "${m}" est maintenant actif`})},[b,c,m,R,l]),Z=i.useCallback(()=>{q.current&&q.current.parentNode&&q.current.parentNode.removeChild(q.current),document.documentElement.removeAttribute("data-theme"),F(!1),l({title:"Prévisualisation arrêtée",description:"Thème par défaut restauré"})},[l]),G=i.useCallback(async()=>{const z=R(b);if(!z.valid){l({title:"CSS invalide",description:z.error,variant:"destructive"});return}if(!c||!m){l({title:"Informations manquantes",description:"Veuillez renseigner l'ID et le nom du thème",variant:"destructive"});return}N(!0);try{const{baseUrl:I,method:J="PUT",headers:ce={},prefix:oe="",extension:de="css"}=t,Se=encodeURIComponent(c.replace(/\s+/g,"-").toLowerCase()),ye=`${I.replace(/\/$/,"")}/${oe}${Se}.${de}`;console.log(`[ThemeCreator] Uploading theme to: ${ye}`);const Oe=await fetch(ye,{method:J,headers:{"Content-Type":"text/css",...ce},body:b});if(!Oe.ok)throw new Error(`Upload failed: ${Oe.status} ${Oe.statusText}`);const ht={version:H,createdAt:new Date,createdBy:j||"Anonymous",changelog:d||"No changelog provided",css:b},Ue=[...se,ht];Y(Ue);const Be={id:c,label:m,description:h,previewColor:k,author:j,versions:Ue,currentVersion:H},wt=`${I.replace(/\/$/,"")}/${oe}${c}.json`;await fetch(wt,{method:J,headers:{"Content-Type":"application/json",...ce},body:JSON.stringify(Be,null,2)}),l({title:"Thème publié !",description:`Le thème "${m}" v${H} a été uploadé sur S3`}),a?.(Be),g("")}catch(I){console.error("[ThemeCreator] Upload error:",I),l({title:"Erreur d'upload",description:I instanceof Error?I.message:"Une erreur est survenue",variant:"destructive"})}finally{N(!1)}},[b,c,m,h,k,j,H,d,se,t,R,l,a]),Re=i.useCallback(async()=>{try{await navigator.clipboard.writeText(b),T(!0),setTimeout(()=>T(!1),2e3),l({title:"CSS copié !",description:"Le code CSS a été copié dans le presse-papiers"})}catch{l({title:"Erreur de copie",description:"Impossible de copier le CSS",variant:"destructive"})}},[b,l]),ve=i.useCallback(async z=>{V(!0);try{let I=z;if(s&&(!z.versions||z.versions.length===0||!z.versions[0].css)){const ce=await s(z.id);if(ce)I=ce,l({title:"Thème chargé",description:`Thème "${I.label}" chargé depuis S3`});else{l({title:"Erreur",description:`Impossible de charger le thème "${z.label}"`,variant:"destructive"});return}}f(I.id),p(I.label),x(I.description||""),S(I.previewColor||"#3b82f6"),y(I.author||""),Y(I.versions),_(I.currentVersion);const J=I.versions[I.versions.length-1];J&&u(J.css),me(I)}catch(I){console.error("[WakaThemeCreator] Error loading theme:",I),l({title:"Erreur",description:"Erreur lors du chargement du thème",variant:"destructive"})}finally{V(!1)}},[s,l]),Ne=i.useCallback(()=>{f(""),p(""),x(""),S("#3b82f6"),y(""),u(""),g(""),Y([]),_("1.0.0"),me(null),$&&Z()},[$,Z]),le=i.useCallback(()=>{const z=new Blob([b],{type:"text/css"}),I=URL.createObjectURL(z),J=document.createElement("a");J.href=I,J.download=`${c||"theme"}.css`,document.body.appendChild(J),J.click(),document.body.removeChild(J),URL.revokeObjectURL(I),l({title:"CSS téléchargé",description:`Fichier ${c||"theme"}.css téléchargé`})},[b,c,l]);return e.jsxs("div",{className:w("w-full max-w-6xl mx-auto space-y-6",o),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:"Créateur de Thèmes"}),e.jsx("p",{className:"text-muted-foreground",children:"Créez et publiez des thèmes TweakCN sur S3"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(O,{variant:"outline",onClick:Ne,children:[e.jsx(E.Plus,{className:"mr-2 h-4 w-4"}),"Nouveau thème"]}),$&&e.jsx(O,{variant:"destructive",onClick:Z,children:"Arrêter la prévisualisation"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsxs(Ve,{className:"lg:col-span-1",children:[e.jsxs(Ke,{children:[e.jsx(We,{children:"Thèmes existants"}),e.jsx(Dt,{children:"Chargez un thème pour le modifier"})]}),e.jsx(Ze,{className:"space-y-2",children:n.length===0?e.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:"Aucun thème existant"}):n.map(z=>e.jsxs("button",{onClick:()=>ve(z),disabled:A,className:w("w-full flex items-center gap-3 p-3 rounded-lg border-2 transition-all text-left",X?.id===z.id?"border-primary bg-primary/10":"border-border hover:border-primary/50",A&&"opacity-50 cursor-not-allowed"),children:[e.jsx("div",{className:"w-8 h-8 rounded-full flex-shrink-0",style:{backgroundColor:z.previewColor||"#3b82f6"}}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"font-medium truncate flex items-center gap-2",children:[z.label,A&&X?.id===z.id&&e.jsx(E.Loader2,{className:"h-4 w-4 animate-spin"})]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["v",z.currentVersion||"1.0.0"," • ",z.versions?.length||0," versions"]})]})]},z.id))})]}),e.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Palette,{className:"h-5 w-5"}),"Informations du thème"]})}),e.jsxs(Ze,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-id",children:"ID du thème *"}),e.jsx(fe,{id:"theme-id",placeholder:"ex: forest",value:c,onChange:z=>f(z.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-label",children:"Nom d'affichage *"}),e.jsx(fe,{id:"theme-label",placeholder:"ex: Forêt",value:m,onChange:z=>p(z.target.value)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-description",children:"Description"}),e.jsx(fe,{id:"theme-description",placeholder:"Thème inspiré de la nature",value:h,onChange:z=>x(z.target.value)})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-color",children:"Couleur de prévisualisation"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{id:"theme-color",type:"color",value:k,onChange:z=>S(z.target.value),className:"w-16 h-10 p-1"}),e.jsx(fe,{value:k,onChange:z=>S(z.target.value),placeholder:"#3b82f6"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-author",children:"Auteur"}),e.jsx(fe,{id:"theme-author",placeholder:"Votre nom",value:j,onChange:z=>y(z.target.value)})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-version",children:"Version"}),e.jsx(fe,{id:"theme-version",placeholder:"1.0.0",value:H,onChange:z=>_(z.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-changelog",children:"Changelog"}),e.jsx(fe,{id:"theme-changelog",placeholder:"Modifications apportées",value:d,onChange:z=>g(z.target.value)})]})]})]})]}),e.jsxs(Ve,{children:[e.jsxs(Ke,{children:[e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.FileCode,{className:"h-5 w-5"}),"Code CSS TweakCN"]}),e.jsx(Dt,{children:"Collez le CSS généré par TweakCN ici"})]}),e.jsxs(Ze,{className:"space-y-4",children:[e.jsx(pa,{placeholder:`:root {
27
+ `}})]})});Go.displayName="WakaSpinner";function Ja(t,a,r){const s=[];for(let o=0;o<6;o++){const d=o/6*Math.PI*2,u=r*(.7+Math.random()*.6),f=t+Math.cos(d)*u,m=a+Math.sin(d)*u;s.push([f,m])}return s.map(([o,d])=>`${o},${d}`).join(" ")}function Xo({s3Config:t,onSave:a,onDelete:r,onLoadTheme:s,existingThemes:n=[],className:o}){const{toast:d}=Br(),[u,f]=i.useState(""),[m,b]=i.useState(""),[h,w]=i.useState(""),[k,S]=i.useState("#3b82f6"),[p,y]=i.useState(""),[x,c]=i.useState(""),[l,g]=i.useState(""),[v,N]=i.useState(!1),[$,F]=i.useState(!1),[M,T]=i.useState(!1),[P,L]=i.useState(!1),[A,V]=i.useState(!1),[X,me]=i.useState(null),[se,Y]=i.useState([]),[H,_]=i.useState("1.0.0"),q=i.useRef(null),R=i.useCallback(z=>{if(!z.trim())return{valid:!1,error:"Le CSS ne peut pas être vide"};const I=z.includes(":root")||z.includes(".dark"),J=z.includes("@theme inline");return!I&&!J?{valid:!1,error:"Le CSS doit contenir :root, .dark ou @theme inline"}:z.includes("--")?{valid:!0}:{valid:!1,error:"Le CSS doit contenir des variables CSS (--variable)"}},[]),Q=i.useCallback(()=>{const z=R(x);if(!z.valid){d({title:"CSS invalide",description:z.error,variant:"destructive"});return}q.current&&q.current.parentNode&&q.current.parentNode.removeChild(q.current);const I=document.createElement("style");I.setAttribute("data-theme-preview",u),I.textContent=x,document.head.appendChild(I),q.current=I,document.documentElement.setAttribute("data-theme",u),F(!0),d({title:"Prévisualisation activée",description:`Le thème "${m}" est maintenant actif`})},[x,u,m,R,d]),Z=i.useCallback(()=>{q.current&&q.current.parentNode&&q.current.parentNode.removeChild(q.current),document.documentElement.removeAttribute("data-theme"),F(!1),d({title:"Prévisualisation arrêtée",description:"Thème par défaut restauré"})},[d]),G=i.useCallback(async()=>{const z=R(x);if(!z.valid){d({title:"CSS invalide",description:z.error,variant:"destructive"});return}if(!u||!m){d({title:"Informations manquantes",description:"Veuillez renseigner l'ID et le nom du thème",variant:"destructive"});return}N(!0);try{const{baseUrl:I,method:J="PUT",headers:ce={},prefix:oe="",extension:de="css"}=t,Se=encodeURIComponent(u.replace(/\s+/g,"-").toLowerCase()),ye=`${I.replace(/\/$/,"")}/${oe}${Se}.${de}`;console.log(`[ThemeCreator] Uploading theme to: ${ye}`);const Oe=await fetch(ye,{method:J,headers:{"Content-Type":"text/css",...ce},body:x});if(!Oe.ok)throw new Error(`Upload failed: ${Oe.status} ${Oe.statusText}`);const ht={version:H,createdAt:new Date,createdBy:p||"Anonymous",changelog:l||"No changelog provided",css:x},Ue=[...se,ht];Y(Ue);const Be={id:u,label:m,description:h,previewColor:k,author:p,versions:Ue,currentVersion:H},wt=`${I.replace(/\/$/,"")}/${oe}${u}.json`;await fetch(wt,{method:J,headers:{"Content-Type":"application/json",...ce},body:JSON.stringify(Be,null,2)}),d({title:"Thème publié !",description:`Le thème "${m}" v${H} a été uploadé sur S3`}),a?.(Be),g("")}catch(I){console.error("[ThemeCreator] Upload error:",I),d({title:"Erreur d'upload",description:I instanceof Error?I.message:"Une erreur est survenue",variant:"destructive"})}finally{N(!1)}},[x,u,m,h,k,p,H,l,se,t,R,d,a]),Re=i.useCallback(async()=>{try{await navigator.clipboard.writeText(x),T(!0),setTimeout(()=>T(!1),2e3),d({title:"CSS copié !",description:"Le code CSS a été copié dans le presse-papiers"})}catch{d({title:"Erreur de copie",description:"Impossible de copier le CSS",variant:"destructive"})}},[x,d]),ve=i.useCallback(async z=>{V(!0);try{let I=z;if(s&&(!z.versions||z.versions.length===0||!z.versions[0].css)){const ce=await s(z.id);if(ce)I=ce,d({title:"Thème chargé",description:`Thème "${I.label}" chargé depuis S3`});else{d({title:"Erreur",description:`Impossible de charger le thème "${z.label}"`,variant:"destructive"});return}}f(I.id),b(I.label),w(I.description||""),S(I.previewColor||"#3b82f6"),y(I.author||""),Y(I.versions),_(I.currentVersion);const J=I.versions[I.versions.length-1];J&&c(J.css),me(I)}catch(I){console.error("[WakaThemeCreator] Error loading theme:",I),d({title:"Erreur",description:"Erreur lors du chargement du thème",variant:"destructive"})}finally{V(!1)}},[s,d]),Ne=i.useCallback(()=>{f(""),b(""),w(""),S("#3b82f6"),y(""),c(""),g(""),Y([]),_("1.0.0"),me(null),$&&Z()},[$,Z]),le=i.useCallback(()=>{const z=new Blob([x],{type:"text/css"}),I=URL.createObjectURL(z),J=document.createElement("a");J.href=I,J.download=`${u||"theme"}.css`,document.body.appendChild(J),J.click(),document.body.removeChild(J),URL.revokeObjectURL(I),d({title:"CSS téléchargé",description:`Fichier ${u||"theme"}.css téléchargé`})},[x,u,d]);return e.jsxs("div",{className:j("w-full max-w-6xl mx-auto space-y-6",o),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:"Créateur de Thèmes"}),e.jsx("p",{className:"text-muted-foreground",children:"Créez et publiez des thèmes TweakCN sur S3"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(O,{variant:"outline",onClick:Ne,children:[e.jsx(E.Plus,{className:"mr-2 h-4 w-4"}),"Nouveau thème"]}),$&&e.jsx(O,{variant:"destructive",onClick:Z,children:"Arrêter la prévisualisation"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsxs(Ve,{className:"lg:col-span-1",children:[e.jsxs(Ke,{children:[e.jsx(We,{children:"Thèmes existants"}),e.jsx(Dt,{children:"Chargez un thème pour le modifier"})]}),e.jsx(Ze,{className:"space-y-2",children:n.length===0?e.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:"Aucun thème existant"}):n.map(z=>e.jsxs("button",{onClick:()=>ve(z),disabled:A,className:j("w-full flex items-center gap-3 p-3 rounded-lg border-2 transition-all text-left",X?.id===z.id?"border-primary bg-primary/10":"border-border hover:border-primary/50",A&&"opacity-50 cursor-not-allowed"),children:[e.jsx("div",{className:"w-8 h-8 rounded-full flex-shrink-0",style:{backgroundColor:z.previewColor||"#3b82f6"}}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"font-medium truncate flex items-center gap-2",children:[z.label,A&&X?.id===z.id&&e.jsx(E.Loader2,{className:"h-4 w-4 animate-spin"})]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["v",z.currentVersion||"1.0.0"," • ",z.versions?.length||0," versions"]})]})]},z.id))})]}),e.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Palette,{className:"h-5 w-5"}),"Informations du thème"]})}),e.jsxs(Ze,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-id",children:"ID du thème *"}),e.jsx(fe,{id:"theme-id",placeholder:"ex: forest",value:u,onChange:z=>f(z.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-label",children:"Nom d'affichage *"}),e.jsx(fe,{id:"theme-label",placeholder:"ex: Forêt",value:m,onChange:z=>b(z.target.value)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-description",children:"Description"}),e.jsx(fe,{id:"theme-description",placeholder:"Thème inspiré de la nature",value:h,onChange:z=>w(z.target.value)})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-color",children:"Couleur de prévisualisation"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{id:"theme-color",type:"color",value:k,onChange:z=>S(z.target.value),className:"w-16 h-10 p-1"}),e.jsx(fe,{value:k,onChange:z=>S(z.target.value),placeholder:"#3b82f6"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-author",children:"Auteur"}),e.jsx(fe,{id:"theme-author",placeholder:"Votre nom",value:p,onChange:z=>y(z.target.value)})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-version",children:"Version"}),e.jsx(fe,{id:"theme-version",placeholder:"1.0.0",value:H,onChange:z=>_(z.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"theme-changelog",children:"Changelog"}),e.jsx(fe,{id:"theme-changelog",placeholder:"Modifications apportées",value:l,onChange:z=>g(z.target.value)})]})]})]})]}),e.jsxs(Ve,{children:[e.jsxs(Ke,{children:[e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.FileCode,{className:"h-5 w-5"}),"Code CSS TweakCN"]}),e.jsx(Dt,{children:"Collez le CSS généré par TweakCN ici"})]}),e.jsxs(Ze,{className:"space-y-4",children:[e.jsx(pa,{placeholder:`:root {
31
28
  --background: oklch(0.9911 0 0);
32
29
  --foreground: oklch(0.2046 0 0);
33
30
  --primary: oklch(0.8348 0.1302 160.9080);
@@ -58,16 +55,25 @@ ${s}
58
55
  --color-primary: var(--primary);
59
56
  --color-primary-foreground: var(--primary-foreground);
60
57
  /* ... autres couleurs ... */
61
- }`,value:b,onChange:z=>u(z.target.value),className:"font-mono text-sm min-h-[300px]"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(O,{onClick:te,disabled:$,children:[e.jsx(E.Eye,{className:"mr-2 h-4 w-4"}),"Prévisualiser"]}),e.jsx(O,{variant:"outline",onClick:Re,children:M?e.jsxs(e.Fragment,{children:[e.jsx(E.Check,{className:"mr-2 h-4 w-4"}),"Copié !"]}):e.jsxs(e.Fragment,{children:[e.jsx(E.Copy,{className:"mr-2 h-4 w-4"}),"Copier CSS"]})}),e.jsxs(O,{variant:"outline",onClick:le,children:[e.jsx(E.Download,{className:"mr-2 h-4 w-4"}),"Télécharger"]}),e.jsx("div",{className:"ml-auto",children:e.jsx(O,{onClick:G,disabled:v,children:v?e.jsxs(e.Fragment,{children:[e.jsx(E.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Publication..."]}):e.jsxs(e.Fragment,{children:[e.jsx(E.Upload,{className:"mr-2 h-4 w-4"}),"Publier sur S3"]})})})]})]})]}),se.length>0&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.History,{className:"h-5 w-5"}),"Historique des versions"]})}),e.jsx(Ze,{children:e.jsx("div",{className:"space-y-3",children:se.slice().reverse().map((z,I)=>e.jsxs("div",{className:"flex items-start gap-3 p-3 border rounded-lg",children:[e.jsxs(He,{variant:"outline",children:["v",z.version]}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-medium",children:z.changelog||"Aucune description"}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Par ",z.createdBy," • ",z.createdAt.toLocaleDateString()]})]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:()=>u(z.css),children:"Charger"})]},I))})})]})]})]}),e.jsx(Hs,{open:P,onOpenChange:L,children:e.jsxs(cr,{children:[e.jsxs(dr,{children:[e.jsx(mr,{children:"Supprimer le thème ?"}),e.jsx(fr,{children:"Cette action est irréversible. Le thème sera supprimé de S3."})]}),e.jsxs(ur,{children:[e.jsx(pr,{children:"Annuler"}),e.jsx(hr,{onClick:()=>{X&&(r?.(X.id),Ne()),L(!1)},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Supprimer"})]})]})})]})}Yo.displayName="WakaThemeCreator";function Oh(){try{return ga()}catch{return null}}const Ko=De.cva("w-full",{variants:{size:{sm:"max-w-2xl",base:"max-w-4xl",lg:"max-w-6xl",full:"max-w-full"}},defaultVariants:{size:"base"}}),Zo=i.forwardRef(({className:t,size:a,onThemeChange:r,onThemeLoad:s,onThemeSave:n,initialTheme:o,showPreview:l=!0,showExport:c=!0,showImport:f=!0,allowCustomColors:m=!0,...p},h)=>{const x=Oh(),k=x?.theme,S=x?.themes||[],j=x?.setTheme,[y,b]=C.useState(o||{name:"Custom Theme",description:"Thème personnalisé",colors:{background:"#ffffff",foreground:"#0a0a0a",card:"#ffffff",cardForeground:"#0a0a0a",popover:"#ffffff",popoverForeground:"#0a0a0a",primary:"#0a0a0a",primaryForeground:"#fafafa",secondary:"#f4f4f5",secondaryForeground:"#0a0a0a",muted:"#f4f4f5",mutedForeground:"#737373",accent:"#f4f4f5",accentForeground:"#0a0a0a",destructive:"#ef4444",destructiveForeground:"#fafafa",border:"#e4e4e7",input:"#e4e4e7",ring:"#0a0a0a"}}),[u,d]=C.useState(!1),[g,v]=C.useState(null),[N,$]=C.useState(null),[F,M]=C.useState(""),[T,P]=C.useState(!1),[L,A]=C.useState("auto"),V=C.useCallback(_=>{const q=document.documentElement;if(Object.entries(_.colors).forEach(([R,te])=>{const Z=`--${R.replace(/([A-Z])/g,"-$1").toLowerCase()}`;q.style.setProperty(Z,te)}),j){const R={id:_.name.toLowerCase().replace(/\s+/g,"-"),label:_.name,description:_.description||"",previewColor:_.colors.primary};j(R.id)}},[j]),X=async _=>{d(!0),v(null),$(null);try{const q=await fetch(_);if(!q.ok)throw new Error(`Erreur HTTP: ${q.status}`);const R=await q.json();if(!R.name||!R.colors)throw new Error("Format de thème invalide");const te={name:R.name,description:R.description||"",author:R.author||"",version:R.version||"1.0.0",colors:{background:R.colors.background||"#ffffff",foreground:R.colors.foreground||"#0a0a0a",card:R.colors.card||"#ffffff",cardForeground:R.colors.cardForeground||"#0a0a0a",popover:R.colors.popover||"#ffffff",popoverForeground:R.colors.popoverForeground||"#0a0a0a",primary:R.colors.primary||"#0a0a0a",primaryForeground:R.colors.primaryForeground||"#fafafa",secondary:R.colors.secondary||"#f4f4f5",secondaryForeground:R.colors.secondaryForeground||"#0a0a0a",muted:R.colors.muted||"#f4f4f5",mutedForeground:R.colors.mutedForeground||"#737373",accent:R.colors.accent||"#f4f4f5",accentForeground:R.colors.accentForeground||"#0a0a0a",destructive:R.colors.destructive||"#ef4444",destructiveForeground:R.colors.destructiveForeground||"#fafafa",border:R.colors.border||"#e4e4e7",input:R.colors.input||"#e4e4e7",ring:R.colors.ring||"#0a0a0a",chart1:R.colors.chart1,chart2:R.colors.chart2,chart3:R.colors.chart3,chart4:R.colors.chart4,chart5:R.colors.chart5}};b(te),V(te),s?.(te),$("Thème chargé avec succès !")}catch(q){v(q instanceof Error?q.message:"Erreur lors du chargement du thème")}finally{d(!1)}},me=()=>{const _=JSON.stringify(y,null,2),q=new Blob([_],{type:"application/json"}),R=URL.createObjectURL(q),te=document.createElement("a");te.href=R,te.download=`${y.name.toLowerCase().replace(/\s+/g,"-")}-theme.json`,document.body.appendChild(te),te.click(),document.body.removeChild(te),URL.revokeObjectURL(R)},se=async()=>{try{await navigator.clipboard.writeText(JSON.stringify(y,null,2)),P(!0),setTimeout(()=>P(!1),2e3)}catch{v("Impossible de copier le thème")}},Y=(_,q)=>{const R={...y,colors:{...y.colors,[_]:q}};b(R),V(R),r?.(R)},H=()=>{n?.(y),$("Thème sauvegardé !")};return C.useEffect(()=>{V(y)},[y,V]),C.useEffect(()=>{const _=document.documentElement;L==="dark"?_.classList.add("dark"):L==="light"?_.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?_.classList.add("dark"):_.classList.remove("dark")},[L]),e.jsx("div",{ref:h,className:w(Ko({size:a}),t),...p,children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold",children:"Gestionnaire de Thèmes TweakCN"}),e.jsx("p",{className:"text-muted-foreground",children:"Créez, importez et prévisualisez vos thèmes personnalisés"})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(He,{variant:"outline",className:"flex items-center gap-1",children:[e.jsx(E.Palette,{className:"h-3 w-3"}),y.name]})})]}),g&&e.jsxs("div",{className:"flex items-center gap-2 p-3 bg-destructive/10 border border-destructive/20 rounded-lg text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:g})]}),N&&e.jsxs("div",{className:"flex items-center gap-2 p-3 bg-green-500/10 border border-green-500/20 rounded-lg text-green-600",children:[e.jsx(E.CheckCircle,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:N})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Settings,{className:"h-5 w-5"}),"Informations du thème"]})}),e.jsxs(Ze,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"theme-name",children:"Nom"}),e.jsx(fe,{id:"theme-name",value:y.name,onChange:_=>b({...y,name:_.target.value}),placeholder:"Mon thème"})]}),e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"theme-author",children:"Auteur"}),e.jsx(fe,{id:"theme-author",value:y.author||"",onChange:_=>b({...y,author:_.target.value}),placeholder:"Votre nom"})]})]}),e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"theme-description",children:"Description"}),e.jsx(pa,{id:"theme-description",value:y.description||"",onChange:_=>b({...y,description:_.target.value}),placeholder:"Description du thème...",rows:3})]})]})]}),(f||c)&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Upload,{className:"h-5 w-5"}),"Import / Export"]})}),e.jsxs(Ze,{className:"space-y-4",children:[f&&e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"import-url",children:"URL du thème JSON"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{id:"import-url",value:F,onChange:_=>M(_.target.value),placeholder:"https://example.com/theme.json",className:"flex-1"}),e.jsx(O,{onClick:()=>X(F),disabled:!F||u,size:"sm",children:u?e.jsx(E.RefreshCw,{className:"h-4 w-4 animate-spin"}):e.jsx(E.Download,{className:"h-4 w-4"})})]})]}),c&&e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(O,{onClick:me,variant:"outline",className:"flex-1",children:[e.jsx(E.Download,{className:"h-4 w-4 mr-2"}),"Exporter JSON"]}),e.jsx(O,{onClick:se,variant:"outline",children:T?e.jsx(E.Check,{className:"h-4 w-4"}):e.jsx(E.Copy,{className:"h-4 w-4"})})]})]})]}),l&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Eye,{className:"h-5 w-5"}),"Prévisualisation"]})}),e.jsx(Ze,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(O,{variant:L==="light"?"default":"outline",size:"sm",onClick:()=>A("light"),children:[e.jsx(E.Sun,{className:"h-4 w-4 mr-2"}),"Clair"]}),e.jsxs(O,{variant:L==="dark"?"default":"outline",size:"sm",onClick:()=>A("dark"),children:[e.jsx(E.Moon,{className:"h-4 w-4 mr-2"}),"Sombre"]}),e.jsxs(O,{variant:L==="auto"?"default":"outline",size:"sm",onClick:()=>A("auto"),children:[e.jsx(E.Monitor,{className:"h-4 w-4 mr-2"}),"Auto"]})]}),k&&e.jsxs("div",{className:"text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:"Thème actuel:"}),e.jsx("span",{className:"font-medium",children:k})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:"Mode sombre:"}),e.jsx("span",{className:"font-medium",children:"Géré par le système"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:"Thèmes disponibles:"}),e.jsx("span",{className:"font-medium",children:S.length})]})]})]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{onClick:H,className:"flex-1",children:"Sauvegarder le thème"}),e.jsxs(O,{variant:"outline",onClick:()=>window.open("https://tweakcn.com","_blank"),children:[e.jsx(E.ExternalLink,{className:"h-4 w-4 mr-2"}),"TweakCN"]})]})]}),m&&e.jsx("div",{className:"space-y-6",children:e.jsxs(Ve,{children:[e.jsxs(Ke,{children:[e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Palette,{className:"h-5 w-5"}),"Couleurs du thème"]}),e.jsx(Dt,{children:"Cliquez sur une couleur pour la modifier"})]}),e.jsx(Ze,{children:e.jsx("div",{className:"grid grid-cols-2 gap-4",children:Object.entries(y.colors).map(([_,q])=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:`color-${_}`,className:"text-sm font-medium",children:_.replace(/([A-Z])/g," $1").replace(/^./,R=>R.toUpperCase())}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-10 h-10 rounded border border-border cursor-pointer",style:{backgroundColor:q},onClick:()=>{document.getElementById(`color-${_}`)?.click()}}),e.jsx(fe,{id:`color-${_}`,type:"color",value:q,onChange:R=>Y(_,R.target.value),className:"flex-1 h-10"})]})]},_))})})]})})]}),l&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Eye,{className:"h-5 w-5"}),"Prévisualisation en temps réel"]})}),e.jsx(Ze,{children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Boutons"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(O,{size:"sm",children:"Primary"}),e.jsx(O,{variant:"secondary",size:"sm",children:"Secondary"}),e.jsx(O,{variant:"outline",size:"sm",children:"Outline"}),e.jsx(O,{variant:"destructive",size:"sm",children:"Destructive"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Cards"}),e.jsxs(Ve,{className:"p-3",children:[e.jsx(We,{className:"text-sm",children:"Exemple de carte"}),e.jsx(Dt,{className:"text-xs",children:"Contenu de la carte avec le nouveau thème"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Inputs"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(fe,{placeholder:"Input normal"}),e.jsx(fe,{placeholder:"Input avec erreur",className:"border-destructive"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Badges"}),e.jsxs("div",{className:"flex flex-wrap gap-1",children:[e.jsx(He,{children:"Default"}),e.jsx(He,{variant:"secondary",children:"Secondary"}),e.jsx(He,{variant:"destructive",children:"Destructive"}),e.jsx(He,{variant:"outline",children:"Outline"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Séparateur"}),e.jsx(At,{}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Texte avec couleur muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Progress"}),e.jsx("div",{className:"w-full bg-muted rounded-full h-2",children:e.jsx("div",{className:"bg-primary h-2 rounded-full",style:{width:"60%"}})})]})]})})]})]})})});Zo.displayName="WakaThemeManager";function ae(...t){return Ls.clsx(t)}function Qo(t,a="export.csv"){if(!t||t.length===0)return;const r=Object.keys(t[0]),s=[r.join(","),...t.map(l=>r.map(c=>{const f=l[c];return typeof f=="string"&&(f.includes(",")||f.includes('"')||f.includes(`
58
+ }`,value:x,onChange:z=>c(z.target.value),className:"font-mono text-sm min-h-[300px]"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(O,{onClick:Q,disabled:$,children:[e.jsx(E.Eye,{className:"mr-2 h-4 w-4"}),"Prévisualiser"]}),e.jsx(O,{variant:"outline",onClick:Re,children:M?e.jsxs(e.Fragment,{children:[e.jsx(E.Check,{className:"mr-2 h-4 w-4"}),"Copié !"]}):e.jsxs(e.Fragment,{children:[e.jsx(E.Copy,{className:"mr-2 h-4 w-4"}),"Copier CSS"]})}),e.jsxs(O,{variant:"outline",onClick:le,children:[e.jsx(E.Download,{className:"mr-2 h-4 w-4"}),"Télécharger"]}),e.jsx("div",{className:"ml-auto",children:e.jsx(O,{onClick:G,disabled:v,children:v?e.jsxs(e.Fragment,{children:[e.jsx(E.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Publication..."]}):e.jsxs(e.Fragment,{children:[e.jsx(E.Upload,{className:"mr-2 h-4 w-4"}),"Publier sur S3"]})})})]})]})]}),se.length>0&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.History,{className:"h-5 w-5"}),"Historique des versions"]})}),e.jsx(Ze,{children:e.jsx("div",{className:"space-y-3",children:se.slice().reverse().map((z,I)=>e.jsxs("div",{className:"flex items-start gap-3 p-3 border rounded-lg",children:[e.jsxs(He,{variant:"outline",children:["v",z.version]}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-medium",children:z.changelog||"Aucune description"}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Par ",z.createdBy," • ",z.createdAt.toLocaleDateString()]})]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:()=>c(z.css),children:"Charger"})]},I))})})]})]})]}),e.jsx(Hs,{open:P,onOpenChange:L,children:e.jsxs(cr,{children:[e.jsxs(dr,{children:[e.jsx(mr,{children:"Supprimer le thème ?"}),e.jsx(fr,{children:"Cette action est irréversible. Le thème sera supprimé de S3."})]}),e.jsxs(ur,{children:[e.jsx(pr,{children:"Annuler"}),e.jsx(hr,{onClick:()=>{X&&(r?.(X.id),Ne()),L(!1)},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Supprimer"})]})]})})]})}Xo.displayName="WakaThemeCreator";const Jo=i.createContext(void 0);function Yo({children:t,themes:a,defaultTheme:r="default",s3Config:s,onThemeChange:n,enableDarkMode:o=!1}){const[d,u]=i.useState(r),[f,m]=i.useState(!0),[b,h]=i.useState(new Set),[w,k]=i.useState(!1),[S,p]=i.useState(!1),y=i.useRef(new Map),x=i.useRef(new Set);i.useEffect(()=>{x.current=b},[b]);const c=i.useCallback(async T=>{if(!s)throw new Error("S3 configuration not provided");const{baseUrl:P,prefix:L="",extension:A="css",headers:V={},timeout:X=1e4}=s,me=P.replace(/\/+$/,""),se=L.replace(/^\/+/,"").replace(/\/+$/,""),Y=`v=${Date.now()}`;let H;se?H=`${me}/${se}/${T}.${A}?${Y}`:H=`${me}/${T}.${A}?${Y}`,console.log(`[ThemeProvider] Loading theme "${T}" from URL: ${H}`);try{const _=new AbortController,q=setTimeout(()=>_.abort(),X),R=await fetch(H,{signal:_.signal,headers:{Accept:A==="json"?"application/json":"text/css","Cache-Control":"no-cache, no-store, must-revalidate",Pragma:"no-cache",...V}});if(clearTimeout(q),!R.ok){const Z=`HTTP ${R.status}: ${R.statusText}`;throw console.error(`[ThemeProvider] Failed to load theme "${T}" from ${H}:`,Z),new Error(Z)}if(console.log(`[ThemeProvider] ✅ Successfully loaded theme "${T}" from ${H}`),A==="json"){let Z;try{const G=await R.text();if(console.log(`[ThemeProvider] Raw JSON response for theme "${T}" (${G.length} chars)`),!G||G.trim().length===0)throw new Error(`Empty JSON response for theme "${T}"`);Z=JSON.parse(G),console.log(`[ThemeProvider] Parsed JSON for theme "${T}":`,Object.keys(Z))}catch(G){throw console.error(`[ThemeProvider] Failed to parse JSON for theme "${T}":`,G),new Error(`Invalid JSON format for theme "${T}": ${G instanceof Error?G.message:"Unknown error"}`)}try{const G=Ih(T,Z);if(!G.includes(`[data-theme="${T}"]`))throw console.error(`[ThemeProvider] ❌ Generated CSS missing [data-theme="${T}"] selector for theme "${T}"`),console.error("[ThemeProvider] Generated CSS:",G.substring(0,500)),new Error(`Generated CSS is missing the required selector [data-theme="${T}"]`);return console.log(`[ThemeProvider] ✅ Converted JSON to CSS for theme "${T}" (${G.length} chars)`),G}catch(G){throw console.error(`[ThemeProvider] Failed to convert JSON to CSS for theme "${T}":`,G),G}}const Q=await R.text();if(!Q||Q.trim().length===0)throw new Error(`Empty CSS response for theme "${T}"`);return!Q.includes(`[data-theme="${T}"]`)&&!Q.includes(":root")&&!Q.includes("html")?(console.warn(`[ThemeProvider] Theme CSS might be missing [data-theme="${T}"] selector`),console.warn("[ThemeProvider] CSS content preview:",Q.substring(0,200))):console.log(`[ThemeProvider] ✅ CSS file loaded for theme "${T}" (${Q.length} chars)`),Q}catch(_){throw console.error(`[ThemeProvider] Error loading theme ${T}:`,_),_}},[s]);i.useCallback(T=>{const P=y.current.get(T);P&&(P.parentNode&&P.parentNode.removeChild(P),y.current.delete(T))},[]);const l=i.useCallback((T,P)=>{if(typeof document>"u")return;!P.includes(`[data-theme="${T}"]`)&&!P.includes(":root")&&console.warn(`[ThemeProvider] CSS might be missing [data-theme="${T}"] selector:`,P.substring(0,200)),document.querySelectorAll("style[data-theme-styles]").forEach(X=>X.remove()),y.current.clear();const A=document.createElement("style");A.setAttribute("data-theme-id",T),A.setAttribute("data-theme-styles","active"),A.textContent=P,document.head.appendChild(A),y.current.set(T,A),document.querySelector(`style[data-theme-id="${T}"]`)?console.log(`[ThemeProvider] ✅ CSS injected for theme "${T}" (${P.length} chars)`):console.error(`[ThemeProvider] ❌ Failed to inject CSS for theme "${T}"`),A.offsetHeight},[]),g=i.useCallback(T=>{if(typeof document>"u")return;const P=document.documentElement;P.setAttribute("data-theme",T);const L=P.getAttribute("data-theme");L!==T?console.warn(`[ThemeProvider] Failed to apply theme attribute. Expected: ${T}, Got: ${L}`):console.log(`[ThemeProvider] ✅ Theme attribute applied: data-theme="${T}"`);try{localStorage.setItem("waka-theme",T)}catch(A){console.warn("[ThemeProvider] Could not save theme to localStorage:",A)}},[]),v=i.useCallback(async T=>{if(!x.current.has(T))try{if(s){const P=await c(T);l(T,P),h(L=>new Set(L).add(T))}else h(P=>new Set(P).add(T))}catch(P){throw console.error(`[ThemeProvider] Failed to preload theme ${T}:`,P),P}},[s,c,l]),N=i.useCallback(async T=>{m(!0);try{if(s){const P=await c(T);l(T,P),h(L=>new Set(L).add(T)),await new Promise(L=>requestAnimationFrame(L))}g(T),u(T),n?.(T)}catch(P){throw console.error(`[ThemeProvider] Failed to change theme to ${T}:`,P),P}finally{m(!1)}},[s,c,l,g,n]),$=i.useCallback(T=>b.has(T),[b]);i.useEffect(()=>{if(w)return;(async()=>{m(!0);try{let P=r;if(typeof window<"u"){const L=localStorage.getItem("waka-theme");L&&a.some(A=>A.id===L)&&(P=L)}if(s){const L=await c(P);l(P,L),h(new Set([P])),await new Promise(A=>requestAnimationFrame(A))}else h(new Set([P]));g(P),u(P)}catch(P){console.error("[ThemeProvider] Error initializing:",P),g(r),u(r),h(new Set([r]))}finally{m(!1),k(!0)}})()},[w,r,a,s,c,l,g]);const F=i.useCallback(()=>{o&&p(T=>{const P=!T,L=document.documentElement;P?L.classList.add("dark"):L.classList.remove("dark");try{localStorage.setItem("waka-dark-mode",P?"dark":"light")}catch(A){console.warn("[ThemeProvider] Could not save dark mode to localStorage:",A)}return P})},[o]);i.useEffect(()=>{if(!o||typeof window>"u")return;let T=!1;try{const V=localStorage.getItem("waka-dark-mode");V!==null?T=V==="dark":(T=window.matchMedia("(prefers-color-scheme: dark)").matches,localStorage.setItem("waka-dark-mode",T?"dark":"light"))}catch(V){console.warn("[ThemeProvider] Could not read dark mode from localStorage:",V)}p(T);const P=document.documentElement;T?P.classList.add("dark"):P.classList.remove("dark");const L=window.matchMedia("(prefers-color-scheme: dark)"),A=V=>{try{localStorage.getItem("waka-dark-mode")||(p(V.matches),V.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),localStorage.setItem("waka-dark-mode",V.matches?"dark":"light"))}catch{}};return L.addEventListener("change",A),()=>{L.removeEventListener("change",A)}},[]),i.useEffect(()=>()=>{y.current.forEach(T=>{T.parentNode&&T.parentNode.removeChild(T)}),y.current.clear()},[]);const M={currentTheme:d,themes:a,changeTheme:N,isLoading:f,loadedThemes:b,preloadTheme:v,isThemeLoaded:$,isDarkMode:S,toggleDarkMode:F};return e.jsx(Jo.Provider,{value:M,children:t})}function Ih(t,a){if(!a||typeof a!="object")throw console.error(`[ThemeProvider] Invalid JSON data for theme "${t}":`,a),new Error(`Invalid JSON data for theme "${t}"`);let r={};if(a.cssVars||a["css-vars"])r=a.cssVars||a["css-vars"],console.log(`[ThemeProvider] Using cssVars/css-vars format for theme "${t}"`);else if(a.variables)r=a.variables,console.log(`[ThemeProvider] Using variables format for theme "${t}"`);else if(typeof a=="object"&&a!==null){const p=["label","description","author","previewColor","version","createdAt","changelog","id"];r=Object.fromEntries(Object.entries(a).filter(([y])=>!p.includes(y))),console.log(`[ThemeProvider] Using direct object format for theme "${t}"`)}if(!r||Object.keys(r).length===0)throw console.error(`[ThemeProvider] No CSS variables found in JSON for theme "${t}":`,a),new Error(`No CSS variables found in JSON for theme "${t}"`);console.log(`[ThemeProvider] Found ${Object.keys(r).length} CSS variables for theme "${t}"`);const s=(p,y)=>{if(typeof p=="string")return p;if(typeof p=="number"||typeof p=="boolean")return String(p);if(p==null)return"none";if(typeof p=="object"){if(Array.isArray(p))return p.map(c=>s(c,y)).join(" ");if(console.log(`[ThemeProvider] Converting object value for key "${y}":`,JSON.stringify(p,null,2)),("r"in p||"R"in p)&&("g"in p||"G"in p)&&("b"in p||"B"in p)){const c=p.r??p.R??0,l=p.g??p.G??0,g=p.b??p.B??0,v=p.a??p.A??p.alpha??p.opacity;return v!=null?`rgba(${c}, ${l}, ${g}, ${v})`:`rgb(${c}, ${l}, ${g})`}if(("h"in p||"H"in p)&&("s"in p||"S"in p)&&("l"in p||"L"in p)){const c=p.h??p.H??0,l=p.s??p.S??0,g=p.l??p.L??0,v=p.a??p.A??p.alpha??p.opacity;return v!=null?`hsla(${c}, ${l}%, ${g}%, ${v})`:`hsl(${c}, ${l}%, ${g}%)`}return Object.keys(p).length>0?(console.warn(`[ThemeProvider] Object value for "${y}" has nested structure, cannot convert to CSS:`,p),JSON.stringify(p)):"none"}return console.warn(`[ThemeProvider] Unknown value type for "${y}":`,typeof p,p),String(p)},n=(p,y="")=>{const x=[];for(const[c,l]of Object.entries(p))if(typeof l=="object"&&l!==null&&!Array.isArray(l))if(("r"in l||"R"in l||"h"in l||"H"in l)&&("g"in l||"G"in l||"s"in l||"S"in l)){const v=y?`--${y}-${c}`:c.startsWith("--")?c:`--${c}`,N=s(l,c);x.push(` ${v}: ${N};`)}else{const v=y?`${y}-${c}`:"",N=n(l,v);x.push(...N)}else{const g=y?`--${y}-${c}`:c.startsWith("--")?c:`--${c}`,v=s(l,c);x.push(` ${g}: ${v};`)}return x},o=r.light,d=r.dark,u=r.theme,f=Object.fromEntries(Object.entries(r).filter(([p])=>!["light","dark","theme"].includes(p))),m=[];u&&typeof u=="object"&&!Array.isArray(u)&&m.push(...n(u,"")),Object.keys(f).length>0&&m.push(...n(f,""));const b=o&&typeof o=="object"&&!Array.isArray(o)?n(o,""):[],h=d&&typeof d=="object"&&!Array.isArray(d)?n(d,""):[];let w="";if(m.length>0||b.length>0){const p=[...m,...b];w+=`[data-theme="${t}"] {
59
+ ${p.join(`
60
+ `)}
61
+ }
62
+
63
+ `}h.length>0&&(w+=`[data-theme="${t}"].dark,
64
+ [data-theme="${t}"][data-theme-mode="dark"] {
65
+ ${h.join(`
66
+ `)}
67
+ }`);const k=w.trim();if(k.trim().length===0)throw console.error(`[ThemeProvider] No CSS variables generated for theme "${t}"`),new Error(`No CSS variables found in JSON for theme "${t}"`);const S=k;if(!S.includes(`[data-theme="${t}"]`))throw console.error(`[ThemeProvider] Generated CSS is missing the selector for theme "${t}"`),console.error("[ThemeProvider] Generated CSS:",S),new Error(`Generated CSS is missing the required selector [data-theme="${t}"]`);return S.length<50&&console.warn(`[ThemeProvider] Generated CSS seems too short for theme "${t}":`,S),console.log(`[ThemeProvider] ✅ Generated valid CSS for theme "${t}" with ${Object.keys(r).length} variables`),S}function ga(){const t=i.useContext(Jo);if(!t)throw new Error("useTheme must be used within a ThemeProvider");return t}function Oh(){try{return ga()}catch{return null}}const Ko=De.cva("w-full",{variants:{size:{sm:"max-w-2xl",base:"max-w-4xl",lg:"max-w-6xl",full:"max-w-full"}},defaultVariants:{size:"base"}}),Zo=i.forwardRef(({className:t,size:a,onThemeChange:r,onThemeLoad:s,onThemeSave:n,initialTheme:o,showPreview:d=!0,showExport:u=!0,showImport:f=!0,allowCustomColors:m=!0,...b},h)=>{const w=Oh(),k=w?.currentTheme,S=w?.themes||[],p=w?.changeTheme,[y,x]=C.useState(o||{name:"Custom Theme",description:"Thème personnalisé",colors:{background:"#ffffff",foreground:"#0a0a0a",card:"#ffffff",cardForeground:"#0a0a0a",popover:"#ffffff",popoverForeground:"#0a0a0a",primary:"#0a0a0a",primaryForeground:"#fafafa",secondary:"#f4f4f5",secondaryForeground:"#0a0a0a",muted:"#f4f4f5",mutedForeground:"#737373",accent:"#f4f4f5",accentForeground:"#0a0a0a",destructive:"#ef4444",destructiveForeground:"#fafafa",border:"#e4e4e7",input:"#e4e4e7",ring:"#0a0a0a"}}),[c,l]=C.useState(!1),[g,v]=C.useState(null),[N,$]=C.useState(null),[F,M]=C.useState(""),[T,P]=C.useState(!1),[L,A]=C.useState("auto"),V=C.useCallback(_=>{const q=document.documentElement;if(Object.entries(_.colors).forEach(([R,Q])=>{const Z=`--${R.replace(/([A-Z])/g,"-$1").toLowerCase()}`;q.style.setProperty(Z,Q)}),p){const R={id:_.name.toLowerCase().replace(/\s+/g,"-"),label:_.name,description:_.description||"",previewColor:_.colors.primary};p(R.id).catch(Q=>{console.error("[WakaThemeManager] Failed to change theme:",Q)})}},[p]),X=async _=>{l(!0),v(null),$(null);try{const q=await fetch(_);if(!q.ok)throw new Error(`Erreur HTTP: ${q.status}`);const R=await q.json();if(!R.name||!R.colors)throw new Error("Format de thème invalide");const Q={name:R.name,description:R.description||"",author:R.author||"",version:R.version||"1.0.0",colors:{background:R.colors.background||"#ffffff",foreground:R.colors.foreground||"#0a0a0a",card:R.colors.card||"#ffffff",cardForeground:R.colors.cardForeground||"#0a0a0a",popover:R.colors.popover||"#ffffff",popoverForeground:R.colors.popoverForeground||"#0a0a0a",primary:R.colors.primary||"#0a0a0a",primaryForeground:R.colors.primaryForeground||"#fafafa",secondary:R.colors.secondary||"#f4f4f5",secondaryForeground:R.colors.secondaryForeground||"#0a0a0a",muted:R.colors.muted||"#f4f4f5",mutedForeground:R.colors.mutedForeground||"#737373",accent:R.colors.accent||"#f4f4f5",accentForeground:R.colors.accentForeground||"#0a0a0a",destructive:R.colors.destructive||"#ef4444",destructiveForeground:R.colors.destructiveForeground||"#fafafa",border:R.colors.border||"#e4e4e7",input:R.colors.input||"#e4e4e7",ring:R.colors.ring||"#0a0a0a",chart1:R.colors.chart1,chart2:R.colors.chart2,chart3:R.colors.chart3,chart4:R.colors.chart4,chart5:R.colors.chart5}};x(Q),V(Q),s?.(Q),$("Thème chargé avec succès !")}catch(q){v(q instanceof Error?q.message:"Erreur lors du chargement du thème")}finally{l(!1)}},me=()=>{const _=JSON.stringify(y,null,2),q=new Blob([_],{type:"application/json"}),R=URL.createObjectURL(q),Q=document.createElement("a");Q.href=R,Q.download=`${y.name.toLowerCase().replace(/\s+/g,"-")}-theme.json`,document.body.appendChild(Q),Q.click(),document.body.removeChild(Q),URL.revokeObjectURL(R)},se=async()=>{try{await navigator.clipboard.writeText(JSON.stringify(y,null,2)),P(!0),setTimeout(()=>P(!1),2e3)}catch{v("Impossible de copier le thème")}},Y=(_,q)=>{const R={...y,colors:{...y.colors,[_]:q}};x(R),V(R),r?.(R)},H=()=>{n?.(y),$("Thème sauvegardé !")};return C.useEffect(()=>{V(y)},[y,V]),C.useEffect(()=>{const _=document.documentElement;L==="dark"?_.classList.add("dark"):L==="light"?_.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?_.classList.add("dark"):_.classList.remove("dark")},[L]),e.jsx("div",{ref:h,className:j(Ko({size:a}),t),...b,children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold",children:"Gestionnaire de Thèmes TweakCN"}),e.jsx("p",{className:"text-muted-foreground",children:"Créez, importez et prévisualisez vos thèmes personnalisés"})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(He,{variant:"outline",className:"flex items-center gap-1",children:[e.jsx(E.Palette,{className:"h-3 w-3"}),y.name]})})]}),g&&e.jsxs("div",{className:"flex items-center gap-2 p-3 bg-destructive/10 border border-destructive/20 rounded-lg text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:g})]}),N&&e.jsxs("div",{className:"flex items-center gap-2 p-3 bg-green-500/10 border border-green-500/20 rounded-lg text-green-600",children:[e.jsx(E.CheckCircle,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:N})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Settings,{className:"h-5 w-5"}),"Informations du thème"]})}),e.jsxs(Ze,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"theme-name",children:"Nom"}),e.jsx(fe,{id:"theme-name",value:y.name,onChange:_=>x({...y,name:_.target.value}),placeholder:"Mon thème"})]}),e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"theme-author",children:"Auteur"}),e.jsx(fe,{id:"theme-author",value:y.author||"",onChange:_=>x({...y,author:_.target.value}),placeholder:"Votre nom"})]})]}),e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"theme-description",children:"Description"}),e.jsx(pa,{id:"theme-description",value:y.description||"",onChange:_=>x({...y,description:_.target.value}),placeholder:"Description du thème...",rows:3})]})]})]}),(f||u)&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Upload,{className:"h-5 w-5"}),"Import / Export"]})}),e.jsxs(Ze,{className:"space-y-4",children:[f&&e.jsxs("div",{children:[e.jsx(ge,{htmlFor:"import-url",children:"URL du thème JSON"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{id:"import-url",value:F,onChange:_=>M(_.target.value),placeholder:"https://example.com/theme.json",className:"flex-1"}),e.jsx(O,{onClick:()=>X(F),disabled:!F||c,size:"sm",children:c?e.jsx(E.RefreshCw,{className:"h-4 w-4 animate-spin"}):e.jsx(E.Download,{className:"h-4 w-4"})})]})]}),u&&e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(O,{onClick:me,variant:"outline",className:"flex-1",children:[e.jsx(E.Download,{className:"h-4 w-4 mr-2"}),"Exporter JSON"]}),e.jsx(O,{onClick:se,variant:"outline",children:T?e.jsx(E.Check,{className:"h-4 w-4"}):e.jsx(E.Copy,{className:"h-4 w-4"})})]})]})]}),d&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Eye,{className:"h-5 w-5"}),"Prévisualisation"]})}),e.jsx(Ze,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(O,{variant:L==="light"?"default":"outline",size:"sm",onClick:()=>A("light"),children:[e.jsx(E.Sun,{className:"h-4 w-4 mr-2"}),"Clair"]}),e.jsxs(O,{variant:L==="dark"?"default":"outline",size:"sm",onClick:()=>A("dark"),children:[e.jsx(E.Moon,{className:"h-4 w-4 mr-2"}),"Sombre"]}),e.jsxs(O,{variant:L==="auto"?"default":"outline",size:"sm",onClick:()=>A("auto"),children:[e.jsx(E.Monitor,{className:"h-4 w-4 mr-2"}),"Auto"]})]}),k&&e.jsxs("div",{className:"text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:"Thème actuel:"}),e.jsx("span",{className:"font-medium",children:k})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:"Mode sombre:"}),e.jsx("span",{className:"font-medium",children:"Géré par le système"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:"Thèmes disponibles:"}),e.jsx("span",{className:"font-medium",children:S.length})]})]})]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{onClick:H,className:"flex-1",children:"Sauvegarder le thème"}),e.jsxs(O,{variant:"outline",onClick:()=>window.open("https://tweakcn.com","_blank"),children:[e.jsx(E.ExternalLink,{className:"h-4 w-4 mr-2"}),"TweakCN"]})]})]}),m&&e.jsx("div",{className:"space-y-6",children:e.jsxs(Ve,{children:[e.jsxs(Ke,{children:[e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Palette,{className:"h-5 w-5"}),"Couleurs du thème"]}),e.jsx(Dt,{children:"Cliquez sur une couleur pour la modifier"})]}),e.jsx(Ze,{children:e.jsx("div",{className:"grid grid-cols-2 gap-4",children:Object.entries(y.colors).map(([_,q])=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:`color-${_}`,className:"text-sm font-medium",children:_.replace(/([A-Z])/g," $1").replace(/^./,R=>R.toUpperCase())}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-10 h-10 rounded border border-border cursor-pointer",style:{backgroundColor:q},onClick:()=>{document.getElementById(`color-${_}`)?.click()}}),e.jsx(fe,{id:`color-${_}`,type:"color",value:q,onChange:R=>Y(_,R.target.value),className:"flex-1 h-10"})]})]},_))})})]})})]}),d&&e.jsxs(Ve,{children:[e.jsx(Ke,{children:e.jsxs(We,{className:"flex items-center gap-2",children:[e.jsx(E.Eye,{className:"h-5 w-5"}),"Prévisualisation en temps réel"]})}),e.jsx(Ze,{children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Boutons"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(O,{size:"sm",children:"Primary"}),e.jsx(O,{variant:"secondary",size:"sm",children:"Secondary"}),e.jsx(O,{variant:"outline",size:"sm",children:"Outline"}),e.jsx(O,{variant:"destructive",size:"sm",children:"Destructive"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Cards"}),e.jsxs(Ve,{className:"p-3",children:[e.jsx(We,{className:"text-sm",children:"Exemple de carte"}),e.jsx(Dt,{className:"text-xs",children:"Contenu de la carte avec le nouveau thème"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Inputs"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(fe,{placeholder:"Input normal"}),e.jsx(fe,{placeholder:"Input avec erreur",className:"border-destructive"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Badges"}),e.jsxs("div",{className:"flex flex-wrap gap-1",children:[e.jsx(He,{children:"Default"}),e.jsx(He,{variant:"secondary",children:"Secondary"}),e.jsx(He,{variant:"destructive",children:"Destructive"}),e.jsx(He,{variant:"outline",children:"Outline"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Séparateur"}),e.jsx(At,{}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Texte avec couleur muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"font-medium",children:"Progress"}),e.jsx("div",{className:"w-full bg-muted rounded-full h-2",children:e.jsx("div",{className:"bg-primary h-2 rounded-full",style:{width:"60%"}})})]})]})})]})]})})});Zo.displayName="WakaThemeManager";function ae(...t){return Ls.clsx(t)}function Qo(t,a="export.csv"){if(!t||t.length===0)return;const r=Object.keys(t[0]),s=[r.join(","),...t.map(d=>r.map(u=>{const f=d[u];return typeof f=="string"&&(f.includes(",")||f.includes('"')||f.includes(`
62
68
  `))?`"${f.replace(/"/g,'""')}"`:f}).join(","))].join(`
63
- `),n=new Blob([s],{type:"text/csv;charset=utf-8;"}),o=document.createElement("a");o.href=URL.createObjectURL(n),o.download=a,o.click(),URL.revokeObjectURL(o.href)}function ei(t,a="export.json"){const r=JSON.stringify(t,null,2),s=new Blob([r],{type:"application/json;charset=utf-8;"}),n=document.createElement("a");n.href=URL.createObjectURL(s),n.download=a,n.click(),URL.revokeObjectURL(n.href)}async function _h(t){return new Promise((a,r)=>{const s=new FileReader;s.onload=n=>{try{const l=(n.target?.result).split(`
64
- `).filter(m=>m.trim());if(l.length===0){a([]);return}const c=l[0].split(",").map(m=>m.trim().replace(/^"|"$/g,"")),f=l.slice(1).map(m=>{const p=m.split(",").map(x=>x.trim().replace(/^"|"$/g,"")),h={};return c.forEach((x,k)=>{h[x]=p[k]||""}),h});a(f)}catch(o){r(o)}},s.onerror=()=>r(s.error),s.readAsText(t)})}function ti(t,a){try{localStorage.setItem(`datatable_${t}`,JSON.stringify(a))}catch(r){console.warn("[DataTable] Failed to save state:",r)}}function ai(t){try{const a=localStorage.getItem(`datatable_${t}`);return a?JSON.parse(a):null}catch(a){return console.warn("[DataTable] Failed to load state:",a),null}}function zh(t,a,r){const s=r.toLowerCase();return Object.values(t).some(n=>n==null?!1:String(n).toLowerCase().includes(s))}function ri({data:t,columns:a,pagination:r,tableId:s,onSortingChange:n,onFiltersChange:o,onSelectionChange:l}){const c=C.useMemo(()=>s?ai(s):null,[s]),[f,m]=C.useState(c?.sorting||[]),[p,h]=C.useState(c?.columnFilters||[]),[x,k]=C.useState(c?.columnVisibility||{}),[S,j]=C.useState({}),[y,b]=C.useState(c?.globalFilter||""),[u,d]=C.useState({pageIndex:r?.currentPage||0,pageSize:r?.pageSize||10});C.useEffect(()=>{s&&ti(s,{sorting:f,columnFilters:p,columnVisibility:x,globalFilter:y})},[s,f,p,x,y]),C.useEffect(()=>{n?.(f)},[f,n]),C.useEffect(()=>{o?.(p)},[p,o]),C.useEffect(()=>{const M=g.getFilteredSelectedRowModel().rows.map(T=>T.original);l?.(M)},[S]);const g=Ee.useReactTable({data:t,columns:a,state:{sorting:f,columnFilters:p,columnVisibility:x,rowSelection:S,globalFilter:y,pagination:u},enableRowSelection:!0,onRowSelectionChange:j,onSortingChange:m,onColumnFiltersChange:h,onColumnVisibilityChange:k,onGlobalFilterChange:b,onPaginationChange:d,getCoreRowModel:Ee.getCoreRowModel(),getFilteredRowModel:Ee.getFilteredRowModel(),getPaginationRowModel:Ee.getPaginationRowModel(),getSortedRowModel:Ee.getSortedRowModel(),globalFilterFn:zh,manualPagination:r?.mode==="server",pageCount:r?.mode==="server"?Math.ceil((r.totalItems||0)/u.pageSize):void 0}),v=C.useMemo(()=>g.getFilteredSelectedRowModel().rows.map(M=>M.original),[g,S]),N=C.useCallback(()=>{h([]),b("")},[]),$=C.useCallback(()=>{j({})},[]),F=C.useCallback(()=>g.getFilteredRowModel().rows.map(M=>M.original),[g]);return{table:g,sorting:f,setSorting:m,columnFilters:p,setColumnFilters:h,columnVisibility:x,setColumnVisibility:k,rowSelection:S,setRowSelection:j,globalFilter:y,setGlobalFilter:b,pagination:u,setPagination:d,selectedRows:v,resetFilters:N,resetSelection:$,exportData:F}}function Xr(t="standard",a="comfortable"){const[r,s]=C.useState(t),[n,o]=C.useState(a),[l,c]=C.useState(!1);C.useEffect(()=>{const h=()=>{c(window.innerWidth<768)};return h(),window.addEventListener("resize",h),()=>window.removeEventListener("resize",h)},[]),C.useEffect(()=>{l&&r==="standard"&&s("card")},[l,r]);const f=C.useCallback(()=>{s(h=>{switch(h){case"standard":return"card";case"card":return"compact";case"compact":return"standard";default:return"standard"}})},[]),m=C.useCallback(()=>{o(h=>h==="comfortable"?"compact":"comfortable")},[]);return{layout:r,setLayout:s,density:n,setDensity:o,toggleLayout:f,toggleDensity:m,isMobile:l,densityClasses:{comfortable:{table:"text-sm",cell:"px-4 py-3",header:"px-4 py-3"},compact:{table:"text-xs",cell:"px-2 py-1.5",header:"px-2 py-2"},spacious:{table:"text-base",cell:"px-6 py-4",header:"px-6 py-4"}}[n]}}function Jr(t,a={}){const{onSave:r,onCancel:s,validateField:n,autoSave:o=!1,autoSaveDelay:l=2e3}=a,[c,f]=C.useState(null),[m,p]=C.useState({}),[h,x]=C.useState(null),[k,S]=C.useState({}),[j,y]=C.useState(!1),b=C.useMemo(()=>!h||!c?!1:Object.keys(m).some(P=>{const L=P;return m[L]!==h[L]}),[m,h,c]),u=b&&c!==null,d=C.useCallback((P,L)=>{f(P),p({...L}),x(L),S({})},[]),g=C.useCallback(()=>{!c||!h||(s?.(c,h),f(null),p({}),x(null),S({}))},[c,h,s]),v=C.useCallback((P,L)=>{if(c){if(n){const A=n(P,L);if(A){S(V=>({...V,[P]:A}));return}else S(V=>{const X={...V};return delete X[P],X})}p(A=>({...A,[P]:L}))}},[c,n]),N=C.useCallback(async()=>{if(!(!c||!r||j)){if(Object.keys(k).length>0)throw new Error("Validation errors present");y(!0);try{await r(c,m),f(null),p({}),x(null),S({})}catch(P){throw console.error("Error saving edit:",P),P}finally{y(!1)}}},[c,r,m,k,j]),$=C.useCallback(()=>{h&&(p({...h}),S({}))},[h]),F=C.useMemo(()=>!o||!u?null:setTimeout(()=>{u&&!j&&N().catch(console.error)},l),[o,u,j,N,l]);return C.useEffect(()=>()=>{F&&clearTimeout(F)},[F]),[{editingRowId:c,editedData:m,hasChanges:b,isDirty:u},{startEdit:d,cancelEdit:g,saveEdit:N,updateField:v,resetEdit:$}]}function ma({table:t,config:a,globalFilter:r,onGlobalFilterChange:s,density:n,onDensityChange:o,onExport:l,onImport:c}){const{t:f}=et.useTranslation(),m=i.useRef(null),p=t.getFilteredSelectedRowModel().rows,h=p.length>0,x=i.useMemo(()=>a?.actions?a.actions.filter(j=>!(j.requiresSelection&&!h)):[],[a?.actions,h]),k=j=>{const y=h?p.map(b=>b.original):t.getFilteredRowModel().rows.map(b=>b.original);l?l(j):j==="csv"?Qo(y,"export.csv"):ei(y,"export.json")},S=j=>{const y=j.target.files?.[0];y&&c&&c(y),m.current&&(m.current.value="")};return e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 p-4 border-b",children:[e.jsxs("div",{className:"flex flex-1 flex-col sm:flex-row items-start sm:items-center gap-2 w-full sm:w-auto",children:[a?.showSearch!==!1&&e.jsxs("div",{className:"relative w-full sm:w-64",children:[e.jsx(E.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(fe,{placeholder:f("datatable.toolbar.search",{defaultValue:"Search..."}),value:r??"",onChange:j=>s(j.target.value),className:"pl-8 h-9"}),r&&e.jsx("button",{onClick:()=>s(""),className:"absolute right-2 top-2.5 text-muted-foreground hover:text-foreground",children:e.jsx(E.X,{className:"h-4 w-4"})})]}),h&&e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsxs("span",{children:[p.length," ",f("datatable.toolbar.selected",{defaultValue:"selected"})]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:()=>t.resetRowSelection(),className:"h-7 px-2",children:f("datatable.toolbar.clear",{defaultValue:"Clear"})})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[x.map(j=>e.jsxs(O,{variant:j.variant||"outline",size:"sm",onClick:()=>j.onClick(p.map(y=>y.original)),disabled:j.disabled,className:"h-9",children:[j.icon,e.jsx("span",{className:"ml-2",children:j.label})]},j.id)),a?.showRefresh&&e.jsxs(O,{variant:"outline",size:"icon",onClick:a.onRefresh,className:"h-9 w-9",children:[e.jsx(E.RefreshCw,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.refresh",{defaultValue:"Refresh"})})]}),l&&e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"icon",className:"h-9 w-9",children:[e.jsx(E.Download,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.export",{defaultValue:"Export"})})]})}),e.jsxs(Lt,{align:"end",children:[e.jsx(ea,{children:f("datatable.toolbar.exportAs",{defaultValue:"Export as"})}),e.jsx(ta,{}),e.jsx(Tt,{onClick:()=>k("csv"),children:"CSV"}),e.jsx(Tt,{onClick:()=>k("json"),children:"JSON"})]})]}),c&&e.jsxs(e.Fragment,{children:[e.jsx("input",{ref:m,type:"file",accept:".csv,.json",onChange:S,className:"hidden"}),e.jsxs(O,{variant:"outline",size:"icon",onClick:()=>m.current?.click(),className:"h-9 w-9",children:[e.jsx(E.Upload,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.import",{defaultValue:"Import"})})]})]}),a?.showColumnToggle!==!1&&e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"icon",className:"h-9 w-9",children:[e.jsx(E.Columns,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.columns",{defaultValue:"Columns"})})]})}),e.jsxs(Lt,{align:"end",className:"w-48",children:[e.jsx(ea,{children:f("datatable.toolbar.toggleColumns",{defaultValue:"Toggle columns"})}),e.jsx(ta,{}),t.getAllColumns().filter(j=>j.getCanHide()).map(j=>e.jsx(Tt,{className:"capitalize",checked:j.getIsVisible(),onCheckedChange:y=>j.toggleVisibility(!!y),children:j.id},j.id))]})]}),a?.showDensity&&o&&e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"icon",className:"h-9 w-9",children:[e.jsx(E.SlidersHorizontal,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.density",{defaultValue:"Density"})})]})}),e.jsxs(Lt,{align:"end",children:[e.jsx(ea,{children:f("datatable.toolbar.tableDensity",{defaultValue:"Table density"})}),e.jsx(ta,{}),e.jsx(Tt,{checked:n==="comfortable",onCheckedChange:()=>o("comfortable"),children:f("datatable.toolbar.comfortable",{defaultValue:"Comfortable"})}),e.jsx(Tt,{checked:n==="compact",onCheckedChange:()=>o("compact"),children:f("datatable.toolbar.compact",{defaultValue:"Compact"})})]})]})]})]})}function Yr({table:t,pageSizeOptions:a=[25,50,100,500],showInfo:r=!0}){const{t:s}=et.useTranslation(),n=t.getState().pagination.pageIndex,o=t.getState().pagination.pageSize,l=t.getPageCount(),c=t.getFilteredRowModel().rows.length,f=n*o+1,m=Math.min((n+1)*o,c);return e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[r&&e.jsx("div",{className:"text-sm text-muted-foreground",children:c>0?e.jsxs(e.Fragment,{children:[s("datatable.pagination.showing",{defaultValue:"Showing"})," ",f," ",s("datatable.pagination.to",{defaultValue:"to"})," ",m," ",s("datatable.pagination.of",{defaultValue:"of"})," ",c," ",s("datatable.pagination.results",{defaultValue:"results"})]}):s("datatable.pagination.noResults",{defaultValue:"No results"})}),e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:s("datatable.pagination.rowsPerPage",{defaultValue:"Rows per page"})}),e.jsxs(ut,{value:`${o}`,onValueChange:p=>{t.setPageSize(Number(p))},children:[e.jsx(rt,{className:"h-8 w-[70px]",children:e.jsx(mt,{placeholder:o})}),e.jsx(st,{side:"top",children:a.map(p=>e.jsx(Qe,{value:`${p}`,children:p},p))})]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsxs("span",{className:"text-sm text-muted-foreground mr-2",children:[s("datatable.pagination.page",{defaultValue:"Page"})," ",n+1," ",s("datatable.pagination.of",{defaultValue:"of"})," ",l]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.setPageIndex(0),disabled:!t.getCanPreviousPage(),children:[e.jsx(E.ChevronsLeft,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.firstPage",{defaultValue:"First page"})})]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.previousPage(),disabled:!t.getCanPreviousPage(),children:[e.jsx(E.ChevronLeft,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.previousPage",{defaultValue:"Previous page"})})]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.nextPage(),disabled:!t.getCanNextPage(),children:[e.jsx(E.ChevronRight,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.nextPage",{defaultValue:"Next page"})})]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.setPageIndex(l-1),disabled:!t.getCanNextPage(),children:[e.jsx(E.ChevronsRight,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.lastPage",{defaultValue:"Last page"})})]})]})]})]})}function Kr({table:t,filters:a,position:r="top",onFiltersChange:s}){const{t:n}=et.useTranslation(),[o,l]=i.useState([]),[c,f]=i.useState(!1),m=i.useCallback(b=>{const u=t.getPreFilteredRowModel().rows,d=new Set;return u.forEach(g=>{const v=g.getValue(b);v!=null&&v!==""&&d.add(String(v))}),Array.from(d).sort()},[t]),p={text:[{value:"contains",label:n("datatable.filters.contains",{defaultValue:"Contains"})},{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"startsWith",label:n("datatable.filters.startsWith",{defaultValue:"Starts with"})},{value:"endsWith",label:n("datatable.filters.endsWith",{defaultValue:"Ends with"})},{value:"notContains",label:n("datatable.filters.notContains",{defaultValue:"Not contains"})}],select:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"notEquals",label:n("datatable.filters.notEquals",{defaultValue:"Not equals"})}],multiselect:[{value:"in",label:n("datatable.filters.in",{defaultValue:"In"})},{value:"notIn",label:n("datatable.filters.notIn",{defaultValue:"Not in"})}],range:[{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})},{value:"greaterThan",label:n("datatable.filters.greaterThan",{defaultValue:"Greater than"})},{value:"lessThan",label:n("datatable.filters.lessThan",{defaultValue:"Less than"})}],date:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"before",label:n("datatable.filters.before",{defaultValue:"Before"})},{value:"after",label:n("datatable.filters.after",{defaultValue:"After"})},{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})}],daterange:[{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})},{value:"before",label:n("datatable.filters.before",{defaultValue:"Before"})},{value:"after",label:n("datatable.filters.after",{defaultValue:"After"})}],checkbox:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})}],number:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"notEquals",label:n("datatable.filters.notEquals",{defaultValue:"Not equals"})},{value:"greaterThan",label:n("datatable.filters.greaterThan",{defaultValue:"Greater than"})},{value:"lessThan",label:n("datatable.filters.lessThan",{defaultValue:"Less than"})},{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})}],boolean:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"notEquals",label:n("datatable.filters.notEquals",{defaultValue:"Not equals"})}]},h=(b,u,d)=>{const g=t.getColumn(b.column||b.id);if(!g)return;const v={columnId:b.column||b.id,operator:u,value:d,label:b.label};l(N=>[...N,v]),g.setFilterValue({operator:u,value:d}),s?.([...o,v])},x=b=>{const u=o[b],d=t.getColumn(u.columnId);d&&d.setFilterValue(void 0);const g=o.filter((v,N)=>N!==b);l(g),s?.(g)},k=()=>{o.forEach(b=>{const u=t.getColumn(b.columnId);u&&u.setFilterValue(void 0)}),l([]),s?.([])},S=b=>{const[u,d]=i.useState(p[b.type]?.[0]?.value||"equals"),g=()=>b.defaultValue!==void 0?b.defaultValue:b.type==="range"?{min:"",max:""}:b.type==="daterange"?{from:"",to:""}:b.type==="checkbox"?!1:"",[v,N]=i.useState(g()),[$,F]=i.useState([]),[M,T]=i.useState(!1),P=b.column?m(b.column):[],L=()=>{const A=b.type==="multiselect"?$:v;let V=!1;b.type==="multiselect"?V=Array.isArray(A)&&A.length>0:b.type==="range"?V=A.min!==""||A.max!=="":b.type==="daterange"?V=A.from!==""||A.to!=="":b.type==="checkbox"?V=!0:V=A!==""&&A!=null,V&&(h(b,u,A),N(g()),F([]),T(!1))};return e.jsxs("div",{className:"space-y-3 p-4 border rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(ge,{className:"text-sm font-medium",children:b.label}),e.jsx(He,{variant:"outline",className:"text-xs",children:b.type})]}),p[b.type]&&p[b.type].length>1&&e.jsxs(ut,{value:u,onValueChange:d,children:[e.jsx(rt,{className:"h-9",children:e.jsx(mt,{})}),e.jsx(st,{children:p[b.type].map(A=>e.jsx(Qe,{value:A.value,children:A.label},A.value))})]}),b.type==="text"&&e.jsx("div",{className:"space-y-2",children:e.jsxs(xt,{open:M,onOpenChange:T,children:[e.jsx(vt,{asChild:!0,children:e.jsx(fe,{placeholder:b.placeholder||n("datatable.filters.enterValue",{defaultValue:"Enter value..."}),value:v,onChange:A=>{N(A.target.value),T(!0)},className:"h-9"})}),P.length>0&&v&&e.jsx(dt,{className:"w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(_t,{children:[e.jsx(oa,{placeholder:n("datatable.filters.search",{defaultValue:"Search..."})}),e.jsx(ia,{children:n("datatable.filters.noResults",{defaultValue:"No results"})}),e.jsx(la,{className:"max-h-64 overflow-auto",children:P.filter(A=>A.toLowerCase().includes(v.toLowerCase())).slice(0,50).map(A=>e.jsx(ca,{onSelect:()=>{N(A),T(!1)},children:A},A))})]})})]})}),b.type==="select"&&e.jsxs(ut,{value:v,onValueChange:N,children:[e.jsx(rt,{className:"h-9",children:e.jsx(mt,{placeholder:b.placeholder})}),e.jsx(st,{children:(b.options||P.map(A=>({label:A,value:A}))).map(A=>e.jsx(Qe,{value:String(A.value),children:A.label},A.value))})]}),b.type==="multiselect"&&e.jsxs(xt,{children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{variant:"outline",className:"w-full justify-between h-9",children:[$.length>0?`${$.length} ${n("datatable.filters.selected",{defaultValue:"selected"})}`:b.placeholder||n("datatable.filters.selectValues",{defaultValue:"Select values..."}),e.jsx(E.ChevronDown,{className:"ml-2 h-4 w-4 opacity-50"})]})}),e.jsx(dt,{className:"w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(_t,{children:[e.jsx(oa,{placeholder:n("datatable.filters.search",{defaultValue:"Search..."})}),e.jsx(ia,{children:n("datatable.filters.noResults",{defaultValue:"No results"})}),e.jsx(la,{className:"max-h-64 overflow-auto",children:P.map(A=>e.jsxs(ca,{onSelect:()=>{F(V=>V.includes(A)?V.filter(X=>X!==A):[...V,A])},children:[e.jsx(at,{checked:$.includes(A),className:"mr-2"}),A]},A))})]})})]}),b.type==="date"&&e.jsx(fe,{type:"date",value:v,onChange:A=>N(A.target.value),className:"h-9"}),b.type==="range"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{type:"number",placeholder:"Min",value:v.min||"",onChange:A=>N({...v,min:A.target.value}),className:"h-9"}),e.jsx(fe,{type:"number",placeholder:"Max",value:v.max||"",onChange:A=>N({...v,max:A.target.value}),className:"h-9"})]}),b.type==="daterange"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{type:"date",placeholder:n("datatable.filters.from",{defaultValue:"From"}),value:v.from||"",onChange:A=>N({...v,from:A.target.value}),className:"h-9"}),e.jsx(fe,{type:"date",placeholder:n("datatable.filters.to",{defaultValue:"To"}),value:v.to||"",onChange:A=>N({...v,to:A.target.value}),className:"h-9"})]}),b.type==="checkbox"&&e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(at,{id:`checkbox-${b.id}`,checked:v===!0,onCheckedChange:A=>N(A===!0)}),e.jsx(ge,{htmlFor:`checkbox-${b.id}`,className:"text-sm font-normal",children:b.placeholder||n("datatable.filters.checked",{defaultValue:"Checked"})})]}),e.jsxs(O,{onClick:L,size:"sm",className:"w-full",children:[e.jsx(E.Plus,{className:"h-4 w-4 mr-2"}),n("datatable.filters.apply",{defaultValue:"Apply filter"})]})]})};if(!a||a.length===0)return null;const j=e.jsxs("div",{className:"space-y-4",children:[o.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(ge,{className:"text-sm text-muted-foreground",children:n("datatable.filters.active",{defaultValue:"Filtres actifs"})}),e.jsxs(O,{variant:"ghost",size:"sm",onClick:k,children:[e.jsx(E.Trash2,{className:"h-3 w-3 mr-1"}),n("datatable.filters.clearAll",{defaultValue:"Tout effacer"})]})]}),e.jsx("div",{className:"space-y-1",children:o.map((b,u)=>e.jsxs("div",{className:"flex items-center justify-between p-2 bg-muted rounded-md text-sm",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"font-medium",children:b.label}),e.jsx("span",{className:"text-muted-foreground mx-2",children:b.operator}),e.jsx("span",{className:"text-primary truncate",children:Array.isArray(b.value)?b.value.join(", "):b.value})]}),e.jsx(O,{variant:"ghost",size:"icon",className:"h-6 w-6 shrink-0",onClick:()=>x(u),children:e.jsx(E.X,{className:"h-3 w-3"})})]},u))})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(ge,{className:"text-sm text-muted-foreground",children:n("datatable.filters.available",{defaultValue:"Filtres disponibles"})}),a.map(b=>e.jsx("div",{children:S(b)},b.id))]})]}),y=e.jsxs(O,{variant:"outline",size:"sm",children:[e.jsx(E.Filter,{className:"h-4 w-4 mr-2"}),n("datatable.filters.title",{defaultValue:"Filtres"}),o.length>0&&e.jsx(He,{variant:"secondary",className:"ml-2",children:o.length})]});return r==="right"||r==="left"?e.jsxs(Ar,{open:c,onOpenChange:f,children:[e.jsx($r,{asChild:!0,children:y}),e.jsxs(Fa,{side:r,className:"w-[400px] sm:w-[540px] overflow-y-auto",children:[e.jsxs(Lr,{children:[e.jsxs(Ir,{className:"flex items-center gap-2",children:[e.jsx(E.Filter,{className:"h-5 w-5"}),n("datatable.filters.title",{defaultValue:"Filtres"})]}),e.jsx(Or,{children:n("datatable.filters.description",{defaultValue:"Appliquez des filtres pour affiner les résultats"})})]}),e.jsx("div",{className:"mt-6",children:j})]})]}):e.jsxs(xt,{open:c,onOpenChange:f,children:[e.jsx(vt,{asChild:!0,children:y}),e.jsx(dt,{className:"w-[400px] max-h-[600px] overflow-y-auto",align:r==="top"?"start":"end",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E.Filter,{className:"h-4 w-4"}),e.jsx("h4",{className:"font-semibold text-sm",children:n("datatable.filters.title",{defaultValue:"Filtres"})})]})}),j]})})]})}function Ma({value:t,field:a,config:r,isEditing:s,error:n,onChange:o,onStartEdit:l,onSave:c,onCancel:f,className:m}){const[p,h]=i.useState(t),[x,k]=i.useState(!1);i.useEffect(()=>{h(t)},[t]);const S=()=>{o(p),c()},j=()=>{h(t),f()},y=u=>{u.key==="Enter"&&!u.shiftKey?(u.preventDefault(),S()):u.key==="Escape"&&(u.preventDefault(),j())};if(!s)return e.jsx("div",{className:ae("cursor-pointer hover:bg-muted/50 p-1 rounded transition-colors",m),onClick:l,children:Vh(t,r)});const b=()=>{switch(r.type){case"textarea":return e.jsx(pa,{value:p||"",onChange:u=>h(u.target.value),onKeyDown:y,placeholder:r.placeholder,rows:r.rows||3,disabled:r.disabled,className:ae(n&&"border-destructive")});case"select":return e.jsxs(ut,{value:p||"",onValueChange:h,disabled:r.disabled,children:[e.jsx(rt,{className:ae(n&&"border-destructive"),children:e.jsx(mt,{placeholder:r.placeholder})}),e.jsx(st,{children:r.options?.map(u=>e.jsx(Qe,{value:u.value,children:u.label},u.value))})]});case"checkbox":return e.jsx(at,{checked:!!p,onCheckedChange:h,disabled:r.disabled});case"switch":return e.jsx(_r,{checked:!!p,onCheckedChange:h,disabled:r.disabled});case"date":case"datetime":return e.jsxs(xt,{open:x,onOpenChange:k,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{variant:"outline",className:ae("w-full justify-start text-left font-normal",!p&&"text-muted-foreground",n&&"border-destructive"),children:[e.jsx(E.CalendarIcon,{className:"mr-2 h-4 w-4"}),p?D.format(new Date(p),"PPP"):r.placeholder]})}),e.jsx(dt,{className:"w-auto p-0",align:"start",children:e.jsx(gr,{mode:"single",selected:p?new Date(p):void 0,onSelect:u=>{u&&(h(r.type==="datetime"?u.toISOString():u.toISOString().split("T")[0]),k(!1))},initialFocus:!0})})]});default:return e.jsx(fe,{type:r.type,value:p||"",onChange:u=>h(u.target.value),onKeyDown:y,placeholder:r.placeholder,min:r.min,max:r.max,step:r.step,disabled:r.disabled,required:r.required,pattern:r.pattern,title:r.title,className:ae(n&&"border-destructive")})}};return e.jsxs("div",{className:ae("relative",m),children:[b(),e.jsxs("div",{className:"absolute right-1 top-1/2 -translate-y-1/2 flex gap-1",children:[e.jsx(O,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:S,children:e.jsx(E.Check,{className:"h-3 w-3 text-green-600"})}),e.jsx(O,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:j,children:e.jsx(E.X,{className:"h-3 w-3 text-red-600"})})]}),n&&e.jsx("p",{className:"text-xs text-destructive mt-1",children:n})]})}function Vh(t,a){if(t==null)return e.jsx("span",{className:"text-muted-foreground italic",children:"Non défini"});switch(a.type){case"checkbox":case"switch":return e.jsx("span",{className:ae("inline-flex items-center px-2 py-1 rounded-full text-xs font-medium",t?"bg-green-100 text-green-800":"bg-gray-100 text-gray-800"),children:t?"Oui":"Non"});case"date":case"datetime":try{const s=new Date(t);return D.format(s,a.type==="datetime"?"PPP p":"PPP")}catch{return t}case"select":const r=a.options?.find(s=>s.value===t);return r?r.label:t;case"textarea":return e.jsx("div",{className:"max-w-xs",children:e.jsx("p",{className:"truncate",children:t})});default:return t}}function Wh({data:t,columns:a,layout:r="standard",variant:s="bordered",density:n="comfortable",filters:o,filterPosition:l="top",toolbar:c,pagination:f,selection:m=!1,actions:p,i18nNamespace:h,loading:x=!1,error:k,emptyState:S,headerSticky:j=!1,columnVisibilityToggle:y=!0,columnResize:b=!1,enableExport:u=!1,enableImport:d=!1,enableReorder:g=!1,enableContextMenu:v=!1,onRowClick:N,onRowDoubleClick:$,onSortingChange:F,onFiltersChange:M,onSelectionChange:T,className:P,tableId:L,virtualization:A,edit:V}){const{t:X}=et.useTranslation(h),{layout:me,setLayout:se,density:Y,setDensity:H,densityClasses:_}=Xr(r,n),q=i.useMemo(()=>{const ce=[...a];if(m){const oe={id:"select",header:({table:de})=>e.jsx(at,{checked:de.getIsAllPageRowsSelected(),onCheckedChange:Se=>de.toggleAllPageRowsSelected(!!Se),"aria-label":X("datatable.selectAll",{defaultValue:"Select all"})}),cell:({row:de})=>e.jsx(at,{checked:de.getIsSelected(),onCheckedChange:Se=>de.toggleSelected(!!Se),"aria-label":X("datatable.selectRow",{defaultValue:"Select row"})}),enableSorting:!1,enableHiding:!1};ce.unshift(oe)}return ce},[a,m,V,X]),{table:R,globalFilter:te,setGlobalFilter:Z,selectedRows:G,resetFilters:Re,exportData:ve}=ri({data:t,columns:q,pagination:f,tableId:L,onSortingChange:F,onFiltersChange:M,onSelectionChange:T}),[Ne,le]=Jr(R,{onSave:V?.onSave,onCancel:V?.onCancel,autoSave:V?.autoSave,autoSaveDelay:V?.autoSaveDelay});if(V?.editableColumns&&V.editableColumns.length>0){const ce={id:"edit-actions",header:()=>X("datatable.actions",{defaultValue:"Actions"}),cell:({row:oe})=>Ne.editingRowId===oe.id?e.jsxs("div",{className:"flex gap-1",children:[e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>le.saveEdit(),disabled:!Ne.hasChanges,children:X("datatable.save",{defaultValue:"Save"})}),e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>le.cancelEdit(),children:X("datatable.cancel",{defaultValue:"Cancel"})})]}):e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>{console.log("🔧 Starting edit for row:",oe.id,oe.original),le.startEdit(oe.id,oe.original)},children:X("datatable.edit",{defaultValue:"Edit"})}),enableSorting:!1,enableHiding:!1};q.push(ce)}const Me=i.useCallback(ce=>{const oe=ve();console.log("Export",ce,oe)},[ve]),z=i.useCallback(ce=>{console.log("Import",ce)},[]),I={bordered:"border rounded-lg",minimal:"",striped:"[&_tbody_tr:nth-child(even)]:bg-muted/50",glass:"backdrop-blur-sm bg-background/80 border rounded-lg"};if(x)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx(E.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:X("datatable.loading",{defaultValue:"Loading..."})})]})});if(k)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg bg-destructive/10",children:e.jsxs("div",{className:"flex flex-col items-center gap-2 text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-8 w-8"}),e.jsx("p",{className:"text-sm font-medium",children:k})]})});if(!t||t.length===0)return e.jsxs("div",{className:"flex flex-col",children:[c&&e.jsx(ma,{table:R,config:c,globalFilter:te,onGlobalFilterChange:Z,density:Y,onDensityChange:H,onExport:u?Me:void 0,onImport:d?z:void 0}),e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:S||e.jsxs("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[e.jsx("p",{className:"text-lg font-medium",children:X("datatable.noData",{defaultValue:"No data"})}),e.jsx("p",{className:"text-sm",children:X("datatable.noDataDescription",{defaultValue:"There are no results to display"})})]})})]});const J=()=>{const ce=e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[c&&e.jsx("div",{className:"flex-1",children:e.jsx(ma,{table:R,config:c,globalFilter:te,onGlobalFilterChange:Z,density:Y,onDensityChange:H,onExport:u?Me:void 0,onImport:d?z:void 0})}),o&&e.jsx(Kr,{table:R,filters:o,position:l,onFiltersChange:M})]}),e.jsx("div",{className:ae("w-full overflow-auto",I[s]),children:e.jsxs("table",{className:ae("w-full caption-bottom text-sm",_.table),children:[e.jsx("thead",{className:ae(j&&"sticky top-0 bg-background z-10"),children:R.getHeaderGroups().map(oe=>e.jsx("tr",{className:"border-b",children:oe.headers.map(de=>e.jsxs("th",{className:ae("text-left font-medium text-muted-foreground",_.header,de.column.getCanSort()&&"cursor-pointer select-none hover:text-foreground"),onClick:de.column.getToggleSortingHandler(),children:[de.isPlaceholder?null:Ee.flexRender(de.column.columnDef.header,de.getContext()),de.column.getIsSorted()&&e.jsx("span",{className:"ml-2",children:de.column.getIsSorted()==="asc"?"↑":"↓"})]},de.id))},oe.id))}),e.jsx("tbody",{children:R.getRowModel().rows.map(oe=>e.jsx("tr",{className:ae("border-b transition-colors",N&&"cursor-pointer hover:bg-muted/50",oe.getIsSelected()&&"bg-muted"),onClick:()=>N?.(oe.original),onDoubleClick:()=>$?.(oe.original),children:oe.getVisibleCells().map(de=>{const Se=de.getValue(),ye=de.column.id,Oe=oe.id,ht=Ne.editingRowId===Oe,Ue=V?.editableColumns?.find(Be=>Be.field===ye);return Ue&&ht?e.jsx("td",{className:ae("align-middle",_.cell),children:e.jsx(Ma,{value:Se,field:ye,config:Ue.config,isEditing:ht,onChange:Be=>le.updateField(ye,Be),onStartEdit:()=>le.startEdit(Oe,oe.original),onSave:()=>le.saveEdit(),onCancel:()=>le.cancelEdit()})},de.id):e.jsx("td",{className:ae("align-middle",_.cell),children:Ee.flexRender(de.column.columnDef.cell,de.getContext())},de.id)})},oe.id))})]})}),f&&e.jsx(Yr,{table:R,pageSizeOptions:f.pageSizeOptions})]});return e.jsx("div",{className:"space-y-4",children:ce})};return e.jsx("div",{className:ae("w-full",P),children:J()})}function si({data:t,columns:a,pagination:r,tableId:s,onSortingChange:n,onFiltersChange:o,onSelectionChange:l,onColumnOrderChange:c,onExpandedChange:f,onGroupingChange:m,grouping:p,virtualization:h,sortMode:x="multiple",performance:k}){const S=C.useMemo(()=>s?Hh(s):null,[s]),[j,y]=C.useState(S?.sorting||[]),[b,u]=C.useState(S?.columnFilters||[]),[d,g]=C.useState(S?.columnVisibility||{}),[v,N]=C.useState(S?.columnOrder||[]),[$,F]=C.useState(S?.expanded||{}),[M,T]=C.useState(S?.grouping||[]),[P,L]=C.useState(S?.rowSelection||{}),[A,V]=C.useState(S?.globalFilter||""),[X,me]=C.useState({pageIndex:r?.currentPage||0,pageSize:r?.pageSize||10}),[se,Y]=C.useState(b);C.useEffect(()=>{const I=setTimeout(()=>{Y(b)},k?.filterDebounceMs||300);return()=>clearTimeout(I)},[b,k?.filterDebounceMs]),C.useEffect(()=>{p?.columns&&p.columns.length>0&&M.length===0&&T([p.columns[0]])},[p?.columns,M.length]),C.useEffect(()=>{s&&qh(s,{sorting:j,columnFilters:b,columnVisibility:d,columnOrder:v,expanded:$,grouping:M,pagination:X,globalFilter:A,density:"comfortable",layout:"standard",rowSelection:P})},[s,j,b,d,v,$,M,X,A,P]),C.useEffect(()=>{n?.(j)},[j,n]),C.useEffect(()=>{o?.(se)},[se,o]),C.useEffect(()=>{const I=H.getFilteredSelectedRowModel().rows.map(J=>J.original);l?.(I)},[P]),C.useEffect(()=>{c?.(v)},[v,c]),C.useEffect(()=>{f?.($)},[$,f]),C.useEffect(()=>{m?.(M)},[M,m]);const H=Ee.useReactTable({data:t,columns:a,state:{sorting:j,columnFilters:se,columnVisibility:d,columnOrder:v,expanded:$,grouping:M,rowSelection:P,globalFilter:A,pagination:X},enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0,enableGrouping:!0,enableExpanding:!0,enableColumnResizing:!0,enableSorting:!0,enableMultiSort:x==="multiple",enableFilters:!0,enableGlobalFilter:!0,enableColumnFilters:!0,onRowSelectionChange:L,onSortingChange:y,onColumnFiltersChange:u,onColumnVisibilityChange:g,onColumnOrderChange:N,onExpandedChange:F,onGroupingChange:T,onGlobalFilterChange:V,onPaginationChange:me,getCoreRowModel:Ee.getCoreRowModel(),getFilteredRowModel:Ee.getFilteredRowModel(),getPaginationRowModel:Ee.getPaginationRowModel(),getSortedRowModel:Ee.getSortedRowModel(),getGroupedRowModel:Ee.getGroupedRowModel(),getExpandedRowModel:Ee.getExpandedRowModel(),getFacetedRowModel:Ee.getFacetedRowModel(),getFacetedUniqueValues:Ee.getFacetedUniqueValues(),globalFilterFn:Uh,manualPagination:r?.mode==="server",pageCount:r?.mode==="server"?Math.ceil((r.totalItems||0)/X.pageSize):void 0,columnResizeMode:"onChange",sortDescFirst:!1}),_=C.useMemo(()=>H.getFilteredSelectedRowModel().rows.map(I=>I.original),[H,P]),q=C.useCallback(()=>{u([]),V("")},[]),R=C.useCallback(()=>{L({})},[]),te=C.useCallback(()=>{y([]),u([]),g({}),N([]),F({}),T([]),L({}),V(""),me({pageIndex:0,pageSize:r?.pageSize||10})},[r?.pageSize]),Z=C.useCallback(()=>H.getFilteredRowModel().rows.map(I=>I.original),[H]),G=C.useCallback(()=>p?.columns?.length?H.getGroupedRowModel().rows.map(I=>I.original):t,[H,p,t]),Re=C.useCallback(()=>H.getExpandedRowModel().rows.map(I=>I.original),[H]),ve=C.useCallback(I=>{T(J=>J.includes(I)?J.filter(oe=>oe!==I):[...J,I])},[]),Ne=C.useCallback(()=>{T([])},[]),le=C.useCallback(I=>{F(J=>({...J,[I]:!J[I]}))},[]),Me=C.useCallback(()=>{const I=H.getRowModel().rows.map(ce=>ce.id),J={};I.forEach(ce=>{J[ce]=!0}),F(J)},[H]),z=C.useCallback(()=>{F({})},[]);return{table:H,sorting:j,setSorting:y,columnFilters:b,setColumnFilters:u,columnVisibility:d,setColumnVisibility:g,columnOrder:v,setColumnOrder:N,expanded:$,setExpanded:F,grouping:M,setGrouping:T,rowSelection:P,setRowSelection:L,globalFilter:A,setGlobalFilter:V,pagination:X,setPagination:me,selectedRows:_,resetFilters:q,resetSelection:R,resetAll:te,exportData:Z,getGroupedData:G,getExpandedData:Re,toggleGrouping:ve,clearGrouping:Ne,toggleRowExpansion:le,expandAll:Me,collapseAll:z}}function Hh(t){try{const a=localStorage.getItem(`datatable-${t}`);return a?JSON.parse(a):null}catch{return null}}function qh(t,a){try{localStorage.setItem(`datatable-${t}`,JSON.stringify(a))}catch{}}function Uh(t,a,r){const s=r.toLowerCase();return t.getVisibleCells().some(n=>{const o=n.getValue();return o==null?!1:String(o).toLowerCase().includes(s)})}function ni({data:t,virtualization:a,containerRef:r}){const[s,n]=C.useState(a?.containerHeight||600);C.useEffect(()=>{if(!r.current||!a)return;const x=new ResizeObserver(k=>{for(const S of k)n(S.contentRect.height)});return x.observe(r.current),()=>{x.disconnect()}},[r,a]);const o=C.useMemo(()=>{if(!a||a.type==="none")return null;const x={count:t.length,getScrollElement:()=>r.current,estimateSize:()=>a.itemHeight||50,overscan:a.overscan||5};return a.type==="dynamic"?{...x,estimateSize:()=>a.estimatedItemHeight||50}:x},[t.length,a,r]),l=o?dl.useVirtualizer(o):null,c=C.useCallback((x,k="start")=>{l&&l.scrollToIndex(x,{align:k})},[l]),f=C.useCallback(x=>{l&&l.scrollToOffset(x)},[l]),m=C.useCallback(()=>l?l.getVirtualItems():[],[l]),p=C.useCallback(()=>l?l.getTotalSize():0,[l]),h=a?.type!=="none"&&o!==null;return{virtualizer:l,isVirtualized:h,containerHeight:s,scrollToIndex:c,scrollToOffset:f,getVirtualItems:m,getTotalSize:p,virtualItems:l?l.getVirtualItems():[],totalSize:l?l.getTotalSize():0}}function oi({data:t,columns:a,exportConfig:r}){const s=C.useMemo(()=>({formats:["csv","xlsx","json"],filename:"export",includeHeaders:!0,...r}),[r]),n=C.useCallback((x,k)=>{if(!x.length)return;const S=a.filter(d=>d.accessorKey||d.id).map(d=>d.header||d.accessorKey||d.id).join(","),j=x.map(d=>a.filter(g=>g.accessorKey||g.id).map(g=>{const v=g.accessorKey?d[g.accessorKey]:d[g.id],N=g.formatter?g.formatter(v):v,$=String(N||"");return $.includes(",")||$.includes('"')||$.includes(`
65
- `)?`"${$.replace(/"/g,'""')}"`:$}).join(",")),y=[S,...j].join(`
66
- `),b=new Blob([y],{type:"text/csv;charset=utf-8;"}),u=document.createElement("a");u.href=URL.createObjectURL(b),u.download=`${k||s.filename}.csv`,u.click(),URL.revokeObjectURL(u.href)},[a,s.filename]),o=C.useCallback((x,k)=>{const S=JSON.stringify(x,null,2),j=new Blob([S],{type:"application/json"}),y=document.createElement("a");y.href=URL.createObjectURL(j),y.download=`${k||s.filename}.json`,y.click(),URL.revokeObjectURL(y.href)},[s.filename]),l=C.useCallback(async(x,k)=>{try{if(typeof window>"u")throw new Error("XLSX export not available in server environment");const S=await import("xlsx"),y=[a.filter(d=>d.accessorKey||d.id).map(d=>d.header||d.accessorKey||d.id),...x.map(d=>a.filter(g=>g.accessorKey||g.id).map(g=>{const v=g.accessorKey?d[g.accessorKey]:d[g.id];return g.formatter?g.formatter(v):v}))],b=S.utils.aoa_to_sheet(y),u=S.utils.book_new();S.utils.book_append_sheet(u,b,"Sheet1"),S.writeFile(u,`${k||s.filename}.xlsx`)}catch(S){throw console.error("Erreur lors de l'export XLSX:",S),new Error("La librairie xlsx n'est pas disponible")}},[a,s.filename]),c=C.useCallback(async(x,k)=>{try{if(typeof window>"u")throw new Error("PDF export not available in server environment");const S=await import("jspdf"),j=await import("jspdf-autotable"),y=new S.default,b=a.filter(d=>d.accessorKey||d.id).map(d=>d.header||d.accessorKey||d.id),u=x.map(d=>a.filter(g=>g.accessorKey||g.id).map(g=>{const v=g.accessorKey?d[g.accessorKey]:d[g.id];return g.formatter?g.formatter(v):v}));y.autoTable({head:[b],body:u,startY:20,styles:{fontSize:8},headStyles:{fillColor:[66,139,202]}}),y.save(`${k||s.filename}.pdf`)}catch(S){throw console.error("Erreur lors de l'export PDF:",S),new Error("Les librairies jsPDF et jspdf-autotable ne sont pas disponibles")}},[a,s.filename]),f=C.useCallback((x,k)=>{const S=a.filter(u=>u.accessorKey||u.id).map(u=>u.accessorKey||u.id);let j=`<?xml version="1.0" encoding="UTF-8"?>
69
+ `),n=new Blob([s],{type:"text/csv;charset=utf-8;"}),o=document.createElement("a");o.href=URL.createObjectURL(n),o.download=a,o.click(),URL.revokeObjectURL(o.href)}function ei(t,a="export.json"){const r=JSON.stringify(t,null,2),s=new Blob([r],{type:"application/json;charset=utf-8;"}),n=document.createElement("a");n.href=URL.createObjectURL(s),n.download=a,n.click(),URL.revokeObjectURL(n.href)}async function _h(t){return new Promise((a,r)=>{const s=new FileReader;s.onload=n=>{try{const d=(n.target?.result).split(`
70
+ `).filter(m=>m.trim());if(d.length===0){a([]);return}const u=d[0].split(",").map(m=>m.trim().replace(/^"|"$/g,"")),f=d.slice(1).map(m=>{const b=m.split(",").map(w=>w.trim().replace(/^"|"$/g,"")),h={};return u.forEach((w,k)=>{h[w]=b[k]||""}),h});a(f)}catch(o){r(o)}},s.onerror=()=>r(s.error),s.readAsText(t)})}function ti(t,a){try{localStorage.setItem(`datatable_${t}`,JSON.stringify(a))}catch(r){console.warn("[DataTable] Failed to save state:",r)}}function ai(t){try{const a=localStorage.getItem(`datatable_${t}`);return a?JSON.parse(a):null}catch(a){return console.warn("[DataTable] Failed to load state:",a),null}}function zh(t,a,r){const s=r.toLowerCase();return Object.values(t).some(n=>n==null?!1:String(n).toLowerCase().includes(s))}function ri({data:t,columns:a,pagination:r,tableId:s,onSortingChange:n,onFiltersChange:o,onSelectionChange:d}){const u=C.useMemo(()=>s?ai(s):null,[s]),[f,m]=C.useState(u?.sorting||[]),[b,h]=C.useState(u?.columnFilters||[]),[w,k]=C.useState(u?.columnVisibility||{}),[S,p]=C.useState({}),[y,x]=C.useState(u?.globalFilter||""),[c,l]=C.useState({pageIndex:r?.currentPage||0,pageSize:r?.pageSize||10});C.useEffect(()=>{s&&ti(s,{sorting:f,columnFilters:b,columnVisibility:w,globalFilter:y})},[s,f,b,w,y]),C.useEffect(()=>{n?.(f)},[f,n]),C.useEffect(()=>{o?.(b)},[b,o]),C.useEffect(()=>{const M=g.getFilteredSelectedRowModel().rows.map(T=>T.original);d?.(M)},[S]);const g=Ee.useReactTable({data:t,columns:a,state:{sorting:f,columnFilters:b,columnVisibility:w,rowSelection:S,globalFilter:y,pagination:c},enableRowSelection:!0,onRowSelectionChange:p,onSortingChange:m,onColumnFiltersChange:h,onColumnVisibilityChange:k,onGlobalFilterChange:x,onPaginationChange:l,getCoreRowModel:Ee.getCoreRowModel(),getFilteredRowModel:Ee.getFilteredRowModel(),getPaginationRowModel:Ee.getPaginationRowModel(),getSortedRowModel:Ee.getSortedRowModel(),globalFilterFn:zh,manualPagination:r?.mode==="server",pageCount:r?.mode==="server"?Math.ceil((r.totalItems||0)/c.pageSize):void 0}),v=C.useMemo(()=>g.getFilteredSelectedRowModel().rows.map(M=>M.original),[g,S]),N=C.useCallback(()=>{h([]),x("")},[]),$=C.useCallback(()=>{p({})},[]),F=C.useCallback(()=>g.getFilteredRowModel().rows.map(M=>M.original),[g]);return{table:g,sorting:f,setSorting:m,columnFilters:b,setColumnFilters:h,columnVisibility:w,setColumnVisibility:k,rowSelection:S,setRowSelection:p,globalFilter:y,setGlobalFilter:x,pagination:c,setPagination:l,selectedRows:v,resetFilters:N,resetSelection:$,exportData:F}}function Xr(t="standard",a="comfortable"){const[r,s]=C.useState(t),[n,o]=C.useState(a),[d,u]=C.useState(!1);C.useEffect(()=>{const h=()=>{u(window.innerWidth<768)};return h(),window.addEventListener("resize",h),()=>window.removeEventListener("resize",h)},[]),C.useEffect(()=>{d&&r==="standard"&&s("card")},[d,r]);const f=C.useCallback(()=>{s(h=>{switch(h){case"standard":return"card";case"card":return"compact";case"compact":return"standard";default:return"standard"}})},[]),m=C.useCallback(()=>{o(h=>h==="comfortable"?"compact":"comfortable")},[]);return{layout:r,setLayout:s,density:n,setDensity:o,toggleLayout:f,toggleDensity:m,isMobile:d,densityClasses:{comfortable:{table:"text-sm",cell:"px-4 py-3",header:"px-4 py-3"},compact:{table:"text-xs",cell:"px-2 py-1.5",header:"px-2 py-2"},spacious:{table:"text-base",cell:"px-6 py-4",header:"px-6 py-4"}}[n]}}function Jr(t,a={}){const{onSave:r,onCancel:s,validateField:n,autoSave:o=!1,autoSaveDelay:d=2e3}=a,[u,f]=C.useState(null),[m,b]=C.useState({}),[h,w]=C.useState(null),[k,S]=C.useState({}),[p,y]=C.useState(!1),x=C.useMemo(()=>!h||!u?!1:Object.keys(m).some(P=>{const L=P;return m[L]!==h[L]}),[m,h,u]),c=x&&u!==null,l=C.useCallback((P,L)=>{f(P),b({...L}),w(L),S({})},[]),g=C.useCallback(()=>{!u||!h||(s?.(u,h),f(null),b({}),w(null),S({}))},[u,h,s]),v=C.useCallback((P,L)=>{if(u){if(n){const A=n(P,L);if(A){S(V=>({...V,[P]:A}));return}else S(V=>{const X={...V};return delete X[P],X})}b(A=>({...A,[P]:L}))}},[u,n]),N=C.useCallback(async()=>{if(!(!u||!r||p)){if(Object.keys(k).length>0)throw new Error("Validation errors present");y(!0);try{await r(u,m),f(null),b({}),w(null),S({})}catch(P){throw console.error("Error saving edit:",P),P}finally{y(!1)}}},[u,r,m,k,p]),$=C.useCallback(()=>{h&&(b({...h}),S({}))},[h]),F=C.useMemo(()=>!o||!c?null:setTimeout(()=>{c&&!p&&N().catch(console.error)},d),[o,c,p,N,d]);return C.useEffect(()=>()=>{F&&clearTimeout(F)},[F]),[{editingRowId:u,editedData:m,hasChanges:x,isDirty:c},{startEdit:l,cancelEdit:g,saveEdit:N,updateField:v,resetEdit:$}]}function ma({table:t,config:a,globalFilter:r,onGlobalFilterChange:s,density:n,onDensityChange:o,onExport:d,onImport:u}){const{t:f}=et.useTranslation(),m=i.useRef(null),b=t.getFilteredSelectedRowModel().rows,h=b.length>0,w=i.useMemo(()=>a?.actions?a.actions.filter(p=>!(p.requiresSelection&&!h)):[],[a?.actions,h]),k=p=>{const y=h?b.map(x=>x.original):t.getFilteredRowModel().rows.map(x=>x.original);d?d(p):p==="csv"?Qo(y,"export.csv"):ei(y,"export.json")},S=p=>{const y=p.target.files?.[0];y&&u&&u(y),m.current&&(m.current.value="")};return e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 p-4 border-b",children:[e.jsxs("div",{className:"flex flex-1 flex-col sm:flex-row items-start sm:items-center gap-2 w-full sm:w-auto",children:[a?.showSearch!==!1&&e.jsxs("div",{className:"relative w-full sm:w-64",children:[e.jsx(E.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(fe,{placeholder:f("datatable.toolbar.search",{defaultValue:"Search..."}),value:r??"",onChange:p=>s(p.target.value),className:"pl-8 h-9"}),r&&e.jsx("button",{onClick:()=>s(""),className:"absolute right-2 top-2.5 text-muted-foreground hover:text-foreground",children:e.jsx(E.X,{className:"h-4 w-4"})})]}),h&&e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsxs("span",{children:[b.length," ",f("datatable.toolbar.selected",{defaultValue:"selected"})]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:()=>t.resetRowSelection(),className:"h-7 px-2",children:f("datatable.toolbar.clear",{defaultValue:"Clear"})})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[w.map(p=>e.jsxs(O,{variant:p.variant||"outline",size:"sm",onClick:()=>p.onClick(b.map(y=>y.original)),disabled:p.disabled,className:"h-9",children:[p.icon,e.jsx("span",{className:"ml-2",children:p.label})]},p.id)),a?.showRefresh&&e.jsxs(O,{variant:"outline",size:"icon",onClick:a.onRefresh,className:"h-9 w-9",children:[e.jsx(E.RefreshCw,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.refresh",{defaultValue:"Refresh"})})]}),d&&e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"icon",className:"h-9 w-9",children:[e.jsx(E.Download,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.export",{defaultValue:"Export"})})]})}),e.jsxs(Lt,{align:"end",children:[e.jsx(ea,{children:f("datatable.toolbar.exportAs",{defaultValue:"Export as"})}),e.jsx(ta,{}),e.jsx(Tt,{onClick:()=>k("csv"),children:"CSV"}),e.jsx(Tt,{onClick:()=>k("json"),children:"JSON"})]})]}),u&&e.jsxs(e.Fragment,{children:[e.jsx("input",{ref:m,type:"file",accept:".csv,.json",onChange:S,className:"hidden"}),e.jsxs(O,{variant:"outline",size:"icon",onClick:()=>m.current?.click(),className:"h-9 w-9",children:[e.jsx(E.Upload,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.import",{defaultValue:"Import"})})]})]}),a?.showColumnToggle!==!1&&e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"icon",className:"h-9 w-9",children:[e.jsx(E.Columns,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.columns",{defaultValue:"Columns"})})]})}),e.jsxs(Lt,{align:"end",className:"w-48",children:[e.jsx(ea,{children:f("datatable.toolbar.toggleColumns",{defaultValue:"Toggle columns"})}),e.jsx(ta,{}),t.getAllColumns().filter(p=>p.getCanHide()).map(p=>e.jsx(Tt,{className:"capitalize",checked:p.getIsVisible(),onCheckedChange:y=>p.toggleVisibility(!!y),children:p.id},p.id))]})]}),a?.showDensity&&o&&e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"icon",className:"h-9 w-9",children:[e.jsx(E.SlidersHorizontal,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:f("datatable.toolbar.density",{defaultValue:"Density"})})]})}),e.jsxs(Lt,{align:"end",children:[e.jsx(ea,{children:f("datatable.toolbar.tableDensity",{defaultValue:"Table density"})}),e.jsx(ta,{}),e.jsx(Tt,{checked:n==="comfortable",onCheckedChange:()=>o("comfortable"),children:f("datatable.toolbar.comfortable",{defaultValue:"Comfortable"})}),e.jsx(Tt,{checked:n==="compact",onCheckedChange:()=>o("compact"),children:f("datatable.toolbar.compact",{defaultValue:"Compact"})})]})]})]})]})}function Yr({table:t,pageSizeOptions:a=[25,50,100,500],showInfo:r=!0}){const{t:s}=et.useTranslation(),n=t.getState().pagination.pageIndex,o=t.getState().pagination.pageSize,d=t.getPageCount(),u=t.getFilteredRowModel().rows.length,f=n*o+1,m=Math.min((n+1)*o,u);return e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[r&&e.jsx("div",{className:"text-sm text-muted-foreground",children:u>0?e.jsxs(e.Fragment,{children:[s("datatable.pagination.showing",{defaultValue:"Showing"})," ",f," ",s("datatable.pagination.to",{defaultValue:"to"})," ",m," ",s("datatable.pagination.of",{defaultValue:"of"})," ",u," ",s("datatable.pagination.results",{defaultValue:"results"})]}):s("datatable.pagination.noResults",{defaultValue:"No results"})}),e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:s("datatable.pagination.rowsPerPage",{defaultValue:"Rows per page"})}),e.jsxs(ut,{value:`${o}`,onValueChange:b=>{t.setPageSize(Number(b))},children:[e.jsx(rt,{className:"h-8 w-[70px]",children:e.jsx(mt,{placeholder:o})}),e.jsx(st,{side:"top",children:a.map(b=>e.jsx(Qe,{value:`${b}`,children:b},b))})]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsxs("span",{className:"text-sm text-muted-foreground mr-2",children:[s("datatable.pagination.page",{defaultValue:"Page"})," ",n+1," ",s("datatable.pagination.of",{defaultValue:"of"})," ",d]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.setPageIndex(0),disabled:!t.getCanPreviousPage(),children:[e.jsx(E.ChevronsLeft,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.firstPage",{defaultValue:"First page"})})]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.previousPage(),disabled:!t.getCanPreviousPage(),children:[e.jsx(E.ChevronLeft,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.previousPage",{defaultValue:"Previous page"})})]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.nextPage(),disabled:!t.getCanNextPage(),children:[e.jsx(E.ChevronRight,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.nextPage",{defaultValue:"Next page"})})]}),e.jsxs(O,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>t.setPageIndex(d-1),disabled:!t.getCanNextPage(),children:[e.jsx(E.ChevronsRight,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:s("datatable.pagination.lastPage",{defaultValue:"Last page"})})]})]})]})]})}function Kr({table:t,filters:a,position:r="top",onFiltersChange:s}){const{t:n}=et.useTranslation(),[o,d]=i.useState([]),[u,f]=i.useState(!1),m=i.useCallback(x=>{const c=t.getPreFilteredRowModel().rows,l=new Set;return c.forEach(g=>{const v=g.getValue(x);v!=null&&v!==""&&l.add(String(v))}),Array.from(l).sort()},[t]),b={text:[{value:"contains",label:n("datatable.filters.contains",{defaultValue:"Contains"})},{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"startsWith",label:n("datatable.filters.startsWith",{defaultValue:"Starts with"})},{value:"endsWith",label:n("datatable.filters.endsWith",{defaultValue:"Ends with"})},{value:"notContains",label:n("datatable.filters.notContains",{defaultValue:"Not contains"})}],select:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"notEquals",label:n("datatable.filters.notEquals",{defaultValue:"Not equals"})}],multiselect:[{value:"in",label:n("datatable.filters.in",{defaultValue:"In"})},{value:"notIn",label:n("datatable.filters.notIn",{defaultValue:"Not in"})}],range:[{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})},{value:"greaterThan",label:n("datatable.filters.greaterThan",{defaultValue:"Greater than"})},{value:"lessThan",label:n("datatable.filters.lessThan",{defaultValue:"Less than"})}],date:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"before",label:n("datatable.filters.before",{defaultValue:"Before"})},{value:"after",label:n("datatable.filters.after",{defaultValue:"After"})},{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})}],daterange:[{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})},{value:"before",label:n("datatable.filters.before",{defaultValue:"Before"})},{value:"after",label:n("datatable.filters.after",{defaultValue:"After"})}],checkbox:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})}],number:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"notEquals",label:n("datatable.filters.notEquals",{defaultValue:"Not equals"})},{value:"greaterThan",label:n("datatable.filters.greaterThan",{defaultValue:"Greater than"})},{value:"lessThan",label:n("datatable.filters.lessThan",{defaultValue:"Less than"})},{value:"between",label:n("datatable.filters.between",{defaultValue:"Between"})}],boolean:[{value:"equals",label:n("datatable.filters.equals",{defaultValue:"Equals"})},{value:"notEquals",label:n("datatable.filters.notEquals",{defaultValue:"Not equals"})}]},h=(x,c,l)=>{const g=t.getColumn(x.column||x.id);if(!g)return;const v={columnId:x.column||x.id,operator:c,value:l,label:x.label};d(N=>[...N,v]),g.setFilterValue({operator:c,value:l}),s?.([...o,v])},w=x=>{const c=o[x],l=t.getColumn(c.columnId);l&&l.setFilterValue(void 0);const g=o.filter((v,N)=>N!==x);d(g),s?.(g)},k=()=>{o.forEach(x=>{const c=t.getColumn(x.columnId);c&&c.setFilterValue(void 0)}),d([]),s?.([])},S=x=>{const[c,l]=i.useState(b[x.type]?.[0]?.value||"equals"),g=()=>x.defaultValue!==void 0?x.defaultValue:x.type==="range"?{min:"",max:""}:x.type==="daterange"?{from:"",to:""}:x.type==="checkbox"?!1:"",[v,N]=i.useState(g()),[$,F]=i.useState([]),[M,T]=i.useState(!1),P=x.column?m(x.column):[],L=()=>{const A=x.type==="multiselect"?$:v;let V=!1;x.type==="multiselect"?V=Array.isArray(A)&&A.length>0:x.type==="range"?V=A.min!==""||A.max!=="":x.type==="daterange"?V=A.from!==""||A.to!=="":x.type==="checkbox"?V=!0:V=A!==""&&A!=null,V&&(h(x,c,A),N(g()),F([]),T(!1))};return e.jsxs("div",{className:"space-y-3 p-4 border rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(ge,{className:"text-sm font-medium",children:x.label}),e.jsx(He,{variant:"outline",className:"text-xs",children:x.type})]}),b[x.type]&&b[x.type].length>1&&e.jsxs(ut,{value:c,onValueChange:l,children:[e.jsx(rt,{className:"h-9",children:e.jsx(mt,{})}),e.jsx(st,{children:b[x.type].map(A=>e.jsx(Qe,{value:A.value,children:A.label},A.value))})]}),x.type==="text"&&e.jsx("div",{className:"space-y-2",children:e.jsxs(xt,{open:M,onOpenChange:T,children:[e.jsx(vt,{asChild:!0,children:e.jsx(fe,{placeholder:x.placeholder||n("datatable.filters.enterValue",{defaultValue:"Enter value..."}),value:v,onChange:A=>{N(A.target.value),T(!0)},className:"h-9"})}),P.length>0&&v&&e.jsx(dt,{className:"w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(_t,{children:[e.jsx(oa,{placeholder:n("datatable.filters.search",{defaultValue:"Search..."})}),e.jsx(ia,{children:n("datatable.filters.noResults",{defaultValue:"No results"})}),e.jsx(la,{className:"max-h-64 overflow-auto",children:P.filter(A=>A.toLowerCase().includes(v.toLowerCase())).slice(0,50).map(A=>e.jsx(ca,{onSelect:()=>{N(A),T(!1)},children:A},A))})]})})]})}),x.type==="select"&&e.jsxs(ut,{value:v,onValueChange:N,children:[e.jsx(rt,{className:"h-9",children:e.jsx(mt,{placeholder:x.placeholder})}),e.jsx(st,{children:(x.options||P.map(A=>({label:A,value:A}))).map(A=>e.jsx(Qe,{value:String(A.value),children:A.label},A.value))})]}),x.type==="multiselect"&&e.jsxs(xt,{children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{variant:"outline",className:"w-full justify-between h-9",children:[$.length>0?`${$.length} ${n("datatable.filters.selected",{defaultValue:"selected"})}`:x.placeholder||n("datatable.filters.selectValues",{defaultValue:"Select values..."}),e.jsx(E.ChevronDown,{className:"ml-2 h-4 w-4 opacity-50"})]})}),e.jsx(dt,{className:"w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(_t,{children:[e.jsx(oa,{placeholder:n("datatable.filters.search",{defaultValue:"Search..."})}),e.jsx(ia,{children:n("datatable.filters.noResults",{defaultValue:"No results"})}),e.jsx(la,{className:"max-h-64 overflow-auto",children:P.map(A=>e.jsxs(ca,{onSelect:()=>{F(V=>V.includes(A)?V.filter(X=>X!==A):[...V,A])},children:[e.jsx(at,{checked:$.includes(A),className:"mr-2"}),A]},A))})]})})]}),x.type==="date"&&e.jsx(fe,{type:"date",value:v,onChange:A=>N(A.target.value),className:"h-9"}),x.type==="range"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{type:"number",placeholder:"Min",value:v.min||"",onChange:A=>N({...v,min:A.target.value}),className:"h-9"}),e.jsx(fe,{type:"number",placeholder:"Max",value:v.max||"",onChange:A=>N({...v,max:A.target.value}),className:"h-9"})]}),x.type==="daterange"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(fe,{type:"date",placeholder:n("datatable.filters.from",{defaultValue:"From"}),value:v.from||"",onChange:A=>N({...v,from:A.target.value}),className:"h-9"}),e.jsx(fe,{type:"date",placeholder:n("datatable.filters.to",{defaultValue:"To"}),value:v.to||"",onChange:A=>N({...v,to:A.target.value}),className:"h-9"})]}),x.type==="checkbox"&&e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(at,{id:`checkbox-${x.id}`,checked:v===!0,onCheckedChange:A=>N(A===!0)}),e.jsx(ge,{htmlFor:`checkbox-${x.id}`,className:"text-sm font-normal",children:x.placeholder||n("datatable.filters.checked",{defaultValue:"Checked"})})]}),e.jsxs(O,{onClick:L,size:"sm",className:"w-full",children:[e.jsx(E.Plus,{className:"h-4 w-4 mr-2"}),n("datatable.filters.apply",{defaultValue:"Apply filter"})]})]})};if(!a||a.length===0)return null;const p=e.jsxs("div",{className:"space-y-4",children:[o.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(ge,{className:"text-sm text-muted-foreground",children:n("datatable.filters.active",{defaultValue:"Filtres actifs"})}),e.jsxs(O,{variant:"ghost",size:"sm",onClick:k,children:[e.jsx(E.Trash2,{className:"h-3 w-3 mr-1"}),n("datatable.filters.clearAll",{defaultValue:"Tout effacer"})]})]}),e.jsx("div",{className:"space-y-1",children:o.map((x,c)=>e.jsxs("div",{className:"flex items-center justify-between p-2 bg-muted rounded-md text-sm",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"font-medium",children:x.label}),e.jsx("span",{className:"text-muted-foreground mx-2",children:x.operator}),e.jsx("span",{className:"text-primary truncate",children:Array.isArray(x.value)?x.value.join(", "):x.value})]}),e.jsx(O,{variant:"ghost",size:"icon",className:"h-6 w-6 shrink-0",onClick:()=>w(c),children:e.jsx(E.X,{className:"h-3 w-3"})})]},c))})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(ge,{className:"text-sm text-muted-foreground",children:n("datatable.filters.available",{defaultValue:"Filtres disponibles"})}),a.map(x=>e.jsx("div",{children:S(x)},x.id))]})]}),y=e.jsxs(O,{variant:"outline",size:"sm",children:[e.jsx(E.Filter,{className:"h-4 w-4 mr-2"}),n("datatable.filters.title",{defaultValue:"Filtres"}),o.length>0&&e.jsx(He,{variant:"secondary",className:"ml-2",children:o.length})]});return r==="right"||r==="left"?e.jsxs(Ar,{open:u,onOpenChange:f,children:[e.jsx($r,{asChild:!0,children:y}),e.jsxs(Fa,{side:r,className:"w-[400px] sm:w-[540px] overflow-y-auto",children:[e.jsxs(Lr,{children:[e.jsxs(Ir,{className:"flex items-center gap-2",children:[e.jsx(E.Filter,{className:"h-5 w-5"}),n("datatable.filters.title",{defaultValue:"Filtres"})]}),e.jsx(Or,{children:n("datatable.filters.description",{defaultValue:"Appliquez des filtres pour affiner les résultats"})})]}),e.jsx("div",{className:"mt-6",children:p})]})]}):e.jsxs(xt,{open:u,onOpenChange:f,children:[e.jsx(vt,{asChild:!0,children:y}),e.jsx(dt,{className:"w-[400px] max-h-[600px] overflow-y-auto",align:r==="top"?"start":"end",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E.Filter,{className:"h-4 w-4"}),e.jsx("h4",{className:"font-semibold text-sm",children:n("datatable.filters.title",{defaultValue:"Filtres"})})]})}),p]})})]})}function Ma({value:t,field:a,config:r,isEditing:s,error:n,onChange:o,onStartEdit:d,onSave:u,onCancel:f,className:m}){const[b,h]=i.useState(t),[w,k]=i.useState(!1);i.useEffect(()=>{h(t)},[t]);const S=()=>{o(b),u()},p=()=>{h(t),f()},y=c=>{c.key==="Enter"&&!c.shiftKey?(c.preventDefault(),S()):c.key==="Escape"&&(c.preventDefault(),p())};if(!s)return e.jsx("div",{className:ae("cursor-pointer hover:bg-muted/50 p-1 rounded transition-colors",m),onClick:d,children:Vh(t,r)});const x=()=>{switch(r.type){case"textarea":return e.jsx(pa,{value:b||"",onChange:c=>h(c.target.value),onKeyDown:y,placeholder:r.placeholder,rows:r.rows||3,disabled:r.disabled,className:ae(n&&"border-destructive")});case"select":return e.jsxs(ut,{value:b||"",onValueChange:h,disabled:r.disabled,children:[e.jsx(rt,{className:ae(n&&"border-destructive"),children:e.jsx(mt,{placeholder:r.placeholder})}),e.jsx(st,{children:r.options?.map(c=>e.jsx(Qe,{value:c.value,children:c.label},c.value))})]});case"checkbox":return e.jsx(at,{checked:!!b,onCheckedChange:h,disabled:r.disabled});case"switch":return e.jsx(_r,{checked:!!b,onCheckedChange:h,disabled:r.disabled});case"date":case"datetime":return e.jsxs(xt,{open:w,onOpenChange:k,children:[e.jsx(vt,{asChild:!0,children:e.jsxs(O,{variant:"outline",className:ae("w-full justify-start text-left font-normal",!b&&"text-muted-foreground",n&&"border-destructive"),children:[e.jsx(E.CalendarIcon,{className:"mr-2 h-4 w-4"}),b?D.format(new Date(b),"PPP"):r.placeholder]})}),e.jsx(dt,{className:"w-auto p-0",align:"start",children:e.jsx(gr,{mode:"single",selected:b?new Date(b):void 0,onSelect:c=>{c&&(h(r.type==="datetime"?c.toISOString():c.toISOString().split("T")[0]),k(!1))},initialFocus:!0})})]});default:return e.jsx(fe,{type:r.type,value:b||"",onChange:c=>h(c.target.value),onKeyDown:y,placeholder:r.placeholder,min:r.min,max:r.max,step:r.step,disabled:r.disabled,required:r.required,pattern:r.pattern,title:r.title,className:ae(n&&"border-destructive")})}};return e.jsxs("div",{className:ae("relative",m),children:[x(),e.jsxs("div",{className:"absolute right-1 top-1/2 -translate-y-1/2 flex gap-1",children:[e.jsx(O,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:S,children:e.jsx(E.Check,{className:"h-3 w-3 text-green-600"})}),e.jsx(O,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:p,children:e.jsx(E.X,{className:"h-3 w-3 text-red-600"})})]}),n&&e.jsx("p",{className:"text-xs text-destructive mt-1",children:n})]})}function Vh(t,a){if(t==null)return e.jsx("span",{className:"text-muted-foreground italic",children:"Non défini"});switch(a.type){case"checkbox":case"switch":return e.jsx("span",{className:ae("inline-flex items-center px-2 py-1 rounded-full text-xs font-medium",t?"bg-green-100 text-green-800":"bg-gray-100 text-gray-800"),children:t?"Oui":"Non"});case"date":case"datetime":try{const s=new Date(t);return D.format(s,a.type==="datetime"?"PPP p":"PPP")}catch{return t}case"select":const r=a.options?.find(s=>s.value===t);return r?r.label:t;case"textarea":return e.jsx("div",{className:"max-w-xs",children:e.jsx("p",{className:"truncate",children:t})});default:return t}}function Wh({data:t,columns:a,layout:r="standard",variant:s="bordered",density:n="comfortable",filters:o,filterPosition:d="top",toolbar:u,pagination:f,selection:m=!1,actions:b,i18nNamespace:h,loading:w=!1,error:k,emptyState:S,headerSticky:p=!1,columnVisibilityToggle:y=!0,columnResize:x=!1,enableExport:c=!1,enableImport:l=!1,enableReorder:g=!1,enableContextMenu:v=!1,onRowClick:N,onRowDoubleClick:$,onSortingChange:F,onFiltersChange:M,onSelectionChange:T,className:P,tableId:L,virtualization:A,edit:V}){const{t:X}=et.useTranslation(h),{layout:me,setLayout:se,density:Y,setDensity:H,densityClasses:_}=Xr(r,n),q=i.useMemo(()=>{const ce=[...a];if(m){const oe={id:"select",header:({table:de})=>e.jsx(at,{checked:de.getIsAllPageRowsSelected(),onCheckedChange:Se=>de.toggleAllPageRowsSelected(!!Se),"aria-label":X("datatable.selectAll",{defaultValue:"Select all"})}),cell:({row:de})=>e.jsx(at,{checked:de.getIsSelected(),onCheckedChange:Se=>de.toggleSelected(!!Se),"aria-label":X("datatable.selectRow",{defaultValue:"Select row"})}),enableSorting:!1,enableHiding:!1};ce.unshift(oe)}return ce},[a,m,V,X]),{table:R,globalFilter:Q,setGlobalFilter:Z,selectedRows:G,resetFilters:Re,exportData:ve}=ri({data:t,columns:q,pagination:f,tableId:L,onSortingChange:F,onFiltersChange:M,onSelectionChange:T}),[Ne,le]=Jr(R,{onSave:V?.onSave,onCancel:V?.onCancel,autoSave:V?.autoSave,autoSaveDelay:V?.autoSaveDelay});if(V?.editableColumns&&V.editableColumns.length>0){const ce={id:"edit-actions",header:()=>X("datatable.actions",{defaultValue:"Actions"}),cell:({row:oe})=>Ne.editingRowId===oe.id?e.jsxs("div",{className:"flex gap-1",children:[e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>le.saveEdit(),disabled:!Ne.hasChanges,children:X("datatable.save",{defaultValue:"Save"})}),e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>le.cancelEdit(),children:X("datatable.cancel",{defaultValue:"Cancel"})})]}):e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>{console.log("🔧 Starting edit for row:",oe.id,oe.original),le.startEdit(oe.id,oe.original)},children:X("datatable.edit",{defaultValue:"Edit"})}),enableSorting:!1,enableHiding:!1};q.push(ce)}const Me=i.useCallback(ce=>{const oe=ve();console.log("Export",ce,oe)},[ve]),z=i.useCallback(ce=>{console.log("Import",ce)},[]),I={bordered:"border rounded-lg",minimal:"",striped:"[&_tbody_tr:nth-child(even)]:bg-muted/50",glass:"backdrop-blur-sm bg-background/80 border rounded-lg"};if(w)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx(E.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:X("datatable.loading",{defaultValue:"Loading..."})})]})});if(k)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg bg-destructive/10",children:e.jsxs("div",{className:"flex flex-col items-center gap-2 text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-8 w-8"}),e.jsx("p",{className:"text-sm font-medium",children:k})]})});if(!t||t.length===0)return e.jsxs("div",{className:"flex flex-col",children:[u&&e.jsx(ma,{table:R,config:u,globalFilter:Q,onGlobalFilterChange:Z,density:Y,onDensityChange:H,onExport:c?Me:void 0,onImport:l?z:void 0}),e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:S||e.jsxs("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[e.jsx("p",{className:"text-lg font-medium",children:X("datatable.noData",{defaultValue:"No data"})}),e.jsx("p",{className:"text-sm",children:X("datatable.noDataDescription",{defaultValue:"There are no results to display"})})]})})]});const J=()=>{const ce=e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[u&&e.jsx("div",{className:"flex-1",children:e.jsx(ma,{table:R,config:u,globalFilter:Q,onGlobalFilterChange:Z,density:Y,onDensityChange:H,onExport:c?Me:void 0,onImport:l?z:void 0})}),o&&e.jsx(Kr,{table:R,filters:o,position:d,onFiltersChange:M})]}),e.jsx("div",{className:ae("w-full overflow-auto",I[s]),children:e.jsxs("table",{className:ae("w-full caption-bottom text-sm",_.table),children:[e.jsx("thead",{className:ae(p&&"sticky top-0 bg-background z-10"),children:R.getHeaderGroups().map(oe=>e.jsx("tr",{className:"border-b",children:oe.headers.map(de=>e.jsxs("th",{className:ae("text-left font-medium text-muted-foreground",_.header,de.column.getCanSort()&&"cursor-pointer select-none hover:text-foreground"),onClick:de.column.getToggleSortingHandler(),children:[de.isPlaceholder?null:Ee.flexRender(de.column.columnDef.header,de.getContext()),de.column.getIsSorted()&&e.jsx("span",{className:"ml-2",children:de.column.getIsSorted()==="asc"?"↑":"↓"})]},de.id))},oe.id))}),e.jsx("tbody",{children:R.getRowModel().rows.map(oe=>e.jsx("tr",{className:ae("border-b transition-colors",N&&"cursor-pointer hover:bg-muted/50",oe.getIsSelected()&&"bg-muted"),onClick:()=>N?.(oe.original),onDoubleClick:()=>$?.(oe.original),children:oe.getVisibleCells().map(de=>{const Se=de.getValue(),ye=de.column.id,Oe=oe.id,ht=Ne.editingRowId===Oe,Ue=V?.editableColumns?.find(Be=>Be.field===ye);return Ue&&ht?e.jsx("td",{className:ae("align-middle",_.cell),children:e.jsx(Ma,{value:Se,field:ye,config:Ue.config,isEditing:ht,onChange:Be=>le.updateField(ye,Be),onStartEdit:()=>le.startEdit(Oe,oe.original),onSave:()=>le.saveEdit(),onCancel:()=>le.cancelEdit()})},de.id):e.jsx("td",{className:ae("align-middle",_.cell),children:Ee.flexRender(de.column.columnDef.cell,de.getContext())},de.id)})},oe.id))})]})}),f&&e.jsx(Yr,{table:R,pageSizeOptions:f.pageSizeOptions})]});return e.jsx("div",{className:"space-y-4",children:ce})};return e.jsx("div",{className:ae("w-full",P),children:J()})}function si({data:t,columns:a,pagination:r,tableId:s,onSortingChange:n,onFiltersChange:o,onSelectionChange:d,onColumnOrderChange:u,onExpandedChange:f,onGroupingChange:m,grouping:b,virtualization:h,sortMode:w="multiple",performance:k}){const S=C.useMemo(()=>s?Hh(s):null,[s]),[p,y]=C.useState(S?.sorting||[]),[x,c]=C.useState(S?.columnFilters||[]),[l,g]=C.useState(S?.columnVisibility||{}),[v,N]=C.useState(S?.columnOrder||[]),[$,F]=C.useState(S?.expanded||{}),[M,T]=C.useState(S?.grouping||[]),[P,L]=C.useState(S?.rowSelection||{}),[A,V]=C.useState(S?.globalFilter||""),[X,me]=C.useState({pageIndex:r?.currentPage||0,pageSize:r?.pageSize||10}),[se,Y]=C.useState(x);C.useEffect(()=>{const I=setTimeout(()=>{Y(x)},k?.filterDebounceMs||300);return()=>clearTimeout(I)},[x,k?.filterDebounceMs]),C.useEffect(()=>{b?.columns&&b.columns.length>0&&M.length===0&&T([b.columns[0]])},[b?.columns,M.length]),C.useEffect(()=>{s&&qh(s,{sorting:p,columnFilters:x,columnVisibility:l,columnOrder:v,expanded:$,grouping:M,pagination:X,globalFilter:A,density:"comfortable",layout:"standard",rowSelection:P})},[s,p,x,l,v,$,M,X,A,P]),C.useEffect(()=>{n?.(p)},[p,n]),C.useEffect(()=>{o?.(se)},[se,o]),C.useEffect(()=>{const I=H.getFilteredSelectedRowModel().rows.map(J=>J.original);d?.(I)},[P]),C.useEffect(()=>{u?.(v)},[v,u]),C.useEffect(()=>{f?.($)},[$,f]),C.useEffect(()=>{m?.(M)},[M,m]);const H=Ee.useReactTable({data:t,columns:a,state:{sorting:p,columnFilters:se,columnVisibility:l,columnOrder:v,expanded:$,grouping:M,rowSelection:P,globalFilter:A,pagination:X},enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0,enableGrouping:!0,enableExpanding:!0,enableColumnResizing:!0,enableSorting:!0,enableMultiSort:w==="multiple",enableFilters:!0,enableGlobalFilter:!0,enableColumnFilters:!0,onRowSelectionChange:L,onSortingChange:y,onColumnFiltersChange:c,onColumnVisibilityChange:g,onColumnOrderChange:N,onExpandedChange:F,onGroupingChange:T,onGlobalFilterChange:V,onPaginationChange:me,getCoreRowModel:Ee.getCoreRowModel(),getFilteredRowModel:Ee.getFilteredRowModel(),getPaginationRowModel:Ee.getPaginationRowModel(),getSortedRowModel:Ee.getSortedRowModel(),getGroupedRowModel:Ee.getGroupedRowModel(),getExpandedRowModel:Ee.getExpandedRowModel(),getFacetedRowModel:Ee.getFacetedRowModel(),getFacetedUniqueValues:Ee.getFacetedUniqueValues(),globalFilterFn:Uh,manualPagination:r?.mode==="server",pageCount:r?.mode==="server"?Math.ceil((r.totalItems||0)/X.pageSize):void 0,columnResizeMode:"onChange",sortDescFirst:!1}),_=C.useMemo(()=>H.getFilteredSelectedRowModel().rows.map(I=>I.original),[H,P]),q=C.useCallback(()=>{c([]),V("")},[]),R=C.useCallback(()=>{L({})},[]),Q=C.useCallback(()=>{y([]),c([]),g({}),N([]),F({}),T([]),L({}),V(""),me({pageIndex:0,pageSize:r?.pageSize||10})},[r?.pageSize]),Z=C.useCallback(()=>H.getFilteredRowModel().rows.map(I=>I.original),[H]),G=C.useCallback(()=>b?.columns?.length?H.getGroupedRowModel().rows.map(I=>I.original):t,[H,b,t]),Re=C.useCallback(()=>H.getExpandedRowModel().rows.map(I=>I.original),[H]),ve=C.useCallback(I=>{T(J=>J.includes(I)?J.filter(oe=>oe!==I):[...J,I])},[]),Ne=C.useCallback(()=>{T([])},[]),le=C.useCallback(I=>{F(J=>({...J,[I]:!J[I]}))},[]),Me=C.useCallback(()=>{const I=H.getRowModel().rows.map(ce=>ce.id),J={};I.forEach(ce=>{J[ce]=!0}),F(J)},[H]),z=C.useCallback(()=>{F({})},[]);return{table:H,sorting:p,setSorting:y,columnFilters:x,setColumnFilters:c,columnVisibility:l,setColumnVisibility:g,columnOrder:v,setColumnOrder:N,expanded:$,setExpanded:F,grouping:M,setGrouping:T,rowSelection:P,setRowSelection:L,globalFilter:A,setGlobalFilter:V,pagination:X,setPagination:me,selectedRows:_,resetFilters:q,resetSelection:R,resetAll:Q,exportData:Z,getGroupedData:G,getExpandedData:Re,toggleGrouping:ve,clearGrouping:Ne,toggleRowExpansion:le,expandAll:Me,collapseAll:z}}function Hh(t){try{const a=localStorage.getItem(`datatable-${t}`);return a?JSON.parse(a):null}catch{return null}}function qh(t,a){try{localStorage.setItem(`datatable-${t}`,JSON.stringify(a))}catch{}}function Uh(t,a,r){const s=r.toLowerCase();return t.getVisibleCells().some(n=>{const o=n.getValue();return o==null?!1:String(o).toLowerCase().includes(s)})}function ni({data:t,virtualization:a,containerRef:r}){const[s,n]=C.useState(a?.containerHeight||600);C.useEffect(()=>{if(!r.current||!a)return;const w=new ResizeObserver(k=>{for(const S of k)n(S.contentRect.height)});return w.observe(r.current),()=>{w.disconnect()}},[r,a]);const o=C.useMemo(()=>{if(!a||a.type==="none")return null;const w={count:t.length,getScrollElement:()=>r.current,estimateSize:()=>a.itemHeight||50,overscan:a.overscan||5};return a.type==="dynamic"?{...w,estimateSize:()=>a.estimatedItemHeight||50}:w},[t.length,a,r]),d=o?dl.useVirtualizer(o):null,u=C.useCallback((w,k="start")=>{d&&d.scrollToIndex(w,{align:k})},[d]),f=C.useCallback(w=>{d&&d.scrollToOffset(w)},[d]),m=C.useCallback(()=>d?d.getVirtualItems():[],[d]),b=C.useCallback(()=>d?d.getTotalSize():0,[d]),h=a?.type!=="none"&&o!==null;return{virtualizer:d,isVirtualized:h,containerHeight:s,scrollToIndex:u,scrollToOffset:f,getVirtualItems:m,getTotalSize:b,virtualItems:d?d.getVirtualItems():[],totalSize:d?d.getTotalSize():0}}function oi({data:t,columns:a,exportConfig:r}){const s=C.useMemo(()=>({formats:["csv","xlsx","json"],filename:"export",includeHeaders:!0,...r}),[r]),n=C.useCallback((w,k)=>{if(!w.length)return;const S=a.filter(l=>l.accessorKey||l.id).map(l=>l.header||l.accessorKey||l.id).join(","),p=w.map(l=>a.filter(g=>g.accessorKey||g.id).map(g=>{const v=g.accessorKey?l[g.accessorKey]:l[g.id],N=g.formatter?g.formatter(v):v,$=String(N||"");return $.includes(",")||$.includes('"')||$.includes(`
71
+ `)?`"${$.replace(/"/g,'""')}"`:$}).join(",")),y=[S,...p].join(`
72
+ `),x=new Blob([y],{type:"text/csv;charset=utf-8;"}),c=document.createElement("a");c.href=URL.createObjectURL(x),c.download=`${k||s.filename}.csv`,c.click(),URL.revokeObjectURL(c.href)},[a,s.filename]),o=C.useCallback((w,k)=>{const S=JSON.stringify(w,null,2),p=new Blob([S],{type:"application/json"}),y=document.createElement("a");y.href=URL.createObjectURL(p),y.download=`${k||s.filename}.json`,y.click(),URL.revokeObjectURL(y.href)},[s.filename]),d=C.useCallback(async(w,k)=>{try{if(typeof window>"u")throw new Error("XLSX export not available in server environment");const S=await import("xlsx"),y=[a.filter(l=>l.accessorKey||l.id).map(l=>l.header||l.accessorKey||l.id),...w.map(l=>a.filter(g=>g.accessorKey||g.id).map(g=>{const v=g.accessorKey?l[g.accessorKey]:l[g.id];return g.formatter?g.formatter(v):v}))],x=S.utils.aoa_to_sheet(y),c=S.utils.book_new();S.utils.book_append_sheet(c,x,"Sheet1"),S.writeFile(c,`${k||s.filename}.xlsx`)}catch(S){throw console.error("Erreur lors de l'export XLSX:",S),new Error("La librairie xlsx n'est pas disponible")}},[a,s.filename]),u=C.useCallback(async(w,k)=>{try{if(typeof window>"u")throw new Error("PDF export not available in server environment");const S=await import("jspdf"),p=await import("jspdf-autotable"),y=new S.default,x=a.filter(l=>l.accessorKey||l.id).map(l=>l.header||l.accessorKey||l.id),c=w.map(l=>a.filter(g=>g.accessorKey||g.id).map(g=>{const v=g.accessorKey?l[g.accessorKey]:l[g.id];return g.formatter?g.formatter(v):v}));y.autoTable({head:[x],body:c,startY:20,styles:{fontSize:8},headStyles:{fillColor:[66,139,202]}}),y.save(`${k||s.filename}.pdf`)}catch(S){throw console.error("Erreur lors de l'export PDF:",S),new Error("Les librairies jsPDF et jspdf-autotable ne sont pas disponibles")}},[a,s.filename]),f=C.useCallback((w,k)=>{const S=a.filter(c=>c.accessorKey||c.id).map(c=>c.accessorKey||c.id);let p=`<?xml version="1.0" encoding="UTF-8"?>
67
73
  <data>
68
- `;x.forEach((u,d)=>{j+=` <row id="${d}">
69
- `,S.forEach(g=>{const v=u[g],N=String(v||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");j+=` <${g}>${N}</${g}>
70
- `}),j+=` </row>
71
- `}),j+="</data>";const y=new Blob([j],{type:"application/xml"}),b=document.createElement("a");b.href=URL.createObjectURL(y),b.download=`${k||s.filename}.xml`,b.click(),URL.revokeObjectURL(b.href)},[a,s.filename]),m=C.useCallback(async(x,k,S)=>{const j=k||t,y=S||s.filename;if(s.onExport){s.onExport(j,x);return}switch(x.toLowerCase()){case"csv":n(j,y);break;case"json":o(j,y);break;case"xlsx":await l(j,y);break;case"pdf":await c(j,y);break;case"xml":f(j,y);break;default:throw new Error(`Format d'export non supporté: ${x}`)}},[t,s,n,o,l,c,f]),p=C.useCallback(async x=>m(x),[m]),h=C.useCallback(async(x,k)=>m(x,k),[m]);return{exportData:m,exportAll:p,exportSelected:h,supportedFormats:s.formats,isExportSupported:x=>s.formats.includes(x)}}function ii({importConfig:t}){const a=C.useMemo(()=>({accept:".csv,.xlsx,.json,.xml",...t}),[t]),r=C.useCallback((h,x=",")=>{const k=h.split(`
72
- `).filter(y=>y.trim());if(k.length===0)return[];const S=k[0].split(x).map(y=>y.trim().replace(/"/g,""));return k.slice(1).map(y=>{const b=y.split(x).map(d=>d.trim().replace(/"/g,"")),u={};return S.forEach((d,g)=>{u[d]=b[g]||""}),u})},[]),s=C.useCallback(h=>{try{const x=JSON.parse(h);return Array.isArray(x)?x:[x]}catch{throw new Error("Format JSON invalide")}},[]),n=C.useCallback(h=>{try{const S=new DOMParser().parseFromString(h,"text/xml").querySelectorAll("row");return Array.from(S).map(j=>{const y={};return Array.from(j.children).forEach(b=>{y[b.tagName]=b.textContent||""}),y})}catch{throw new Error("Format XML invalide")}},[]),o=C.useCallback(async h=>{try{if(typeof window>"u")throw new Error("XLSX parsing not available in server environment");const x=await import("xlsx"),k=await h.arrayBuffer(),S=x.read(k,{type:"array"}),j=S.SheetNames[0],y=S.Sheets[j],b=x.utils.sheet_to_json(y,{header:1});if(b.length===0)return[];const u=b[0];return b.slice(1).map(d=>{const g={};return u.forEach((v,N)=>{g[v]=d[N]||""}),g})}catch{throw new Error("Erreur lors du parsing du fichier XLSX")}},[]),l=C.useCallback(h=>a.validate?a.validate(h):Array.isArray(h)?h.length===0?{valid:!1,errors:["Aucune donnée trouvée"]}:{valid:!0,errors:[]}:{valid:!1,errors:["Les données doivent être un tableau"]},[a.validate]),c=C.useCallback(h=>a.columnMapping?h.map(x=>{const k={};return Object.entries(a.columnMapping).forEach(([S,j])=>{x[S]!==void 0&&(k[j]=x[S])}),k}):h,[a.columnMapping]),f=C.useCallback(async h=>{const x=h.name.split(".").pop()?.toLowerCase();let k=[];try{const S=await h.text();switch(x){case"csv":k=r(S,a.parseOptions?.csv?.delimiter);break;case"json":k=s(S);break;case"xml":k=n(S);break;case"xlsx":k=await o(h);break;default:throw new Error(`Format de fichier non supporté: ${x}`)}const j=l(k);if(!j.valid)throw new Error(`Données invalides: ${j.errors.join(", ")}`);const y=c(k);return a.onImport&&a.onImport(y),y}catch(S){throw new Error(`Erreur lors de l'import: ${S instanceof Error?S.message:"Erreur inconnue"}`)}},[a,r,s,n,o,l,c]),m=C.useCallback(()=>{const h=document.createElement("input");return h.type="file",h.accept=a.accept,h.multiple=!1,h},[a.accept]),p=C.useCallback(()=>new Promise((h,x)=>{const k=m();k.onchange=async S=>{const j=S.target.files?.[0];if(!j){x(new Error("Aucun fichier sélectionné"));return}try{const y=await f(j);h(y)}catch(y){x(y)}},k.click()}),[m,f]);return{importData:f,importWithUI:p,supportedFormats:a.accept?.split(",")||[],isFormatSupported:h=>{const x=h.split(".").pop()?.toLowerCase();return a.accept?.includes(x||"")||!1}}}function li({theme:t,variant:a="bordered",density:r="comfortable"}){const s={colors:{primary:"hsl(var(--primary))",secondary:"hsl(var(--secondary))",accent:"hsl(var(--accent))",background:"hsl(var(--background))",surface:"hsl(var(--card))",text:"hsl(var(--foreground))",textSecondary:"hsl(var(--muted-foreground))",border:"hsl(var(--border))",hover:"hsl(var(--muted))",selected:"hsl(var(--accent))",disabled:"hsl(var(--muted))"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem"},typography:{fontFamily:"inherit",fontSize:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"}},borders:{radius:{sm:"0.25rem",md:"0.5rem",lg:"0.75rem"},width:{thin:"1px",medium:"2px",thick:"4px"}},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"}},n=C.useMemo(()=>t?{colors:{...s.colors,...t.colors},spacing:{...s.spacing,...t.spacing},typography:{...s.typography,...t.typography},borders:{...s.borders,...t.borders},shadows:{...s.shadows,...t.shadows}}:s,[t,s]),o=C.useMemo(()=>{const p="w-full";switch(a){case"bordered":return`${p} border rounded-lg`;case"minimal":return p;case"striped":return`${p} [&_tbody_tr:nth-child(even)]:bg-muted/50`;case"glass":return`${p} backdrop-blur-sm bg-background/80 border rounded-lg`;default:return p}},[a]),l=C.useMemo(()=>{switch(r){case"spacious":return{table:"text-base",header:"px-6 py-4",cell:"px-6 py-4",row:"h-16"};case"compact":return{table:"text-sm",header:"px-3 py-2",cell:"px-3 py-2",row:"h-8"};case"comfortable":default:return{table:"text-sm",header:"px-4 py-3",cell:"px-4 py-3",row:"h-12"}}},[r]),c=C.useMemo(()=>{const p={};return n.colors&&Object.entries(n.colors).forEach(([h,x])=>{p[`--datatable-color-${h}`]=x}),n.spacing&&Object.entries(n.spacing).forEach(([h,x])=>{p[`--datatable-spacing-${h}`]=x}),n.typography&&(n.typography.fontFamily&&(p["--datatable-font-family"]=n.typography.fontFamily),n.typography.fontSize&&Object.entries(n.typography.fontSize).forEach(([h,x])=>{p[`--datatable-font-size-${h}`]=x}),n.typography.fontWeight&&Object.entries(n.typography.fontWeight).forEach(([h,x])=>{p[`--datatable-font-weight-${h}`]=x})),n.borders&&(n.borders.radius&&Object.entries(n.borders.radius).forEach(([h,x])=>{p[`--datatable-radius-${h}`]=x}),n.borders.width&&Object.entries(n.borders.width).forEach(([h,x])=>{p[`--datatable-border-width-${h}`]=x})),n.shadows&&Object.entries(n.shadows).forEach(([h,x])=>{p[`--datatable-shadow-${h}`]=x}),p},[n]),f=C.useCallback((p,h)=>h?`${p} [--datatable-theme-key:${h}]`:p,[]),m=C.useCallback((p={})=>({...p,...c}),[c]);return{theme:n,variantClasses:o,densityClasses:l,customStyles:c,getThemedClass:f,getThemedStyles:m}}function Bh({data:t,columns:a,layout:r="standard",variant:s="bordered",density:n="comfortable",filters:o,filterPosition:l="top",toolbar:c,pagination:f,selection:m=!1,actions:p,i18nNamespace:h,loading:x=!1,error:k,emptyState:S,headerSticky:j=!1,columnVisibilityToggle:y=!0,columnResize:b=!1,columnOrder:u,grouping:d,rowExpansion:g,virtualization:v,sortMode:N="multiple",enableExport:$=!1,enableImport:F=!1,enableReorder:M=!1,enableContextMenu:T=!1,onRowClick:P,onRowDoubleClick:L,onSortingChange:A,onFiltersChange:V,onSelectionChange:X,onColumnOrderChange:me,onExpandedChange:se,onGroupingChange:Y,className:H,tableId:_,edit:q,theme:R,performance:te}){const{t:Z}=et.useTranslation(h),G=i.useRef(null),{layout:Re,setLayout:ve,density:Ne,setDensity:le,densityClasses:Me}=Xr(r,n),{theme:z,variantClasses:I,densityClasses:J,customStyles:ce,getThemedClass:oe,getThemedStyles:de}=li({theme:R,variant:s,density:Ne}),Se=i.useMemo(()=>{const ne=[...a];if(m){const B={id:"select",header:({table:we})=>e.jsx(at,{checked:we.getIsAllPageRowsSelected(),onCheckedChange:Ae=>we.toggleAllPageRowsSelected(!!Ae),"aria-label":Z("datatable.selectAll",{defaultValue:"Select all"})}),cell:({row:we})=>e.jsx(at,{checked:we.getIsSelected(),onCheckedChange:Ae=>we.toggleSelected(!!Ae),"aria-label":Z("datatable.selectRow",{defaultValue:"Select row"})}),enableSorting:!1,enableHiding:!1,size:50};ne.unshift(B)}if(g?.enabled){const B={id:"expand",header:()=>null,cell:({row:we})=>we.getCanExpand()?e.jsx(O,{variant:"ghost",size:"sm",onClick:()=>we.toggleExpanded(),className:"h-8 w-8 p-0",children:we.getIsExpanded()?e.jsx(E.ChevronDown,{className:"h-4 w-4"}):e.jsx(E.ChevronRight,{className:"h-4 w-4"})}):null,enableSorting:!1,enableHiding:!1,size:50};ne.unshift(B)}if(M){const B={id:"reorder",header:()=>null,cell:()=>e.jsx(O,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 cursor-move",children:e.jsx(E.GripVertical,{className:"h-4 w-4"})}),enableSorting:!1,enableHiding:!1,size:50};ne.unshift(B)}return ne},[a,m,g,M,Z]);console.log("DataTableAdvanced - props:",{grouping:d,rowExpansion:g,dataLength:t.length});const{table:ye,sorting:Oe,setSorting:ht,columnFilters:Ue,setColumnFilters:Be,columnVisibility:wt,setColumnVisibility:Vt,columnOrder:Wt,setColumnOrder:$t,expanded:W,setExpanded:K,grouping:Pe,setGrouping:Ge,rowSelection:ba,setRowSelection:es,globalFilter:Ia,setGlobalFilter:Oa,pagination:xa,setPagination:mi,selectedRows:fi,resetFilters:nt,resetSelection:jt,resetAll:pt,exportData:va,getGroupedData:_a,getExpandedData:za,toggleGrouping:tt,clearGrouping:Va,toggleRowExpansion:Xe,expandAll:Ht,collapseAll:Je}=si({data:t,columns:Se,pagination:f,tableId:_,onSortingChange:A,onFiltersChange:V,onSelectionChange:X,onColumnOrderChange:me,onExpandedChange:se,onGroupingChange:Y,grouping:d,virtualization:v,sortMode:N,performance:te}),{isVirtualized:ot,virtualItems:Nt,totalSize:ya,scrollToIndex:ts,scrollToOffset:Wa}=ni({data:t,virtualization:v,containerRef:G}),{exportData:wa,exportAll:as,exportSelected:qt}=oi({data:t,columns:Se,exportConfig:typeof $=="object"?$:void 0}),{importWithUI:Ut,supportedFormats:hi}=ii({importConfig:typeof F=="object"?F:void 0}),[St,Ye]=Jr(ye,{onSave:q?.onSave,onCancel:q?.onCancel,autoSave:q?.autoSave,autoSaveDelay:q?.autoSaveDelay});if(q?.editableColumns&&q.editableColumns.length>0){const ne={id:"edit-actions",header:()=>Z("datatable.actions",{defaultValue:"Actions"}),cell:({row:B})=>St.editingRowId===B.id?e.jsxs("div",{className:"flex gap-1",children:[e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>Ye.saveEdit(),disabled:!St.hasChanges,children:Z("datatable.save",{defaultValue:"Save"})}),e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>Ye.cancelEdit(),children:Z("datatable.cancel",{defaultValue:"Cancel"})})]}):e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>Ye.startEdit(B.id,B.original),children:Z("datatable.edit",{defaultValue:"Edit"})}),enableSorting:!1,enableHiding:!1};Se.push(ne)}const ja=i.useCallback(async ne=>{try{await wa(ne)}catch(B){console.error("Erreur lors de l'export:",B)}},[wa]),Na=i.useCallback(async()=>{try{const ne=await Ut();console.log("Données importées:",ne)}catch(ne){console.error("Erreur lors de l'import:",ne)}},[Ut]);if(x)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx(E.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:Z("datatable.loading",{defaultValue:"Loading..."})})]})});if(k)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg bg-destructive/10",children:e.jsxs("div",{className:"flex flex-col items-center gap-2 text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-8 w-8"}),e.jsx("p",{className:"text-sm font-medium",children:k})]})});if(!t||t.length===0)return e.jsxs("div",{className:"flex flex-col",children:[c&&e.jsx(ma,{table:ye,config:c,globalFilter:Ia,onGlobalFilterChange:Oa,density:Ne,onDensityChange:le,onExport:$?ja:void 0,onImport:F?Na:void 0}),e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:S||e.jsxs("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[e.jsx("p",{className:"text-lg font-medium",children:Z("datatable.noData",{defaultValue:"No data"})}),e.jsx("p",{className:"text-sm",children:Z("datatable.noDataDescription",{defaultValue:"There are no results to display"})})]})})]});const Sa=()=>ot?e.jsx("div",{ref:G,className:"h-full overflow-auto",style:{height:v?.containerHeight||600},children:e.jsxs("table",{className:ae("w-full caption-bottom text-sm",J.table),style:de(),children:[e.jsx("thead",{className:ae(j&&"sticky top-0 bg-background z-10"),children:ye.getHeaderGroups().map(ne=>e.jsx("tr",{className:"border-b",children:ne.headers.map(B=>e.jsxs("th",{className:ae("text-left font-medium text-muted-foreground",J.header,B.column.getCanSort()&&"cursor-pointer select-none hover:text-foreground"),onClick:B.column.getToggleSortingHandler(),style:{width:B.getSize(),minWidth:B.column.columnDef.minSize,maxWidth:B.column.columnDef.maxSize},children:[B.isPlaceholder?null:Ee.flexRender(B.column.columnDef.header,B.getContext()),B.column.getIsSorted()&&e.jsx("span",{className:"ml-2",children:B.column.getIsSorted()==="asc"?"↑":"↓"})]},B.id))},ne.id))}),e.jsx("tbody",{children:Nt.map(ne=>{const we=(d?.columns?.length?ye.getGroupedRowModel().rows:g?.enabled?ye.getExpandedRowModel().rows:ye.getRowModel().rows)[ne.index];return we?e.jsx("tr",{className:ae("border-b transition-colors",P&&"cursor-pointer hover:bg-muted/50",we.getIsSelected()&&"bg-muted"),onClick:()=>P?.(we.original),onDoubleClick:()=>L?.(we.original),style:{position:"absolute",top:ne.start,left:0,width:"100%",height:ne.size},children:we.getVisibleCells().map(Ae=>{const kt=Ae.getValue(),ke=Ae.column.id,Te=we.id,re=St.editingRowId===Te,Ct=q?.editableColumns?.find(gt=>gt.field===ke);return Ct&&re?e.jsx("td",{className:ae("align-middle",J.cell),children:e.jsx(Ma,{value:kt,field:ke,config:Ct.config,isEditing:re,onChange:gt=>Ye.updateField(ke,gt),onStartEdit:()=>Ye.startEdit(Te,we.original),onSave:()=>Ye.saveEdit(),onCancel:()=>Ye.cancelEdit()})},Ae.id):e.jsx("td",{className:ae("align-middle",J.cell),children:Ee.flexRender(Ae.column.columnDef.cell,Ae.getContext())},Ae.id)})},we.id):null})})]})}):e.jsx("div",{className:ae("w-full overflow-auto",I),children:e.jsxs("table",{className:ae("w-full caption-bottom text-sm",J.table),style:de(),children:[e.jsx("thead",{className:ae(j&&"sticky top-0 bg-background z-10"),children:ye.getHeaderGroups().map(ne=>e.jsx("tr",{className:"border-b",children:ne.headers.map(B=>e.jsxs("th",{className:ae("text-left font-medium text-muted-foreground",J.header,B.column.getCanSort()&&"cursor-pointer select-none hover:text-foreground"),onClick:B.column.getToggleSortingHandler(),style:{width:B.getSize(),minWidth:B.column.columnDef.minSize,maxWidth:B.column.columnDef.maxSize},children:[B.isPlaceholder?null:Ee.flexRender(B.column.columnDef.header,B.getContext()),B.column.getIsSorted()&&e.jsx("span",{className:"ml-2",children:B.column.getIsSorted()==="asc"?"↑":"↓"})]},B.id))},ne.id))}),e.jsx("tbody",{children:(()=>{const ne=d?.columns?.length?ye.getGroupedRowModel().rows:g?.enabled?ye.getExpandedRowModel().rows:ye.getRowModel().rows;return console.log("DataTableAdvanced - rendering rows:",{totalRows:ne.length,grouping:d?.columns,rowExpansion:g?.enabled,firstRow:ne[0]}),ne.map((B,we)=>{const Ae=B.getIsGrouped(),kt=B.getIsExpanded();return e.jsxs(i.Fragment,{children:[e.jsx("tr",{className:ae("border-b transition-colors",P&&"cursor-pointer hover:bg-muted/50",B.getIsSelected()&&"bg-muted",Ae&&"bg-muted/30 font-medium"),onClick:()=>P?.(B.original),onDoubleClick:()=>L?.(B.original),children:B.getVisibleCells().map(ke=>{const Te=ke.getValue(),re=ke.column.id,Ct=B.id,gt=St.editingRowId===Ct,Bt=q?.editableColumns?.find(_e=>_e.field===re);return Bt&&gt?e.jsx("td",{className:ae("align-middle",J.cell),children:e.jsx(Ma,{value:Te,field:re,config:Bt.config,isEditing:gt,onChange:_e=>Ye.updateField(re,_e),onStartEdit:()=>Ye.startEdit(Ct,B.original),onSave:()=>Ye.saveEdit(),onCancel:()=>Ye.cancelEdit()})},ke.id):e.jsx("td",{className:ae("align-middle",J.cell),children:Ae?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:_e=>{_e.stopPropagation(),B.toggleExpanded()},className:"p-1 hover:bg-muted rounded",children:kt?"▼":"▶"}),e.jsxs("span",{className:"font-medium",children:[ke.getValue()," (",B.subRows.length," éléments)"]})]}):Ee.flexRender(ke.column.columnDef.cell,ke.getContext())},ke.id)})}),g?.enabled&&kt&&e.jsx("tr",{children:e.jsx("td",{colSpan:Se.length,className:"p-0",children:e.jsx("div",{className:"border-b",children:g.renderExpanded?.(B.original)})})},`${B.id}-expanded-${we}`)]},`${B.id}-${we}`)})})()})]})});return e.jsxs("div",{className:ae("w-full",H),style:de(),children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[c&&e.jsx("div",{className:"flex-1",children:e.jsx(ma,{table:ye,config:c,globalFilter:Ia,onGlobalFilterChange:Oa,density:Ne,onDensityChange:le,onExport:$?ja:void 0,onImport:F?Na:void 0})}),o&&e.jsx(Kr,{table:ye,filters:o,position:l,onFiltersChange:V})]}),Sa(),f&&e.jsx(Yr,{table:ye,pageSizeOptions:f.pageSizeOptions})]})}function Gh({header:t,column:a,className:r}){const[s,n]=i.useState(!1),o=i.useCallback(l=>{l.preventDefault(),l.stopPropagation(),n(!0);const c=l.clientX,f=a.getSize(),m=h=>{const x=h.clientX-c,k=Math.max(50,f+x);a.setSize(k)},p=()=>{n(!1),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",p)};document.addEventListener("mousemove",m),document.addEventListener("mouseup",p)},[a]);return a.getCanResize()?e.jsx("div",{className:ae("absolute right-0 top-0 h-full w-1 cursor-col-resize bg-border opacity-0 hover:opacity-100 transition-opacity",s&&"opacity-100 bg-primary",r),onMouseDown:o,style:{width:"4px",marginRight:"-2px"}}):null}function Xh({row:t,table:a,className:r}){const[s,n]=i.useState(t.getIsExpanded()),o=i.useCallback(()=>{n(!s),t.toggleExpanded()},[s,t]);t.getValue(t.groupingColumnId);const l=t.subRows.length;return e.jsxs("div",{className:ae("flex items-center gap-2 py-2",r),children:[e.jsx(O,{variant:"ghost",size:"sm",onClick:o,className:"h-6 w-6 p-0",children:s?e.jsx(E.ChevronDown,{className:"h-4 w-4"}):e.jsx(E.ChevronRight,{className:"h-4 w-4"})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium",children:Ee.flexRender(t.groupingColumn.columnDef.cell,t.getGroupingValue())}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:["(",l," ",l===1?"item":"items",")"]})]})]})}function Jh({row:t,table:a,className:r}){const s=t.getAggregationValue();return s?e.jsx("div",{className:ae("flex items-center gap-4 py-2 bg-muted/50",r),children:Object.entries(s).map(([n,o])=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-sm font-medium",children:[n,":"]}),e.jsx("span",{className:"text-sm text-muted-foreground",children:typeof o=="number"?o.toLocaleString():String(o)})]},n))}):null}function Yh({table:t,groupingColumns:a,onGroupingChange:r,className:s}){const[n,o]=i.useState(a),l=i.useCallback(f=>{const m=n.includes(f)?n.filter(p=>p!==f):[...n,f];o(m),r(m)},[n,r]),c=i.useCallback(()=>{o([]),r([])},[r]);return e.jsxs("div",{className:ae("flex items-center gap-2",s),children:[e.jsx("span",{className:"text-sm font-medium",children:"Group by:"}),t.getAllColumns().filter(f=>f.getCanGroup()).map(f=>e.jsx(O,{variant:n.includes(f.id)?"default":"outline",size:"sm",onClick:()=>l(f.id),children:f.columnDef.header},f.id)),n.length>0&&e.jsx(O,{variant:"ghost",size:"sm",onClick:c,children:"Clear"})]})}function Kh({row:t,rowIndex:a,actions:r=[],columnActions:s=[],onCopy:n,onExport:o,onEdit:l,onDelete:c,onToggleColumnVisibility:f,visibleColumns:m=[],className:p,children:h}){const[x,k]=i.useState(!1),S=i.useCallback(g=>{g.onClick(t),k(!1)},[t]),j=i.useCallback(()=>{if(n)n(t);else{const g=Object.entries(t).map(([v,N])=>`${v}: ${N}`).join(`
73
- `);navigator.clipboard.writeText(g)}k(!1)},[t,n]),y=i.useCallback(()=>{o&&o(t),k(!1)},[t,o]),b=i.useCallback(()=>{l&&l(t),k(!1)},[t,l]),u=i.useCallback(()=>{c&&c(t),k(!1)},[t,c]),d=i.useCallback(g=>{f&&f(g),k(!1)},[f]);return e.jsxs(yn,{onOpenChange:k,children:[e.jsx(wn,{asChild:!0,children:h}),e.jsxs(kr,{className:ae("w-64",p),children:[r.length>0&&e.jsxs(e.Fragment,{children:[r.map(g=>e.jsxs(it,{onClick:()=>S(g),disabled:g.disabled,className:ae(g.destructive&&"text-destructive focus:text-destructive"),children:[g.icon&&e.jsx("span",{className:"mr-2",children:g.icon}),g.label]},g.id)),e.jsx(Kt,{})]}),e.jsxs(it,{onClick:j,children:[e.jsx(E.Copy,{className:"mr-2 h-4 w-4"}),"Copy row"]}),o&&e.jsxs(it,{onClick:y,children:[e.jsx(E.Download,{className:"mr-2 h-4 w-4"}),"Export row"]}),l&&e.jsxs(it,{onClick:b,children:[e.jsx(E.Edit,{className:"mr-2 h-4 w-4"}),"Edit row"]}),c&&e.jsxs(it,{onClick:u,className:"text-destructive focus:text-destructive",children:[e.jsx(E.Trash2,{className:"mr-2 h-4 w-4"}),"Delete row"]}),s.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(Kt,{}),e.jsx("div",{className:"px-2 py-1.5 text-sm font-semibold text-muted-foreground",children:"Columns"}),s.map(g=>e.jsxs(it,{onClick:()=>d(g.id),disabled:g.disabled,children:[g.icon&&e.jsx("span",{className:"mr-2",children:g.icon}),g.label]},g.id))]}),f&&m.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(Kt,{}),e.jsx("div",{className:"px-2 py-1.5 text-sm font-semibold text-muted-foreground",children:"Toggle Columns"}),m.map(g=>e.jsxs(it,{onClick:()=>d(g),children:[e.jsx(E.Eye,{className:"mr-2 h-4 w-4"}),g]},g))]})]})]})}function Zh({table:t,selectionMode:a="multiple",selectedRows:r,onSelectionChange:s,selectionActions:n=[],className:o}){const[l,c]=i.useState(null);i.useCallback((x,k)=>{if(a==="single"){t.setRowSelection({[x]:k});return}if(a==="range"&&l!==null){const S=Math.min(l,x),j=Math.max(l,x),y={...t.getState().rowSelection};for(let b=S;b<=j;b++)y[b]=k;t.setRowSelection(y)}else t.setRowSelection(S=>({...S,[x]:k}));c(x)},[t,a,l]);const f=i.useCallback(x=>{if(x){const k=t.getRowModel().rows.reduce((S,j,y)=>(S[y]=!0,S),{});t.setRowSelection(k)}else t.setRowSelection({})},[t]);i.useCallback((x,k,S)=>{const j={...t.getState().rowSelection};for(let y=x;y<=k;y++)j[y]=S;t.setRowSelection(j)},[t]),i.useCallback(x=>{const k={...t.getState().rowSelection};t.getRowModel().rows.forEach((S,j)=>{x(S.original)&&(k[j]=!0)}),t.setRowSelection(k)},[t]);const m=i.useCallback(x=>{x.onClick(r)},[r]),p=t.getIsAllPageRowsSelected(),h=t.getIsSomePageRowsSelected();return e.jsxs("div",{className:ae("flex items-center gap-2",o),children:[e.jsx(at,{checked:p,onCheckedChange:f,ref:x=>{x&&"indeterminate"in x&&(x.indeterminate=h&&!p)},"aria-label":"Select all rows"}),r.length>0&&e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsxs("span",{children:[r.length," selected"]}),e.jsx("div",{className:"flex items-center gap-1",children:n.map(x=>e.jsxs(O,{variant:"ghost",size:"sm",onClick:()=>m(x),disabled:x.disabled,className:ae(x.destructive&&"text-destructive hover:text-destructive"),children:[x.icon&&e.jsx("span",{className:"mr-1",children:x.icon}),x.label]},x.id))})]}),e.jsxs(ut,{onValueChange:x=>{switch(x){case"all":f(!0);break;case"none":f(!1);break;case"invert":t.getRowModel().rows.forEach((k,S)=>{const j=t.getState().rowSelection[S];t.setRowSelection(y=>({...y,[S]:!j}))});break}},children:[e.jsx(rt,{className:"w-32",children:e.jsx(mt,{placeholder:"Select"})}),e.jsxs(st,{children:[e.jsx(Qe,{value:"all",children:"Select All"}),e.jsx(Qe,{value:"none",children:"Select None"}),e.jsx(Qe,{value:"invert",children:"Invert Selection"})]})]})]})}function Qh({table:t,selectionMode:a="multiple",onSelectionChange:r}){const[s,n]=i.useState([]);i.useEffect(()=>{const p=t.getFilteredSelectedRowModel().rows.map(h=>h.original);n(p),r?.(p)},[t,r]);const o=i.useCallback((p,h=!0)=>{t.setRowSelection(x=>({...x,[p]:h}))},[t]),l=i.useCallback((p=!0)=>{if(p){const h=t.getRowModel().rows.reduce((x,k,S)=>(x[S]=!0,x),{});t.setRowSelection(h)}else t.setRowSelection({})},[t]),c=i.useCallback((p,h,x=!0)=>{const k={...t.getState().rowSelection};for(let S=p;S<=h;S++)k[S]=x;t.setRowSelection(k)},[t]),f=i.useCallback(p=>{const h={...t.getState().rowSelection};t.getRowModel().rows.forEach((x,k)=>{p(x.original)&&(h[k]=!0)}),t.setRowSelection(h)},[t]),m=i.useCallback(()=>{t.setRowSelection({})},[t]);return{selectedRows:s,selectRow:o,selectAll:l,selectRange:c,selectByCriteria:f,clearSelection:m,isAllSelected:t.getIsAllPageRowsSelected(),isSomeSelected:t.getIsSomePageRowsSelected()}}const ci=i.createContext(void 0);function di({children:t,languages:a,defaultLanguage:r="fr",s3Config:s,onLanguageChange:n}){const{i18n:o}=et.useTranslation(),[l,c]=i.useState(r),[f,m]=i.useState(!0),[p,h]=i.useState(new Set),[x,k]=i.useState(!1),S=i.useCallback(async b=>{if(!s)throw new Error("S3 configuration not provided");const{baseUrl:u,prefix:d="",extension:g="json",headers:v={}}=s,N=`${u.replace(/\/$/,"")}/${d}${b}.${g}`;console.log(`[LanguageProvider] Loading translations from S3: ${N}`);try{const $=await fetch(N,{headers:{Accept:"application/json",...v}});if(!$.ok)throw new Error(`Failed to load translations: ${$.status} ${$.statusText}`);const F=await $.json();return console.log(`[LanguageProvider] ✓ Translations loaded for ${b}`),F}catch($){throw console.error(`[LanguageProvider] ✗ Error loading translations for ${b}:`,$),$}},[s]);i.useEffect(()=>{if(x||!o||!s)return;(async()=>{try{const u=typeof window<"u"?localStorage.getItem("language"):null,d=u&&a.some(v=>v.code===u)?u:r;console.log(`[LanguageProvider] Initializing with language: ${d}`);const g=await S(d);o.addResourceBundle&&o.addResourceBundle(d,"translation",g,!0,!0),await o.changeLanguage(d),c(d),h(new Set([d])),k(!0),console.log(`[LanguageProvider] ✓ Initialized with ${d}`)}catch(u){console.error("[LanguageProvider] Error initializing:",u),k(!0)}finally{m(!1)}})()},[x,o,s,r,a,S]);const j=i.useCallback(async b=>{if(b!==l){if(!o?.changeLanguage){console.error("[LanguageProvider] i18next is not initialized");return}if(!s){console.error("[LanguageProvider] S3 config not provided");return}m(!0);try{if(!p.has(b)){console.log(`[LanguageProvider] Loading ${b} from S3...`);const u=await S(b);o.addResourceBundle&&o.addResourceBundle(b,"translation",u,!0,!0),h(d=>new Set([...d,b]))}await o.changeLanguage(b),c(b),typeof window<"u"&&localStorage.setItem("language",b),n?.(b),console.log(`[LanguageProvider] ✓ Language changed to: ${b}`)}catch(u){throw console.error("[LanguageProvider] ✗ Error changing language:",u),u}finally{m(!1)}}},[l,p,s,S,o,n]),y={currentLanguage:l,languages:a,changeLanguage:j,isLoading:f,loadedLanguages:p};return e.jsx(ci.Provider,{value:y,children:t})}function Zr(){const t=i.useContext(ci);if(!t)throw new Error("useLanguage must be used within a LanguageProvider");return t}const ui=i.createContext(void 0);function ep({children:t,config:a}){const{defaultTheme:r="light",storageKey:s="waka-ui-theme",themes:n,enableSystem:o=!0,s3Config:l}=a||{},[c,f]=i.useState(r),[m,p]=i.useState(),[h,x]=i.useState([]),[k,S]=i.useState(!0),[j,y]=i.useState("fallback");i.useEffect(()=>{(async()=>{if(S(!0),n&&n.length>0){const v=tp(n);x(v),y("config"),S(!1),console.log("[ThemeProvider] Using themes from config:",v.length);return}if(l?.baseUrl)try{const v=await ap(l.baseUrl);if(v.length>0){x(v),y("s3"),S(!1),console.log("[ThemeProvider] Loaded themes from S3:",v.length);return}}catch(v){console.error("[ThemeProvider] Failed to load themes from S3:",v)}x([{id:"light",label:"Clair",previewColor:"#3b82f6"},{id:"dark",label:"Sombre",previewColor:"#1e293b"}]),y("fallback"),S(!1),console.log("[ThemeProvider] Using fallback themes")})()},[n,l]),i.useEffect(()=>{if(!o)return;const d=window.matchMedia("(prefers-color-scheme: dark)"),g=v=>{p(v.matches?"dark":"light")};return p(d.matches?"dark":"light"),d.addEventListener("change",g),()=>d.removeEventListener("change",g)},[o]),i.useEffect(()=>{if(h.length===0)return;const d=localStorage.getItem(s),g=h.map(v=>v.id);d&&g.includes(d)&&f(d)},[s,h]),i.useEffect(()=>{if(h.length===0)return;const d=document.documentElement,g=c==="system"&&m?m:c;h.forEach(v=>d.classList.remove(v.id)),d.classList.add(g),d.setAttribute("data-theme",g),process.env.NODE_ENV==="development"&&console.log(`[WakaUI] Theme applied: ${g}`)},[c,m,h]);const b=i.useCallback(d=>{const g=h.map(v=>v.id);if(!g.includes(d)&&d!=="system"){console.warn(`[WakaUI] Theme "${d}" is not in the list of available themes:`,g);return}f(d),localStorage.setItem(s,d)},[h,s]),u=i.useMemo(()=>({theme:c,setTheme:b,themes:h,systemTheme:m,isLoadingThemes:k,themesSource:j}),[c,b,h,m,k,j]);return e.jsx(ui.Provider,{value:u,children:t})}function tp(t){return t.length===0?[]:typeof t[0]=="string"?t.map(a=>({id:a,label:rp(a),previewColor:sp(a)})):t}async function ap(t){try{const a=await fetch("/api/themes/list",{cache:"no-store"});if(!a.ok)throw new Error(`HTTP ${a.status}`);return(await a.json()).themes||[]}catch(a){return console.error("[ThemeProvider] Failed to fetch themes from S3:",a),[]}}function rp(t){return t.split("-").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}function sp(t){return{light:"#3b82f6",dark:"#1e293b",forest:"#10b981",sunset:"#f59e0b",twilight:"#8b5cf6",monochrome:"#6b7280",perpetuity:"#ec4899"}[t]||"#3b82f6"}function np(){const t=i.useContext(ui);if(!t)throw new Error("useTheme must be used within a ThemeProvider");return t}function op({children:t,config:a}){const[r]=i.useState(()=>lt.createInstance()),[s,n]=i.useState(!1);return i.useEffect(()=>{(async()=>{try{await r.use(et.initReactI18next).init({lng:a.language.defaultLanguage,fallbackLng:a.language.defaultLanguage,supportedLngs:a.language.supportedLanguages,resources:a.language.resources||{},interpolation:{escapeValue:!1},react:{useSuspense:!1},debug:a.debug}),a.language.s3Config&&await ip(r,a.language.s3Config,a.language.supportedLanguages),n(!0),a.debug&&console.log("[WakaUI] i18n initialized successfully")}catch(l){console.error("[WakaUI] Failed to initialize i18n:",l),n(!0)}})()},[r,a]),i.useEffect(()=>{if(!s)return;const o=a.language.storageKey||"waka-ui-language",l=localStorage.getItem(o);l&&a.language.supportedLanguages.includes(l)&&r.changeLanguage(l);const c=f=>{localStorage.setItem(o,f),a.debug&&console.log(`[WakaUI] Language changed to: ${f}`)};return r.on("languageChanged",c),()=>{r.off("languageChanged",c)}},[s,r,a]),s?e.jsx(et.I18nextProvider,{i18n:r,children:e.jsx(di,{languages:a.language.languages||[],defaultLanguage:a.language.defaultLanguage,s3Config:a.language.s3Config?{baseUrl:a.language.s3Config.bucketUrl,prefix:a.language.s3Config.translationsPath?`${a.language.s3Config.translationsPath}/`:"",extension:"json"}:void 0,children:e.jsx(Po,{themes:a.theme?.themes||[{id:"default",label:"Default"}],defaultTheme:a.theme?.defaultTheme||"default",s3Config:a.theme?.s3Config,enableDarkMode:a.theme?.enableSystem,children:t})})}):e.jsx("div",{style:{padding:"20px",textAlign:"center"},children:"Loading WakaUI..."})}async function ip(t,a,r){if(!a)return;const{bucketUrl:s,translationsPath:n="translations"}=a;try{await Promise.all(r.map(async o=>{try{const l=`${s}/${n}/${o}.json`,c=await fetch(l);if(!c.ok){console.warn(`[WakaUI] Failed to load translations for ${o} from S3`);return}const f=await c.json();t.addResourceBundle(o,"translation",f,!0,!0),process.env.NODE_ENV==="development"&&console.log(`[WakaUI] Loaded translations for ${o} from S3`)}catch(l){console.warn(`[WakaUI] Error loading translations for ${o}:`,l)}}))}catch(o){console.error("[WakaUI] Error loading translations from S3:",o)}}function lp(){const{i18n:t,t:a}=et.useTranslation(),r=Zr(),s=ga();return{currentLanguage:t.language||r.currentLanguage,changeLanguage:async n=>{await r.changeLanguage(n),await t.changeLanguage(n)},languages:r.languages,isLanguageLoading:r.isLoading,currentTheme:s.currentTheme,changeTheme:s.changeTheme,themes:s.themes,isThemeLoading:s.isLoading,preloadTheme:s.preloadTheme,isThemeLoaded:s.isThemeLoaded,t:a}}const Qr=i.createContext(void 0);function cp({children:t,initialSelection:a,onSelectionChange:r,persistKey:s="admincrumb-selection"}){const[n,o]=i.useState(()=>{if(typeof window<"u"&&s){const k=localStorage.getItem(s);if(k)try{return JSON.parse(k)}catch(S){console.error("Failed to parse stored admincrumb selection",S)}}return a||{}});i.useEffect(()=>{typeof window<"u"&&s&&localStorage.setItem(s,JSON.stringify(n))},[n,s]),i.useEffect(()=>{r?.(n)},[n,r]);const l=i.useCallback(k=>{o({partner:k,network:void 0,customer:void 0})},[]),c=i.useCallback(k=>{o(S=>({...S,network:k,customer:void 0}))},[]),f=i.useCallback(k=>{o(S=>({...S,customer:k}))},[]),m=i.useCallback(()=>{o({})},[]),p=i.useMemo(()=>!!(n.partner||n.network||n.customer),[n]),h=i.useCallback(()=>({...n.partner?.id&&{partnerId:n.partner.id},...n.network?.id&&{networkId:n.network.id},...n.customer?.id&&{customerId:n.customer.id}}),[n]),x=i.useMemo(()=>({selection:n,setPartner:l,setNetwork:c,setCustomer:f,reset:m,isFiltered:p,getFilterQuery:h}),[n,l,c,f,m,p,h]);return e.jsx(Qr.Provider,{value:x,children:t})}function dp(){const t=i.useContext(Qr);if(!t)throw new Error("useAdmincrumbContext must be used within AdmincrumbProvider");return t}function up(){return i.useContext(Qr)}const mp={github:E.Github,twitter:E.Twitter,linkedin:E.Linkedin,email:E.Mail};function fp({columns:t=[],socialLinks:a=[],copyright:r="© 2024 Tous droits réservés.",className:s}){return e.jsx("footer",{className:w("bg-muted/40",s),children:e.jsxs("div",{className:"container mx-auto px-4 py-12",children:[e.jsxs("div",{className:"grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4",children:[t.map((n,o)=>e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-semibold text-foreground",children:n.title}),e.jsx("ul",{className:"space-y-2",children:n.links.map((l,c)=>e.jsx("li",{children:e.jsx("a",{href:l.href,className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:l.label})},c))})]},o)),a.length>0&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Suivez-nous"}),e.jsx("div",{className:"flex space-x-4",children:a.map((n,o)=>{const l=mp[n.platform];return e.jsx(O,{variant:"ghost",size:"icon",asChild:!0,className:"h-8 w-8",children:e.jsx("a",{href:n.url,target:"_blank",rel:"noopener noreferrer","aria-label":n.platform,children:e.jsx(l,{className:"h-4 w-4"})})},o)})})]})]}),e.jsx(At,{className:"my-8"}),e.jsxs("div",{className:"flex flex-col items-center justify-between space-y-4 md:flex-row md:space-y-0",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r}),e.jsxs("div",{className:"flex space-x-6",children:[e.jsx("a",{href:"/privacy",className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Politique de confidentialité"}),e.jsx("a",{href:"/terms",className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Conditions d'utilisation"})]})]})]})})}function hp({items:t,defaultActiveId:a,variant:r="default",size:s="md",className:n,onTabChange:o}){const[l,c]=i.useState(a||t[0]?.id||""),f=h=>{c(h),o?.(h)},m={sm:"h-8 px-3 text-sm",md:"h-10 px-4 text-sm",lg:"h-12 px-6 text-base"},p={default:"bg-background",pills:"bg-muted rounded-full",underline:"bg-transparent border-b-2 border-transparent data-[state=active]:border-primary"};return e.jsx("div",{className:w("w-full",n),children:e.jsxs(zr,{value:l,onValueChange:f,children:[e.jsx(La,{className:w("grid w-full",r==="pills"&&"grid-cols-auto",r!=="pills"&&`grid-cols-${t.length}`,p[r]),children:t.map(h=>e.jsx(da,{value:h.id,disabled:h.disabled,className:w(m[s],r==="underline"&&"rounded-none border-b-2 border-transparent data-[state=active]:border-primary",r==="pills"&&"rounded-full"),children:h.label},h.id))}),t.map(h=>e.jsx(ua,{value:h.id,className:"mt-6",children:h.content},h.id))]})})}function pp({variant:t="dropdown",showFlags:a=!0,className:r}){const{currentLanguage:s,languages:n,changeLanguage:o,isLoading:l}=Zr(),c=n.find(f=>f.code===s);return t==="select"?e.jsxs(ut,{value:s,onValueChange:o,disabled:l,children:[e.jsx(rt,{className:w("w-[180px]",r),children:e.jsxs(mt,{children:[a&&c?.flagEmoji&&e.jsx("span",{className:"mr-2",children:c.flagEmoji}),c?.label]})}),e.jsx(st,{children:n.map(f=>e.jsxs(Qe,{value:f.code,children:[a&&f.flagEmoji&&e.jsx("span",{className:"mr-2",children:f.flagEmoji}),f.label]},f.code))})]}):e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"sm",className:w("gap-2",r),disabled:l,children:[e.jsx(E.Globe,{className:"h-4 w-4"}),a&&c?.flagEmoji&&e.jsx("span",{children:c.flagEmoji}),c?.label]})}),e.jsx(Lt,{align:"end",children:n.map(f=>e.jsxs(Cr,{onClick:()=>o(f.code),className:"cursor-pointer",children:[a&&f.flagEmoji&&e.jsx("span",{className:"mr-2",children:f.flagEmoji}),f.label]},f.code))})]})}function gp({children:t,header:a,sidebar:r,footer:s,collapsible:n=!1,className:o}){const[l,c]=i.useState(!1);return e.jsxs("div",{className:w("min-h-screen bg-background",o),children:[a&&e.jsx("header",{className:"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",children:e.jsxs("div",{className:"container flex h-14 max-w-screen-2xl items-center",children:[n&&r&&e.jsxs(Ar,{open:l,onOpenChange:c,children:[e.jsx($r,{asChild:!0,children:e.jsxs(O,{variant:"ghost",size:"icon",className:"md:hidden",children:[e.jsx(E.Menu,{className:"h-5 w-5"}),e.jsx("span",{className:"sr-only",children:"Ouvrir le menu"})]})}),e.jsx(Fa,{side:"left",className:"w-72 p-0",children:e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Navigation"}),e.jsx(O,{variant:"ghost",size:"icon",onClick:()=>c(!1),children:e.jsx(E.X,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r})]})})]}),a]})}),e.jsxs("div",{className:"flex",children:[r&&!n&&e.jsx("aside",{className:"hidden w-64 border-r bg-muted/40 md:block",children:e.jsx("div",{className:"h-full overflow-y-auto p-4",children:r})}),e.jsx("main",{className:"flex-1",children:e.jsx("div",{className:"container mx-auto p-4",children:t})})]}),s&&e.jsx("footer",{className:"border-t bg-muted/40",children:e.jsx("div",{className:"container mx-auto p-4",children:s})})]})}function bp({config:t,onSubmit:a,onForgotPassword:r,onSignUp:s,onSSOGoogle:n,onSSOMicrosoft:o,onSSOApple:l,onSSOLinkedIn:c,onSSOGithub:f,onSSOFacebook:m,onSSOInstagram:p,onSSOFranceConnect:h,showSocialLogin:x=!1,className:k}){let S=!1;try{S=ga().isDarkMode}catch{}const j=t?.theme_json?.dark_mode??S,[y,b]=i.useState({email:"",password:"",rememberMe:!1}),[u,d]=i.useState(!1),g=i.useMemo(()=>t?.assets?j?t.assets.theme_logo_dark:t.assets.theme_logo_light:null,[t?.assets,j]),v=i.useMemo(()=>t?.color_json?{"--login-primary":t.color_json.primary,"--login-secondary":t.color_json.secondary,"--login-accent":t.color_json.accent}:{},[t?.color_json]),N=i.useMemo(()=>{const T=[];if(!t?.signup_options)return x&&(f&&T.push({id:"github",label:"GitHub",icon:e.jsx(E.Github,{className:"h-4 w-4"}),onClick:f}),n&&T.push({id:"google",label:"Google",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:n})),T;const P=t.signup_options;return P.allow_sso_google&&T.push({id:"google",label:"Google",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:n}),P.allow_sso_microsoft&&T.push({id:"microsoft",label:"Microsoft",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:o}),P.allow_sso_apple&&T.push({id:"apple",label:"Apple",icon:e.jsx(E.Apple,{className:"h-4 w-4"}),onClick:l}),P.allow_sso_linkedIn&&T.push({id:"linkedin",label:"LinkedIn",icon:e.jsx(E.Linkedin,{className:"h-4 w-4"}),onClick:c}),P.allow_sso_github&&T.push({id:"github",label:"GitHub",icon:e.jsx(E.Github,{className:"h-4 w-4"}),onClick:f}),P.allow_sso_facebook&&T.push({id:"facebook",label:"Facebook",icon:e.jsx(E.Facebook,{className:"h-4 w-4"}),onClick:m}),P.allow_sso_instagram&&T.push({id:"instagram",label:"Instagram",icon:e.jsx(E.Instagram,{className:"h-4 w-4"}),onClick:p}),P.allow_sso_france_connect&&T.push({id:"france-connect",label:"France Connect",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:h}),T},[t?.signup_options,x,n,o,l,c,f,m,p,h]),$=t?.signup_options?.allow_login!==!1,F=async T=>{T.preventDefault(),d(!0);try{await a?.(y)}finally{d(!1)}},M=T=>P=>{b(L=>({...L,[T]:T==="rememberMe"?P.target.checked:P.target.value}))};return e.jsx("div",{className:w("flex items-center justify-center p-4",k),style:v,children:e.jsxs(Ve,{className:"w-full max-w-md",children:[e.jsxs(Ke,{className:"space-y-1",children:[g&&e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("img",{src:g,alt:t?.theme_json?.name||"Logo",className:"max-h-16 max-w-full object-contain"})}),e.jsx(We,{className:"text-2xl text-center",children:"Connexion"}),e.jsx(Dt,{className:"text-center",children:"Entrez vos identifiants pour accéder à votre compte"})]}),e.jsxs(Ze,{className:"space-y-4",children:[N.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:w("grid gap-4",N.length===1?"grid-cols-1":"grid-cols-2"),children:N.map(T=>e.jsxs(O,{variant:"outline",className:"w-full",onClick:T.onClick,type:"button",children:[T.icon,T.label]},T.id))}),$&&e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx(At,{className:"w-full"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"Ou continuez avec"})})]})]}),$&&e.jsxs("form",{onSubmit:F,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"email",children:"Email"}),e.jsx(fe,{id:"email",type:"email",placeholder:"votre@email.com",value:y.email,onChange:M("email"),required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"password",children:"Mot de passe"}),e.jsx(fe,{id:"password",type:"password",placeholder:"••••••••",value:y.password,onChange:M("password"),required:!0})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("input",{id:"remember",type:"checkbox",checked:y.rememberMe,onChange:M("rememberMe"),className:"h-4 w-4 rounded border-gray-300"}),e.jsx(ge,{htmlFor:"remember",className:"text-sm",children:"Se souvenir de moi"})]}),r&&e.jsx(O,{type:"button",variant:"link",className:"px-0 text-sm",onClick:r,children:"Mot de passe oublié ?"})]}),e.jsx(O,{type:"submit",className:"w-full",disabled:u,style:t?.color_json?.primary?{backgroundColor:t.color_json.primary,color:t.color_json.secondary}:void 0,children:u?"Connexion...":"Se connecter"})]}),s&&e.jsxs("div",{className:"text-center text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Pas encore de compte ? "}),e.jsx(O,{type:"button",variant:"link",className:"px-0 text-sm",onClick:s,children:"S'inscrire"})]}),t?.waka_powered&&e.jsx("div",{className:"text-center text-xs text-muted-foreground mt-4 pt-4 border-t",children:"Powered by Waka"})]})]})})}exports.Accordion=ml;exports.AccordionContent=Ws;exports.AccordionItem=zs;exports.AccordionTrigger=Vs;exports.AdmincrumbProvider=cp;exports.Alert=Us;exports.AlertDescription=Gs;exports.AlertDialog=Hs;exports.AlertDialogAction=hr;exports.AlertDialogCancel=pr;exports.AlertDialogContent=cr;exports.AlertDialogDescription=fr;exports.AlertDialogFooter=ur;exports.AlertDialogHeader=dr;exports.AlertDialogOverlay=lr;exports.AlertDialogPortal=qs;exports.AlertDialogTitle=mr;exports.AlertDialogTrigger=fl;exports.AlertTitle=Bs;exports.AspectRatio=pl;exports.Avatar=Xs;exports.AvatarFallback=Ys;exports.AvatarImage=Js;exports.Badge=He;exports.BlockLanguageSelector=pp;exports.Blockquote=Wo;exports.Button=O;exports.Calendar=gr;exports.Card=Ve;exports.CardContent=Ze;exports.CardDescription=Dt;exports.CardFooter=Zs;exports.CardHeader=Ke;exports.CardTitle=We;exports.Checkbox=at;exports.Code=un;exports.Collapsible=Df;exports.CollapsibleContent=Rf;exports.CollapsibleTrigger=Mf;exports.Command=_t;exports.CommandDialog=Ff;exports.CommandEmpty=ia;exports.CommandGroup=la;exports.CommandInput=oa;exports.CommandItem=ca;exports.CommandList=Sr;exports.CommandSeparator=xn;exports.CommandShortcut=vn;exports.ContextMenu=yn;exports.ContextMenuCheckboxItem=Sn;exports.ContextMenuContent=kr;exports.ContextMenuGroup=Lf;exports.ContextMenuItem=it;exports.ContextMenuLabel=Cn;exports.ContextMenuPortal=If;exports.ContextMenuRadioGroup=_f;exports.ContextMenuRadioItem=kn;exports.ContextMenuSeparator=Kt;exports.ContextMenuShortcut=Tn;exports.ContextMenuSub=Of;exports.ContextMenuSubContent=Nn;exports.ContextMenuSubTrigger=jn;exports.ContextMenuTrigger=wn;exports.DataTable=Wh;exports.DataTableAdvanced=Bh;exports.DataTableColumnResizer=Gh;exports.DataTableContextMenu=Kh;exports.DataTableEditCell=Ma;exports.DataTableFilters=Kr;exports.DataTableGroupTotals=Jh;exports.DataTableGrouping=Xh;exports.DataTableGroupingControls=Yh;exports.DataTablePagination=Yr;exports.DataTableSelection=Zh;exports.DataTableToolbar=ma;exports.Dialog=mn;exports.DialogClose=$f;exports.DialogContent=Nr;exports.DialogDescription=bn;exports.DialogFooter=pn;exports.DialogHeader=hn;exports.DialogOverlay=jr;exports.DialogPortal=fn;exports.DialogTitle=gn;exports.DialogTrigger=Af;exports.DropdownMenu=Zt;exports.DropdownMenuCheckboxItem=Tt;exports.DropdownMenuContent=Lt;exports.DropdownMenuGroup=zf;exports.DropdownMenuItem=Cr;exports.DropdownMenuLabel=ea;exports.DropdownMenuPortal=Vf;exports.DropdownMenuRadioGroup=Hf;exports.DropdownMenuRadioItem=Dn;exports.DropdownMenuSeparator=ta;exports.DropdownMenuShortcut=Mn;exports.DropdownMenuSub=Wf;exports.DropdownMenuSubContent=Pn;exports.DropdownMenuSubTrigger=En;exports.DropdownMenuTrigger=Qt;exports.Footer=fp;exports.Form=nh;exports.FormControl=Hn;exports.FormDescription=qn;exports.FormField=oh;exports.FormItem=Vn;exports.FormLabel=Wn;exports.FormMessage=Un;exports.Heading=zo;exports.Headtab=hp;exports.HoverCard=ih;exports.HoverCardContent=Bn;exports.HoverCardTrigger=lh;exports.Input=fe;exports.InputOTP=Gn;exports.Kbd=qo;exports.Label=ge;exports.LanguageProvider=di;exports.LanguageSelector=dh;exports.Layout=gp;exports.LegacyThemeProvider=ep;exports.Login=bp;exports.Menubar=Yn;exports.MenubarCheckboxItem=ao;exports.MenubarContent=eo;exports.MenubarGroup=mh;exports.MenubarItem=to;exports.MenubarLabel=so;exports.MenubarMenu=uh;exports.MenubarPortal=fh;exports.MenubarRadioGroup=ph;exports.MenubarRadioItem=ro;exports.MenubarSeparator=no;exports.MenubarShortcut=oo;exports.MenubarSub=hh;exports.MenubarSubContent=Qn;exports.MenubarSubTrigger=Zn;exports.MenubarTrigger=Kn;exports.NavigationMenu=io;exports.NavigationMenuContent=mo;exports.NavigationMenuIndicator=fo;exports.NavigationMenuItem=gh;exports.NavigationMenuLink=bh;exports.NavigationMenuList=lo;exports.NavigationMenuTrigger=uo;exports.NavigationMenuViewport=Mr;exports.Popover=xt;exports.PopoverContent=dt;exports.PopoverTrigger=vt;exports.Progress=ho;exports.RadioGroup=po;exports.RadioGroupItem=go;exports.ScrollArea=It;exports.ScrollBar=Rr;exports.Select=ut;exports.SelectContent=st;exports.SelectGroup=ch;exports.SelectItem=Qe;exports.SelectLabel=Xn;exports.SelectScrollDownButton=Dr;exports.SelectScrollUpButton=Pr;exports.SelectSeparator=Jn;exports.SelectTrigger=rt;exports.SelectValue=mt;exports.Separator=At;exports.Sheet=Ar;exports.SheetClose=xh;exports.SheetContent=Fa;exports.SheetDescription=Or;exports.SheetFooter=xo;exports.SheetHeader=Lr;exports.SheetOverlay=Fr;exports.SheetPortal=bo;exports.SheetTitle=Ir;exports.SheetTrigger=$r;exports.Skeleton=yh;exports.Slider=vo;exports.Switch=_r;exports.Table=yo;exports.TableBody=jo;exports.TableCaption=To;exports.TableCell=Co;exports.TableFooter=No;exports.TableHead=ko;exports.TableHeader=wo;exports.TableRow=So;exports.Tabs=zr;exports.TabsContent=ua;exports.TabsList=La;exports.TabsTrigger=da;exports.Text=Oo;exports.Textarea=pa;exports.ThemeLoader=yr;exports.ThemeProvider=Po;exports.ThemeSelector=Do;exports.Toast=Wr;exports.ToastAction=Ro;exports.ToastClose=Hr;exports.ToastDescription=Ur;exports.ToastProvider=Mo;exports.ToastTitle=qr;exports.ToastViewport=Vr;exports.Toaster=Ch;exports.Toggle=Lo;exports.Tooltip=sr;exports.TooltipContent=Da;exports.TooltipProvider=rr;exports.TooltipTrigger=nr;exports.WakaAdmincrumb=Bo;exports.WakaCarousel=Rh;exports.WakaDateTimePicker=Gr;exports.WakaDateTimePickerForm=Ah;exports.WakaNotifications=Xo;exports.WakaProvider=op;exports.WakaSpinner=Jo;exports.WakaThemeCreator=Yo;exports.WakaThemeManager=Zo;exports.applyTheme=bf;exports.badgeVariants=Ks;exports.blockquoteVariants=Vo;exports.calculateDuration=Ym;exports.cn=w;exports.compareRanges=mf;exports.createBookingDateValidator=af;exports.createCardExpiryValidator=tf;exports.createCommonPresets=Vm;exports.createCustomPreset=qm;exports.createLastDaysPresets=Wm;exports.createMaxAgeValidator=Xm;exports.createMaxRangeDaysValidator=rf;exports.createMinAgeValidator=Gm;exports.createMonthlyPresets=lf;exports.createNextDaysPresets=Hm;exports.createQuarterPresets=of;exports.dateToTimestamp=cf;exports.exportToCSV=Qo;exports.exportToJSON=ei;exports.formatDateRange=Km;exports.getDatesInMonth=vr;exports.getFrenchHolidays=Zm;exports.getThemeLoader=wr;exports.getWeekdaysInMonth=ef;exports.getWeekendsInMonth=Qm;exports.getWorkingDays=nf;exports.headingVariants=_o;exports.initThemeLoader=pf;exports.isDateInRange=ct;exports.isFutureDate=Um;exports.isHoliday=dn;exports.isNotExpired=Jm;exports.isPastDate=ln;exports.isSameDay=sf;exports.isToday=Bm;exports.isWeekday=xr;exports.isWeekend=cn;exports.kbdVariants=Ho;exports.loadTableState=ai;exports.loadTheme=gf;exports.mergeRanges=ff;exports.navigationMenuTriggerStyle=co;exports.normalizeDate=uf;exports.parseCSV=_h;exports.rangesOverlap=hf;exports.reducer=Ao;exports.saveTableState=ti;exports.textVariants=Io;exports.themeManagerVariants=Ko;exports.timestampToDate=df;exports.toast=$o;exports.toggleVariants=Fo;exports.tweak=Pa;exports.useAdmincrumb=Mh;exports.useAdmincrumbContext=dp;exports.useAdmincrumbContextOptional=up;exports.useDataTable=ri;exports.useDataTableAdvanced=si;exports.useDataTableEdit=Jr;exports.useDataTableExport=oi;exports.useDataTableImport=ii;exports.useDataTableSelection=Qh;exports.useDataTableTheme=li;exports.useDataTableVirtualization=ni;exports.useDateForm=$h;exports.useFormField=ha;exports.useLanguage=Zr;exports.useLegacyTheme=np;exports.useNotifications=Lh;exports.useTableLayout=Xr;exports.useTheme=ga;exports.useThemeLoader=xf;exports.useToast=Br;exports.useTranslation=Go;exports.useWaka=lp;
74
+ `;w.forEach((c,l)=>{p+=` <row id="${l}">
75
+ `,S.forEach(g=>{const v=c[g],N=String(v||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");p+=` <${g}>${N}</${g}>
76
+ `}),p+=` </row>
77
+ `}),p+="</data>";const y=new Blob([p],{type:"application/xml"}),x=document.createElement("a");x.href=URL.createObjectURL(y),x.download=`${k||s.filename}.xml`,x.click(),URL.revokeObjectURL(x.href)},[a,s.filename]),m=C.useCallback(async(w,k,S)=>{const p=k||t,y=S||s.filename;if(s.onExport){s.onExport(p,w);return}switch(w.toLowerCase()){case"csv":n(p,y);break;case"json":o(p,y);break;case"xlsx":await d(p,y);break;case"pdf":await u(p,y);break;case"xml":f(p,y);break;default:throw new Error(`Format d'export non supporté: ${w}`)}},[t,s,n,o,d,u,f]),b=C.useCallback(async w=>m(w),[m]),h=C.useCallback(async(w,k)=>m(w,k),[m]);return{exportData:m,exportAll:b,exportSelected:h,supportedFormats:s.formats,isExportSupported:w=>s.formats.includes(w)}}function ii({importConfig:t}){const a=C.useMemo(()=>({accept:".csv,.xlsx,.json,.xml",...t}),[t]),r=C.useCallback((h,w=",")=>{const k=h.split(`
78
+ `).filter(y=>y.trim());if(k.length===0)return[];const S=k[0].split(w).map(y=>y.trim().replace(/"/g,""));return k.slice(1).map(y=>{const x=y.split(w).map(l=>l.trim().replace(/"/g,"")),c={};return S.forEach((l,g)=>{c[l]=x[g]||""}),c})},[]),s=C.useCallback(h=>{try{const w=JSON.parse(h);return Array.isArray(w)?w:[w]}catch{throw new Error("Format JSON invalide")}},[]),n=C.useCallback(h=>{try{const S=new DOMParser().parseFromString(h,"text/xml").querySelectorAll("row");return Array.from(S).map(p=>{const y={};return Array.from(p.children).forEach(x=>{y[x.tagName]=x.textContent||""}),y})}catch{throw new Error("Format XML invalide")}},[]),o=C.useCallback(async h=>{try{if(typeof window>"u")throw new Error("XLSX parsing not available in server environment");const w=await import("xlsx"),k=await h.arrayBuffer(),S=w.read(k,{type:"array"}),p=S.SheetNames[0],y=S.Sheets[p],x=w.utils.sheet_to_json(y,{header:1});if(x.length===0)return[];const c=x[0];return x.slice(1).map(l=>{const g={};return c.forEach((v,N)=>{g[v]=l[N]||""}),g})}catch{throw new Error("Erreur lors du parsing du fichier XLSX")}},[]),d=C.useCallback(h=>a.validate?a.validate(h):Array.isArray(h)?h.length===0?{valid:!1,errors:["Aucune donnée trouvée"]}:{valid:!0,errors:[]}:{valid:!1,errors:["Les données doivent être un tableau"]},[a.validate]),u=C.useCallback(h=>a.columnMapping?h.map(w=>{const k={};return Object.entries(a.columnMapping).forEach(([S,p])=>{w[S]!==void 0&&(k[p]=w[S])}),k}):h,[a.columnMapping]),f=C.useCallback(async h=>{const w=h.name.split(".").pop()?.toLowerCase();let k=[];try{const S=await h.text();switch(w){case"csv":k=r(S,a.parseOptions?.csv?.delimiter);break;case"json":k=s(S);break;case"xml":k=n(S);break;case"xlsx":k=await o(h);break;default:throw new Error(`Format de fichier non supporté: ${w}`)}const p=d(k);if(!p.valid)throw new Error(`Données invalides: ${p.errors.join(", ")}`);const y=u(k);return a.onImport&&a.onImport(y),y}catch(S){throw new Error(`Erreur lors de l'import: ${S instanceof Error?S.message:"Erreur inconnue"}`)}},[a,r,s,n,o,d,u]),m=C.useCallback(()=>{const h=document.createElement("input");return h.type="file",h.accept=a.accept,h.multiple=!1,h},[a.accept]),b=C.useCallback(()=>new Promise((h,w)=>{const k=m();k.onchange=async S=>{const p=S.target.files?.[0];if(!p){w(new Error("Aucun fichier sélectionné"));return}try{const y=await f(p);h(y)}catch(y){w(y)}},k.click()}),[m,f]);return{importData:f,importWithUI:b,supportedFormats:a.accept?.split(",")||[],isFormatSupported:h=>{const w=h.split(".").pop()?.toLowerCase();return a.accept?.includes(w||"")||!1}}}function li({theme:t,variant:a="bordered",density:r="comfortable"}){const s={colors:{primary:"hsl(var(--primary))",secondary:"hsl(var(--secondary))",accent:"hsl(var(--accent))",background:"hsl(var(--background))",surface:"hsl(var(--card))",text:"hsl(var(--foreground))",textSecondary:"hsl(var(--muted-foreground))",border:"hsl(var(--border))",hover:"hsl(var(--muted))",selected:"hsl(var(--accent))",disabled:"hsl(var(--muted))"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem"},typography:{fontFamily:"inherit",fontSize:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"}},borders:{radius:{sm:"0.25rem",md:"0.5rem",lg:"0.75rem"},width:{thin:"1px",medium:"2px",thick:"4px"}},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"}},n=C.useMemo(()=>t?{colors:{...s.colors,...t.colors},spacing:{...s.spacing,...t.spacing},typography:{...s.typography,...t.typography},borders:{...s.borders,...t.borders},shadows:{...s.shadows,...t.shadows}}:s,[t,s]),o=C.useMemo(()=>{const b="w-full";switch(a){case"bordered":return`${b} border rounded-lg`;case"minimal":return b;case"striped":return`${b} [&_tbody_tr:nth-child(even)]:bg-muted/50`;case"glass":return`${b} backdrop-blur-sm bg-background/80 border rounded-lg`;default:return b}},[a]),d=C.useMemo(()=>{switch(r){case"spacious":return{table:"text-base",header:"px-6 py-4",cell:"px-6 py-4",row:"h-16"};case"compact":return{table:"text-sm",header:"px-3 py-2",cell:"px-3 py-2",row:"h-8"};case"comfortable":default:return{table:"text-sm",header:"px-4 py-3",cell:"px-4 py-3",row:"h-12"}}},[r]),u=C.useMemo(()=>{const b={};return n.colors&&Object.entries(n.colors).forEach(([h,w])=>{b[`--datatable-color-${h}`]=w}),n.spacing&&Object.entries(n.spacing).forEach(([h,w])=>{b[`--datatable-spacing-${h}`]=w}),n.typography&&(n.typography.fontFamily&&(b["--datatable-font-family"]=n.typography.fontFamily),n.typography.fontSize&&Object.entries(n.typography.fontSize).forEach(([h,w])=>{b[`--datatable-font-size-${h}`]=w}),n.typography.fontWeight&&Object.entries(n.typography.fontWeight).forEach(([h,w])=>{b[`--datatable-font-weight-${h}`]=w})),n.borders&&(n.borders.radius&&Object.entries(n.borders.radius).forEach(([h,w])=>{b[`--datatable-radius-${h}`]=w}),n.borders.width&&Object.entries(n.borders.width).forEach(([h,w])=>{b[`--datatable-border-width-${h}`]=w})),n.shadows&&Object.entries(n.shadows).forEach(([h,w])=>{b[`--datatable-shadow-${h}`]=w}),b},[n]),f=C.useCallback((b,h)=>h?`${b} [--datatable-theme-key:${h}]`:b,[]),m=C.useCallback((b={})=>({...b,...u}),[u]);return{theme:n,variantClasses:o,densityClasses:d,customStyles:u,getThemedClass:f,getThemedStyles:m}}function Bh({data:t,columns:a,layout:r="standard",variant:s="bordered",density:n="comfortable",filters:o,filterPosition:d="top",toolbar:u,pagination:f,selection:m=!1,actions:b,i18nNamespace:h,loading:w=!1,error:k,emptyState:S,headerSticky:p=!1,columnVisibilityToggle:y=!0,columnResize:x=!1,columnOrder:c,grouping:l,rowExpansion:g,virtualization:v,sortMode:N="multiple",enableExport:$=!1,enableImport:F=!1,enableReorder:M=!1,enableContextMenu:T=!1,onRowClick:P,onRowDoubleClick:L,onSortingChange:A,onFiltersChange:V,onSelectionChange:X,onColumnOrderChange:me,onExpandedChange:se,onGroupingChange:Y,className:H,tableId:_,edit:q,theme:R,performance:Q}){const{t:Z}=et.useTranslation(h),G=i.useRef(null),{layout:Re,setLayout:ve,density:Ne,setDensity:le,densityClasses:Me}=Xr(r,n),{theme:z,variantClasses:I,densityClasses:J,customStyles:ce,getThemedClass:oe,getThemedStyles:de}=li({theme:R,variant:s,density:Ne}),Se=i.useMemo(()=>{const ne=[...a];if(m){const B={id:"select",header:({table:we})=>e.jsx(at,{checked:we.getIsAllPageRowsSelected(),onCheckedChange:Ae=>we.toggleAllPageRowsSelected(!!Ae),"aria-label":Z("datatable.selectAll",{defaultValue:"Select all"})}),cell:({row:we})=>e.jsx(at,{checked:we.getIsSelected(),onCheckedChange:Ae=>we.toggleSelected(!!Ae),"aria-label":Z("datatable.selectRow",{defaultValue:"Select row"})}),enableSorting:!1,enableHiding:!1,size:50};ne.unshift(B)}if(g?.enabled){const B={id:"expand",header:()=>null,cell:({row:we})=>we.getCanExpand()?e.jsx(O,{variant:"ghost",size:"sm",onClick:()=>we.toggleExpanded(),className:"h-8 w-8 p-0",children:we.getIsExpanded()?e.jsx(E.ChevronDown,{className:"h-4 w-4"}):e.jsx(E.ChevronRight,{className:"h-4 w-4"})}):null,enableSorting:!1,enableHiding:!1,size:50};ne.unshift(B)}if(M){const B={id:"reorder",header:()=>null,cell:()=>e.jsx(O,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 cursor-move",children:e.jsx(E.GripVertical,{className:"h-4 w-4"})}),enableSorting:!1,enableHiding:!1,size:50};ne.unshift(B)}return ne},[a,m,g,M,Z]);console.log("DataTableAdvanced - props:",{grouping:l,rowExpansion:g,dataLength:t.length});const{table:ye,sorting:Oe,setSorting:ht,columnFilters:Ue,setColumnFilters:Be,columnVisibility:wt,setColumnVisibility:Vt,columnOrder:Wt,setColumnOrder:$t,expanded:W,setExpanded:K,grouping:Pe,setGrouping:Ge,rowSelection:ba,setRowSelection:es,globalFilter:Ia,setGlobalFilter:Oa,pagination:xa,setPagination:mi,selectedRows:fi,resetFilters:nt,resetSelection:jt,resetAll:pt,exportData:va,getGroupedData:_a,getExpandedData:za,toggleGrouping:tt,clearGrouping:Va,toggleRowExpansion:Xe,expandAll:Ht,collapseAll:Je}=si({data:t,columns:Se,pagination:f,tableId:_,onSortingChange:A,onFiltersChange:V,onSelectionChange:X,onColumnOrderChange:me,onExpandedChange:se,onGroupingChange:Y,grouping:l,virtualization:v,sortMode:N,performance:Q}),{isVirtualized:ot,virtualItems:Nt,totalSize:ya,scrollToIndex:ts,scrollToOffset:Wa}=ni({data:t,virtualization:v,containerRef:G}),{exportData:wa,exportAll:as,exportSelected:qt}=oi({data:t,columns:Se,exportConfig:typeof $=="object"?$:void 0}),{importWithUI:Ut,supportedFormats:hi}=ii({importConfig:typeof F=="object"?F:void 0}),[St,Ye]=Jr(ye,{onSave:q?.onSave,onCancel:q?.onCancel,autoSave:q?.autoSave,autoSaveDelay:q?.autoSaveDelay});if(q?.editableColumns&&q.editableColumns.length>0){const ne={id:"edit-actions",header:()=>Z("datatable.actions",{defaultValue:"Actions"}),cell:({row:B})=>St.editingRowId===B.id?e.jsxs("div",{className:"flex gap-1",children:[e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>Ye.saveEdit(),disabled:!St.hasChanges,children:Z("datatable.save",{defaultValue:"Save"})}),e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>Ye.cancelEdit(),children:Z("datatable.cancel",{defaultValue:"Cancel"})})]}):e.jsx(O,{size:"sm",variant:"ghost",onClick:()=>Ye.startEdit(B.id,B.original),children:Z("datatable.edit",{defaultValue:"Edit"})}),enableSorting:!1,enableHiding:!1};Se.push(ne)}const ja=i.useCallback(async ne=>{try{await wa(ne)}catch(B){console.error("Erreur lors de l'export:",B)}},[wa]),Na=i.useCallback(async()=>{try{const ne=await Ut();console.log("Données importées:",ne)}catch(ne){console.error("Erreur lors de l'import:",ne)}},[Ut]);if(w)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx(E.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:Z("datatable.loading",{defaultValue:"Loading..."})})]})});if(k)return e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg bg-destructive/10",children:e.jsxs("div",{className:"flex flex-col items-center gap-2 text-destructive",children:[e.jsx(E.AlertCircle,{className:"h-8 w-8"}),e.jsx("p",{className:"text-sm font-medium",children:k})]})});if(!t||t.length===0)return e.jsxs("div",{className:"flex flex-col",children:[u&&e.jsx(ma,{table:ye,config:u,globalFilter:Ia,onGlobalFilterChange:Oa,density:Ne,onDensityChange:le,onExport:$?ja:void 0,onImport:F?Na:void 0}),e.jsx("div",{className:"flex items-center justify-center h-64 border rounded-lg",children:S||e.jsxs("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[e.jsx("p",{className:"text-lg font-medium",children:Z("datatable.noData",{defaultValue:"No data"})}),e.jsx("p",{className:"text-sm",children:Z("datatable.noDataDescription",{defaultValue:"There are no results to display"})})]})})]});const Sa=()=>ot?e.jsx("div",{ref:G,className:"h-full overflow-auto",style:{height:v?.containerHeight||600},children:e.jsxs("table",{className:ae("w-full caption-bottom text-sm",J.table),style:de(),children:[e.jsx("thead",{className:ae(p&&"sticky top-0 bg-background z-10"),children:ye.getHeaderGroups().map(ne=>e.jsx("tr",{className:"border-b",children:ne.headers.map(B=>e.jsxs("th",{className:ae("text-left font-medium text-muted-foreground",J.header,B.column.getCanSort()&&"cursor-pointer select-none hover:text-foreground"),onClick:B.column.getToggleSortingHandler(),style:{width:B.getSize(),minWidth:B.column.columnDef.minSize,maxWidth:B.column.columnDef.maxSize},children:[B.isPlaceholder?null:Ee.flexRender(B.column.columnDef.header,B.getContext()),B.column.getIsSorted()&&e.jsx("span",{className:"ml-2",children:B.column.getIsSorted()==="asc"?"↑":"↓"})]},B.id))},ne.id))}),e.jsx("tbody",{children:Nt.map(ne=>{const we=(l?.columns?.length?ye.getGroupedRowModel().rows:g?.enabled?ye.getExpandedRowModel().rows:ye.getRowModel().rows)[ne.index];return we?e.jsx("tr",{className:ae("border-b transition-colors",P&&"cursor-pointer hover:bg-muted/50",we.getIsSelected()&&"bg-muted"),onClick:()=>P?.(we.original),onDoubleClick:()=>L?.(we.original),style:{position:"absolute",top:ne.start,left:0,width:"100%",height:ne.size},children:we.getVisibleCells().map(Ae=>{const kt=Ae.getValue(),ke=Ae.column.id,Te=we.id,re=St.editingRowId===Te,Ct=q?.editableColumns?.find(gt=>gt.field===ke);return Ct&&re?e.jsx("td",{className:ae("align-middle",J.cell),children:e.jsx(Ma,{value:kt,field:ke,config:Ct.config,isEditing:re,onChange:gt=>Ye.updateField(ke,gt),onStartEdit:()=>Ye.startEdit(Te,we.original),onSave:()=>Ye.saveEdit(),onCancel:()=>Ye.cancelEdit()})},Ae.id):e.jsx("td",{className:ae("align-middle",J.cell),children:Ee.flexRender(Ae.column.columnDef.cell,Ae.getContext())},Ae.id)})},we.id):null})})]})}):e.jsx("div",{className:ae("w-full overflow-auto",I),children:e.jsxs("table",{className:ae("w-full caption-bottom text-sm",J.table),style:de(),children:[e.jsx("thead",{className:ae(p&&"sticky top-0 bg-background z-10"),children:ye.getHeaderGroups().map(ne=>e.jsx("tr",{className:"border-b",children:ne.headers.map(B=>e.jsxs("th",{className:ae("text-left font-medium text-muted-foreground",J.header,B.column.getCanSort()&&"cursor-pointer select-none hover:text-foreground"),onClick:B.column.getToggleSortingHandler(),style:{width:B.getSize(),minWidth:B.column.columnDef.minSize,maxWidth:B.column.columnDef.maxSize},children:[B.isPlaceholder?null:Ee.flexRender(B.column.columnDef.header,B.getContext()),B.column.getIsSorted()&&e.jsx("span",{className:"ml-2",children:B.column.getIsSorted()==="asc"?"↑":"↓"})]},B.id))},ne.id))}),e.jsx("tbody",{children:(()=>{const ne=l?.columns?.length?ye.getGroupedRowModel().rows:g?.enabled?ye.getExpandedRowModel().rows:ye.getRowModel().rows;return console.log("DataTableAdvanced - rendering rows:",{totalRows:ne.length,grouping:l?.columns,rowExpansion:g?.enabled,firstRow:ne[0]}),ne.map((B,we)=>{const Ae=B.getIsGrouped(),kt=B.getIsExpanded();return e.jsxs(i.Fragment,{children:[e.jsx("tr",{className:ae("border-b transition-colors",P&&"cursor-pointer hover:bg-muted/50",B.getIsSelected()&&"bg-muted",Ae&&"bg-muted/30 font-medium"),onClick:()=>P?.(B.original),onDoubleClick:()=>L?.(B.original),children:B.getVisibleCells().map(ke=>{const Te=ke.getValue(),re=ke.column.id,Ct=B.id,gt=St.editingRowId===Ct,Bt=q?.editableColumns?.find(_e=>_e.field===re);return Bt&&gt?e.jsx("td",{className:ae("align-middle",J.cell),children:e.jsx(Ma,{value:Te,field:re,config:Bt.config,isEditing:gt,onChange:_e=>Ye.updateField(re,_e),onStartEdit:()=>Ye.startEdit(Ct,B.original),onSave:()=>Ye.saveEdit(),onCancel:()=>Ye.cancelEdit()})},ke.id):e.jsx("td",{className:ae("align-middle",J.cell),children:Ae?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:_e=>{_e.stopPropagation(),B.toggleExpanded()},className:"p-1 hover:bg-muted rounded",children:kt?"▼":"▶"}),e.jsxs("span",{className:"font-medium",children:[ke.getValue()," (",B.subRows.length," éléments)"]})]}):Ee.flexRender(ke.column.columnDef.cell,ke.getContext())},ke.id)})}),g?.enabled&&kt&&e.jsx("tr",{children:e.jsx("td",{colSpan:Se.length,className:"p-0",children:e.jsx("div",{className:"border-b",children:g.renderExpanded?.(B.original)})})},`${B.id}-expanded-${we}`)]},`${B.id}-${we}`)})})()})]})});return e.jsxs("div",{className:ae("w-full",H),style:de(),children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[u&&e.jsx("div",{className:"flex-1",children:e.jsx(ma,{table:ye,config:u,globalFilter:Ia,onGlobalFilterChange:Oa,density:Ne,onDensityChange:le,onExport:$?ja:void 0,onImport:F?Na:void 0})}),o&&e.jsx(Kr,{table:ye,filters:o,position:d,onFiltersChange:V})]}),Sa(),f&&e.jsx(Yr,{table:ye,pageSizeOptions:f.pageSizeOptions})]})}function Gh({header:t,column:a,className:r}){const[s,n]=i.useState(!1),o=i.useCallback(d=>{d.preventDefault(),d.stopPropagation(),n(!0);const u=d.clientX,f=a.getSize(),m=h=>{const w=h.clientX-u,k=Math.max(50,f+w);a.setSize(k)},b=()=>{n(!1),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",m),document.addEventListener("mouseup",b)},[a]);return a.getCanResize()?e.jsx("div",{className:ae("absolute right-0 top-0 h-full w-1 cursor-col-resize bg-border opacity-0 hover:opacity-100 transition-opacity",s&&"opacity-100 bg-primary",r),onMouseDown:o,style:{width:"4px",marginRight:"-2px"}}):null}function Xh({row:t,table:a,className:r}){const[s,n]=i.useState(t.getIsExpanded()),o=i.useCallback(()=>{n(!s),t.toggleExpanded()},[s,t]);t.getValue(t.groupingColumnId);const d=t.subRows.length;return e.jsxs("div",{className:ae("flex items-center gap-2 py-2",r),children:[e.jsx(O,{variant:"ghost",size:"sm",onClick:o,className:"h-6 w-6 p-0",children:s?e.jsx(E.ChevronDown,{className:"h-4 w-4"}):e.jsx(E.ChevronRight,{className:"h-4 w-4"})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium",children:Ee.flexRender(t.groupingColumn.columnDef.cell,t.getGroupingValue())}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:["(",d," ",d===1?"item":"items",")"]})]})]})}function Jh({row:t,table:a,className:r}){const s=t.getAggregationValue();return s?e.jsx("div",{className:ae("flex items-center gap-4 py-2 bg-muted/50",r),children:Object.entries(s).map(([n,o])=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-sm font-medium",children:[n,":"]}),e.jsx("span",{className:"text-sm text-muted-foreground",children:typeof o=="number"?o.toLocaleString():String(o)})]},n))}):null}function Yh({table:t,groupingColumns:a,onGroupingChange:r,className:s}){const[n,o]=i.useState(a),d=i.useCallback(f=>{const m=n.includes(f)?n.filter(b=>b!==f):[...n,f];o(m),r(m)},[n,r]),u=i.useCallback(()=>{o([]),r([])},[r]);return e.jsxs("div",{className:ae("flex items-center gap-2",s),children:[e.jsx("span",{className:"text-sm font-medium",children:"Group by:"}),t.getAllColumns().filter(f=>f.getCanGroup()).map(f=>e.jsx(O,{variant:n.includes(f.id)?"default":"outline",size:"sm",onClick:()=>d(f.id),children:f.columnDef.header},f.id)),n.length>0&&e.jsx(O,{variant:"ghost",size:"sm",onClick:u,children:"Clear"})]})}function Kh({row:t,rowIndex:a,actions:r=[],columnActions:s=[],onCopy:n,onExport:o,onEdit:d,onDelete:u,onToggleColumnVisibility:f,visibleColumns:m=[],className:b,children:h}){const[w,k]=i.useState(!1),S=i.useCallback(g=>{g.onClick(t),k(!1)},[t]),p=i.useCallback(()=>{if(n)n(t);else{const g=Object.entries(t).map(([v,N])=>`${v}: ${N}`).join(`
79
+ `);navigator.clipboard.writeText(g)}k(!1)},[t,n]),y=i.useCallback(()=>{o&&o(t),k(!1)},[t,o]),x=i.useCallback(()=>{d&&d(t),k(!1)},[t,d]),c=i.useCallback(()=>{u&&u(t),k(!1)},[t,u]),l=i.useCallback(g=>{f&&f(g),k(!1)},[f]);return e.jsxs(yn,{onOpenChange:k,children:[e.jsx(wn,{asChild:!0,children:h}),e.jsxs(kr,{className:ae("w-64",b),children:[r.length>0&&e.jsxs(e.Fragment,{children:[r.map(g=>e.jsxs(it,{onClick:()=>S(g),disabled:g.disabled,className:ae(g.destructive&&"text-destructive focus:text-destructive"),children:[g.icon&&e.jsx("span",{className:"mr-2",children:g.icon}),g.label]},g.id)),e.jsx(Kt,{})]}),e.jsxs(it,{onClick:p,children:[e.jsx(E.Copy,{className:"mr-2 h-4 w-4"}),"Copy row"]}),o&&e.jsxs(it,{onClick:y,children:[e.jsx(E.Download,{className:"mr-2 h-4 w-4"}),"Export row"]}),d&&e.jsxs(it,{onClick:x,children:[e.jsx(E.Edit,{className:"mr-2 h-4 w-4"}),"Edit row"]}),u&&e.jsxs(it,{onClick:c,className:"text-destructive focus:text-destructive",children:[e.jsx(E.Trash2,{className:"mr-2 h-4 w-4"}),"Delete row"]}),s.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(Kt,{}),e.jsx("div",{className:"px-2 py-1.5 text-sm font-semibold text-muted-foreground",children:"Columns"}),s.map(g=>e.jsxs(it,{onClick:()=>l(g.id),disabled:g.disabled,children:[g.icon&&e.jsx("span",{className:"mr-2",children:g.icon}),g.label]},g.id))]}),f&&m.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(Kt,{}),e.jsx("div",{className:"px-2 py-1.5 text-sm font-semibold text-muted-foreground",children:"Toggle Columns"}),m.map(g=>e.jsxs(it,{onClick:()=>l(g),children:[e.jsx(E.Eye,{className:"mr-2 h-4 w-4"}),g]},g))]})]})]})}function Zh({table:t,selectionMode:a="multiple",selectedRows:r,onSelectionChange:s,selectionActions:n=[],className:o}){const[d,u]=i.useState(null);i.useCallback((w,k)=>{if(a==="single"){t.setRowSelection({[w]:k});return}if(a==="range"&&d!==null){const S=Math.min(d,w),p=Math.max(d,w),y={...t.getState().rowSelection};for(let x=S;x<=p;x++)y[x]=k;t.setRowSelection(y)}else t.setRowSelection(S=>({...S,[w]:k}));u(w)},[t,a,d]);const f=i.useCallback(w=>{if(w){const k=t.getRowModel().rows.reduce((S,p,y)=>(S[y]=!0,S),{});t.setRowSelection(k)}else t.setRowSelection({})},[t]);i.useCallback((w,k,S)=>{const p={...t.getState().rowSelection};for(let y=w;y<=k;y++)p[y]=S;t.setRowSelection(p)},[t]),i.useCallback(w=>{const k={...t.getState().rowSelection};t.getRowModel().rows.forEach((S,p)=>{w(S.original)&&(k[p]=!0)}),t.setRowSelection(k)},[t]);const m=i.useCallback(w=>{w.onClick(r)},[r]),b=t.getIsAllPageRowsSelected(),h=t.getIsSomePageRowsSelected();return e.jsxs("div",{className:ae("flex items-center gap-2",o),children:[e.jsx(at,{checked:b,onCheckedChange:f,ref:w=>{w&&"indeterminate"in w&&(w.indeterminate=h&&!b)},"aria-label":"Select all rows"}),r.length>0&&e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsxs("span",{children:[r.length," selected"]}),e.jsx("div",{className:"flex items-center gap-1",children:n.map(w=>e.jsxs(O,{variant:"ghost",size:"sm",onClick:()=>m(w),disabled:w.disabled,className:ae(w.destructive&&"text-destructive hover:text-destructive"),children:[w.icon&&e.jsx("span",{className:"mr-1",children:w.icon}),w.label]},w.id))})]}),e.jsxs(ut,{onValueChange:w=>{switch(w){case"all":f(!0);break;case"none":f(!1);break;case"invert":t.getRowModel().rows.forEach((k,S)=>{const p=t.getState().rowSelection[S];t.setRowSelection(y=>({...y,[S]:!p}))});break}},children:[e.jsx(rt,{className:"w-32",children:e.jsx(mt,{placeholder:"Select"})}),e.jsxs(st,{children:[e.jsx(Qe,{value:"all",children:"Select All"}),e.jsx(Qe,{value:"none",children:"Select None"}),e.jsx(Qe,{value:"invert",children:"Invert Selection"})]})]})]})}function Qh({table:t,selectionMode:a="multiple",onSelectionChange:r}){const[s,n]=i.useState([]);i.useEffect(()=>{const b=t.getFilteredSelectedRowModel().rows.map(h=>h.original);n(b),r?.(b)},[t,r]);const o=i.useCallback((b,h=!0)=>{t.setRowSelection(w=>({...w,[b]:h}))},[t]),d=i.useCallback((b=!0)=>{if(b){const h=t.getRowModel().rows.reduce((w,k,S)=>(w[S]=!0,w),{});t.setRowSelection(h)}else t.setRowSelection({})},[t]),u=i.useCallback((b,h,w=!0)=>{const k={...t.getState().rowSelection};for(let S=b;S<=h;S++)k[S]=w;t.setRowSelection(k)},[t]),f=i.useCallback(b=>{const h={...t.getState().rowSelection};t.getRowModel().rows.forEach((w,k)=>{b(w.original)&&(h[k]=!0)}),t.setRowSelection(h)},[t]),m=i.useCallback(()=>{t.setRowSelection({})},[t]);return{selectedRows:s,selectRow:o,selectAll:d,selectRange:u,selectByCriteria:f,clearSelection:m,isAllSelected:t.getIsAllPageRowsSelected(),isSomeSelected:t.getIsSomePageRowsSelected()}}const ci=i.createContext(void 0);function di({children:t,languages:a,defaultLanguage:r="fr",s3Config:s,onLanguageChange:n}){const{i18n:o}=et.useTranslation(),[d,u]=i.useState(r),[f,m]=i.useState(!0),[b,h]=i.useState(new Set),[w,k]=i.useState(!1),S=i.useCallback(async x=>{if(!s)throw new Error("S3 configuration not provided");const{baseUrl:c,prefix:l="",extension:g="json",headers:v={}}=s,N=`${c.replace(/\/$/,"")}/${l}${x}.${g}`;console.log(`[LanguageProvider] Loading translations from S3: ${N}`);try{const $=await fetch(N,{headers:{Accept:"application/json",...v}});if(!$.ok)throw new Error(`Failed to load translations: ${$.status} ${$.statusText}`);const F=await $.json();return console.log(`[LanguageProvider] ✓ Translations loaded for ${x}`),F}catch($){throw console.error(`[LanguageProvider] ✗ Error loading translations for ${x}:`,$),$}},[s]);i.useEffect(()=>{if(w||!o||!s)return;(async()=>{try{const c=typeof window<"u"?localStorage.getItem("language"):null,l=c&&a.some(v=>v.code===c)?c:r;console.log(`[LanguageProvider] Initializing with language: ${l}`);const g=await S(l);o.addResourceBundle&&o.addResourceBundle(l,"translation",g,!0,!0),await o.changeLanguage(l),u(l),h(new Set([l])),k(!0),console.log(`[LanguageProvider] ✓ Initialized with ${l}`)}catch(c){console.error("[LanguageProvider] Error initializing:",c),k(!0)}finally{m(!1)}})()},[w,o,s,r,a,S]);const p=i.useCallback(async x=>{if(x!==d){if(!o?.changeLanguage){console.error("[LanguageProvider] i18next is not initialized");return}if(!s){console.error("[LanguageProvider] S3 config not provided");return}m(!0);try{if(!b.has(x)){console.log(`[LanguageProvider] Loading ${x} from S3...`);const c=await S(x);o.addResourceBundle&&o.addResourceBundle(x,"translation",c,!0,!0),h(l=>new Set([...l,x]))}await o.changeLanguage(x),u(x),typeof window<"u"&&localStorage.setItem("language",x),n?.(x),console.log(`[LanguageProvider] ✓ Language changed to: ${x}`)}catch(c){throw console.error("[LanguageProvider] ✗ Error changing language:",c),c}finally{m(!1)}}},[d,b,s,S,o,n]),y={currentLanguage:d,languages:a,changeLanguage:p,isLoading:f,loadedLanguages:b};return e.jsx(ci.Provider,{value:y,children:t})}function Zr(){const t=i.useContext(ci);if(!t)throw new Error("useLanguage must be used within a LanguageProvider");return t}const ui=i.createContext(void 0);function ep({children:t,config:a}){const{defaultTheme:r="light",storageKey:s="waka-ui-theme",themes:n,enableSystem:o=!0,s3Config:d}=a||{},[u,f]=i.useState(r),[m,b]=i.useState(),[h,w]=i.useState([]),[k,S]=i.useState(!0),[p,y]=i.useState("fallback");i.useEffect(()=>{(async()=>{if(S(!0),n&&n.length>0){const v=tp(n);w(v),y("config"),S(!1),console.log("[ThemeProvider] Using themes from config:",v.length);return}if(d?.baseUrl)try{const v=await ap(d.baseUrl);if(v.length>0){w(v),y("s3"),S(!1),console.log("[ThemeProvider] Loaded themes from S3:",v.length);return}}catch(v){console.error("[ThemeProvider] Failed to load themes from S3:",v)}w([{id:"light",label:"Clair",previewColor:"#3b82f6"},{id:"dark",label:"Sombre",previewColor:"#1e293b"}]),y("fallback"),S(!1),console.log("[ThemeProvider] Using fallback themes")})()},[n,d]),i.useEffect(()=>{if(!o)return;const l=window.matchMedia("(prefers-color-scheme: dark)"),g=v=>{b(v.matches?"dark":"light")};return b(l.matches?"dark":"light"),l.addEventListener("change",g),()=>l.removeEventListener("change",g)},[o]),i.useEffect(()=>{if(h.length===0)return;const l=localStorage.getItem(s),g=h.map(v=>v.id);l&&g.includes(l)&&f(l)},[s,h]),i.useEffect(()=>{if(h.length===0)return;const l=document.documentElement,g=u==="system"&&m?m:u;h.forEach(v=>l.classList.remove(v.id)),l.classList.add(g),l.setAttribute("data-theme",g),process.env.NODE_ENV==="development"&&console.log(`[WakaUI] Theme applied: ${g}`)},[u,m,h]);const x=i.useCallback(l=>{const g=h.map(v=>v.id);if(!g.includes(l)&&l!=="system"){console.warn(`[WakaUI] Theme "${l}" is not in the list of available themes:`,g);return}f(l),localStorage.setItem(s,l)},[h,s]),c=i.useMemo(()=>({theme:u,setTheme:x,themes:h,systemTheme:m,isLoadingThemes:k,themesSource:p}),[u,x,h,m,k,p]);return e.jsx(ui.Provider,{value:c,children:t})}function tp(t){return t.length===0?[]:typeof t[0]=="string"?t.map(a=>({id:a,label:rp(a),previewColor:sp(a)})):t}async function ap(t){try{const a=await fetch("/api/themes/list",{cache:"no-store"});if(!a.ok)throw new Error(`HTTP ${a.status}`);return(await a.json()).themes||[]}catch(a){return console.error("[ThemeProvider] Failed to fetch themes from S3:",a),[]}}function rp(t){return t.split("-").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}function sp(t){return{light:"#3b82f6",dark:"#1e293b",forest:"#10b981",sunset:"#f59e0b",twilight:"#8b5cf6",monochrome:"#6b7280",perpetuity:"#ec4899"}[t]||"#3b82f6"}function np(){const t=i.useContext(ui);if(!t)throw new Error("useTheme must be used within a ThemeProvider");return t}function op({children:t,config:a}){const[r]=i.useState(()=>lt.createInstance()),[s,n]=i.useState(!1);return i.useEffect(()=>{(async()=>{try{await r.use(et.initReactI18next).init({lng:a.language.defaultLanguage,fallbackLng:a.language.defaultLanguage,supportedLngs:a.language.supportedLanguages,resources:a.language.resources||{},interpolation:{escapeValue:!1},react:{useSuspense:!1},debug:a.debug}),a.language.s3Config&&await ip(r,a.language.s3Config,a.language.supportedLanguages),n(!0),a.debug&&console.log("[WakaUI] i18n initialized successfully")}catch(d){console.error("[WakaUI] Failed to initialize i18n:",d),n(!0)}})()},[r,a]),i.useEffect(()=>{if(!s)return;const o=a.language.storageKey||"waka-ui-language",d=localStorage.getItem(o);d&&a.language.supportedLanguages.includes(d)&&r.changeLanguage(d);const u=f=>{localStorage.setItem(o,f),a.debug&&console.log(`[WakaUI] Language changed to: ${f}`)};return r.on("languageChanged",u),()=>{r.off("languageChanged",u)}},[s,r,a]),s?e.jsx(et.I18nextProvider,{i18n:r,children:e.jsx(di,{languages:a.language.languages||[],defaultLanguage:a.language.defaultLanguage,s3Config:a.language.s3Config?{baseUrl:a.language.s3Config.bucketUrl,prefix:a.language.s3Config.translationsPath?`${a.language.s3Config.translationsPath}/`:"",extension:"json"}:void 0,children:e.jsx(Yo,{themes:a.theme?.themes||[{id:"default",label:"Default"}],defaultTheme:a.theme?.defaultTheme||"default",s3Config:a.theme?.s3Config,enableDarkMode:a.theme?.enableSystem,children:t})})}):e.jsx("div",{style:{padding:"20px",textAlign:"center"},children:"Loading WakaUI..."})}async function ip(t,a,r){if(!a)return;const{bucketUrl:s,translationsPath:n="translations"}=a;try{await Promise.all(r.map(async o=>{try{const d=`${s}/${n}/${o}.json`,u=await fetch(d);if(!u.ok){console.warn(`[WakaUI] Failed to load translations for ${o} from S3`);return}const f=await u.json();t.addResourceBundle(o,"translation",f,!0,!0),process.env.NODE_ENV==="development"&&console.log(`[WakaUI] Loaded translations for ${o} from S3`)}catch(d){console.warn(`[WakaUI] Error loading translations for ${o}:`,d)}}))}catch(o){console.error("[WakaUI] Error loading translations from S3:",o)}}function lp(){const{i18n:t,t:a}=et.useTranslation(),r=Zr(),s=ga();return{currentLanguage:t.language||r.currentLanguage,changeLanguage:async n=>{await r.changeLanguage(n),await t.changeLanguage(n)},languages:r.languages,isLanguageLoading:r.isLoading,currentTheme:s.currentTheme,changeTheme:s.changeTheme,themes:s.themes,isThemeLoading:s.isLoading,preloadTheme:s.preloadTheme,isThemeLoaded:s.isThemeLoaded,t:a}}const Qr=i.createContext(void 0);function cp({children:t,initialSelection:a,onSelectionChange:r,persistKey:s="admincrumb-selection"}){const[n,o]=i.useState(()=>{if(typeof window<"u"&&s){const k=localStorage.getItem(s);if(k)try{return JSON.parse(k)}catch(S){console.error("Failed to parse stored admincrumb selection",S)}}return a||{}});i.useEffect(()=>{typeof window<"u"&&s&&localStorage.setItem(s,JSON.stringify(n))},[n,s]),i.useEffect(()=>{r?.(n)},[n,r]);const d=i.useCallback(k=>{o({partner:k,network:void 0,customer:void 0})},[]),u=i.useCallback(k=>{o(S=>({...S,network:k,customer:void 0}))},[]),f=i.useCallback(k=>{o(S=>({...S,customer:k}))},[]),m=i.useCallback(()=>{o({})},[]),b=i.useMemo(()=>!!(n.partner||n.network||n.customer),[n]),h=i.useCallback(()=>({...n.partner?.id&&{partnerId:n.partner.id},...n.network?.id&&{networkId:n.network.id},...n.customer?.id&&{customerId:n.customer.id}}),[n]),w=i.useMemo(()=>({selection:n,setPartner:d,setNetwork:u,setCustomer:f,reset:m,isFiltered:b,getFilterQuery:h}),[n,d,u,f,m,b,h]);return e.jsx(Qr.Provider,{value:w,children:t})}function dp(){const t=i.useContext(Qr);if(!t)throw new Error("useAdmincrumbContext must be used within AdmincrumbProvider");return t}function up(){return i.useContext(Qr)}const mp={github:E.Github,twitter:E.Twitter,linkedin:E.Linkedin,email:E.Mail};function fp({columns:t=[],socialLinks:a=[],copyright:r="© 2024 Tous droits réservés.",className:s}){return e.jsx("footer",{className:j("bg-muted/40",s),children:e.jsxs("div",{className:"container mx-auto px-4 py-12",children:[e.jsxs("div",{className:"grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4",children:[t.map((n,o)=>e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-semibold text-foreground",children:n.title}),e.jsx("ul",{className:"space-y-2",children:n.links.map((d,u)=>e.jsx("li",{children:e.jsx("a",{href:d.href,className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:d.label})},u))})]},o)),a.length>0&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Suivez-nous"}),e.jsx("div",{className:"flex space-x-4",children:a.map((n,o)=>{const d=mp[n.platform];return e.jsx(O,{variant:"ghost",size:"icon",asChild:!0,className:"h-8 w-8",children:e.jsx("a",{href:n.url,target:"_blank",rel:"noopener noreferrer","aria-label":n.platform,children:e.jsx(d,{className:"h-4 w-4"})})},o)})})]})]}),e.jsx(At,{className:"my-8"}),e.jsxs("div",{className:"flex flex-col items-center justify-between space-y-4 md:flex-row md:space-y-0",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r}),e.jsxs("div",{className:"flex space-x-6",children:[e.jsx("a",{href:"/privacy",className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Politique de confidentialité"}),e.jsx("a",{href:"/terms",className:"text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Conditions d'utilisation"})]})]})]})})}function hp({items:t,defaultActiveId:a,variant:r="default",size:s="md",className:n,onTabChange:o}){const[d,u]=i.useState(a||t[0]?.id||""),f=h=>{u(h),o?.(h)},m={sm:"h-8 px-3 text-sm",md:"h-10 px-4 text-sm",lg:"h-12 px-6 text-base"},b={default:"bg-background",pills:"bg-muted rounded-full",underline:"bg-transparent border-b-2 border-transparent data-[state=active]:border-primary"};return e.jsx("div",{className:j("w-full",n),children:e.jsxs(zr,{value:d,onValueChange:f,children:[e.jsx(La,{className:j("grid w-full",r==="pills"&&"grid-cols-auto",r!=="pills"&&`grid-cols-${t.length}`,b[r]),children:t.map(h=>e.jsx(da,{value:h.id,disabled:h.disabled,className:j(m[s],r==="underline"&&"rounded-none border-b-2 border-transparent data-[state=active]:border-primary",r==="pills"&&"rounded-full"),children:h.label},h.id))}),t.map(h=>e.jsx(ua,{value:h.id,className:"mt-6",children:h.content},h.id))]})})}function pp({variant:t="dropdown",showFlags:a=!0,className:r}){const{currentLanguage:s,languages:n,changeLanguage:o,isLoading:d}=Zr(),u=n.find(f=>f.code===s);return t==="select"?e.jsxs(ut,{value:s,onValueChange:o,disabled:d,children:[e.jsx(rt,{className:j("w-[180px]",r),children:e.jsxs(mt,{children:[a&&u?.flagEmoji&&e.jsx("span",{className:"mr-2",children:u.flagEmoji}),u?.label]})}),e.jsx(st,{children:n.map(f=>e.jsxs(Qe,{value:f.code,children:[a&&f.flagEmoji&&e.jsx("span",{className:"mr-2",children:f.flagEmoji}),f.label]},f.code))})]}):e.jsxs(Zt,{children:[e.jsx(Qt,{asChild:!0,children:e.jsxs(O,{variant:"outline",size:"sm",className:j("gap-2",r),disabled:d,children:[e.jsx(E.Globe,{className:"h-4 w-4"}),a&&u?.flagEmoji&&e.jsx("span",{children:u.flagEmoji}),u?.label]})}),e.jsx(Lt,{align:"end",children:n.map(f=>e.jsxs(Cr,{onClick:()=>o(f.code),className:"cursor-pointer",children:[a&&f.flagEmoji&&e.jsx("span",{className:"mr-2",children:f.flagEmoji}),f.label]},f.code))})]})}function gp({children:t,header:a,sidebar:r,footer:s,collapsible:n=!1,className:o}){const[d,u]=i.useState(!1);return e.jsxs("div",{className:j("min-h-screen bg-background",o),children:[a&&e.jsx("header",{className:"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",children:e.jsxs("div",{className:"container flex h-14 max-w-screen-2xl items-center",children:[n&&r&&e.jsxs(Ar,{open:d,onOpenChange:u,children:[e.jsx($r,{asChild:!0,children:e.jsxs(O,{variant:"ghost",size:"icon",className:"md:hidden",children:[e.jsx(E.Menu,{className:"h-5 w-5"}),e.jsx("span",{className:"sr-only",children:"Ouvrir le menu"})]})}),e.jsx(Fa,{side:"left",className:"w-72 p-0",children:e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Navigation"}),e.jsx(O,{variant:"ghost",size:"icon",onClick:()=>u(!1),children:e.jsx(E.X,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r})]})})]}),a]})}),e.jsxs("div",{className:"flex",children:[r&&!n&&e.jsx("aside",{className:"hidden w-64 border-r bg-muted/40 md:block",children:e.jsx("div",{className:"h-full overflow-y-auto p-4",children:r})}),e.jsx("main",{className:"flex-1",children:e.jsx("div",{className:"container mx-auto p-4",children:t})})]}),s&&e.jsx("footer",{className:"border-t bg-muted/40",children:e.jsx("div",{className:"container mx-auto p-4",children:s})})]})}function bp({config:t,onSubmit:a,onForgotPassword:r,onSignUp:s,onSSOGoogle:n,onSSOMicrosoft:o,onSSOApple:d,onSSOLinkedIn:u,onSSOGithub:f,onSSOFacebook:m,onSSOInstagram:b,onSSOFranceConnect:h,showSocialLogin:w=!1,className:k}){let S=!1;try{S=ga().isDarkMode}catch{}const p=t?.theme_json?.dark_mode??S,[y,x]=i.useState({email:"",password:"",rememberMe:!1}),[c,l]=i.useState(!1),g=i.useMemo(()=>t?.assets?p?t.assets.theme_logo_dark:t.assets.theme_logo_light:null,[t?.assets,p]),v=i.useMemo(()=>t?.color_json?{"--login-primary":t.color_json.primary,"--login-secondary":t.color_json.secondary,"--login-accent":t.color_json.accent}:{},[t?.color_json]),N=i.useMemo(()=>{const T=[];if(!t?.signup_options)return w&&(f&&T.push({id:"github",label:"GitHub",icon:e.jsx(E.Github,{className:"h-4 w-4"}),onClick:f}),n&&T.push({id:"google",label:"Google",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:n})),T;const P=t.signup_options;return P.allow_sso_google&&T.push({id:"google",label:"Google",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:n}),P.allow_sso_microsoft&&T.push({id:"microsoft",label:"Microsoft",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:o}),P.allow_sso_apple&&T.push({id:"apple",label:"Apple",icon:e.jsx(E.Apple,{className:"h-4 w-4"}),onClick:d}),P.allow_sso_linkedIn&&T.push({id:"linkedin",label:"LinkedIn",icon:e.jsx(E.Linkedin,{className:"h-4 w-4"}),onClick:u}),P.allow_sso_github&&T.push({id:"github",label:"GitHub",icon:e.jsx(E.Github,{className:"h-4 w-4"}),onClick:f}),P.allow_sso_facebook&&T.push({id:"facebook",label:"Facebook",icon:e.jsx(E.Facebook,{className:"h-4 w-4"}),onClick:m}),P.allow_sso_instagram&&T.push({id:"instagram",label:"Instagram",icon:e.jsx(E.Instagram,{className:"h-4 w-4"}),onClick:b}),P.allow_sso_france_connect&&T.push({id:"france-connect",label:"France Connect",icon:e.jsx(E.Mail,{className:"h-4 w-4"}),onClick:h}),T},[t?.signup_options,w,n,o,d,u,f,m,b,h]),$=t?.signup_options?.allow_login!==!1,F=async T=>{T.preventDefault(),l(!0);try{await a?.(y)}finally{l(!1)}},M=T=>P=>{x(L=>({...L,[T]:T==="rememberMe"?P.target.checked:P.target.value}))};return e.jsx("div",{className:j("flex items-center justify-center p-4",k),style:v,children:e.jsxs(Ve,{className:"w-full max-w-md",children:[e.jsxs(Ke,{className:"space-y-1",children:[g&&e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("img",{src:g,alt:t?.theme_json?.name||"Logo",className:"max-h-16 max-w-full object-contain"})}),e.jsx(We,{className:"text-2xl text-center",children:"Connexion"}),e.jsx(Dt,{className:"text-center",children:"Entrez vos identifiants pour accéder à votre compte"})]}),e.jsxs(Ze,{className:"space-y-4",children:[N.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:j("grid gap-4",N.length===1?"grid-cols-1":"grid-cols-2"),children:N.map(T=>e.jsxs(O,{variant:"outline",className:"w-full",onClick:T.onClick,type:"button",children:[T.icon,T.label]},T.id))}),$&&e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx(At,{className:"w-full"})}),e.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:e.jsx("span",{className:"bg-background px-2 text-muted-foreground",children:"Ou continuez avec"})})]})]}),$&&e.jsxs("form",{onSubmit:F,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"email",children:"Email"}),e.jsx(fe,{id:"email",type:"email",placeholder:"votre@email.com",value:y.email,onChange:M("email"),required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ge,{htmlFor:"password",children:"Mot de passe"}),e.jsx(fe,{id:"password",type:"password",placeholder:"••••••••",value:y.password,onChange:M("password"),required:!0})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("input",{id:"remember",type:"checkbox",checked:y.rememberMe,onChange:M("rememberMe"),className:"h-4 w-4 rounded border-gray-300"}),e.jsx(ge,{htmlFor:"remember",className:"text-sm",children:"Se souvenir de moi"})]}),r&&e.jsx(O,{type:"button",variant:"link",className:"px-0 text-sm",onClick:r,children:"Mot de passe oublié ?"})]}),e.jsx(O,{type:"submit",className:"w-full",disabled:c,style:t?.color_json?.primary?{backgroundColor:t.color_json.primary,color:t.color_json.secondary}:void 0,children:c?"Connexion...":"Se connecter"})]}),s&&e.jsxs("div",{className:"text-center text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Pas encore de compte ? "}),e.jsx(O,{type:"button",variant:"link",className:"px-0 text-sm",onClick:s,children:"S'inscrire"})]}),t?.waka_powered&&e.jsx("div",{className:"text-center text-xs text-muted-foreground mt-4 pt-4 border-t",children:"Powered by Waka"})]})]})})}exports.Accordion=ml;exports.AccordionContent=Ws;exports.AccordionItem=zs;exports.AccordionTrigger=Vs;exports.AdmincrumbProvider=cp;exports.Alert=Us;exports.AlertDescription=Gs;exports.AlertDialog=Hs;exports.AlertDialogAction=hr;exports.AlertDialogCancel=pr;exports.AlertDialogContent=cr;exports.AlertDialogDescription=fr;exports.AlertDialogFooter=ur;exports.AlertDialogHeader=dr;exports.AlertDialogOverlay=lr;exports.AlertDialogPortal=qs;exports.AlertDialogTitle=mr;exports.AlertDialogTrigger=fl;exports.AlertTitle=Bs;exports.AspectRatio=pl;exports.Avatar=Xs;exports.AvatarFallback=Ys;exports.AvatarImage=Js;exports.Badge=He;exports.BlockLanguageSelector=pp;exports.Blockquote=zo;exports.Button=O;exports.Calendar=gr;exports.Card=Ve;exports.CardContent=Ze;exports.CardDescription=Dt;exports.CardFooter=Zs;exports.CardHeader=Ke;exports.CardTitle=We;exports.Checkbox=at;exports.Code=un;exports.Collapsible=Df;exports.CollapsibleContent=Rf;exports.CollapsibleTrigger=Mf;exports.Command=_t;exports.CommandDialog=Ff;exports.CommandEmpty=ia;exports.CommandGroup=la;exports.CommandInput=oa;exports.CommandItem=ca;exports.CommandList=Sr;exports.CommandSeparator=xn;exports.CommandShortcut=vn;exports.ContextMenu=yn;exports.ContextMenuCheckboxItem=Sn;exports.ContextMenuContent=kr;exports.ContextMenuGroup=Lf;exports.ContextMenuItem=it;exports.ContextMenuLabel=Cn;exports.ContextMenuPortal=If;exports.ContextMenuRadioGroup=_f;exports.ContextMenuRadioItem=kn;exports.ContextMenuSeparator=Kt;exports.ContextMenuShortcut=Tn;exports.ContextMenuSub=Of;exports.ContextMenuSubContent=Nn;exports.ContextMenuSubTrigger=jn;exports.ContextMenuTrigger=wn;exports.DataTable=Wh;exports.DataTableAdvanced=Bh;exports.DataTableColumnResizer=Gh;exports.DataTableContextMenu=Kh;exports.DataTableEditCell=Ma;exports.DataTableFilters=Kr;exports.DataTableGroupTotals=Jh;exports.DataTableGrouping=Xh;exports.DataTableGroupingControls=Yh;exports.DataTablePagination=Yr;exports.DataTableSelection=Zh;exports.DataTableToolbar=ma;exports.Dialog=mn;exports.DialogClose=$f;exports.DialogContent=Nr;exports.DialogDescription=bn;exports.DialogFooter=pn;exports.DialogHeader=hn;exports.DialogOverlay=jr;exports.DialogPortal=fn;exports.DialogTitle=gn;exports.DialogTrigger=Af;exports.DropdownMenu=Zt;exports.DropdownMenuCheckboxItem=Tt;exports.DropdownMenuContent=Lt;exports.DropdownMenuGroup=zf;exports.DropdownMenuItem=Cr;exports.DropdownMenuLabel=ea;exports.DropdownMenuPortal=Vf;exports.DropdownMenuRadioGroup=Hf;exports.DropdownMenuRadioItem=Dn;exports.DropdownMenuSeparator=ta;exports.DropdownMenuShortcut=Mn;exports.DropdownMenuSub=Wf;exports.DropdownMenuSubContent=Pn;exports.DropdownMenuSubTrigger=En;exports.DropdownMenuTrigger=Qt;exports.Footer=fp;exports.Form=nh;exports.FormControl=Hn;exports.FormDescription=qn;exports.FormField=oh;exports.FormItem=Vn;exports.FormLabel=Wn;exports.FormMessage=Un;exports.Heading=Oo;exports.Headtab=hp;exports.HoverCard=ih;exports.HoverCardContent=Bn;exports.HoverCardTrigger=lh;exports.Input=fe;exports.InputOTP=Gn;exports.Kbd=Wo;exports.Label=ge;exports.LanguageProvider=di;exports.LanguageSelector=dh;exports.Layout=gp;exports.LegacyThemeProvider=ep;exports.Login=bp;exports.Menubar=Yn;exports.MenubarCheckboxItem=ao;exports.MenubarContent=eo;exports.MenubarGroup=mh;exports.MenubarItem=to;exports.MenubarLabel=so;exports.MenubarMenu=uh;exports.MenubarPortal=fh;exports.MenubarRadioGroup=ph;exports.MenubarRadioItem=ro;exports.MenubarSeparator=no;exports.MenubarShortcut=oo;exports.MenubarSub=hh;exports.MenubarSubContent=Qn;exports.MenubarSubTrigger=Zn;exports.MenubarTrigger=Kn;exports.NavigationMenu=io;exports.NavigationMenuContent=mo;exports.NavigationMenuIndicator=fo;exports.NavigationMenuItem=gh;exports.NavigationMenuLink=bh;exports.NavigationMenuList=lo;exports.NavigationMenuTrigger=uo;exports.NavigationMenuViewport=Mr;exports.Popover=xt;exports.PopoverContent=dt;exports.PopoverTrigger=vt;exports.Progress=ho;exports.RadioGroup=po;exports.RadioGroupItem=go;exports.ScrollArea=It;exports.ScrollBar=Rr;exports.Select=ut;exports.SelectContent=st;exports.SelectGroup=ch;exports.SelectItem=Qe;exports.SelectLabel=Xn;exports.SelectScrollDownButton=Dr;exports.SelectScrollUpButton=Pr;exports.SelectSeparator=Jn;exports.SelectTrigger=rt;exports.SelectValue=mt;exports.Separator=At;exports.Sheet=Ar;exports.SheetClose=xh;exports.SheetContent=Fa;exports.SheetDescription=Or;exports.SheetFooter=xo;exports.SheetHeader=Lr;exports.SheetOverlay=Fr;exports.SheetPortal=bo;exports.SheetTitle=Ir;exports.SheetTrigger=$r;exports.Skeleton=yh;exports.Slider=vo;exports.Switch=_r;exports.Table=yo;exports.TableBody=jo;exports.TableCaption=To;exports.TableCell=Co;exports.TableFooter=No;exports.TableHead=ko;exports.TableHeader=wo;exports.TableRow=So;exports.Tabs=zr;exports.TabsContent=ua;exports.TabsList=La;exports.TabsTrigger=da;exports.Text=Lo;exports.Textarea=pa;exports.ThemeLoader=yr;exports.ThemeProvider=Yo;exports.ThemeSelector=Eo;exports.Toast=Wr;exports.ToastAction=Do;exports.ToastClose=Hr;exports.ToastDescription=Ur;exports.ToastProvider=Po;exports.ToastTitle=qr;exports.ToastViewport=Vr;exports.Toaster=kh;exports.Toggle=$o;exports.Tooltip=sr;exports.TooltipContent=Da;exports.TooltipProvider=rr;exports.TooltipTrigger=nr;exports.WakaAdmincrumb=qo;exports.WakaCarousel=Mh;exports.WakaDateTimePicker=Gr;exports.WakaDateTimePickerForm=Rh;exports.WakaNotifications=Bo;exports.WakaProvider=op;exports.WakaSpinner=Go;exports.WakaThemeCreator=Xo;exports.WakaThemeManager=Zo;exports.applyTheme=bf;exports.badgeVariants=Ks;exports.blockquoteVariants=_o;exports.calculateDuration=Ym;exports.cn=j;exports.compareRanges=mf;exports.createBookingDateValidator=af;exports.createCardExpiryValidator=tf;exports.createCommonPresets=Vm;exports.createCustomPreset=qm;exports.createLastDaysPresets=Wm;exports.createMaxAgeValidator=Xm;exports.createMaxRangeDaysValidator=rf;exports.createMinAgeValidator=Gm;exports.createMonthlyPresets=lf;exports.createNextDaysPresets=Hm;exports.createQuarterPresets=of;exports.dateToTimestamp=cf;exports.exportToCSV=Qo;exports.exportToJSON=ei;exports.formatDateRange=Km;exports.getDatesInMonth=vr;exports.getFrenchHolidays=Zm;exports.getThemeLoader=wr;exports.getWeekdaysInMonth=ef;exports.getWeekendsInMonth=Qm;exports.getWorkingDays=nf;exports.headingVariants=Io;exports.initThemeLoader=pf;exports.isDateInRange=ct;exports.isFutureDate=Um;exports.isHoliday=dn;exports.isNotExpired=Jm;exports.isPastDate=ln;exports.isSameDay=sf;exports.isToday=Bm;exports.isWeekday=xr;exports.isWeekend=cn;exports.kbdVariants=Vo;exports.loadTableState=ai;exports.loadTheme=gf;exports.mergeRanges=ff;exports.navigationMenuTriggerStyle=co;exports.normalizeDate=uf;exports.parseCSV=_h;exports.rangesOverlap=hf;exports.reducer=Mo;exports.saveTableState=ti;exports.textVariants=Fo;exports.themeManagerVariants=Ko;exports.timestampToDate=df;exports.toast=Ro;exports.toggleVariants=Ao;exports.tweak=Pa;exports.useAdmincrumb=Dh;exports.useAdmincrumbContext=dp;exports.useAdmincrumbContextOptional=up;exports.useDataTable=ri;exports.useDataTableAdvanced=si;exports.useDataTableEdit=Jr;exports.useDataTableExport=oi;exports.useDataTableImport=ii;exports.useDataTableSelection=Qh;exports.useDataTableTheme=li;exports.useDataTableVirtualization=ni;exports.useDateForm=Ah;exports.useFormField=ha;exports.useLanguage=Zr;exports.useLegacyTheme=np;exports.useNotifications=Fh;exports.useTableLayout=Xr;exports.useTheme=ga;exports.useThemeLoader=xf;exports.useToast=Br;exports.useTranslation=Uo;exports.useWaka=lp;