fredag, 7 august, 2026
  • Worldwide Shipping
  • Nyttige Links
  • Tilmeld firma eller organisation
  • Nyhedsbrev
  • Mit Polen in English
Din danske podcast, blog og guide til Polen
  • Podcasts og Artikler
    • Bo og Arbejde i Polen
    • Livet i Polen
    • Polens kultur og historie
    • Mad og Drikke i Polen
    • Rejseguide til Polen
      • Ferie i Polen – Den komplette rejseguide
      • Warszawa
      • Krakow
      • Gdansk
      • Poznan
      • Wroclaw
      • Ferie med børn
    • Samfund og Politik i Polen
    • Mit Polen På Tur
    • Virksomhed i Polen
    • Spørgsmål og Svar om Polen
  • Klub Mit Polen
    • Eksklusivt for medlemmer
    • Bliv medlem
    • Log Ind
    • Mit Polen – Medlemsside
    • FAQ
  • Bliv Partner
    • Mit Polens partnere
    • Mit Polen Netværket
    • Ekstra Eksponeringsmuligheder
  • Ydelser (English)
  • Webshop
  • Ressourcer
    • Nyttige Links
    • Tilmeld firma eller organisation
    • Nyhedsbrev
    • Polen i billeder
      • Warszawa i Billeder
      • Krakow i Billeder
      • Gdansk i Billeder
      • Poznan i Billeder
      • Wroclaw i Billeder
      • Szczecin i Billeder
      • Polens natur og landskaber
    • Vejret i Polen
  • Om Mit Polen
    • Bag om Mit Polen
    • Mit Polens temaer
    • Mit Polen i medierne
    • Presse
    • Mit Polen in English
  • Kontakt Mit Polen
  • Login

Ingen varer i kurven.

Ingen resultater
Se alle resultaterne
Din danske podcast, blog og guide til Polen
  • Podcasts og Artikler
    • Bo og Arbejde i Polen
    • Livet i Polen
    • Polens kultur og historie
    • Mad og Drikke i Polen
    • Rejseguide til Polen
      • Ferie i Polen – Den komplette rejseguide
      • Warszawa
      • Krakow
      • Gdansk
      • Poznan
      • Wroclaw
      • Ferie med børn
    • Samfund og Politik i Polen
    • Mit Polen På Tur
    • Virksomhed i Polen
    • Spørgsmål og Svar om Polen
  • Klub Mit Polen
    • Eksklusivt for medlemmer
    • Bliv medlem
    • Log Ind
    • Mit Polen – Medlemsside
    • FAQ
  • Bliv Partner
    • Mit Polens partnere
    • Mit Polen Netværket
    • Ekstra Eksponeringsmuligheder
  • Ydelser (English)
  • Webshop
  • Ressourcer
    • Nyttige Links
    • Tilmeld firma eller organisation
    • Nyhedsbrev
    • Polen i billeder
      • Warszawa i Billeder
      • Krakow i Billeder
      • Gdansk i Billeder
      • Poznan i Billeder
      • Wroclaw i Billeder
      • Szczecin i Billeder
      • Polens natur og landskaber
    • Vejret i Polen
  • Om Mit Polen
    • Bag om Mit Polen
    • Mit Polens temaer
    • Mit Polen i medierne
    • Presse
    • Mit Polen in English
  • Kontakt Mit Polen
Ingen resultater
Se alle resultaterne

Ingen varer i kurven.

Din danske podcast, blog og guide til Polen
Ingen resultater
Se alle resultaterne

Hvorfor vælge Polen som ferieland?

Søren Wilsted Christensen af Søren Wilsted Christensen
29. januar 2026
i Rejseguide til Polen, Podcasts og Artikler
0
Del på FacebookDel på XDel på LinkedInDel på Threads

Hvorfor vælge Polen som ferieland? Det vil jeg nøgternt prøve at give et bud på, hvorfor du skal og hvorfor du måske ikke skal. Polen er ikke et land, man vælger ved en fejl. Man ender ikke i Polen, fordi man ikke kunne få plads i Spanien. Og man tager ikke dertil, fordi rejsebureauet havde et godt tilbud i sidste øjeblik.

Polen er et bevidst valg. Og netop derfor bliver nogle meget begejstrede, mens andre rejser hjem lettere forvirrede. Det her indlæg er skrevet for at spare dig for den forvirring. Ikke ved at sælge Polen,
men ved at afgrænse det.

Hvis du leder efter et ferieland, der leverer sol, strand og afslapning på faste præmisser, findes der bedre valg. Hvis du derimod vil forstå, opleve og bevæge dig i et land, der ikke er pakket ind i turistlogik, så er Polen et af de mest undervurderede ferielande i Europa.

Dermed ikke sagt at Polen ikke både leverer sol, strand og afslapning, men det er ikke det mest oplagte land som all inklusive ved Polen, selv om du sikkert også kan findet det i Polen. Formålet med denne artikel er enkelt: At hjælpe dig med at afgøre, om Polen giver mening for dig. Og hvornår det gør.

Polen er ikke for alle – og det er ikke en svaghed

Mange ferielande forsøger at være universelle. De vil fungere for børnefamilier, par, unge, pensionister og spontane weekendturister på samme tid. Det kræver en massiv ferieinfrastruktur og meget klare rammer.

Polen har ikke den tilgang. Og det er grunden til, at landet ofte bliver misforstået. Polen er ikke et “nemt” ferieland i klassisk forstand. Det betyder ikke, at det er besværligt. Det betyder, at oplevelserne ikke automatisk kommer til dig. Du skal selv vælge dem til og fra også fordi der er mange muligheder.

For nogle er det netop frihed, for andre kan det føles som manglende service. Begge reaktioner er forståelige.

Hvem Polen er et godt valg for

Polen er et godt valg for rejsende, der vil mere end bare holde fri.

Det fungerer bedst for dem, der:

  • Gerne vil kombinere flere typer ferie på samme rejse
  • Sætter pris på byer med historie, flere “lag” og identitet
  • Vil opleve natur uden konstant trængsel
  • Foretrækker lokale steder frem for turistopsætning
  • Kan lide at opdage frem for at få alt serveret

Polen egner sig særligt godt til kombinationsrejser. Storby og natur. Kultur og ro. Aktivitet og pauser. Det er muligt at være i en historisk by om formiddagen og i skov, ved søer eller ved kysten senere samme dag uden lange transporttider.

Det er også et land, der fungerer overraskende godt til afslapning. Bare ikke den type afslapning, man forbinder med charter. I Polen slapper man af ved plads, stilhed og tempo. Ved søområder, grønne regioner, mindre byer og kyststrækninger, hvor der ikke er mange mennesker.

De Masuriske Søer er det mest kendte eksempel, men store dele af landet tilbyder den samme type ro. Ikke som en attraktion, men som en naturlig tilstand. Det gælder f.eks. også Kashubien som ligger sydvest for Gdansk. 

Hvad mange først opdager, når de er kommet hjem

Noget af det mest karakteristiske ved Polen som ferieland er, at det ofte vokser bagefter. Mange rejser hjem uden at være euforiske. Ikke skuffede, men heller ikke blæst bagover. Først senere opdager man, at det er ferien, man refererer tilbage til. De steder, man sammenligner med andre rejser. De oplevelser, der havde mere indhold end støj.

Det skyldes, at Polen sjældent leverer øjeblikkelig “wow-effekt”. Det leverer sammenhæng. Stemninger. Kontraster. Og en fornemmelse af, at man faktisk har været et sted, ikke bare forbrugt det. For mange er det præcis dét, der gør Polen interessant som ferieland. Det er ikke et land, der råber. Det er et land, der sætter sig.

Hvem Polen ikke er et godt valg for

Polen er et dårligt valg, hvis ferien primært handler om bekvemmelighed.

Hvis du forventer:

  • Stabil meget høj varme hver dag 
  • Strand som hovedaktivitet 
  • Resortferie med alt samlet ét sted 
  • Minimal planlægning og klare standardløsninger 
  • En ferie, der fungerer på autopilot 

så vil Polen ofte føles forkert. Det handler ikke om kvalitet, men om struktur. Polen er ikke bygget op omkring en ferieindustri, der styrer din oplevelse fra start til slut. Du vælger selv, hvor du bor, hvad du laver, og hvordan dagene formes. For nogle er det befriende og for andre er det frustrerende.

Hvis man bliver irriteret over, at ting kræver lidt orientering, eller hvis man forventer, at ferien folder sig ud uden indsats, er Polen sjældent det rigtige valg.

Hvorfor nogle oplever Polen som “fladt” – og hvorfor det er misvisende

Når folk siger, at Polen manglede noget, handler det sjældent om konkrete mangler. Det handler om fravær af velkendte feriesignaler. Der er færre palmer, selvom der er en i centrum af Warszawa (kunstig palme), færre strandbarer, færre steder, hvor stemningen er designet til at føles som ferie.

For nogle betyder det, at ferien føles mindre tydelig. Men i praksis betyder det bare, at oplevelserne ikke er iscenesat. Polen kræver, at man selv definerer, hvornår man er på ferie. Ikke gennem rammer, men gennem valg.

For rejsende, der forbinder ferie med bestemte visuelle og sociale koder, kan det føles forkert. For andre føles det befriende. Det er ikke et spørgsmål om bedre eller dårligere. Det er et spørgsmål om, hvordan man forstår ferie.

Hvad Polen giver, som Sydeuropa ikke gør

Sammenligningen med Sydeuropa er næsten uundgåelig. Og den er ofte misvisende. Polen konkurrerer ikke på de samme præmisser. Det forsøger ikke at være et strandland med konstant sommerstemning. Til gengæld tilbyder det noget, som mange klassiske ferielande i syd i stigende grad har svært ved at levere.

For det første: variation. I Polen kan man skifte kontekst hurtigt. By, natur, historie og hverdagsliv ligger tæt på hinanden. Det gør det muligt at sammensætte ferien løbende, i stedet for at låse sig fast på én type ophold.

For det andet: mindre turistteater. Langt færre steder er bygget udelukkende til besøgende. Det betyder færre “oplevelser”, men flere steder, der fungerer, fordi de fungerer for dem, der bor der. Det giver en mere observerende og mindre forbrugende måde at rejse på.

For det tredje: et mere anvendeligt sommervejr. Nogen tror at Polen er køligt og ustabilt om sommeren. I praksis er sommervejret ofte stabilt og varmt, men sjældent ekstremt. I store dele af landet ligger dagtemperaturerne typisk omkring 22–28 grader i sommerhalvåret, ofte med lange perioder uden regn.

Det betyder, at man kan være aktiv hele dagen. Man kan gå rundt i byer, tage på udflugter og opholde sig ude uden konstant at skulle tage hensyn til hede. Sammenlignet med store dele af Sydeuropa, hvor sommeren i stigende grad begrænser aktivitet midt på dagen, giver Polen mere brugbare sommerdage. For mange er det en klar fordel, mig selv inklusiv.

For det fjerde: pris og kvalitet hænger bedre sammen. Man kan spise godt, bo ordentligt og bevæge sig rundt uden, at budgettet hele tiden sætter begrænsninger. Det gør det lettere at blive længere, skifte planer og sige ja til oplevelser undervejs.

For det femte: historisk dybde. Polens historie er ikke pynt. Den er synlig og mærkbar. I arkitekturen, i byernes struktur og i den måde landet fungerer på. For nogle er det tungt. For andre er det netop det, der giver rejsen substans.

Klimaet i praksis – ikke i myten

Vejret i Polen bliver ofte reduceret til én sætning: “Det er ikke så varmt som i Sydeuropa.”
Det er korrekt. Og samtidig misvisende.

I praksis har Polen ofte stabilt sommervejr med varme temperaturer, der ligger i et spænd, hvor man faktisk kan bruge dagen. Temperaturer omkring 22–28 grader er almindelige i sommerhalvåret, og perioder med flere sammenhængende uger uden regn er ikke usædvanlige.

Det betyder, at ferien ikke bliver dikteret af varmen. Man kan bevæge sig rundt, være aktiv, opholde sig udendørs og kombinere oplevelser uden konstant at planlægge efter hede og pauser.

I store dele af Sydeuropa er sommeren i dag så varm, at den i praksis begrænser, hvad man kan lave midt på dagen. I Polen er sommeren mere anvendelig. Ikke spektakulær, men funktionel. For mange rejsende er det en undervurderet fordel.

Hvor forventninger oftest rammer forkert

De fleste skuffelser i Polen handler ikke om landet, men om forkerte antagelser. En klassisk fejl er forventningen om “billigt Sydeuropa i Øst”. Den sammenligning holder ikke. Polen er hverken en kopi eller en erstatning.

En anden fejl er manglende planlægning. Mange tror, at de største oplevelser ligger lige foran dem, og at man kan improvisere sig frem uden retning. Det kan man, men kun hvis man ved, hvad man improviserer efter.

Derudover undervurderer mange afstande og regionale forskelle. Polen er i praksis mange forskellige regioner med hver deres tempo, arkitektur og stemning. Én by giver ikke et dækkende billede af landet. Endelig er der dem, der bliver i ét område og konkluderer, at de har set Polen. Det svarer til at besøge én spansk by og mene, at man har forstået Spanien.

Polen som ferieland kræver valg – ikke bare booking

En af de mest afgørende forskelle mellem Polen og klassiske ferielande er, at Polen ikke tilbyder én oplagt måde at holde ferie på. Der findes ikke et standardophold, der automatisk giver “det rigtige Polen”. Man skal vælge region, tempo og fokus. Og det er netop her, mange går galt.

Vælger man kun by, kan ferien føles tung. Vælger man kun natur, kan den føles stille. Vælger man kun det oplagte, får man kun overfladen. Polen fungerer bedst, når man sammensætter ferien bevidst. Ikke minutiøst, men med en klar idé om, hvad man vil opleve. Det er ikke et land, der guider dig. Det er et land, der reagerer på dine valg. 

Hvornår Polen giver mest mening som ferieland

Timing er afgørende i Polen. Forår og sensommer er generelt de stærkeste perioder. Maj og juni giver grønt landskab, behageligt vejr og færre mennesker. August og september har stadig sommerstemning, men med mere ro og balance.

Højsommeren kan fungere fint, især hvis man bevæger sig væk fra de mest besøgte steder og ikke fokuserer ensidigt på strand. Vinteren giver mening til byophold, kultur og julemarkeder, men sjældent som klassisk ferie. Polen belønner dem, der vælger tidspunkt efter indhold frem for vane.

Hvordan Polen fungerer bedst som ferieland

Polen er sjældent et land, der fungerer optimalt som “ét sted i to uger”. Det fungerer bedst, når man tænker i kombinationer. Én by og én region. Bevægelse og pauser. Oplevelser og ro.

Det kræver lidt mere planlægning end charterdestinationer. Til gengæld giver det langt mere fleksibilitet, variation og personlighed i rejsen. Man former i højere grad selv sin ferie. Og det er præcis det, der gør Polen interessant for de rigtige rejsende.

Er Polen et ferieland, man vender tilbage til?

For mange er svaret ja. Men ikke nødvendigvis på samme måde som andre ferielande. Polen er sjældent et “én favoritdestination” land. Det er et land, man bruger forskelligt over tid. En by én gang. En region en anden. En kombination senere.

Man vender ikke nødvendigvis tilbage for det samme. Man vender tilbage for at udforske et nyt lag af landet. Det er også derfor, Polen ofte fungerer bedre som gentagelsesferie end som “drømmeferie”. Jo bedre man forstår landet, jo mere giver det igen og jo mere drømmeferie bliver det over tid.

Den ærlige konklusion

Polen er ikke et kompromis. Det er et bevidst valg. Det er et ferieland for dem, der vil opleve frem for at forbruge. For dem, der vil have både indtryk og ro. For dem, der ikke har behov for, at alt er tilrettelagt på forhånd.

Vælger man Polen af bekvemmelighed, bliver man ofte skuffet. Vælger man Polen af nysgerrighed, får man ofte mere, end man havde forventet. Det er ikke et land, der prøver at imponere dig.
Det er et land, der giver mest tilbage, hvis du møder det på dets egne præmisser.

Artiklen er ikke bragt i samarbejde med nogen, men din virksomhed og/eller organisation kan blive hovedpartner eller temapartner og blive nævnt her i lignende artikler og podcast-episoder.

Tags: De Masuriske SøerFamilieferieFerieHistorieKashubienSommerferieVinterferie
DelTweetDelDel
Tidligere indlæg

Lavere priser i Polen

Næste Indlæg

Er Polen sikkert? Hvad du bør vide som turist og besøgende

Søren Wilsted Christensen

Søren Wilsted Christensen

Jeg har boet i Polen siden foråret 2008 og i 3 forskellige byer samt regioner, dog primært i Warszawa, hvor jeg bor og driver Mit Polen fra. Er ejer og stifter af Mit Polen. Har tidligere drevet andre forretninger i Polen, blandt andet konsulentvirksomheden Biz i Polen, som nu er en del af Mit Polen. Er desuden repræsentant for Danes World Wide i Polen. Henvendelser mv.: info@mitpolen.dk

Næste Indlæg
Aften i Warszawa med mennesker på gaden og almindelig trafik

Er Polen sikkert? Hvad du bør vide som turist og besøgende

NordicPoland logo
NORDICS POLAND
Nordic thinking. Polish reality.
Market Entry
Leads
Business Tools
In Poland since 2008 Book a call

Ferie i Polen Facebook-gruppen

Aftenstemning over Krakóws gamle by med julelys og marked på torvet, populær destination for ferie i Polen
Mit Polen Webshop krus og magneter med polske bymotiver

Bliv medlem nu

Bliv Klub Mit Polen medlem og støt Mit Polen og få en lang række fordele

Mest læste – seneste måned

  • Bilferie i Polen med elbil ved ladestander

    Bilferie i Polen med elbil – kan det lade sig gøre?

    0 delt
    Del 0 Tweet 0
  • Færge til Polen fra Danmark: Din store guide til ruter, priser og praktiske tips

    0 delt
    Del 0 Tweet 0
  • De bedste restauranter i Gdansk i 2026

    0 delt
    Del 0 Tweet 0
  • Apotek i Polen: Sådan fungerer det, og det skal du vide som dansker

    0 delt
    Del 0 Tweet 0
  • Ferie i Polen – Den komplette rejseguide til byer, priser og planlægning

    0 delt
    Del 0 Tweet 0

Seneste Indhold

  • Hvorfor er PiS splittet i 2026? Kaczyński vs. Morawiecki og hvilken betydning får det? 3. august 2026
  • Kampinoski Nationalpark i Warszawa: Vild natur kun 30 minutter fra centrum 30. juli 2026
  • Derfor er der stor uro i Polens største oppositionsparti 24. juli 2026
  • Grunwaldslaget genopføres hver sommer i Polen: sådan bliver du en del af historien 21. juli 2026
  • Seværdigheder i Katowice og omegn: fra forlystelsespark til natur og historie 17. juli 2026
Kort over Polen med mørkeblå baggrund og hvid markering af landet, tekst “Opret profil i Nyttige Links – Bliv en del af Mit Polens erhvervskatalog” og rød knap med teksten “Opret profil nu”

Kategorier

  • Bag om Mit Polen
  • Bo og Arbejde i Polen
  • Eksklusivt for medlemmer
  • Livet i Polen
  • Mad og Drikke i Polen
  • Mit Polen På Tur
  • Podcasts og Artikler
  • Polens kultur og historie
  • Rejseguide til Polen
  • Samfund og Politik i Polen
  • Spørgsmål og Svar om Polen
  • Virksomhed i Polen
Mit Polen logo – dansk podcast og guide til Polen
Mit Polen
Puławska 12/3, 02-566 Warszawa.
Tlf.: +48452910607, kl. 10-16 Man. til Fredag
Email: info@mitpolen.dk
NIP (polsk CVR): 7010178625
Bliv medlem

Følg Mit Polen

  • facebook
  • instagram
  • linkedin
  • gumroad
  • youtube
  • tiktok

– Din danske podcast, blog og guide til Polen.

  • Podcasts og Artikler
  • Klub Mit Polen
  • Bliv Partner
    • Ekstra Eksponeringsmuligheder
  • Mit Polen Netværket
  • Nyttige Links
    • Tilmeld firma eller organisation
  • Workshops
  • Webshop
  • Tilmeld nyhedsbrev
  • Kontakt Mit Polen
  • Om Mit Polen
  • Presse
    • Mit Polen i medierne
  • Abonnementsbetingelser
  • Handelsbetingelser
  • Privatliv og Cookies
  • Mit Polen in English

© Mit Polen. Alle rettigheder forbeholdes. Sikker og krypteret betaling via Stripe.

Ok

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Request Refund

×
Ingen resultater
Se alle resultaterne
  • Podcasts og Artikler
    • Bo og Arbejde i Polen
    • Livet i Polen
    • Polens kultur og historie
    • Mad og Drikke i Polen
    • Rejseguide til Polen
      • Ferie i Polen – Den komplette rejseguide
      • Warszawa
      • Krakow
      • Gdansk
      • Poznan
      • Wroclaw
      • Ferie med børn
    • Samfund og Politik i Polen
    • Mit Polen På Tur
    • Virksomhed i Polen
    • Spørgsmål og Svar om Polen
  • Klub Mit Polen
    • Eksklusivt for medlemmer
    • Bliv medlem
    • Log Ind
    • Mit Polen – Medlemsside
    • FAQ
  • Bliv Partner
    • Mit Polens partnere
    • Mit Polen Netværket
    • Ekstra Eksponeringsmuligheder
  • Ydelser (English)
  • Webshop
  • Ressourcer
    • Nyttige Links
    • Tilmeld firma eller organisation
    • Nyhedsbrev
    • Polen i billeder
      • Warszawa i Billeder
      • Krakow i Billeder
      • Gdansk i Billeder
      • Poznan i Billeder
      • Wroclaw i Billeder
      • Szczecin i Billeder
      • Polens natur og landskaber
    • Vejret i Polen
  • Om Mit Polen
    • Bag om Mit Polen
    • Mit Polens temaer
    • Mit Polen i medierne
    • Presse
    • Mit Polen in English
  • Kontakt Mit Polen

© Mit Polen. Alle rettigheder forbeholdes. Sikker og krypteret betaling via Stripe.

Not enough quota to unlock this post
Oplåsninger tilbage : 0
Er du sikker på, at du vil opsige abonnementet?
-
00:00
00:00

Kø

Update Required Flash plugin
-
00:00
00:00

Fatal error: Uncaught JSMin_UnterminatedCommentException: JSMin: Unterminated comment at byte 2280781: /*`}">.`)}let G,s=$P();if(l){let c="string"==typeof l?sP(l):l;uP("/"===u||c.pathname?.startsWith(u),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${c.pathname}" was given in the \`location\` prop.`),G=c}else G=s;let g=G.pathname||"/",x=g;if("/"!==u){let c=u.replace(/^\//,"").split("/");x="/"+g.replace(/^\//,"").split("/").slice(c.length).join("/")}let m=gP(c,{pathname:x});XP(X||null!=m,`No routes matched location "${G.pathname}${G.search}${G.hash}" `),XP(null==m||void 0!==m[m.length-1].route.element||void 0!==m[m.length-1].route.Component||void 0!==m[m.length-1].route.lazy,`Matched leaf route at location "${G.pathname}${G.search}${G.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let r=function(c,l=[],e=null,t=null){if(null==c){if(!e)return null;if(e.errors)c=e.matches;else{if(0!==l.length||e.initialized||!(e.matches.length>0))return null;c=e.matches}}let d=c,b=e?.errors;if(null!=b){let c=d.findIndex(c=>c.route.id&&void 0!==b?.[c.route.id]);uP(c>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(b).join(",")}`),d=d.slice(0,Math.min(d.length,c+1))}let n=!1,a=-1;if(e)for(let c=0;c<d.length;c++){let l=d[c];if((l.route.HydrateFallback||l.route.hydrateFallbackElement)&&(a=c),l.route.id){let{loaderData:c,errors:t}=e,b=l.route.loader&&!c.hasOwnProperty(l.route.id)&&(!t||void 0===t[l.route.id]);if(l.route.lazy||b){n=!0,d=a>=0?d.slice(0,a+1):[d[0]];break}}}let o=e&&t?(c,l)=>{t(c,{location:e.location,params:e.matches?.[0]?.params??{},unstable_pattern:AP(e.matches),errorInfo:l})}:void 0;return d.reduceRight((c,t,u)=>{let X,G=!1,s=null,g=null;e&&(X=b&&t.route.id?b[t.route.id]:void 0,s=t.route.errorElement||dK,n&&(a<0&&0===u?(GK("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),G=!0,g=null):a===u&&(G=!0,g=t.route.hydrateFallbackElement||null)));let x=l.concat(d.slice(0,u+1)),m=()=>{let l;return l=X?s:G?g:t.route.Component?i.createElement(t.route.Component,null):t.route.element?t.route.element:c,i.createElement(aK,{match:t,routeContext:{outlet:c,matches:x,isDataRoute:null!=e},children:l})};return e&&(t.route.ErrorBoundary||t.route.errorElement||0===u)?i.createElement(bK,{location:e.location,revalidation:e.revalidation,component:s,error:X,children:m(),routeContext:{outlet:null,matches:x,isDataRoute:!0},onError:o}):m()},null)}(m&&m.map(c=>Object.assign({},c,{params:Object.assign({},a,c.params),pathname:fP([u,d.encodeLocation?d.encodeLocation(c.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:c.pathname]),pathnameBase:"/"===c.pathnameBase?u:fP([u,d.encodeLocation?d.encodeLocation(c.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:c.pathnameBase])})),b,e,t);return l&&r?i.createElement(EP.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...G},navigationType:"POP"}},r):r}(c,void 0,e,t)});var sK="get",gK="application/x-www-form-urlencoded";function xK(c){return typeof HTMLElement<"u"&&c instanceof HTMLElement}var mK=null,rK=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function HK(c){return null==c||rK.has(c)?c:(XP(!1,`"${c}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${gK}"`),null)}function ZK(c,l){if(!1===c||null===c||typeof c>"u")throw new Error(l)}function RK(c){return null!=c&&(null==c.href?"preload"===c.rel&&"string"==typeof c.imageSrcSet&&"string"==typeof c.imageSizes:"string"==typeof c.rel&&"string"==typeof c.href)}function IK(c,l,e,t,d,b){let n=(c,l)=>!e[l]||c.route.id!==e[l].route.id,i=(c,l)=>e[l].pathname!==c.pathname||e[l].route.path?.endsWith("*")&&e[l].params["*"]!==c.params["*"];return"assets"===b?l.filter((c,l)=>n(c,l)||i(c,l)):"data"===b?l.filter((l,b)=>{let a=t.routes[l.route.id];if(!a||!a.hasLoader)return!1;if(n(l,b)||i(l,b))return!0;if(l.route.shouldRevalidate){let t=l.route.shouldRevalidate({currentUrl:new URL(d.pathname+d.search+d.hash,window.origin),currentParams:e[0]?.params||{},nextUrl:new URL(c,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if("boolean"==typeof t)return t}return!0}):[]}function WK(){let c=i.useContext(LP);return ZK(c,"You must render this element inside a <DataRouterContext.Provider> element"),c}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var pK=i.createContext(void 0);function yK(){let c=i.useContext(pK);return ZK(c,"You must render this element inside a <HydratedRouter> element"),c}function BK(c,l){return e=>{c&&c(e),e.defaultPrevented||l(e)}}function hK({page:c,...l}){let{router:e}=WK(),t=i.useMemo(()=>gP(e.routes,c,e.basename),[e.routes,c,e.basename]);return t?i.createElement(VK,{page:c,matches:t,...l}):null}function VK({page:c,matches:l,...e}){let t=$P(),{future:d,manifest:b,routeModules:n}=yK(),{basename:a}=WK(),{loaderData:o,matches:u}=function(){let c=i.useContext(DP);return ZK(c,"You must render this element inside a <DataRouterStateContext.Provider> element"),c}(),X=i.useMemo(()=>IK(c,l,u,b,t,"data"),[c,l,u,b,t]),G=i.useMemo(()=>IK(c,l,u,b,t,"assets"),[c,l,u,b,t]),s=i.useMemo(()=>{if(c===t.pathname+t.search+t.hash)return[];let e=new Set,i=!1;if(l.forEach(c=>{let l=b.routes[c.route.id];!l||!l.hasLoader||(!X.some(l=>l.route.id===c.route.id)&&c.route.id in o&&n[c.route.id]?.shouldRevalidate||l.hasClientLoader?i=!0:e.add(c.route.id))}),0===e.size)return[];let u=function(c,l,e,t){let d="string"==typeof c?new URL(c,typeof window>"u"?"server://singlefetch/":window.location.origin):c;return e?d.pathname.endsWith("/")?d.pathname=`${d.pathname}_.${t}`:d.pathname=`${d.pathname}.${t}`:"/"===d.pathname?d.pathname=`_root.${t}`:l&&"/"===vP(d.pathname,l)?d.pathname=`${l.replace(/\/$/,"")}/_root.${t}`:d.pathname=`${d.pathname.replace(/\/$/,"")}.${t}`,d}(c,a,d.unstable_trailingSlashAwareDataRequests,"data");return i&&e.size>0&&u.searchParams.set("_routes",l.filter(c=>e.has(c.route.id)).map(c=>c.route.id).join(",")),[u.pathname+u.search]},[a,d.unstable_trailingSlashAwareDataRequests,o,t,b,X,l,c,n]),g=i.useMemo(()=>function(c,l,{includeHydrateFallback:e}={}){return function(c){return[...new Set(c)]}(c.map(c=>{let t=l.routes[c.route.id];if(!t)return[];let d=[t.module];return t.clientActionModule&&(d=d.concat(t.clientActionModule)),t.clientLoaderModule&&(d=d.concat(t.clientLoaderModule)),e&&t.hydrateFallbackModule&&(d=d.concat(t.hydrateFallbackModule)),t.imports&&(d=d.concat(t.imports)),d}).flat(1))}(G,b),[G,b]),x=function(c){let{manifest:l,routeModules:e}=yK(),[t,d]=i.useState([]);return i.useEffect(()=>{let t=!1;return async function(c,l,e){let t=await Promise.all(c.map(async c=>{let t=l.routes[c.route.id];if(t){let c=await async function(c,l){if(c.id in l)return l[c.id];try{let e=await import(c.module);return l[c.id]=e,e}catch(l){return console.error(`Error loading route module \`${c.module}\`, reloading page...`),console.error(l),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}(t,e);return c.links?c.links():[]}return[]}));return function(c){let l=new Set;return new Set(void 0),c.reduce((c,e)=>{let t=JSON.stringify(function(c){let l={},e=Object.keys(c).sort();for(let t of e)l[t]=c[t];return l}(e));return l.has(t)||(l.add(t),c.push({key:t,link:e})),c},[])}(t.flat(1).filter(RK).filter(c=>"stylesheet"===c.rel||"preload"===c.rel).map(c=>"stylesheet"===c.rel?{...c,rel:"prefetch",as:"style"}:{...c,rel:"prefetch"}))}(c,l,e).then(c=>{t||d(c)}),()=>{t=!0}},[c,l,e]),t}(G);return i.createElement(i.Fragment,null,s.map(c=>i.createElement("link",{key:c,rel:"prefetch",as:"fetch",href:c,...e})),g.map(c=>i.createElement("link",{key:c,rel:"modulepreload",href:c,...e})),x.map(({key:c,link:l})=>i.createElement("link",{key:c,nonce:e.nonce,...l,crossOrigin:l.crossOrigin??e.crossOrigin})))}function vK(...c){return l=>{c.forEach(c=>{"function"==typeof c?c(l):null!=c&&(c.current=l)})}}pK.displayName="FrameworkContext";var FK=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{FK&&(window.__reactRouterVersion="7.13.0")}catch{}var YK=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,JK=i.forwardRef(function({onClick:c,discover:l="render",prefetch:e="none",relative:t,reloadDocument:d,replace:b,state:n,target:a,to:o,preventScrollReset:u,viewTransition:X,unstable_defaultShouldRevalidate:G,...s},g){let{basename:x,unstable_useTransitions:m}=i.useContext(MP),r="string"==typeof o&&YK.test(o),H=OP(o,x),Z=function(c,{relative:l}={}){uP(qP(),"useHref() may be used only in the context of a <Router> component.");let{basename:e,navigator:t}=i.useContext(MP),{hash:d,pathname:b,search:n}=eK(c,{relative:l}),a=b;return"/"!==e&&(a="/"===b?e:fP([e,b])),t.createHref({pathname:a,search:n,hash:d})}(o=H.to,{relative:t}),[R,I,W]=function(c,l){let e=i.useContext(pK),[t,d]=i.useState(!1),[b,n]=i.useState(!1),{onFocus:a,onBlur:o,onMouseEnter:u,onMouseLeave:X,onTouchStart:G}=l,s=i.useRef(null);i.useEffect(()=>{if("render"===c&&n(!0),"viewport"===c){let c=c=>{c.forEach(c=>{n(c.isIntersecting)})},l=new IntersectionObserver(c,{threshold:.5});return s.current&&l.observe(s.current),()=>{l.disconnect()}}},[c]),i.useEffect(()=>{if(t){let c=setTimeout(()=>{n(!0)},100);return()=>{clearTimeout(c)}}},[t]);let g=()=>{d(!0)},x=()=>{d(!1),n(!1)};return e?"intent"!==c?[b,s,{}]:[b,s,{onFocus:BK(a,g),onBlur:BK(o,x),onMouseEnter:BK(u,g),onMouseLeave:BK(X,x),onTouchStart:BK(G,g)}]:[!1,s,{}]}(e,s),p=function(c,{target:l,replace:e,state:t,preventScrollReset:d,relative:b,viewTransition:n,unstable_defaultShouldRevalidate:a,unstable_useTransitions:o}={}){let u=function(){let{isDataRoute:c}=i.useContext(PP);return c?function(){let{router:c}=function(){let c=i.useContext(LP);return uP(c,oK("useNavigate")),c}(),l=uK("useNavigate"),e=i.useRef(!1);return lK(()=>{e.current=!0}),i.useCallback(async(t,d={})=>{XP(e.current,cK),e.current&&("number"==typeof t?await c.navigate(t):await c.navigate(t,{fromRouteId:l,...d}))},[c,l])}():function(){uP(qP(),"useNavigate() may be used only in the context of a <Router> component.");let c=i.useContext(LP),{basename:l,navigator:e}=i.useContext(MP),{matches:t}=i.useContext(PP),{pathname:d}=$P(),b=JSON.stringify(CP(t)),n=i.useRef(!1);return lK(()=>{n.current=!0}),i.useCallback((t,i={})=>{if(XP(n.current,cK),!n.current)return;if("number"==typeof t)return void e.go(t);let a=NP(t,JSON.parse(b),d,"path"===i.relative);null==c&&"/"!==l&&(a.pathname="/"===a.pathname?l:fP([l,a.pathname])),(i.replace?e.replace:e.push)(a,i.state,i)},[l,e,b,d,c])}()}(),X=$P(),G=eK(c,{relative:b});return i.useCallback(s=>{if(function(c,l){return!(0!==c.button||l&&"_self"!==l||function(c){return!!(c.metaKey||c.altKey||c.ctrlKey||c.shiftKey)}(c))}(s,l)){s.preventDefault();let l=void 0!==e?e:GP(X)===GP(G),g=()=>u(c,{replace:l,state:t,preventScrollReset:d,relative:b,viewTransition:n,unstable_defaultShouldRevalidate:a});o?i.startTransition(()=>g()):g()}},[X,u,G,e,t,l,c,d,b,n,a,o])}(o,{replace:b,state:n,target:a,preventScrollReset:u,relative:t,viewTransition:X,unstable_defaultShouldRevalidate:G,unstable_useTransitions:m}),y=i.createElement("a",{...s,...W,href:H.absoluteURL||Z,onClick:H.isExternal||d?c:function(l){c&&c(l),l.defaultPrevented||p(l)},ref:vK(g,I),target:a,"data-discover":r||"render"!==l?void 0:"true"});return R&&!r?i.createElement(i.Fragment,null,y,i.createElement(hK,{page:Z})):y});JK.displayName="Link";var CK=i.forwardRef(function({"aria-current":c="page",caseSensitive:l=!1,className:e="",end:t=!1,style:d,to:b,viewTransition:n,children:a,...o},u){let X=eK(b,{relative:o.relative}),G=$P(),s=i.useContext(DP),{navigator:g,basename:x}=i.useContext(MP),m=null!=s&&function(c,{relative:l}={}){let e=i.useContext(jP);uP(null!=e,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:t}=fK("useViewTransitionState"),d=eK(c,{relative:l});if(!e.isTransitioning)return!1;let b=vP(e.currentLocation.pathname,t)||e.currentLocation.pathname,n=vP(e.nextLocation.pathname,t)||e.nextLocation.pathname;return null!=hP(d.pathname,n)||null!=hP(d.pathname,b)}(X)&&!0===n,r=g.encodeLocation?g.encodeLocation(X).pathname:X.pathname,H=G.pathname,Z=s&&s.navigation&&s.navigation.location?s.navigation.location.pathname:null;l||(H=H.toLowerCase(),Z=Z?Z.toLowerCase():null,r=r.toLowerCase()),Z&&x&&(Z=vP(Z,x)||Z);const R="/"!==r&&r.endsWith("/")?r.length-1:r.length;let I,W=H===r||!t&&H.startsWith(r)&&"/"===H.charAt(R),p=null!=Z&&(Z===r||!t&&Z.startsWith(r)&&"/"===Z.charAt(r.length)),y={isActive:W,isPending:p,isTransitioning:m},B=W?c:void 0;I="function"==typeof e?e(y):[e,W?"active":null,p?"pending":null,m?"transitioning":null].filter(Boolean).join(" ");let h="function"==typeof d?d(y):d;return i.createElement(JK,{...o,"aria-current":B,className:I,ref:u,style:h,to:b,viewTransition:n},"function"==typeof a?a(y):a)});CK.displayName="NavLink";var NK=i.forwardRef(({discover:c="render",fetcherKey:l,navigate:e,reloadDocument:t,replace:d,state:b,method:n=sK,action:a,onSubmit:o,relative:u,preventScrollReset:X,viewTransition:G,unstable_defaultShouldRevalidate:s,...g},x)=>{let{unstable_useTransitions:m}=i.useContext(MP),r=function(){let{router:c}=fK("useSubmit"),{basename:l}=i.useContext(MP),e=uK("useRouteId"),t=c.fetch,d=c.navigate;return i.useCallback(async(c,b={})=>{let{action:n,method:i,encType:a,formData:o,body:u}=function(c,l){let e,t,d,b,n;if(function(c){return xK(c)&&"form"===c.tagName.toLowerCase()}(c)){let n=c.getAttribute("action");t=n?vP(n,l):null,e=c.getAttribute("method")||sK,d=HK(c.getAttribute("enctype"))||gK,b=new FormData(c)}else if(function(c){return xK(c)&&"button"===c.tagName.toLowerCase()}(c)||function(c){return xK(c)&&"input"===c.tagName.toLowerCase()}(c)&&("submit"===c.type||"image"===c.type)){let n=c.form;if(null==n)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let i=c.getAttribute("formaction")||n.getAttribute("action");if(t=i?vP(i,l):null,e=c.getAttribute("formmethod")||n.getAttribute("method")||sK,d=HK(c.getAttribute("formenctype"))||HK(n.getAttribute("enctype"))||gK,b=new FormData(n,c),!function(){if(null===mK)try{new FormData(document.createElement("form"),0),mK=!1}catch{mK=!0}return mK}()){let{name:l,type:e,value:t}=c;if("image"===e){let c=l?`${l}.`:"";b.append(`${c}x`,"0"),b.append(`${c}y`,"0")}else l&&b.append(l,t)}}else{if(xK(c))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');e=sK,t=null,d=gK,n=c}return b&&"text/plain"===d&&(n=b,b=void 0),{action:t,method:e.toLowerCase(),encType:d,formData:b,body:n}}(c,l);if(!1===b.navigate){let c=b.fetcherKey||wK();await t(c,e,b.action||n,{unstable_defaultShouldRevalidate:b.unstable_defaultShouldRevalidate,preventScrollReset:b.preventScrollReset,formData:o,body:u,formMethod:b.method||i,formEncType:b.encType||a,flushSync:b.flushSync})}else await d(b.action||n,{unstable_defaultShouldRevalidate:b.unstable_defaultShouldRevalidate,preventScrollReset:b.preventScrollReset,formData:o,body:u,formMethod:b.method||i,formEncType:b.encType||a,replace:b.replace,state:b.state,fromRouteId:e,flushSync:b.flushSync,viewTransition:b.viewTransition})},[t,d,l,e])}(),H=function(c,{relative:l}={}){let{basename:e}=i.useContext(MP),t=i.useContext(PP);uP(t,"useFormAction must be used inside a RouteContext");let[d]=t.matches.slice(-1),b={...eK(c||".",{relative:l})},n=$P();if(null==c){b.search=n.search;let c=new URLSearchParams(b.search),l=c.getAll("index");if(l.some(c=>""===c)){c.delete("index"),l.filter(c=>c).forEach(l=>c.append("index",l));let e=c.toString();b.search=e?`?${e}`:""}}return(!c||"."===c)&&d.route.index&&(b.search=b.search?b.search.replace(/^\?/,"?index&"):"?index"),"/"!==e&&(b.pathname="/"===b.pathname?e:fP([e,b.pathname])),GP(b)}(a,{relative:u}),Z="get"===n.toLowerCase()?"get":"post",R="string"==typeof a&&YK.test(a);return i.createElement("form",{ref:x,method:Z,action:H,onSubmit:t?o:c=>{if(o&&o(c),c.defaultPrevented)return;c.preventDefault();let t=c.nativeEvent.submitter,a=t?.getAttribute("formmethod")||n,g=()=>r(t||c.currentTarget,{fetcherKey:l,method:a,navigate:e,replace:d,state:b,relative:u,preventScrollReset:X,viewTransition:G,unstable_defaultShouldRevalidate:s});m&&!1!==e?i.startTransition(()=>g()):g()},...g,"data-discover":R||"render"!==c?void 0:"true"})});function fK(c){let l=i.useContext(LP);return uP(l,function(c){return`${c} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}(c)),l}NK.displayName="Form";var kK=0,wK=()=>`__${String(++kK)}__`;(function(c){for(var l=[],e=1;e<arguments.length;e++)l[e-1]=arguments[e];var t=et.apply(void 0,Zc([c],l,!1)),d="sc-global-".concat(Al(JSON.stringify(t))),b=new nt(t,d),n=new WeakMap,i=function(c){var l=Ae(),e=pl?void 0:o().useContext(_e),t=n.get(l.styleSheet);if(void 0===t&&(t=l.styleSheet.allocateGSInstance(d),n.set(l.styleSheet,t)),("undefined"==typeof window||!l.styleSheet.server)&&function(c,l,e,t,d){if(b.isStatic)b.renderStyles(c,Bl,e,d);else{var n=Hc(Hc({},l),{theme:vl(l,t,i.defaultProps)});b.renderStyles(c,n,e,d)}}(t,c,l.styleSheet,e,l.stylis),!pl){var a=o().useRef(!0);o().useLayoutEffect(function(){return a.current=!1,function(){a.current=!0,queueMicrotask(function(){a.current&&(b.removeStyles(t,l.styleSheet),"undefined"!=typeof document&&document.querySelectorAll('style[data-styled-global="'.concat(d,'"]')).forEach(function(c){return c.remove()}))})}},[t,l.styleSheet])}if(pl){var u=d+t,X="undefined"==typeof window?l.styleSheet.getTag().getGroup(ge(u)):"";if(X){var G="".concat(d,"-").concat(t);return o().createElement("style",{key:G,"data-styled-global":d,precedence:"styled-components",href:G,children:X})}}return null};return o().memo(i)})` :root { --text-primary: #1d2327; --text-secondary: #50575e; --bg-primary: #ffffff; --bg-secondary: #f0f0f1; --bg-tertiary: #F6FAFC; --border-color: #ccd0d4; --active-bg: #F6FAFC; --icon-color: #8d96a0; --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); --wpmvc-header-height: 70px; } #wpbody-content > .notice { display: none; } [role = "menu"]{ [data-active-item="true"]{ --wp-admin-theme-color: var(--wpmvc-primary-500); } } .components-popover{ --wp-admin-theme-color: var(--wpmvc-primary-500); --wp-components-color-gray-600: var(--wpmvc-gray-600); --wp-components-color-foreground: var(--wpmvc-background-dark); } .components-toggle-group-control::before { background: var( --wpmvc-primary-500, var( --wp-components-color-foreground, #1e1e1e ) ) !important; } `;const zK={top:"0px",left:"0px",hideHeader:!0};let SK,AK,QK,OK={data:""},UK=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,TK=/\/\*[^]*?\*\/| +/g,LK=/\n+/g,DK=(c,l)=>{let e="",t="",d="";for(let b in c){let n=c[b];"@"==b[0]?"i"==b[1]?e=b+" "+n+";":t+="f"==b[1]?DK(n,b):b+"{"+DK(n,"k"==b[1]?"":l)+"}":"object"==typeof n?t+=DK(n,l?l.replace(/([^,])+/g,c=>b.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,l=>/&/.test(l)?l.replace(/&/g,c):c?c+" "+l:l)):b):null!=n&&(b=/^--/.test(b)?b:b.replace(/[A-Z]/g,"-$&").toLowerCase(),d+=DK.p?DK.p(b,n):b+":"+n+";")}return e+(l&&d?l+"{"+d+"}":d)+t},jK={},MK=c=>{if("object"==typeof c){let l="";for(let e in c)l+=e+MK(c[e]);return l}return c};function EK(c){let l=this||{},e=c.call?c(l.p):c;return((c,l,e,t,d)=>{let b=MK(c),n=jK[b]||(jK[b]=(c=>{let l=0,e=11;for(;l<c.length;)e=101*e+c.charCodeAt(l++)>>>0;return"go"+e})(b));if(!jK[n]){let l=b!==c?c:(c=>{let l,e,t=[{}];for(;l=UK.exec(c.replace(TK,""));)l[4]?t.shift():l[3]?(e=l[3].replace(LK," ").trim(),t.unshift(t[0][e]=t[0][e]||{})):t[0][l[1]]=l[2].replace(LK," ").trim();return t[0]})(c);jK[n]=DK(d?{["@keyframes "+n]:l}:l,e?"":"."+n)}let i=e&&jK.g?jK.g:null;return e&&(jK.g=jK[n]),((c,l,e,t)=>{t?l.data=l.data.replace(t,c):-1===l.data.indexOf(c)&&(l.data=e?c+l.data:l.data+c)})(jK[n],l,t,i),n})(e.unshift?e.raw?((c,l,e)=>c.reduce((c,t,d)=>{let b=l[d];if(b&&b.call){let c=b(e),l=c&&c.props&&c.props.className||/^go/.test(c)&&c;b=l?"."+l:c&&"object"==typeof c?c.props?"":DK(c,""):!1===c?"":c}return c+t+(b??"")},""))(e,[].slice.call(arguments,1),l.p):e.reduce((c,e)=>Object.assign(c,e&&e.call?e(l.p):e),{}):e,(c=>{if("object"==typeof window){let l=(c?c.querySelector("#_goober"):window._goober)||Object.assign(document.createElement("style"),{innerHTML:" ",id:"_goober"});return l.nonce=window.__nonce__,l.parentNode||(c||document.head).appendChild(l),l.firstChild}return c||OK})(l.target),l.g,l.o,l.k)}EK.bind({g:1});let PK=EK.bind({k:1});function KK(c,l){let e=this||{};return function(){let l=arguments;return function t(d,b){let n=Object.assign({},d),i=n.className||t.className;e.p=Object.assign({theme:AK&&AK()},n),e.o=/ *go\d+/.test(i),n.className=EK.apply(e,l)+(i?" "+i:"");let a=c;return c[0]&&(a=n.as||c,delete n.as),QK&&a[0]&&QK(n),SK(a,n)}}}var _K=(c,l)=>(c=>"function"==typeof c)(c)?c(l):c,qK=(()=>{let c=0;return()=>(++c).toString()})(),$K=(()=>{let c;return()=>{if(void 0===c&&typeof window<"u"){let l=matchMedia("(prefers-reduced-motion: reduce)");c=!l||l.matches}return c}})(),c_="default",l_=(c,l)=>{let{toastLimit:e}=c.settings;switch(l.type){case 0:return{...c,toasts:[l.toast,...c.toasts].slice(0,e)};case 1:return{...c,toasts:c.toasts.map(c=>c.id===l.toast.id?{...c,...l.toast}:c)};case 2:let{toast:t}=l;return l_(c,{type:c.toasts.find(c=>c.id===t.id)?1:0,toast:t});case 3:let{toastId:d}=l;return{...c,toasts:c.toasts.map(c=>c.id===d||void 0===d?{...c,dismissed:!0,visible:!1}:c)};case 4:return void 0===l.toastId?{...c,toasts:[]}:{...c,toasts:c.toasts.filter(c=>c.id!==l.toastId)};case 5:return{...c,pausedAt:l.time};case 6:let b=l.time-(c.pausedAt||0);return{...c,pausedAt:void 0,toasts:c.toasts.map(c=>({...c,pauseDuration:c.pauseDuration+b}))}}},e_=[],t_={toasts:[],pausedAt:void 0,settings:{toastLimit:20}},d_={},b_=(c,l=c_)=>{d_[l]=l_(d_[l]||t_,c),e_.forEach(([c,e])=>{c===l&&e(d_[l])})},n_=c=>Object.keys(d_).forEach(l=>b_(c,l)),i_=(c=c_)=>l=>{b_(l,c)},a_=c=>(l,e)=>{let t=((c,l="blank",e)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:l,ariaProps:{role:"status","aria-live":"polite"},message:c,pauseDuration:0,...e,id:e?.id||qK()}))(l,c,e);return i_(t.toasterId||(c=>Object.keys(d_).find(l=>d_[l].toasts.some(l=>l.id===c)))(t.id))({type:2,toast:t}),t.id},o_=(c,l)=>a_("blank")(c,l);o_.error=a_("error"),o_.success=a_("success"),o_.loading=a_("loading"),o_.custom=a_("custom"),o_.dismiss=(c,l)=>{let e={type:3,toastId:c};l?i_(l)(e):n_(e)},o_.dismissAll=c=>o_.dismiss(void 0,c),o_.remove=(c,l)=>{let e={type:4,toastId:c};l?i_(l)(e):n_(e)},o_.removeAll=c=>o_.remove(void 0,c),o_.promise=(c,l,e)=>{let t=o_.loading(l.loading,{...e,...e?.loading});return"function"==typeof c&&(c=c()),c.then(c=>{let d=l.success?_K(l.success,c):void 0;return d?o_.success(d,{id:t,...e,...e?.success}):o_.dismiss(t),c}).catch(c=>{let d=l.error?_K(l.error,c):void 0;d?o_.error(d,{id:t,...e,...e?.error}):o_.dismiss(t)}),c};var u_=PK` from { transform: scale(0) rotate(45deg); opacity: 0; } to { transform: scale(1) rotate(45deg); opacity: 1; }`,X_=PK` from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; }`,G_=PK` from { transform: scale(0) rotate(90deg); opacity: 0; } to { transform: scale(1) rotate(90deg); opacity: 1; }`,s_=KK("div")` width: 20px; opacity: 0; height: 20px; border-radius: 10px; background: ${c=>c.primary||"#ff4b4b"}; position: relative; transform: rotate(45deg); animation: ${u_} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; animation-delay: 100ms; &:after, &:before { content: ''; animation: ${X_} 0.15s ease-out forwards; animation-delay: 150ms; position: absolute; border-radius: 3px; opacity: 0; background: ${c=>c.secondary||"#fff"}; bottom: 9px; left: 4px; height: 2px; width: 12px; } &:before { animation: ${G_} 0.15s ease-out forwards; animation-delay: 180ms; transform: rotate(90deg); } `,g_=PK` from { transform: rotate(0deg); } to { transform: rotate(360deg); } `,x_=KK("div")` width: 12px; height: 12px; box-sizing: border-box; border: 2px solid; border-radius: 100%; border-color: ${c=>c.secondary||"#e0e0e0"}; border-right-color: ${c=>c.primary||"#616161"}; animation: ${g_} 1s linear infinite; `,m_=PK` from { transform: scale(0) rotate(45deg); opacity: 0; } to { transform: scale(1) rotate(45deg); opacity: 1; }`,r_=PK` 0% { height: 0; width: 0; opacity: 0; } 40% { height: 0; width: 6px; opacity: 1; } 100% { opacity: 1; height: 10px; }`,H_=KK("div")` width: 20px; opacity: 0; height: 20px; border-radius: 10px; background: ${c=>c.primary||"#61d345"}; position: relative; transform: rotate(45deg); animation: ${m_} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; animation-delay: 100ms; &:after { content: ''; box-sizing: border-box; animation: ${r_} 0.2s ease-out forwards; opacity: 0; animation-delay: 200ms; position: absolute; border-right: 2px solid; border-bottom: 2px solid; border-color: ${c=>c.secondary||"#fff"}; bottom: 6px; left: 6px; height: 10px; width: 6px; } `,Z_=KK("div")` position: absolute; `,R_=KK("div")` position: relative; display: flex; justify-content: center; align-items: center; min-width: 20px; min-height: 20px; `,I_=PK` from { transform: scale(0.6); opacity: 0.4; } to { transform: scale(1); opacity: 1; }`,W_=KK("div")` position: relative; transform: scale(0.6); opacity: 0.4; min-width: 20px; animation: ${I_} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; `,p_=({toast:c})=>{let{icon:l,type:e,iconTheme:t}=c;return void 0!==l?"string"==typeof l?i.createElement(W_,null,l):l:"blank"===e?null:i.createElement(R_,null,i.createElement(x_,{...t}),"loading"!==e&&i.createElement(Z_,null,"error"===e?i.createElement(s_,{...t}):i.createElement(H_,{...t})))},y_=c=>`\n0% {transform: translate3d(0,${-200*c}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,B_=c=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${-150*c}%,-1px) scale(.6); opacity:0;}\n`,h_=KK("div")` display: flex; align-items: center; background: #fff; color: #363636; line-height: 1.3; will-change: transform; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); max-width: 350px; pointer-events: auto; padding: 8px 10px; border-radius: 8px; `,V_=KK("div")` display: flex; justify-content: center; margin: 4px 10px; color: inherit; flex: 1 1 auto; white-space: pre-line; `;i.memo(({toast:c,position:l,style:e,children:t})=>{let d=c.height?((c,l)=>{let e=c.includes("top")?1:-1,[t,d]=$K()?["0%{opacity:0;} 100%{opacity:1;}","0%{opacity:1;} 100%{opacity:0;}"]:[y_(e),B_(e)];return{animation:l?`${PK(t)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${PK(d)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}})(c.position||l||"top-center",c.visible):{opacity:0},b=i.createElement(p_,{toast:c}),n=i.createElement(V_,{...c.ariaProps},_K(c.message,c));return i.createElement(h_,{className:c.className,style:{...d,...e,...c.style}},"function"==typeof t?t({icon:b,message:n}):i.createElement(i.Fragment,null,b,n))}),function(c){DK.p=void 0,SK=c,AK=void 0,QK=void 0}(i.createElement),EK` z-index: 9999; > * { pointer-events: auto; } `;const v_=it` from { opacity: 0; transform: translateY(4px); filter: blur(3px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } `;function F_({errors:c,clearErrors:l}){return Object.keys(c).length?(0,gc.jsx)("div",{style:{marginBottom:"16px"},children:(0,gc.jsx)(iL,{status:"error",isDismissible:!0,onRemove:l,children:(0,gc.jsx)("ul",{children:Object.entries(c).map(([c,l])=>(0,gc.jsx)("li",{children:l},c))})})}):null}bt.div` animation: ${v_} 0.45s ease; `,bt.header` position: fixed; min-height: var( --wpmvc-header-height ); top: ${c=>`${c.$top}px`}; left: ${c=>`${c.$left}px`}; right: 0; height: auto; background: white; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 99; `,bt.div` display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; color: var( --text-primary ); `,bt.div` display: flex; align-items: center; justify-content: space-between; width: 100%; `,bt.div` display: flex; align-items: center; gap: 40px; `,bt.div` @media ( max-width: 768px ) { display: none; } `,bt.div` display: none; @media ( max-width: 768px ) { display: flex; gap: 10px; align-items: center; } `,bt.nav` display: flex; gap: 4px; @media ( max-width: 768px ) { display: none; } `,bt.div` width: 100%; padding: 15px 24px; box-sizing: border-box; border-bottom: 1px solid rgba( 0, 0, 0, 0.13 ); `,bt.div` width: 100%; z-index: 99; background-color: #fff; box-shadow: 0 1px 2px 0 rgba( 0, 0, 0, 0.05 ); `,bt.div` display: ${({$open:c})=>c?"block":"none"}; background: var( --bg-primary ); padding: 20px 20px 100px 20px; position: fixed; overflow-y: auto; top: calc( var( --wpmvc-header-height ) + ${({$top:c})=>`${c}px`} ); left: 0; right: 0; bottom: 0; z-index: 9; .menu-section { display: flex; flex-direction: column; gap: 12px; margin-bottom: 10px; } .bottom-actions { position: sticky; bottom: 0; background: var( --bg-primary ); padding: 12px 0 52px; display: flex; justify-content: flex-start; gap: 12px; z-index: 1; border-top: 1px solid var( --border-color ); } @media ( min-width: 769px ) { display: none !important; } `,bt.div` position: fixed; top: ${c=>`${c.$top}px`}; left: ${c=>`${c.$left}px`}; bottom: 0; right: 0; z-index: 900; overflow-y: auto; background: #f4f7f9; `,bt.div` position: relative; ${({$isHeaderHidden:c})=>c?"":"padding-top: var( --wpmvc-header-height );"} `,function(){const c=(0,ut.createReduxStore)("my-dashboard/global",{reducer(c=zK,l){switch(l.type){case"SET_LOCATION":return{...c,location:l.payload};case"SET_NAVIGATE":return{...c,navigate:l.payload};case"SET_LEFT":return{...c,left:l.payload};case"SET_TOP":return{...c,top:l.payload};case"SET_HIDE_HEADER":return{...c,hideHeader:l.payload};default:return c}},actions:{setLocation:c=>({type:"SET_LOCATION",payload:c}),setNavigate:c=>({type:"SET_NAVIGATE",payload:c}),setTop:c=>({type:"SET_TOP",payload:c}),setLeft:c=>({type:"SET_LEFT",payload:c}),setRight:c=>({type:"SET_RIGHT",payload:c}),setHideHeader:c=>({type:"SET_HIDE_HEADER",payload:c})},selectors:{getLocation:(c=zK)=>c.location,getNavigate:(c=zK)=>c.navigate,getTop:(c=zK)=>c.top,getLeft:(c=zK)=>c.left,getHideHeader:(c=zK)=>c.hideHeader}});(0,ut.register)(c)}(),bt.nav` position: fixed; bottom: 0; left: ${({$left:c})=>`${c}px`}; height: ${({$top:c,$isHeaderHidden:l})=>l?`calc(100vh - ${c}px - 1px)`:`calc(100vh - (var(--wpmvc-header-height) + ${c}px) - 1px)`}; width: ${({$width:c})=>`${c}px`}; background: var( --wpmvc-background-light ); // box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.1 ); z-index: 900; overflow-y: auto; border-right: 1px solid rgba( 0, 0, 0, 0.13 ); @media ( max-width: 768px ) { display: ${({$open:c})=>c?"block":"none"}; position: fixed; top: calc( var( --wpmvc-header-height ) + ${({$top:c})=>`${c}px`} + 1px ); width: 100%; background: var( --bg-primary ); } `,bt.div` margin: 16px 0; padding: 0 10px; `,bt.div` padding-left: ${({$width:c})=>`${c}px`}; @media ( max-width: 768px ) { padding-left: 0px; } `;const Y_=bt.div` display: flex; justify-content: flex-end; gap: 8px; `;function J_({isOpen:c,title:l,okLabel:e,cancelLabel:t,fields:d,onClose:b,onSubmit:i,onSuccess:a,isLoading:o=!1,attributes:u,setAttributes:X,resetAttributes:G}){const[s,g]=(0,n.useState)(!1),[x,m]=(0,n.useState)(!1),[r,H]=(0,n.useState)({}),Z=(0,n.useRef)(null),R=()=>{s||(b(),H({}),X({}),m(!1))};return(0,gc.jsxs)(bL,{isOpen:c,title:l,size:"large",isDismissible:!s,isFullScreen:x,onClose:R,footer:(0,gc.jsxs)(Y_,{children:[(0,gc.jsx)(UT,{variant:"secondary",onClick:R,disabled:s,children:t}),(0,gc.jsx)(UT,{variant:"primary",onClick:()=>{Z.current?.requestSubmit()},isBusy:s,disabled:s||o,children:e})]}),headerActions:(0,gc.jsx)(UT,{icon:tP,label:(0,Gc.__)("Fullscreen mode"),size:"compact",onClick:()=>m(!x)}),children:[(0,gc.jsx)(F_,{errors:r,clearErrors:()=>H({})}),o?(0,gc.jsx)(aP,{}):(0,gc.jsx)("form",{ref:Z,onSubmit:async c=>{c.preventDefault(),g(!0),H({});try{const c=await i(u);oP({message:c.message}),R(),G(),a?.(c)}catch(c){H(c?.messages||{error:c?.message||(0,Gc.__)("Something went wrong.")}),Z.current?.scrollIntoView({behavior:"smooth",block:"start"})||window.scrollTo({top:0,behavior:"smooth"})}finally{g(!1)}},children:(0,gc.jsx)(uE,{fields:d,attributes:u,setAttributes:X})})]})}function C_({isOpen:c,closeModal:l,fields:e,title:t,okLabel:d,cancelLabel:b,onSubmit:n,onSuccess:i}){const[a,o,u]=XE({});return(0,gc.jsx)(J_,{isOpen:c,title:t,okLabel:d,cancelLabel:b,fields:e,onClose:l,onSubmit:n,attributes:a,setAttributes:o,resetAttributes:u,onSuccess:i})}function N_({onSubmit:c,fields:l,addNewLabel:e,title:t,okLabel:d,cancelLabel:b,onSuccess:i,isDisabled:a}){const[o,u]=(0,n.useState)(!1);return(0,gc.jsxs)(gc.Fragment,{children:[(0,gc.jsx)(UT,{variant:"primary",onClick:()=>u(!0),disabled:a,children:e||(0,Gc.__)("Add New")}),(0,gc.jsx)(C_,{title:t,isOpen:o,closeModal:()=>u(!1),fields:l,onSubmit:c,okLabel:d,cancelLabel:b,onSuccess:i})]})}const f_=bt.div` display: flex; justify-content: flex-end; gap: 8px; `;function k_({id:c,title:l,setId:e,onSubmit:t,onSuccess:d,okLabel:b,cancelLabel:i,message:a=(0,Gc.__)("Are you sure you want to delete this item?")}){const[o,u]=(0,n.useState)(!1),[X,G]=(0,n.useState)(!1),[s,g]=(0,n.useState)({});(0,n.useEffect)(()=>{c&&u(!0)},[c]);const x=()=>{X||(u(!1),e(0),g({}))};return(0,gc.jsxs)(bL,{isOpen:o,title:l,size:"small",isDismissible:!X,onClose:x,footer:(0,gc.jsxs)(f_,{children:[(0,gc.jsx)(UT,{variant:"secondary",onClick:x,disabled:X,children:i}),(0,gc.jsx)(UT,{variant:"primary",onClick:async()=>{G(!0),g({});try{const l=await t(c);oP({message:l.message}),x(),d?.(l)}catch(c){console.error(c),g(c?.message?{delete:c.message}:c?.messages||{})}finally{G(!1)}},isBusy:X,disabled:X,children:b})]}),children:[(0,gc.jsx)(F_,{errors:s,clearErrors:()=>g({})}),a]})}function w_({path:c,editId:l,setEditId:e,onSubmit:t,fields:d,title:b,okLabel:i,cancelLabel:a,onSuccess:o}){const[u,X]=(0,n.useState)(!1),[G,s]=(0,n.useState)(!0),[g,x,m]=XE({});return(0,n.useEffect)(()=>{l&&(X(!0),(async()=>{s(!0);try{const e=await ac({path:`${c}/${l}`});x(e.data)}catch(c){console.error(c)}finally{s(!1)}})())},[l]),(0,gc.jsx)(J_,{isOpen:u,title:b,okLabel:i,cancelLabel:a,fields:d,onClose:()=>{X(!1),e(0),s(!0)},onSubmit:c=>t(l,c),initialAttributes:g,isLoading:G,attributes:g,setAttributes:x,resetAttributes:m,onSuccess:o})}const z_=bt.div` margin: 0 auto; .dataviews-view-table { thead { th { background-color: #f9f9f9; border-bottom: 1px solid #f0f0f0; } } } `;function S_({heading:c,path:l,columns:e,storeName:t,actions:d,create:b,destroy:i,edit:a,showTable:o=!0,beforeTable:u,cardFooter:X,headerRight:G,...s}){const g=(0,at.useInstanceId)(S_,"wpmvc-dashboard-table"),x=t||g,[m,r]=(0,n.useState)(0),[H,Z]=(0,n.useState)(0);!function(c){if((0,ut.select)(c.name))return;const l=function({path:c}){const l={path:c,item:null,items:[],queryParams:{search:"",page:1,perPage:10,sort:{}}};return{reducer:(c=l,e)=>lP(c,c=>{switch(e.type){case"SET_ITEM":c.item=e.item;break;case"SET_ITEMS":c.items=e.items;break;case"RESET":c.items=[],c.item=null;break;case"SET_QUERY_PARAMS":c.queryParams=e.params;break;case"UPDATE_ITEM":c.items.items=c.items.items.map(c=>(c?.id??c?.ID)===e.id?{...c,...e.item}:c)}}),actions:{setItem:c=>({type:"SET_ITEM",item:c}),setItems:c=>({type:"SET_ITEMS",items:c}),updateItem:(c,l)=>({type:"UPDATE_ITEM",id:c,item:l}),reset:()=>({type:"RESET"}),setQueryParams:c=>({type:"SET_QUERY_PARAMS",params:c}),create:l=>async({dispatch:e})=>{const t=await ac({path:c,method:"POST",data:l});return e.invalidateResolution("get"),t},update:(l,e)=>async({dispatch:t})=>{const d=await ac({path:`${c}/${l}`,method:"PATCH",data:e});return t.invalidateResolution("get"),d},destroy:l=>async({dispatch:e})=>{const t=await ac({path:`${c}/${l}`,method:"DELETE"});return e.invalidateResolution("get"),e.invalidateResolution("show"),t},refresh:c=>({dispatch:l})=>{c&&(l.reset(),l.setQueryParams(c)),l.invalidateResolution("get"),l.invalidateResolution("show")},resetQueryParamsAndRefresh:()=>({dispatch:c})=>{c.setQueryParams(l.queryParams),c.invalidateResolution("get"),c.invalidateResolution("show")}},selectors:{get:c=>c.items,getQueryParams:c=>c.queryParams,getItem:c=>c.item,show:c=>c.item,getPath:c=>c.path},resolvers:{get:()=>async({dispatch:l,select:e})=>{const t=await ac({path:(0,eP.addQueryArgs)(c,e.getQueryParams())});l.setItems(t)},show:({id:l})=>async({dispatch:e})=>{const t=`${c}/${l}`,d=await ac({path:t});e.setItem(d)}}}}(c),e=lP(l,c=>{}),t=(0,ut.createReduxStore)(c.name,e);(0,ut.register)(t)}({name:x,path:l});const{data:R,isResolved:I}=function({name:c,selector:l}){const{data:e,isResolved:t}=(0,ut.useSelect)(e=>{const{hasFinishedResolution:t,get:d,show:b}=e(c);return{data:"get"===l?d():b(),isResolved:t(l)}},[c]);return{data:e,isResolved:t}}({name:x,selector:"get"}),{refresh:W,resetQueryParamsAndRefresh:p,create:y,update:B,updateItem:h,destroy:V}=function({name:c}){const{refresh:l,resetQueryParamsAndRefresh:e,create:t,update:d,updateItem:b,setItem:n,destroy:i}=(0,ut.useDispatch)(c);return{refresh:l,resetQueryParamsAndRefresh:e,create:t,update:d,updateItem:b,setItem:n,destroy:i}}({name:x,path:l}),v=(0,Gt.isUndefined)(b?.status)||!0===b?.status,F=(0,Gt.isUndefined)(a?.status)||!0===a?.status,Y=(0,Gt.isUndefined)(i?.status)||!0===i?.status,J=(0,n.useMemo)(()=>{let c=[];return F&&c.push({id:"edit",label:a?.buttonLabel??(0,Gc.__)("Edit"),callback:c=>{const l=c[0];if(a?.onClick)a.onClick(l);else{const l=parseInt(c[0]?.id??c[0]?.ID);isNaN(l)||r(l)}}}),Y&&c.push({id:"delete",icon:RM,label:i?.buttonLabel??(0,Gc.__)("Delete"),isPrimary:!0,callback:c=>{const l=parseInt(c[0]?.id??c[0]?.ID);isNaN(l)||Z(l)}}),c},[F,Y]),C=(0,n.useMemo)(()=>[...d??[],...J],[d,J]),N=function({name:c}){return(0,ut.useSelect)(l=>{const{getQueryParams:e}=l(c);return e()},[c])}({name:x}),f=(0,n.useMemo)(()=>e.map(c=>{if(!c.isStatus)return c;const{render:e,path:t}=c;return{...c,render:({item:d})=>{const[b,i]=(0,n.useState)(!1);return e({item:d,onChange:async e=>{i(!0);try{await ac({path:`${t??l}/${d?.id??d?.ID}/${c.id}`,method:"POST",data:{value:e}}),h(d?.id??d?.ID,{...d,[c.id]:e})}catch(c){console.error("Failed to update status:",c)}finally{i(!1)}},isLoading:b})}}}),[e,h,l]);return(0,gc.jsx)(Xc.Card,{children:(0,gc.jsxs)(z_,{children:[(0,gc.jsx)(Xc.CardHeader,{children:(0,gc.jsxs)(bP,{heading:c,children:[G,v&&!b?.onClick&&(0,gc.jsx)(N_,{onSubmit:y,fields:b?.fields??{},addNewLabel:b?.buttonLabel??(0,Gc.__)("Add New"),title:b?.title??(0,Gc.__)("Add Item"),okLabel:b?.okLabel??(0,Gc.__)("Create"),cancelLabel:b?.cancelLabel??(0,Gc.__)("Cancel"),onSuccess:c=>{b?.onSuccess?.(c),p()},isDisabled:b?.isDisabled})]})}),F&&(0,gc.jsx)(w_,{path:l,onSubmit:B,fields:a?.fields??{},editId:m,setEditId:r,title:a?.title??(0,Gc.__)("Edit Item"),okLabel:a?.okLabel??(0,Gc.__)("Save"),cancelLabel:a?.cancelLabel??(0,Gc.__)("Cancel"),onSuccess:a?.onSuccess}),Y&&(0,gc.jsx)(k_,{id:H,setId:Z,onSubmit:V,title:i?.title??(0,Gc.__)("Delete Item"),okLabel:i?.okLabel??(0,Gc.__)("Delete"),cancelLabel:i?.cancelLabel??(0,Gc.__)("Cancel"),message:i?.message,onSuccess:i?.onSuccess}),(0,gc.jsxs)(Xc.CardBody,{children:[u,o&&(0,gc.jsx)(IL,{...s,items:R.items??[],total:R.total??0,isLoading:!I,fields:f,refresh:W,actions:C,queryParams:N})]}),X&&(0,gc.jsx)(Xc.CardFooter,{children:X})]})})}const A_=window.moment;var Q_=d.n(A_);const O_={active:"active",paid:"paid",pending:"pending",trialing:"trialing",cancelled:"cancelled",paused:"paused",past_due:"error",canceled_at_period_end:"error",expired:"expired"},U_=bt.div` padding: 24px; font-family: 'Inter', sans-serif; &.directorist-container--frontend { font-family: inherit; } .dataviews-view-table { th, td { vertical-align: middle; } } .components-card { border-radius: 8px; border: 1px solid #e7ecee; box-shadow: 0 1px 2px 0 rgba( 0, 0, 0, 0.05 ); } .components-card__header { padding: calc( 12px ) calc( 32px ); min-height: 60px; .components-heading { font-size: 18px; font-weight: 600; } } `,T_=(bt.div` .directorist-subscription-details-label { display: flex; align-items: center; margin: 0 0 6px; } .directorist-subscription-id { font-size: 24px; font-weight: 400; color: var( --wpmvc-gray-900 ); margin-right: 10px; } .directorist-subscription-details-meta { font-size: 12px; font-weight: 400; color: var( --wpmvc-gray-600 ); } `,bt.ul` &.directorist-has-border { li { border-top: 1px solid var( --wpmvc-gray-50 ); padding: 14px 0 7px; } } li { display: flex; justify-content: space-between; margin: 0; padding-bottom: 14px; &.directorist-list-highlight { span { font-size: 14px; font-weight: 500; color: var( --wpmvc-gray-900 ); } } &:last-child { border-bottom: none; padding-bottom: 0; } span { font-size: 12px; color: var( --wpmvc-gray-400 ); font-weight: 500; } .directorist-list-coupon { .directorist-badge { margin-right: 8px; } } } `,bt.ul` .directorist-infobox-item { display: flex; flex-direction: column; gap: 5px; &:not( :last-child ) { margin-bottom: 14px; } .directorist-infobox-item-label { font-size: 14px; font-weight: 500; color: var( --wpmvc-gray-900 ); } .directorist-infobox-item-text { font-size: 12px; font-weight: 400; color: var( --wpmvc-gray-500 ); } } `,(c,l)=>{const e=window.directorist_admin_order;if(!e)return`${c} ${l}`;const{symbol_position:t,symbol:d}=e;return"before"===t?`${d}${c}`:`${c}${d}`});bt.div` display: flex; flex-direction: column; gap: 4px; padding: 8px 0; .directorist-user-email { color: var( --color-gray-500 ); } `;const L_=bt.div` display: flex; flex-direction: column; gap: 4px; .directorist-billing-amount { color: var( --color-gray-500 ); } `,D_=(bt.a` color: #3a6fac; text-decoration: none; &:hover { text-decoration: underline; } `,bt.div` display: flex; justify-content: flex-end; gap: 8px; .components-button { border-radius: 4px; &.directorist-button-cancel { color: var( --directorist-color-danger ); border-color: var( --directorist-color-danger ); box-shadow: inset 0 0 0 1px var( --directorist-color-danger ), 0 0 0 currentColor; &:hover { color: var( --directorist-color-danger ); box-shadow: inset 0 0 0 1px var( --directorist-color-danger ), 0 0 0 currentColor; } } &.is-primary { background-color: var( --directorist-color-primary ); &:hover:not( :disabled ) { background-color: var( --directorist-color-dark ); } } } `),j_=bt.div` display: flex; justify-content: flex-end; white-space: nowrap; .components-dropdown-menu__toggle { min-width: 32px; height: 32px; padding: 0; } .components-button.has-icon { padding: 0; } svg { width: 18px; height: 18px; } `,M_=bt.div` display: flex; flex-direction: column; gap: 12px; `,E_=bt.h3` font-size: 16px; font-weight: 600; color: var( --directorist-color-dark ); margin: 0; padding: 0; line-height: 1.5; `,P_=bt.div` display: flex; flex-direction: column; gap: 8px; max-height: 420px; overflow: auto; padding-right: 4px; `,K_=bt.label` display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var( --directorist-color-light, #eaecf0 ); border-radius: 5px; cursor: pointer; &:hover { border-color: var( --color-gray-300, #d0d5dd ); } `,q_=bt.input` margin-top: 3px; `,$_=bt.div` display: flex; flex-direction: column; gap: 6px; min-width: 0; margin-top: -2px; `,cq=bt.div` display: flex; align-items: center; gap: 20px; > span { display: flex; align-items: center; gap: 6px; } `,lq=bt.span` display: flex; align-items: center; gap: 10px; .directorist-pricing-plan-title { font-size: 16px; font-weight: 600; color: var( --directorist-color-dark ); } .directorist-pricing-plan-price { font-size: 18px; font-weight: 600; color: var( --directorist-color-dark ); } `,eq=(bt.span` color: var( --color-gray-600, #667085 ); font-size: 13px; line-height: 1.35; `,({size:c=14,color:l="currentColor",className:e})=>(0,gc.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:c,height:c,viewBox:"0 0 14 12",fill:"none",className:e,style:{color:l},children:[(0,gc.jsx)("path",{d:"M4.75 0.75H13.75",stroke:"currentColor",strokeWidth:"1.5"}),(0,gc.jsx)("path",{d:"M0.25 0.75H2.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,gc.jsx)("path",{d:"M4.75 6H13.75",stroke:"currentColor",strokeWidth:"1.5"}),(0,gc.jsx)("path",{d:"M0.25 6H2.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,gc.jsx)("path",{d:"M4.75 11.25H13.75",stroke:"currentColor",strokeWidth:"1.5"}),(0,gc.jsx)("path",{d:"M0.25 11.25H2.5",stroke:"currentColor",strokeWidth:"1.5"})]})),tq=({size:c=16,color:l="currentColor",className:e})=>(0,gc.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:c,height:c,viewBox:"0 0 16 16",fill:"none",className:e,style:{color:l},children:(0,gc.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.80949 0.72562C7.93596 0.707345 8.0644 0.707345 8.19086 0.72562C8.33662 0.746682 8.47225 0.797919 8.57994 0.838603C8.58979 0.842326 8.59942 0.845961 8.60879 0.849477L12.1833 2.18993C12.2126 2.2009 12.2416 2.21174 12.2704 2.22249C12.6823 2.37626 13.044 2.5113 13.3225 2.75678C13.5662 2.97152 13.7539 3.24239 13.8694 3.54595C14.0015 3.89296 14.0009 4.27904 14.0003 4.71866C14.0002 4.74939 14.0002 4.78039 14.0002 4.81165V7.99991C14.0002 9.88433 12.9753 11.4554 11.8675 12.6095C10.7522 13.7714 9.47618 14.592 8.80144 14.9857C8.79254 14.9909 8.78344 14.9962 8.77413 15.0017C8.651 15.074 8.49118 15.1678 8.27975 15.2132C8.10678 15.2503 7.89357 15.2503 7.7206 15.2132C7.50917 15.1678 7.34935 15.074 7.22622 15.0017C7.21691 14.9962 7.20781 14.9909 7.19891 14.9857C6.52417 14.592 5.24815 13.7714 4.13288 12.6095C3.02504 11.4554 2.00018 9.88433 2.00018 7.99991V4.81165C2.00018 4.78039 2.00013 4.7494 2.00009 4.71867C1.99945 4.27904 1.99889 3.89296 2.13094 3.54595C2.24645 3.24239 2.43416 2.97152 2.67783 2.75678C2.95638 2.5113 3.31808 2.37626 3.72994 2.22249C3.75873 2.21174 3.78776 2.2009 3.81703 2.18993L7.39156 0.849477C7.40094 0.845961 7.41056 0.842326 7.42042 0.838603C7.52811 0.797919 7.66373 0.746682 7.80949 0.72562ZM7.99816 2.04743C7.97093 2.05636 7.934 2.07006 7.85973 2.09792L4.2852 3.43837C3.73504 3.64468 3.62916 3.69561 3.5594 3.75709C3.47817 3.82867 3.4156 3.91896 3.3771 4.02015C3.34403 4.10706 3.33351 4.22408 3.33351 4.81165V7.99991C3.33351 9.38779 4.0933 10.6429 5.09479 11.6862C6.08885 12.7218 7.24683 13.47 7.87079 13.834C7.90893 13.8562 7.93644 13.8723 7.96035 13.8857C7.97912 13.8963 7.99161 13.903 8.00018 13.9073C8.00874 13.903 8.02123 13.8963 8.04 13.8857C8.06392 13.8723 8.09143 13.8562 8.12956 13.834C8.75353 13.47 9.91151 12.7218 10.9056 11.6862C11.9071 10.6429 12.6668 9.38779 12.6668 7.99991V4.81165C12.6668 4.22408 12.6563 4.10706 12.6233 4.02015C12.5848 3.91896 12.5222 3.82867 12.441 3.75709C12.3712 3.69561 12.2653 3.64468 11.7152 3.43837L8.14063 2.09792C8.06635 2.07006 8.02942 2.05636 8.00219 2.04743C8.00149 2.0472 8.00082 2.04698 8.00018 2.04677C7.99953 2.04698 7.99886 2.0472 7.99816 2.04743ZM10.8049 5.52851C11.0653 5.78886 11.0653 6.21097 10.8049 6.47132L7.80491 9.47132C7.54456 9.73167 7.12245 9.73167 6.8621 9.47132L5.52877 8.13798C5.26842 7.87764 5.26842 7.45553 5.52877 7.19518C5.78912 6.93483 6.21123 6.93483 6.47158 7.19518L7.33351 8.05711L9.86211 5.52851C10.1225 5.26816 10.5446 5.26816 10.8049 5.52851Z",fill:"currentColor"})}),dq=({size:c=18,color:l="currentColor",className:e})=>(0,gc.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:c,height:c,viewBox:"0 0 18 18",fill:"none",className:e,style:{color:l},children:(0,gc.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 0.75C6.41421 0.75 6.75 1.08579 6.75 1.5V2.25H11.25V1.5C11.25 1.08579 11.5858 0.75 12 0.75C12.4142 0.75 12.75 1.08579 12.75 1.5V2.25122C13.1066 2.25367 13.4183 2.26104 13.6889 2.28315C14.1104 2.31759 14.498 2.39151 14.862 2.57698C15.4265 2.8646 15.8854 3.32354 16.173 3.88803C16.3585 4.25203 16.4324 4.63956 16.4669 5.06113C16.5 5.46702 16.5 5.96529 16.5 6.56901V12.931C16.5 13.5347 16.5 14.033 16.4669 14.4389C16.4324 14.8604 16.3585 15.248 16.173 15.612C15.8854 16.1765 15.4265 16.6354 14.862 16.923C14.498 17.1085 14.1104 17.1824 13.6889 17.2169C13.283 17.25 12.7847 17.25 12.181 17.25H5.81901C5.21529 17.25 4.71702 17.25 4.31113 17.2169C3.88956 17.1824 3.50203 17.1085 3.13803 16.923C2.57354 16.6354 2.1146 16.1765 1.82698 15.612C1.64151 15.248 1.56759 14.8604 1.53315 14.4389C1.49998 14.033 1.49999 13.5347 1.5 12.931V6.56903C1.49999 5.9653 1.49998 5.46703 1.53315 5.06113C1.56759 4.63956 1.64151 4.25203 1.82698 3.88803C2.1146 3.32354 2.57354 2.8646 3.13803 2.57698C3.50203 2.39151 3.88956 2.31759 4.31113 2.28315C4.58174 2.26104 4.8934 2.25367 5.25 2.25122V1.5C5.25 1.08579 5.58579 0.75 6 0.75ZM5.25 3.75132C4.91585 3.75367 4.65347 3.76017 4.43328 3.77816C4.10447 3.80503 3.93631 3.85372 3.81902 3.91349C3.53677 4.0573 3.3073 4.28677 3.16349 4.56901C3.10372 4.68631 3.05503 4.85447 3.02816 5.18328C3.00058 5.52085 3 5.95757 3 6.6V6.75H15V6.6C15 5.95757 14.9994 5.52085 14.9718 5.18328C14.945 4.85447 14.8963 4.68631 14.8365 4.56901C14.6927 4.28677 14.4632 4.0573 14.181 3.91349C14.0637 3.85372 13.8955 3.80503 13.5667 3.77816C13.3465 3.76017 13.0841 3.75367 12.75 3.75132V4.5C12.75 4.91421 12.4142 5.25 12 5.25C11.5858 5.25 11.25 4.91421 11.25 4.5V3.75H6.75V4.5C6.75 4.91421 6.41421 5.25 6 5.25C5.58579 5.25 5.25 4.91421 5.25 4.5V3.75132ZM15 8.25H3V12.9C3 13.5424 3.00058 13.9792 3.02816 14.3167C3.05503 14.6455 3.10372 14.8137 3.16349 14.931C3.3073 15.2132 3.53677 15.4427 3.81902 15.5865C3.93631 15.6463 4.10447 15.695 4.43328 15.7218C4.77085 15.7494 5.20757 15.75 5.85 15.75H12.15C12.7924 15.75 13.2292 15.7494 13.5667 15.7218C13.8955 15.695 14.0637 15.6463 14.181 15.5865C14.4632 15.4427 14.6927 15.2132 14.8365 14.931C14.8963 14.8137 14.945 14.6455 14.9718 14.3167C14.9994 13.9792 15 13.5424 15 12.9V8.25Z",fill:"currentColor"})});function bq(){const c="directorist/packages-frontend",l="/directorist-pricing-plans/packages",e=directorist_admin_order.checkout_page_url,[t,d]=(0,n.useState)(!1),[b,i]=(0,n.useState)(!1),[a,o]=(0,n.useState)(!1),[u,X]=(0,n.useState)(!1),[G,s]=(0,n.useState)(0),[g,x]=(0,n.useState)(3),[m,r]=(0,n.useState)(0),[H,Z]=(0,n.useState)(""),[R,I]=(0,n.useState)(0),[W,p]=(0,n.useState)([]),[y,B]=(0,n.useState)(!1),[h,V]=(0,n.useState)("");!function(c){if((0,ut.select)(c.name))return;const l=function({path:c}){const l={path:c,item:null,items:[],queryParams:{search:"",page:1,perPage:10,sort:{}}};return{reducer:(c=l,e)=>lP(c,c=>{switch(e.type){case"SET_ITEM":c.item=e.item;break;case"SET_ITEMS":c.items=e.items;break;case"RESET":c.items=[],c.item=null;break;case"SET_QUERY_PARAMS":c.queryParams=e.params;break;case"UPDATE_ITEM":c.items.items=c.items.items.map(c=>(c?.id??c?.ID)===e.id?{...c,...e.item}:c)}}),actions:{setItem:c=>({type:"SET_ITEM",item:c}),setItems:c=>({type:"SET_ITEMS",items:c}),updateItem:(c,l)=>({type:"UPDATE_ITEM",id:c,item:l}),reset:()=>({type:"RESET"}),setQueryParams:c=>({type:"SET_QUERY_PARAMS",params:c}),create:l=>async({dispatch:e})=>{const t=await ac({path:c,method:"POST",data:l});return e.invalidateResolution("get"),t},update:(l,e)=>async({dispatch:t})=>{const d=await ac({path:`${c}/${l}`,method:"PATCH",data:e});return t.invalidateResolution("get"),d},destroy:l=>async({dispatch:e})=>{const t=await ac({path:`${c}/${l}`,method:"DELETE"});return e.invalidateResolution("get"),e.invalidateResolution("show"),t},refresh:c=>({dispatch:l})=>{c&&(l.reset(),l.setQueryParams(c)),l.invalidateResolution("get"),l.invalidateResolution("show")},resetQueryParamsAndRefresh:()=>({dispatch:c})=>{c.setQueryParams(l.queryParams),c.invalidateResolution("get"),c.invalidateResolution("show")}},selectors:{get:c=>c.items,getQueryParams:c=>c.queryParams,getItem:c=>c.item,show:c=>c.item,getPath:c=>c.path},resolvers:{get:()=>async({dispatch:l,select:e})=>{const t=await ac({path:(0,eP.addQueryArgs)(c,e.getQueryParams())});l.setItems(t)},show:({id:l})=>async({dispatch:e})=>{const t=`${c}/${l}`,d=await ac({path:t});e.setItem(d)}}}}(c),e=lP(l,c=>{}),t=(0,ut.createReduxStore)(c.name,e);(0,ut.register)(t)}({name:c,path:l});const{refresh:v}=function({name:c}){const{refresh:l,resetQueryParamsAndRefresh:e,create:t,update:d,updateItem:b,setItem:n,destroy:i}=(0,ut.useDispatch)(c);return{refresh:l,resetQueryParamsAndRefresh:e,create:t,update:d,updateItem:b,setItem:n,destroy:i}}({name:c,path:l});(0,n.useEffect)(()=>{(0,uc.addAction)("directorist-toast","directorist-pricing-plans/frontend-toast",c=>{"error"===c.type?ic.error(c.message):ic.success(c.message)})},[]);const F=()=>{u||(d(!1),s(0))},Y=()=>{u||(i(!1),s(0))},J=(0,n.useCallback)(c=>{const l=Number(c?.id??c?.ID??0);l&&(s(l),d(!0))},[]),C=(0,n.useCallback)(c=>{const l=Number(c?.id??c?.ID??0);l&&(s(l),i(!0))},[]),N=(0,n.useCallback)(c=>{const l=Number(c?.id??c?.ID??0);if(!l)return;s(l);const e=Number(c?.directory_type_id??3),t=Number(c?.plan_id??0);x(e||3),r(t),Z(String(c?.status??"")),I(t),o(!0)},[]),f=(0,n.useCallback)(async c=>{c.plan_id&&(window.location.href=`${e}?checkout_type=plan&plan_id=${c.plan_id}`)},[e]);(0,n.useEffect)(()=>{(async()=>{if(a&&g){V(""),B(!0),p([]);try{const c=await oc()({path:`/directorist-pricing-plans/plans/directory/${g}?mode=plan-switch`,method:"GET"}),l=(Array.isArray(c)?c:Array.isArray(c?.data)?c.data:Array.isArray(c?.items)?c.items:Array.isArray(c?.plans)?c.plans:[]).map(c=>{const l=Number(c?.id??c?.value??0),e=String(c?.title??c?.label??"").trim();return l&&e?{id:l,title:e,description:String(c?.description??c?.short_description??"").trim()||void 0,type:String(c?.type??"package"),price:Number(c?.price??0),regular_listing:Number(c?.allowed_listings??0),feature_listing:Number(c?.allowed_featured_listings??0),is_featured:Boolean("1"==`${c?.is_featured}`),is_allowed_unlimited_listings:Boolean("1"==`${c?.is_allowed_unlimited_listings}`),is_allowed_unlimited_featured_listings:Boolean("1"==`${c?.is_allowed_unlimited_featured_listings}`),interval_type:String(c?.interval_type??"day"),interval_count:Number(c?.interval_count??1),currency:String(c?.currency??""),exceeded_max_usage:Boolean(c?.exceeded_max_usage??!1)}:null}).filter(Boolean);p(l),m&&!l.some(c=>c.id===m)&&I(0)}catch(c){V((0,Gc.__)("Failed to load plans. Please try again.","directorist")),console.error(c)}finally{B(!1)}}})()},[m,g,a]),(0,n.useEffect)(()=>{const c=async c=>{const l=c.target;if(!l)return;const e=l.closest(".directorist-update_listing_status"),t=l.closest(".directorist-mark_feature_button, .directorist-mark-listing-as");if(!e&&!t)return;c.preventDefault();const d=e||t,b=Number(d?.getAttribute("data-post-id")||d?.dataset.postId||0);if(!b)return;const n=d?.getAttribute("data-task")||d?.dataset.task;try{e&&await oc()({path:`/directorist/v1/listings/${b}/update-status`,method:"POST",data:{status:n}}),t&&await oc()({path:"/directorist-pricing-plans/listings/mark-listing-as",method:"POST",data:{listing_id:b,mark_as:"mark-as-featured"===n?"featured":"regular"}}),window.location.reload()}catch(c){return console.error("Listing action failed:",c),void(0,uc.doAction)("directorist-toast",{message:c?.message,type:"error",removeDelay:1e7})}v()};return document.addEventListener("click",c,!0),()=>{document.removeEventListener("click",c,!0)}},[v]);const k=(0,n.useCallback)(async()=>{R&&(window.location.href=`${e}?checkout_type=plan&plan_id=${R}`)},[R]),w=(0,n.useMemo)(()=>[{id:"id",label:(0,Gc.__)("Id","directorist"),render:({item:c})=>(0,gc.jsxs)("span",{children:["#",c.id]})},{id:"directory_type",label:(0,Gc.__)("Directory Type","directorist"),render:({item:c})=>(0,gc.jsxs)(It,{variant:"info",className:"directorist-badge",children:[(0,gc.jsx)("span",{className:c?.directory_type_config?.icon}),(0,gc.jsx)("span",{children:c.directory_type})]})},{id:"plan_type",label:(0,Gc.__)("Plan Type","directorist-pricing-plans"),render:({item:c})=>{const l=c?.plan_type??"package";return(0,gc.jsx)(It,{variant:"pay_per_listing"===l?"warning":"info",className:"directorist-badge",children:"pay_per_listing"===l?(0,Gc.__)("Pay Per Listing","directorist-pricing-plans"):(0,Gc.__)("Package","directorist-pricing-plans")})}},{id:"status",label:(0,Gc.__)("Status","directorist"),render:({item:c})=>{return(0,gc.jsx)(It,{variant:(l=c.status,O_[l]??"default"),className:"directorist-badge",children:rc["1"===c.is_trial&&"active"===c.status?"trialing":c.status]});var l}},{id:"method",label:(0,Gc.__)("Billing Gateway","directorist"),render:({item:c})=>(0,gc.jsx)("span",{children:c.payment_method?c.payment_method.replace(/_/g," ").replace(/\b\w/g,c=>c.toUpperCase()):"---"})},{id:"billing_details",label:(0,Gc.__)("Billing Details","directorist"),render:({item:c})=>{const l="1"===c.is_trial,e=l?mc(c.trial_interval_type,c.trial_interval_count):mc(c.interval_type,c.interval_count);let t="";return t=l?`Trial / ${e}`:parseInt(c.price)>0?`${T_(c.price,c.currency)} / ${e}`:`Free / ${e}`,(0,gc.jsxs)(L_,{children:[c.plan_title,(0,gc.jsx)("div",{className:"directorist-billing-amount",children:t})]})}},{id:"package_usage",label:(0,Gc.__)("Package Usage","directorist-pricing-plans"),render:({item:c})=>function(c){const l=c?.status??"";if("active"!==l&&"canceled_at_period_end"!==l)return"---";const e=c?.plan_type??"package",t=c?.uses?.listings?.used??0,d=c?.uses?.featured_listings?.used??0;if("pay_per_listing"===e)return"1"==`${c.is_plan_featured}`?(0,gc.jsxs)("span",{children:["Featured: ",d]}):(0,gc.jsxs)("span",{children:["Total: ",t]});const b=c?.uses?.listings?.allowed??0,n=c?.uses?.featured_listings?.allowed??0,i=c=>-1===c?"∞":String(c);return(0,gc.jsxs)("div",{children:[(0,gc.jsxs)("div",{children:[(0,Gc.__)("Total:","directorist-pricing-plans")," ",t,"/",i(b)]}),(0,gc.jsxs)("div",{children:[(0,Gc.__)("Featured:","directorist-pricing-plans")," ",d,"/",i(n)]})]})}(c)},{id:"started_at",label:(0,Gc.__)("Initial Billing Date","directorist"),render:({item:c})=>c.started_at?(0,gc.jsx)("span",{className:"directorist-table-text-light",children:Q_()(c?.started_at).format("MMMM D, YYYY h:mm A")}):"---"},{id:"current_period_end",label:(0,Gc.__)("Next Payment","directorist"),render:({item:c})=>c.current_period_end?(0,gc.jsx)("span",{className:"directorist-table-text-light",children:Q_()(c?.current_period_end).format("MMMM D, YYYY h:mm A")}):"---"},{id:"cancelled_at",label:(0,Gc.__)("Cancelled Date","directorist"),render:({item:c})=>c.cancelled_at?(0,gc.jsx)("span",{children:Q_()(c?.cancelled_at).format("MMMM D, YYYY h:mm A")}):"---"},{id:"actions",label:(0,Gc.__)("Actions","directorist-pricing-plans"),render:({item:c})=>{const l=[];if("expired"===c?.status&&("free"===c?.fee_type&&"lifetime"!==c?.interval_type||l.push({title:"1"!=`${c?.is_trial}`?(0,Gc.__)("Renew","directorist"):(0,Gc.__)("Purchase","directorist"),onClick:()=>f(c)})),"cancelled"!==c?.status&&"pay_per_listing"!==c?.plan_type&&l.push({title:(0,Gc.__)("Switch Plan","directorist-pricing-plans"),onClick:()=>N(c)}),"active"===c?.status){const e="pay_per_listing"===c?.plan_type,t=c=>null!==c&&""!==c&&Number.isFinite(Number(c)),d="1"==`${c?.is_recurring}`&&"package"===c?.plan_type&&"lifetime"!==c?.interval_type&&t(c?.interval_count)&&parseInt(c?.interval_count)>0;e||"lifetime"===c?.interval_type?l.push({title:(0,Gc.__)("Cancel","directorist-pricing-plans"),onClick:()=>C(c)}):d&&l.push({title:(0,Gc.__)("Cancel at Period End","directorist-pricing-plans"),onClick:()=>J(c)})}return(0,gc.jsx)(j_,{children:(0,gc.jsx)(Xc.DropdownMenu,{icon:xc,label:(0,Gc.__)("Actions","directorist-pricing-plans"),controls:l,placement:"right-end",toggleProps:{"aria-label":(0,Gc.__)("Package actions","directorist-pricing-plans")}})})}}],[J,C,N,f]),z=!R||y||"active"===H&&!!m&&R===m;return(0,gc.jsxs)(U_,{className:"directorist-container--frontend",style:{padding:0},children:[(0,gc.jsx)(S_,{storeName:c,heading:(0,Gc.__)("All Packages","directorist"),path:l,columns:w,create:{status:!1},edit:{status:!1},destroy:{status:!1}}),(0,gc.jsx)(Ht,{isOpen:t,title:(0,Gc.__)("Cancel Package at Period End","directorist-pricing"),size:"small",isDismissible:!u,onClose:F,footer:(0,gc.jsxs)(D_,{children:[(0,gc.jsx)(gt,{variant:"secondary",onClick:F,disabled:u,children:(0,Gc.__)("No","directorist-pricing")}),(0,gc.jsx)(gt,{variant:"primary",onClick:()=>(async()=>{if(G){X(!0);try{await oc()({path:`/directorist-pricing-plans/packages/${G}/cancel-at-period-end`,method:"POST"}),F()}catch(c){console.error("Failed to cancel subscription:",c),(0,uc.doAction)("directorist-toast",{message:c?.message,type:"error",removeDelay:1e7})}finally{X(!1)}v()}})(),isBusy:u,disabled:u,children:(0,Gc.__)("Yes, Cancel at Period End","directorist-pricing")})]}),children:(0,Gc.__)("Are you sure you want to cancel this package at the end of the current billing period? Your package will remain active until the period ends.","directorist-pricing")}),(0,gc.jsx)(Ht,{isOpen:b,title:(0,Gc.__)("Cancel Package","directorist-pricing"),size:"small",isDismissible:!u,onClose:Y,footer:(0,gc.jsxs)(D_,{children:[(0,gc.jsx)(gt,{variant:"secondary",onClick:Y,disabled:u,children:(0,Gc.__)("No","directorist-pricing")}),(0,gc.jsx)(gt,{variant:"primary",onClick:()=>(async()=>{if(G){X(!0);try{await oc()({path:`/directorist-pricing-plans/packages/${G}/cancel`,method:"POST"}),Y()}catch(c){console.error("Failed to cancel subscription:",c),(0,uc.doAction)("directorist-toast",{message:c?.message,type:"error",removeDelay:1e7})}finally{X(!1)}v()}})(),isBusy:u,disabled:u,children:(0,Gc.__)("Yes, Cancel Now","directorist-pricing")})]}),children:(0,Gc.__)("Are you sure you want to cancel this package immediately? The package will be cancelled right away.","directorist-pricing")}),(0,gc.jsx)(Ht,{isOpen:a,title:(0,Gc.__)("Switch Plan","directorist-pricing"),size:"large",onClose:()=>o(!1),footer:(0,gc.jsxs)(D_,{children:[(0,gc.jsx)(gt,{className:"directorist-button-cancel",variant:"secondary",onClick:()=>o(!1),children:(0,Gc.__)("Cancel","directorist-pricing")}),(0,gc.jsx)(gt,{variant:"primary",onClick:k,disabled:z,children:(0,Gc.__)("Switch Plan","directorist-pricing")})]}),children:(0,gc.jsxs)(M_,{children:[(0,gc.jsx)(E_,{children:(0,Gc.__)("Select a plan to continue to checkout.","directorist-pricing")}),!!h&&(0,gc.jsx)(E_,{children:h}),y&&(0,gc.jsx)(E_,{children:(0,Gc.__)("Loading plans…","directorist-pricing")}),!y&&!W.length&&!h&&(0,gc.jsx)(E_,{children:(0,Gc.__)("No plans found for this directory type.","directorist-pricing")}),!y&&W.length>0&&(0,gc.jsx)(P_,{role:"radiogroup","aria-label":(0,Gc.__)("Plans","directorist-pricing"),children:W.map(c=>{return(0,gc.jsxs)(K_,{style:c.exceeded_max_usage?{opacity:.5,cursor:"not-allowed",pointerEvents:"none"}:void 0,children:[(0,gc.jsx)(q_,{type:"radio",name:"directorist-switch-plan",checked:R===c.id,onChange:()=>I(c.id),"aria-label":c.title,disabled:c.exceeded_max_usage}),(0,gc.jsxs)($_,{children:[(0,gc.jsxs)(lq,{children:[(0,gc.jsxs)("span",{className:"directorist-pricing-plan-title",children:[c.title,c.id===m?` (${(0,Gc.__)("Current","directorist-pricing")})`:""]}),(0,gc.jsx)("span",{className:"directorist-pricing-plan-price",children:T_(c.price,c.currency)})]}),(0,gc.jsxs)(cq,{children:[(0,gc.jsxs)("span",{className:"directorist-pricing-plan-duration",children:[(0,gc.jsx)(dq,{}),(0,gc.jsxs)("span",{children:[" ",(l=c.interval_type,e=c.interval_count,`${e} ${l}`)," "]})]}),"pay_per_listing"!==c.type&&(0,gc.jsxs)(gc.Fragment,{children:[(0,gc.jsxs)("span",{className:"directorist-pricing-plan-regular-listing",children:[(0,gc.jsx)(eq,{}),(0,gc.jsxs)("span",{children:[" ",c.is_allowed_unlimited_listings?(0,Gc.__)("Unlimited","directorist-pricing-plans"):c.regular_listing," ","Regular"]})]}),(0,gc.jsxs)("span",{className:"directorist-pricing-plan-featured-listing",children:[(0,gc.jsx)(tq,{}),(0,gc.jsxs)("span",{children:[" ",c.is_allowed_unlimited_featured_listings?(0,Gc.__)("Unlimited","directorist-pricing-plans"):c.feature_listing," ","Featured"]})]})]}),"pay_per_listing"===c.type&&c.is_featured&&(0,gc.jsxs)("span",{className:"directorist-pricing-plan-featured-listing",children:[(0,gc.jsx)(tq,{}),(0,gc.jsxs)("span",{children:[" ",(0,Gc.__)("Featured","directorist-pricing-plans")]})]})]})]})]},c.id);var l,e})})]})})]})}b()(function(){const c=document.querySelector(".directorist-user-dashboard-packages");if(!c)return;(0,n.createRoot)(c).render((0,gc.jsx)(bq,{}));const l=document.createElement("div");document.body.appendChild(l),(0,n.createRoot)(l).render((0,gc.jsx)(nc,{position:"bottom-right"}))})})()})(); in /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/external/php/jsmin.php:423 Stack trace: #0 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(445): JSMin->consumeMultipleLineComment() #1 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(228): JSMin->next() #2 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(150): JSMin->action(1) #3 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(84): JSMin->min() #4 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/autoptimizeScripts.php(843): JSMin::minify('(()=>{var c,l,e...') #5 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/autoptimizeScripts.php(402): autoptimizeScripts->minify_single('/var/www/mitpol...') #6 /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/autoptimizeMain.php(591): autoptimizeScripts->read(Array) #7 [internal function]: autoptimizeMain->end_buffering('<!doctype html>...', 9) #8 /var/www/mitpolen.dk/public_html/wp-includes/functions.php(5493): ob_end_flush() #9 /var/www/mitpolen.dk/public_html/wp-includes/class-wp-hook.php(341): wp_ob_end_flush_all('') #10 /var/www/mitpolen.dk/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters(NULL, Array) #11 /var/www/mitpolen.dk/public_html/wp-includes/plugin.php(522): WP_Hook->do_action(Array) #12 /var/www/mitpolen.dk/public_html/wp-includes/load.php(1308): do_action('shutdown') #13 [internal function]: shutdown_action_hook() #14 {main} thrown in /var/www/mitpolen.dk/public_html/wp-content/plugins/autoptimize/classes/external/php/jsmin.php on line 423