@avocadostudio-ai/cli 0.11.8 → 0.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editor-dist/assets/{Editor-EPSED64A-BFga_gYB.js → Editor-EPSED64A-9wyt26af.js} +1 -1
- package/editor-dist/assets/{PuckPrototypeRoute-lKyfvVc1.css → PuckPrototypeRoute-BgfPEoQN.css} +1 -1
- package/editor-dist/assets/{PuckPrototypeRoute-CejP0xoY.js → PuckPrototypeRoute-CSim5DCQ.js} +4 -4
- package/editor-dist/assets/{Render-CU35UAWV-jcXgat7H.js → Render-CU35UAWV-B0Nbh0mV.js} +1 -1
- package/editor-dist/assets/{chunk-2CNEFIQP-DpYaYUD7.js → chunk-2CNEFIQP-DAE1QMR7.js} +1 -1
- package/editor-dist/assets/{full-N67EAB2Q-D0loYSGS.js → full-N67EAB2Q-fZFpkW54.js} +1 -1
- package/editor-dist/assets/{index-Duoiltna.js → index-C4S31VkV.js} +1 -1
- package/editor-dist/assets/{index-B9wMx9Fd.js → index-CLsUFA3q.js} +4 -4
- package/editor-dist/assets/{index-rrtIE5Cr.js → index-DbEveXru.js} +1 -1
- package/editor-dist/assets/{loaded-F37CNCVG-BpYYdl7Q.js → loaded-F37CNCVG-E_qkatY5.js} +1 -1
- package/editor-dist/assets/{loaded-H325ZSK5-CLRW3Tp-.js → loaded-H325ZSK5-DGQpzAdT.js} +1 -1
- package/editor-dist/assets/{loaded-MIY725CK-foVXkOVo.js → loaded-MIY725CK-DWkqm_JH.js} +1 -1
- package/editor-dist/index.html +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PuckPrototypeRoute-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PuckPrototypeRoute-CSim5DCQ.js","assets/PuckPrototypeRoute-BgfPEoQN.css"])))=>i.map(i=>d[i]);
|
|
2
2
|
var Y8=Object.defineProperty;var J8=(e,t,n)=>t in e?Y8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ce=(e,t,n)=>J8(e,typeof t!="symbol"?t+"":t,n);function X8(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const i in r)if(i!=="default"&&!(i in e)){const s=Object.getOwnPropertyDescriptor(r,i);s&&Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>r[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();function Ed(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ex={exports:{}},Nf={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -368,8 +368,8 @@ Error generating stack: `+b.message+`
|
|
|
368
368
|
* This source code is licensed under the ISC license.
|
|
369
369
|
* See the LICENSE file in the root directory of this source tree.
|
|
370
370
|
*/const c$=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],kT=at("zoom-in",c$),d$={"header.siteSettings":"Site settings","header.syncFromSite":"Pull from site","header.syncFromSiteTitle":"Pull latest content from this site's source","header.allSites":"All sites","header.page":"Page","header.language":"Language","header.defaultLanguage":"Default","header.pagesWithoutLanguage":"Not language-specific","header.viewAllSites":"View all sites","header.limited":"Limited","noKey.title":"Chat is running without an API key","noKey.body":"Everything else already works — the pages render, click-to-select works, and the property panel edits real fields. Only chat needs a model, and right now it is answering from a built-in planner that handles simple, literal edits.","noKey.step1":"Add a key to","noKey.bodyShort":"Only simple, literal edits work. Everything else is unaffected — the preview, the property panel, and click-to-select once you turn on the cursor button below.","noKey.whichKey":"Which key should I use?","noKey.step1Path":".env.local in your project root","noKey.anthropic":"the best-tested planner. Chat only; no image generation.","noKey.openai":"planner plus image generation, and gpt-image editing.","noKey.google":"planner plus image generation. Also needs npm install @google/genai, an optional peer dependency nothing installs for you.","noKey.step2":"Restart the dev server. Keys are read at startup, so a running server will not pick one up.","noKey.reopen":"Show details","noKey.dismiss":"Dismiss","noKey.foot":"Keys are read at startup, so restart the dev server afterwards. Avocado runs on your key and never resells tokens.","header.noKeyBadge":"Add an API key","header.noKeyTooltip":"Chat is running on the built-in demo planner, which only handles simple, literal edits. Add ANTHROPIC_API_KEY (or OPENAI_API_KEY) to .env.local and restart the dev server.","demo.bannerTitle":"You're in demo mode","demo.bannerBody":"This is a live playground. You can edit the Hero section with plain language — everything else is locked for now.","demo.tryExample1":'Change the hero headline to "Welcome to my new site"',"demo.tryExample2":"Make the hero subheading sound more playful","demo.tryExample3":'Update the hero CTA to "Get Started"',"demo.placeholder":"Try: change the hero headline to …","demoGuide.title":"Getting started","demoGuide.try":"Try it","demoGuide.dismiss":"Dismiss","demoGuide.step1Title":"Rewrite the hero heading & subheading","demoGuide.step1Prompt":"Rewrite the hero heading and subheading to be more compelling and benefit-driven","demoGuide.step2Title":"Add a stats band","demoGuide.step2Prompt":"Add a stats band below the hero with a few impressive numbers","demoGuide.step3Title":"Swap the hero image","demoGuide.step3Prompt":"Give the whole site a warm, earthy green color theme","demoGuide.step4Title":"Translate the page","demoGuide.step4Prompt":"Translate the whole page into German","header.moreOptions":"More options","header.publish":"Publish","header.publishing":"Publishing","header.unpublishedTooltip":"{{count}} unpublished change(s) since the last deploy.","header.viewDeploy":"View deploy","header.openLiveSite":"Open live site","header.openImmersive":"Open in immersive mode","header.syncedPage":"Pulled 1 page from site.","header.syncedPages":"Pulled {{count}} pages from site.","header.syncFailedNetwork":"Couldn't reach this site. Check that it's running and try again.","header.syncFailedEmpty":"This site has no source content to pull from.","tabs.chat":"Chat","tabs.properties":"Properties","stream.shapingUpdate":"Shaping your update...","stream.gettingReady":"Getting things ready...","stream.updating":"Updating...","stream.thinking":"Thinking","chat.thinking.streaming":"Thinking…","chat.thinking.doneSeconds":"Thought for {{seconds}}s","chat.thinking.done":"Thought process","chat.thinking.showMore":"Show thinking","chat.thinking.showLess":"Hide thinking","chat.expandDetails":"Expand details","chat.copied":"Copied","chat.copyDebug":"Copy debug bubble","chat.copy":"Copy","chat.undone":"Undone","chat.undo":"Undo","chat.appliedDraft":"Applied to your draft","chat.keep":"Keep","chat.revert":"Revert","chat.reverted":"Reverted","chat.kept":"Kept","chat.redo":"Redo","chat.undoTooltip":"Undo (Ctrl+Z)","chat.redoTooltip":"Redo (Ctrl+Y)","history.title":"Version History","history.loading":"Loading history...","history.empty":"No changes yet.","history.operation":"operation","history.operations":"operations","history.tooltip":"Version history","history.restore":"Revert to this","history.restoring":"Reverting...","history.current":"Current","history.showDetails":"Show details","history.hideDetails":"Hide details","history.version":"Version","history.page":"Page","history.changes":"Changes","history.publish":"Publish","history.deploying":"Deploying…","history.live":"Live","history.deployFailed":"Failed","history.viewDeploy":"View deploy","history.pagesPublished":"{{count}} pages","history.pagePublished":"1 page","history.pagesChanged":"{{changed}} of {{total}} pages changed","history.noContentChanges":"No content changes · {{count}} pages live","history.selectChange":"Select this change","history.selectedCount":"{{count}} selected","history.clearSelection":"Clear","history.discard":"Discard","history.discarding":"Discarding…","history.discardSweeps":"Rolls back {{total}} changes across {{pages}} pages — later edits to those pages go too.","history.discardBlocked":"{{count}} cannot be discarded: nothing is recorded before them.","history.discardUnavailable":"Nothing recorded before this change","history.discardPartly":"{{count}} change(s) could not be discarded.","history.discardFailed":"Could not discard those changes.","chat.goodResponse":"Good response","chat.badResponse":"Bad response","chat.feedbackThanks":"Thanks!","chat.feedbackNoted":"Noted","chat.feedbackPlaceholder":"What went wrong? (optional)","chat.feedbackSend":"Send","variation.title":"Choose a Variation","variation.close":"Close variation picker","variation.applying":"Applying...","variation.apply":'Apply "{{title}}"',"addBlock.title":"Add block","addBlock.close":"Close add block picker","addBlock.insertAbove":"Select block type to insert above the selected section.","addBlock.insertBelow":"Select block type to insert below the selected section.","addBlock.searchPlaceholder":"Search block types","resize.inputPanel":"Resize input panel","resize.chatPanel":"Resize chat panel","preview.title":"Live preview","preview.loading":"Loading preview…","settings.title":"Settings","settings.devTitle":"Developer mode","settings.developerMode":"Developer mode","settings.streaming":"Streaming","settings.nestedLabels":"Nested labels","settings.fieldDraftTelemetry":"Field draft telemetry","settings.darkMode":"Dark mode","settings.autoScrollTracking":"Follow generated content","settings.debugMode":"Debug mode","settings.model":"Model","settings.modelNoProvider":"No API key is configured, so no model is available. Add one to your project's .env.local and restart the dev server.","settings.advanced":"Advanced","settings.clearChat":"Clear chat","settings.language":"Language","password.title":"Editor Access","password.placeholder":"Password","password.incorrect":"Incorrect password","password.checking":"Checking…","password.continue":"Continue","password.closedTitle":"This orchestrator is refusing every request","password.closedBody":"It is running with NODE_ENV=production and no credential configured, so every route answers 401 — including the ones this editor needs to load your site.","password.closedFix":"Set ACCESS_PASSWORD_HASH or ORCHESTRATOR_ACCESS_TOKEN in the site's environment and restart it, or pass auth to createOrchestrator(). Running the site with npm run dev instead also opens it, because the closed default applies only to production.","password.unreachableTitle":"Cannot reach the orchestrator","password.unreachableBody":"Whether this editor is behind an access gate is decided by the orchestrator, and it did not answer. Until it does, access cannot be determined — so it is refused.","password.retry":"Try again","password.retryingIn":"Retrying automatically in {{seconds}}s…","sites.title":"Sites","sites.subtitle":"Choose a site to edit.","sites.addSite":"Add site","sites.addSiteTitle":"Add Site","sites.close":"Close","sites.siteName":"Site name","sites.siteNamePlaceholder":"My Site","sites.previewUrl":"Preview URL","sites.previewUrlPlaceholder":"http://localhost:3000","sites.enablePuck":"Use visual editor (Puck)","sites.editorialBrief":"Editorial brief","sites.overview":"Overview","sites.tone":"Tone","sites.constraints":"Constraints","sites.templates":"Templates","sites.overviewPlaceholder":"What this site is for.","sites.tonePlaceholder":"How the writing should sound.","sites.constraintsPlaceholder":`Rules for content output.
|
|
371
|
-
One per line.`,"sites.templateName":"Template name (e.g. Campaign Landing Page)","sites.templateDescription":"Describe the page structure: which sections, in what order, with what content focus.","sites.settings":"Settings","sites.openEditor":"Open editor","sites.deleteSite":"Delete","sites.confirmDelete":'Remove "{{name}}" from your site list?',"sites.confirmDeleteTitle":"Remove site","sites.confirmDeleteBody":'This removes "{{name}}" from your local site list. The site itself is not deleted.',"sites.switchingTo":"Switching to","sites.switchInFlight":"A chat request is still in progress. Switch sites anyway and discard it?","sites.allOffline":"No reachable sites","sites.allOfflineHint":'All sites in your list failed a quick reachability check. Toggle "Show offline sites" to see them, or check that the sites are running.',"sites.previewUrlOverride":"Overridden by ?previewUrl= in the current URL.","sites.orchestratorUrl":"Orchestrator URL","sites.orchestratorUrlPlaceholder":"https://example.com/api/avocado","sites.orchestratorUrlHint":"Only for a site that runs the orchestrator itself (library mode). Leave empty to use the editor's own orchestrator.","sites.cancel":"Cancel","sites.create":"Create","sites.siteConfig":"Site Config","sites.general":"General","sites.media":"Media","sites.hosting":"Hosting","sites.brief":"Brief","sites.deploy":"Deploy","sites.coreSettings":"Core settings","sites.header":"Header","sites.siteHeaderName":"Site header name","sites.logoUrl":"Logo URL","sites.logoUrlPlaceholder":"https://example.com/logo.svg","sites.pageTemplates":"Page templates","sites.pageTemplatesHint":"Define reusable page structures. The AI will match templates by name or intent when creating pages.","sites.removeTemplate":"Remove","sites.addTemplate":"+ Add template","sites.preferredTone":"Preferred tone","sites.writingConstraints":"Writing constraints","sites.hostingPlaceholder":"Vercel production site","sites.vercelProjectId":"Vercel project ID","sites.vercelProjectIdPlaceholder":"prj_...","sites.vercelTeamId":"Vercel team ID","sites.vercelTeamIdPlaceholder":"team_...","sites.vercelProductionUrl":"Vercel production URL","sites.vercelProductionUrlPlaceholder":"https://example.vercel.app","sites.vercelDeployHook":"Vercel deploy hook URL","sites.vercelDeployHookPlaceholder":"https://api.vercel.com/v1/integrations/deploy/...","sites.googleDrive":"Google Drive","sites.googleDriveFolderId":"Google Drive folder ID","sites.googleDrivePlaceholder":"e.g. 1aBcDeFgHiJkLmNoPqRsTuVwXyZ","sites.testing":"Testing...","sites.test":"Test","sites.driveConnectedImages":"Connected (images found)","sites.driveConnectedEmpty":"Connected (folder empty)","sites.driveError":"Could not reach orchestrator","sites.cmsMedia":"CMS Media","sites.provider":"Provider","sites.none":"None","sites.spaceId":"Space ID","sites.spaceIdPlaceholder":"abc123","sites.deliveryToken":"Delivery Token","sites.deliveryTokenPlaceholder":"Content Delivery API token","sites.projectId":"Project ID","sites.dataset":"Dataset","sites.datasetPlaceholder":"production","sites.strapiUrl":"Strapi URL","sites.strapiUrlPlaceholder":"http://localhost:1337","sites.apiToken":"API Token","sites.apiTokenPlaceholder":"Read-only API token","sites.versionHistory":"Version History","sites.restoreDescription":"Restore a previous published snapshot into","sites.snapshotVersion":"Snapshot version","sites.loadingSnapshots":"Loading snapshots...","sites.restoring":"Restoring...","sites.restore":"Restore","sites.noSnapshots":"No snapshots available yet.","sites.snapshotCommit":"Commit","sites.snapshotPages":"Pages","sites.snapshotHeading":"Heading","sites.snapshotDate":"Date","sites.checkingManifest":"Checking manifest...","sites.limitedEditing":"Limited editing","sites.editingReady":"Editing ready","sites.checking":"Checking...","chatInput.placeholder":"Ask anything","chatInput.listening":"Listening","chatInput.transcribing":"Transcribing...","chatInput.attachFile":"Attach file","chatInput.removeAttachment":"Remove attachment","chatInput.exitSelector":"Exit selector mode","chatInput.selectElement":"Select an element","chatInput.editingBlock":"Editing: {{block}}","chatInput.clearSelection":"Clear selection","chatInput.voiceActions":"Voice and send actions","chatInput.cancelVoice":"Cancel voice input","chatInput.sendRecorded":"Send recorded message","chatInput.startVoice":"Start voice input","chatInput.stopGeneration":"Stop generation","chatInput.sendMessage":"Send message","chatInput.speechUnsupported":"Speech input is not supported in this browser.","chatInput.noSpeechDetected":"No speech detected. Try recording again.","chatInput.micBlocked":"Microphone access is blocked. Please allow mic permissions and try again.","chatInput.unsupportedFile":"Only images and PDF files are supported.","chatInput.attachmentOnlyMessage":"Use the attached file(s).","chatInput.uploadFailed":"Upload failed. Please try again.","chatInput.transcribeFailed":"Failed to transcribe audio.","imagePicker.title":"Asset Manager","imagePicker.close":"Close","imagePicker.drive":"Drive","imagePicker.cms":"CMS","imagePicker.searchCms":"Search media library…","imagePicker.unsplash":"Unsplash","imagePicker.upload":"Upload","imagePicker.generate":"Generate","imagePicker.searchDrive":"Search Drive images...","imagePicker.searchUnsplash":"Search Unsplash photos...","imagePicker.search":"Search...","imagePicker.refreshDrive":"Refresh from Drive","imagePicker.searching":"Searching...","imagePicker.typeToSearch":"Type to search Unsplash","imagePicker.noImages":"No images found","imagePicker.loadMore":"Load more","imagePicker.loading":"Loading...","imagePicker.uploadFromComputer":"Upload from computer","imagePicker.uploading":"Uploading...","imagePicker.chooseDifferent":"Choose different file","imagePicker.orPasteUrl":"or paste a URL","imagePicker.urlPlaceholder":"https://example.com/image.jpg","imagePicker.uploadedImage":"Uploaded image","imagePicker.needsKeyTitle":"Image generation is off","imagePicker.needsKeyBody":"No image key is configured, so this tab cannot generate anything yet. Either key below switches it on — an Anthropic key alone does not, because it has no image model.","imagePicker.needsKeyOpenAI":"generates images, and powers gpt-image editing","imagePicker.needsKeyGoogle":"generates images, and enables the conversational Generate tab. Also needs npm install @google/genai, which is an optional peer dependency no package manager installs for you.","imagePicker.needsKeyRestart":"Add one to .env.local and restart the dev server.","imagePicker.examplePrompt":"Make it warmer","imagePicker.editPrompt":"Describe how to change this image…","imagePicker.generatePrompt":"Describe the image you want…","imagePicker.followUpPrompt":"Ask for changes…","imagePicker.refine":"Refine","imagePicker.edit":"Edit","imagePicker.closePreview":"Close preview","imagePicker.ready":"Ready","imagePicker.editThisImage":"Edit this image","imagePicker.editThisImageDesc":"Describe changes to the current image","imagePicker.generateNew":"Generate new","imagePicker.generateNewDesc":"Create a completely new image from scratch","imagePicker.useImage":"Use image","imagePicker.applyUrl":"Apply URL","imagePicker.removeReference":"Remove reference","imagePicker.attachReference":"Attach example images for AI to reference (up to {{max}})","imagePicker.showOriginal":"Show original","imagePicker.showEdited":"Show edited","propertyPanel.loading":"Loading...","propertyPanel.loadFailed":"Failed to load block properties","propertyPanel.loadFailedMissing":"This block is not in the page the orchestrator returned","propertyPanel.loadFailedMissingHint":"The preview and the orchestrator may be pointed at different sites. Check the site's Orchestrator URL in its settings.","propertyPanel.loadFailedNoPage":"This page is not in the draft","propertyPanel.loadFailedNoPageHint":"The orchestrator answered, but it has no page at this address for this session — either the editor is on a page this draft does not have, or it is asking an orchestrator that does not host this site.","propertyPanel.loadFailedUnreachableHint":"Nothing answered at this address. Check that the orchestrator is running.","propertyPanel.retry":"Try again","orchestratorMismatch.title":"You are editing another site's content","orchestratorMismatch.detail":"{{orchestrator}} does not host this site, so the pages, preview and properties on this screen belong to whatever it does host.","orchestratorMismatch.detailHosts":"{{orchestrator}} hosts {{hosted}} — not this site — so the pages, preview and properties on this screen are that site's, under this site's name.","orchestratorMismatch.useDefault":"Use the editor's own orchestrator","orchestratorMismatch.ownTitle":"This site keeps its content somewhere else","orchestratorMismatch.ownDetail":"The editor is reading drafts from {{orchestrator}}, while the site runs its own orchestrator at {{siteOrchestrator}}. Its media library, and anything else only the site knows, is missing until they match.","orchestratorMismatch.useSiteOwn":"Use this site's orchestrator","propertyPanel.unknownBlock":"Unknown block type:","propertyPanel.page":"Page","propertyPanel.close":"Close properties","propertyPanel.navLabel":"Nav label","propertyPanel.change":"Change","propertyPanel.chooseImage":"Choose image","propertyPanel.remove":"Remove","propertyPanel.addItem":"Add item","propertyPanel.removeItem":"Remove item","propertyPanel.altText":"Alt text","propertyPanel.altPlaceholder":"Describe what's in this image","propertyPanel.navPlaceholder":"Page","propertyPanel.linkPlaceholder":"Page, URL, email or phone","propertyPanel.linkBrowsePages":"Browse pages","propertyPanel.linkNoPage":"No page at this path","propertyPanel.linkNoFile":"No document at this path","propertyPanel.linkDidYouMean":"Did you mean {{page}}?","propertyPanel.linkNoMatches":"No matching page — this is used as typed","propertyPanel.linkUseInternal":"Link to {{path}} on this site instead","propertyPanel.linkNewTab":"Open in new tab","propertyPanel.seo":"SEO","propertyPanel.seoTitle":"SEO title","propertyPanel.seoTitlePlaceholder":"Defaults to page title","propertyPanel.metaDescription":"Meta description","propertyPanel.metaDescPlaceholder":"Defaults to generated description","propertyPanel.ogImage":"Open Graph image URL","welcome.greeting":"Welcome to {{name}}! Tell me what you'd like to change — I can add sections, rewrite copy, create new pages, and more. Avocado Studio is a research preview, so expect rough edges.","welcome.greetingFallback":"Let's shape your site into something people remember. Tell me what you'd like to change. Avocado Studio is a research preview, so expect rough edges.","welcome.greetingDemo":"Welcome to {{name}} — a research preview, and a demo site so you can try things out. Edit anything you like, browse the [component catalogue]({{catalogueUrl}}) to see what's available, and when you're ready, [onboard your own site](https://docs.avocadostudio.dev/sites). Expect rough edges, and tell us about them.","welcome.greetingScaffold":"Welcome to {{name}} — a research preview of Avocado Studio, running on the Avocado Hub demo content. Edit anything you like; expect rough edges. When you want Avocado on your own site, see [the integration guide](https://docs.avocadostudio.dev/integration/nextjs-integration).","suggestion.rewriteHero":"Rewrite the hero headline","suggestion.addTestimonials":"Add a testimonials section","suggestion.addFaq":"Add an FAQ section","suggestion.addCta":"Add a call-to-action","suggestion.changeHeadline":"Change the headline and subheading","suggestion.addSection":"Add a new section","suggestion.rewriteTone":"Rewrite the copy to sound more {{tone}}","suggestion.createFromTemplate":"Create a new {{name}} page","suggestion.createAbout":"Create a new /about page","suggestion.demoAddTestimonials":"Add a testimonials section","suggestion.demoAddSection":"Add a closing call-to-action section","suggestion.keylessAddTestimonials":"Add testimonials","suggestion.keylessRichText":"Add a rich text section","suggestion.keylessMetaDescription":'Set the meta description to "Fresh avocado recipes, wellness tips, and sustainability stories."',"suggestion.demoTranslate":"Translate the whole page to German","suggestion.demoAddFaq":"Add an FAQ section","suggestion.demoHeroCta":"Turn the hero into a bold call-to-action","streamError.failed":"Streaming request failed.","streamError.retrying":"Streaming failed, retrying with standard request...","streamError.canceling":"Canceling...","streamError.canceled":"Stopped this request.","streamError.structuralDisabled":"Structural edits are disabled for this site context.","streamError.demoQuotaExhausted":"This live demo is shared by everyone and has reached its usage limit for now. Please try again in a few minutes — anything you've already created is still here.","ops.addedItem":"Added list item.","ops.deletedBlock":"Deleted block.","ops.changedImage":"Changed image.","ops.replacedImageAt":"{{block}} · {{field}}","ops.imageChangeFailed":"Couldn't change the image. Please try again.","ops.imageSwap.pickAnother":"Change","ops.imageSwap.retry":"Try again","ops.continueNext":"Continue to next step","plan.apply":"Apply","plan.applyDestructive":"Apply changes","plan.deletePage":"Delete page","plan.deletePages":"Delete {{count}} pages","plan.discard":"Discard","fieldAi.generateAlt":"Generate alt text","fieldAi.improveAccessibility":"Improve accessibility","fieldAi.makeDescriptive":"Make more descriptive","fieldAi.optimizeSearch":"Optimize for search ranking","fieldAi.fitTitle":"Fit within 60 characters","fieldAi.addKeyword":"Add primary keyword","fieldAi.suggest3":"Suggest 3 alternatives","fieldAi.optimizeCtr":"Optimize for click-through rate","fieldAi.fitDescription":"Fit within 160 characters","fieldAi.addCallToAction":"Add a call to action","fieldAi.simplifyLanguage":"Simplify language","fieldAi.expandDetail":"Expand with more detail","fieldAi.makeConcise":"Make more concise","fieldAi.improveClarity":"Improve clarity","fieldAi.adjustTone":"Adjust tone to be more professional","error.heading":"Something went wrong","error.message":"An unexpected error occurred while loading this page. Please try again.","error.tryAgain":"Try again","notFound.code":"404","notFound.heading":"Page not found","notFound.message":"The page you're looking for doesn't exist or has been moved.","notFound.backHome":"Back to home","theme.switchLight":"Switch site to light mode","theme.switchDark":"Switch site to dark mode","theme.light":"Light mode","theme.dark":"Dark mode","sitesAgent.title":"Onboarding agent","sitesAgent.clear":"Clear chat","sitesAgent.welcome":"I can create a new site from scratch, migrate an existing website from its URL, or integrate the editor into your Next.js project. Heads up: this is early — treat my first pass as a draft you'll refine in the editor, especially for migrations of complex sites. What would you like to do?","sitesAgent.placeholder":"Ask me anything...","sitesAgent.suggestion1":"Create a new site from scratch","sitesAgent.suggestion1Desc":"Describe your site's purpose and I'll scaffold it","sitesAgent.suggestion2":"Migrate a website from URL","sitesAgent.suggestion2Desc":"Give me a URL and I'll analyze and recreate it","sitesAgent.suggestion3":"Integrate using a GitHub project","sitesAgent.suggestion3Desc":"Connect the editor to your existing Next.js app","sitesAgent.stop":"Stop","sitesAgent.showMore":"Show more","sitesAgent.showLess":"Show less","propertyPanel.content":"Content","propertyPanel.navigation":"Navigation","health.tooltip":"Site health","health.title":"Site health","health.run":"Run checks now","health.close":"Close","health.loading":"Checking…","health.emptyTitle":"Nothing to fix","health.emptyBody":"The last check found no problems on this site.","health.goTo":"Go to","health.snooze":"Snooze","health.snoozeTitle":"Hide for a week, then show it again if it is still wrong","health.dismiss":"Dismiss","health.dismissTitle":"Never show this again for this page","health.notDurable":"Findings are being kept in memory only — they will be lost when the server restarts.","linkPicker.title":"Link to","linkPicker.placeholder":"Page, document, or URL","linkPicker.noPage":"No page at this path","linkPicker.noFile":"No document at this path","linkPicker.noMatches":"No pages or documents match","linkPicker.externalHint":"Links to an external site","linkPicker.emailHint":"Opens a new email","linkPicker.phoneHint":"Dials a phone number","linkPicker.anchorHint":"Jumps to a spot on this page","linkPicker.loadingFiles":"Looking up this site's documents...","linkPicker.filesUnavailable":"{{orchestrator}} has no document list for this site, so the path is used as typed.","linkPicker.dropHere":"Drop to upload","linkPicker.upload":"Upload a document","linkPicker.uploadHint":"Or drop a file onto this panel","linkPicker.uploading":"Uploading...","linkPicker.uploadNoUrl":"The upload succeeded but the site returned no URL to link to.","linkPicker.remove":"Remove link","linkPicker.apply":"Apply","common.cancel":"Cancel"},f$={"header.siteSettings":"Seiteneinstellungen","header.syncFromSite":"Von Seite laden","header.syncFromSiteTitle":"Neueste Inhalte aus der Quelle dieser Seite laden","header.allSites":"Alle Seiten","header.page":"Seite","header.language":"Sprache","header.defaultLanguage":"Standard","header.pagesWithoutLanguage":"Ohne Sprachzuordnung","header.viewAllSites":"Alle Websites anzeigen","header.limited":"Eingeschränkt","noKey.title":"Der Chat läuft ohne API-Key","noKey.body":"Alles andere funktioniert bereits — die Seiten rendern, Klick-zum-Auswählen funktioniert, und das Eigenschaften-Panel bearbeitet echte Felder. Nur der Chat braucht ein Modell, und im Moment antwortet ein eingebauter Planer, der einfache, wörtliche Änderungen beherrscht.","noKey.step1":"Key eintragen in","noKey.bodyShort":"Es funktionieren nur einfache, wörtliche Änderungen. Alles andere ist nicht betroffen — Vorschau, Eigenschaften-Panel und die Klick-Auswahl, sobald du den Cursor-Button unten aktivierst.","noKey.whichKey":"Welchen Key soll ich nehmen?","noKey.step1Path":".env.local im Projektverzeichnis","noKey.anthropic":"der am besten getestete Planer. Nur Chat, keine Bildgenerierung.","noKey.openai":"Planer plus Bildgenerierung und gpt-image-Bearbeitung.","noKey.google":"Planer plus Bildgenerierung. Braucht zusätzlich npm install @google/genai, eine optionale Peer-Abhängigkeit, die kein Paketmanager für dich installiert.","noKey.step2":"Starte den Dev-Server neu. Keys werden beim Start gelesen, ein laufender Server übernimmt keinen neuen.","noKey.reopen":"Details anzeigen","noKey.dismiss":"Schließen","noKey.foot":"Keys werden beim Start gelesen — starte den Dev-Server danach neu. Avocado nutzt deinen Key und verkauft keine Tokens weiter.","header.noKeyBadge":"API-Key hinzufügen","header.noKeyTooltip":"Der Chat läuft auf dem eingebauten Demo-Planer und beherrscht nur einfache, wörtliche Änderungen. Trage ANTHROPIC_API_KEY (oder OPENAI_API_KEY) in .env.local ein und starte den Dev-Server neu.","demo.bannerTitle":"Du bist im Demomodus","demo.bannerBody":"Das ist ein Live-Playground. Du kannst die Hero-Sektion per Klartext bearbeiten — alles andere ist vorerst gesperrt.","demo.tryExample1":'Ändere die Hero-Überschrift zu "Willkommen auf meiner neuen Seite"',"demo.tryExample2":"Lass die Hero-Unterzeile verspielter klingen","demo.tryExample3":'Aktualisiere den Hero-CTA zu "Jetzt starten"',"demo.placeholder":"Versuch: ändere die Hero-Überschrift zu …","demoGuide.title":"Erste Schritte","demoGuide.try":"Ausprobieren","demoGuide.dismiss":"Schließen","demoGuide.step1Title":"Hero-Überschrift & Unterzeile neu schreiben","demoGuide.step1Prompt":"Schreibe die Hero-Überschrift und Unterzeile überzeugender und nutzenorientierter","demoGuide.step2Title":"Statistik-Leiste hinzufügen","demoGuide.step2Prompt":"Füge unter dem Hero eine Statistik-Leiste mit ein paar beeindruckenden Zahlen hinzu","demoGuide.step3Title":"Hero-Bild austauschen","demoGuide.step3Prompt":"Gib der ganzen Seite ein warmes, erdiges grünes Farbthema","demoGuide.step4Title":"Seite übersetzen","demoGuide.step4Prompt":"Übersetze die ganze Seite ins Deutsche","header.moreOptions":"Weitere Optionen","header.publish":"Veröffentlichen","header.publishing":"Wird veröffentlicht","header.unpublishedTooltip":"{{count}} unveröffentlichte Änderung(en) seit der letzten Veröffentlichung.","header.viewDeploy":"Deployment ansehen","header.openLiveSite":"Live-Seite öffnen","header.openImmersive":"Im Immersive-Modus öffnen","header.syncedPage":"1 Seite von der Website geladen.","header.syncedPages":"{{count}} Seiten von der Website geladen.","header.syncFailedNetwork":"Diese Seite ist nicht erreichbar. Prüfe, ob sie läuft, und versuch es erneut.","header.syncFailedEmpty":"Diese Seite hat keine Quellinhalte zum Laden.","tabs.chat":"Chat","tabs.properties":"Eigenschaften","stream.shapingUpdate":"Änderung wird vorbereitet…","stream.gettingReady":"Wird vorbereitet…","stream.updating":"Wird aktualisiert…","stream.thinking":"Denkt nach","chat.thinking.streaming":"Denkt nach…","chat.thinking.doneSeconds":"{{seconds}} s nachgedacht","chat.thinking.done":"Gedankengang","chat.thinking.showMore":"Gedanken anzeigen","chat.thinking.showLess":"Gedanken ausblenden","chat.expandDetails":"Details anzeigen","chat.copied":"Kopiert","chat.copyDebug":"Debug-Nachricht kopieren","chat.copy":"Kopieren","chat.undone":"Rückgängig gemacht","chat.undo":"Rückgängig","chat.appliedDraft":"Auf deinen Entwurf angewendet","chat.keep":"Behalten","chat.revert":"Zurücksetzen","chat.reverted":"Zurückgesetzt","chat.kept":"Behalten","chat.redo":"Wiederherstellen","chat.undoTooltip":"Rückgängig (Strg+Z)","chat.redoTooltip":"Wiederherstellen (Strg+Y)","history.title":"Versionshistorie","history.loading":"Historie wird geladen...","history.empty":"Noch keine Änderungen.","history.operation":"Operation","history.operations":"Operationen","history.tooltip":"Versionshistorie","history.restore":"Auf diese zurücksetzen","history.restoring":"Wird zurückgesetzt...","history.current":"Aktuell","history.showDetails":"Details anzeigen","history.hideDetails":"Details ausblenden","history.version":"Version","history.page":"Seite","history.changes":"Änderungen","history.publish":"Veröffentlichung","history.deploying":"Wird bereitgestellt…","history.live":"Live","history.deployFailed":"Fehlgeschlagen","history.viewDeploy":"Deploy ansehen","history.pagesPublished":"{{count}} Seiten","history.pagePublished":"1 Seite","history.pagesChanged":"{{changed}} von {{total}} Seiten geändert","history.noContentChanges":"Keine inhaltlichen Änderungen · {{count}} Seiten live","history.selectChange":"Diese Änderung auswählen","history.selectedCount":"{{count}} ausgewählt","history.clearSelection":"Auswahl aufheben","history.discard":"Verwerfen","history.discarding":"Wird verworfen…","history.discardSweeps":"Setzt {{total}} Änderungen auf {{pages}} Seiten zurück — spätere Bearbeitungen dieser Seiten ebenfalls.","history.discardBlocked":"{{count}} lassen sich nicht verwerfen: davor ist nichts aufgezeichnet.","history.discardUnavailable":"Vor dieser Änderung ist nichts aufgezeichnet","history.discardPartly":"{{count}} Änderung(en) konnten nicht verworfen werden.","history.discardFailed":"Diese Änderungen konnten nicht verworfen werden.","chat.goodResponse":"Gute Antwort","chat.badResponse":"Schlechte Antwort","chat.feedbackThanks":"Danke!","chat.feedbackNoted":"Notiert","chat.feedbackPlaceholder":"Was war falsch? (optional)","chat.feedbackSend":"Senden","variation.title":"Variante wählen","variation.close":"Variantenauswahl schließen","variation.applying":"Wird angewendet…","variation.apply":'"{{title}}" anwenden',"addBlock.title":"Block hinzufügen","addBlock.close":"Blockauswahl schließen","addBlock.insertAbove":"Blocktyp auswählen, der oberhalb des ausgewählten Bereichs eingefügt wird.","addBlock.insertBelow":"Blocktyp auswählen, der unterhalb des ausgewählten Bereichs eingefügt wird.","addBlock.searchPlaceholder":"Blocktypen durchsuchen","resize.inputPanel":"Eingabebereich skalieren","resize.chatPanel":"Chatbereich skalieren","preview.title":"Live-Vorschau","preview.loading":"Vorschau wird geladen…","settings.title":"Einstellungen","settings.devTitle":"Entwicklermodus","settings.developerMode":"Entwicklermodus","settings.streaming":"Streaming","settings.nestedLabels":"Verschachtelte Labels","settings.fieldDraftTelemetry":"Feld-Entwurfs-Telemetrie","settings.darkMode":"Dunkler Modus","settings.autoScrollTracking":"Generiertem Inhalt folgen","settings.debugMode":"Debug-Modus","settings.model":"Modell","settings.modelNoProvider":"Kein API-Key konfiguriert, daher ist kein Modell verf\\u00FCgbar. Trage einen in die .env.local deines Projekts ein und starte den Dev-Server neu.","settings.advanced":"Erweitert","settings.clearChat":"Chat leeren","settings.language":"Sprache","password.title":"Editor-Zugang","password.placeholder":"Passwort","password.incorrect":"Falsches Passwort","password.checking":"Wird geprüft…","password.continue":"Weiter","password.closedTitle":"Dieser Orchestrator weist jede Anfrage ab","password.closedBody":"Er läuft mit NODE_ENV=production und ohne konfigurierte Zugangsdaten, also antwortet jede Route mit 401 — auch die, die dieser Editor zum Laden deiner Website braucht.","password.closedFix":"Setze ACCESS_PASSWORD_HASH oder ORCHESTRATOR_ACCESS_TOKEN in der Umgebung der Website und starte sie neu, oder übergib auth an createOrchestrator(). Die Website stattdessen mit npm run dev zu starten öffnet sie ebenfalls, denn die geschlossene Voreinstellung gilt nur für Produktion.","password.unreachableTitle":"Orchestrator nicht erreichbar","password.unreachableBody":"Ob dieser Editor durch eine Zugangssperre geschützt ist, entscheidet der Orchestrator — und er hat nicht geantwortet. Solange das so bleibt, lässt sich der Zugang nicht feststellen und wird deshalb verweigert.","password.retry":"Erneut versuchen","password.retryingIn":"Automatischer neuer Versuch in {{seconds}}s…","sites.title":"Websites","sites.subtitle":"Wähle eine Website zum Bearbeiten.","sites.addSite":"Website hinzufügen","sites.addSiteTitle":"Website hinzufügen","sites.close":"Schließen","sites.siteName":"Seitenname","sites.siteNamePlaceholder":"Meine Website","sites.previewUrl":"Vorschau-URL","sites.previewUrlPlaceholder":"http://localhost:3000","sites.enablePuck":"Visuellen Editor (Puck) verwenden","sites.editorialBrief":"Redaktionelles Briefing","sites.overview":"Übersicht","sites.tone":"Tonalität","sites.constraints":"Einschränkungen","sites.templates":"Vorlagen","sites.overviewPlaceholder":"Wofür diese Seite gedacht ist.","sites.tonePlaceholder":"Wie der Text klingen soll.","sites.constraintsPlaceholder":`Regeln für die Inhaltsausgabe.
|
|
372
|
-
Eine pro Zeile.`,"sites.templateName":"Vorlagenname (z. B. Kampagnen-Landingpage)","sites.templateDescription":"Beschreibe die Seitenstruktur: welche Bereiche, in welcher Reihenfolge, mit welchem inhaltlichen Fokus.","sites.settings":"Einstellungen","sites.openEditor":"Editor öffnen","sites.deleteSite":"Löschen","sites.confirmDelete":'"{{name}}" aus der Siteliste entfernen?',"sites.confirmDeleteTitle":"Site entfernen","sites.confirmDeleteBody":'Damit wird "{{name}}" aus deiner lokalen Siteliste entfernt. Die Site selbst wird nicht gelöscht.',"sites.switchingTo":"Wechsle zu","sites.switchInFlight":"Eine Chat-Anfrage läuft noch. Trotzdem die Site wechseln und sie verwerfen?","sites.allOffline":"Keine erreichbaren Sites","sites.allOfflineHint":'Alle Sites in deiner Liste haben den Erreichbarkeitstest nicht bestanden. Aktiviere "Offline-Sites anzeigen" oder prüfe, ob die Sites laufen.',"sites.previewUrlOverride":"Wird durch ?previewUrl= in der aktuellen URL überschrieben.","sites.orchestratorUrl":"Orchestrator-URL","sites.orchestratorUrlPlaceholder":"https://example.com/api/avocado","sites.orchestratorUrlHint":"Nur für Sites, die den Orchestrator selbst betreiben (Library-Modus). Leer lassen, um den Orchestrator des Editors zu verwenden.","sites.cancel":"Abbrechen","sites.create":"Erstellen","sites.siteConfig":"Seitenkonfiguration","sites.general":"Allgemein","sites.media":"Medien","sites.hosting":"Hosting","sites.brief":"Briefing","sites.deploy":"Deployment","sites.coreSettings":"Grundeinstellungen","sites.header":"Kopfzeile","sites.siteHeaderName":"Name in der Kopfzeile","sites.logoUrl":"Logo-URL","sites.logoUrlPlaceholder":"https://example.com/logo.svg","sites.pageTemplates":"Seitenvorlagen","sites.pageTemplatesHint":"Definiere wiederverwendbare Seitenstrukturen. Die KI ordnet Vorlagen bei der Seitenerstellung nach Name oder Absicht zu.","sites.removeTemplate":"Entfernen","sites.addTemplate":"+ Vorlage hinzufügen","sites.preferredTone":"Bevorzugte Tonalität","sites.writingConstraints":"Schreibregeln","sites.hostingPlaceholder":"Vercel-Produktionsseite","sites.vercelProjectId":"Vercel-Projekt-ID","sites.vercelProjectIdPlaceholder":"prj_...","sites.vercelTeamId":"Vercel-Team-ID","sites.vercelTeamIdPlaceholder":"team_...","sites.vercelProductionUrl":"Vercel-Produktions-URL","sites.vercelProductionUrlPlaceholder":"https://example.vercel.app","sites.vercelDeployHook":"Vercel-Deploy-Hook-URL","sites.vercelDeployHookPlaceholder":"https://api.vercel.com/v1/integrations/deploy/...","sites.googleDrive":"Google Drive","sites.googleDriveFolderId":"Google-Drive-Ordner-ID","sites.googleDrivePlaceholder":"z. B. 1aBcDeFgHiJkLmNoPqRsTuVwXyZ","sites.testing":"Wird getestet…","sites.test":"Testen","sites.driveConnectedImages":"Verbunden (Bilder gefunden)","sites.driveConnectedEmpty":"Verbunden (Ordner leer)","sites.driveError":"Orchestrator nicht erreichbar","sites.cmsMedia":"CMS-Medien","sites.provider":"Anbieter","sites.none":"Keiner","sites.spaceId":"Space-ID","sites.spaceIdPlaceholder":"abc123","sites.deliveryToken":"Delivery-Token","sites.deliveryTokenPlaceholder":"Content-Delivery-API-Token","sites.projectId":"Projekt-ID","sites.dataset":"Dataset","sites.datasetPlaceholder":"production","sites.strapiUrl":"Strapi-URL","sites.strapiUrlPlaceholder":"http://localhost:1337","sites.apiToken":"API-Token","sites.apiTokenPlaceholder":"Nur-Lese-API-Token","sites.versionHistory":"Versionshistorie","sites.restoreDescription":"Einen früheren veröffentlichten Snapshot wiederherstellen in","sites.snapshotVersion":"Snapshot-Version","sites.loadingSnapshots":"Snapshots werden geladen…","sites.restoring":"Wird wiederhergestellt…","sites.restore":"Wiederherstellen","sites.noSnapshots":"Noch keine Snapshots vorhanden.","sites.snapshotCommit":"Commit","sites.snapshotPages":"Seiten","sites.snapshotHeading":"Überschrift","sites.snapshotDate":"Datum","sites.checkingManifest":"Manifest wird geprüft…","sites.limitedEditing":"Eingeschränktes Bearbeiten","sites.editingReady":"Bearbeitung bereit","sites.checking":"Wird geprüft…","chatInput.placeholder":"Frag mich etwas","chatInput.listening":"Hört zu","chatInput.transcribing":"Wird transkribiert…","chatInput.attachFile":"Datei anhängen","chatInput.removeAttachment":"Anhang entfernen","chatInput.exitSelector":"Auswahlmodus beenden","chatInput.selectElement":"Element auswählen","chatInput.editingBlock":"Bearbeiten: {{block}}","chatInput.clearSelection":"Auswahl aufheben","chatInput.voiceActions":"Sprach- und Sendeaktionen","chatInput.cancelVoice":"Spracheingabe abbrechen","chatInput.sendRecorded":"Aufgenommene Nachricht senden","chatInput.startVoice":"Spracheingabe starten","chatInput.stopGeneration":"Generierung stoppen","chatInput.sendMessage":"Nachricht senden","chatInput.speechUnsupported":"Spracheingabe wird in diesem Browser nicht unterstützt.","chatInput.noSpeechDetected":"Keine Sprache erkannt. Bitte erneut aufnehmen.","chatInput.micBlocked":"Mikrofonzugriff ist blockiert. Bitte Mikrofonberechtigungen erlauben und erneut versuchen.","chatInput.unsupportedFile":"Nur Bilder und PDF-Dateien werden unterstützt.","chatInput.attachmentOnlyMessage":"Verwende die angehängte(n) Datei(en).","chatInput.uploadFailed":"Upload fehlgeschlagen. Bitte erneut versuchen.","chatInput.transcribeFailed":"Audiotranskription fehlgeschlagen.","imagePicker.title":"Asset-Manager","imagePicker.close":"Schließen","imagePicker.drive":"Drive","imagePicker.cms":"CMS","imagePicker.searchCms":"Medienbibliothek durchsuchen…","imagePicker.unsplash":"Unsplash","imagePicker.upload":"Hochladen","imagePicker.generate":"Generieren","imagePicker.searchDrive":"Drive-Bilder durchsuchen…","imagePicker.searchUnsplash":"Unsplash-Fotos durchsuchen…","imagePicker.search":"Suchen…","imagePicker.refreshDrive":"Von Drive aktualisieren","imagePicker.searching":"Wird gesucht…","imagePicker.typeToSearch":"Suchbegriff eingeben","imagePicker.noImages":"Keine Bilder gefunden","imagePicker.loadMore":"Mehr laden","imagePicker.loading":"Wird geladen…","imagePicker.uploadFromComputer":"Vom Computer hochladen","imagePicker.uploading":"Wird hochgeladen…","imagePicker.chooseDifferent":"Andere Datei wählen","imagePicker.orPasteUrl":"oder URL einfügen","imagePicker.urlPlaceholder":"https://example.com/image.jpg","imagePicker.uploadedImage":"Hochgeladenes Bild","imagePicker.needsKeyTitle":"Bildgenerierung ist deaktiviert","imagePicker.needsKeyBody":"Es ist kein Bild-Schlüssel konfiguriert, daher kann dieser Tab noch nichts generieren. Einer der beiden Schlüssel unten aktiviert sie — ein Anthropic-Schlüssel allein genügt nicht, da er kein Bildmodell hat.","imagePicker.needsKeyOpenAI":"generiert Bilder und ermöglicht die Bearbeitung mit gpt-image","imagePicker.needsKeyGoogle":"generiert Bilder und aktiviert den dialogbasierten Generieren-Tab. Benötigt zusätzlich npm install @google/genai — eine optionale Peer-Abhängigkeit, die kein Paketmanager automatisch installiert.","imagePicker.needsKeyRestart":"Füge einen in .env.local hinzu und starte den Dev-Server neu.","imagePicker.examplePrompt":"Wärmer machen","imagePicker.editPrompt":"Beschreibe, wie das Bild geändert werden soll…","imagePicker.generatePrompt":"Beschreibe das gewünschte Bild…","imagePicker.followUpPrompt":"Änderungen beschreiben…","imagePicker.refine":"Verfeinern","imagePicker.edit":"Bearbeiten","imagePicker.closePreview":"Vorschau schließen","imagePicker.ready":"Fertig","imagePicker.editThisImage":"Dieses Bild bearbeiten","imagePicker.editThisImageDesc":"Änderungen am aktuellen Bild beschreiben","imagePicker.generateNew":"Neu generieren","imagePicker.generateNewDesc":"Ein komplett neues Bild von Grund auf erstellen","imagePicker.useImage":"Bild verwenden","imagePicker.applyUrl":"URL anwenden","imagePicker.removeReference":"Referenz entfernen","imagePicker.attachReference":"Beispielbilder als Referenz anhängen (bis zu {{max}})","imagePicker.showOriginal":"Original anzeigen","imagePicker.showEdited":"Bearbeitet anzeigen","propertyPanel.loading":"Wird geladen…","propertyPanel.loadFailed":"Blockeigenschaften konnten nicht geladen werden","propertyPanel.loadFailedMissing":"Dieser Block ist nicht in der Seite, die der Orchestrator zurückgegeben hat","propertyPanel.loadFailedMissingHint":"Vorschau und Orchestrator zeigen möglicherweise auf verschiedene Sites. Prüfe die Orchestrator-URL in den Einstellungen der Site.","propertyPanel.loadFailedNoPage":"Diese Seite ist nicht im Entwurf","propertyPanel.loadFailedNoPageHint":"Der Orchestrator hat geantwortet, kennt aber unter dieser Adresse keine Seite für diese Session — entweder ist der Editor auf einer Seite, die dieser Entwurf nicht hat, oder er fragt einen Orchestrator, der diese Site nicht bereitstellt.","propertyPanel.loadFailedUnreachableHint":"Unter dieser Adresse hat nichts geantwortet. Prüfe, ob der Orchestrator läuft.","propertyPanel.retry":"Erneut versuchen","orchestratorMismatch.title":"Du bearbeitest die Inhalte einer anderen Site","orchestratorMismatch.detail":"{{orchestrator}} stellt diese Site nicht bereit — Seiten, Vorschau und Eigenschaften auf diesem Bildschirm gehören zu der Site, die dort tatsächlich liegt.","orchestratorMismatch.detailHosts":"{{orchestrator}} stellt {{hosted}} bereit — nicht diese Site. Seiten, Vorschau und Eigenschaften auf diesem Bildschirm gehören zu jener Site, unter dem Namen dieser.","orchestratorMismatch.useDefault":"Orchestrator des Editors verwenden","orchestratorMismatch.ownTitle":"Diese Website verwaltet ihre Inhalte woanders","orchestratorMismatch.ownDetail":"Der Editor liest Entwürfe von {{orchestrator}}, während die Website unter {{siteOrchestrator}} ihren eigenen Orchestrator betreibt. Ihre Medienbibliothek – und alles andere, was nur die Website kennt – fehlt, solange beide nicht übereinstimmen.","orchestratorMismatch.useSiteOwn":"Orchestrator dieser Website verwenden","propertyPanel.unknownBlock":"Unbekannter Blocktyp:","propertyPanel.page":"Seite","propertyPanel.close":"Eigenschaften schließen","propertyPanel.navLabel":"Nav-Label","propertyPanel.change":"Ändern","propertyPanel.chooseImage":"Bild wählen","propertyPanel.remove":"Entfernen","propertyPanel.addItem":"Eintrag hinzufügen","propertyPanel.removeItem":"Eintrag entfernen","propertyPanel.altText":"Alt-Text","propertyPanel.altPlaceholder":"Beschreibe, was auf dem Bild zu sehen ist","propertyPanel.navPlaceholder":"Seite","propertyPanel.linkPlaceholder":"Seite, URL, E-Mail oder Telefon","propertyPanel.linkBrowsePages":"Seiten durchsuchen","propertyPanel.linkNoPage":"Keine Seite unter diesem Pfad","propertyPanel.linkNoFile":"Kein Dokument unter diesem Pfad","propertyPanel.linkDidYouMean":"Meintest du {{page}}?","propertyPanel.linkNoMatches":"Keine passende Seite — wird so übernommen","propertyPanel.linkUseInternal":"Stattdessen auf {{path}} dieser Website verlinken","propertyPanel.linkNewTab":"In neuem Tab öffnen","propertyPanel.seo":"SEO","propertyPanel.seoTitle":"SEO-Titel","propertyPanel.seoTitlePlaceholder":"Standardmäßig der Seitentitel","propertyPanel.metaDescription":"Meta-Beschreibung","propertyPanel.metaDescPlaceholder":"Standardmäßig generierte Beschreibung","propertyPanel.ogImage":"Open-Graph-Bild-URL","welcome.greeting":"Willkommen bei {{name}}! Sag mir, was du ändern möchtest — ich kann Bereiche hinzufügen, Texte umschreiben, neue Seiten erstellen und mehr. Avocado Studio ist eine Research Preview, rechne also mit Ecken und Kanten.","welcome.greetingFallback":"Lass uns deine Seite in etwas Besonderes verwandeln. Ich kann Bereiche hinzufügen, Texte umschreiben, Blöcke umordnen, neue Seiten erstellen und mehr. Klicke auf etwas in der Vorschau oder sag mir, was du ändern möchtest. Avocado Studio ist eine Research Preview, rechne also mit Ecken und Kanten.","welcome.greetingDemo":"Willkommen bei {{name}} — eine Research Preview und eine Demo-Site zum Ausprobieren. Bearbeite, was du willst, schau dir den [Komponenten-Katalog]({{catalogueUrl}}) an, um zu sehen, was verfügbar ist, und wenn du bereit bist, [onboarde deine eigene Site](https://docs.avocadostudio.dev/sites). Rechne mit Ecken und Kanten — und sag uns Bescheid.","welcome.greetingScaffold":"Willkommen bei {{name}} — eine Research Preview von Avocado Studio mit dem Demo-Inhalt des Avocado Hub. Bearbeite alles, was du willst; rechne mit Ecken und Kanten. Wenn du Avocado auf deiner eigenen Site nutzen willst, siehe [die Integrationsanleitung](https://docs.avocadostudio.dev/integration/nextjs-integration).","suggestion.rewriteHero":"Hero-Überschrift umschreiben","suggestion.addTestimonials":"Einen Testimonial-Bereich hinzufügen","suggestion.addFaq":"Einen FAQ-Bereich hinzufügen","suggestion.addCta":"Einen Call-to-Action hinzufügen","suggestion.changeHeadline":"Überschrift und Untertitel ändern","suggestion.addSection":"Neuen Bereich hinzufügen","suggestion.rewriteTone":"Text umschreiben: mehr {{tone}}","suggestion.createFromTemplate":"Neue {{name}}-Seite erstellen","suggestion.createAbout":"Eine neue /about-Seite erstellen","suggestion.demoAddTestimonials":"Einen Testimonials-Bereich hinzufügen","suggestion.demoAddSection":"Einen abschließenden Call-to-Action-Bereich hinzufügen","suggestion.keylessAddTestimonials":"Add testimonials","suggestion.keylessRichText":"Add a rich text section","suggestion.keylessMetaDescription":'Set the meta description to "Fresh avocado recipes, wellness tips, and sustainability stories."',"suggestion.demoTranslate":"Übersetze die ganze Seite ins Deutsche","suggestion.demoAddFaq":"Einen FAQ-Bereich hinzufügen","suggestion.demoHeroCta":"Mach aus dem Hero einen starken Call-to-Action","streamError.failed":"Streaming-Anfrage fehlgeschlagen.","streamError.retrying":"Streaming fehlgeschlagen, wird mit Standardanfrage wiederholt…","streamError.canceling":"Wird abgebrochen…","streamError.canceled":"Vorgang gestoppt.","streamError.structuralDisabled":"Strukturelle Bearbeitungen sind für diesen Seitenkontext deaktiviert.","streamError.demoQuotaExhausted":"Diese Live-Demo wird von allen genutzt und hat vorerst ihr Nutzungslimit erreicht. Bitte versuchen Sie es in ein paar Minuten erneut – alles, was Sie bereits erstellt haben, bleibt erhalten.","ops.addedItem":"Listenelement hinzugefügt.","ops.deletedBlock":"Block gelöscht.","ops.changedImage":"Bild geändert.","ops.replacedImageAt":"{{block}} · {{field}}","ops.imageChangeFailed":"Bild konnte nicht geändert werden. Bitte erneut versuchen.","ops.imageSwap.pickAnother":"Ändern","ops.imageSwap.retry":"Erneut versuchen","ops.continueNext":"Weiter zum nächsten Schritt","plan.apply":"Übernehmen","plan.applyDestructive":"Änderungen übernehmen","plan.deletePage":"Seite löschen","plan.deletePages":"{{count}} Seiten löschen","plan.discard":"Verwerfen","fieldAi.generateAlt":"Alt-Text generieren","fieldAi.improveAccessibility":"Barrierefreiheit verbessern","fieldAi.makeDescriptive":"Beschreibender gestalten","fieldAi.optimizeSearch":"Für Suchranking optimieren","fieldAi.fitTitle":"Auf 60 Zeichen kürzen","fieldAi.addKeyword":"Primäres Schlüsselwort hinzufügen","fieldAi.suggest3":"3 Alternativen vorschlagen","fieldAi.optimizeCtr":"Für Klickrate optimieren","fieldAi.fitDescription":"Auf 160 Zeichen kürzen","fieldAi.addCallToAction":"Handlungsaufforderung hinzufügen","fieldAi.simplifyLanguage":"Sprache vereinfachen","fieldAi.expandDetail":"Mit mehr Details erweitern","fieldAi.makeConcise":"Prägnanter formulieren","fieldAi.improveClarity":"Verständlichkeit verbessern","fieldAi.adjustTone":"Ton professioneller gestalten","error.heading":"Etwas ist schiefgelaufen","error.message":"Beim Laden dieser Seite ist ein unerwarteter Fehler aufgetreten. Bitte versuche es erneut.","error.tryAgain":"Erneut versuchen","notFound.code":"404","notFound.heading":"Seite nicht gefunden","notFound.message":"Die gesuchte Seite existiert nicht oder wurde verschoben.","notFound.backHome":"Zurück zur Startseite","theme.switchLight":"Seite in den hellen Modus wechseln","theme.switchDark":"Seite in den dunklen Modus wechseln","theme.light":"Heller Modus","theme.dark":"Dunkler Modus","sitesAgent.title":"Onboarding-Agent","sitesAgent.clear":"Chat leeren","sitesAgent.welcome":"Ich kann eine neue Seite erstellen, eine bestehende Website von ihrer URL migrieren oder den Editor in dein Next.js-Projekt integrieren. Hinweis: Das ist noch früh — behandle meinen ersten Wurf als Entwurf, den du im Editor verfeinerst, besonders bei Migrationen komplexer Seiten. Was möchtest du tun?","sitesAgent.placeholder":"Frag mich etwas...","sitesAgent.suggestion1":"Neue Seite von Grund auf erstellen","sitesAgent.suggestion1Desc":"Beschreibe den Zweck deiner Seite und ich erstelle sie","sitesAgent.suggestion2":"Website von URL migrieren","sitesAgent.suggestion2Desc":"Gib mir eine URL und ich analysiere und erstelle sie neu","sitesAgent.suggestion3":"Über ein GitHub-Projekt integrieren","sitesAgent.suggestion3Desc":"Verbinde den Editor mit deiner bestehenden Next.js-App","sitesAgent.stop":"Stopp","sitesAgent.showMore":"Mehr anzeigen","sitesAgent.showLess":"Weniger anzeigen","propertyPanel.content":"Inhalt","propertyPanel.navigation":"Navigation","health.tooltip":"Website-Zustand","health.title":"Website-Zustand","health.run":"Prüfung jetzt starten","health.close":"Schließen","health.loading":"Wird geprüft…","health.emptyTitle":"Nichts zu beheben","health.emptyBody":"Die letzte Prüfung hat auf dieser Website keine Probleme gefunden.","health.goTo":"Anzeigen","health.snooze":"Später","health.snoozeTitle":"Eine Woche ausblenden und erneut anzeigen, falls es dann noch fehlerhaft ist","health.dismiss":"Ausblenden","health.dismissTitle":"Für diese Seite nie wieder anzeigen","health.notDurable":"Befunde werden nur im Arbeitsspeicher gehalten — sie gehen beim Neustart des Servers verloren.","linkPicker.title":"Verlinken mit","linkPicker.placeholder":"Seite, Dokument oder URL","linkPicker.noPage":"Keine Seite unter diesem Pfad","linkPicker.noFile":"Kein Dokument unter diesem Pfad","linkPicker.noMatches":"Keine passenden Seiten oder Dokumente","linkPicker.externalHint":"Verweist auf eine externe Website","linkPicker.emailHint":"Öffnet eine neue E-Mail","linkPicker.phoneHint":"Wählt eine Telefonnummer","linkPicker.anchorHint":"Springt zu einer Stelle auf dieser Seite","linkPicker.loadingFiles":"Dokumente dieser Website werden geladen ...","linkPicker.filesUnavailable":"{{orchestrator}} hat keine Dokumentliste für diese Website – der Pfad wird wie eingegeben übernommen.","linkPicker.dropHere":"Zum Hochladen loslassen","linkPicker.upload":"Dokument hochladen","linkPicker.uploadHint":"Oder eine Datei auf dieses Feld ziehen","linkPicker.uploading":"Wird hochgeladen ...","linkPicker.uploadNoUrl":"Der Upload war erfolgreich, aber die Website hat keine URL zurückgegeben.","linkPicker.remove":"Link entfernen","linkPicker.apply":"Übernehmen","common.cancel":"Abbrechen"},Xv={en:d$,de:f$},QD="editor-locale",eR={en:"English",de:"Deutsch"};function tR(){try{const e=localStorage.getItem(QD);if(e&&e in Xv)return e}catch{}return"en"}function nR(e){return(t,n)=>{let r=Xv[e][t]??Xv.en[t]??t;if(n)for(const[i,s]of Object.entries(n))r=r.replaceAll(`{{${i}}}`,String(s));return r}}function h$(e){return nR(e)}const rR=_.createContext(null);function p$({children:e}){const[t,n]=_.useState(tR),r=_.useCallback(o=>{try{localStorage.setItem(QD,o)}catch{}n(o)},[]),i=_.useMemo(()=>nR(t),[t]),s=_.useMemo(()=>({locale:t,setLocale:r,t:i}),[t,r,i]);return p.jsx(rR,{value:s,children:e})}function An(){const e=_.useContext(rR);if(!e)throw new Error("useT must be used within <LocaleProvider>");return e}const ST=e=>{let t;const n=new Set,r=(d,f)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const g=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(y=>y(t,g))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d))},u=t=e(r,i,a);return a},m$=(e=>e?ST(e):ST),g$=e=>e;function b$(e,t=g$){const n=_n.useSyncExternalStore(e.subscribe,_n.useCallback(()=>t(e.getState()),[e,t]),_n.useCallback(()=>t(e.getInitialState()),[e,t]));return _n.useDebugValue(n),n}const wT=e=>{const t=m$(e),n=r=>b$(t,r);return Object.assign(n,t),n},iR=(e=>e?wT(e):wT),y$=e=>(t,n,r)=>{const i=r.subscribe;return r.subscribe=((o,a,u)=>{let d=o;if(a){const f=(u==null?void 0:u.equalityFn)||Object.is;let m=o(r.getState());d=g=>{const y=o(g);if(!f(m,y)){const x=m;a(m=y,x)}},u!=null&&u.fireImmediately&&a(m,m)}return i(d)}),e(t,n,r)},x$=y$,CT="__ai_justification__:",_T="__ai_performance__:",sR="editor-debug-mode-v1",oR="editor-model-key-v1",aR="editor-provider-v1",Ig="editor-chat-theme-v1",Qv="editor-dev-options-v1",ek="editor-chat-width-v1",tk="editor-props-width-v1",ET=340,v$=720,TT=300,k$=560;function nk(e,t){const n=typeof window<"u"?window.innerWidth:1440,r=Math.max(ET,Math.min(v$,n*.5));return Math.max(ET,Math.min(e,r))}function S$(){if(typeof window>"u")return null;const e=window.localStorage.getItem(ek);if(!e)return null;const t=Number.parseInt(e,10);return!Number.isFinite(t)||t<=0?null:nk(t)}function rk(e,t){const n=typeof window<"u"?window.innerWidth:1440,r=Math.max(TT,Math.min(k$,n*.4));return Math.max(TT,Math.min(e,r))}function w$(){if(typeof window>"u")return null;const e=window.localStorage.getItem(tk);if(!e)return null;const t=Number.parseInt(e,10);return!Number.isFinite(t)||t<=0?null:rk(t)}function C$(){const e=/^(1|true|yes|on)$/i.test("");if(typeof window>"u")return e;const n=new URLSearchParams(window.location.search).get("dev");if(n!==null){const i=/^(1|true|yes|on)$/i.test(n);try{window.localStorage.setItem(Qv,i?"1":"0")}catch{}return i}const r=window.localStorage.getItem(Qv);return r==="1"?!0:r==="0"?!1:e}const _$={desktop:1200};function wh(){return`${Date.now()}-${Math.random().toString(36).slice(2,7)}`}function E$(){if(/^(1|true|yes|on)$/i.test(""))return!0;if(typeof window>"u")return!1;const t=window.localStorage.getItem(sR);return/^(1|true|yes|on)$/i.test(t??"")}const T$=new Set(["fast","balanced","reasoning","codex"]),A$=new Set(["openai","anthropic","gemini"]);function N$(){if(typeof window>"u")return"balanced";const e=window.localStorage.getItem(oR);return e&&T$.has(e)?e:"balanced"}function M$(){if(typeof window>"u")return"anthropic";const e=window.localStorage.getItem(aR);return e&&A$.has(e)?e:"anthropic"}function D$(){var t,n;if(typeof window>"u")return!1;const e=window.sessionStorage.getItem(Ig)??window.localStorage.getItem(Ig);return e==="dark"?!0:e==="light"?!1:((n=(t=window.matchMedia)==null?void 0:t.call(window,"(prefers-color-scheme: dark)"))==null?void 0:n.matches)??!1}const R$="editor-anchored-composer-v1",lR="editor-auto-scroll-tracking-v1";function j$(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(lR);return!(e==="0"||e==="false")}function I$(){if(/^(0|false|no|off)$/i.test(""))return!1;if(/^(1|true|yes|on)$/i.test("")||typeof window>"u")return!0;const t=window.localStorage.getItem(R$);return!(t==="0"||t==="false")}function O$(e,t){return{...e,...t}}function P$(e){const t=Array.isArray(e)?e:[];let n,r;const i=[];for(const s of t)if(typeof s=="string"&&/\w/.test(s)){if(s.startsWith(CT)){const o=s.slice(CT.length).trim();o&&(n=o);continue}if(s.startsWith(_T)){const o=s.slice(_T.length).trim();o&&(r=o);continue}i.push(s)}return{changes:i,aiJustification:n,aiPerformanceNote:r}}function z$(){if(typeof window>"u")return"/";const e=new URLSearchParams(window.location.search).get("slug");if(!e)return"/";const t=e.trim();return!t||t==="/"?"/":t.startsWith("/")?t:`/${t}`}function L$(e){if(!e)return[];if(Array.isArray(e))return e.map(String);const t=Object.values(e.fieldErrors??{}).flat().map(String);return[...(e.formErrors??[]).map(String),...t]}const de=iR()(x$(e=>({activeBlockId:void 0,activeBlockType:void 0,activeEditablePath:void 0,slug:z$(),availableSlugs:["/"],availablePages:[],availableFiles:void 0,filesStatus:"unknown",canUploadFiles:!1,isLoadingSlugs:!1,chatLog:[],chatAttachments:[],isLoading:!1,streamStatus:null,streamingText:null,streamingChanges:[],streamingThinking:null,streamSteps:[],opChecklist:[],streamTokenCount:0,latestStreamFocusBlockId:null,imageProgress:null,continuationChainId:null,pendingPlanId:null,plannerBadgeState:"checking",variationModal:null,isApplyingVariation:!1,composerHeight:56,chatWidth:S$(),propsWidth:w$(),activeTab:"chat",showSettingsModal:!1,showDebugDetails:E$(),addBlockPicker:null,addBlockSearch:"",isAddingBlock:!1,imagePickerTarget:null,chatDarkMode:D$(),selectionModeEnabled:!1,anchorRect:null,anchoredExpanded:!1,selectedVariationId:null,showSiteSwitcher:!1,copiedDebugEntryId:null,feedbackNoteEntryId:null,feedbackNoteText:"",siteConfigTab:"overview",configModalTab:"general",modelKey:N$(),provider:M$(),availableProviders:[],useStreaming:!0,autoScrollTrackingEnabled:j$(),autoScrollSuppressed:!1,backendFeatures:{},backendSite:{},fieldDraftDebugEnabled:!1,fieldDraftDebug:{eventsPerSecond:0,charsPerSecond:0,totalEvents:0,totalChars:0,typingLagChars:0,activeTarget:null},setActiveBlock:(t,n)=>e(r=>{const i=n===void 0&&t===r.activeBlockId?r.activeBlockType:n;return r.activeBlockId===t&&r.activeBlockType===i?r:{...r,activeBlockId:t,activeBlockType:i}}),setActiveEditablePath:t=>e(n=>n.activeEditablePath===t?n:{...n,activeEditablePath:t}),setSlug:t=>e(n=>n.slug===t?n:{...n,slug:t}),setAvailableSlugs:t=>e({availableSlugs:t}),setAvailablePages:t=>e({availablePages:t}),setAvailableFiles:t=>e({availableFiles:t}),setFilesStatus:t=>e({filesStatus:t}),setCanUploadFiles:t=>e({canUploadFiles:t}),setIsLoadingSlugs:t=>e(n=>n.isLoadingSlugs===t?n:{...n,isLoadingSlugs:t}),setChatLog:t=>e(n=>({...n,chatLog:typeof t=="function"?t(n.chatLog):t})),appendChatEntry:t=>e(n=>({...n,chatLog:[...n.chatLog,t]})),setChatAttachments:t=>e(n=>({...n,chatAttachments:typeof t=="function"?t(n.chatAttachments):t})),setIsLoading:t=>e(n=>n.isLoading===t?n:{...n,isLoading:t}),setStreamStatus:t=>e({streamStatus:t}),setStreamingText:t=>e(n=>({...n,streamingText:typeof t=="function"?t(n.streamingText):t})),setStreamingChanges:t=>e(n=>({...n,streamingChanges:typeof t=="function"?t(n.streamingChanges):t})),setStreamingThinking:t=>e(n=>({...n,streamingThinking:typeof t=="function"?t(n.streamingThinking):t})),setStreamSteps:t=>e(n=>({...n,streamSteps:typeof t=="function"?t(n.streamSteps):t})),setOpChecklist:t=>e(n=>({...n,opChecklist:typeof t=="function"?t(n.opChecklist):t})),setStreamTokenCount:t=>e(n=>({...n,streamTokenCount:typeof t=="function"?t(n.streamTokenCount):t})),setLatestStreamFocusBlockId:t=>e({latestStreamFocusBlockId:t}),setImageProgress:t=>e({imageProgress:t}),setContinuationChainId:t=>e({continuationChainId:t}),setPendingPlanId:t=>e({pendingPlanId:t}),setPlannerBadgeState:t=>e({plannerBadgeState:t}),setKeyFilePath:t=>e({keyFilePath:t}),setVariationModal:t=>e({variationModal:t}),setIsApplyingVariation:t=>e({isApplyingVariation:t}),patchVariationOption:(t,n)=>e(r=>{if(!r.variationModal)return r;const i=r.variationModal.options.map(s=>s.id===t?{...s,patch:n.patch,changedKeys:n.changedKeys,imagePending:!1}:s);return{...r,variationModal:{...r.variationModal,options:i}}}),setComposerHeight:t=>e(n=>{const r=typeof t=="function"?t(n.composerHeight):t;return n.composerHeight===r?n:{...n,composerHeight:r}}),setChatWidth:t=>e(n=>{const r=typeof t=="function"?t(n.chatWidth):t;return n.chatWidth===r?n:{...n,chatWidth:r}}),setPropsWidth:t=>e(n=>{const r=typeof t=="function"?t(n.propsWidth):t;return n.propsWidth===r?n:{...n,propsWidth:r}}),setActiveTab:t=>e(n=>n.activeTab===t?n:{...n,activeTab:t}),setShowSettingsModal:t=>e({showSettingsModal:t}),setShowDebugDetails:t=>e({showDebugDetails:t}),setAddBlockPicker:t=>e({addBlockPicker:t}),setAddBlockSearch:t=>e({addBlockSearch:t}),setIsAddingBlock:t=>e({isAddingBlock:t}),setImagePickerTarget:t=>e({imagePickerTarget:t}),setChatDarkMode:t=>e(n=>n.chatDarkMode===t?n:{...n,chatDarkMode:t}),setSelectionModeEnabled:t=>e({selectionModeEnabled:t}),setAnchorRect:t=>e({anchorRect:t}),setAnchoredExpanded:t=>e({anchoredExpanded:t}),setSelectedVariationId:t=>e({selectedVariationId:t}),setShowSiteSwitcher:t=>e({showSiteSwitcher:t}),setCopiedDebugEntryId:t=>e({copiedDebugEntryId:t}),setFeedbackNoteEntryId:t=>e({feedbackNoteEntryId:t}),setFeedbackNoteText:t=>e({feedbackNoteText:t}),setSiteConfigTab:t=>e({siteConfigTab:t}),setConfigModalTab:t=>e({configModalTab:t}),setModelKey:t=>e(n=>n.modelKey===t?n:{...n,modelKey:t}),setProvider:t=>e(n=>n.provider===t?n:{...n,provider:t}),setAvailableProviders:t=>e({availableProviders:t}),setUseStreaming:t=>e({useStreaming:t}),setAutoScrollTrackingEnabled:t=>e(n=>n.autoScrollTrackingEnabled===t?n:{...n,autoScrollTrackingEnabled:t}),setAutoScrollSuppressed:t=>e(n=>n.autoScrollSuppressed===t?n:{...n,autoScrollSuppressed:t}),setBackendFeatures:t=>e({backendFeatures:t}),setBackendSite:t=>e({backendSite:t}),setFieldDraftDebugEnabled:t=>e({fieldDraftDebugEnabled:t}),setFieldDraftDebug:t=>e({fieldDraftDebug:t}),pushAssistantFromResult:(t,n)=>{const r=L$(t.validationErrors),i=P$(t.changes),s={id:wh(),role:"assistant",text:t.summary??t.error??"Request failed.",status:t.status,canUndo:(n==null?void 0:n.canUndo)??!1,wasUndone:!1,undoSlug:n==null?void 0:n.undoSlug,changes:i.changes,mentionedSlugs:Array.isArray(t.mentionedSlugs)?t.mentionedSlugs.filter(o=>typeof o=="string"):[],suggestions:t.suggestions??[],variations:t.variations,errors:r,meta:t.modelUsed?`${t.modelUsed}${t.modelKey?` (${t.modelKey})`:""}`:void 0,debug:t.debug,aiJustification:i.aiJustification,aiPerformanceNote:i.aiPerformanceNote,pendingPlanId:typeof t.pendingPlanId=="string"?t.pendingPlanId:void 0,planApplied:t.planApplied===!0?!0:void 0,planPreview:t.planPreview??void 0,destructiveReasons:Array.isArray(t.destructiveReasons)?t.destructiveReasons.filter(o=>typeof o=="string"):void 0,continuation:t.continuation??void 0,imageSwap:n==null?void 0:n.imageSwap,thinking:n==null?void 0:n.thinking};e(o=>{if(!s.canUndo)return{...o,chatLog:[...o.chatLog,s]};const a=o.chatLog.map(u=>u.canUndo?{...u,canUndo:!1,wasUndone:!1}:u);return{...o,chatLog:[...a,s]}})}})));de.subscribe(e=>e.chatDarkMode,e=>{if(typeof window>"u")return;window.document.documentElement.classList.toggle("editor-dark",e),window.sessionStorage.setItem(Ig,e?"dark":"light"),window.localStorage.setItem(Ig,e?"dark":"light")});de.subscribe(e=>e.modelKey,e=>{typeof window>"u"||window.localStorage.setItem(oR,e)});de.subscribe(e=>e.provider,e=>{typeof window>"u"||window.localStorage.setItem(aR,e)});de.subscribe(e=>e.showDebugDetails,e=>{typeof window>"u"||window.localStorage.setItem(sR,e?"1":"0")});de.subscribe(e=>e.chatWidth,e=>{typeof window>"u"||(e==null?window.localStorage.removeItem(ek):window.localStorage.setItem(ek,String(Math.round(e))))});de.subscribe(e=>e.propsWidth,e=>{typeof window>"u"||(e==null?window.localStorage.removeItem(tk):window.localStorage.setItem(tk,String(Math.round(e))))});de.subscribe(e=>e.autoScrollTrackingEnabled,e=>{typeof window>"u"||window.localStorage.setItem(lR,e?"1":"0")});const Wc={sessionId:"dev",siteId:"",editorOrigin:"",orchestratorUrl:""};function qi(){return Wc.sessionId}function Ki(){return Wc.siteId}function B$(e){Wc.sessionId=e.sessionId,Wc.siteId=e.siteId,Wc.editorOrigin=e.editorOrigin,Wc.orchestratorUrl=e.orchestratorUrl}const $$="image/png,image/jpeg,image/webp,image/gif,application/pdf";function AT(e){return e.type.startsWith("image/")||e.type==="application/pdf"}function F$(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),r=t%60;return`${n}:${r.toString().padStart(2,"0")}`}function uR(e){const{message:t,isLoading:n,onMessageChange:r,onSubmit:i,onCancel:s,onTranscribeAudio:o,onUploadAttachment:a,attachments:u,onAttachmentsChange:d,onAutoHeightChange:f,selectionModeEnabled:m,onToggleSelectionMode:g,compact:y}=e,{t:x}=An(),v=de(ce=>ce.backendFeatures.audioTranscription)!==!1,[S,w]=_.useState(!1),[T,A]=_.useState(0),[M,j]=_.useState(!1),[D,O]=_.useState([]),[R,V]=_.useState(null),[F,W]=_.useState(null),U=_.useRef(null),H=_.useRef(null),G=_.useRef(null),q=_.useRef(null),I=_.useRef(null),B=_.useRef([]),Y=_.useRef(null);function ne(){const ce=H.current;if(!ce)return;const ee=U.current;if(ee){ee.style.height="0px",ee.style.overflowY="hidden";const Ye=ee.scrollHeight,xt=Math.min(220,Math.max(20,Ye));ee.style.height=`${xt}px`,ee.style.overflowY=Ye>xt?"auto":"hidden"}const Ie=ce.closest(".composer"),ze=Ie?Ie.scrollHeight:ce.scrollHeight;f(ze)}_.useEffect(()=>()=>{var ce,ee;try{(ce=q.current)==null||ce.stop()}catch{}(ee=I.current)==null||ee.getTracks().forEach(Ie=>Ie.stop()),q.current=null,I.current=null},[]),_.useLayoutEffect(()=>{ne()},[t,S,M,D,u,R,F,f]),_.useEffect(()=>{var Ie;const ce=requestAnimationFrame(()=>ne());let ee=!1;return typeof document<"u"&&((Ie=document.fonts)!=null&&Ie.ready)&&document.fonts.ready.then(()=>{ee||ne()}).catch(()=>{}),()=>{cancelAnimationFrame(ce),ee=!0}},[]),_.useEffect(()=>{const ce=()=>ne();return window.addEventListener("resize",ce),()=>window.removeEventListener("resize",ce)},[]),_.useEffect(()=>{const ce=H.current;if(!ce)return;const ee=ce.closest(".composer");let Ie;typeof ResizeObserver<"u"&&(Ie=new ResizeObserver(()=>ne()),Ie.observe(ce),ee&&Ie.observe(ee));let ze;return ee&&typeof MutationObserver<"u"&&(ze=new MutationObserver(()=>ne()),ze.observe(ee,{childList:!0})),()=>{Ie==null||Ie.disconnect(),ze==null||ze.disconnect()}},[]),_.useEffect(()=>{if(!S){A(0);return}const ce=performance.now();A(0);const ee=window.setInterval(()=>{A(performance.now()-ce)},250);return()=>window.clearInterval(ee)},[S]);function P(){var ce;return typeof window<"u"&&typeof window.MediaRecorder<"u"&&!!((ce=navigator.mediaDevices)!=null&&ce.getUserMedia)}function z(ce){const ee=ce.trim();if(!ee)return;const Ie=t.trim().length>0?`${t.trim()} `:"";r(`${Ie}${ee}`.trim())}async function J(ce){if(ce.length===0)return;W(null);const ee=[];let Ie=!1;for(const ze of ce)AT(ze)?ee.push(ze):Ie=!0;Ie&&W(x("chatInput.unsupportedFile")),ee.length!==0&&await Promise.all(ee.map(async ze=>{O(Ye=>[...Ye,ze.name]);try{const Ye=await a(ze);d(nt=>[...nt,Ye])}catch(Ye){const nt=Ye instanceof Error?Ye.message:x("chatInput.uploadFailed");W(nt)}finally{O(Ye=>{const nt=Ye.indexOf(ze.name);return nt===-1?Ye:[...Ye.slice(0,nt),...Ye.slice(nt+1)]})}}))}function L(ce){d(ee=>ee.filter(Ie=>Ie.id!==ce))}async function X(){var ce;if(V(null),!P()){V(x("chatInput.speechUnsupported"));return}if(!(n||M)){if(S){(ce=q.current)==null||ce.stop(),w(!1);return}try{const ee=await navigator.mediaDevices.getUserMedia({audio:!0});I.current=ee;const Ie=new MediaRecorder(ee);q.current=Ie,B.current=[],Ie.ondataavailable=ze=>{ze.data&&ze.data.size>0&&B.current.push(ze.data)},Ie.onstop=async()=>{const ze=Y.current;Y.current=null;const Ye=Ie.mimeType||"audio/webm",nt=B.current;if(B.current=[],ee.getTracks().forEach(xt=>xt.stop()),I.current=null,q.current=null,w(!1),!(ze==="cancel"||nt.length===0)){j(!0);try{const xt=new Blob(nt,{type:Ye}),st=(await o(xt,Ye)).trim();if(!st){V(x("chatInput.noSpeechDetected"));return}const Nn=[t.trim(),st].filter(Boolean).join(" ").trim();ze==="confirm"?i(Nn):z(st)}catch(xt){const Xe=xt instanceof Error?xt.message:x("chatInput.transcribeFailed");V(Xe)}finally{j(!1)}}},Ie.start(),w(!0)}catch{V(x("chatInput.micBlocked"))}}}function oe(){var ce;S&&(Y.current="cancel",(ce=q.current)==null||ce.stop(),B.current=[])}function ie(){var ce;S&&(Y.current="confirm",(ce=q.current)==null||ce.stop())}const se=S||M,Ne=D.length>0,_e=u.length>0,Oe=!n&&!se&&!Ne&&(t.trim().length>0||_e);return p.jsxs("div",{className:`composer-shell${n?" is-loading":""}`,ref:H,children:[p.jsx("input",{ref:G,type:"file",multiple:!0,accept:$$,style:{display:"none"},onChange:ce=>{const ee=Array.from(ce.target.files??[]);ce.target.value="",J(ee)}}),p.jsxs("div",{className:"composer-input-area",children:[(_e||Ne)&&!S?p.jsxs("div",{className:"composer-attachments",children:[u.map(ce=>p.jsxs("div",{className:"composer-attachment-chip",title:ce.name,children:[ce.kind==="image"?p.jsx("img",{className:"composer-attachment-thumb",src:ce.url,alt:""}):p.jsx("span",{className:"composer-attachment-icon","aria-hidden":"true",children:p.jsx(ib,{size:14})}),p.jsx("span",{className:"composer-attachment-name",children:ce.name??(ce.kind==="pdf"?"document.pdf":"image")}),p.jsx("button",{type:"button",className:"composer-attachment-remove",onClick:()=>L(ce.id),"aria-label":x("chatInput.removeAttachment"),children:p.jsx(Ls,{size:12})})]},ce.id)),D.map((ce,ee)=>p.jsxs("div",{className:"composer-attachment-chip is-uploading",title:ce,children:[p.jsx("span",{className:"composer-attachment-icon","aria-hidden":"true",children:p.jsx(Jv,{size:14,className:"composer-spin"})}),p.jsx("span",{className:"composer-attachment-name",children:ce})]},`uploading-${ee}-${ce}`))]}):null,!S&&p.jsx("textarea",{ref:U,placeholder:x("chatInput.placeholder"),value:t,onChange:ce=>{r(ce.target.value),ne()},onInput:()=>ne(),onPaste:ce=>{var ze;const ee=(ze=ce.clipboardData)==null?void 0:ze.items;if(!ee)return;const Ie=[];for(const Ye of ee){if(Ye.kind!=="file")continue;const nt=Ye.getAsFile();nt&&AT(nt)&&Ie.push(nt)}Ie.length!==0&&(ce.preventDefault(),J(Ie))},onKeyDown:ce=>{ce.key==="Enter"&&!ce.shiftKey&&!se&&!Ne&&(ce.preventDefault(),i())},rows:1}),S?p.jsxs("div",{className:"composer-input-note composer-input-note-listening",children:[p.jsx("span",{className:"composer-rec-dot","aria-hidden":"true"}),p.jsx("span",{className:"composer-rec-label",children:x("chatInput.listening")}),p.jsx("span",{className:"composer-rec-timer","aria-hidden":"true",children:F$(T)})]}):null,M?p.jsx("div",{className:"composer-input-note",children:x("chatInput.transcribing")}):null,R?p.jsx("div",{className:"composer-input-note composer-input-note-error",children:R}):null,F?p.jsx("div",{className:"composer-input-note composer-input-note-error",children:F}):null]}),p.jsxs("div",{className:"composer-actions",children:[!y&&!S&&p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"composer-ghost-btn composer-plus-btn",onClick:()=>{var ce;return(ce=G.current)==null?void 0:ce.click()},disabled:n||Ne,"aria-label":x("chatInput.attachFile"),"data-tooltip":x("chatInput.attachFile"),children:p.jsx(O9,{size:16})}),g&&p.jsx("button",{type:"button",className:`composer-ghost-btn composer-selector-btn${m?" is-active":""}`,onClick:g,"aria-label":x(m?"chatInput.exitSelector":"chatInput.selectElement"),"data-tooltip":x(m?"chatInput.exitSelector":"chatInput.selectElement"),"aria-pressed":m,children:p.jsx(A9,{size:16})})]}),p.jsx("div",{className:"composer-actions-spacer"}),p.jsx("div",{className:"composer-actions-right",role:"group","aria-label":x("chatInput.voiceActions"),children:!y&&S?p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"composer-ghost-btn composer-cancel-btn",onClick:oe,disabled:n||M,"aria-label":x("chatInput.cancelVoice"),children:p.jsx(Ls,{size:16})}),p.jsx("button",{type:"button",className:"composer-send-btn",onClick:ie,disabled:n||M,"aria-label":x("chatInput.sendRecorded"),children:p.jsx(Qh,{size:16})})]}):p.jsxs(p.Fragment,{children:[!y&&v&&p.jsx("button",{type:"button",className:"composer-ghost-btn",onClick:()=>void X(),disabled:n||M,"aria-label":x("chatInput.startVoice"),children:p.jsx(E9,{size:16})}),p.jsxs("button",{type:"button",className:`composer-send-btn${n&&s?" is-stop":""}`,onClick:n&&s?s:()=>i(),disabled:!(n&&s)&&!Oe,"aria-label":x(n&&s?"chatInput.stopGeneration":"chatInput.sendMessage"),children:[p.jsx("span",{className:"icon-send",children:p.jsx(RS,{size:16,strokeWidth:2.8})}),p.jsx("span",{className:"icon-stop",children:p.jsx(IS,{size:12,fill:"currentColor"})})]})]})})]})]})}function U$(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const H$=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,V$=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,q$={};function NT(e,t){return(q$.jsx?V$:H$).test(e)}const K$=/[ \t\n\f\r]/g;function G$(e){return typeof e=="object"?e.type==="text"?MT(e.value):!1:MT(e)}function MT(e){return e.replace(K$,"")===""}let ep=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};ep.prototype.normal={};ep.prototype.property={};ep.prototype.space=void 0;function cR(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new ep(n,r,t)}function ik(e){return e.toLowerCase()}class Ji{constructor(t,n){this.attribute=n,this.property=t}}Ji.prototype.attribute="";Ji.prototype.booleanish=!1;Ji.prototype.boolean=!1;Ji.prototype.commaOrSpaceSeparated=!1;Ji.prototype.commaSeparated=!1;Ji.prototype.defined=!1;Ji.prototype.mustUseProperty=!1;Ji.prototype.number=!1;Ji.prototype.overloadedBoolean=!1;Ji.prototype.property="";Ji.prototype.spaceSeparated=!1;Ji.prototype.space=void 0;let W$=0;const Nt=Wu(),Ar=Wu(),sk=Wu(),je=Wu(),Dn=Wu(),Xc=Wu(),cs=Wu();function Wu(){return 2**++W$}const ok=Object.freeze(Object.defineProperty({__proto__:null,boolean:Nt,booleanish:Ar,commaOrSpaceSeparated:cs,commaSeparated:Xc,number:je,overloadedBoolean:sk,spaceSeparated:Dn},Symbol.toStringTag,{value:"Module"})),ox=Object.keys(ok);class zS extends Ji{constructor(t,n,r,i){let s=-1;if(super(t,n),DT(this,"space",i),typeof r=="number")for(;++s<ox.length;){const o=ox[s];DT(this,ox[s],(r&ok[o])===ok[o])}}}zS.prototype.defined=!0;function DT(e,t,n){n&&(e[t]=n)}function Td(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new zS(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[ik(r)]=r,n[ik(s.attribute)]=r}return new ep(t,n,e.space)}const dR=Td({properties:{ariaActiveDescendant:null,ariaAtomic:Ar,ariaAutoComplete:null,ariaBusy:Ar,ariaChecked:Ar,ariaColCount:je,ariaColIndex:je,ariaColSpan:je,ariaControls:Dn,ariaCurrent:null,ariaDescribedBy:Dn,ariaDetails:null,ariaDisabled:Ar,ariaDropEffect:Dn,ariaErrorMessage:null,ariaExpanded:Ar,ariaFlowTo:Dn,ariaGrabbed:Ar,ariaHasPopup:null,ariaHidden:Ar,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Dn,ariaLevel:je,ariaLive:null,ariaModal:Ar,ariaMultiLine:Ar,ariaMultiSelectable:Ar,ariaOrientation:null,ariaOwns:Dn,ariaPlaceholder:null,ariaPosInSet:je,ariaPressed:Ar,ariaReadOnly:Ar,ariaRelevant:null,ariaRequired:Ar,ariaRoleDescription:Dn,ariaRowCount:je,ariaRowIndex:je,ariaRowSpan:je,ariaSelected:Ar,ariaSetSize:je,ariaSort:null,ariaValueMax:je,ariaValueMin:je,ariaValueNow:je,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function fR(e,t){return t in e?e[t]:t}function hR(e,t){return fR(e,t.toLowerCase())}const Z$=Td({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xc,acceptCharset:Dn,accessKey:Dn,action:null,allow:null,allowFullScreen:Nt,allowPaymentRequest:Nt,allowUserMedia:Nt,alt:null,as:null,async:Nt,autoCapitalize:null,autoComplete:Dn,autoFocus:Nt,autoPlay:Nt,blocking:Dn,capture:null,charSet:null,checked:Nt,cite:null,className:Dn,cols:je,colSpan:null,content:null,contentEditable:Ar,controls:Nt,controlsList:Dn,coords:je|Xc,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Nt,defer:Nt,dir:null,dirName:null,disabled:Nt,download:sk,draggable:Ar,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Nt,formTarget:null,headers:Dn,height:je,hidden:sk,high:je,href:null,hrefLang:null,htmlFor:Dn,httpEquiv:Dn,id:null,imageSizes:null,imageSrcSet:null,inert:Nt,inputMode:null,integrity:null,is:null,isMap:Nt,itemId:null,itemProp:Dn,itemRef:Dn,itemScope:Nt,itemType:Dn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Nt,low:je,manifest:null,max:null,maxLength:je,media:null,method:null,min:null,minLength:je,multiple:Nt,muted:Nt,name:null,nonce:null,noModule:Nt,noValidate:Nt,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Nt,optimum:je,pattern:null,ping:Dn,placeholder:null,playsInline:Nt,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Nt,referrerPolicy:null,rel:Dn,required:Nt,reversed:Nt,rows:je,rowSpan:je,sandbox:Dn,scope:null,scoped:Nt,seamless:Nt,selected:Nt,shadowRootClonable:Nt,shadowRootDelegatesFocus:Nt,shadowRootMode:null,shape:null,size:je,sizes:null,slot:null,span:je,spellCheck:Ar,src:null,srcDoc:null,srcLang:null,srcSet:null,start:je,step:null,style:null,tabIndex:je,target:null,title:null,translate:null,type:null,typeMustMatch:Nt,useMap:null,value:Ar,width:je,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Dn,axis:null,background:null,bgColor:null,border:je,borderColor:null,bottomMargin:je,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Nt,declare:Nt,event:null,face:null,frame:null,frameBorder:null,hSpace:je,leftMargin:je,link:null,longDesc:null,lowSrc:null,marginHeight:je,marginWidth:je,noResize:Nt,noHref:Nt,noShade:Nt,noWrap:Nt,object:null,profile:null,prompt:null,rev:null,rightMargin:je,rules:null,scheme:null,scrolling:Ar,standby:null,summary:null,text:null,topMargin:je,valueType:null,version:null,vAlign:null,vLink:null,vSpace:je,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Nt,disableRemotePlayback:Nt,prefix:null,property:null,results:je,security:null,unselectable:null},space:"html",transform:hR}),Y$=Td({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:cs,accentHeight:je,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:je,amplitude:je,arabicForm:null,ascent:je,attributeName:null,attributeType:null,azimuth:je,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:je,by:null,calcMode:null,capHeight:je,className:Dn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:je,diffuseConstant:je,direction:null,display:null,dur:null,divisor:je,dominantBaseline:null,download:Nt,dx:null,dy:null,edgeMode:null,editable:null,elevation:je,enableBackground:null,end:null,event:null,exponent:je,externalResourcesRequired:null,fill:null,fillOpacity:je,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xc,g2:Xc,glyphName:Xc,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:je,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:je,horizOriginX:je,horizOriginY:je,id:null,ideographic:je,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:je,k:je,k1:je,k2:je,k3:je,k4:je,kernelMatrix:cs,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:je,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:je,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:je,overlineThickness:je,paintOrder:null,panose1:null,path:null,pathLength:je,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Dn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:je,pointsAtY:je,pointsAtZ:je,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:cs,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:cs,rev:cs,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:cs,requiredFeatures:cs,requiredFonts:cs,requiredFormats:cs,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:je,specularExponent:je,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:je,strikethroughThickness:je,string:null,stroke:null,strokeDashArray:cs,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:je,strokeOpacity:je,strokeWidth:null,style:null,surfaceScale:je,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:cs,tabIndex:je,tableValues:null,target:null,targetX:je,targetY:je,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:cs,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:je,underlineThickness:je,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:je,values:null,vAlphabetic:je,vMathematical:je,vectorEffect:null,vHanging:je,vIdeographic:je,version:null,vertAdvY:je,vertOriginX:je,vertOriginY:je,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:je,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:fR}),pR=Td({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),mR=Td({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:hR}),gR=Td({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),J$={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},X$=/[A-Z]/g,RT=/-[a-z]/g,Q$=/^data[-\w.:]+$/i;function eF(e,t){const n=ik(t);let r=t,i=Ji;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Q$.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(RT,nF);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!RT.test(s)){let o=s.replace(X$,tF);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=zS}return new i(r,t)}function tF(e){return"-"+e.toLowerCase()}function nF(e){return e.charAt(1).toUpperCase()}const rF=cR([dR,Z$,pR,mR,gR],"html"),LS=cR([dR,Y$,pR,mR,gR],"svg");function iF(e){return e.join(" ").trim()}var jc={},ax,jT;function sF(){if(jT)return ax;jT=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,o=/^[;\s]*/,a=/^\s+|\s+$/g,u=`
|
|
371
|
+
One per line.`,"sites.templateName":"Template name (e.g. Campaign Landing Page)","sites.templateDescription":"Describe the page structure: which sections, in what order, with what content focus.","sites.settings":"Settings","sites.openEditor":"Open editor","sites.deleteSite":"Delete","sites.confirmDelete":'Remove "{{name}}" from your site list?',"sites.confirmDeleteTitle":"Remove site","sites.confirmDeleteBody":'This removes "{{name}}" from your local site list. The site itself is not deleted.',"sites.switchingTo":"Switching to","sites.switchInFlight":"A chat request is still in progress. Switch sites anyway and discard it?","sites.allOffline":"No reachable sites","sites.allOfflineHint":'All sites in your list failed a quick reachability check. Toggle "Show offline sites" to see them, or check that the sites are running.',"sites.previewUrlOverride":"Overridden by ?previewUrl= in the current URL.","sites.orchestratorUrl":"Orchestrator URL","sites.orchestratorUrlPlaceholder":"https://example.com/api/avocado","sites.orchestratorUrlHint":"Only for a site that runs the orchestrator itself (library mode). Leave empty to use the editor's own orchestrator.","sites.cancel":"Cancel","sites.create":"Create","sites.siteConfig":"Site Config","sites.general":"General","sites.media":"Media","sites.hosting":"Hosting","sites.brief":"Brief","sites.deploy":"Deploy","sites.coreSettings":"Core settings","sites.header":"Header","sites.siteHeaderName":"Site header name","sites.logoUrl":"Logo URL","sites.logoUrlPlaceholder":"https://example.com/logo.svg","sites.pageTemplates":"Page templates","sites.pageTemplatesHint":"Define reusable page structures. The AI will match templates by name or intent when creating pages.","sites.removeTemplate":"Remove","sites.addTemplate":"+ Add template","sites.preferredTone":"Preferred tone","sites.writingConstraints":"Writing constraints","sites.hostingPlaceholder":"Vercel production site","sites.vercelProjectId":"Vercel project ID","sites.vercelProjectIdPlaceholder":"prj_...","sites.vercelTeamId":"Vercel team ID","sites.vercelTeamIdPlaceholder":"team_...","sites.vercelProductionUrl":"Vercel production URL","sites.vercelProductionUrlPlaceholder":"https://example.vercel.app","sites.vercelDeployHook":"Vercel deploy hook URL","sites.vercelDeployHookPlaceholder":"https://api.vercel.com/v1/integrations/deploy/...","sites.googleDrive":"Google Drive","sites.googleDriveFolderId":"Google Drive folder ID","sites.googleDrivePlaceholder":"e.g. 1aBcDeFgHiJkLmNoPqRsTuVwXyZ","sites.testing":"Testing...","sites.test":"Test","sites.driveConnectedImages":"Connected (images found)","sites.driveConnectedEmpty":"Connected (folder empty)","sites.driveError":"Could not reach orchestrator","sites.cmsMedia":"CMS Media","sites.provider":"Provider","sites.none":"None","sites.spaceId":"Space ID","sites.spaceIdPlaceholder":"abc123","sites.deliveryToken":"Delivery Token","sites.deliveryTokenPlaceholder":"Content Delivery API token","sites.projectId":"Project ID","sites.dataset":"Dataset","sites.datasetPlaceholder":"production","sites.strapiUrl":"Strapi URL","sites.strapiUrlPlaceholder":"http://localhost:1337","sites.apiToken":"API Token","sites.apiTokenPlaceholder":"Read-only API token","sites.versionHistory":"Version History","sites.restoreDescription":"Restore a previous published snapshot into","sites.snapshotVersion":"Snapshot version","sites.loadingSnapshots":"Loading snapshots...","sites.restoring":"Restoring...","sites.restore":"Restore","sites.noSnapshots":"No snapshots available yet.","sites.snapshotCommit":"Commit","sites.snapshotPages":"Pages","sites.snapshotHeading":"Heading","sites.snapshotDate":"Date","sites.checkingManifest":"Checking manifest...","sites.limitedEditing":"Limited editing","sites.editingReady":"Editing ready","sites.checking":"Checking...","chatInput.placeholder":"Ask anything","chatInput.listening":"Listening","chatInput.transcribing":"Transcribing...","chatInput.attachFile":"Attach file","chatInput.removeAttachment":"Remove attachment","chatInput.exitSelector":"Exit selector mode","chatInput.selectElement":"Select an element","chatInput.editingBlock":"Editing: {{block}}","chatInput.clearSelection":"Clear selection","chatInput.voiceActions":"Voice and send actions","chatInput.cancelVoice":"Cancel voice input","chatInput.sendRecorded":"Send recorded message","chatInput.startVoice":"Start voice input","chatInput.stopGeneration":"Stop generation","chatInput.sendMessage":"Send message","chatInput.speechUnsupported":"Speech input is not supported in this browser.","chatInput.noSpeechDetected":"No speech detected. Try recording again.","chatInput.micBlocked":"Microphone access is blocked. Please allow mic permissions and try again.","chatInput.unsupportedFile":"Only images and PDF files are supported.","chatInput.attachmentOnlyMessage":"Use the attached file(s).","chatInput.uploadFailed":"Upload failed. Please try again.","chatInput.transcribeFailed":"Failed to transcribe audio.","imagePicker.title":"Asset Manager","imagePicker.close":"Close","imagePicker.drive":"Drive","imagePicker.cms":"CMS","imagePicker.searchCms":"Search media library…","imagePicker.unsplash":"Unsplash","imagePicker.upload":"Upload","imagePicker.generate":"Generate","imagePicker.searchDrive":"Search Drive images...","imagePicker.searchUnsplash":"Search Unsplash photos...","imagePicker.search":"Search...","imagePicker.refreshDrive":"Refresh from Drive","imagePicker.searching":"Searching...","imagePicker.typeToSearch":"Type to search Unsplash","imagePicker.noImages":"No images found","imagePicker.loadMore":"Load more","imagePicker.loading":"Loading...","imagePicker.uploadFromComputer":"Upload from computer","imagePicker.uploading":"Uploading...","imagePicker.chooseDifferent":"Choose different file","imagePicker.orPasteUrl":"or paste a URL","imagePicker.urlPlaceholder":"https://example.com/image.jpg","imagePicker.uploadedImage":"Uploaded image","imagePicker.needsKeyTitle":"Image generation is off","imagePicker.needsKeyBody":"No image key is configured, so this tab cannot generate anything yet. Either key below switches it on — an Anthropic key alone does not, because it has no image model.","imagePicker.needsKeyOpenAI":"generates images, and powers gpt-image editing","imagePicker.needsKeyGoogle":"generates images, and enables the conversational Generate tab. Also needs npm install @google/genai, which is an optional peer dependency no package manager installs for you.","imagePicker.needsKeyRestart":"Add one to .env.local and restart the dev server.","imagePicker.examplePrompt":"Make it warmer","imagePicker.editPrompt":"Describe how to change this image…","imagePicker.generatePrompt":"Describe the image you want…","imagePicker.followUpPrompt":"Ask for changes…","imagePicker.refine":"Refine","imagePicker.edit":"Edit","imagePicker.closePreview":"Close preview","imagePicker.ready":"Ready","imagePicker.editThisImage":"Edit this image","imagePicker.editThisImageDesc":"Describe changes to the current image","imagePicker.generateNew":"Generate new","imagePicker.generateNewDesc":"Create a completely new image from scratch","imagePicker.useImage":"Use image","imagePicker.applyUrl":"Apply URL","imagePicker.removeReference":"Remove reference","imagePicker.attachReference":"Attach example images for AI to reference (up to {{max}})","imagePicker.showOriginal":"Show original","imagePicker.showEdited":"Show edited","propertyPanel.loading":"Loading...","propertyPanel.loadFailed":"Failed to load block properties","propertyPanel.loadFailedMissing":"This block is not in the page the orchestrator returned","propertyPanel.loadFailedMissingHint":"The preview and the orchestrator may be pointed at different sites. Check the site's Orchestrator URL in its settings.","propertyPanel.loadFailedNoPage":"This page is not in the draft","propertyPanel.loadFailedNoPageHint":"The orchestrator answered, but it has no page at this address for this session — either the editor is on a page this draft does not have, or it is asking an orchestrator that does not host this site.","propertyPanel.loadFailedUnreachableHint":"Nothing answered at this address. Check that the orchestrator is running.","propertyPanel.retry":"Try again","orchestratorMismatch.title":"You are editing another site's content","orchestratorMismatch.detail":"{{orchestrator}} does not host this site, so the pages, preview and properties on this screen belong to whatever it does host.","orchestratorMismatch.detailHosts":"{{orchestrator}} hosts {{hosted}} — not this site — so the pages, preview and properties on this screen are that site's, under this site's name.","orchestratorMismatch.useDefault":"Use the editor's own orchestrator","orchestratorMismatch.ownTitle":"This site keeps its content somewhere else","orchestratorMismatch.ownDetail":"The editor is reading drafts from {{orchestrator}}, while the site runs its own orchestrator at {{siteOrchestrator}}. Its media library, and anything else only the site knows, is missing until they match.","orchestratorMismatch.useSiteOwn":"Use this site's orchestrator","propertyPanel.unknownBlock":"Unknown block type:","propertyPanel.page":"Page","propertyPanel.close":"Close properties","propertyPanel.navLabel":"Nav label","propertyPanel.change":"Change","propertyPanel.chooseImage":"Choose image","propertyPanel.remove":"Remove","propertyPanel.addItem":"Add item","propertyPanel.removeItem":"Remove item","propertyPanel.altText":"Alt text","propertyPanel.altPlaceholder":"Describe what's in this image","propertyPanel.navPlaceholder":"Page","propertyPanel.linkPlaceholder":"Page, URL, email or phone","propertyPanel.linkBrowsePages":"Browse pages","propertyPanel.linkNoPage":"No page at this path","propertyPanel.linkNoFile":"No document at this path","propertyPanel.linkDidYouMean":"Did you mean {{page}}?","propertyPanel.linkNoMatches":"No matching page — this is used as typed","propertyPanel.linkUseInternal":"Link to {{path}} on this site instead","propertyPanel.linkNewTab":"Open in new tab","propertyPanel.seo":"SEO","propertyPanel.seoTitle":"SEO title","propertyPanel.seoTitlePlaceholder":"Defaults to page title","propertyPanel.metaDescription":"Meta description","propertyPanel.metaDescPlaceholder":"Defaults to generated description","propertyPanel.ogImage":"Open Graph image URL","welcome.greeting":"Welcome to {{name}}! Tell me what you'd like to change — I can add sections, rewrite copy, create new pages, and more. Avocado Studio is a research preview, so expect rough edges.","welcome.greetingFallback":"Let's shape your site into something people remember. Tell me what you'd like to change. Avocado Studio is a research preview, so expect rough edges.","welcome.greetingDemo":"Welcome to {{name}} — a research preview, and a demo site so you can try things out. Edit anything you like, browse the [component catalogue]({{catalogueUrl}}) to see what's available, and when you're ready, [onboard your own site](https://docs.avocadostudio.dev/sites). Expect rough edges, and tell us about them.","welcome.greetingScaffold":"Welcome to {{name}} — a research preview of Avocado Studio, running on the Avocado Hub demo content. Edit anything you like; expect rough edges. When you want Avocado on your own site, see [the integration guide](https://docs.avocadostudio.dev/sites).","suggestion.rewriteHero":"Rewrite the hero headline","suggestion.addTestimonials":"Add a testimonials section","suggestion.addFaq":"Add an FAQ section","suggestion.addCta":"Add a call-to-action","suggestion.changeHeadline":"Change the headline and subheading","suggestion.addSection":"Add a new section","suggestion.rewriteTone":"Rewrite the copy to sound more {{tone}}","suggestion.createFromTemplate":"Create a new {{name}} page","suggestion.createAbout":"Create a new /about page","suggestion.demoAddTestimonials":"Add a testimonials section","suggestion.demoAddSection":"Add a closing call-to-action section","suggestion.keylessAddTestimonials":"Add testimonials","suggestion.keylessRichText":"Add a rich text section","suggestion.keylessMetaDescription":'Set the meta description to "Fresh avocado recipes, wellness tips, and sustainability stories."',"suggestion.demoTranslate":"Translate the whole page to German","suggestion.demoAddFaq":"Add an FAQ section","suggestion.demoHeroCta":"Turn the hero into a bold call-to-action","streamError.failed":"Streaming request failed.","streamError.retrying":"Streaming failed, retrying with standard request...","streamError.canceling":"Canceling...","streamError.canceled":"Stopped this request.","streamError.structuralDisabled":"Structural edits are disabled for this site context.","streamError.demoQuotaExhausted":"This live demo is shared by everyone and has reached its usage limit for now. Please try again in a few minutes — anything you've already created is still here.","ops.addedItem":"Added list item.","ops.deletedBlock":"Deleted block.","ops.changedImage":"Changed image.","ops.replacedImageAt":"{{block}} · {{field}}","ops.imageChangeFailed":"Couldn't change the image. Please try again.","ops.imageSwap.pickAnother":"Change","ops.imageSwap.retry":"Try again","ops.continueNext":"Continue to next step","plan.apply":"Apply","plan.applyDestructive":"Apply changes","plan.deletePage":"Delete page","plan.deletePages":"Delete {{count}} pages","plan.discard":"Discard","fieldAi.generateAlt":"Generate alt text","fieldAi.improveAccessibility":"Improve accessibility","fieldAi.makeDescriptive":"Make more descriptive","fieldAi.optimizeSearch":"Optimize for search ranking","fieldAi.fitTitle":"Fit within 60 characters","fieldAi.addKeyword":"Add primary keyword","fieldAi.suggest3":"Suggest 3 alternatives","fieldAi.optimizeCtr":"Optimize for click-through rate","fieldAi.fitDescription":"Fit within 160 characters","fieldAi.addCallToAction":"Add a call to action","fieldAi.simplifyLanguage":"Simplify language","fieldAi.expandDetail":"Expand with more detail","fieldAi.makeConcise":"Make more concise","fieldAi.improveClarity":"Improve clarity","fieldAi.adjustTone":"Adjust tone to be more professional","error.heading":"Something went wrong","error.message":"An unexpected error occurred while loading this page. Please try again.","error.tryAgain":"Try again","notFound.code":"404","notFound.heading":"Page not found","notFound.message":"The page you're looking for doesn't exist or has been moved.","notFound.backHome":"Back to home","theme.switchLight":"Switch site to light mode","theme.switchDark":"Switch site to dark mode","theme.light":"Light mode","theme.dark":"Dark mode","sitesAgent.title":"Onboarding agent","sitesAgent.clear":"Clear chat","sitesAgent.welcome":"I can create a new site from scratch, migrate an existing website from its URL, or integrate the editor into your Next.js project. Heads up: this is early — treat my first pass as a draft you'll refine in the editor, especially for migrations of complex sites. What would you like to do?","sitesAgent.placeholder":"Ask me anything...","sitesAgent.suggestion1":"Create a new site from scratch","sitesAgent.suggestion1Desc":"Describe your site's purpose and I'll scaffold it","sitesAgent.suggestion2":"Migrate a website from URL","sitesAgent.suggestion2Desc":"Give me a URL and I'll analyze and recreate it","sitesAgent.suggestion3":"Integrate using a GitHub project","sitesAgent.suggestion3Desc":"Connect the editor to your existing Next.js app","sitesAgent.stop":"Stop","sitesAgent.showMore":"Show more","sitesAgent.showLess":"Show less","propertyPanel.content":"Content","propertyPanel.navigation":"Navigation","health.tooltip":"Site health","health.title":"Site health","health.run":"Run checks now","health.close":"Close","health.loading":"Checking…","health.emptyTitle":"Nothing to fix","health.emptyBody":"The last check found no problems on this site.","health.goTo":"Go to","health.snooze":"Snooze","health.snoozeTitle":"Hide for a week, then show it again if it is still wrong","health.dismiss":"Dismiss","health.dismissTitle":"Never show this again for this page","health.notDurable":"Findings are being kept in memory only — they will be lost when the server restarts.","linkPicker.title":"Link to","linkPicker.placeholder":"Page, document, or URL","linkPicker.noPage":"No page at this path","linkPicker.noFile":"No document at this path","linkPicker.noMatches":"No pages or documents match","linkPicker.externalHint":"Links to an external site","linkPicker.emailHint":"Opens a new email","linkPicker.phoneHint":"Dials a phone number","linkPicker.anchorHint":"Jumps to a spot on this page","linkPicker.loadingFiles":"Looking up this site's documents...","linkPicker.filesUnavailable":"{{orchestrator}} has no document list for this site, so the path is used as typed.","linkPicker.dropHere":"Drop to upload","linkPicker.upload":"Upload a document","linkPicker.uploadHint":"Or drop a file onto this panel","linkPicker.uploading":"Uploading...","linkPicker.uploadNoUrl":"The upload succeeded but the site returned no URL to link to.","linkPicker.remove":"Remove link","linkPicker.apply":"Apply","common.cancel":"Cancel"},f$={"header.siteSettings":"Seiteneinstellungen","header.syncFromSite":"Von Seite laden","header.syncFromSiteTitle":"Neueste Inhalte aus der Quelle dieser Seite laden","header.allSites":"Alle Seiten","header.page":"Seite","header.language":"Sprache","header.defaultLanguage":"Standard","header.pagesWithoutLanguage":"Ohne Sprachzuordnung","header.viewAllSites":"Alle Websites anzeigen","header.limited":"Eingeschränkt","noKey.title":"Der Chat läuft ohne API-Key","noKey.body":"Alles andere funktioniert bereits — die Seiten rendern, Klick-zum-Auswählen funktioniert, und das Eigenschaften-Panel bearbeitet echte Felder. Nur der Chat braucht ein Modell, und im Moment antwortet ein eingebauter Planer, der einfache, wörtliche Änderungen beherrscht.","noKey.step1":"Key eintragen in","noKey.bodyShort":"Es funktionieren nur einfache, wörtliche Änderungen. Alles andere ist nicht betroffen — Vorschau, Eigenschaften-Panel und die Klick-Auswahl, sobald du den Cursor-Button unten aktivierst.","noKey.whichKey":"Welchen Key soll ich nehmen?","noKey.step1Path":".env.local im Projektverzeichnis","noKey.anthropic":"der am besten getestete Planer. Nur Chat, keine Bildgenerierung.","noKey.openai":"Planer plus Bildgenerierung und gpt-image-Bearbeitung.","noKey.google":"Planer plus Bildgenerierung. Braucht zusätzlich npm install @google/genai, eine optionale Peer-Abhängigkeit, die kein Paketmanager für dich installiert.","noKey.step2":"Starte den Dev-Server neu. Keys werden beim Start gelesen, ein laufender Server übernimmt keinen neuen.","noKey.reopen":"Details anzeigen","noKey.dismiss":"Schließen","noKey.foot":"Keys werden beim Start gelesen — starte den Dev-Server danach neu. Avocado nutzt deinen Key und verkauft keine Tokens weiter.","header.noKeyBadge":"API-Key hinzufügen","header.noKeyTooltip":"Der Chat läuft auf dem eingebauten Demo-Planer und beherrscht nur einfache, wörtliche Änderungen. Trage ANTHROPIC_API_KEY (oder OPENAI_API_KEY) in .env.local ein und starte den Dev-Server neu.","demo.bannerTitle":"Du bist im Demomodus","demo.bannerBody":"Das ist ein Live-Playground. Du kannst die Hero-Sektion per Klartext bearbeiten — alles andere ist vorerst gesperrt.","demo.tryExample1":'Ändere die Hero-Überschrift zu "Willkommen auf meiner neuen Seite"',"demo.tryExample2":"Lass die Hero-Unterzeile verspielter klingen","demo.tryExample3":'Aktualisiere den Hero-CTA zu "Jetzt starten"',"demo.placeholder":"Versuch: ändere die Hero-Überschrift zu …","demoGuide.title":"Erste Schritte","demoGuide.try":"Ausprobieren","demoGuide.dismiss":"Schließen","demoGuide.step1Title":"Hero-Überschrift & Unterzeile neu schreiben","demoGuide.step1Prompt":"Schreibe die Hero-Überschrift und Unterzeile überzeugender und nutzenorientierter","demoGuide.step2Title":"Statistik-Leiste hinzufügen","demoGuide.step2Prompt":"Füge unter dem Hero eine Statistik-Leiste mit ein paar beeindruckenden Zahlen hinzu","demoGuide.step3Title":"Hero-Bild austauschen","demoGuide.step3Prompt":"Gib der ganzen Seite ein warmes, erdiges grünes Farbthema","demoGuide.step4Title":"Seite übersetzen","demoGuide.step4Prompt":"Übersetze die ganze Seite ins Deutsche","header.moreOptions":"Weitere Optionen","header.publish":"Veröffentlichen","header.publishing":"Wird veröffentlicht","header.unpublishedTooltip":"{{count}} unveröffentlichte Änderung(en) seit der letzten Veröffentlichung.","header.viewDeploy":"Deployment ansehen","header.openLiveSite":"Live-Seite öffnen","header.openImmersive":"Im Immersive-Modus öffnen","header.syncedPage":"1 Seite von der Website geladen.","header.syncedPages":"{{count}} Seiten von der Website geladen.","header.syncFailedNetwork":"Diese Seite ist nicht erreichbar. Prüfe, ob sie läuft, und versuch es erneut.","header.syncFailedEmpty":"Diese Seite hat keine Quellinhalte zum Laden.","tabs.chat":"Chat","tabs.properties":"Eigenschaften","stream.shapingUpdate":"Änderung wird vorbereitet…","stream.gettingReady":"Wird vorbereitet…","stream.updating":"Wird aktualisiert…","stream.thinking":"Denkt nach","chat.thinking.streaming":"Denkt nach…","chat.thinking.doneSeconds":"{{seconds}} s nachgedacht","chat.thinking.done":"Gedankengang","chat.thinking.showMore":"Gedanken anzeigen","chat.thinking.showLess":"Gedanken ausblenden","chat.expandDetails":"Details anzeigen","chat.copied":"Kopiert","chat.copyDebug":"Debug-Nachricht kopieren","chat.copy":"Kopieren","chat.undone":"Rückgängig gemacht","chat.undo":"Rückgängig","chat.appliedDraft":"Auf deinen Entwurf angewendet","chat.keep":"Behalten","chat.revert":"Zurücksetzen","chat.reverted":"Zurückgesetzt","chat.kept":"Behalten","chat.redo":"Wiederherstellen","chat.undoTooltip":"Rückgängig (Strg+Z)","chat.redoTooltip":"Wiederherstellen (Strg+Y)","history.title":"Versionshistorie","history.loading":"Historie wird geladen...","history.empty":"Noch keine Änderungen.","history.operation":"Operation","history.operations":"Operationen","history.tooltip":"Versionshistorie","history.restore":"Auf diese zurücksetzen","history.restoring":"Wird zurückgesetzt...","history.current":"Aktuell","history.showDetails":"Details anzeigen","history.hideDetails":"Details ausblenden","history.version":"Version","history.page":"Seite","history.changes":"Änderungen","history.publish":"Veröffentlichung","history.deploying":"Wird bereitgestellt…","history.live":"Live","history.deployFailed":"Fehlgeschlagen","history.viewDeploy":"Deploy ansehen","history.pagesPublished":"{{count}} Seiten","history.pagePublished":"1 Seite","history.pagesChanged":"{{changed}} von {{total}} Seiten geändert","history.noContentChanges":"Keine inhaltlichen Änderungen · {{count}} Seiten live","history.selectChange":"Diese Änderung auswählen","history.selectedCount":"{{count}} ausgewählt","history.clearSelection":"Auswahl aufheben","history.discard":"Verwerfen","history.discarding":"Wird verworfen…","history.discardSweeps":"Setzt {{total}} Änderungen auf {{pages}} Seiten zurück — spätere Bearbeitungen dieser Seiten ebenfalls.","history.discardBlocked":"{{count}} lassen sich nicht verwerfen: davor ist nichts aufgezeichnet.","history.discardUnavailable":"Vor dieser Änderung ist nichts aufgezeichnet","history.discardPartly":"{{count}} Änderung(en) konnten nicht verworfen werden.","history.discardFailed":"Diese Änderungen konnten nicht verworfen werden.","chat.goodResponse":"Gute Antwort","chat.badResponse":"Schlechte Antwort","chat.feedbackThanks":"Danke!","chat.feedbackNoted":"Notiert","chat.feedbackPlaceholder":"Was war falsch? (optional)","chat.feedbackSend":"Senden","variation.title":"Variante wählen","variation.close":"Variantenauswahl schließen","variation.applying":"Wird angewendet…","variation.apply":'"{{title}}" anwenden',"addBlock.title":"Block hinzufügen","addBlock.close":"Blockauswahl schließen","addBlock.insertAbove":"Blocktyp auswählen, der oberhalb des ausgewählten Bereichs eingefügt wird.","addBlock.insertBelow":"Blocktyp auswählen, der unterhalb des ausgewählten Bereichs eingefügt wird.","addBlock.searchPlaceholder":"Blocktypen durchsuchen","resize.inputPanel":"Eingabebereich skalieren","resize.chatPanel":"Chatbereich skalieren","preview.title":"Live-Vorschau","preview.loading":"Vorschau wird geladen…","settings.title":"Einstellungen","settings.devTitle":"Entwicklermodus","settings.developerMode":"Entwicklermodus","settings.streaming":"Streaming","settings.nestedLabels":"Verschachtelte Labels","settings.fieldDraftTelemetry":"Feld-Entwurfs-Telemetrie","settings.darkMode":"Dunkler Modus","settings.autoScrollTracking":"Generiertem Inhalt folgen","settings.debugMode":"Debug-Modus","settings.model":"Modell","settings.modelNoProvider":"Kein API-Key konfiguriert, daher ist kein Modell verf\\u00FCgbar. Trage einen in die .env.local deines Projekts ein und starte den Dev-Server neu.","settings.advanced":"Erweitert","settings.clearChat":"Chat leeren","settings.language":"Sprache","password.title":"Editor-Zugang","password.placeholder":"Passwort","password.incorrect":"Falsches Passwort","password.checking":"Wird geprüft…","password.continue":"Weiter","password.closedTitle":"Dieser Orchestrator weist jede Anfrage ab","password.closedBody":"Er läuft mit NODE_ENV=production und ohne konfigurierte Zugangsdaten, also antwortet jede Route mit 401 — auch die, die dieser Editor zum Laden deiner Website braucht.","password.closedFix":"Setze ACCESS_PASSWORD_HASH oder ORCHESTRATOR_ACCESS_TOKEN in der Umgebung der Website und starte sie neu, oder übergib auth an createOrchestrator(). Die Website stattdessen mit npm run dev zu starten öffnet sie ebenfalls, denn die geschlossene Voreinstellung gilt nur für Produktion.","password.unreachableTitle":"Orchestrator nicht erreichbar","password.unreachableBody":"Ob dieser Editor durch eine Zugangssperre geschützt ist, entscheidet der Orchestrator — und er hat nicht geantwortet. Solange das so bleibt, lässt sich der Zugang nicht feststellen und wird deshalb verweigert.","password.retry":"Erneut versuchen","password.retryingIn":"Automatischer neuer Versuch in {{seconds}}s…","sites.title":"Websites","sites.subtitle":"Wähle eine Website zum Bearbeiten.","sites.addSite":"Website hinzufügen","sites.addSiteTitle":"Website hinzufügen","sites.close":"Schließen","sites.siteName":"Seitenname","sites.siteNamePlaceholder":"Meine Website","sites.previewUrl":"Vorschau-URL","sites.previewUrlPlaceholder":"http://localhost:3000","sites.enablePuck":"Visuellen Editor (Puck) verwenden","sites.editorialBrief":"Redaktionelles Briefing","sites.overview":"Übersicht","sites.tone":"Tonalität","sites.constraints":"Einschränkungen","sites.templates":"Vorlagen","sites.overviewPlaceholder":"Wofür diese Seite gedacht ist.","sites.tonePlaceholder":"Wie der Text klingen soll.","sites.constraintsPlaceholder":`Regeln für die Inhaltsausgabe.
|
|
372
|
+
Eine pro Zeile.`,"sites.templateName":"Vorlagenname (z. B. Kampagnen-Landingpage)","sites.templateDescription":"Beschreibe die Seitenstruktur: welche Bereiche, in welcher Reihenfolge, mit welchem inhaltlichen Fokus.","sites.settings":"Einstellungen","sites.openEditor":"Editor öffnen","sites.deleteSite":"Löschen","sites.confirmDelete":'"{{name}}" aus der Siteliste entfernen?',"sites.confirmDeleteTitle":"Site entfernen","sites.confirmDeleteBody":'Damit wird "{{name}}" aus deiner lokalen Siteliste entfernt. Die Site selbst wird nicht gelöscht.',"sites.switchingTo":"Wechsle zu","sites.switchInFlight":"Eine Chat-Anfrage läuft noch. Trotzdem die Site wechseln und sie verwerfen?","sites.allOffline":"Keine erreichbaren Sites","sites.allOfflineHint":'Alle Sites in deiner Liste haben den Erreichbarkeitstest nicht bestanden. Aktiviere "Offline-Sites anzeigen" oder prüfe, ob die Sites laufen.',"sites.previewUrlOverride":"Wird durch ?previewUrl= in der aktuellen URL überschrieben.","sites.orchestratorUrl":"Orchestrator-URL","sites.orchestratorUrlPlaceholder":"https://example.com/api/avocado","sites.orchestratorUrlHint":"Nur für Sites, die den Orchestrator selbst betreiben (Library-Modus). Leer lassen, um den Orchestrator des Editors zu verwenden.","sites.cancel":"Abbrechen","sites.create":"Erstellen","sites.siteConfig":"Seitenkonfiguration","sites.general":"Allgemein","sites.media":"Medien","sites.hosting":"Hosting","sites.brief":"Briefing","sites.deploy":"Deployment","sites.coreSettings":"Grundeinstellungen","sites.header":"Kopfzeile","sites.siteHeaderName":"Name in der Kopfzeile","sites.logoUrl":"Logo-URL","sites.logoUrlPlaceholder":"https://example.com/logo.svg","sites.pageTemplates":"Seitenvorlagen","sites.pageTemplatesHint":"Definiere wiederverwendbare Seitenstrukturen. Die KI ordnet Vorlagen bei der Seitenerstellung nach Name oder Absicht zu.","sites.removeTemplate":"Entfernen","sites.addTemplate":"+ Vorlage hinzufügen","sites.preferredTone":"Bevorzugte Tonalität","sites.writingConstraints":"Schreibregeln","sites.hostingPlaceholder":"Vercel-Produktionsseite","sites.vercelProjectId":"Vercel-Projekt-ID","sites.vercelProjectIdPlaceholder":"prj_...","sites.vercelTeamId":"Vercel-Team-ID","sites.vercelTeamIdPlaceholder":"team_...","sites.vercelProductionUrl":"Vercel-Produktions-URL","sites.vercelProductionUrlPlaceholder":"https://example.vercel.app","sites.vercelDeployHook":"Vercel-Deploy-Hook-URL","sites.vercelDeployHookPlaceholder":"https://api.vercel.com/v1/integrations/deploy/...","sites.googleDrive":"Google Drive","sites.googleDriveFolderId":"Google-Drive-Ordner-ID","sites.googleDrivePlaceholder":"z. B. 1aBcDeFgHiJkLmNoPqRsTuVwXyZ","sites.testing":"Wird getestet…","sites.test":"Testen","sites.driveConnectedImages":"Verbunden (Bilder gefunden)","sites.driveConnectedEmpty":"Verbunden (Ordner leer)","sites.driveError":"Orchestrator nicht erreichbar","sites.cmsMedia":"CMS-Medien","sites.provider":"Anbieter","sites.none":"Keiner","sites.spaceId":"Space-ID","sites.spaceIdPlaceholder":"abc123","sites.deliveryToken":"Delivery-Token","sites.deliveryTokenPlaceholder":"Content-Delivery-API-Token","sites.projectId":"Projekt-ID","sites.dataset":"Dataset","sites.datasetPlaceholder":"production","sites.strapiUrl":"Strapi-URL","sites.strapiUrlPlaceholder":"http://localhost:1337","sites.apiToken":"API-Token","sites.apiTokenPlaceholder":"Nur-Lese-API-Token","sites.versionHistory":"Versionshistorie","sites.restoreDescription":"Einen früheren veröffentlichten Snapshot wiederherstellen in","sites.snapshotVersion":"Snapshot-Version","sites.loadingSnapshots":"Snapshots werden geladen…","sites.restoring":"Wird wiederhergestellt…","sites.restore":"Wiederherstellen","sites.noSnapshots":"Noch keine Snapshots vorhanden.","sites.snapshotCommit":"Commit","sites.snapshotPages":"Seiten","sites.snapshotHeading":"Überschrift","sites.snapshotDate":"Datum","sites.checkingManifest":"Manifest wird geprüft…","sites.limitedEditing":"Eingeschränktes Bearbeiten","sites.editingReady":"Bearbeitung bereit","sites.checking":"Wird geprüft…","chatInput.placeholder":"Frag mich etwas","chatInput.listening":"Hört zu","chatInput.transcribing":"Wird transkribiert…","chatInput.attachFile":"Datei anhängen","chatInput.removeAttachment":"Anhang entfernen","chatInput.exitSelector":"Auswahlmodus beenden","chatInput.selectElement":"Element auswählen","chatInput.editingBlock":"Bearbeiten: {{block}}","chatInput.clearSelection":"Auswahl aufheben","chatInput.voiceActions":"Sprach- und Sendeaktionen","chatInput.cancelVoice":"Spracheingabe abbrechen","chatInput.sendRecorded":"Aufgenommene Nachricht senden","chatInput.startVoice":"Spracheingabe starten","chatInput.stopGeneration":"Generierung stoppen","chatInput.sendMessage":"Nachricht senden","chatInput.speechUnsupported":"Spracheingabe wird in diesem Browser nicht unterstützt.","chatInput.noSpeechDetected":"Keine Sprache erkannt. Bitte erneut aufnehmen.","chatInput.micBlocked":"Mikrofonzugriff ist blockiert. Bitte Mikrofonberechtigungen erlauben und erneut versuchen.","chatInput.unsupportedFile":"Nur Bilder und PDF-Dateien werden unterstützt.","chatInput.attachmentOnlyMessage":"Verwende die angehängte(n) Datei(en).","chatInput.uploadFailed":"Upload fehlgeschlagen. Bitte erneut versuchen.","chatInput.transcribeFailed":"Audiotranskription fehlgeschlagen.","imagePicker.title":"Asset-Manager","imagePicker.close":"Schließen","imagePicker.drive":"Drive","imagePicker.cms":"CMS","imagePicker.searchCms":"Medienbibliothek durchsuchen…","imagePicker.unsplash":"Unsplash","imagePicker.upload":"Hochladen","imagePicker.generate":"Generieren","imagePicker.searchDrive":"Drive-Bilder durchsuchen…","imagePicker.searchUnsplash":"Unsplash-Fotos durchsuchen…","imagePicker.search":"Suchen…","imagePicker.refreshDrive":"Von Drive aktualisieren","imagePicker.searching":"Wird gesucht…","imagePicker.typeToSearch":"Suchbegriff eingeben","imagePicker.noImages":"Keine Bilder gefunden","imagePicker.loadMore":"Mehr laden","imagePicker.loading":"Wird geladen…","imagePicker.uploadFromComputer":"Vom Computer hochladen","imagePicker.uploading":"Wird hochgeladen…","imagePicker.chooseDifferent":"Andere Datei wählen","imagePicker.orPasteUrl":"oder URL einfügen","imagePicker.urlPlaceholder":"https://example.com/image.jpg","imagePicker.uploadedImage":"Hochgeladenes Bild","imagePicker.needsKeyTitle":"Bildgenerierung ist deaktiviert","imagePicker.needsKeyBody":"Es ist kein Bild-Schlüssel konfiguriert, daher kann dieser Tab noch nichts generieren. Einer der beiden Schlüssel unten aktiviert sie — ein Anthropic-Schlüssel allein genügt nicht, da er kein Bildmodell hat.","imagePicker.needsKeyOpenAI":"generiert Bilder und ermöglicht die Bearbeitung mit gpt-image","imagePicker.needsKeyGoogle":"generiert Bilder und aktiviert den dialogbasierten Generieren-Tab. Benötigt zusätzlich npm install @google/genai — eine optionale Peer-Abhängigkeit, die kein Paketmanager automatisch installiert.","imagePicker.needsKeyRestart":"Füge einen in .env.local hinzu und starte den Dev-Server neu.","imagePicker.examplePrompt":"Wärmer machen","imagePicker.editPrompt":"Beschreibe, wie das Bild geändert werden soll…","imagePicker.generatePrompt":"Beschreibe das gewünschte Bild…","imagePicker.followUpPrompt":"Änderungen beschreiben…","imagePicker.refine":"Verfeinern","imagePicker.edit":"Bearbeiten","imagePicker.closePreview":"Vorschau schließen","imagePicker.ready":"Fertig","imagePicker.editThisImage":"Dieses Bild bearbeiten","imagePicker.editThisImageDesc":"Änderungen am aktuellen Bild beschreiben","imagePicker.generateNew":"Neu generieren","imagePicker.generateNewDesc":"Ein komplett neues Bild von Grund auf erstellen","imagePicker.useImage":"Bild verwenden","imagePicker.applyUrl":"URL anwenden","imagePicker.removeReference":"Referenz entfernen","imagePicker.attachReference":"Beispielbilder als Referenz anhängen (bis zu {{max}})","imagePicker.showOriginal":"Original anzeigen","imagePicker.showEdited":"Bearbeitet anzeigen","propertyPanel.loading":"Wird geladen…","propertyPanel.loadFailed":"Blockeigenschaften konnten nicht geladen werden","propertyPanel.loadFailedMissing":"Dieser Block ist nicht in der Seite, die der Orchestrator zurückgegeben hat","propertyPanel.loadFailedMissingHint":"Vorschau und Orchestrator zeigen möglicherweise auf verschiedene Sites. Prüfe die Orchestrator-URL in den Einstellungen der Site.","propertyPanel.loadFailedNoPage":"Diese Seite ist nicht im Entwurf","propertyPanel.loadFailedNoPageHint":"Der Orchestrator hat geantwortet, kennt aber unter dieser Adresse keine Seite für diese Session — entweder ist der Editor auf einer Seite, die dieser Entwurf nicht hat, oder er fragt einen Orchestrator, der diese Site nicht bereitstellt.","propertyPanel.loadFailedUnreachableHint":"Unter dieser Adresse hat nichts geantwortet. Prüfe, ob der Orchestrator läuft.","propertyPanel.retry":"Erneut versuchen","orchestratorMismatch.title":"Du bearbeitest die Inhalte einer anderen Site","orchestratorMismatch.detail":"{{orchestrator}} stellt diese Site nicht bereit — Seiten, Vorschau und Eigenschaften auf diesem Bildschirm gehören zu der Site, die dort tatsächlich liegt.","orchestratorMismatch.detailHosts":"{{orchestrator}} stellt {{hosted}} bereit — nicht diese Site. Seiten, Vorschau und Eigenschaften auf diesem Bildschirm gehören zu jener Site, unter dem Namen dieser.","orchestratorMismatch.useDefault":"Orchestrator des Editors verwenden","orchestratorMismatch.ownTitle":"Diese Website verwaltet ihre Inhalte woanders","orchestratorMismatch.ownDetail":"Der Editor liest Entwürfe von {{orchestrator}}, während die Website unter {{siteOrchestrator}} ihren eigenen Orchestrator betreibt. Ihre Medienbibliothek – und alles andere, was nur die Website kennt – fehlt, solange beide nicht übereinstimmen.","orchestratorMismatch.useSiteOwn":"Orchestrator dieser Website verwenden","propertyPanel.unknownBlock":"Unbekannter Blocktyp:","propertyPanel.page":"Seite","propertyPanel.close":"Eigenschaften schließen","propertyPanel.navLabel":"Nav-Label","propertyPanel.change":"Ändern","propertyPanel.chooseImage":"Bild wählen","propertyPanel.remove":"Entfernen","propertyPanel.addItem":"Eintrag hinzufügen","propertyPanel.removeItem":"Eintrag entfernen","propertyPanel.altText":"Alt-Text","propertyPanel.altPlaceholder":"Beschreibe, was auf dem Bild zu sehen ist","propertyPanel.navPlaceholder":"Seite","propertyPanel.linkPlaceholder":"Seite, URL, E-Mail oder Telefon","propertyPanel.linkBrowsePages":"Seiten durchsuchen","propertyPanel.linkNoPage":"Keine Seite unter diesem Pfad","propertyPanel.linkNoFile":"Kein Dokument unter diesem Pfad","propertyPanel.linkDidYouMean":"Meintest du {{page}}?","propertyPanel.linkNoMatches":"Keine passende Seite — wird so übernommen","propertyPanel.linkUseInternal":"Stattdessen auf {{path}} dieser Website verlinken","propertyPanel.linkNewTab":"In neuem Tab öffnen","propertyPanel.seo":"SEO","propertyPanel.seoTitle":"SEO-Titel","propertyPanel.seoTitlePlaceholder":"Standardmäßig der Seitentitel","propertyPanel.metaDescription":"Meta-Beschreibung","propertyPanel.metaDescPlaceholder":"Standardmäßig generierte Beschreibung","propertyPanel.ogImage":"Open-Graph-Bild-URL","welcome.greeting":"Willkommen bei {{name}}! Sag mir, was du ändern möchtest — ich kann Bereiche hinzufügen, Texte umschreiben, neue Seiten erstellen und mehr. Avocado Studio ist eine Research Preview, rechne also mit Ecken und Kanten.","welcome.greetingFallback":"Lass uns deine Seite in etwas Besonderes verwandeln. Ich kann Bereiche hinzufügen, Texte umschreiben, Blöcke umordnen, neue Seiten erstellen und mehr. Klicke auf etwas in der Vorschau oder sag mir, was du ändern möchtest. Avocado Studio ist eine Research Preview, rechne also mit Ecken und Kanten.","welcome.greetingDemo":"Willkommen bei {{name}} — eine Research Preview und eine Demo-Site zum Ausprobieren. Bearbeite, was du willst, schau dir den [Komponenten-Katalog]({{catalogueUrl}}) an, um zu sehen, was verfügbar ist, und wenn du bereit bist, [onboarde deine eigene Site](https://docs.avocadostudio.dev/sites). Rechne mit Ecken und Kanten — und sag uns Bescheid.","welcome.greetingScaffold":"Willkommen bei {{name}} — eine Research Preview von Avocado Studio mit dem Demo-Inhalt des Avocado Hub. Bearbeite alles, was du willst; rechne mit Ecken und Kanten. Wenn du Avocado auf deiner eigenen Site nutzen willst, siehe [die Integrationsanleitung](https://docs.avocadostudio.dev/sites).","suggestion.rewriteHero":"Hero-Überschrift umschreiben","suggestion.addTestimonials":"Einen Testimonial-Bereich hinzufügen","suggestion.addFaq":"Einen FAQ-Bereich hinzufügen","suggestion.addCta":"Einen Call-to-Action hinzufügen","suggestion.changeHeadline":"Überschrift und Untertitel ändern","suggestion.addSection":"Neuen Bereich hinzufügen","suggestion.rewriteTone":"Text umschreiben: mehr {{tone}}","suggestion.createFromTemplate":"Neue {{name}}-Seite erstellen","suggestion.createAbout":"Eine neue /about-Seite erstellen","suggestion.demoAddTestimonials":"Einen Testimonials-Bereich hinzufügen","suggestion.demoAddSection":"Einen abschließenden Call-to-Action-Bereich hinzufügen","suggestion.keylessAddTestimonials":"Add testimonials","suggestion.keylessRichText":"Add a rich text section","suggestion.keylessMetaDescription":'Set the meta description to "Fresh avocado recipes, wellness tips, and sustainability stories."',"suggestion.demoTranslate":"Übersetze die ganze Seite ins Deutsche","suggestion.demoAddFaq":"Einen FAQ-Bereich hinzufügen","suggestion.demoHeroCta":"Mach aus dem Hero einen starken Call-to-Action","streamError.failed":"Streaming-Anfrage fehlgeschlagen.","streamError.retrying":"Streaming fehlgeschlagen, wird mit Standardanfrage wiederholt…","streamError.canceling":"Wird abgebrochen…","streamError.canceled":"Vorgang gestoppt.","streamError.structuralDisabled":"Strukturelle Bearbeitungen sind für diesen Seitenkontext deaktiviert.","streamError.demoQuotaExhausted":"Diese Live-Demo wird von allen genutzt und hat vorerst ihr Nutzungslimit erreicht. Bitte versuchen Sie es in ein paar Minuten erneut – alles, was Sie bereits erstellt haben, bleibt erhalten.","ops.addedItem":"Listenelement hinzugefügt.","ops.deletedBlock":"Block gelöscht.","ops.changedImage":"Bild geändert.","ops.replacedImageAt":"{{block}} · {{field}}","ops.imageChangeFailed":"Bild konnte nicht geändert werden. Bitte erneut versuchen.","ops.imageSwap.pickAnother":"Ändern","ops.imageSwap.retry":"Erneut versuchen","ops.continueNext":"Weiter zum nächsten Schritt","plan.apply":"Übernehmen","plan.applyDestructive":"Änderungen übernehmen","plan.deletePage":"Seite löschen","plan.deletePages":"{{count}} Seiten löschen","plan.discard":"Verwerfen","fieldAi.generateAlt":"Alt-Text generieren","fieldAi.improveAccessibility":"Barrierefreiheit verbessern","fieldAi.makeDescriptive":"Beschreibender gestalten","fieldAi.optimizeSearch":"Für Suchranking optimieren","fieldAi.fitTitle":"Auf 60 Zeichen kürzen","fieldAi.addKeyword":"Primäres Schlüsselwort hinzufügen","fieldAi.suggest3":"3 Alternativen vorschlagen","fieldAi.optimizeCtr":"Für Klickrate optimieren","fieldAi.fitDescription":"Auf 160 Zeichen kürzen","fieldAi.addCallToAction":"Handlungsaufforderung hinzufügen","fieldAi.simplifyLanguage":"Sprache vereinfachen","fieldAi.expandDetail":"Mit mehr Details erweitern","fieldAi.makeConcise":"Prägnanter formulieren","fieldAi.improveClarity":"Verständlichkeit verbessern","fieldAi.adjustTone":"Ton professioneller gestalten","error.heading":"Etwas ist schiefgelaufen","error.message":"Beim Laden dieser Seite ist ein unerwarteter Fehler aufgetreten. Bitte versuche es erneut.","error.tryAgain":"Erneut versuchen","notFound.code":"404","notFound.heading":"Seite nicht gefunden","notFound.message":"Die gesuchte Seite existiert nicht oder wurde verschoben.","notFound.backHome":"Zurück zur Startseite","theme.switchLight":"Seite in den hellen Modus wechseln","theme.switchDark":"Seite in den dunklen Modus wechseln","theme.light":"Heller Modus","theme.dark":"Dunkler Modus","sitesAgent.title":"Onboarding-Agent","sitesAgent.clear":"Chat leeren","sitesAgent.welcome":"Ich kann eine neue Seite erstellen, eine bestehende Website von ihrer URL migrieren oder den Editor in dein Next.js-Projekt integrieren. Hinweis: Das ist noch früh — behandle meinen ersten Wurf als Entwurf, den du im Editor verfeinerst, besonders bei Migrationen komplexer Seiten. Was möchtest du tun?","sitesAgent.placeholder":"Frag mich etwas...","sitesAgent.suggestion1":"Neue Seite von Grund auf erstellen","sitesAgent.suggestion1Desc":"Beschreibe den Zweck deiner Seite und ich erstelle sie","sitesAgent.suggestion2":"Website von URL migrieren","sitesAgent.suggestion2Desc":"Gib mir eine URL und ich analysiere und erstelle sie neu","sitesAgent.suggestion3":"Über ein GitHub-Projekt integrieren","sitesAgent.suggestion3Desc":"Verbinde den Editor mit deiner bestehenden Next.js-App","sitesAgent.stop":"Stopp","sitesAgent.showMore":"Mehr anzeigen","sitesAgent.showLess":"Weniger anzeigen","propertyPanel.content":"Inhalt","propertyPanel.navigation":"Navigation","health.tooltip":"Website-Zustand","health.title":"Website-Zustand","health.run":"Prüfung jetzt starten","health.close":"Schließen","health.loading":"Wird geprüft…","health.emptyTitle":"Nichts zu beheben","health.emptyBody":"Die letzte Prüfung hat auf dieser Website keine Probleme gefunden.","health.goTo":"Anzeigen","health.snooze":"Später","health.snoozeTitle":"Eine Woche ausblenden und erneut anzeigen, falls es dann noch fehlerhaft ist","health.dismiss":"Ausblenden","health.dismissTitle":"Für diese Seite nie wieder anzeigen","health.notDurable":"Befunde werden nur im Arbeitsspeicher gehalten — sie gehen beim Neustart des Servers verloren.","linkPicker.title":"Verlinken mit","linkPicker.placeholder":"Seite, Dokument oder URL","linkPicker.noPage":"Keine Seite unter diesem Pfad","linkPicker.noFile":"Kein Dokument unter diesem Pfad","linkPicker.noMatches":"Keine passenden Seiten oder Dokumente","linkPicker.externalHint":"Verweist auf eine externe Website","linkPicker.emailHint":"Öffnet eine neue E-Mail","linkPicker.phoneHint":"Wählt eine Telefonnummer","linkPicker.anchorHint":"Springt zu einer Stelle auf dieser Seite","linkPicker.loadingFiles":"Dokumente dieser Website werden geladen ...","linkPicker.filesUnavailable":"{{orchestrator}} hat keine Dokumentliste für diese Website – der Pfad wird wie eingegeben übernommen.","linkPicker.dropHere":"Zum Hochladen loslassen","linkPicker.upload":"Dokument hochladen","linkPicker.uploadHint":"Oder eine Datei auf dieses Feld ziehen","linkPicker.uploading":"Wird hochgeladen ...","linkPicker.uploadNoUrl":"Der Upload war erfolgreich, aber die Website hat keine URL zurückgegeben.","linkPicker.remove":"Link entfernen","linkPicker.apply":"Übernehmen","common.cancel":"Abbrechen"},Xv={en:d$,de:f$},QD="editor-locale",eR={en:"English",de:"Deutsch"};function tR(){try{const e=localStorage.getItem(QD);if(e&&e in Xv)return e}catch{}return"en"}function nR(e){return(t,n)=>{let r=Xv[e][t]??Xv.en[t]??t;if(n)for(const[i,s]of Object.entries(n))r=r.replaceAll(`{{${i}}}`,String(s));return r}}function h$(e){return nR(e)}const rR=_.createContext(null);function p$({children:e}){const[t,n]=_.useState(tR),r=_.useCallback(o=>{try{localStorage.setItem(QD,o)}catch{}n(o)},[]),i=_.useMemo(()=>nR(t),[t]),s=_.useMemo(()=>({locale:t,setLocale:r,t:i}),[t,r,i]);return p.jsx(rR,{value:s,children:e})}function An(){const e=_.useContext(rR);if(!e)throw new Error("useT must be used within <LocaleProvider>");return e}const ST=e=>{let t;const n=new Set,r=(d,f)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const g=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(y=>y(t,g))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d))},u=t=e(r,i,a);return a},m$=(e=>e?ST(e):ST),g$=e=>e;function b$(e,t=g$){const n=_n.useSyncExternalStore(e.subscribe,_n.useCallback(()=>t(e.getState()),[e,t]),_n.useCallback(()=>t(e.getInitialState()),[e,t]));return _n.useDebugValue(n),n}const wT=e=>{const t=m$(e),n=r=>b$(t,r);return Object.assign(n,t),n},iR=(e=>e?wT(e):wT),y$=e=>(t,n,r)=>{const i=r.subscribe;return r.subscribe=((o,a,u)=>{let d=o;if(a){const f=(u==null?void 0:u.equalityFn)||Object.is;let m=o(r.getState());d=g=>{const y=o(g);if(!f(m,y)){const x=m;a(m=y,x)}},u!=null&&u.fireImmediately&&a(m,m)}return i(d)}),e(t,n,r)},x$=y$,CT="__ai_justification__:",_T="__ai_performance__:",sR="editor-debug-mode-v1",oR="editor-model-key-v1",aR="editor-provider-v1",Ig="editor-chat-theme-v1",Qv="editor-dev-options-v1",ek="editor-chat-width-v1",tk="editor-props-width-v1",ET=340,v$=720,TT=300,k$=560;function nk(e,t){const n=typeof window<"u"?window.innerWidth:1440,r=Math.max(ET,Math.min(v$,n*.5));return Math.max(ET,Math.min(e,r))}function S$(){if(typeof window>"u")return null;const e=window.localStorage.getItem(ek);if(!e)return null;const t=Number.parseInt(e,10);return!Number.isFinite(t)||t<=0?null:nk(t)}function rk(e,t){const n=typeof window<"u"?window.innerWidth:1440,r=Math.max(TT,Math.min(k$,n*.4));return Math.max(TT,Math.min(e,r))}function w$(){if(typeof window>"u")return null;const e=window.localStorage.getItem(tk);if(!e)return null;const t=Number.parseInt(e,10);return!Number.isFinite(t)||t<=0?null:rk(t)}function C$(){const e=/^(1|true|yes|on)$/i.test("");if(typeof window>"u")return e;const n=new URLSearchParams(window.location.search).get("dev");if(n!==null){const i=/^(1|true|yes|on)$/i.test(n);try{window.localStorage.setItem(Qv,i?"1":"0")}catch{}return i}const r=window.localStorage.getItem(Qv);return r==="1"?!0:r==="0"?!1:e}const _$={desktop:1200};function wh(){return`${Date.now()}-${Math.random().toString(36).slice(2,7)}`}function E$(){if(/^(1|true|yes|on)$/i.test(""))return!0;if(typeof window>"u")return!1;const t=window.localStorage.getItem(sR);return/^(1|true|yes|on)$/i.test(t??"")}const T$=new Set(["fast","balanced","reasoning","codex"]),A$=new Set(["openai","anthropic","gemini"]);function N$(){if(typeof window>"u")return"balanced";const e=window.localStorage.getItem(oR);return e&&T$.has(e)?e:"balanced"}function M$(){if(typeof window>"u")return"anthropic";const e=window.localStorage.getItem(aR);return e&&A$.has(e)?e:"anthropic"}function D$(){var t,n;if(typeof window>"u")return!1;const e=window.sessionStorage.getItem(Ig)??window.localStorage.getItem(Ig);return e==="dark"?!0:e==="light"?!1:((n=(t=window.matchMedia)==null?void 0:t.call(window,"(prefers-color-scheme: dark)"))==null?void 0:n.matches)??!1}const R$="editor-anchored-composer-v1",lR="editor-auto-scroll-tracking-v1";function j$(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(lR);return!(e==="0"||e==="false")}function I$(){if(/^(0|false|no|off)$/i.test(""))return!1;if(/^(1|true|yes|on)$/i.test("")||typeof window>"u")return!0;const t=window.localStorage.getItem(R$);return!(t==="0"||t==="false")}function O$(e,t){return{...e,...t}}function P$(e){const t=Array.isArray(e)?e:[];let n,r;const i=[];for(const s of t)if(typeof s=="string"&&/\w/.test(s)){if(s.startsWith(CT)){const o=s.slice(CT.length).trim();o&&(n=o);continue}if(s.startsWith(_T)){const o=s.slice(_T.length).trim();o&&(r=o);continue}i.push(s)}return{changes:i,aiJustification:n,aiPerformanceNote:r}}function z$(){if(typeof window>"u")return"/";const e=new URLSearchParams(window.location.search).get("slug");if(!e)return"/";const t=e.trim();return!t||t==="/"?"/":t.startsWith("/")?t:`/${t}`}function L$(e){if(!e)return[];if(Array.isArray(e))return e.map(String);const t=Object.values(e.fieldErrors??{}).flat().map(String);return[...(e.formErrors??[]).map(String),...t]}const de=iR()(x$(e=>({activeBlockId:void 0,activeBlockType:void 0,activeEditablePath:void 0,slug:z$(),availableSlugs:["/"],availablePages:[],availableFiles:void 0,filesStatus:"unknown",canUploadFiles:!1,isLoadingSlugs:!1,chatLog:[],chatAttachments:[],isLoading:!1,streamStatus:null,streamingText:null,streamingChanges:[],streamingThinking:null,streamSteps:[],opChecklist:[],streamTokenCount:0,latestStreamFocusBlockId:null,imageProgress:null,continuationChainId:null,pendingPlanId:null,plannerBadgeState:"checking",variationModal:null,isApplyingVariation:!1,composerHeight:56,chatWidth:S$(),propsWidth:w$(),activeTab:"chat",showSettingsModal:!1,showDebugDetails:E$(),addBlockPicker:null,addBlockSearch:"",isAddingBlock:!1,imagePickerTarget:null,chatDarkMode:D$(),selectionModeEnabled:!1,anchorRect:null,anchoredExpanded:!1,selectedVariationId:null,showSiteSwitcher:!1,copiedDebugEntryId:null,feedbackNoteEntryId:null,feedbackNoteText:"",siteConfigTab:"overview",configModalTab:"general",modelKey:N$(),provider:M$(),availableProviders:[],useStreaming:!0,autoScrollTrackingEnabled:j$(),autoScrollSuppressed:!1,backendFeatures:{},backendSite:{},fieldDraftDebugEnabled:!1,fieldDraftDebug:{eventsPerSecond:0,charsPerSecond:0,totalEvents:0,totalChars:0,typingLagChars:0,activeTarget:null},setActiveBlock:(t,n)=>e(r=>{const i=n===void 0&&t===r.activeBlockId?r.activeBlockType:n;return r.activeBlockId===t&&r.activeBlockType===i?r:{...r,activeBlockId:t,activeBlockType:i}}),setActiveEditablePath:t=>e(n=>n.activeEditablePath===t?n:{...n,activeEditablePath:t}),setSlug:t=>e(n=>n.slug===t?n:{...n,slug:t}),setAvailableSlugs:t=>e({availableSlugs:t}),setAvailablePages:t=>e({availablePages:t}),setAvailableFiles:t=>e({availableFiles:t}),setFilesStatus:t=>e({filesStatus:t}),setCanUploadFiles:t=>e({canUploadFiles:t}),setIsLoadingSlugs:t=>e(n=>n.isLoadingSlugs===t?n:{...n,isLoadingSlugs:t}),setChatLog:t=>e(n=>({...n,chatLog:typeof t=="function"?t(n.chatLog):t})),appendChatEntry:t=>e(n=>({...n,chatLog:[...n.chatLog,t]})),setChatAttachments:t=>e(n=>({...n,chatAttachments:typeof t=="function"?t(n.chatAttachments):t})),setIsLoading:t=>e(n=>n.isLoading===t?n:{...n,isLoading:t}),setStreamStatus:t=>e({streamStatus:t}),setStreamingText:t=>e(n=>({...n,streamingText:typeof t=="function"?t(n.streamingText):t})),setStreamingChanges:t=>e(n=>({...n,streamingChanges:typeof t=="function"?t(n.streamingChanges):t})),setStreamingThinking:t=>e(n=>({...n,streamingThinking:typeof t=="function"?t(n.streamingThinking):t})),setStreamSteps:t=>e(n=>({...n,streamSteps:typeof t=="function"?t(n.streamSteps):t})),setOpChecklist:t=>e(n=>({...n,opChecklist:typeof t=="function"?t(n.opChecklist):t})),setStreamTokenCount:t=>e(n=>({...n,streamTokenCount:typeof t=="function"?t(n.streamTokenCount):t})),setLatestStreamFocusBlockId:t=>e({latestStreamFocusBlockId:t}),setImageProgress:t=>e({imageProgress:t}),setContinuationChainId:t=>e({continuationChainId:t}),setPendingPlanId:t=>e({pendingPlanId:t}),setPlannerBadgeState:t=>e({plannerBadgeState:t}),setKeyFilePath:t=>e({keyFilePath:t}),setVariationModal:t=>e({variationModal:t}),setIsApplyingVariation:t=>e({isApplyingVariation:t}),patchVariationOption:(t,n)=>e(r=>{if(!r.variationModal)return r;const i=r.variationModal.options.map(s=>s.id===t?{...s,patch:n.patch,changedKeys:n.changedKeys,imagePending:!1}:s);return{...r,variationModal:{...r.variationModal,options:i}}}),setComposerHeight:t=>e(n=>{const r=typeof t=="function"?t(n.composerHeight):t;return n.composerHeight===r?n:{...n,composerHeight:r}}),setChatWidth:t=>e(n=>{const r=typeof t=="function"?t(n.chatWidth):t;return n.chatWidth===r?n:{...n,chatWidth:r}}),setPropsWidth:t=>e(n=>{const r=typeof t=="function"?t(n.propsWidth):t;return n.propsWidth===r?n:{...n,propsWidth:r}}),setActiveTab:t=>e(n=>n.activeTab===t?n:{...n,activeTab:t}),setShowSettingsModal:t=>e({showSettingsModal:t}),setShowDebugDetails:t=>e({showDebugDetails:t}),setAddBlockPicker:t=>e({addBlockPicker:t}),setAddBlockSearch:t=>e({addBlockSearch:t}),setIsAddingBlock:t=>e({isAddingBlock:t}),setImagePickerTarget:t=>e({imagePickerTarget:t}),setChatDarkMode:t=>e(n=>n.chatDarkMode===t?n:{...n,chatDarkMode:t}),setSelectionModeEnabled:t=>e({selectionModeEnabled:t}),setAnchorRect:t=>e({anchorRect:t}),setAnchoredExpanded:t=>e({anchoredExpanded:t}),setSelectedVariationId:t=>e({selectedVariationId:t}),setShowSiteSwitcher:t=>e({showSiteSwitcher:t}),setCopiedDebugEntryId:t=>e({copiedDebugEntryId:t}),setFeedbackNoteEntryId:t=>e({feedbackNoteEntryId:t}),setFeedbackNoteText:t=>e({feedbackNoteText:t}),setSiteConfigTab:t=>e({siteConfigTab:t}),setConfigModalTab:t=>e({configModalTab:t}),setModelKey:t=>e(n=>n.modelKey===t?n:{...n,modelKey:t}),setProvider:t=>e(n=>n.provider===t?n:{...n,provider:t}),setAvailableProviders:t=>e({availableProviders:t}),setUseStreaming:t=>e({useStreaming:t}),setAutoScrollTrackingEnabled:t=>e(n=>n.autoScrollTrackingEnabled===t?n:{...n,autoScrollTrackingEnabled:t}),setAutoScrollSuppressed:t=>e(n=>n.autoScrollSuppressed===t?n:{...n,autoScrollSuppressed:t}),setBackendFeatures:t=>e({backendFeatures:t}),setBackendSite:t=>e({backendSite:t}),setFieldDraftDebugEnabled:t=>e({fieldDraftDebugEnabled:t}),setFieldDraftDebug:t=>e({fieldDraftDebug:t}),pushAssistantFromResult:(t,n)=>{const r=L$(t.validationErrors),i=P$(t.changes),s={id:wh(),role:"assistant",text:t.summary??t.error??"Request failed.",status:t.status,canUndo:(n==null?void 0:n.canUndo)??!1,wasUndone:!1,undoSlug:n==null?void 0:n.undoSlug,changes:i.changes,mentionedSlugs:Array.isArray(t.mentionedSlugs)?t.mentionedSlugs.filter(o=>typeof o=="string"):[],suggestions:t.suggestions??[],variations:t.variations,errors:r,meta:t.modelUsed?`${t.modelUsed}${t.modelKey?` (${t.modelKey})`:""}`:void 0,debug:t.debug,aiJustification:i.aiJustification,aiPerformanceNote:i.aiPerformanceNote,pendingPlanId:typeof t.pendingPlanId=="string"?t.pendingPlanId:void 0,planApplied:t.planApplied===!0?!0:void 0,planPreview:t.planPreview??void 0,destructiveReasons:Array.isArray(t.destructiveReasons)?t.destructiveReasons.filter(o=>typeof o=="string"):void 0,continuation:t.continuation??void 0,imageSwap:n==null?void 0:n.imageSwap,thinking:n==null?void 0:n.thinking};e(o=>{if(!s.canUndo)return{...o,chatLog:[...o.chatLog,s]};const a=o.chatLog.map(u=>u.canUndo?{...u,canUndo:!1,wasUndone:!1}:u);return{...o,chatLog:[...a,s]}})}})));de.subscribe(e=>e.chatDarkMode,e=>{if(typeof window>"u")return;window.document.documentElement.classList.toggle("editor-dark",e),window.sessionStorage.setItem(Ig,e?"dark":"light"),window.localStorage.setItem(Ig,e?"dark":"light")});de.subscribe(e=>e.modelKey,e=>{typeof window>"u"||window.localStorage.setItem(oR,e)});de.subscribe(e=>e.provider,e=>{typeof window>"u"||window.localStorage.setItem(aR,e)});de.subscribe(e=>e.showDebugDetails,e=>{typeof window>"u"||window.localStorage.setItem(sR,e?"1":"0")});de.subscribe(e=>e.chatWidth,e=>{typeof window>"u"||(e==null?window.localStorage.removeItem(ek):window.localStorage.setItem(ek,String(Math.round(e))))});de.subscribe(e=>e.propsWidth,e=>{typeof window>"u"||(e==null?window.localStorage.removeItem(tk):window.localStorage.setItem(tk,String(Math.round(e))))});de.subscribe(e=>e.autoScrollTrackingEnabled,e=>{typeof window>"u"||window.localStorage.setItem(lR,e?"1":"0")});const Wc={sessionId:"dev",siteId:"",editorOrigin:"",orchestratorUrl:""};function qi(){return Wc.sessionId}function Ki(){return Wc.siteId}function B$(e){Wc.sessionId=e.sessionId,Wc.siteId=e.siteId,Wc.editorOrigin=e.editorOrigin,Wc.orchestratorUrl=e.orchestratorUrl}const $$="image/png,image/jpeg,image/webp,image/gif,application/pdf";function AT(e){return e.type.startsWith("image/")||e.type==="application/pdf"}function F$(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),r=t%60;return`${n}:${r.toString().padStart(2,"0")}`}function uR(e){const{message:t,isLoading:n,onMessageChange:r,onSubmit:i,onCancel:s,onTranscribeAudio:o,onUploadAttachment:a,attachments:u,onAttachmentsChange:d,onAutoHeightChange:f,selectionModeEnabled:m,onToggleSelectionMode:g,compact:y}=e,{t:x}=An(),v=de(ce=>ce.backendFeatures.audioTranscription)!==!1,[S,w]=_.useState(!1),[T,A]=_.useState(0),[M,j]=_.useState(!1),[D,O]=_.useState([]),[R,V]=_.useState(null),[F,W]=_.useState(null),U=_.useRef(null),H=_.useRef(null),G=_.useRef(null),q=_.useRef(null),I=_.useRef(null),B=_.useRef([]),Y=_.useRef(null);function ne(){const ce=H.current;if(!ce)return;const ee=U.current;if(ee){ee.style.height="0px",ee.style.overflowY="hidden";const Ye=ee.scrollHeight,xt=Math.min(220,Math.max(20,Ye));ee.style.height=`${xt}px`,ee.style.overflowY=Ye>xt?"auto":"hidden"}const Ie=ce.closest(".composer"),ze=Ie?Ie.scrollHeight:ce.scrollHeight;f(ze)}_.useEffect(()=>()=>{var ce,ee;try{(ce=q.current)==null||ce.stop()}catch{}(ee=I.current)==null||ee.getTracks().forEach(Ie=>Ie.stop()),q.current=null,I.current=null},[]),_.useLayoutEffect(()=>{ne()},[t,S,M,D,u,R,F,f]),_.useEffect(()=>{var Ie;const ce=requestAnimationFrame(()=>ne());let ee=!1;return typeof document<"u"&&((Ie=document.fonts)!=null&&Ie.ready)&&document.fonts.ready.then(()=>{ee||ne()}).catch(()=>{}),()=>{cancelAnimationFrame(ce),ee=!0}},[]),_.useEffect(()=>{const ce=()=>ne();return window.addEventListener("resize",ce),()=>window.removeEventListener("resize",ce)},[]),_.useEffect(()=>{const ce=H.current;if(!ce)return;const ee=ce.closest(".composer");let Ie;typeof ResizeObserver<"u"&&(Ie=new ResizeObserver(()=>ne()),Ie.observe(ce),ee&&Ie.observe(ee));let ze;return ee&&typeof MutationObserver<"u"&&(ze=new MutationObserver(()=>ne()),ze.observe(ee,{childList:!0})),()=>{Ie==null||Ie.disconnect(),ze==null||ze.disconnect()}},[]),_.useEffect(()=>{if(!S){A(0);return}const ce=performance.now();A(0);const ee=window.setInterval(()=>{A(performance.now()-ce)},250);return()=>window.clearInterval(ee)},[S]);function P(){var ce;return typeof window<"u"&&typeof window.MediaRecorder<"u"&&!!((ce=navigator.mediaDevices)!=null&&ce.getUserMedia)}function z(ce){const ee=ce.trim();if(!ee)return;const Ie=t.trim().length>0?`${t.trim()} `:"";r(`${Ie}${ee}`.trim())}async function J(ce){if(ce.length===0)return;W(null);const ee=[];let Ie=!1;for(const ze of ce)AT(ze)?ee.push(ze):Ie=!0;Ie&&W(x("chatInput.unsupportedFile")),ee.length!==0&&await Promise.all(ee.map(async ze=>{O(Ye=>[...Ye,ze.name]);try{const Ye=await a(ze);d(nt=>[...nt,Ye])}catch(Ye){const nt=Ye instanceof Error?Ye.message:x("chatInput.uploadFailed");W(nt)}finally{O(Ye=>{const nt=Ye.indexOf(ze.name);return nt===-1?Ye:[...Ye.slice(0,nt),...Ye.slice(nt+1)]})}}))}function L(ce){d(ee=>ee.filter(Ie=>Ie.id!==ce))}async function X(){var ce;if(V(null),!P()){V(x("chatInput.speechUnsupported"));return}if(!(n||M)){if(S){(ce=q.current)==null||ce.stop(),w(!1);return}try{const ee=await navigator.mediaDevices.getUserMedia({audio:!0});I.current=ee;const Ie=new MediaRecorder(ee);q.current=Ie,B.current=[],Ie.ondataavailable=ze=>{ze.data&&ze.data.size>0&&B.current.push(ze.data)},Ie.onstop=async()=>{const ze=Y.current;Y.current=null;const Ye=Ie.mimeType||"audio/webm",nt=B.current;if(B.current=[],ee.getTracks().forEach(xt=>xt.stop()),I.current=null,q.current=null,w(!1),!(ze==="cancel"||nt.length===0)){j(!0);try{const xt=new Blob(nt,{type:Ye}),st=(await o(xt,Ye)).trim();if(!st){V(x("chatInput.noSpeechDetected"));return}const Nn=[t.trim(),st].filter(Boolean).join(" ").trim();ze==="confirm"?i(Nn):z(st)}catch(xt){const Xe=xt instanceof Error?xt.message:x("chatInput.transcribeFailed");V(Xe)}finally{j(!1)}}},Ie.start(),w(!0)}catch{V(x("chatInput.micBlocked"))}}}function oe(){var ce;S&&(Y.current="cancel",(ce=q.current)==null||ce.stop(),B.current=[])}function ie(){var ce;S&&(Y.current="confirm",(ce=q.current)==null||ce.stop())}const se=S||M,Ne=D.length>0,_e=u.length>0,Oe=!n&&!se&&!Ne&&(t.trim().length>0||_e);return p.jsxs("div",{className:`composer-shell${n?" is-loading":""}`,ref:H,children:[p.jsx("input",{ref:G,type:"file",multiple:!0,accept:$$,style:{display:"none"},onChange:ce=>{const ee=Array.from(ce.target.files??[]);ce.target.value="",J(ee)}}),p.jsxs("div",{className:"composer-input-area",children:[(_e||Ne)&&!S?p.jsxs("div",{className:"composer-attachments",children:[u.map(ce=>p.jsxs("div",{className:"composer-attachment-chip",title:ce.name,children:[ce.kind==="image"?p.jsx("img",{className:"composer-attachment-thumb",src:ce.url,alt:""}):p.jsx("span",{className:"composer-attachment-icon","aria-hidden":"true",children:p.jsx(ib,{size:14})}),p.jsx("span",{className:"composer-attachment-name",children:ce.name??(ce.kind==="pdf"?"document.pdf":"image")}),p.jsx("button",{type:"button",className:"composer-attachment-remove",onClick:()=>L(ce.id),"aria-label":x("chatInput.removeAttachment"),children:p.jsx(Ls,{size:12})})]},ce.id)),D.map((ce,ee)=>p.jsxs("div",{className:"composer-attachment-chip is-uploading",title:ce,children:[p.jsx("span",{className:"composer-attachment-icon","aria-hidden":"true",children:p.jsx(Jv,{size:14,className:"composer-spin"})}),p.jsx("span",{className:"composer-attachment-name",children:ce})]},`uploading-${ee}-${ce}`))]}):null,!S&&p.jsx("textarea",{ref:U,placeholder:x("chatInput.placeholder"),value:t,onChange:ce=>{r(ce.target.value),ne()},onInput:()=>ne(),onPaste:ce=>{var ze;const ee=(ze=ce.clipboardData)==null?void 0:ze.items;if(!ee)return;const Ie=[];for(const Ye of ee){if(Ye.kind!=="file")continue;const nt=Ye.getAsFile();nt&&AT(nt)&&Ie.push(nt)}Ie.length!==0&&(ce.preventDefault(),J(Ie))},onKeyDown:ce=>{ce.key==="Enter"&&!ce.shiftKey&&!se&&!Ne&&(ce.preventDefault(),i())},rows:1}),S?p.jsxs("div",{className:"composer-input-note composer-input-note-listening",children:[p.jsx("span",{className:"composer-rec-dot","aria-hidden":"true"}),p.jsx("span",{className:"composer-rec-label",children:x("chatInput.listening")}),p.jsx("span",{className:"composer-rec-timer","aria-hidden":"true",children:F$(T)})]}):null,M?p.jsx("div",{className:"composer-input-note",children:x("chatInput.transcribing")}):null,R?p.jsx("div",{className:"composer-input-note composer-input-note-error",children:R}):null,F?p.jsx("div",{className:"composer-input-note composer-input-note-error",children:F}):null]}),p.jsxs("div",{className:"composer-actions",children:[!y&&!S&&p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"composer-ghost-btn composer-plus-btn",onClick:()=>{var ce;return(ce=G.current)==null?void 0:ce.click()},disabled:n||Ne,"aria-label":x("chatInput.attachFile"),"data-tooltip":x("chatInput.attachFile"),children:p.jsx(O9,{size:16})}),g&&p.jsx("button",{type:"button",className:`composer-ghost-btn composer-selector-btn${m?" is-active":""}`,onClick:g,"aria-label":x(m?"chatInput.exitSelector":"chatInput.selectElement"),"data-tooltip":x(m?"chatInput.exitSelector":"chatInput.selectElement"),"aria-pressed":m,children:p.jsx(A9,{size:16})})]}),p.jsx("div",{className:"composer-actions-spacer"}),p.jsx("div",{className:"composer-actions-right",role:"group","aria-label":x("chatInput.voiceActions"),children:!y&&S?p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"composer-ghost-btn composer-cancel-btn",onClick:oe,disabled:n||M,"aria-label":x("chatInput.cancelVoice"),children:p.jsx(Ls,{size:16})}),p.jsx("button",{type:"button",className:"composer-send-btn",onClick:ie,disabled:n||M,"aria-label":x("chatInput.sendRecorded"),children:p.jsx(Qh,{size:16})})]}):p.jsxs(p.Fragment,{children:[!y&&v&&p.jsx("button",{type:"button",className:"composer-ghost-btn",onClick:()=>void X(),disabled:n||M,"aria-label":x("chatInput.startVoice"),children:p.jsx(E9,{size:16})}),p.jsxs("button",{type:"button",className:`composer-send-btn${n&&s?" is-stop":""}`,onClick:n&&s?s:()=>i(),disabled:!(n&&s)&&!Oe,"aria-label":x(n&&s?"chatInput.stopGeneration":"chatInput.sendMessage"),children:[p.jsx("span",{className:"icon-send",children:p.jsx(RS,{size:16,strokeWidth:2.8})}),p.jsx("span",{className:"icon-stop",children:p.jsx(IS,{size:12,fill:"currentColor"})})]})]})})]})]})}function U$(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const H$=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,V$=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,q$={};function NT(e,t){return(q$.jsx?V$:H$).test(e)}const K$=/[ \t\n\f\r]/g;function G$(e){return typeof e=="object"?e.type==="text"?MT(e.value):!1:MT(e)}function MT(e){return e.replace(K$,"")===""}let ep=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};ep.prototype.normal={};ep.prototype.property={};ep.prototype.space=void 0;function cR(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new ep(n,r,t)}function ik(e){return e.toLowerCase()}class Ji{constructor(t,n){this.attribute=n,this.property=t}}Ji.prototype.attribute="";Ji.prototype.booleanish=!1;Ji.prototype.boolean=!1;Ji.prototype.commaOrSpaceSeparated=!1;Ji.prototype.commaSeparated=!1;Ji.prototype.defined=!1;Ji.prototype.mustUseProperty=!1;Ji.prototype.number=!1;Ji.prototype.overloadedBoolean=!1;Ji.prototype.property="";Ji.prototype.spaceSeparated=!1;Ji.prototype.space=void 0;let W$=0;const Nt=Wu(),Ar=Wu(),sk=Wu(),je=Wu(),Dn=Wu(),Xc=Wu(),cs=Wu();function Wu(){return 2**++W$}const ok=Object.freeze(Object.defineProperty({__proto__:null,boolean:Nt,booleanish:Ar,commaOrSpaceSeparated:cs,commaSeparated:Xc,number:je,overloadedBoolean:sk,spaceSeparated:Dn},Symbol.toStringTag,{value:"Module"})),ox=Object.keys(ok);class zS extends Ji{constructor(t,n,r,i){let s=-1;if(super(t,n),DT(this,"space",i),typeof r=="number")for(;++s<ox.length;){const o=ox[s];DT(this,ox[s],(r&ok[o])===ok[o])}}}zS.prototype.defined=!0;function DT(e,t,n){n&&(e[t]=n)}function Td(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new zS(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[ik(r)]=r,n[ik(s.attribute)]=r}return new ep(t,n,e.space)}const dR=Td({properties:{ariaActiveDescendant:null,ariaAtomic:Ar,ariaAutoComplete:null,ariaBusy:Ar,ariaChecked:Ar,ariaColCount:je,ariaColIndex:je,ariaColSpan:je,ariaControls:Dn,ariaCurrent:null,ariaDescribedBy:Dn,ariaDetails:null,ariaDisabled:Ar,ariaDropEffect:Dn,ariaErrorMessage:null,ariaExpanded:Ar,ariaFlowTo:Dn,ariaGrabbed:Ar,ariaHasPopup:null,ariaHidden:Ar,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Dn,ariaLevel:je,ariaLive:null,ariaModal:Ar,ariaMultiLine:Ar,ariaMultiSelectable:Ar,ariaOrientation:null,ariaOwns:Dn,ariaPlaceholder:null,ariaPosInSet:je,ariaPressed:Ar,ariaReadOnly:Ar,ariaRelevant:null,ariaRequired:Ar,ariaRoleDescription:Dn,ariaRowCount:je,ariaRowIndex:je,ariaRowSpan:je,ariaSelected:Ar,ariaSetSize:je,ariaSort:null,ariaValueMax:je,ariaValueMin:je,ariaValueNow:je,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function fR(e,t){return t in e?e[t]:t}function hR(e,t){return fR(e,t.toLowerCase())}const Z$=Td({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xc,acceptCharset:Dn,accessKey:Dn,action:null,allow:null,allowFullScreen:Nt,allowPaymentRequest:Nt,allowUserMedia:Nt,alt:null,as:null,async:Nt,autoCapitalize:null,autoComplete:Dn,autoFocus:Nt,autoPlay:Nt,blocking:Dn,capture:null,charSet:null,checked:Nt,cite:null,className:Dn,cols:je,colSpan:null,content:null,contentEditable:Ar,controls:Nt,controlsList:Dn,coords:je|Xc,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Nt,defer:Nt,dir:null,dirName:null,disabled:Nt,download:sk,draggable:Ar,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Nt,formTarget:null,headers:Dn,height:je,hidden:sk,high:je,href:null,hrefLang:null,htmlFor:Dn,httpEquiv:Dn,id:null,imageSizes:null,imageSrcSet:null,inert:Nt,inputMode:null,integrity:null,is:null,isMap:Nt,itemId:null,itemProp:Dn,itemRef:Dn,itemScope:Nt,itemType:Dn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Nt,low:je,manifest:null,max:null,maxLength:je,media:null,method:null,min:null,minLength:je,multiple:Nt,muted:Nt,name:null,nonce:null,noModule:Nt,noValidate:Nt,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Nt,optimum:je,pattern:null,ping:Dn,placeholder:null,playsInline:Nt,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Nt,referrerPolicy:null,rel:Dn,required:Nt,reversed:Nt,rows:je,rowSpan:je,sandbox:Dn,scope:null,scoped:Nt,seamless:Nt,selected:Nt,shadowRootClonable:Nt,shadowRootDelegatesFocus:Nt,shadowRootMode:null,shape:null,size:je,sizes:null,slot:null,span:je,spellCheck:Ar,src:null,srcDoc:null,srcLang:null,srcSet:null,start:je,step:null,style:null,tabIndex:je,target:null,title:null,translate:null,type:null,typeMustMatch:Nt,useMap:null,value:Ar,width:je,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Dn,axis:null,background:null,bgColor:null,border:je,borderColor:null,bottomMargin:je,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Nt,declare:Nt,event:null,face:null,frame:null,frameBorder:null,hSpace:je,leftMargin:je,link:null,longDesc:null,lowSrc:null,marginHeight:je,marginWidth:je,noResize:Nt,noHref:Nt,noShade:Nt,noWrap:Nt,object:null,profile:null,prompt:null,rev:null,rightMargin:je,rules:null,scheme:null,scrolling:Ar,standby:null,summary:null,text:null,topMargin:je,valueType:null,version:null,vAlign:null,vLink:null,vSpace:je,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Nt,disableRemotePlayback:Nt,prefix:null,property:null,results:je,security:null,unselectable:null},space:"html",transform:hR}),Y$=Td({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:cs,accentHeight:je,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:je,amplitude:je,arabicForm:null,ascent:je,attributeName:null,attributeType:null,azimuth:je,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:je,by:null,calcMode:null,capHeight:je,className:Dn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:je,diffuseConstant:je,direction:null,display:null,dur:null,divisor:je,dominantBaseline:null,download:Nt,dx:null,dy:null,edgeMode:null,editable:null,elevation:je,enableBackground:null,end:null,event:null,exponent:je,externalResourcesRequired:null,fill:null,fillOpacity:je,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xc,g2:Xc,glyphName:Xc,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:je,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:je,horizOriginX:je,horizOriginY:je,id:null,ideographic:je,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:je,k:je,k1:je,k2:je,k3:je,k4:je,kernelMatrix:cs,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:je,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:je,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:je,overlineThickness:je,paintOrder:null,panose1:null,path:null,pathLength:je,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Dn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:je,pointsAtY:je,pointsAtZ:je,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:cs,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:cs,rev:cs,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:cs,requiredFeatures:cs,requiredFonts:cs,requiredFormats:cs,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:je,specularExponent:je,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:je,strikethroughThickness:je,string:null,stroke:null,strokeDashArray:cs,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:je,strokeOpacity:je,strokeWidth:null,style:null,surfaceScale:je,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:cs,tabIndex:je,tableValues:null,target:null,targetX:je,targetY:je,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:cs,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:je,underlineThickness:je,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:je,values:null,vAlphabetic:je,vMathematical:je,vectorEffect:null,vHanging:je,vIdeographic:je,version:null,vertAdvY:je,vertOriginX:je,vertOriginY:je,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:je,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:fR}),pR=Td({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),mR=Td({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:hR}),gR=Td({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),J$={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},X$=/[A-Z]/g,RT=/-[a-z]/g,Q$=/^data[-\w.:]+$/i;function eF(e,t){const n=ik(t);let r=t,i=Ji;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Q$.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(RT,nF);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!RT.test(s)){let o=s.replace(X$,tF);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=zS}return new i(r,t)}function tF(e){return"-"+e.toLowerCase()}function nF(e){return e.charAt(1).toUpperCase()}const rF=cR([dR,Z$,pR,mR,gR],"html"),LS=cR([dR,Y$,pR,mR,gR],"svg");function iF(e){return e.join(" ").trim()}var jc={},ax,jT;function sF(){if(jT)return ax;jT=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,o=/^[;\s]*/,a=/^\s+|\s+$/g,u=`
|
|
373
373
|
`,d="/",f="*",m="",g="comment",y="declaration";function x(S,w){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];w=w||{};var T=1,A=1;function M(G){var q=G.match(t);q&&(T+=q.length);var I=G.lastIndexOf(u);A=~I?G.length-I:A+G.length}function j(){var G={line:T,column:A};return function(q){return q.position=new D(G),V(),q}}function D(G){this.start=G,this.end={line:T,column:A},this.source=w.source}D.prototype.content=S;function O(G){var q=new Error(w.source+":"+T+":"+A+": "+G);if(q.reason=G,q.filename=w.source,q.line=T,q.column=A,q.source=S,!w.silent)throw q}function R(G){var q=G.exec(S);if(q){var I=q[0];return M(I),S=S.slice(I.length),q}}function V(){R(n)}function F(G){var q;for(G=G||[];q=W();)q!==!1&&G.push(q);return G}function W(){var G=j();if(!(d!=S.charAt(0)||f!=S.charAt(1))){for(var q=2;m!=S.charAt(q)&&(f!=S.charAt(q)||d!=S.charAt(q+1));)++q;if(q+=2,m===S.charAt(q-1))return O("End of comment missing");var I=S.slice(2,q-2);return A+=2,M(I),S=S.slice(q),A+=2,G({type:g,comment:I})}}function U(){var G=j(),q=R(r);if(q){if(W(),!R(i))return O("property missing ':'");var I=R(s),B=G({type:y,property:v(q[0].replace(e,m)),value:I?v(I[0].replace(e,m)):m});return R(o),B}}function H(){var G=[];F(G);for(var q;q=U();)q!==!1&&(G.push(q),F(G));return G}return V(),H()}function v(S){return S?S.replace(a,m):m}return ax=x,ax}var IT;function oF(){if(IT)return jc;IT=1;var e=jc&&jc.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(jc,"__esModule",{value:!0}),jc.default=n;const t=e(sF());function n(r,i){let s=null;if(!r||typeof r!="string")return s;const o=(0,t.default)(r),a=typeof i=="function";return o.forEach(u=>{if(u.type!=="declaration")return;const{property:d,value:f}=u;a?i(d,f,u):f&&(s=s||{},s[d]=f)}),s}return jc}var Df={},OT;function aF(){if(OT)return Df;OT=1,Object.defineProperty(Df,"__esModule",{value:!0}),Df.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,s=function(d){return!d||n.test(d)||e.test(d)},o=function(d,f){return f.toUpperCase()},a=function(d,f){return"".concat(f,"-")},u=function(d,f){return f===void 0&&(f={}),s(d)?d:(d=d.toLowerCase(),f.reactCompat?d=d.replace(i,a):d=d.replace(r,a),d.replace(t,o))};return Df.camelCase=u,Df}var Rf,PT;function lF(){if(PT)return Rf;PT=1;var e=Rf&&Rf.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(oF()),n=aF();function r(i,s){var o={};return!i||typeof i!="string"||(0,t.default)(i,function(a,u){a&&u&&(o[(0,n.camelCase)(a,s)]=u)}),o}return r.default=r,Rf=r,Rf}var uF=lF();const cF=Ed(uF),bR=yR("end"),BS=yR("start");function yR(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function dF(e){const t=BS(e),n=bR(e);if(t&&n)return{start:t,end:n}}function th(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?zT(e.position):"start"in e||"end"in e?zT(e):"line"in e||"column"in e?ak(e):""}function ak(e){return LT(e&&e.line)+":"+LT(e&&e.column)}function zT(e){return ak(e&&e.start)+"-"+ak(e&&e.end)}function LT(e){return e&&typeof e=="number"?e:1}class mi extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",s={},o=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?i=t:!s.cause&&t&&(o=!0,i=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof r=="string"){const u=r.indexOf(":");u===-1?s.ruleId=r:(s.source=r.slice(0,u),s.ruleId=r.slice(u+1))}if(!s.place&&s.ancestors&&s.ancestors){const u=s.ancestors[s.ancestors.length-1];u&&(s.place=u.position)}const a=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=th(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=o&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}mi.prototype.file="";mi.prototype.name="";mi.prototype.reason="";mi.prototype.message="";mi.prototype.stack="";mi.prototype.column=void 0;mi.prototype.line=void 0;mi.prototype.ancestors=void 0;mi.prototype.cause=void 0;mi.prototype.fatal=void 0;mi.prototype.place=void 0;mi.prototype.ruleId=void 0;mi.prototype.source=void 0;const $S={}.hasOwnProperty,fF=new Map,hF=/[A-Z]/g,pF=new Set(["table","tbody","thead","tfoot","tr"]),mF=new Set(["td","th"]),xR="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function gF(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=CF(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=wF(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?LS:rF,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=vR(i,e,void 0);return s&&typeof s!="string"?s:i.create(e,i.Fragment,{children:s||void 0},void 0)}function vR(e,t,n){if(t.type==="element")return bF(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return yF(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return vF(e,t,n);if(t.type==="mdxjsEsm")return xF(e,t);if(t.type==="root")return kF(e,t,n);if(t.type==="text")return SF(e,t)}function bF(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=LS,e.schema=i),e.ancestors.push(t);const s=SR(e,t.tagName,!1),o=_F(e,t);let a=US(e,t);return pF.has(t.tagName)&&(a=a.filter(function(u){return typeof u=="string"?!G$(u):!0})),kR(e,o,s,t),FS(o,a),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function yF(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Ch(e,t.position)}function xF(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Ch(e,t.position)}function vF(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=LS,e.schema=i),e.ancestors.push(t);const s=t.name===null?e.Fragment:SR(e,t.name,!0),o=EF(e,t),a=US(e,t);return kR(e,o,s,t),FS(o,a),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function kF(e,t,n){const r={};return FS(r,US(e,t)),e.create(t,e.Fragment,r,n)}function SF(e,t){return t.value}function kR(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function FS(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function wF(e,t,n){return r;function r(i,s,o,a){const d=Array.isArray(o.children)?n:t;return a?d(s,o,a):d(s,o)}}function CF(e,t){return n;function n(r,i,s,o){const a=Array.isArray(s.children),u=BS(r);return t(i,s,o,a,{columnNumber:u?u.column-1:void 0,fileName:e,lineNumber:u?u.line:void 0},void 0)}}function _F(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&$S.call(t.properties,i)){const s=TF(e,i,t.properties[i]);if(s){const[o,a]=s;e.tableCellAlignToStyle&&o==="align"&&typeof a=="string"&&mF.has(t.tagName)?r=a:n[o]=a}}if(r){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function EF(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const s=r.data.estree.body[0];s.type;const o=s.expression;o.type;const a=o.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else Ch(e,t.position);else{const i=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const a=r.value.data.estree.body[0];a.type,s=e.evaluater.evaluateExpression(a.expression)}else Ch(e,t.position);else s=r.value===null?!0:r.value;n[i]=s}return n}function US(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:fF;for(;++r<t.children.length;){const s=t.children[r];let o;if(e.passKeys){const u=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(u){const d=i.get(u)||0;o=u+"-"+d,i.set(u,d+1)}}const a=vR(e,s,o);a!==void 0&&n.push(a)}return n}function TF(e,t,n){const r=eF(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?U$(n):iF(n)),r.property==="style"){let i=typeof n=="object"?n:AF(e,String(n));return e.stylePropertyNameCase==="css"&&(i=NF(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?J$[r.property]||r.property:r.attribute,n]}}function AF(e,t){try{return cF(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,i=new mi("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw i.file=e.filePath||void 0,i.url=xR+"#cannot-parse-style-attribute",i}}function SR(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const i=t.split(".");let s=-1,o;for(;++s<i.length;){const a=NT(i[s])?{type:"Identifier",name:i[s]}:{type:"Literal",value:i[s]};o=o?{type:"MemberExpression",object:o,property:a,computed:!!(s&&a.type==="Literal"),optional:!1}:a}r=o}else r=NT(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const i=r.value;return $S.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);Ch(e)}function Ch(e,t){const n=new mi("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=xR+"#cannot-handle-mdx-estrees-without-createevaluater",n}function NF(e){const t={};let n;for(n in e)$S.call(e,n)&&(t[MF(n)]=e[n]);return t}function MF(e){let t=e.replace(hF,DF);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function DF(e){return"-"+e.toLowerCase()}const lx={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},RF={};function HS(e,t){const n=RF,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return wR(e,r,i)}function wR(e,t,n){if(jF(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return BT(e.children,t,n)}return Array.isArray(e)?BT(e,t,n):""}function BT(e,t,n){const r=[];let i=-1;for(;++i<e.length;)r[i]=wR(e[i],t,n);return r.join("")}function jF(e){return!!(e&&typeof e=="object")}const $T=document.createElement("i");function VS(e){const t="&"+e+";";$T.innerHTML=t;const n=$T.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function hs(e,t,n,r){const i=e.length;let s=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);s<r.length;)o=r.slice(s,s+1e4),o.unshift(t,0),e.splice(...o),s+=1e4,t+=1e4}function js(e,t){return e.length>0?(hs(e,e.length,0,t),e):t}const FT={}.hasOwnProperty;function CR(e){const t={};let n=-1;for(;++n<e.length;)IF(t,e[n]);return t}function IF(e,t){let n;for(n in t){const i=(FT.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let o;if(s)for(o in s){FT.call(i,o)||(i[o]=[]);const a=s[o];OF(i[o],Array.isArray(a)?a:a?[a]:[])}}}function OF(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);hs(e,0,0,r)}function _R(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function so(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ti=Ll(/[A-Za-z]/),fi=Ll(/[\dA-Za-z]/),PF=Ll(/[#-'*+\--9=?A-Z^-~]/);function Og(e){return e!==null&&(e<32||e===127)}const lk=Ll(/\d/),zF=Ll(/[\dA-Fa-f]/),LF=Ll(/[!-/:-@[-`{-~]/);function ht(e){return e!==null&&e<-2}function En(e){return e!==null&&(e<0||e===32)}function Ft(e){return e===-2||e===-1||e===32}const ob=Ll(new RegExp("\\p{P}|\\p{S}","u")),Ou=Ll(/\s/);function Ll(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Ad(e){const t=[];let n=-1,r=0,i=0;for(;++n<e.length;){const s=e.charCodeAt(n);let o="";if(s===37&&fi(e.charCodeAt(n+1))&&fi(e.charCodeAt(n+2)))i=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(o=String.fromCharCode(s));else if(s>55295&&s<57344){const a=e.charCodeAt(n+1);s<56320&&a>56319&&a<57344?(o=String.fromCharCode(s,a),i=1):o="�"}else o=String.fromCharCode(s);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function Zt(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(u){return Ft(u)?(e.enter(n),a(u)):t(u)}function a(u){return Ft(u)&&s++<i?(e.consume(u),a):(e.exit(n),t(u))}}const BF={tokenize:$F};function $F(e){const t=e.attempt(this.parser.constructs.contentInitial,r,i);let n;return t;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),Zt(e,t,"linePrefix")}function i(a){return e.enter("paragraph"),s(a)}function s(a){const u=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=u),n=u,o(a)}function o(a){if(a===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(a);return}return ht(a)?(e.consume(a),e.exit("chunkText"),s):(e.consume(a),o)}}const FF={tokenize:UF},UT={tokenize:HF};function UF(e){const t=this,n=[];let r=0,i,s,o;return a;function a(A){if(r<n.length){const M=n[r];return t.containerState=M[1],e.attempt(M[0].continuation,u,d)(A)}return d(A)}function u(A){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&T();const M=t.events.length;let j=M,D;for(;j--;)if(t.events[j][0]==="exit"&&t.events[j][1].type==="chunkFlow"){D=t.events[j][1].end;break}w(r);let O=M;for(;O<t.events.length;)t.events[O][1].end={...D},O++;return hs(t.events,j+1,0,t.events.slice(M)),t.events.length=O,d(A)}return a(A)}function d(A){if(r===n.length){if(!i)return g(A);if(i.currentConstruct&&i.currentConstruct.concrete)return x(A);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(UT,f,m)(A)}function f(A){return i&&T(),w(r),g(A)}function m(A){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,x(A)}function g(A){return t.containerState={},e.attempt(UT,y,x)(A)}function y(A){return r++,n.push([t.currentConstruct,t.containerState]),g(A)}function x(A){if(A===null){i&&T(),w(0),e.consume(A);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:s}),v(A)}function v(A){if(A===null){S(e.exit("chunkFlow"),!0),w(0),e.consume(A);return}return ht(A)?(e.consume(A),S(e.exit("chunkFlow")),r=0,t.interrupt=void 0,a):(e.consume(A),v)}function S(A,M){const j=t.sliceStream(A);if(M&&j.push(null),A.previous=s,s&&(s.next=A),s=A,i.defineSkip(A.start),i.write(j),t.parser.lazy[A.start.line]){let D=i.events.length;for(;D--;)if(i.events[D][1].start.offset<o&&(!i.events[D][1].end||i.events[D][1].end.offset>o))return;const O=t.events.length;let R=O,V,F;for(;R--;)if(t.events[R][0]==="exit"&&t.events[R][1].type==="chunkFlow"){if(V){F=t.events[R][1].end;break}V=!0}for(w(r),D=O;D<t.events.length;)t.events[D][1].end={...F},D++;hs(t.events,R+1,0,t.events.slice(O)),t.events.length=D}}function w(A){let M=n.length;for(;M-- >A;){const j=n[M];t.containerState=j[1],j[0].exit.call(t,e)}n.length=A}function T(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function HF(e,t,n){return Zt(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ld(e){if(e===null||En(e)||Ou(e))return 1;if(ob(e))return 2}function ab(e,t,n){const r=[];let i=-1;for(;++i<e.length;){const s=e[i].resolveAll;s&&!r.includes(s)&&(t=s(t,n),r.push(s))}return t}const uk={name:"attention",resolveAll:VF,tokenize:qF};function VF(e,t){let n=-1,r,i,s,o,a,u,d,f;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;u=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const m={...e[r][1].end},g={...e[n][1].start};HT(m,-u),HT(g,u),o={type:u>1?"strongSequence":"emphasisSequence",start:m,end:{...e[r][1].end}},a={type:u>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:g},s={type:u>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:u>1?"strong":"emphasis",start:{...o.start},end:{...a.end}},e[r][1].end={...o.start},e[n][1].start={...a.end},d=[],e[r][1].end.offset-e[r][1].start.offset&&(d=js(d,[["enter",e[r][1],t],["exit",e[r][1],t]])),d=js(d,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",s,t]]),d=js(d,ab(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),d=js(d,[["exit",s,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(f=2,d=js(d,[["enter",e[n][1],t],["exit",e[n][1],t]])):f=0,hs(e,r-1,n-r+3,d),n=r+d.length-f-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function qF(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ld(r);let s;return o;function o(u){return s=u,e.enter("attentionSequence"),a(u)}function a(u){if(u===s)return e.consume(u),a;const d=e.exit("attentionSequence"),f=ld(u),m=!f||f===2&&i||n.includes(u),g=!i||i===2&&f||n.includes(r);return d._open=!!(s===42?m:m&&(i||!g)),d._close=!!(s===42?g:g&&(f||!m)),t(u)}}function HT(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const KF={name:"autolink",tokenize:GF};function GF(e,t,n){let r=0;return i;function i(y){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s}function s(y){return Ti(y)?(e.consume(y),o):y===64?n(y):d(y)}function o(y){return y===43||y===45||y===46||fi(y)?(r=1,a(y)):d(y)}function a(y){return y===58?(e.consume(y),r=0,u):(y===43||y===45||y===46||fi(y))&&r++<32?(e.consume(y),a):(r=0,d(y))}function u(y){return y===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):y===null||y===32||y===60||Og(y)?n(y):(e.consume(y),u)}function d(y){return y===64?(e.consume(y),f):PF(y)?(e.consume(y),d):n(y)}function f(y){return fi(y)?m(y):n(y)}function m(y){return y===46?(e.consume(y),r=0,f):y===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):g(y)}function g(y){if((y===45||fi(y))&&r++<63){const x=y===45?g:m;return e.consume(y),x}return n(y)}}const tp={partial:!0,tokenize:WF};function WF(e,t,n){return r;function r(s){return Ft(s)?Zt(e,i,"linePrefix")(s):i(s)}function i(s){return s===null||ht(s)?t(s):n(s)}}const ER={continuation:{tokenize:YF},exit:JF,name:"blockQuote",tokenize:ZF};function ZF(e,t,n){const r=this;return i;function i(o){if(o===62){const a=r.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),s}return n(o)}function s(o){return Ft(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function YF(e,t,n){const r=this;return i;function i(o){return Ft(o)?Zt(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):s(o)}function s(o){return e.attempt(ER,t,n)(o)}}function JF(e){e.exit("blockQuote")}const TR={name:"characterEscape",tokenize:XF};function XF(e,t,n){return r;function r(s){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(s),e.exit("escapeMarker"),i}function i(s){return LF(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const AR={name:"characterReference",tokenize:QF};function QF(e,t,n){const r=this;let i=0,s,o;return a;function a(m){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),u}function u(m){return m===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(m),e.exit("characterReferenceMarkerNumeric"),d):(e.enter("characterReferenceValue"),s=31,o=fi,f(m))}function d(m){return m===88||m===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(m),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),s=6,o=zF,f):(e.enter("characterReferenceValue"),s=7,o=lk,f(m))}function f(m){if(m===59&&i){const g=e.exit("characterReferenceValue");return o===fi&&!VS(r.sliceSerialize(g))?n(m):(e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return o(m)&&i++<s?(e.consume(m),f):n(m)}}const VT={partial:!0,tokenize:t7},qT={concrete:!0,name:"codeFenced",tokenize:e7};function e7(e,t,n){const r=this,i={partial:!0,tokenize:j};let s=0,o=0,a;return u;function u(D){return d(D)}function d(D){const O=r.events[r.events.length-1];return s=O&&O[1].type==="linePrefix"?O[2].sliceSerialize(O[1],!0).length:0,a=D,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),f(D)}function f(D){return D===a?(o++,e.consume(D),f):o<3?n(D):(e.exit("codeFencedFenceSequence"),Ft(D)?Zt(e,m,"whitespace")(D):m(D))}function m(D){return D===null||ht(D)?(e.exit("codeFencedFence"),r.interrupt?t(D):e.check(VT,v,M)(D)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),g(D))}function g(D){return D===null||ht(D)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),m(D)):Ft(D)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),Zt(e,y,"whitespace")(D)):D===96&&D===a?n(D):(e.consume(D),g)}function y(D){return D===null||ht(D)?m(D):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),x(D))}function x(D){return D===null||ht(D)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),m(D)):D===96&&D===a?n(D):(e.consume(D),x)}function v(D){return e.attempt(i,M,S)(D)}function S(D){return e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),w}function w(D){return s>0&&Ft(D)?Zt(e,T,"linePrefix",s+1)(D):T(D)}function T(D){return D===null||ht(D)?e.check(VT,v,M)(D):(e.enter("codeFlowValue"),A(D))}function A(D){return D===null||ht(D)?(e.exit("codeFlowValue"),T(D)):(e.consume(D),A)}function M(D){return e.exit("codeFenced"),t(D)}function j(D,O,R){let V=0;return F;function F(q){return D.enter("lineEnding"),D.consume(q),D.exit("lineEnding"),W}function W(q){return D.enter("codeFencedFence"),Ft(q)?Zt(D,U,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(q):U(q)}function U(q){return q===a?(D.enter("codeFencedFenceSequence"),H(q)):R(q)}function H(q){return q===a?(V++,D.consume(q),H):V>=o?(D.exit("codeFencedFenceSequence"),Ft(q)?Zt(D,G,"whitespace")(q):G(q)):R(q)}function G(q){return q===null||ht(q)?(D.exit("codeFencedFence"),O(q)):R(q)}}}function t7(e,t,n){const r=this;return i;function i(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const ux={name:"codeIndented",tokenize:r7},n7={partial:!0,tokenize:i7};function r7(e,t,n){const r=this;return i;function i(d){return e.enter("codeIndented"),Zt(e,s,"linePrefix",5)(d)}function s(d){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?o(d):n(d)}function o(d){return d===null?u(d):ht(d)?e.attempt(n7,o,u)(d):(e.enter("codeFlowValue"),a(d))}function a(d){return d===null||ht(d)?(e.exit("codeFlowValue"),o(d)):(e.consume(d),a)}function u(d){return e.exit("codeIndented"),t(d)}}function i7(e,t,n){const r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):ht(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):Zt(e,s,"linePrefix",5)(o)}function s(o){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(o):ht(o)?i(o):n(o)}}const s7={name:"codeText",previous:a7,resolve:o7,tokenize:l7};function o7(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function a7(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function l7(e,t,n){let r=0,i,s;return o;function o(m){return e.enter("codeText"),e.enter("codeTextSequence"),a(m)}function a(m){return m===96?(e.consume(m),r++,a):(e.exit("codeTextSequence"),u(m))}function u(m){return m===null?n(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),u):m===96?(s=e.enter("codeTextSequence"),i=0,f(m)):ht(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),u):(e.enter("codeTextData"),d(m))}function d(m){return m===null||m===32||m===96||ht(m)?(e.exit("codeTextData"),u(m)):(e.consume(m),d)}function f(m){return m===96?(e.consume(m),i++,f):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(m)):(s.type="codeTextData",d(m))}}class u7{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&jf(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),jf(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),jf(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);jf(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);jf(this.left,n.reverse())}}}function jf(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function NR(e){const t={};let n=-1,r,i,s,o,a,u,d;const f=new u7(e);for(;++n<f.length;){for(;n in t;)n=t[n];if(r=f.get(n),n&&r[1].type==="chunkFlow"&&f.get(n-1)[1].type==="listItemPrefix"&&(u=r[1]._tokenizer.events,s=0,s<u.length&&u[s][1].type==="lineEndingBlank"&&(s+=2),s<u.length&&u[s][1].type==="content"))for(;++s<u.length&&u[s][1].type!=="content";)u[s][1].type==="chunkText"&&(u[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,c7(f,n)),n=t[n],d=!0);else if(r[1]._container){for(s=n,i=void 0;s--;)if(o=f.get(s),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank")o[0]==="enter"&&(i&&(f.get(i)[1].type="lineEndingBlank"),o[1].type="lineEnding",i=s);else if(!(o[1].type==="linePrefix"||o[1].type==="listItemIndent"))break;i&&(r[1].end={...f.get(i)[1].start},a=f.slice(i,n),a.unshift(r),f.splice(i,n-i+1,a))}}return hs(e,0,Number.POSITIVE_INFINITY,f.slice(0)),!d}function c7(e,t){const n=e.get(t)[1],r=e.get(t)[2];let i=t-1;const s=[];let o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));const a=o.events,u=[],d={};let f,m,g=-1,y=n,x=0,v=0;const S=[v];for(;y;){for(;e.get(++i)[1]!==y;);s.push(i),y._tokenizer||(f=r.sliceStream(y),y.next||f.push(null),m&&o.defineSkip(y.start),y._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(f),y._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),m=y,y=y.next}for(y=n;++g<a.length;)a[g][0]==="exit"&&a[g-1][0]==="enter"&&a[g][1].type===a[g-1][1].type&&a[g][1].start.line!==a[g][1].end.line&&(v=g+1,S.push(v),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(o.events=[],y?(y._tokenizer=void 0,y.previous=void 0):S.pop(),g=S.length;g--;){const w=a.slice(S[g],S[g+1]),T=s.pop();u.push([T,T+w.length-1]),e.splice(T,2,w)}for(u.reverse(),g=-1;++g<u.length;)d[x+u[g][0]]=x+u[g][1],x+=u[g][1]-u[g][0]-1;return d}const d7={resolve:h7,tokenize:p7},f7={partial:!0,tokenize:m7};function h7(e){return NR(e),e}function p7(e,t){let n;return r;function r(a){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?s(a):ht(a)?e.check(f7,o,s)(a):(e.consume(a),i)}function s(a){return e.exit("chunkContent"),e.exit("content"),t(a)}function o(a){return e.consume(a),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function m7(e,t,n){const r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),Zt(e,s,"linePrefix")}function s(o){if(o===null||ht(o))return n(o);const a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function MR(e,t,n,r,i,s,o,a,u){const d=u||Number.POSITIVE_INFINITY;let f=0;return m;function m(w){return w===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(w),e.exit(s),g):w===null||w===32||w===41||Og(w)?n(w):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),v(w))}function g(w){return w===62?(e.enter(s),e.consume(w),e.exit(s),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),y(w))}function y(w){return w===62?(e.exit("chunkString"),e.exit(a),g(w)):w===null||w===60||ht(w)?n(w):(e.consume(w),w===92?x:y)}function x(w){return w===60||w===62||w===92?(e.consume(w),y):y(w)}function v(w){return!f&&(w===null||w===41||En(w))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(w)):f<d&&w===40?(e.consume(w),f++,v):w===41?(e.consume(w),f--,v):w===null||w===32||w===40||Og(w)?n(w):(e.consume(w),w===92?S:v)}function S(w){return w===40||w===41||w===92?(e.consume(w),v):v(w)}}function DR(e,t,n,r,i,s){const o=this;let a=0,u;return d;function d(y){return e.enter(r),e.enter(i),e.consume(y),e.exit(i),e.enter(s),f}function f(y){return a>999||y===null||y===91||y===93&&!u||y===94&&!a&&"_hiddenFootnoteSupport"in o.parser.constructs?n(y):y===93?(e.exit(s),e.enter(i),e.consume(y),e.exit(i),e.exit(r),t):ht(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===null||y===91||y===93||ht(y)||a++>999?(e.exit("chunkString"),f(y)):(e.consume(y),u||(u=!Ft(y)),y===92?g:m)}function g(y){return y===91||y===92||y===93?(e.consume(y),a++,m):m(y)}}function RR(e,t,n,r,i,s){let o;return a;function a(g){return g===34||g===39||g===40?(e.enter(r),e.enter(i),e.consume(g),e.exit(i),o=g===40?41:g,u):n(g)}function u(g){return g===o?(e.enter(i),e.consume(g),e.exit(i),e.exit(r),t):(e.enter(s),d(g))}function d(g){return g===o?(e.exit(s),u(o)):g===null?n(g):ht(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),Zt(e,d,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(g))}function f(g){return g===o||g===null||ht(g)?(e.exit("chunkString"),d(g)):(e.consume(g),g===92?m:f)}function m(g){return g===o||g===92?(e.consume(g),f):f(g)}}function nh(e,t){let n;return r;function r(i){return ht(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Ft(i)?Zt(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const g7={name:"definition",tokenize:y7},b7={partial:!0,tokenize:x7};function y7(e,t,n){const r=this;let i;return s;function s(y){return e.enter("definition"),o(y)}function o(y){return DR.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function a(y){return i=so(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),u):n(y)}function u(y){return En(y)?nh(e,d)(y):d(y)}function d(y){return MR(e,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function f(y){return e.attempt(b7,m,m)(y)}function m(y){return Ft(y)?Zt(e,g,"whitespace")(y):g(y)}function g(y){return y===null||ht(y)?(e.exit("definition"),r.parser.defined.push(i),t(y)):n(y)}}function x7(e,t,n){return r;function r(a){return En(a)?nh(e,i)(a):n(a)}function i(a){return RR(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function s(a){return Ft(a)?Zt(e,o,"whitespace")(a):o(a)}function o(a){return a===null||ht(a)?t(a):n(a)}}const v7={name:"hardBreakEscape",tokenize:k7};function k7(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return ht(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const S7={name:"headingAtx",resolve:w7,tokenize:C7};function w7(e,t){let n=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},hs(e,r,n-r+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),e}function C7(e,t,n){let r=0;return i;function i(f){return e.enter("atxHeading"),s(f)}function s(f){return e.enter("atxHeadingSequence"),o(f)}function o(f){return f===35&&r++<6?(e.consume(f),o):f===null||En(f)?(e.exit("atxHeadingSequence"),a(f)):n(f)}function a(f){return f===35?(e.enter("atxHeadingSequence"),u(f)):f===null||ht(f)?(e.exit("atxHeading"),t(f)):Ft(f)?Zt(e,a,"whitespace")(f):(e.enter("atxHeadingText"),d(f))}function u(f){return f===35?(e.consume(f),u):(e.exit("atxHeadingSequence"),a(f))}function d(f){return f===null||f===35||En(f)?(e.exit("atxHeadingText"),a(f)):(e.consume(f),d)}}const _7=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],KT=["pre","script","style","textarea"],E7={concrete:!0,name:"htmlFlow",resolveTo:N7,tokenize:M7},T7={partial:!0,tokenize:R7},A7={partial:!0,tokenize:D7};function N7(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function M7(e,t,n){const r=this;let i,s,o,a,u;return d;function d(L){return f(L)}function f(L){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(L),m}function m(L){return L===33?(e.consume(L),g):L===47?(e.consume(L),s=!0,v):L===63?(e.consume(L),i=3,r.interrupt?t:P):Ti(L)?(e.consume(L),o=String.fromCharCode(L),S):n(L)}function g(L){return L===45?(e.consume(L),i=2,y):L===91?(e.consume(L),i=5,a=0,x):Ti(L)?(e.consume(L),i=4,r.interrupt?t:P):n(L)}function y(L){return L===45?(e.consume(L),r.interrupt?t:P):n(L)}function x(L){const X="CDATA[";return L===X.charCodeAt(a++)?(e.consume(L),a===X.length?r.interrupt?t:U:x):n(L)}function v(L){return Ti(L)?(e.consume(L),o=String.fromCharCode(L),S):n(L)}function S(L){if(L===null||L===47||L===62||En(L)){const X=L===47,oe=o.toLowerCase();return!X&&!s&&KT.includes(oe)?(i=1,r.interrupt?t(L):U(L)):_7.includes(o.toLowerCase())?(i=6,X?(e.consume(L),w):r.interrupt?t(L):U(L)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(L):s?T(L):A(L))}return L===45||fi(L)?(e.consume(L),o+=String.fromCharCode(L),S):n(L)}function w(L){return L===62?(e.consume(L),r.interrupt?t:U):n(L)}function T(L){return Ft(L)?(e.consume(L),T):F(L)}function A(L){return L===47?(e.consume(L),F):L===58||L===95||Ti(L)?(e.consume(L),M):Ft(L)?(e.consume(L),A):F(L)}function M(L){return L===45||L===46||L===58||L===95||fi(L)?(e.consume(L),M):j(L)}function j(L){return L===61?(e.consume(L),D):Ft(L)?(e.consume(L),j):A(L)}function D(L){return L===null||L===60||L===61||L===62||L===96?n(L):L===34||L===39?(e.consume(L),u=L,O):Ft(L)?(e.consume(L),D):R(L)}function O(L){return L===u?(e.consume(L),u=null,V):L===null||ht(L)?n(L):(e.consume(L),O)}function R(L){return L===null||L===34||L===39||L===47||L===60||L===61||L===62||L===96||En(L)?j(L):(e.consume(L),R)}function V(L){return L===47||L===62||Ft(L)?A(L):n(L)}function F(L){return L===62?(e.consume(L),W):n(L)}function W(L){return L===null||ht(L)?U(L):Ft(L)?(e.consume(L),W):n(L)}function U(L){return L===45&&i===2?(e.consume(L),I):L===60&&i===1?(e.consume(L),B):L===62&&i===4?(e.consume(L),z):L===63&&i===3?(e.consume(L),P):L===93&&i===5?(e.consume(L),ne):ht(L)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(T7,J,H)(L)):L===null||ht(L)?(e.exit("htmlFlowData"),H(L)):(e.consume(L),U)}function H(L){return e.check(A7,G,J)(L)}function G(L){return e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),q}function q(L){return L===null||ht(L)?H(L):(e.enter("htmlFlowData"),U(L))}function I(L){return L===45?(e.consume(L),P):U(L)}function B(L){return L===47?(e.consume(L),o="",Y):U(L)}function Y(L){if(L===62){const X=o.toLowerCase();return KT.includes(X)?(e.consume(L),z):U(L)}return Ti(L)&&o.length<8?(e.consume(L),o+=String.fromCharCode(L),Y):U(L)}function ne(L){return L===93?(e.consume(L),P):U(L)}function P(L){return L===62?(e.consume(L),z):L===45&&i===2?(e.consume(L),P):U(L)}function z(L){return L===null||ht(L)?(e.exit("htmlFlowData"),J(L)):(e.consume(L),z)}function J(L){return e.exit("htmlFlow"),t(L)}}function D7(e,t,n){const r=this;return i;function i(o){return ht(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):n(o)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function R7(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(tp,t,n)}}const j7={name:"htmlText",tokenize:I7};function I7(e,t,n){const r=this;let i,s,o;return a;function a(P){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(P),u}function u(P){return P===33?(e.consume(P),d):P===47?(e.consume(P),j):P===63?(e.consume(P),A):Ti(P)?(e.consume(P),R):n(P)}function d(P){return P===45?(e.consume(P),f):P===91?(e.consume(P),s=0,x):Ti(P)?(e.consume(P),T):n(P)}function f(P){return P===45?(e.consume(P),y):n(P)}function m(P){return P===null?n(P):P===45?(e.consume(P),g):ht(P)?(o=m,B(P)):(e.consume(P),m)}function g(P){return P===45?(e.consume(P),y):m(P)}function y(P){return P===62?I(P):P===45?g(P):m(P)}function x(P){const z="CDATA[";return P===z.charCodeAt(s++)?(e.consume(P),s===z.length?v:x):n(P)}function v(P){return P===null?n(P):P===93?(e.consume(P),S):ht(P)?(o=v,B(P)):(e.consume(P),v)}function S(P){return P===93?(e.consume(P),w):v(P)}function w(P){return P===62?I(P):P===93?(e.consume(P),w):v(P)}function T(P){return P===null||P===62?I(P):ht(P)?(o=T,B(P)):(e.consume(P),T)}function A(P){return P===null?n(P):P===63?(e.consume(P),M):ht(P)?(o=A,B(P)):(e.consume(P),A)}function M(P){return P===62?I(P):A(P)}function j(P){return Ti(P)?(e.consume(P),D):n(P)}function D(P){return P===45||fi(P)?(e.consume(P),D):O(P)}function O(P){return ht(P)?(o=O,B(P)):Ft(P)?(e.consume(P),O):I(P)}function R(P){return P===45||fi(P)?(e.consume(P),R):P===47||P===62||En(P)?V(P):n(P)}function V(P){return P===47?(e.consume(P),I):P===58||P===95||Ti(P)?(e.consume(P),F):ht(P)?(o=V,B(P)):Ft(P)?(e.consume(P),V):I(P)}function F(P){return P===45||P===46||P===58||P===95||fi(P)?(e.consume(P),F):W(P)}function W(P){return P===61?(e.consume(P),U):ht(P)?(o=W,B(P)):Ft(P)?(e.consume(P),W):V(P)}function U(P){return P===null||P===60||P===61||P===62||P===96?n(P):P===34||P===39?(e.consume(P),i=P,H):ht(P)?(o=U,B(P)):Ft(P)?(e.consume(P),U):(e.consume(P),G)}function H(P){return P===i?(e.consume(P),i=void 0,q):P===null?n(P):ht(P)?(o=H,B(P)):(e.consume(P),H)}function G(P){return P===null||P===34||P===39||P===60||P===61||P===96?n(P):P===47||P===62||En(P)?V(P):(e.consume(P),G)}function q(P){return P===47||P===62||En(P)?V(P):n(P)}function I(P){return P===62?(e.consume(P),e.exit("htmlTextData"),e.exit("htmlText"),t):n(P)}function B(P){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),Y}function Y(P){return Ft(P)?Zt(e,ne,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):ne(P)}function ne(P){return e.enter("htmlTextData"),o(P)}}const qS={name:"labelEnd",resolveAll:L7,resolveTo:B7,tokenize:$7},O7={tokenize:F7},P7={tokenize:U7},z7={tokenize:H7};function L7(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",t+=i}}return e.length!==n.length&&hs(e,0,e.length,n),e}function B7(e,t){let n=e.length,r=0,i,s,o,a;for(;n--;)if(i=e[n][1],s){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(o){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(s=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(o=n);const u={type:e[s][1].type==="labelLink"?"link":"image",start:{...e[s][1].start},end:{...e[e.length-1][1].end}},d={type:"label",start:{...e[s][1].start},end:{...e[o][1].end}},f={type:"labelText",start:{...e[s+r+2][1].end},end:{...e[o-2][1].start}};return a=[["enter",u,t],["enter",d,t]],a=js(a,e.slice(s+1,s+r+3)),a=js(a,[["enter",f,t]]),a=js(a,ab(t.parser.constructs.insideSpan.null,e.slice(s+r+4,o-3),t)),a=js(a,[["exit",f,t],e[o-2],e[o-1],["exit",d,t]]),a=js(a,e.slice(o+1)),a=js(a,[["exit",u,t]]),hs(e,s,e.length,a),e}function $7(e,t,n){const r=this;let i=r.events.length,s,o;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){s=r.events[i][1];break}return a;function a(g){return s?s._inactive?m(g):(o=r.parser.defined.includes(so(r.sliceSerialize({start:s.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(g),e.exit("labelMarker"),e.exit("labelEnd"),u):n(g)}function u(g){return g===40?e.attempt(O7,f,o?f:m)(g):g===91?e.attempt(P7,f,o?d:m)(g):o?f(g):m(g)}function d(g){return e.attempt(z7,f,m)(g)}function f(g){return t(g)}function m(g){return s._balanced=!0,n(g)}}function F7(e,t,n){return r;function r(m){return e.enter("resource"),e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),i}function i(m){return En(m)?nh(e,s)(m):s(m)}function s(m){return m===41?f(m):MR(e,o,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(m)}function o(m){return En(m)?nh(e,u)(m):f(m)}function a(m){return n(m)}function u(m){return m===34||m===39||m===40?RR(e,d,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(m):f(m)}function d(m){return En(m)?nh(e,f)(m):f(m)}function f(m){return m===41?(e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),e.exit("resource"),t):n(m)}}function U7(e,t,n){const r=this;return i;function i(a){return DR.call(r,e,s,o,"reference","referenceMarker","referenceString")(a)}function s(a){return r.parser.defined.includes(so(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(a):n(a)}function o(a){return n(a)}}function H7(e,t,n){return r;function r(s){return e.enter("reference"),e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),i}function i(s){return s===93?(e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),e.exit("reference"),t):n(s)}}const V7={name:"labelStartImage",resolveAll:qS.resolveAll,tokenize:q7};function q7(e,t,n){const r=this;return i;function i(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),s}function s(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),o):n(a)}function o(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):t(a)}}const K7={name:"labelStartLink",resolveAll:qS.resolveAll,tokenize:G7};function G7(e,t,n){const r=this;return i;function i(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),s}function s(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}const cx={name:"lineEnding",tokenize:W7};function W7(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),Zt(e,t,"linePrefix")}}const kg={name:"thematicBreak",tokenize:Z7};function Z7(e,t,n){let r=0,i;return s;function s(d){return e.enter("thematicBreak"),o(d)}function o(d){return i=d,a(d)}function a(d){return d===i?(e.enter("thematicBreakSequence"),u(d)):r>=3&&(d===null||ht(d))?(e.exit("thematicBreak"),t(d)):n(d)}function u(d){return d===i?(e.consume(d),r++,u):(e.exit("thematicBreakSequence"),Ft(d)?Zt(e,a,"whitespace")(d):a(d))}}const Vi={continuation:{tokenize:Q7},exit:tU,name:"list",tokenize:X7},Y7={partial:!0,tokenize:nU},J7={partial:!0,tokenize:eU};function X7(e,t,n){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return a;function a(y){const x=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(x==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:lk(y)){if(r.containerState.type||(r.containerState.type=x,e.enter(x,{_container:!0})),x==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(kg,n,d)(y):d(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),u(y)}return n(y)}function u(y){return lk(y)&&++o<10?(e.consume(y),u):(!r.interrupt||o<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),d(y)):n(y)}function d(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(tp,r.interrupt?n:f,e.attempt(Y7,g,m))}function f(y){return r.containerState.initialBlankLine=!0,s++,g(y)}function m(y){return Ft(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),g):n(y)}function g(y){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function Q7(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(tp,i,s);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Zt(e,t,"listItemIndent",r.containerState.size+1)(a)}function s(a){return r.containerState.furtherBlankLines||!Ft(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(J7,t,o)(a))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,Zt(e,e.attempt(Vi,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function eU(e,t,n){const r=this;return Zt(e,i,"listItemIndent",r.containerState.size+1);function i(s){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(s):n(s)}}function tU(e){e.exit(this.containerState.type)}function nU(e,t,n){const r=this;return Zt(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const o=r.events[r.events.length-1];return!Ft(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const GT={name:"setextUnderline",resolveTo:rU,tokenize:iU};function rU(e,t){let n=e.length,r,i,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const o={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",o,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=o,e.push(["exit",o,t]),e}function iU(e,t,n){const r=this;let i;return s;function s(d){let f=r.events.length,m;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){m=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||m)?(e.enter("setextHeadingLine"),i=d,o(d)):n(d)}function o(d){return e.enter("setextHeadingLineSequence"),a(d)}function a(d){return d===i?(e.consume(d),a):(e.exit("setextHeadingLineSequence"),Ft(d)?Zt(e,u,"lineSuffix")(d):u(d))}function u(d){return d===null||ht(d)?(e.exit("setextHeadingLine"),t(d)):n(d)}}const sU={tokenize:oU};function oU(e){const t=this,n=e.attempt(tp,r,e.attempt(this.parser.constructs.flowInitial,i,Zt(e,e.attempt(this.parser.constructs.flow,i,e.attempt(d7,i)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const aU={resolveAll:IR()},lU=jR("string"),uU=jR("text");function jR(e){return{resolveAll:IR(e==="text"?cU:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],s=n.attempt(i,o,a);return o;function o(f){return d(f)?s(f):a(f)}function a(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),u}function u(f){return d(f)?(n.exit("data"),s(f)):(n.consume(f),u)}function d(f){if(f===null)return!0;const m=i[f];let g=-1;if(m)for(;++g<m.length;){const y=m[g];if(!y.previous||y.previous.call(r,r.previous))return!0}return!1}}}function IR(e){return t;function t(n,r){let i=-1,s;for(;++i<=n.length;)s===void 0?n[i]&&n[i][1].type==="data"&&(s=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==s+2&&(n[s][1].end=n[i-1][1].end,n.splice(s+2,i-s-2),i=s+2),s=void 0);return e?e(n,r):n}}function cU(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],i=t.sliceStream(r);let s=i.length,o=-1,a=0,u;for(;s--;){const d=i[s];if(typeof d=="string"){for(o=d.length;d.charCodeAt(o-1)===32;)a++,o--;if(o)break;o=-1}else if(d===-2)u=!0,a++;else if(d!==-1){s++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(a=0),a){const d={type:n===e.length||u||a<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?o:r.start._bufferIndex+o,_index:r.start._index+s,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...d.start},r.start.offset===r.end.offset?Object.assign(r,d):(e.splice(n,0,["enter",d,t],["exit",d,t]),n+=2)}n++}return e}const dU={42:Vi,43:Vi,45:Vi,48:Vi,49:Vi,50:Vi,51:Vi,52:Vi,53:Vi,54:Vi,55:Vi,56:Vi,57:Vi,62:ER},fU={91:g7},hU={[-2]:ux,[-1]:ux,32:ux},pU={35:S7,42:kg,45:[GT,kg],60:E7,61:GT,95:kg,96:qT,126:qT},mU={38:AR,92:TR},gU={[-5]:cx,[-4]:cx,[-3]:cx,33:V7,38:AR,42:uk,60:[KF,j7],91:K7,92:[v7,TR],93:qS,95:uk,96:s7},bU={null:[uk,aU]},yU={null:[42,95]},xU={null:[]},vU=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:yU,contentInitial:fU,disable:xU,document:dU,flow:pU,flowInitial:hU,insideSpan:bU,string:mU,text:gU},Symbol.toStringTag,{value:"Module"}));function kU(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const i={},s=[];let o=[],a=[];const u={attempt:O(j),check:O(D),consume:T,enter:A,exit:M,interrupt:O(D,{interrupt:!0})},d={code:null,containerState:{},defineSkip:v,events:[],now:x,parser:e,previous:null,sliceSerialize:g,sliceStream:y,write:m};let f=t.tokenize.call(d,u);return t.resolveAll&&s.push(t),d;function m(W){return o=js(o,W),S(),o[o.length-1]!==null?[]:(R(t,0),d.events=ab(s,d.events,d),d.events)}function g(W,U){return wU(y(W),U)}function y(W){return SU(o,W)}function x(){const{_bufferIndex:W,_index:U,line:H,column:G,offset:q}=r;return{_bufferIndex:W,_index:U,line:H,column:G,offset:q}}function v(W){i[W.line]=W.column,F()}function S(){let W;for(;r._index<o.length;){const U=o[r._index];if(typeof U=="string")for(W=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===W&&r._bufferIndex<U.length;)w(U.charCodeAt(r._bufferIndex));else w(U)}}function w(W){f=f(W)}function T(W){ht(W)?(r.line++,r.column=1,r.offset+=W===-3?2:1,F()):W!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),d.previous=W}function A(W,U){const H=U||{};return H.type=W,H.start=x(),d.events.push(["enter",H,d]),a.push(H),H}function M(W){const U=a.pop();return U.end=x(),d.events.push(["exit",U,d]),U}function j(W,U){R(W,U.from)}function D(W,U){U.restore()}function O(W,U){return H;function H(G,q,I){let B,Y,ne,P;return Array.isArray(G)?J(G):"tokenize"in G?J([G]):z(G);function z(ie){return se;function se(Ne){const _e=Ne!==null&&ie[Ne],Oe=Ne!==null&&ie.null,ce=[...Array.isArray(_e)?_e:_e?[_e]:[],...Array.isArray(Oe)?Oe:Oe?[Oe]:[]];return J(ce)(Ne)}}function J(ie){return B=ie,Y=0,ie.length===0?I:L(ie[Y])}function L(ie){return se;function se(Ne){return P=V(),ne=ie,ie.partial||(d.currentConstruct=ie),ie.name&&d.parser.constructs.disable.null.includes(ie.name)?oe():ie.tokenize.call(U?Object.assign(Object.create(d),U):d,u,X,oe)(Ne)}}function X(ie){return W(ne,P),q}function oe(ie){return P.restore(),++Y<B.length?L(B[Y]):I}}}function R(W,U){W.resolveAll&&!s.includes(W)&&s.push(W),W.resolve&&hs(d.events,U,d.events.length-U,W.resolve(d.events.slice(U),d)),W.resolveTo&&(d.events=W.resolveTo(d.events,d))}function V(){const W=x(),U=d.previous,H=d.currentConstruct,G=d.events.length,q=Array.from(a);return{from:G,restore:I};function I(){r=W,d.previous=U,d.currentConstruct=H,d.events.length=G,a=q,F()}}function F(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function SU(e,t){const n=t.start._index,r=t.start._bufferIndex,i=t.end._index,s=t.end._bufferIndex;let o;if(n===i)o=[e[n].slice(r,s)];else{if(o=e.slice(n,i),r>-1){const a=o[0];typeof a=="string"?o[0]=a.slice(r):o.shift()}s>0&&o.push(e[i].slice(0,s))}return o}function wU(e,t){let n=-1;const r=[];let i;for(;++n<e.length;){const s=e[n];let o;if(typeof s=="string")o=s;else switch(s){case-5:{o="\r";break}case-4:{o=`
|
|
374
374
|
`;break}case-3:{o=`\r
|
|
375
375
|
`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&i)continue;o=" ";break}default:o=String.fromCharCode(s)}i=s===-2,r.push(o)}return r.join("")}function CU(e){const r={constructs:CR([vU,...(e||{}).extensions||[]]),content:i(BF),defined:[],document:i(FF),flow:i(sU),lazy:{},string:i(lU),text:i(uU)};return r;function i(s){return o;function o(a){return kU(r,s,a)}}}function _U(e){for(;!NR(e););return e}const WT=/[\0\t\n\r]/g;function EU(){let e=1,t="",n=!0,r;return i;function i(s,o,a){const u=[];let d,f,m,g,y;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(o||void 0).decode(s)),m=0,t="",n&&(s.charCodeAt(0)===65279&&m++,n=void 0);m<s.length;){if(WT.lastIndex=m,d=WT.exec(s),g=d&&d.index!==void 0?d.index:s.length,y=s.charCodeAt(g),!d){t=s.slice(m);break}if(y===10&&m===g&&r)u.push(-3),r=void 0;else switch(r&&(u.push(-5),r=void 0),m<g&&(u.push(s.slice(m,g)),e+=g-m),y){case 0:{u.push(65533),e++;break}case 9:{for(f=Math.ceil(e/4)*4,u.push(-2);e++<f;)u.push(-1);break}case 10:{u.push(-4),e=1;break}default:r=!0,e=1}m=g+1}return a&&(r&&u.push(-5),t&&u.push(t),u.push(null)),u}}const TU=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function AU(e){return e.replace(TU,NU)}function NU(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const i=n.charCodeAt(1),s=i===120||i===88;return _R(n.slice(s?2:1),s?16:10)}return VS(n)||e}const OR={}.hasOwnProperty;function MU(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),DU(n)(_U(CU(n).document().write(EU()(e,t,!0))))}function DU(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(st),autolinkProtocol:V,autolinkEmail:V,atxHeading:s(Ye),blockQuote:s(Oe),characterEscape:V,characterReference:V,codeFenced:s(ce),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:s(ce,o),codeText:s(ee,o),codeTextData:V,data:V,codeFlowValue:V,definition:s(Ie),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:s(ze),hardBreakEscape:s(nt),hardBreakTrailing:s(nt),htmlFlow:s(xt,o),htmlFlowData:V,htmlText:s(xt,o),htmlTextData:V,image:s(Xe),label:o,link:s(st),listItem:s(Mn),listItemValue:g,listOrdered:s(Nn,m),listUnordered:s(Nn),paragraph:s(Xn),reference:L,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:s(Ye),strong:s(Et),thematicBreak:s(In)},exit:{atxHeading:u(),atxHeadingSequence:j,autolink:u(),autolinkEmail:_e,autolinkProtocol:Ne,blockQuote:u(),characterEscapeValue:F,characterReferenceMarkerHexadecimal:oe,characterReferenceMarkerNumeric:oe,characterReferenceValue:ie,characterReference:se,codeFenced:u(S),codeFencedFence:v,codeFencedFenceInfo:y,codeFencedFenceMeta:x,codeFlowValue:F,codeIndented:u(w),codeText:u(q),codeTextData:F,data:F,definition:u(),definitionDestinationString:M,definitionLabelString:T,definitionTitleString:A,emphasis:u(),hardBreakEscape:u(U),hardBreakTrailing:u(U),htmlFlow:u(H),htmlFlowData:F,htmlText:u(G),htmlTextData:F,image:u(B),label:ne,labelText:Y,lineEnding:W,link:u(I),listItem:u(),listOrdered:u(),listUnordered:u(),paragraph:u(),referenceString:X,resourceDestinationString:P,resourceTitleString:z,resource:J,setextHeading:u(R),setextHeadingLineSequence:O,setextHeadingText:D,strong:u(),thematicBreak:u()}};PR(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(fe){let pe={type:"root",children:[]};const $e={stack:[pe],tokenStack:[],config:t,enter:a,exit:d,buffer:o,resume:f,data:n},ot=[];let et=-1;for(;++et<fe.length;)if(fe[et][1].type==="listOrdered"||fe[et][1].type==="listUnordered")if(fe[et][0]==="enter")ot.push(et);else{const Pt=ot.pop();et=i(fe,Pt,et)}for(et=-1;++et<fe.length;){const Pt=t[fe[et][0]];OR.call(Pt,fe[et][1].type)&&Pt[fe[et][1].type].call(Object.assign({sliceSerialize:fe[et][2].sliceSerialize},$e),fe[et][1])}if($e.tokenStack.length>0){const Pt=$e.tokenStack[$e.tokenStack.length-1];(Pt[1]||ZT).call($e,void 0,Pt[0])}for(pe.position={start:tl(fe.length>0?fe[0][1].start:{line:1,column:1,offset:0}),end:tl(fe.length>0?fe[fe.length-2][1].end:{line:1,column:1,offset:0})},et=-1;++et<t.transforms.length;)pe=t.transforms[et](pe)||pe;return pe}function i(fe,pe,$e){let ot=pe-1,et=-1,Pt=!1,bn,Yt,yn,vr;for(;++ot<=$e;){const Jt=fe[ot];switch(Jt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Jt[0]==="enter"?et++:et--,vr=void 0;break}case"lineEndingBlank":{Jt[0]==="enter"&&(bn&&!vr&&!et&&!yn&&(yn=ot),vr=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:vr=void 0}if(!et&&Jt[0]==="enter"&&Jt[1].type==="listItemPrefix"||et===-1&&Jt[0]==="exit"&&(Jt[1].type==="listUnordered"||Jt[1].type==="listOrdered")){if(bn){let Qn=ot;for(Yt=void 0;Qn--;){const be=fe[Qn];if(be[1].type==="lineEnding"||be[1].type==="lineEndingBlank"){if(be[0]==="exit")continue;Yt&&(fe[Yt][1].type="lineEndingBlank",Pt=!0),be[1].type="lineEnding",Yt=Qn}else if(!(be[1].type==="linePrefix"||be[1].type==="blockQuotePrefix"||be[1].type==="blockQuotePrefixWhitespace"||be[1].type==="blockQuoteMarker"||be[1].type==="listItemIndent"))break}yn&&(!Yt||yn<Yt)&&(bn._spread=!0),bn.end=Object.assign({},Yt?fe[Yt][1].start:Jt[1].end),fe.splice(Yt||ot,0,["exit",bn,Jt[2]]),ot++,$e++}if(Jt[1].type==="listItemPrefix"){const Qn={type:"listItem",_spread:!1,start:Object.assign({},Jt[1].start),end:void 0};bn=Qn,fe.splice(ot,0,["enter",Qn,Jt[2]]),ot++,$e++,yn=void 0,vr=!0}}}return fe[pe][1]._spread=Pt,$e}function s(fe,pe){return $e;function $e(ot){a.call(this,fe(ot),ot),pe&&pe.call(this,ot)}}function o(){this.stack.push({type:"fragment",children:[]})}function a(fe,pe,$e){this.stack[this.stack.length-1].children.push(fe),this.stack.push(fe),this.tokenStack.push([pe,$e||void 0]),fe.position={start:tl(pe.start),end:void 0}}function u(fe){return pe;function pe($e){fe&&fe.call(this,$e),d.call(this,$e)}}function d(fe,pe){const $e=this.stack.pop(),ot=this.tokenStack.pop();if(ot)ot[0].type!==fe.type&&(pe?pe.call(this,fe,ot[0]):(ot[1]||ZT).call(this,fe,ot[0]));else throw new Error("Cannot close `"+fe.type+"` ("+th({start:fe.start,end:fe.end})+"): it’s not open");$e.position.end=tl(fe.end)}function f(){return HS(this.stack.pop())}function m(){this.data.expectingFirstListItemValue=!0}function g(fe){if(this.data.expectingFirstListItemValue){const pe=this.stack[this.stack.length-2];pe.start=Number.parseInt(this.sliceSerialize(fe),10),this.data.expectingFirstListItemValue=void 0}}function y(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.lang=fe}function x(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.meta=fe}function v(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function S(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.value=fe.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function w(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.value=fe.replace(/(\r?\n|\r)$/g,"")}function T(fe){const pe=this.resume(),$e=this.stack[this.stack.length-1];$e.label=pe,$e.identifier=so(this.sliceSerialize(fe)).toLowerCase()}function A(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.title=fe}function M(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.url=fe}function j(fe){const pe=this.stack[this.stack.length-1];if(!pe.depth){const $e=this.sliceSerialize(fe).length;pe.depth=$e}}function D(){this.data.setextHeadingSlurpLineEnding=!0}function O(fe){const pe=this.stack[this.stack.length-1];pe.depth=this.sliceSerialize(fe).codePointAt(0)===61?1:2}function R(){this.data.setextHeadingSlurpLineEnding=void 0}function V(fe){const $e=this.stack[this.stack.length-1].children;let ot=$e[$e.length-1];(!ot||ot.type!=="text")&&(ot=kt(),ot.position={start:tl(fe.start),end:void 0},$e.push(ot)),this.stack.push(ot)}function F(fe){const pe=this.stack.pop();pe.value+=this.sliceSerialize(fe),pe.position.end=tl(fe.end)}function W(fe){const pe=this.stack[this.stack.length-1];if(this.data.atHardBreak){const $e=pe.children[pe.children.length-1];$e.position.end=tl(fe.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(pe.type)&&(V.call(this,fe),F.call(this,fe))}function U(){this.data.atHardBreak=!0}function H(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.value=fe}function G(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.value=fe}function q(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.value=fe}function I(){const fe=this.stack[this.stack.length-1];if(this.data.inReference){const pe=this.data.referenceType||"shortcut";fe.type+="Reference",fe.referenceType=pe,delete fe.url,delete fe.title}else delete fe.identifier,delete fe.label;this.data.referenceType=void 0}function B(){const fe=this.stack[this.stack.length-1];if(this.data.inReference){const pe=this.data.referenceType||"shortcut";fe.type+="Reference",fe.referenceType=pe,delete fe.url,delete fe.title}else delete fe.identifier,delete fe.label;this.data.referenceType=void 0}function Y(fe){const pe=this.sliceSerialize(fe),$e=this.stack[this.stack.length-2];$e.label=AU(pe),$e.identifier=so(pe).toLowerCase()}function ne(){const fe=this.stack[this.stack.length-1],pe=this.resume(),$e=this.stack[this.stack.length-1];if(this.data.inReference=!0,$e.type==="link"){const ot=fe.children;$e.children=ot}else $e.alt=pe}function P(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.url=fe}function z(){const fe=this.resume(),pe=this.stack[this.stack.length-1];pe.title=fe}function J(){this.data.inReference=void 0}function L(){this.data.referenceType="collapsed"}function X(fe){const pe=this.resume(),$e=this.stack[this.stack.length-1];$e.label=pe,$e.identifier=so(this.sliceSerialize(fe)).toLowerCase(),this.data.referenceType="full"}function oe(fe){this.data.characterReferenceType=fe.type}function ie(fe){const pe=this.sliceSerialize(fe),$e=this.data.characterReferenceType;let ot;$e?(ot=_R(pe,$e==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):ot=VS(pe);const et=this.stack[this.stack.length-1];et.value+=ot}function se(fe){const pe=this.stack.pop();pe.position.end=tl(fe.end)}function Ne(fe){F.call(this,fe);const pe=this.stack[this.stack.length-1];pe.url=this.sliceSerialize(fe)}function _e(fe){F.call(this,fe);const pe=this.stack[this.stack.length-1];pe.url="mailto:"+this.sliceSerialize(fe)}function Oe(){return{type:"blockquote",children:[]}}function ce(){return{type:"code",lang:null,meta:null,value:""}}function ee(){return{type:"inlineCode",value:""}}function Ie(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ze(){return{type:"emphasis",children:[]}}function Ye(){return{type:"heading",depth:0,children:[]}}function nt(){return{type:"break"}}function xt(){return{type:"html",value:""}}function Xe(){return{type:"image",title:null,url:"",alt:null}}function st(){return{type:"link",title:null,url:"",children:[]}}function Nn(fe){return{type:"list",ordered:fe.type==="listOrdered",start:null,spread:fe._spread,children:[]}}function Mn(fe){return{type:"listItem",spread:fe._spread,checked:null,children:[]}}function Xn(){return{type:"paragraph",children:[]}}function Et(){return{type:"strong",children:[]}}function kt(){return{type:"text",value:""}}function In(){return{type:"thematicBreak"}}}function tl(e){return{line:e.line,column:e.column,offset:e.offset}}function PR(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?PR(e,r):RU(e,r)}}function RU(e,t){let n;for(n in t)if(OR.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function ZT(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+th({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+th({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+th({start:t.start,end:t.end})+") is still open")}function jU(e){const t=this;t.parser=n;function n(r){return MU(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function IU(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function OU(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
@@ -731,7 +731,7 @@ ${n.innerHTML}
|
|
|
731
731
|
`);return}},parse:{}}}}}),txe=an.create({name:"heading"}),nxe=txe.extend({addStorage(){return{markdown:{serialize:Fo.nodes.heading,parse:{}}}}}),rxe=an.create({name:"horizontalRule"}),ixe=rxe.extend({addStorage(){return{markdown:{serialize:Fo.nodes.horizontal_rule,parse:{}}}}}),sxe=an.create({name:"image"}),oxe=sxe.extend({addStorage(){return{markdown:{serialize:Fo.nodes.image,parse:{}}}}}),axe=an.create({name:"listItem"}),lxe=axe.extend({addStorage(){return{markdown:{serialize:Fo.nodes.list_item,parse:{}}}}}),uxe=an.create({name:"orderedList"});function cxe(e,t,n){let r=0;for(;n-r>0&&t.child(n-r-1).type.name===e.type.name;r++);return r}const dxe=uxe.extend({addStorage(){return{markdown:{serialize(e,t,n,r){const i=t.attrs.start||1,s=String(i+t.childCount-1).length,o=e.repeat(" ",s+2),u=cxe(t,n,r)%2?") ":". ";e.renderList(t,o,d=>{const f=String(i+d);return e.repeat(" ",s-f.length)+f+u})},parse:{}}}}}),fxe=an.create({name:"paragraph"}),hxe=fxe.extend({addStorage(){return{markdown:{serialize:Fo.nodes.paragraph,parse:{}}}}});function Hv(e){var t,n;return(t=e==null||(n=e.content)===null||n===void 0?void 0:n.content)!==null&&t!==void 0?t:[]}const pxe=an.create({name:"table"}),mxe=pxe.extend({addStorage(){return{markdown:{serialize(e,t,n){if(!gxe(t)){Xb.storage.markdown.serialize.call(this,e,t,n);return}e.inTable=!0,t.forEach((r,i,s)=>{if(e.write("| "),r.forEach((o,a,u)=>{u&&e.write(" | ");const d=o.firstChild;d.textContent.trim()&&e.renderInline(d)}),e.write(" |"),e.ensureNewLine(),!s){const o=Array.from({length:r.childCount}).map(()=>"---").join(" | ");e.write(`| ${o} |`),e.ensureNewLine()}}),e.closeBlock(t),e.inTable=!1},parse:{}}}}});function PD(e){return e.attrs.colspan>1||e.attrs.rowspan>1}function gxe(e){const t=Hv(e),n=t[0],r=t.slice(1);return!(Hv(n).some(i=>i.type.name!=="tableHeader"||PD(i)||i.childCount>1)||r.some(i=>Hv(i).some(s=>s.type.name==="tableHeader"||PD(s)||s.childCount>1)))}const bxe=an.create({name:"taskItem"}),yxe=bxe.extend({addStorage(){return{markdown:{serialize(e,t){const n=t.attrs.checked?"[x]":"[ ]";e.write(`${n} `),e.renderContent(t)},parse:{updateDOM(e){[...e.querySelectorAll(".task-list-item")].forEach(t=>{const n=t.querySelector("input");t.setAttribute("data-type","taskItem"),n&&(t.setAttribute("data-checked",n.checked),n.remove())})}}}}}}),xxe=an.create({name:"taskList"}),vxe=xxe.extend({addStorage(){return{markdown:{serialize:hL.storage.markdown.serialize,parse:{setup(e){e.use(P1e)},updateDOM(e){[...e.querySelectorAll(".contains-task-list")].forEach(t=>{t.setAttribute("data-type","taskList")})}}}}}}),kxe=an.create({name:"text"}),Sxe=kxe.extend({addStorage(){return{markdown:{serialize(e,t){e.text(V1e(t.text))},parse:{}}}}}),wxe=bi.create({name:"bold"}),Cxe=wxe.extend({addStorage(){return{markdown:{serialize:Fo.marks.strong,parse:{}}}}}),_xe=bi.create({name:"code"}),Exe=_xe.extend({addStorage(){return{markdown:{serialize:Fo.marks.code,parse:{}}}}}),Txe=bi.create({name:"italic"}),Axe=Txe.extend({addStorage(){return{markdown:{serialize:Fo.marks.em,parse:{}}}}}),Nxe=bi.create({name:"link"}),Mxe=Nxe.extend({addStorage(){return{markdown:{serialize:Fo.marks.link,parse:{}}}}}),Dxe=bi.create({name:"strike"}),Rxe=Dxe.extend({addStorage(){return{markdown:{serialize:{open:"~~",close:"~~",expelEnclosingWhitespace:!0},parse:{}}}}}),jxe=[Y1e,hL,Q1e,pL,nxe,ixe,Xb,oxe,lxe,dxe,hxe,mxe,yxe,vxe,Sxe,Cxe,Exe,fL,Axe,Mxe,Rxe];function rb(e){var t,n;const r=(t=e.storage)===null||t===void 0?void 0:t.markdown,i=(n=jxe.find(s=>s.name===e.name))===null||n===void 0?void 0:n.storage.markdown;return r||i?{...i,...r}:null}class Ixe{constructor(t){nb(this,"editor",null),this.editor=t}serialize(t){const n=new H1e(this.nodes,this.marks,{hardBreakNodeName:pL.name});return n.renderContent(t),n.out}get nodes(){var t;return{...Object.fromEntries(Object.keys(this.editor.schema.nodes).map(n=>[n,this.serializeNode(Xb)])),...Object.fromEntries((t=this.editor.extensionManager.extensions.filter(n=>n.type==="node"&&this.serializeNode(n)).map(n=>[n.name,this.serializeNode(n)]))!==null&&t!==void 0?t:[])}}get marks(){var t;return{...Object.fromEntries(Object.keys(this.editor.schema.marks).map(n=>[n,this.serializeMark(fL)])),...Object.fromEntries((t=this.editor.extensionManager.extensions.filter(n=>n.type==="mark"&&this.serializeMark(n)).map(n=>[n.name,this.serializeMark(n)]))!==null&&t!==void 0?t:[])}}serializeNode(t){var n;return(n=rb(t))===null||n===void 0||(n=n.serialize)===null||n===void 0?void 0:n.bind({editor:this.editor,options:t.options})}serializeMark(t){var n;const r=(n=rb(t))===null||n===void 0?void 0:n.serialize;return r?{...r,open:typeof r.open=="function"?r.open.bind({editor:this.editor,options:t.options}):r.open,close:typeof r.close=="function"?r.close.bind({editor:this.editor,options:t.options}):r.close}:null}}class Oxe{constructor(t,n){nb(this,"editor",null),nb(this,"md",null);let{html:r,linkify:i,breaks:s}=n;this.editor=t,this.md=this.withPatchedRenderer(Yi({html:r,linkify:i,breaks:s}))}parse(t){let{inline:n}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof t=="string"){this.editor.extensionManager.extensions.forEach(s=>{var o;return(o=rb(s))===null||o===void 0||(o=o.parse)===null||o===void 0||(o=o.setup)===null||o===void 0?void 0:o.call({editor:this.editor,options:s.options},this.md)});const r=this.md.render(t),i=G2(r);return this.editor.extensionManager.extensions.forEach(s=>{var o;return(o=rb(s))===null||o===void 0||(o=o.parse)===null||o===void 0||(o=o.updateDOM)===null||o===void 0?void 0:o.call({editor:this.editor,options:s.options},i)}),this.normalizeDOM(i,{inline:n,content:t}),i.innerHTML}return t}normalizeDOM(t,n){let{inline:r,content:i}=n;return this.normalizeBlocks(t),t.querySelectorAll("*").forEach(s=>{var o;((o=s.nextSibling)===null||o===void 0?void 0:o.nodeType)===Node.TEXT_NODE&&!s.closest("pre")&&(s.nextSibling.textContent=s.nextSibling.textContent.replace(/^\n/,""))}),r&&this.normalizeInline(t,i),t}normalizeBlocks(t){const r=Object.values(this.editor.schema.nodes).filter(i=>i.isBlock).map(i=>{var s;return(s=i.spec.parseDOM)===null||s===void 0?void 0:s.map(o=>o.tag)}).flat().filter(Boolean).join(",");r&&[...t.querySelectorAll(r)].forEach(i=>{i.parentElement.matches("p")&&q1e(i)})}normalizeInline(t,n){var r;if((r=t.firstElementChild)!==null&&r!==void 0&&r.matches("p")){var i,s,o,a;const u=t.firstElementChild,{nextElementSibling:d}=u,f=(i=(s=n.match(/^\s+/))===null||s===void 0?void 0:s[0])!==null&&i!==void 0?i:"",m=d?"":(o=(a=n.match(/\s+$/))===null||a===void 0?void 0:a[0])!==null&&o!==void 0?o:"";if(n.match(/^\n\n/)){u.innerHTML=`${u.innerHTML}${m}`;return}K1e(u),t.innerHTML=`${f}${t.innerHTML}${m}`}}withPatchedRenderer(t){const n=r=>function(){const i=r(...arguments);return i===`
|
|
732
732
|
`?i:i[i.length-1]===`
|
|
733
733
|
`?i.slice(0,-1):i};return t.renderer.rules.hardbreak=n(t.renderer.rules.hardbreak),t.renderer.rules.softbreak=n(t.renderer.rules.softbreak),t.renderer.rules.fence=n(t.renderer.rules.fence),t.renderer.rules.code_block=n(t.renderer.rules.code_block),t.renderer.renderToken=n(t.renderer.renderToken.bind(t.renderer)),t}}const Pxe=jn.create({name:"markdownClipboard",addOptions(){return{transformPastedText:!1,transformCopiedText:!1}},addProseMirrorPlugins(){return[new Jn({key:new Rr("markdownClipboard"),props:{clipboardTextParser:(e,t,n)=>{if(n||!this.options.transformPastedText)return null;const r=this.editor.storage.markdown.parser.parse(e,{inline:!0});return ba.fromSchema(this.editor.schema).parseSlice(G2(r),{preserveWhitespace:!0,context:t})},clipboardTextSerializer:e=>this.options.transformCopiedText?this.editor.storage.markdown.serializer.serialize(e.content):null}})]}}),zxe=jn.create({name:"markdown",priority:50,addOptions(){return{html:!0,tightLists:!0,tightListClass:"tight",bulletListMarker:"-",linkify:!1,breaks:!1,transformPastedText:!1,transformCopiedText:!1}},addCommands(){const e=KP.Commands.config.addCommands();return{setContent:(t,n)=>r=>e.setContent(r.editor.storage.markdown.parser.parse(t),n)(r),insertContentAt:(t,n,r)=>i=>e.insertContentAt(t,i.editor.storage.markdown.parser.parse(n,{inline:!0}),r)(i)}},onBeforeCreate(){this.editor.storage.markdown={options:{...this.options},parser:new Oxe(this.editor,this.options),serializer:new Ixe(this.editor),getMarkdown:()=>this.editor.storage.markdown.serializer.serialize(this.editor.state.doc)},this.editor.options.initialContent=this.editor.options.content,this.editor.options.content=this.editor.storage.markdown.parser.parse(this.editor.options.content)},onCreate(){this.editor.options.content=this.editor.options.initialContent,delete this.editor.options.initialContent},addStorage(){return{}},addExtensions(){return[B1e.configure({tight:this.options.tightLists,tightClass:this.options.tightListClass}),Pxe.configure({transformPastedText:this.options.transformPastedText,transformCopiedText:this.options.transformCopiedText})]}}),mL=Sz.extend({addAttributes(){var e;return{...(e=this.parent)==null?void 0:e.call(this),anchor:{default:null},uuid:{default:null},linktype:{default:null}}}}).configure({openOnClick:!1}),gL=bi.create({name:"textStyle",addAttributes(){return{color:{default:null}}},parseHTML(){return[{tag:"span",getAttrs:e=>{var t;return(t=e.style)!=null&&t.color?{}:!1}}]},renderHTML({HTMLAttributes:e}){return["span",Gn(e),0]}}),bL=jn.create({name:"avocadoBlockKeys",addGlobalAttributes(){return[{types:["paragraph","heading","bulletList","orderedList","listItem","blockquote","codeBlock"],attributes:{_key:{default:null,rendered:!1}}}]}});function Lxe(e){if(e&&typeof e=="object"){const t=e;for(const n of["_type","nodeType","type"])if(typeof t[n]=="string")return t[n]}return"Embedded content"}const Bxe=an.create({name:"avocadoUnknownBlock",group:"block",atom:!0,selectable:!0,draggable:!0,addAttributes(){return{data:{default:null,rendered:!1},_key:{default:null,rendered:!1}}},parseHTML(){return[{tag:"div[data-avocado-unknown-block]"}]},renderHTML({node:e,HTMLAttributes:t}){return["div",Gn(t,{"data-avocado-unknown-block":"",class:"rte-unknown-block"}),Lxe(e.attrs.data)]}}),yL=bi.create({name:"avocadoUnknownHtml",addAttributes(){return{tag:{default:"span",rendered:!1},attributes:{default:null,rendered:!1}}},parseHTML(){return[{tag:"span[data-avocado-unknown-html]"}]},renderHTML({HTMLAttributes:e}){return["span",Gn(e,{"data-avocado-unknown-html":"",class:"rte-unknown-html"}),0]}}),xL=an.create({name:"avocadoUnknownInline",group:"inline",inline:!0,atom:!0,selectable:!0,addAttributes(){return{data:{default:null,rendered:!1}}},parseHTML(){return[{tag:"span[data-avocado-unknown-inline]"}]},renderHTML({HTMLAttributes:e}){return["span",Gn(e,{"data-avocado-unknown-inline":"",class:"rte-unknown-inline"})]}}),vL=jn.create({name:"avocadoHtmlAttributes",addGlobalAttributes(){return[{types:["paragraph","heading","bulletList","orderedList","listItem","blockquote","codeBlock","horizontalRule","bold","italic","strike","code"],attributes:{htmlAttributes:{default:null,rendered:!1}}}]}}),$xe=[L2.configure({heading:{levels:[1,2,3,4,5,6]},link:!1}),mL,gL,bL,vL,Bxe,xL,yL],Fxe=an.create({name:"doc",topNode:!0,content:"paragraph"}),Uxe=[L2.configure({document:!1,heading:!1,bulletList:!1,orderedList:!1,listItem:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,link:!1}),Fxe,mL,gL,bL,vL,xL,yL],Hxe=new Set(["bold","italic","strike","code","underline","link","textStyle","avocadoUnknownHtml"]);function Vxe(e){return bi.create({name:e,parseHTML(){return[{tag:`span[data-decorator="${e}"]`}]},renderHTML(){return["span",{"data-decorator":e,class:"rte-decorator"},0]}})}function qxe(e=[],t={}){const n=new Set(Hxe),r=[];for(const s of e){const o=s==null?void 0:s.name;typeof o!="string"||o.length===0||n.has(o)||(n.add(o),r.push(Vxe(o)))}const i=t.inline?Uxe:$xe;return r.length>0?[...i,...r]:i}const zD=340,Kxe=340,Gxe=Rre().map(e=>`.${e}`).join(",");function Wxe(e){return e==null||!Number.isFinite(e)||e<=0?"":e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Zxe(e){var i;const t=(i=e.contentType)==null?void 0:i.split("/").pop(),n=e.path.split(".").pop(),r=t&&t!=="octet-stream"?t:n;return r&&r.length<=5?r.toUpperCase():""}function Yxe({anchorRef:e,initialValue:t,canUpload:n,onCommit:r,onCancel:i}){const{t:s}=An(),o=de(I=>I.availablePages),a=de(I=>I.availableFiles),u=de(I=>I.filesStatus),d=de(I=>I.setAvailableFiles),f=de(I=>I.setFilesStatus);_.useEffect(()=>{Yw()},[]);const[m,g]=_.useState(null);_.useLayoutEffect(()=>{const I=()=>{var z;const B=(z=e.current)==null?void 0:z.getBoundingClientRect();if(!B)return;const ne=window.innerHeight-B.bottom>=zD?B.bottom+6:Math.max(8,B.top-zD-6),P=Math.min(Math.max(8,B.left),Math.max(8,window.innerWidth-Kxe-8));g({top:ne,left:P})};return I(),window.addEventListener("resize",I),window.addEventListener("scroll",I,!0),()=>{window.removeEventListener("resize",I),window.removeEventListener("scroll",I,!0)}},[e]);const[y,x]=_.useState(t),[v,S]=_.useState(!1),[w,T]=_.useState(null),[A,M]=_.useState(!1),j=_.useRef(null),D=_.useRef(null),O=_.useRef(null);_.useEffect(()=>{var I,B;(I=j.current)==null||I.focus(),(B=j.current)==null||B.select()},[]),_.useEffect(()=>{const I=B=>{var ne,P;const Y=B.target;(ne=O.current)!=null&&ne.contains(Y)||(P=e.current)!=null&&P.contains(Y)||i()};return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[e,i]);const R=y.trim(),V=jw(R,o,a),{pages:F,files:W}=_.useMemo(()=>KI(R,{pages:o,files:a,limit:6,browseFiles:!0}),[o,a,R]),U=V.kind==="file"&&u==="loading",H=V.kind==="file"&&u==="unavailable",G=I=>r(I),q=async I=>{S(!0),T(null);try{const B=await bue(I),Y={path:B.url??"",...B.name?{name:B.name}:{},...B.contentType?{contentType:B.contentType}:{},...B.size!=null?{size:B.size}:{}};if(Y.path){d([...(a??[]).filter(ne=>ne.path!==Y.path),Y]),f("ready"),G(Y.path);return}T(s("linkPicker.uploadNoUrl"))}catch(B){T(B instanceof Error?B.message:String(B))}finally{S(!1)}};return m?Md.createPortal(p.jsxs("div",{ref:O,className:`link-picker${A?" is-dropping":""}`,role:"dialog","aria-label":s("linkPicker.title"),style:{top:m.top,left:m.left},onDragOver:n?I=>{I.dataTransfer.types.includes("Files")&&(I.preventDefault(),I.dataTransfer.dropEffect="copy",M(!0))}:void 0,onDragLeave:n?I=>{I.currentTarget.contains(I.relatedTarget)||M(!1)}:void 0,onDrop:n?I=>{var Y;I.preventDefault(),M(!1);const B=(Y=I.dataTransfer.files)==null?void 0:Y[0];B&&q(B)}:void 0,children:[A?p.jsxs("div",{className:"link-picker-drop","aria-hidden":"true",children:[p.jsx(jg,{size:16})," ",s("linkPicker.dropHere")]}):null,p.jsxs("div",{className:"link-picker-head",children:[p.jsx("span",{className:"link-picker-title",children:s("linkPicker.title")}),p.jsx("button",{type:"button",className:"link-picker-close",onClick:i,"aria-label":s("common.cancel"),children:p.jsx(Ls,{size:13,"aria-hidden":"true"})})]}),p.jsx("input",{ref:j,type:"text",className:"link-picker-input",placeholder:s("linkPicker.placeholder"),value:y,title:y,spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",onChange:I=>x(I.target.value),onKeyDown:I=>{I.key==="Escape"&&(I.stopPropagation(),i()),I.key==="Enter"&&(I.preventDefault(),G(R))}}),R!==""&&V.missing===!0?p.jsxs("div",{className:"link-picker-warn",children:[p.jsx(PS,{size:11,"aria-hidden":"true"})," ",s(V.kind==="file"?"linkPicker.noFile":"linkPicker.noPage")]}):null,H?p.jsx("div",{className:"link-picker-note",children:s("linkPicker.filesUnavailable",{orchestrator:Le})}):null,p.jsxs("div",{className:"link-picker-list",role:"listbox",children:[F.map(I=>{var B;return p.jsxs("button",{type:"button",role:"option","aria-selected":((B=V.page)==null?void 0:B.slug)===I.slug,className:"link-picker-option",onMouseDown:Y=>Y.preventDefault(),onClick:()=>G(I.path??I.slug),children:[p.jsx(ib,{size:12,"aria-hidden":"true"}),p.jsx("span",{className:"link-picker-option-title",children:I.title||I.slug}),p.jsx("span",{className:"link-picker-option-path",title:I.path??I.slug,children:I.path??I.slug})]},`p:${I.slug}`)}),W.map(I=>{var B;return p.jsxs("button",{type:"button",role:"option","aria-selected":((B=V.file)==null?void 0:B.path)===I.path,className:"link-picker-option",onMouseDown:Y=>Y.preventDefault(),title:I.path,onClick:()=>G(I.path),children:[p.jsx(sb,{size:12,"aria-hidden":"true"}),p.jsx("span",{className:"link-picker-option-title",children:I.name??I.path.split("/").pop()}),p.jsx("span",{className:"link-picker-option-meta",children:[Zxe(I),Wxe(I.size)].filter(Boolean).join(" · ")})]},`f:${I.path}`)}),U&&W.length===0?p.jsxs("div",{className:"link-picker-empty",children:[p.jsx(Jv,{size:12,className:"link-picker-spin","aria-hidden":"true"})," ",s("linkPicker.loadingFiles")]}):null,!U&&F.length===0&&W.length===0?p.jsx("div",{className:"link-picker-empty",children:V.kind==="external"?p.jsxs(p.Fragment,{children:[p.jsx(Rg,{size:12,"aria-hidden":"true"})," ",s("linkPicker.externalHint")]}):V.kind==="email"?s("linkPicker.emailHint"):V.kind==="phone"?s("linkPicker.phoneHint"):V.kind==="anchor"?s("linkPicker.anchorHint"):s("linkPicker.noMatches")}):null]}),w?p.jsx("div",{className:"link-picker-warn",children:w}):null,p.jsxs("div",{className:"link-picker-foot",children:[n?p.jsxs(p.Fragment,{children:[p.jsx("input",{ref:D,type:"file",hidden:!0,accept:Gxe,onChange:I=>{var Y;const B=(Y=I.target.files)==null?void 0:Y[0];I.target.value="",B&&q(B)}}),p.jsxs("button",{type:"button",className:"link-picker-upload",disabled:v,title:s("linkPicker.uploadHint"),onClick:()=>{var I;return(I=D.current)==null?void 0:I.click()},children:[v?p.jsx(Jv,{size:12,className:"link-picker-spin","aria-hidden":"true"}):p.jsx(jg,{size:12,"aria-hidden":"true"})," ",s(v?"linkPicker.uploading":"linkPicker.upload")]})]}):p.jsx("span",{}),p.jsxs("div",{className:"link-picker-actions",children:[t!==""?p.jsx("button",{type:"button",className:"link-picker-remove",onClick:()=>G(""),children:s("linkPicker.remove")}):null,p.jsx("button",{type:"button",className:"link-picker-apply",onClick:()=>G(R),children:s("linkPicker.apply")})]})]})]}),document.body):null}const fa=14,Jxe=[L2.configure({heading:{levels:[2,3,4,5,6]},link:!1,underline:!1}),Sz.configure({openOnClick:!1}),zxe.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})];function Xxe(e){var n,r;const t=(r=(n=e.storage.markdown)==null?void 0:n.getMarkdown)==null?void 0:r.call(n);return typeof t=="string"?t:""}function So({active:e,onClick:t,title:n,className:r,children:i}){return p.jsx("button",{type:"button",className:`rte-toolbar-btn${e?" is-active":""}${r?` ${r}`:""}`,onClick:t,title:n,onMouseDown:s=>s.preventDefault(),children:i})}function kL({editor:e,trailing:t,decorators:n,inline:r}){const[i,s]=_.useState(!1),o=_.useRef(null),a=de(f=>f.canUploadFiles),u=e.getAttributes("link").href??"",d=_.useCallback(f=>{if(s(!1),f===""){e.chain().focus().extendMarkRange("link").unsetLink().run();return}e.chain().focus().extendMarkRange("link").setLink({href:f}).run()},[e]);return p.jsxs("div",{className:`rte-toolbar${t?" rte-toolbar--with-trailing":""}`,children:[p.jsx(So,{active:e.isActive("bold"),onClick:()=>e.chain().focus().toggleBold().run(),title:"Bold",children:p.jsx(AB,{size:fa})}),p.jsx(So,{active:e.isActive("italic"),onClick:()=>e.chain().focus().toggleItalic().run(),title:"Italic",children:p.jsx(g9,{size:fa})}),p.jsx(So,{active:e.isActive("strike"),onClick:()=>e.chain().focus().toggleStrike().run(),title:"Strikethrough",children:p.jsx(X9,{size:fa})}),!r&&p.jsx("span",{className:"rte-toolbar-sep"}),!r&&p.jsx(So,{active:e.isActive("heading",{level:2}),onClick:()=>e.chain().focus().toggleHeading({level:2}).run(),title:"Heading 2",children:p.jsx(i9,{size:fa})}),!r&&p.jsx(So,{active:e.isActive("heading",{level:3}),onClick:()=>e.chain().focus().toggleHeading({level:3}).run(),title:"Heading 3",children:p.jsx(l9,{size:fa})}),!r&&p.jsx(So,{active:e.isActive("heading",{level:4}),onClick:()=>e.chain().focus().toggleHeading({level:4}).run(),title:"Heading 4",children:p.jsx(o9,{size:fa})}),!r&&p.jsx("span",{className:"rte-toolbar-sep"}),!r&&p.jsx(So,{active:e.isActive("bulletList"),onClick:()=>e.chain().focus().toggleBulletList().run(),title:"Bullet list",children:p.jsx(k9,{size:fa})}),!r&&p.jsx(So,{active:e.isActive("orderedList"),onClick:()=>e.chain().focus().toggleOrderedList().run(),title:"Ordered list",children:p.jsx(x9,{size:fa})}),p.jsx("span",{className:"rte-toolbar-sep"}),p.jsxs("span",{className:"rte-link-anchor",ref:o,children:[p.jsx(So,{active:e.isActive("link"),onClick:()=>s(f=>!f),title:"Link",children:p.jsx(JD,{size:fa})}),i?p.jsx(Yxe,{anchorRef:o,initialValue:u,canUpload:a,onCommit:d,onCancel:()=>s(!1)}):null]}),(n??[]).map(f=>p.jsx(So,{className:"rte-toolbar-btn--tag",active:e.isActive(f.name),onClick:()=>e.chain().focus().toggleMark(f.name).run(),title:f.title??f.name,children:f.title??f.name},f.name)),t?p.jsx("div",{className:"rte-toolbar-trailing",children:t}):null]})}function Qxe({value:e,onChange:t,onFocus:n,onBlur:r,trailing:i}){const s=_.useRef(!1),o=_.useRef(e),a=lz({extensions:Jxe,content:H3(e),onUpdate:({editor:u})=>{if(s.current)return;const d=Xxe(u);o.current=d,t(d)},onFocus:()=>n==null?void 0:n(),onBlur:()=>r==null?void 0:r()});return _.useEffect(()=>{if(!a||a.isDestroyed||e===o.current)return;o.current=e,s.current=!0;const{from:u,to:d}=a.state.selection;a.commands.setContent(H3(e));const f=a.state.doc.content.size,m=Math.min(u,f),g=Math.min(d,f);try{a.commands.setTextSelection({from:m,to:g})}catch{}s.current=!1},[e,a]),a?p.jsxs("div",{className:"rte-wrap",children:[p.jsx(kL,{editor:a,trailing:i}),p.jsx(_2,{editor:a,className:"rte-content"})]}):null}function SL({value:e,onChange:t,onFocus:n,onBlur:r,decorators:i,inline:s}){const o=_.useRef(!1),a=_.useRef(JSON.stringify(e)),u=`${s?"inline":"block"}:${(i??[]).map(m=>m.name).join(",")}`,d=_.useMemo(()=>qxe(i??[],{inline:s}),[u]),f=lz({extensions:d,content:e,onUpdate:({editor:m})=>{if(o.current)return;const g=m.getJSON();a.current=JSON.stringify(g),t(g)},onFocus:()=>n==null?void 0:n(),onBlur:()=>r==null?void 0:r()},[u]);return _.useEffect(()=>{if(!f||f.isDestroyed)return;const m=JSON.stringify(e);if(m===a.current)return;a.current=m,o.current=!0;const{from:g,to:y}=f.state.selection;f.commands.setContent(e);const x=f.state.doc.content.size;try{f.commands.setTextSelection({from:Math.min(g,x),to:Math.min(y,x)})}catch{}o.current=!1},[e,f]),f?p.jsxs("div",{className:`rte-wrap${s?" rte-wrap--inline":""}`,children:[p.jsx(kL,{editor:f,decorators:i,inline:s}),p.jsx(_2,{editor:f,className:"rte-content"})]}):null}const LD=new Set(["text","richtext","imageAlt"]),eve=()=>{};function W2(e,t){const n=_.useRef(null),r=_.useRef(void 0);return _.useEffect(()=>{if(!e||!t||t!==e){r.current=t;return}if(r.current===t)return;const i=r.current;r.current=t;const s=n.current;if(!s)return;s.scrollIntoView({behavior:"smooth",block:"nearest"}),s.classList.add("property-field--flash");const o=setTimeout(()=>s.classList.remove("property-field--flash"),1800);return()=>{clearTimeout(o),s.classList.remove("property-field--flash"),r.current=i}},[e,t]),n}const tve=_n.memo(function({style:t,blockId:n,blockType:r,props:i,status:s,failure:o,failedSlug:a,failedOrigin:u,onRetry:d,onFieldChange:f,onImageClick:m,onAiAssist:g,slug:y,pageName:x,navLabel:v,onNavLabelChange:S,pageMeta:w,onPageMetaChange:T,onDeselectBlock:A,onPageAiAssist:M,onAiQuickAction:j,onPageAiQuickAction:D,aiLoading:O,aiLoadingPath:R,onAddListItem:V,onRemoveListItem:F,highlightPath:W,manifestByType:U,siteOrigin:H,onClose:G}){const q=de(ee=>ee.activeBlockId),I=de(ee=>ee.activeBlockType),B=de(ee=>ee.slug),Y=de(ee=>ee.isLoading),ne=de(ee=>ee.activeEditablePath),P=n??q,z=r??I,J=y??B,L=O??Y,X=R??ne,oe=W??ne,{t:ie}=An(),se=G?p.jsx("button",{type:"button",className:"property-panel-context-close",onClick:G,"aria-label":ie("propertyPanel.close"),title:ie("propertyPanel.close"),children:p.jsx(Ls,{size:16})}):null,Ne=p.jsxs("div",{className:"property-panel-context property-panel-context--page",children:[p.jsxs("svg",{className:"property-panel-context-icon",viewBox:"0 0 16 16",width:"16",height:"16",fill:"none","aria-hidden":"true",children:[p.jsx("path",{d:"M3.5 1.5h6L13 5v9a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-12a.5.5 0 0 1 .5-.5Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),p.jsx("path",{d:"M9.5 1.5V5h3.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})]}),p.jsx("div",{className:"property-panel-context-text",children:p.jsx("span",{className:"property-panel-context-breadcrumb",children:p.jsx("span",{className:"property-panel-context-breadcrumb-current",children:ie("propertyPanel.page")})})}),se]});if(!P||!z)return p.jsxs("div",{className:"property-panel",style:t,children:[Ne,p.jsxs("div",{className:"property-panel-fields",children:[J&&J!=="/"&&S?p.jsx(hve,{slug:J,navLabel:v??"",onNavLabelChange:S,onAiAssist:M,onAiQuickAction:D,aiLoading:L,fieldShimmer:L===!0&&X==="Nav label"}):null,J&&T?p.jsx(pve,{pageMeta:w??{},onPageMetaChange:T,onAiAssist:M,onAiQuickAction:D,aiLoading:L,aiLoadingPath:X}):null]})]});const _e=vu(),Oe=U==null?void 0:U.get(z),ce=Oe?Ere(Oe,_e[z]):_e[z];return ce?p.jsxs("div",{className:"property-panel",style:t,children:[p.jsxs("div",{className:"property-panel-context property-panel-context--component",children:[p.jsxs("svg",{className:"property-panel-context-icon",viewBox:"0 0 16 16",width:"16",height:"16",fill:"none","aria-hidden":"true",children:[p.jsx("rect",{x:"1.5",y:"1.5",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),p.jsx("rect",{x:"9.5",y:"1.5",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),p.jsx("rect",{x:"1.5",y:"9.5",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2"}),p.jsx("rect",{x:"9.5",y:"9.5",width:"5",height:"5",rx:"1",stroke:"currentColor",strokeWidth:"1.2"})]}),p.jsx("div",{className:"property-panel-context-text",children:p.jsxs("span",{className:"property-panel-context-breadcrumb",children:[p.jsx("button",{type:"button",className:"property-panel-context-breadcrumb-link",onClick:A,children:ie("propertyPanel.page")}),p.jsx("span",{className:"property-panel-context-breadcrumb-sep","aria-hidden":"true",children:"›"}),p.jsx("span",{className:"property-panel-context-breadcrumb-current",children:ce.displayName})]})}),se]}),(s==="loading"||s==="idle"&&!i)&&!i?p.jsx("div",{className:"property-panel-empty",children:ie("propertyPanel.loading")}):s==="error"?p.jsx(nve,{failure:o??"unreachable",slug:a??J,origin:u,onRetry:d}):i?p.jsxs("div",{className:"property-panel-fields",children:[Object.keys(ce.fields).length>0?p.jsx(Qb,{id:`block:${z}:fields`,title:ie("propertyPanel.content"),count:Object.keys(ce.fields).length,children:wL(Object.entries(ce.fields),i,"",z,f,m,g,j,L,X,oe,H)}):null,ce.listFields?Object.entries(ce.listFields).map(([ee,Ie])=>{const ze=Array.isArray(i[ee])?i[ee]:[];return p.jsx(uve,{listKey:ee,listField:Ie,items:ze,blockType:z,onFieldChange:f,onImageClick:m,onAiAssist:g,onAiQuickAction:j,aiLoading:L,aiLoadingPath:X,highlightPath:oe,onAddItem:V?()=>V(ee):void 0,onRemoveItem:F?Ye=>F(ee,Ye):void 0,siteOrigin:H},ee)}):null]}):null]}):p.jsxs("div",{className:"property-panel",style:t,children:[Ne,p.jsxs("div",{className:"property-panel-empty",children:[ie("propertyPanel.unknownBlock"),": ",z]})]})});function Qb({id:e,title:t,count:n,headerExtra:r,children:i}){const[s,o]=Oj(e);return p.jsxs("div",{className:`property-section${s?" is-collapsed":""}`,children:[p.jsxs("div",{className:"property-section-header",children:[p.jsxs("button",{type:"button",className:"property-section-toggle",onClick:o,"aria-expanded":!s,children:[p.jsx("span",{className:"property-section-chevron","aria-hidden":"true"}),p.jsx("span",{className:"property-section-title",children:t}),typeof n=="number"?p.jsx("span",{className:"property-section-count",children:n}):null]}),r]}),s?null:p.jsx("div",{className:"property-section-body",children:i})]})}function nve({failure:e,slug:t,origin:n,onRetry:r}){const{t:i}=An(),s=i(e==="blockMissing"?"propertyPanel.loadFailedMissing":e==="pageMissing"?"propertyPanel.loadFailedNoPage":"propertyPanel.loadFailed"),o=i(e==="blockMissing"?"propertyPanel.loadFailedMissingHint":e==="pageMissing"?"propertyPanel.loadFailedNoPageHint":"propertyPanel.loadFailedUnreachableHint");return p.jsxs("div",{className:"property-panel-empty",children:[s,p.jsx("div",{className:"sites-form-hint",style:{marginTop:8},children:o}),e!=="unreachable"||n?p.jsxs("div",{className:"sites-form-hint",style:{marginTop:8},children:[p.jsx("code",{children:t}),n?p.jsxs(p.Fragment,{children:[" · ",p.jsx("code",{children:n})]}):null]}):null,r?p.jsx("button",{type:"button",className:"property-panel-retry",onClick:r,style:{marginTop:12},children:i("propertyPanel.retry")}):null]})}function BD(e,t){return!!(e==="imageUrl"&&t==="imageAlt"||e==="src"&&t==="alt"||e.endsWith(".src")&&t===e.replace(/\.src$/,".alt"))}function $D(e){try{const n=new URL(e,"http://localhost").pathname.split("/").pop()||"";return n.length>30?n.slice(0,27)+"...":n||"(image)"}catch{return e.length>30?e.slice(0,27)+"...":e||"(empty)"}}function wL(e,t,n,r,i,s,o,a,u,d,f,m){const g=new Set,y=new Set,x=new Set(e.map(([S])=>S));for(let S=0;S<e.length;S++){const[w,T]=e[S];if(T.kind==="image")for(const[A,M]of e)M.kind==="imageAlt"&&BD(w,A)&&g.add(A);if(T.kind==="link"||T.kind==="file"){const A=F3(w);x.has(A)&&y.add(A)}}const v=[];for(const[S,w]of e)if(!w.internal&&!g.has(S)&&!y.has(S))if(w.kind==="stringList"){const T=t[S];v.push(p.jsx(ave,{label:w.label??S,values:Array.isArray(T)?T.map(A=>A==null?"":String(A)):[],basePath:n+S,onFieldChange:i},S))}else if(w.kind==="imageList"){const T=t[S];v.push(p.jsx(lve,{label:w.label??S,rows:Array.isArray(T)?T:[],basePath:n+S,blockType:r,siteOrigin:m,onFieldChange:i,onImageClick:s},S))}else if(w.kind==="image"){const T=e.find(([j,D])=>D.kind==="imageAlt"&&BD(S,j)),A=T==null?void 0:T[0],M=A?t[A]==null?"":String(t[A]):void 0;v.push(p.jsx(_L,{label:w.label??S,blockType:r,imageUrl:t[S]==null?"":String(t[S]),altText:M,onChangeClick:()=>s==null?void 0:s(n+S,t[S]==null?"":String(t[S])),onRemove:()=>{i(n+S,""),A&&i(n+A,"")},onAltCommit:A?j=>i(n+A,j):void 0,onAltAiAssist:A&&o?()=>o(n+A,"Alt text","imageAlt",M??""):void 0,onAltAiQuickAction:A&&a?j=>a(n+A,"Alt text","imageAlt",M??"",j):void 0,fieldPath:n+S,...A?{altFieldPath:n+A}:{},highlightPath:f,aiLoading:u,fieldShimmer:u===!0&&A!=null&&d===n+A,siteOrigin:m},S))}else if(w.kind==="link"||w.kind==="file"){const T=F3(S),A=y.has(T);v.push(p.jsx(sve,{label:w.label??S,required:w.required,value:t[S]==null?"":String(t[S]),newTab:A?t[T]===!0:void 0,onCommit:M=>i(n+S,M),onNewTabCommit:A?M=>i(n+T,M):void 0,fieldPath:n+S,highlightPath:f,siteOrigin:m},S))}else v.push(p.jsx(fve,{fieldKey:S,field:w,value:t[S],blockType:r,onCommit:T=>i(n+S,T),onAiAssist:LD.has(w.kind)&&o?()=>o(n+S,w.label??S,w.kind,t[S]==null?"":String(t[S])):void 0,onAiQuickAction:LD.has(w.kind)&&a?T=>a(n+S,w.label??S,w.kind,t[S]==null?"":String(t[S]),T):void 0,aiLoading:u,fieldShimmer:u===!0&&d===n+S,highlightPath:f,fieldPath:n+S},S));return v}const rve={empty:JD,page:ib,file:sb,external:Rg,email:C9,phone:j9,anchor:n9},ive=8;function Vv(e){var n;const t=(n=e.title)==null?void 0:n.trim();return t&&t.length>0?t:e.slug}function sve({label:e,required:t,value:n,newTab:r,onCommit:i,onNewTabCommit:s,fieldPath:o,highlightPath:a,siteOrigin:u}){const{t:d}=An(),f=de(B=>B.availablePages),m=de(B=>B.availableFiles),g=a!=null&&a===o,y=W2(g?a:void 0,a),[x,v]=_.useState(!1),[S,w]=_.useState(n),[T,A]=_.useState(!1),M=_.useRef(null),{debouncedCommit:j,flushCommit:D}=Pd(i,400),O=T?S:n,R=jw(n,f,m),V=rve[R.kind],F=R.kind==="external"?$re(n,u):void 0,{pages:W,files:U}=_.useMemo(()=>KI(T?S:"",{pages:f,files:m,limit:ive}),[f,m,S,T]),H=_.useMemo(()=>T?void 0:Bre(n,f),[n,f,T]);_.useEffect(()=>{if(!x)return;const B=Y=>{var ne;(ne=M.current)!=null&&ne.contains(Y.target)||v(!1)};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[x]);const G=B=>{const Y=B.path??B.slug;w(Y),D(),i(Y),v(!1)},q=B=>{w(B.path),D(),i(B.path),v(!1)},I=s!=null&&R.kind==="external";return p.jsxs("div",{className:`property-field${g?" is-targeted":""}`,ref:y,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[e,t&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsxs("div",{className:"property-field-link",ref:M,children:[p.jsxs("div",{className:"property-field-link-input-wrap",children:[p.jsx(V,{size:13,className:"property-field-link-icon","aria-hidden":"true"}),p.jsx("input",{type:"text",className:"property-field-input property-field-link-input",placeholder:d("propertyPanel.linkPlaceholder"),value:O,onFocus:()=>{Yw(),w(n),A(!0),v(!0)},onChange:B=>{w(B.target.value),v(!0),j(B.target.value)},onBlur:()=>{A(!1),D()},onKeyDown:B=>{if(B.key==="Escape"&&x&&(B.stopPropagation(),v(!1)),B.key==="Enter"&&x){const Y=W[0];Y&&S.trim()!==""&&S!==n?(B.preventDefault(),G(Y)):v(!1)}}}),p.jsx("button",{type:"button",className:"property-field-link-toggle","aria-label":d("propertyPanel.linkBrowsePages"),"aria-expanded":x,onClick:()=>v(B=>!B),children:p.jsx(zl,{size:13,"aria-hidden":"true"})})]}),!T&&R.kind==="page"&&R.page?p.jsx("div",{className:"property-field-link-note",children:Vv(R.page)}):null,!T&&R.kind==="file"&&R.file?p.jsx("div",{className:"property-field-link-note",children:R.file.name??$D(R.file.path)}):null,R.missing===!0?p.jsxs("div",{className:"property-field-link-note property-field-link-note--warn",children:[p.jsx(PS,{size:11,"aria-hidden":"true"})," ",d(R.kind==="file"?"propertyPanel.linkNoFile":"propertyPanel.linkNoPage")]}):null,H?p.jsx("button",{type:"button",className:"property-field-link-convert",onClick:()=>{const B=H.path??H.slug;w(B),i(B)},children:d("propertyPanel.linkDidYouMean",{page:Vv(H)})}):null,F?p.jsx("button",{type:"button",className:"property-field-link-convert",onClick:()=>{w(F),i(F)},children:d("propertyPanel.linkUseInternal",{path:F})}):null,I?p.jsxs("label",{className:"property-field-link-newtab",children:[p.jsx("input",{type:"checkbox",checked:r===!0,onChange:B=>s==null?void 0:s(B.target.checked)}),p.jsx("span",{children:d("propertyPanel.linkNewTab")})]}):null,x?p.jsxs("div",{className:"property-field-link-menu",role:"listbox",children:[W.map(B=>{var Y,ne;return p.jsxs("button",{type:"button",role:"option","aria-selected":((Y=R.page)==null?void 0:Y.slug)===B.slug,className:`property-field-link-option${((ne=R.page)==null?void 0:ne.slug)===B.slug?" is-current":""}`,onMouseDown:P=>P.preventDefault(),onClick:()=>G(B),children:[p.jsx(ib,{size:12,"aria-hidden":"true"}),p.jsx("span",{className:"property-field-link-option-title",children:Vv(B)}),p.jsx("span",{className:"property-field-link-option-slug",children:B.path??B.slug})]},B.slug)}),U.map(B=>{var Y,ne;return p.jsxs("button",{type:"button",role:"option","aria-selected":((Y=R.file)==null?void 0:Y.path)===B.path,className:`property-field-link-option${((ne=R.file)==null?void 0:ne.path)===B.path?" is-current":""}`,onMouseDown:P=>P.preventDefault(),onClick:()=>q(B),children:[p.jsx(sb,{size:12,"aria-hidden":"true"}),p.jsx("span",{className:"property-field-link-option-title",children:B.name??$D(B.path)}),p.jsx("span",{className:"property-field-link-option-slug",children:B.path})]},B.path)}),W.length===0&&U.length===0?p.jsx("div",{className:"property-field-link-empty",children:d("propertyPanel.linkNoMatches")}):null]}):null]})]})}function Jh({onClick:e,fieldKind:t,fieldLabel:n,blockType:r,currentValue:i,onQuickAction:s,onCustomPrompt:o,aiLoading:a,variant:u="overlay"}){const[d,f]=_.useState(null);if(de(x=>x.plannerBadgeState)==="demo")return null;const g=x=>{s&&t&&n&&r!==void 0?f(x.currentTarget.getBoundingClientRect()):e()},y=u==="toolbar"?"rte-toolbar-ai-btn":"property-field-ai-btn";return p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:`${y}${a?` ${y}--loading`:""}`,onClick:g,onMouseDown:x=>x.preventDefault(),title:"AI suggestions",children:a?p.jsx(Sh,{size:14,"aria-hidden":"true"}):p.jsx(XD,{size:14,"aria-hidden":"true"})}),d&&t&&n&&r!==void 0&&p.jsx(ove,{anchorRect:d,fieldKind:t,fieldLabel:n,blockType:r,currentValue:i??"",aiLoading:a,onSelect:x=>{f(null),s==null||s(x)},onCustomPrompt:()=>{f(null),(o??e)()},onDismiss:()=>f(null)})]})}function ove({anchorRect:e,fieldKind:t,fieldLabel:n,blockType:r,currentValue:i,aiLoading:s,onSelect:o,onCustomPrompt:a,onDismiss:u}){const d=Zue(t,n,r,i),m=window.innerHeight-e.bottom<160,g=m?void 0:e.bottom+4,y=m?window.innerHeight-e.top+4:void 0,x=window.innerWidth-e.right;return _.useEffect(()=>{const v=S=>{S.key==="Escape"&&u()};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[u]),p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"ai-quick-actions-backdrop",onClick:u}),p.jsxs("div",{className:"ai-quick-actions-menu",style:{top:g,bottom:y,right:x},children:[d.map(v=>p.jsxs("button",{type:"button",className:"ai-quick-actions-item",disabled:s,onClick:()=>o(v),children:[p.jsx(XD,{size:12,"aria-hidden":"true"}),v]},v)),p.jsx("div",{className:"ai-quick-actions-divider"}),p.jsxs("button",{type:"button",className:"ai-quick-actions-item ai-quick-actions-item--custom",onClick:a,children:[p.jsx(D9,{size:12,"aria-hidden":"true"}),"Custom prompt..."]})]})]})}function CL(e,t){return!e||!t||/^https?:\/\//i.test(e)?e:e.startsWith("/")?`${t}${e}`:e}function ave({label:e,values:t,basePath:n,onFieldChange:r}){const{t:i}=An();return p.jsxs("div",{className:"property-field property-field--list",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:e})}),p.jsx("div",{className:"property-list-rows",children:t.map((s,o)=>p.jsxs("div",{className:"property-list-row",children:[p.jsx("input",{className:"property-field-input",value:s,onChange:a=>r(`${n}[${o}]`,a.target.value)}),p.jsx("button",{type:"button",className:"property-list-item-remove-btn",title:i("propertyPanel.removeItem"),onClick:()=>r(n,t.filter((a,u)=>u!==o)),children:"×"})]},`${n}-${o}`))}),p.jsx("button",{type:"button",className:"property-list-add-btn",onClick:()=>r(n,[...t,""]),children:i("propertyPanel.addItem")})]})}function lve({label:e,rows:t,basePath:n,blockType:r,siteOrigin:i,onFieldChange:s,onImageClick:o}){const{t:a}=An(),u=t.find(m=>m&&typeof m=="object")??{},d=["url","imageUrl","src","image"].find(m=>m in u)??"url",f=["alt","imageAlt","image_alt"].find(m=>m in u)??"alt";return p.jsxs("div",{className:"property-field property-field--list",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:e})}),p.jsx("div",{className:"property-list-rows",children:t.map((m,g)=>{const y=`${n}[${g}]`,x=(m==null?void 0:m[d])==null?"":String(m[d]),v=(m==null?void 0:m[f])==null?"":String(m[f]);return p.jsx(_L,{label:`${e} ${g+1}`,blockType:r,imageUrl:x,altText:v,fieldPath:`${y}.${d}`,altFieldPath:`${y}.${f}`,onChangeClick:()=>o==null?void 0:o(`${y}.${d}`,x),onRemove:()=>s(n,t.filter((S,w)=>w!==g)),onAltCommit:S=>s(`${y}.${f}`,S),siteOrigin:i},y)})}),p.jsx("button",{type:"button",className:"property-list-add-btn",onClick:()=>s(n,[...t,{[d]:"",[f]:""}]),children:a("propertyPanel.addItem")})]})}function _L({label:e,blockType:t,imageUrl:n,altText:r,fieldPath:i,altFieldPath:s,highlightPath:o,onChangeClick:a,onRemove:u,onAltCommit:d,onAltAiAssist:f,onAltAiQuickAction:m,aiLoading:g,fieldShimmer:y,siteOrigin:x}){const{t:v}=An(),S=o&&(o===i||o===s),w=W2(S?o:void 0,o),T=S&&o===s,A=`property-field${S?" is-targeted":""}`,[M,j]=_.useState(r??""),[D,O]=_.useState(!1),[R,V]=_.useState(!1),F=D?M:r??"",{debouncedCommit:W,flushCommit:U}=Pd(d??eve,400);return p.jsxs("div",{className:A,ref:w,children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:e})}),p.jsxs("div",{className:"property-field-image-widget",children:[n&&!R?p.jsxs("div",{className:"property-field-image-preview",children:[p.jsx("img",{className:"property-field-image-thumb",src:CL(n,x),alt:"",onError:()=>V(!0)}),p.jsxs("div",{className:"property-field-image-actions",children:[p.jsxs("button",{type:"button",className:"property-field-image-change",onClick:a,children:[p.jsx($9,{size:13})," ",v("propertyPanel.change")]}),u?p.jsxs("button",{type:"button",className:"property-field-image-remove",onClick:u,children:[p.jsx(OS,{size:13})," ",v("propertyPanel.remove")]}):null]})]}):p.jsxs("button",{type:"button",className:"property-field-image-empty",onClick:a,children:[p.jsx(c9,{size:18,"aria-hidden":"true"}),p.jsx("span",{children:v("propertyPanel.chooseImage")})]}),d!==void 0&&p.jsxs("div",{className:"property-field-image-alt-group",children:[p.jsx("div",{className:"property-field-image-alt-label",children:p.jsx("span",{children:v("propertyPanel.altText")})}),p.jsxs("div",{className:`property-field-input-wrap${y?" property-field-input-wrap--ai-loading":""}`,children:[p.jsx("input",{type:"text",className:`property-field-image-alt${T?" is-targeted":""}`,placeholder:v("propertyPanel.altPlaceholder"),value:F,onFocus:()=>{j(r??""),O(!0)},onChange:H=>{j(H.target.value),W(H.target.value)},onBlur:()=>{O(!1),U()}}),f?p.jsx(Jh,{onClick:f,fieldKind:"imageAlt",fieldLabel:v("propertyPanel.altText"),blockType:t??"",currentValue:r??"",onQuickAction:m,onCustomPrompt:f,aiLoading:y}):null]})]})]})]})}function uve({listKey:e,listField:t,items:n,blockType:r,onFieldChange:i,onImageClick:s,onAiAssist:o,onAiQuickAction:a,aiLoading:u,aiLoadingPath:d,highlightPath:f,onAddItem:m,onRemoveItem:g,siteOrigin:y}){const[x,v]=_.useState(null),S=t.label??e;return _.useEffect(()=>{if(!f)return;const w=`${e}[`;if(!f.startsWith(w))return;const T=f.slice(w.length),A=T.indexOf("]");if(A<0)return;const M=Number(T.slice(0,A));!Number.isNaN(M)&&M>=0&&M<n.length&&v(M)},[f,e,n.length]),p.jsxs(Qb,{id:`list:${r}:${e}`,title:S,count:n.length,children:[n.map((w,T)=>{const A=x===T,{fields:M,discriminantValue:j}=Tre(t,w),D=Object.keys(M).find(U=>M[U].kind==="image"),O=D&&w[D]!=null?String(w[D]):"",V=Are(M,w,T,{...t.discriminator?{discriminator:t.discriminator}:{}}).label,F=j?`[${j}] ${V}`:V,W=F.length>40?F.slice(0,40)+"...":F;return p.jsxs("div",{className:"property-list-item",children:[p.jsxs("button",{type:"button",className:`property-list-item-toggle ${A?"is-expanded":""}`,onClick:()=>v(A?null:T),children:[p.jsx("span",{className:"property-list-item-chevron","aria-hidden":"true"}),O?p.jsx("img",{className:"property-list-item-thumb",src:CL(O,y),alt:"",loading:"lazy"}):null,p.jsx("span",{className:"property-list-item-preview",children:W})]}),A?p.jsxs("div",{className:"property-list-item-fields",children:[wL(Object.entries(M),w,`${e}[${T}].`,r,i,s,o,a,u,d,f,y),g?p.jsxs("button",{type:"button",className:"property-list-item-remove-btn",onClick:()=>g(T),children:[p.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:p.jsx("path",{d:"M2.5 4h11M6 4V2.5h4V4M5 4l.5 9h5l.5-9M6.5 6.5v4M9.5 6.5v4"})}),"Remove item"]}):null]}):null]},T)}),m?p.jsxs("button",{type:"button",className:"property-list-add-btn",onClick:m,children:[p.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",children:p.jsx("path",{d:"M8 3v10M3 8h10"})}),"Add"]}):null]})}const cve={h1:"H1 — Page title",h2:"H2 — Section",h3:"H3 — Subsection",h4:"H4",h5:"H5",h6:"H6"};function dve({value:e,onCommit:t,onFocus:n,onBlur:r,inline:i}){const s=_.useRef(null),[o,a]=_.useState(()=>q3(e)),{debouncedCommit:u,flushCommit:d}=Pd(t,400);return _.useEffect(()=>{e!==s.current&&(s.current=null,a(q3(e)))},[e]),p.jsx(SL,{value:o,onChange:f=>{a(f);const m=die(f);s.current=m,u(m)},onFocus:n,onBlur:()=>{d(),r==null||r()},inline:i})}function fve({fieldKey:e,field:t,value:n,blockType:r,onCommit:i,onAiAssist:s,onAiQuickAction:o,aiLoading:a,fieldShimmer:u,highlightPath:d,fieldPath:f}){const m=Yue(n),g=m?m.text:n==null?"":String(n),[y,x]=_.useState(g),[v,S]=_.useState(!1),{debouncedCommit:w,flushCommit:T}=Pd(i,400),A=W2(f,d),M=`property-field${f&&f===d?" is-targeted":""}`,j=v?y:g,D=t.label??e,O=()=>{x(g),S(!0)},R=()=>{S(!1),T()};if(t.kind==="reference"){const U=Une(n,t.referenceLabelKey);return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsxs("div",{className:"property-field-reference",title:U?`${U} — managed in the CMS`:"No reference set",children:[p.jsx("span",{className:"property-field-reference-target",children:U||"(not set)"}),p.jsx("span",{className:"property-field-reference-note",children:"CMS"})]})]})}if(m)return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:"property-field-input-wrap",children:p.jsx("textarea",{className:"property-field-textarea",rows:Math.min(8,Math.max(3,g.split(`
|
|
734
|
-
`).length)),readOnly:!m.editable,value:j,onFocus:m.editable?O:void 0,onBlur:m.editable?R:void 0,onChange:m.editable?U=>{x(U.target.value),w(Jue(U.target.value))}:void 0})})]});if(t.kind==="headingLevel"){const U=(r&&OI[r])??"h2",H=g&&/^h[1-6]$/.test(g)?g:"";return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsxs("select",{className:"property-field-input property-field-select",value:H,onChange:G=>i(G.target.value),children:[p.jsxs("option",{value:"",children:["Auto (",U.toUpperCase(),")"]}),["h1","h2","h3","h4","h5","h6"].map(G=>p.jsx("option",{value:G,children:cve[G]},G))]})]})}if(t.kind==="image")return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsx("div",{className:"property-field-image-url",title:g,children:g||"(empty)"})]});if(t.kind==="enum"&&t.options){const U=t.options.includes(g);return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsxs("select",{className:"property-field-input property-field-select",value:g,onChange:H=>i(H.target.value),children:[!U&&p.jsx("option",{value:g,children:g||"—"}),t.options.map(H=>p.jsx("option",{value:H,children:H},H))]})]})}if(t.kind==="boolean"){const U=g==="true"||g==="1";return p.jsx("div",{className:`${M} property-field--inline`,ref:A,children:p.jsxs("div",{className:"property-field-label",children:[p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]}),p.jsx("button",{type:"button",role:"switch","aria-checked":U,"aria-label":D,className:`property-field-switch${U?" is-on":""}`,onClick:()=>i(U?"false":"true"),children:p.jsx("span",{className:"property-field-switch-knob","aria-hidden":"true"})})]})})}if(t.kind==="color")return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsx("input",{type:"color",className:"property-field-color",value:g||"#000000",onChange:U=>i(U.target.value)})]});if(t.kind==="html")return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:"property-field-input-wrap",children:p.jsx(dve,{value:g,onCommit:U=>i(U),onFocus:O,onBlur:R,inline:t.inline})})]});if(t.kind==="richtext")return n!==null&&typeof n=="object"?p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:"property-field-input-wrap",children:p.jsx(SL,{value:n,onChange:U=>w(U),onFocus:O,onBlur:R,decorators:t.decorators,inline:t.inline})})]}):p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:`property-field-input-wrap${u?" property-field-input-wrap--ai-loading":""}`,children:p.jsx(Qxe,{value:g,onChange:U=>{x(U),w(U)},onFocus:O,onBlur:R,trailing:s?p.jsx(Jh,{variant:"toolbar",onClick:s,fieldKind:t.kind,fieldLabel:t.label??e,blockType:r??"",currentValue:g,onQuickAction:o,onCustomPrompt:s,aiLoading:u}):null})})]});const V=t.multiline===!0,F=t.kind==="number"?"number":t.kind==="url"?"url":"text",W={value:j,onFocus:O,onChange:U=>{x(U.target.value),w(U.target.value)},onBlur:R};return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsxs("div",{className:`property-field-input-wrap${u?" property-field-input-wrap--ai-loading":""}`,children:[V?p.jsx("textarea",{className:"property-field-textarea",rows:3,...W}):p.jsx("input",{type:F,className:"property-field-input",...W}),s?p.jsx(Jh,{onClick:s,fieldKind:t.kind,fieldLabel:t.label??e,blockType:r??"",currentValue:g,onQuickAction:o,onCustomPrompt:s,aiLoading:u}):null]})]})}function hve({slug:e,navLabel:t,onNavLabelChange:n,onAiAssist:r,onAiQuickAction:i,aiLoading:s,fieldShimmer:o}){const{t:a}=An(),[u,d]=_.useState(t),[f,m]=_.useState(!1),g=f?u:t,{debouncedCommit:y,flushCommit:x}=Pd(v=>n(e,v),400);return p.jsx(Qb,{id:"page:nav",title:a("propertyPanel.navigation"),count:1,children:p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:a("propertyPanel.navLabel")})}),p.jsxs("div",{className:`property-field-input-wrap${o?" property-field-input-wrap--ai-loading":""}`,children:[p.jsx("input",{type:"text",className:"property-field-input",placeholder:a("propertyPanel.navPlaceholder"),value:g,onFocus:()=>{d(t),m(!0)},onChange:v=>{d(v.target.value),y(v.target.value)},onBlur:()=>{m(!1),x()}}),r?p.jsx(Jh,{onClick:()=>r("Nav label","text",t),fieldKind:"text",fieldLabel:"Nav label",blockType:"Page",currentValue:t,onQuickAction:i?v=>i("Nav label","text",t,v):void 0,onCustomPrompt:()=>r("Nav label","text",t),aiLoading:o}):null]})]})})}function pve({pageMeta:e,onPageMetaChange:t,onAiAssist:n,onAiQuickAction:r,aiLoading:i,aiLoadingPath:s}){const{t:o}=An();return p.jsxs(Qb,{id:"page:seo",title:o("propertyPanel.seo"),count:3,children:[p.jsx(qv,{label:o("propertyPanel.seoTitle"),fieldKind:"text",blockType:"Page",value:e.title??"",placeholder:o("propertyPanel.seoTitlePlaceholder"),multiline:!0,autosizeRows:{min:2,max:2},recommendedMax:60,onCommit:a=>t("title",a),onAiAssist:n?()=>n("SEO title","text",e.title??""):void 0,onAiQuickAction:r?a=>r("SEO title","text",e.title??"",a):void 0,aiLoading:i,fieldShimmer:i===!0&&s==="SEO title"}),p.jsx(qv,{label:o("propertyPanel.metaDescription"),fieldKind:"richtext",blockType:"Page",value:e.description??"",placeholder:o("propertyPanel.metaDescPlaceholder"),multiline:!0,autosizeRows:{min:3,max:6},recommendedMax:160,onCommit:a=>t("description",a),onAiAssist:n?()=>n("Meta description","richtext",e.description??""):void 0,onAiQuickAction:r?a=>r("Meta description","richtext",e.description??"",a):void 0,aiLoading:i,fieldShimmer:i===!0&&s==="Meta description"}),p.jsx(qv,{label:o("propertyPanel.ogImage"),fieldKind:"url",blockType:"Page",value:e.ogImage??"",placeholder:"https://...",onCommit:a=>t("ogImage",a)})]})}function qv({label:e,fieldKind:t,blockType:n,value:r,placeholder:i,multiline:s,autosizeRows:o,recommendedMax:a,onCommit:u,onAiAssist:d,onAiQuickAction:f,aiLoading:m,fieldShimmer:g}){const[y,x]=_.useState(r),[v,S]=_.useState(!1),w=_.useRef(null),T=v?y:r,{debouncedCommit:A,flushCommit:M}=Pd(u,400),j=s===!0&&o!=null,D=_.useCallback(()=>{if(!j||!w.current||!o)return;const V=w.current,F=getComputedStyle(V),W=Number.parseFloat(F.lineHeight),U=Number.parseFloat(F.fontSize)||15,H=Number.isFinite(W)?W:U*1.2,G=(Number.parseFloat(F.paddingTop)||0)+(Number.parseFloat(F.paddingBottom)||0),q=(Number.parseFloat(F.borderTopWidth)||0)+(Number.parseFloat(F.borderBottomWidth)||0),I=o.min*H+G+q,B=o.max*H+G+q;V.style.height="0px";const Y=V.scrollHeight,ne=Math.max(I,Math.min(B,Y));V.style.height=`${ne}px`,V.style.overflowY=Y>B?"auto":"hidden"},[j,o]);_.useLayoutEffect(()=>{D()},[D,T,v,r]),_.useEffect(()=>{if(!j)return;const V=()=>D();return window.addEventListener("resize",V),()=>window.removeEventListener("resize",V)},[j,D]);const O={placeholder:i,value:T,onFocus:()=>{x(r),S(!0)},onChange:V=>{x(V.target.value),A(V.target.value)},onBlur:()=>{S(!1),M()}},R=(v?y:r).length;return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:e})}),p.jsxs("div",{className:`property-field-input-wrap${g?" property-field-input-wrap--ai-loading":""}`,children:[s?p.jsx("textarea",{ref:j?w:void 0,className:`property-field-textarea${j?" property-field-textarea--autosize":""}`,rows:(o==null?void 0:o.min)??3,...O}):p.jsx("input",{type:"text",className:"property-field-input",...O}),d?p.jsx(Jh,{onClick:d,fieldKind:t,fieldLabel:e,blockType:n,currentValue:v?y:r,onQuickAction:f,onCustomPrompt:d,aiLoading:g}):null]}),a!=null&&p.jsxs("span",{className:`property-field-char-count${R>a?" property-field-char-count--over":""}`,children:[R," / ",a]})]})}class Kv extends _.Component{constructor(){super(...arguments);Ce(this,"state",{error:null});Ce(this,"reset",()=>{var n,r;(r=(n=this.props).onReset)==null||r.call(n),this.setState({error:null})})}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){var i,s;console.error("[editor] Uncaught error in component tree:",n,r.componentStack),(s=(i=this.props).onError)==null||s.call(i,n,r)}render(){return this.state.error?p.jsxs("div",{style:this.props.style,className:"flex flex-col items-center justify-center gap-3 p-6 text-center text-sm text-muted-foreground h-full",children:[p.jsx("p",{className:"font-medium text-foreground",children:this.props.fallbackLabel??"Something went wrong"}),p.jsx("p",{className:"max-w-xs opacity-70 text-xs",children:this.state.error.message}),p.jsx("button",{type:"button",onClick:this.reset,className:"rounded-md border px-3 py-1.5 text-xs hover:bg-accent transition-colors",children:"Try again"})]}):this.props.children}}function mve({siteId:e,orchestratorUrl:t,hostedIds:n,siteOwnOrchestrator:r}){const{t:i}=An(),s=()=>{Nue(e),window.location.href=Mue(window.location.href)},o=()=>{r&&(Aue(e,r),window.location.reload())};return r?p.jsxs("div",{className:"orchestrator-mismatch",role:"alert",children:[p.jsxs("div",{className:"orchestrator-mismatch-body",children:[p.jsx("strong",{children:i("orchestratorMismatch.ownTitle")}),p.jsx("span",{children:i("orchestratorMismatch.ownDetail",{orchestrator:t,siteOrchestrator:r})})]}),p.jsx("button",{type:"button",className:"orchestrator-mismatch-action",onClick:o,children:i("orchestratorMismatch.useSiteOwn")})]}):p.jsxs("div",{className:"orchestrator-mismatch",role:"alert",children:[p.jsxs("div",{className:"orchestrator-mismatch-body",children:[p.jsx("strong",{children:i("orchestratorMismatch.title")}),p.jsx("span",{children:n.length>0?i("orchestratorMismatch.detailHosts",{orchestrator:t,hosted:n.join(", ")}):i("orchestratorMismatch.detail",{orchestrator:t})})]}),p.jsx("button",{type:"button",className:"orchestrator-mismatch-action",onClick:s,children:i("orchestratorMismatch.useDefault")})]})}const xg=3e3;function gve(e){const[t,n]=_.useState({status:"loading",blocks:[],manifest:null});_.useEffect(()=>{let i=!0,s=null;const o=async()=>{try{const u=await fetch(`${e||Nd}/api/editor/blocks`);if(!u.ok){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:`Manifest endpoint returned ${u.status}`}),s=setTimeout(()=>{i&&o()},xg);return}const d=await u.json(),f=zI.safeParse(d);if(!f.success){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:"Manifest response shape is invalid"}),s=setTimeout(()=>{i&&o()},xg);return}const m=FI(f.data.blocks);if(m){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:m}),s=setTimeout(()=>{i&&o()},xg);return}if(!i)return;n({status:"ready",blocks:f.data.blocks,version:f.data.version,manifest:f.data})}catch(a){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:a instanceof Error?a.message:"Manifest fetch failed"}),s=setTimeout(()=>{i&&o()},xg)}};return o(),()=>{i=!1,s&&clearTimeout(s)}},[e]);const r=_.useMemo(()=>{const i=new Map;for(const s of t.blocks)i.set(s.type,s);return i},[t.blocks]);return{...t,byType:r,siteCapabilities:{allowStructuralEdits:t.status==="ready",manifestStatus:t.status,reason:t.reason,manifestVersion:t.version,blockCount:t.blocks.length,checkedAt:new Date().toISOString()},allowStructuralEdits:t.status==="ready"}}function bve(e){const[t,n]=_.useState(void 0);return _.useEffect(()=>{if(yk)return;let r=!1;return Tue(e).then(i=>{r||!i||i.replace(/\/+$/,"")!==Le.replace(/\/+$/,"")&&n(i)}),()=>{r=!0}},[e]),t}function yve(e){return null}function xve(){const e=yve();return e||"text"}const vve=/^[a-z]{2}(?:-[a-z0-9]{2,8})?$/i,Tl="default",kve=2;let qf;function Sve(e){if(!vve.test(e))return!1;if(qf===void 0)try{qf=new Intl.DisplayNames(["en"],{type:"language",fallback:"none"})}catch{qf=null}if(!qf)return!1;try{return typeof qf.of(e)=="string"}catch{return!1}}function ey(e){return e.split("/").filter(Boolean)}function Gu(e){const t=ey(e);return t.length===0?"/":`/${t.join("/")}`}function wve(e){const t={},n=[];for(const u of e){const d=ey(u)[0];if(d&&Sve(d)){const f=d.toLowerCase();(t[f]||(t[f]=[])).push(u)}else n.push(u)}const r=Object.keys(t).sort();if(r.length<2)return null;const i=new Map;for(const u of r)for(const d of new Set(t[u].map(f=>Z2(f,u))))i.set(d,(i.get(d)??0)+1);if(![...i.values()].some(u=>u>=2))return null;const o=n.filter(u=>i.has(Gu(u))).length>=kve,a=o?[]:n;o&&(t[Tl]=n,r.unshift(Tl));for(const u of r){const d=u===Tl?"/":`/${u}`;t[u].sort((f,m)=>f===d?-1:m===d?1:0)}return{locales:r,byLocale:t,shared:a}}function EL(e,t){var i;const n=(i=ey(e)[0])==null?void 0:i.toLowerCase();if(n&&t.byLocale[n])return n;const r=t.byLocale[Tl];return r!=null&&r.some(s=>Gu(s)===Gu(e))?Tl:void 0}function Z2(e,t){var i;if(!t||t===Tl)return Gu(e);const n=ey(e);if(((i=n[0])==null?void 0:i.toLowerCase())!==t.toLowerCase())return Gu(e);const r=n.slice(1);return r.length===0?"/":`/${r.join("/")}`}function Cve(e,t){return`${xj(Z2(e,t))} (${e})`}function _ve(e,t,n){const r=n.byLocale[t];if(!r||r.length===0)return e;const i=Z2(e,EL(e,n)),s=t===Tl?i:i==="/"?`/${t}`:`/${t}${i}`;return r.find(a=>Gu(a)===Gu(s))??r[0]}function Eve(e){try{const t=new Intl.DisplayNames([e],{type:"language"}).of(e);if(t&&t.toLowerCase()!==e.toLowerCase())return t.charAt(0).toUpperCase()+t.slice(1)}catch{}return e.toUpperCase()}const FD=xve(),Tve=C$(),Ave=_.lazy(()=>vB(()=>import("./PuckPrototypeRoute-CejP0xoY.js").then(e=>e.P),__vite__mapDeps([0,1])).then(e=>({default:e.PuckPrototypeRoute}))),Nve=new Set(["/editor/puck","/editor/puck/"]),Mve=3e4,TL="site-reachable-v1:",Dve=5e3;function AL(e){if(typeof sessionStorage>"u")return null;try{const t=sessionStorage.getItem(TL+e);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.ts>Mve?null:n.ok}catch{return null}}function UD(e,t){if(!(typeof sessionStorage>"u"))try{sessionStorage.setItem(TL+e,JSON.stringify({ok:t,ts:Date.now()}))}catch{}}function Rve({name:e,origin:t,statusClass:n,active:r,dimmed:i,onSelect:s}){const o=t.replace(/^https?:\/\//,"");return p.jsxs("button",{type:"button",role:"menuitem",className:`site-switcher-item${r?" is-active":""}${i?" is-dimmed":""}`,onClick:s,title:t,children:[p.jsx("span",{className:`site-switcher-item-dot site-switcher-item-dot-${n}`,"aria-hidden":"true"}),p.jsxs("span",{className:"site-switcher-item-body",children:[p.jsx("span",{className:"site-switcher-item-name",children:e}),p.jsx("span",{className:"site-switcher-item-origin",children:o})]}),r?p.jsx(Qh,{size:12,"aria-hidden":"true"}):null]})}function HD(e){if(typeof sessionStorage>"u")return null;const t=new Set;let n=!1;for(const r of e){const i=AL(r);i!==null&&(n=!0,i&&t.add(r))}return n?t:null}function jve(e,t){if(e===t)return!0;if(!e||!t||e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Ive(){const e=typeof window<"u"?window.location.pathname:"/",t=e==="/"||e==="/editor"||e==="/editor/",n=Nve.has(e),r=e==="/sites"||e==="/sites/";de(d=>d.chatDarkMode);const i=de(d=>d.setChatDarkMode),s=_.useMemo(()=>TK(),[]),o=_.useMemo(()=>Ej(),[]),a=_.useRef(!1);if(!a.current){a.current=!0;const d=typeof window<"u"?window.location.origin:"http://localhost:4100";B$({sessionId:s,siteId:o,editorOrigin:d,orchestratorUrl:Le})}const u=Rue(o,s);return _.useEffect(()=>{if(typeof window>"u")return;const d=window.matchMedia("(prefers-color-scheme: dark)"),f=m=>i(m.matches);return d.addEventListener("change",f),()=>d.removeEventListener("change",f)},[i]),n?p.jsx(_.Suspense,{fallback:p.jsx("div",{style:{height:"100vh",display:"grid",placeItems:"center"},children:"Loading prototype…"}),children:p.jsx(Ave,{})}):r?p.jsx(bN,{sites:u,session:s}):t?p.jsx(zve,{sites:u}):p.jsx(bN,{sites:u,session:s})}const Ove=new Set(["avocado-hub","avocado-stories","avocado-magic","avocado-odyssey"]);function Pve(e){return e.split(".").map(t=>{const n=t.match(/^([a-zA-Z_]+)\[(\d+)\]$/);return n?`${VD(n[1])} ${Number(n[2])+1}`:VD(t)}).join(" · ")}function VD(e){const n=e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s*url\s*$/i,"").trim();return n?n.charAt(0).toUpperCase()+n.slice(1):e}function zve({sites:e}){var Rp,jp,qd;const{t}=An(),n=qi(),r=Ki(),i=de(E=>E.chatDarkMode),s=de(E=>E.setChatDarkMode),{activeSiteConfig:o}=e,a=_.useMemo(()=>Au(o),[o]),u=gve(a),d=typeof window<"u"?window.location.origin:"http://localhost:4100",f=bve(a),m=e.siteHosting==="notHosted"||f!=null,g=de(E=>E.slug),y=de(E=>E.setSlug),x=de(E=>E.availableSlugs);de(E=>E.setAvailableSlugs);const v=de(E=>E.isLoadingSlugs),S=de(E=>E.modelKey),w=de(E=>E.setModelKey),T=de(E=>E.provider),A=de(E=>E.setProvider),M=de(E=>E.availableProviders),j=de(E=>E.setAvailableProviders),[D,O]=_.useState(""),R=de(E=>E.activeBlockId),V=de(E=>E.activeBlockType),F=de(E=>E.activeEditablePath),W=E=>de.getState().setActiveBlock(E),U=E=>{const Z=de.getState();Z.setActiveBlock(Z.activeBlockId,E)},H=(E,Z)=>de.getState().setActiveBlock(E,Z),G=de(E=>E.setActiveEditablePath),q=de(E=>E.useStreaming),I=de(E=>E.setUseStreaming),B=de(E=>E.autoScrollTrackingEnabled),Y=de(E=>E.setAutoScrollTrackingEnabled),[ne,P]=_.useState(!1),[z,J]=_.useState(Tve),L=_.useCallback(E=>{J(E);try{window.localStorage.setItem(Qv,E?"1":"0")}catch{}},[]),X=_.useMemo(()=>!0,[]),oe=X&&z,[ie,se]=_.useState(!1),[Ne,_e]=_.useState(0),Oe=_.useCallback(()=>_e(E=>E+1),[]),ce=de(E=>E.showSettingsModal),ee=de(E=>E.setShowSettingsModal),Ie=de(E=>E.showDebugDetails),ze=de(E=>E.setShowDebugDetails),Ye=de(E=>E.composerHeight),nt=de(E=>E.setComposerHeight),xt=de(E=>E.addBlockPicker),Xe=de(E=>E.setAddBlockPicker),st=de(E=>E.addBlockSearch),Nn=de(E=>E.setAddBlockSearch),Mn=de(E=>E.isAddingBlock),Xn=de(E=>E.setIsAddingBlock),Et=de(E=>E.copiedDebugEntryId),kt=de(E=>E.setCopiedDebugEntryId),In=de(E=>E.feedbackNoteEntryId),fe=de(E=>E.setFeedbackNoteEntryId),pe=de(E=>E.feedbackNoteText),$e=de(E=>E.setFeedbackNoteText),ot=de(E=>E.selectedVariationId),et=de(E=>E.setSelectedVariationId),Pt=de(E=>E.imagePickerTarget),bn=de(E=>E.setImagePickerTarget),Yt=Pt!==null,yn=de(E=>E.backendFeatures),vr=de(E=>E.setBackendFeatures),Jt=de(E=>E.setBackendSite),Qn=de(E=>E.selectionModeEnabled),be=de(E=>E.setSelectionModeEnabled),Fe=de(E=>E.anchorRect),dt=de(E=>E.setAnchorRect),ye=de(E=>E.anchoredExpanded),Te=de(E=>E.setAnchoredExpanded),Be=de(E=>E.activeTab),qe=de(E=>E.setActiveTab),[tt,rt]=_.useState(!1),[wt,zt]=_.useState(!1),On=_.useRef(null);_.useEffect(()=>{if(!wt)return;const E=me=>{On.current&&!On.current.contains(me.target)&&zt(!1)},Z=me=>{me.key==="Escape"&&zt(!1)};return document.addEventListener("mousedown",E),document.addEventListener("keydown",Z),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("keydown",Z)}},[wt]);const[kr,Pr]=_.useState(()=>HD(e.siteList.map(E=>E.id))),yi=_.useCallback(E=>{Pr(Z=>jve(Z,E)?Z:E)},[]);_.useEffect(()=>{if(!wt)return;yi(HD(e.siteList.map(me=>me.id)));let E=!0;return(async()=>{let me=!0;const Me=await Promise.all(e.siteList.map(async Pe=>{const Ee=AL(Pe.id);if(Ee!==null)return{id:Pe.id,ok:Ee};me=!1;const He=Au(Pe);try{const Tt=await fetch(`${He}/api/editor/blocks?siteId=${encodeURIComponent(Pe.id)}`,{signal:AbortSignal.timeout(2500)});return UD(Pe.id,Tt.ok),{id:Pe.id,ok:Tt.ok}}catch{return UD(Pe.id,!1),{id:Pe.id,ok:!1}}}));E&&!me&&yi(new Set(Me.filter(Pe=>Pe.ok).map(Pe=>Pe.id)))})(),()=>{E=!1}},[wt,e.siteList,yi]);const Ri=_.useMemo(()=>{const E=kr===null;return e.siteList.map(Z=>{const me=E||Z.id===r||kr.has(Z.id);return{site:Z,origin:Au(Z),online:me,probing:E}}).sort((Z,me)=>Z.site.id===r?-1:me.site.id===r?1:Z.online!==me.online?Z.online?-1:1:Z.site.name.localeCompare(me.site.name))},[kr,e.siteList,r]),{onlineEntries:xs,activeEntry:dr}=_.useMemo(()=>({onlineEntries:Ri.filter(E=>E.online),activeEntry:Ri.find(E=>E.site.id===r)}),[Ri,r]),Qi=_.useRef(null),Fs=_.useRef(null),Xt=_.useRef(!0),wn=_.useRef(!1),fr=_.useRef(null),ii=_.useRef(void 0),zr=_.useRef(!1),ji=_.useRef(null),Gr=_.useRef(!1),Uo=_.useRef(0),xi=_.useRef(null),si=_.useRef(null),vi=de(E=>E.chatWidth),Un=de(E=>E.setChatWidth),ln=de(E=>E.propsWidth),xn=de(E=>E.setPropsWidth),un=_.useRef(null),oi=_.useRef(null),[ki,Lr]=_.useState(1),ai=_.useRef(null),fo=_.useRef(null),Ii=_.useRef(!1),ho=_.useRef(!1);_.useEffect(()=>{if(!ho.current&&!(v||x.length===0)){if(g!=="/"||x.includes("/")){ho.current=!0;return}ho.current=!0,zr.current=!1,y(x[0])}},[x,v,g,y]);const Us=_.useMemo(()=>{const E=Array.from(new Set([...x,g].filter(Boolean)));return E.includes("/")?["/",...E.filter(Z=>Z!=="/")]:E},[x,g]),rr=_.useMemo(()=>wve(Us),[Us]),li=rr?EL(g,rr)??rr.locales[0]:void 0,Si=_.useMemo(()=>!rr||!li?Us:rr.byLocale[li]??[],[rr,li,Us]),er=_.useMemo(()=>{if(!u.allowStructuralEdits)return[];if(u.blocks.length>0)return u.blocks.map(Z=>({type:Z.type,label:Z.displayName??Z.type,category:"content"})).sort((Z,me)=>Z.label.localeCompare(me.label));const E=vu();return[...Pk].map(Z=>{var me,Me;return{type:Z,label:((me=E[Z])==null?void 0:me.displayName)??Z,category:((Me=E[Z])==null?void 0:Me.category)??"content"}}).sort((Z,me)=>Z.label.localeCompare(me.label))},[u.allowStructuralEdits,u.blocks]),Hs=_.useMemo(()=>{const E=st.trim().toLowerCase(),Z=E?er.filter(Pe=>Pe.label.toLowerCase().includes(E)||Pe.type.toLowerCase().includes(E)):er,me=new Map;for(const Pe of Z){const Ee=Pe.category||"content",He=me.get(Ee);He?He.push(Pe):me.set(Ee,[Pe])}const Me=["content","layout","conversion","navigation","media"];return[...me.entries()].sort((Pe,Ee)=>{const He=Me.indexOf(Pe[0]),Tt=Me.indexOf(Ee[0]),cn=He===-1?Number.MAX_SAFE_INTEGER:He,sr=Tt===-1?Number.MAX_SAFE_INTEGER:Tt;return cn!==sr?cn-sr:Pe[0].localeCompare(Ee[0])}).map(([Pe,Ee])=>({category:Pe,options:Ee}))},[st,er]),Oi=()=>{const E=Date.now();E-Uo.current<1200||(Uo.current=E,Ve.pushAssistantFromResult({status:"needs_clarification",summary:t("streamError.structuralDisabled"),changes:XO(u.reason)}))},Ho=_.useRef(()=>{}),ui=_.useCallback(E=>{de.getState().slug!==E&&(Gr.current=!0,y(E))},[y]),Vo=_.useMemo(()=>({onBlockClicked:(E,Z,me,Me,Pe,Ee)=>{ui(E),H(Z,me),G(Me),dt(Z?Ee:null),de.getState().setActiveTab(Z?"properties":"chat")},onRouteChanged:E=>{de.getState().slug!==E&&H(void 0,void 0),ui(E),G(void 0),dt(null),Pn.current("setSelectionMode",{enabled:de.getState().selectionModeEnabled}),Ho.current(E)},onBlockReordered:(E,Z,me)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.reorderBlock(E,Z,me)},onBlockDeleteRequested:(E,Z)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.deleteBlock(E,Z)},onBlockAddRequested:(E,Z)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),!(!Z.afterBlockId&&!Z.beforeBlockId)&&Xe({slug:E,afterBlockId:Z.afterBlockId,beforeBlockId:Z.beforeBlockId})},onListItemAddRequested:(E,Z,me,Me,Pe)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.addListItem(E,Z,me,Me,Pe)},onListItemRemoveRequested:(E,Z,me,Me,Pe)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.removeListItem(E,Z,me,Me,Pe)},onListItemMoveRequested:(E,Z,me,Me,Pe,Ee)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.moveListItem(E,Z,me,Me,Pe,Ee)},onOpenImagePicker:(E,Z,me,Me,Pe)=>{bn({slug:E,blockId:Z,editablePath:me,currentUrl:Me,blockType:Pe??(Z===R?V:void 0)})},onEditBlockRequested:(E,Z)=>{Te(!0)},onInlineTextCommitted:(E,Z,me,Me)=>{E!==g&&ui(E),me&&G(me),Ve.inlineEditCommit(E,Z,me,Me)},onIframeScrolled:()=>{dt(null),de.getState().isLoading&&de.getState().setAutoScrollSuppressed(!0)}}),[u.allowStructuralEdits,ui,g]);_.useCallback(async()=>{var E;try{const Z=`${Le}/draft/pages?session=${encodeURIComponent(n)}&siteId=${encodeURIComponent(r)}&slug=${encodeURIComponent(g)}`,me=await fetch(Z,{cache:"no-store"});if(!me.ok)return;const Pe=((await me.json()).blocks??[]).find(Ee=>Ee.type==="Hero");if(!Pe)return;H(Pe.id,Pe.type),bn({slug:g,blockId:Pe.id,editablePath:"imageUrl",currentUrl:typeof((E=Pe.props)==null?void 0:E.imageUrl)=="string"?Pe.props.imageUrl:void 0,blockType:Pe.type})}catch{}},[n,r,g,bn]);const Wt=jue(g,Vo,a),Pn=_.useRef(Wt.postToSite);_.useEffect(()=>{Pn.current=Wt.postToSite},[Wt.postToSite]);const Vs=_.useCallback(E=>{const Z=E??!Qn;be(Z),Wt.postToSite("setSelectionMode",{enabled:Z})},[Qn,Wt]);_.useEffect(()=>{const E=Z=>{Z.key==="Escape"&&Qn&&Vs(!1)};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[Qn,Vs]),_.useEffect(()=>{if(Be!=="history")return;const E=Z=>{Z.key==="Escape"&&de.getState().setActiveTab("chat")};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[Be]);const Gl=_.useCallback((E,Z)=>{(E==="draftUpdated"||E==="liveDraft")&&Oe(),Wt.postToSite(E,Z)},[Wt,Oe]),Wl=_.useCallback((E,Z,me,Me)=>(Oe(),Wt.postPatchToSite(E,Z,me,Me)),[Wt,Oe]),Ve=$ue({activeSiteConfig:o,siteRegistryChecked:e.siteRegistryChecked,postToSite:Gl,postPatchToSite:Wl,componentManifest:u.manifest,siteCapabilities:u.siteCapabilities,allowStructuralEdits:u.allowStructuralEdits,getBlockDefaultProps:E=>{var Z;return((Z=u.byType.get(E))==null?void 0:Z.defaultProps)??null},onApplied:()=>{var E;(E=ii.current)==null||E.call(ii)},agentModeEnabled:yn.agentMode??!1}),Pi=de(E=>E.chatLog),vs=de(E=>E.chatAttachments),Wr=de(E=>E.setChatAttachments),zn=de(E=>E.isLoading),jr=de(E=>E.streamStatus),po=de(E=>E.streamingText),Aa=de(E=>E.streamingChanges),Na=de(E=>E.streamSteps),Zl=de(E=>E.streamTokenCount),qs=de(E=>E.latestStreamFocusBlockId),hr=de(E=>E.imageProgress),mo=de(E=>E.plannerBadgeState),[Yl,go]=_.useState(!1),Sr=de(E=>E.setPlannerBadgeState),qo=de(E=>E.pendingPlanId),pr=de(E=>E.variationModal),Ks=de(E=>E.isApplyingVariation),pt=de(E=>E.setVariationModal),bt=de(E=>E.continuationChainId),we=de(E=>E.fieldDraftDebugEnabled),Qt=de(E=>E.setFieldDraftDebugEnabled),mr=de(E=>E.fieldDraftDebug);_.useEffect(()=>{Ove.has(r)||(w("balanced"),Ve.clearChat())},[r]);function es(E){var Z,me;typeof E.navigateToSlug=="string"&&E.navigateToSlug.length>0&&E.navigateToSlug!==g&&y(E.navigateToSlug),typeof E.canUndo=="boolean"&&((Z=Ve.setCanUndoServer)==null||Z.call(Ve,E.canUndo)),typeof E.canRedo=="boolean"&&((me=Ve.setCanRedoServer)==null||me.call(Ve,E.canRedo)),Wt.postToSite("draftUpdated",{focusBlockId:null}),Oe()}async function Br(E){rt(!0);try{const me=await(await fetch(`${Le}/history/restore`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({session:n,siteId:r,targetVersion:E})})).json();me.status==="applied"&&es(me)}catch{}finally{rt(!1)}}const ir=Hue(n,r,a,Ne),We=Uue(n,r,zn,Ve.pushAssistantFromResult,a,()=>{Wt.postToSite("draftUpdated",{focusBlockId:null}),ir.markPublished()}),gt=ir.summary?ir.summary.total>0:!0,Hn=Vue(),Ut=Be==="properties"&&Ve.hasBootstrapped,Rt=Gue(n,r,g,R,Ut),jt=Wue(n,r,g,Ut);_.useEffect(()=>{!R||V||!Rt.blockType||U(Rt.blockType)},[R,V,Rt.blockType]);const Ct=KK(n,r,!!n),zi=GK(Ct.findings),rn=_.useRef(null),Gs=_.useCallback((E,Z,me)=>{H(E,Z),G(me),dt(null),de.getState().selectionModeEnabled||(de.getState().setSelectionModeEnabled(!0),Pn.current("setSelectionMode",{enabled:!0})),Pn.current("highlightBlock",{blockId:E,editablePath:me??null,scrollIntoView:!0})},[]),Ws=_.useCallback(E=>{const Z=rn.current;!Z||Z.slug!==E||(rn.current=null,!(Z.expiresAt!==void 0&&Date.now()>Z.expiresAt)&&Gs(Z.blockId,Z.blockType,Z.path))},[Gs]);_.useEffect(()=>{if(!rn.current)return;const E=setTimeout(()=>Ws(g),400);return()=>clearTimeout(E)},[g,Ws]),_.useEffect(()=>{Ho.current=Ws},[Ws]);const wi=_.useCallback((E,Z,me,Me)=>{if(!Z){E!==de.getState().slug&&y(E),H(void 0,void 0),G(void 0),qe("properties");return}if(E!==de.getState().slug){rn.current={slug:E,blockId:Z,blockType:me,path:Me},y(E),qe("properties");return}qe("properties"),rn.current={slug:E,blockId:Z,...me?{blockType:me}:{},...Me?{path:Me}:{},expiresAt:Date.now()+Dve},Gs(Z,me,Me)},[Gs]);ii.current=()=>{Rt.refetch(),jt.refetch(),Oe()};const[bo,Jl]=_.useState(()=>xk(g,{session:n,siteId:r,editorOrigin:d},a)),[ty,gp]=_.useState(!1);_.useEffect(()=>{gp(!1)},[bo]),_.useEffect(()=>{ji.current!==a&&(ji.current=a,zr.current=!1);const E={session:n,siteId:r,editorOrigin:d};if(Gr.current){Gr.current=!1;return}if($g&&zr.current){Wt.postToSite("navigate",{href:vk(g,E)});return}const Z=xk(g,E,a);Jl(me=>me===Z?me:Z)},[a,d,n,r,g]);const nc=_.useMemo(()=>{var me;const E=(me=o.vercelProductionUrl)==null?void 0:me.trim(),Z=E&&/^https?:\/\//i.test(E)?E:a;try{const Me=new URL(Z);return Me.origin===a?MK(g,{},a):(Me.pathname=g==="/"?"/":g,Me.search="",Me.hash="",Me.toString())}catch{return}},[o.vercelProductionUrl,a,g]),bp=_.useMemo(()=>a?`${a}${vk(g,{session:n,siteId:r,editorOrigin:d,immersive:"1"})}`:void 0,[a,d,n,r,g]);_.useEffect(()=>{let E=!0;const Z=async()=>{const Me=[`${Le}/status/planner`];Le.includes("localhost")&&Me.push(`${Le.replace("localhost","127.0.0.1")}/status/planner`);try{for(const Pe of Me){const Ee=await fetch(Pe);if(!Ee.ok)continue;const He=await Ee.json();if(!E)return;if(He.features&&vr(He.features),He.site&&Jt(He.site),Array.isArray(He.availableProviders)&&He.availableProviders.length>0&&(j(He.availableProviders),(!He.availableProviders.includes(T)||T!=="anthropic"&&He.availableProviders.includes("anthropic"))&&A(He.availableProviders.includes("anthropic")?"anthropic":He.availableProviders[0])),typeof He.keyFilePath=="string"&&He.keyFilePath.length>0&&de.getState().setKeyFilePath(He.keyFilePath),He.plannerSource==="openai"||He.plannerSource==="anthropic"||He.plannerSource==="gemini"||He.plannerSource==="demo"){Sr(He.plannerSource);return}}E&&Sr("error")}catch{E&&Sr("error")}};Z();const me=window.setInterval(()=>{Z()},1e4);return()=>{E=!1,window.clearInterval(me)}},[]);const yp=_.useRef(0),xp=_.useRef(0);_.useEffect(()=>{const E=Fs.current;if(!E)return;const Z=()=>{const me=Math.abs(E.scrollHeight-E.scrollTop-E.clientHeight)<2||E.scrollHeight<=E.clientHeight;!me&&E.scrollTop<yp.current?Xt.current=!1:me&&(Xt.current=!0),yp.current=E.scrollTop};return E.addEventListener("scroll",Z,{passive:!0}),()=>{E.removeEventListener("scroll",Z)}},[]),_.useEffect(()=>{const E=Fs.current;if(!E||!(Pi.length>0||!!jr||!!po))return;const me=Pi.reduce((Tt,cn)=>cn.role==="user"?Tt+1:Tt,0);me>xp.current&&(Xt.current=!0),xp.current=me;const Me=!wn.current,Pe=Pi.some(Tt=>Tt.role==="user");if(Me&&!Pe&&!jr&&!po){wn.current=!0,Xt.current=!1;return}if(!Me&&!Xt.current)return;const He=window.requestAnimationFrame(()=>{E.scrollTop=E.scrollHeight,Xt.current=!0,wn.current=!0});return()=>window.cancelAnimationFrame(He)},[Pi.length,jr,po,Na.length,Aa.length]),_.useEffect(()=>{Wt.postToSite("setNestedLabelsVisibility",{visible:ne})},[ne]),_.useEffect(()=>{const E=Pn.current;if(!zn){Ii.current&&E("aiFieldLoading",{blockId:"",active:!1}),fo.current=null,Ii.current=!1;return}const Z=qs??R??"",Me=Z&&Z===(R??"")?F??"":"";E("aiFieldLoading",{blockId:Z,editablePath:Me,active:!0}),fo.current={blockId:Z,editablePath:Me},Ii.current=!0},[zn,qs,R,F]),_.useEffect(()=>{if(!zn)return;const E=window.setInterval(()=>{const Z=fo.current;Z&&Pn.current("aiFieldLoading",{blockId:Z.blockId,editablePath:Z.editablePath,active:!0})},1200);return()=>window.clearInterval(E)},[zn]),_.useEffect(()=>{R&&Wt.postToSite("highlightBlock",{blockId:R,editablePath:F??null})},[R,F]),_.useEffect(()=>{Ve.clearFieldAiContext()},[R]),_.useEffect(()=>{R||dt(null)},[R]),_.useEffect(()=>{Te(!1)},[Fe]),_.useEffect(()=>{const E=()=>dt(null);return window.addEventListener("resize",E),()=>window.removeEventListener("resize",E)},[]);const ny=I$(),Ma=_.useMemo(()=>{if(!ny||!Fe||!Qn||!R||typeof window>"u"||window.innerWidth<=1040)return null;const E=Wt.iframeRef.current;if(!E)return null;const Z=E.getBoundingClientRect(),me=380,Me=36,Pe=26,Ee=8,He=Z.top+Fe.top*ki;if(He+Fe.height*ki<Z.top||He>Z.bottom)return null;const cn=He+Ee-(Me-Pe)/2;let sr=Z.left+(Fe.left+Fe.width)*ki-Me-Ee;return sr=Math.max(Z.left+Ee,Math.min(sr,Z.right-Me-Ee)),{top:cn,left:sr,width:me}},[Fe,Qn,R,Wt.iframeRef,ki]);_.useEffect(()=>{Ma&&ye&&requestAnimationFrame(()=>{var E,Z;(Z=(E=ai.current)==null?void 0:E.querySelector("textarea"))==null||Z.focus()})},[!!Ma,ye]);const vp=_.useCallback((E,Z,me,Me)=>{var cn;if(!R||!V)return;const Ee=((cn=vu()[V])==null?void 0:cn.displayName)??V;G(E);const He=Yk(me,Z,V,Me),Tt={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: ${Ee} → ${Z}`,fieldAiContext:{blockId:R,blockType:V,fieldPath:E,fieldLabel:Z,blockDisplayName:Ee},suggestions:He};Ve.setFieldAiContext(Tt)},[R,V]),ry=_.useCallback((E,Z,me)=>{const Me=Yk(Z,E,"Page",me),Pe={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: Page → ${E}`,fieldAiContext:{blockId:"__page__",blockType:"__page__",fieldPath:E,fieldLabel:E,blockDisplayName:"Page"},suggestions:Me};Ve.setFieldAiContext(Pe)},[]),iy=_.useCallback((E,Z,me,Me,Pe)=>{var cn;if(!R||!V)return;const He=((cn=vu()[V])==null?void 0:cn.displayName)??V;G(E),Wt.postToSite("aiFieldLoading",{blockId:R,editablePath:E,active:!0}),fo.current={blockId:R,editablePath:E},Ii.current=!0;const Tt={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: ${He} → ${Z}`,fieldAiContext:{blockId:R,blockType:V,fieldPath:E,fieldLabel:Z,blockDisplayName:He}};Ve.setFieldAiContext(Tt),Ve.submitChat(Pe)},[R,V]),sy=_.useCallback((E,Z,me,Me)=>{G(E);const Pe={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: Page → ${E}`,fieldAiContext:{blockId:"__page__",blockType:"__page__",fieldPath:E,fieldLabel:E,blockDisplayName:"Page"}};Ve.setFieldAiContext(Pe),Ve.submitChat(Me)},[]);_.useEffect(()=>{Ve.refreshRouteSlugs()},[n,r,e.siteRegistryChecked]);const Bd=E=>{const me=Qi.current,Me=Fs.current;if(!me||!Me)return Math.max(56,E);const Pe=120,Ee=10,He=Me.offsetTop,Tt=Math.max(56,me.clientHeight-He-Ee-Pe);return Math.min(Tt,Math.max(56,E))},$d=_.useCallback(E=>{nt(Z=>{const me=Bd(E);return me===Z?Z:me})},[]);_.useEffect(()=>{const E=me=>{const Me=xi.current;if(Me){const Ee=me.clientY-Me.y,He=Bd(Me.composerHeight-Ee);nt(He)}const Pe=si.current;if(Pe){const Ee=me.clientX-Pe.x;Pe.target==="chat"?Un(nk(Pe.width+Ee)):xn(rk(Pe.width-Ee))}},Z=()=>{const me=!!si.current;xi.current=null,si.current=null,document.body.style.userSelect="",me&&document.body.classList.remove("panel-resizing")};return window.addEventListener("pointermove",E),window.addEventListener("pointerup",Z),()=>{window.removeEventListener("pointermove",E),window.removeEventListener("pointerup",Z),document.body.style.userSelect="",document.body.classList.remove("panel-resizing")}},[]),_.useEffect(()=>{const E=()=>{nt(Z=>Bd(Z)),Un(Z=>Z&&nk(Z)),xn(Z=>Z&&rk(Z))};return window.addEventListener("resize",E),()=>window.removeEventListener("resize",E)},[Un,xn]),_.useEffect(()=>{if(!pr)return;const E=Z=>{Z.key==="Escape"&&!Ks&&pt(null)};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[pr,Ks]),_.useEffect(()=>{pr!=null&&pr.options.length?et(pr.options[0].id):et(null)},[pr]),_.useEffect(()=>{xt||Nn("")},[xt]),_.useEffect(()=>{if(!xt)return;const E=Z=>{Z.key==="Escape"&&!Mn&&Xe(null)};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[xt,Mn]);const Fd=jr?/failed|error/i.test(jr):!1,[kp,Sp]=_.useState(0),wp=hr==null?void 0:hr.stage;_.useEffect(()=>{if(Sp(0),!zn)return;const E=window.setInterval(()=>Sp(Z=>Z+1),1e3);return()=>window.clearInterval(E)},[zn,jr,wp]);const Cp=zn&&!Fd&&kp>=5?` · ${kp}s`:"",oy=(hr?hr.stage:jr??(Zl>0?t("stream.shapingUpdate"):t("stream.gettingReady")))+Cp,_p=(hr?hr.stage:jr??(Zl>0?t("stream.updating"):t("stream.thinking")))+Cp,Zs=(jr==null?void 0:jr.match(/reconnecting(?:\s+agent\s+stream)?(?:\s+\((\d+)\/(\d+)\))?/i))??null,Ep=Zs!=null&&Zs[1]?Number(Zs[1]):null,Tp=Zs!=null&&Zs[2]?Number(Zs[2]):null,rc=Zs?Ep&&Tp?`Reconnect ${Ep}/${Tp}`:"Reconnecting":null,Ap=`field_draft ${mr.eventsPerSecond}/s · chars ${mr.charsPerSecond}/s · lag ${mr.typingLagChars}`,ay={"--composer-height":`${Ye}px`},Ys=Be==="properties",Js=Be==="history",ic=Be==="health",Ud=_.useCallback(()=>{W(void 0),U(void 0),qe("chat")},[]);_.useLayoutEffect(()=>{const E=oi.current,Z=Wt.iframeRef.current;if(!E||!Z)return;const me=Ee=>{var ts;if(Ee?Z.classList.remove("preview-iframe-no-transition"):Z.classList.add("preview-iframe-no-transition"),!Ys){Z.style.removeProperty("width"),Z.style.removeProperty("height"),Z.style.removeProperty("transform"),Lr(Li=>Li===1?Li:1);return}const He=E.offsetWidth,Tt=((ts=un.current)==null?void 0:ts.offsetWidth)??0;if(He<=0||Tt<=0)return;const cn=He+Tt,sr=He/cn;Z.style.width=`${cn}px`,Z.style.height=`${100/sr}%`,Z.style.transform=`scale(${sr})`,Lr(Li=>Math.abs(Li-sr)<5e-4?Li:sr)};me(!0);const Me=new ResizeObserver(()=>me(!1)),Pe=window.setTimeout(()=>{Me.observe(E);const Ee=un.current;Ee&&Me.observe(Ee)},240);return()=>{window.clearTimeout(Pe),Z.classList.remove("preview-iframe-no-transition"),Me.disconnect()}},[Ys,Wt.iframeRef]);const Np={...vi?{"--chat-width":`${vi}px`}:{},...ln?{"--props-width":`${ln}px`}:{}},Hd=Pi.some(E=>E.role==="user"),Vd=_.useCallback(E=>{const Z=[];E.text&&Z.push(E.text),E.status&&!E.canUndo&&E.status!=="needs_clarification"&&E.status!=="plan_ready"&&Z.push(`status: ${E.status}`);const me=(E.changes??[]).filter(Me=>!vj(E.text,Me));if(me.length>0&&Z.push(`changes: ${me.join(`
|
|
734
|
+
`).length)),readOnly:!m.editable,value:j,onFocus:m.editable?O:void 0,onBlur:m.editable?R:void 0,onChange:m.editable?U=>{x(U.target.value),w(Jue(U.target.value))}:void 0})})]});if(t.kind==="headingLevel"){const U=(r&&OI[r])??"h2",H=g&&/^h[1-6]$/.test(g)?g:"";return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsxs("select",{className:"property-field-input property-field-select",value:H,onChange:G=>i(G.target.value),children:[p.jsxs("option",{value:"",children:["Auto (",U.toUpperCase(),")"]}),["h1","h2","h3","h4","h5","h6"].map(G=>p.jsx("option",{value:G,children:cve[G]},G))]})]})}if(t.kind==="image")return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsx("div",{className:"property-field-image-url",title:g,children:g||"(empty)"})]});if(t.kind==="enum"&&t.options){const U=t.options.includes(g);return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsxs("select",{className:"property-field-input property-field-select",value:g,onChange:H=>i(H.target.value),children:[!U&&p.jsx("option",{value:g,children:g||"—"}),t.options.map(H=>p.jsx("option",{value:H,children:H},H))]})]})}if(t.kind==="boolean"){const U=g==="true"||g==="1";return p.jsx("div",{className:`${M} property-field--inline`,ref:A,children:p.jsxs("div",{className:"property-field-label",children:[p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]}),p.jsx("button",{type:"button",role:"switch","aria-checked":U,"aria-label":D,className:`property-field-switch${U?" is-on":""}`,onClick:()=>i(U?"false":"true"),children:p.jsx("span",{className:"property-field-switch-knob","aria-hidden":"true"})})]})})}if(t.kind==="color")return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:D})}),p.jsx("input",{type:"color",className:"property-field-color",value:g||"#000000",onChange:U=>i(U.target.value)})]});if(t.kind==="html")return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:"property-field-input-wrap",children:p.jsx(dve,{value:g,onCommit:U=>i(U),onFocus:O,onBlur:R,inline:t.inline})})]});if(t.kind==="richtext")return n!==null&&typeof n=="object"?p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:"property-field-input-wrap",children:p.jsx(SL,{value:n,onChange:U=>w(U),onFocus:O,onBlur:R,decorators:t.decorators,inline:t.inline})})]}):p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsx("div",{className:`property-field-input-wrap${u?" property-field-input-wrap--ai-loading":""}`,children:p.jsx(Qxe,{value:g,onChange:U=>{x(U),w(U)},onFocus:O,onBlur:R,trailing:s?p.jsx(Jh,{variant:"toolbar",onClick:s,fieldKind:t.kind,fieldLabel:t.label??e,blockType:r??"",currentValue:g,onQuickAction:o,onCustomPrompt:s,aiLoading:u}):null})})]});const V=t.multiline===!0,F=t.kind==="number"?"number":t.kind==="url"?"url":"text",W={value:j,onFocus:O,onChange:U=>{x(U.target.value),w(U.target.value)},onBlur:R};return p.jsxs("div",{className:M,ref:A,children:[p.jsx("div",{className:"property-field-label",children:p.jsxs("span",{children:[D,t.required&&p.jsx("span",{className:"property-field-required",children:"*"})]})}),p.jsxs("div",{className:`property-field-input-wrap${u?" property-field-input-wrap--ai-loading":""}`,children:[V?p.jsx("textarea",{className:"property-field-textarea",rows:3,...W}):p.jsx("input",{type:F,className:"property-field-input",...W}),s?p.jsx(Jh,{onClick:s,fieldKind:t.kind,fieldLabel:t.label??e,blockType:r??"",currentValue:g,onQuickAction:o,onCustomPrompt:s,aiLoading:u}):null]})]})}function hve({slug:e,navLabel:t,onNavLabelChange:n,onAiAssist:r,onAiQuickAction:i,aiLoading:s,fieldShimmer:o}){const{t:a}=An(),[u,d]=_.useState(t),[f,m]=_.useState(!1),g=f?u:t,{debouncedCommit:y,flushCommit:x}=Pd(v=>n(e,v),400);return p.jsx(Qb,{id:"page:nav",title:a("propertyPanel.navigation"),count:1,children:p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:a("propertyPanel.navLabel")})}),p.jsxs("div",{className:`property-field-input-wrap${o?" property-field-input-wrap--ai-loading":""}`,children:[p.jsx("input",{type:"text",className:"property-field-input",placeholder:a("propertyPanel.navPlaceholder"),value:g,onFocus:()=>{d(t),m(!0)},onChange:v=>{d(v.target.value),y(v.target.value)},onBlur:()=>{m(!1),x()}}),r?p.jsx(Jh,{onClick:()=>r("Nav label","text",t),fieldKind:"text",fieldLabel:"Nav label",blockType:"Page",currentValue:t,onQuickAction:i?v=>i("Nav label","text",t,v):void 0,onCustomPrompt:()=>r("Nav label","text",t),aiLoading:o}):null]})]})})}function pve({pageMeta:e,onPageMetaChange:t,onAiAssist:n,onAiQuickAction:r,aiLoading:i,aiLoadingPath:s}){const{t:o}=An();return p.jsxs(Qb,{id:"page:seo",title:o("propertyPanel.seo"),count:3,children:[p.jsx(qv,{label:o("propertyPanel.seoTitle"),fieldKind:"text",blockType:"Page",value:e.title??"",placeholder:o("propertyPanel.seoTitlePlaceholder"),multiline:!0,autosizeRows:{min:2,max:2},recommendedMax:60,onCommit:a=>t("title",a),onAiAssist:n?()=>n("SEO title","text",e.title??""):void 0,onAiQuickAction:r?a=>r("SEO title","text",e.title??"",a):void 0,aiLoading:i,fieldShimmer:i===!0&&s==="SEO title"}),p.jsx(qv,{label:o("propertyPanel.metaDescription"),fieldKind:"richtext",blockType:"Page",value:e.description??"",placeholder:o("propertyPanel.metaDescPlaceholder"),multiline:!0,autosizeRows:{min:3,max:6},recommendedMax:160,onCommit:a=>t("description",a),onAiAssist:n?()=>n("Meta description","richtext",e.description??""):void 0,onAiQuickAction:r?a=>r("Meta description","richtext",e.description??"",a):void 0,aiLoading:i,fieldShimmer:i===!0&&s==="Meta description"}),p.jsx(qv,{label:o("propertyPanel.ogImage"),fieldKind:"url",blockType:"Page",value:e.ogImage??"",placeholder:"https://...",onCommit:a=>t("ogImage",a)})]})}function qv({label:e,fieldKind:t,blockType:n,value:r,placeholder:i,multiline:s,autosizeRows:o,recommendedMax:a,onCommit:u,onAiAssist:d,onAiQuickAction:f,aiLoading:m,fieldShimmer:g}){const[y,x]=_.useState(r),[v,S]=_.useState(!1),w=_.useRef(null),T=v?y:r,{debouncedCommit:A,flushCommit:M}=Pd(u,400),j=s===!0&&o!=null,D=_.useCallback(()=>{if(!j||!w.current||!o)return;const V=w.current,F=getComputedStyle(V),W=Number.parseFloat(F.lineHeight),U=Number.parseFloat(F.fontSize)||15,H=Number.isFinite(W)?W:U*1.2,G=(Number.parseFloat(F.paddingTop)||0)+(Number.parseFloat(F.paddingBottom)||0),q=(Number.parseFloat(F.borderTopWidth)||0)+(Number.parseFloat(F.borderBottomWidth)||0),I=o.min*H+G+q,B=o.max*H+G+q;V.style.height="0px";const Y=V.scrollHeight,ne=Math.max(I,Math.min(B,Y));V.style.height=`${ne}px`,V.style.overflowY=Y>B?"auto":"hidden"},[j,o]);_.useLayoutEffect(()=>{D()},[D,T,v,r]),_.useEffect(()=>{if(!j)return;const V=()=>D();return window.addEventListener("resize",V),()=>window.removeEventListener("resize",V)},[j,D]);const O={placeholder:i,value:T,onFocus:()=>{x(r),S(!0)},onChange:V=>{x(V.target.value),A(V.target.value)},onBlur:()=>{S(!1),M()}},R=(v?y:r).length;return p.jsxs("div",{className:"property-field",children:[p.jsx("div",{className:"property-field-label",children:p.jsx("span",{children:e})}),p.jsxs("div",{className:`property-field-input-wrap${g?" property-field-input-wrap--ai-loading":""}`,children:[s?p.jsx("textarea",{ref:j?w:void 0,className:`property-field-textarea${j?" property-field-textarea--autosize":""}`,rows:(o==null?void 0:o.min)??3,...O}):p.jsx("input",{type:"text",className:"property-field-input",...O}),d?p.jsx(Jh,{onClick:d,fieldKind:t,fieldLabel:e,blockType:n,currentValue:v?y:r,onQuickAction:f,onCustomPrompt:d,aiLoading:g}):null]}),a!=null&&p.jsxs("span",{className:`property-field-char-count${R>a?" property-field-char-count--over":""}`,children:[R," / ",a]})]})}class Kv extends _.Component{constructor(){super(...arguments);Ce(this,"state",{error:null});Ce(this,"reset",()=>{var n,r;(r=(n=this.props).onReset)==null||r.call(n),this.setState({error:null})})}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){var i,s;console.error("[editor] Uncaught error in component tree:",n,r.componentStack),(s=(i=this.props).onError)==null||s.call(i,n,r)}render(){return this.state.error?p.jsxs("div",{style:this.props.style,className:"flex flex-col items-center justify-center gap-3 p-6 text-center text-sm text-muted-foreground h-full",children:[p.jsx("p",{className:"font-medium text-foreground",children:this.props.fallbackLabel??"Something went wrong"}),p.jsx("p",{className:"max-w-xs opacity-70 text-xs",children:this.state.error.message}),p.jsx("button",{type:"button",onClick:this.reset,className:"rounded-md border px-3 py-1.5 text-xs hover:bg-accent transition-colors",children:"Try again"})]}):this.props.children}}function mve({siteId:e,orchestratorUrl:t,hostedIds:n,siteOwnOrchestrator:r}){const{t:i}=An(),s=()=>{Nue(e),window.location.href=Mue(window.location.href)},o=()=>{r&&(Aue(e,r),window.location.reload())};return r?p.jsxs("div",{className:"orchestrator-mismatch",role:"alert",children:[p.jsxs("div",{className:"orchestrator-mismatch-body",children:[p.jsx("strong",{children:i("orchestratorMismatch.ownTitle")}),p.jsx("span",{children:i("orchestratorMismatch.ownDetail",{orchestrator:t,siteOrchestrator:r})})]}),p.jsx("button",{type:"button",className:"orchestrator-mismatch-action",onClick:o,children:i("orchestratorMismatch.useSiteOwn")})]}):p.jsxs("div",{className:"orchestrator-mismatch",role:"alert",children:[p.jsxs("div",{className:"orchestrator-mismatch-body",children:[p.jsx("strong",{children:i("orchestratorMismatch.title")}),p.jsx("span",{children:n.length>0?i("orchestratorMismatch.detailHosts",{orchestrator:t,hosted:n.join(", ")}):i("orchestratorMismatch.detail",{orchestrator:t})})]}),p.jsx("button",{type:"button",className:"orchestrator-mismatch-action",onClick:s,children:i("orchestratorMismatch.useDefault")})]})}const xg=3e3;function gve(e){const[t,n]=_.useState({status:"loading",blocks:[],manifest:null});_.useEffect(()=>{let i=!0,s=null;const o=async()=>{try{const u=await fetch(`${e||Nd}/api/editor/blocks`);if(!u.ok){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:`Manifest endpoint returned ${u.status}`}),s=setTimeout(()=>{i&&o()},xg);return}const d=await u.json(),f=zI.safeParse(d);if(!f.success){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:"Manifest response shape is invalid"}),s=setTimeout(()=>{i&&o()},xg);return}const m=FI(f.data.blocks);if(m){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:m}),s=setTimeout(()=>{i&&o()},xg);return}if(!i)return;n({status:"ready",blocks:f.data.blocks,version:f.data.version,manifest:f.data})}catch(a){if(!i)return;n({status:"degraded",blocks:[],manifest:null,reason:a instanceof Error?a.message:"Manifest fetch failed"}),s=setTimeout(()=>{i&&o()},xg)}};return o(),()=>{i=!1,s&&clearTimeout(s)}},[e]);const r=_.useMemo(()=>{const i=new Map;for(const s of t.blocks)i.set(s.type,s);return i},[t.blocks]);return{...t,byType:r,siteCapabilities:{allowStructuralEdits:t.status==="ready",manifestStatus:t.status,reason:t.reason,manifestVersion:t.version,blockCount:t.blocks.length,checkedAt:new Date().toISOString()},allowStructuralEdits:t.status==="ready"}}function bve(e){const[t,n]=_.useState(void 0);return _.useEffect(()=>{if(yk)return;let r=!1;return Tue(e).then(i=>{r||!i||i.replace(/\/+$/,"")!==Le.replace(/\/+$/,"")&&n(i)}),()=>{r=!0}},[e]),t}function yve(e){return null}function xve(){const e=yve();return e||"text"}const vve=/^[a-z]{2}(?:-[a-z0-9]{2,8})?$/i,Tl="default",kve=2;let qf;function Sve(e){if(!vve.test(e))return!1;if(qf===void 0)try{qf=new Intl.DisplayNames(["en"],{type:"language",fallback:"none"})}catch{qf=null}if(!qf)return!1;try{return typeof qf.of(e)=="string"}catch{return!1}}function ey(e){return e.split("/").filter(Boolean)}function Gu(e){const t=ey(e);return t.length===0?"/":`/${t.join("/")}`}function wve(e){const t={},n=[];for(const u of e){const d=ey(u)[0];if(d&&Sve(d)){const f=d.toLowerCase();(t[f]||(t[f]=[])).push(u)}else n.push(u)}const r=Object.keys(t).sort();if(r.length<2)return null;const i=new Map;for(const u of r)for(const d of new Set(t[u].map(f=>Z2(f,u))))i.set(d,(i.get(d)??0)+1);if(![...i.values()].some(u=>u>=2))return null;const o=n.filter(u=>i.has(Gu(u))).length>=kve,a=o?[]:n;o&&(t[Tl]=n,r.unshift(Tl));for(const u of r){const d=u===Tl?"/":`/${u}`;t[u].sort((f,m)=>f===d?-1:m===d?1:0)}return{locales:r,byLocale:t,shared:a}}function EL(e,t){var i;const n=(i=ey(e)[0])==null?void 0:i.toLowerCase();if(n&&t.byLocale[n])return n;const r=t.byLocale[Tl];return r!=null&&r.some(s=>Gu(s)===Gu(e))?Tl:void 0}function Z2(e,t){var i;if(!t||t===Tl)return Gu(e);const n=ey(e);if(((i=n[0])==null?void 0:i.toLowerCase())!==t.toLowerCase())return Gu(e);const r=n.slice(1);return r.length===0?"/":`/${r.join("/")}`}function Cve(e,t){return`${xj(Z2(e,t))} (${e})`}function _ve(e,t,n){const r=n.byLocale[t];if(!r||r.length===0)return e;const i=Z2(e,EL(e,n)),s=t===Tl?i:i==="/"?`/${t}`:`/${t}${i}`;return r.find(a=>Gu(a)===Gu(s))??r[0]}function Eve(e){try{const t=new Intl.DisplayNames([e],{type:"language"}).of(e);if(t&&t.toLowerCase()!==e.toLowerCase())return t.charAt(0).toUpperCase()+t.slice(1)}catch{}return e.toUpperCase()}const FD=xve(),Tve=C$(),Ave=_.lazy(()=>vB(()=>import("./PuckPrototypeRoute-CSim5DCQ.js").then(e=>e.P),__vite__mapDeps([0,1])).then(e=>({default:e.PuckPrototypeRoute}))),Nve=new Set(["/editor/puck","/editor/puck/"]),Mve=3e4,TL="site-reachable-v1:",Dve=5e3;function AL(e){if(typeof sessionStorage>"u")return null;try{const t=sessionStorage.getItem(TL+e);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.ts>Mve?null:n.ok}catch{return null}}function UD(e,t){if(!(typeof sessionStorage>"u"))try{sessionStorage.setItem(TL+e,JSON.stringify({ok:t,ts:Date.now()}))}catch{}}function Rve({name:e,origin:t,statusClass:n,active:r,dimmed:i,onSelect:s}){const o=t.replace(/^https?:\/\//,"");return p.jsxs("button",{type:"button",role:"menuitem",className:`site-switcher-item${r?" is-active":""}${i?" is-dimmed":""}`,onClick:s,title:t,children:[p.jsx("span",{className:`site-switcher-item-dot site-switcher-item-dot-${n}`,"aria-hidden":"true"}),p.jsxs("span",{className:"site-switcher-item-body",children:[p.jsx("span",{className:"site-switcher-item-name",children:e}),p.jsx("span",{className:"site-switcher-item-origin",children:o})]}),r?p.jsx(Qh,{size:12,"aria-hidden":"true"}):null]})}function HD(e){if(typeof sessionStorage>"u")return null;const t=new Set;let n=!1;for(const r of e){const i=AL(r);i!==null&&(n=!0,i&&t.add(r))}return n?t:null}function jve(e,t){if(e===t)return!0;if(!e||!t||e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Ive(){const e=typeof window<"u"?window.location.pathname:"/",t=e==="/"||e==="/editor"||e==="/editor/",n=Nve.has(e),r=e==="/sites"||e==="/sites/";de(d=>d.chatDarkMode);const i=de(d=>d.setChatDarkMode),s=_.useMemo(()=>TK(),[]),o=_.useMemo(()=>Ej(),[]),a=_.useRef(!1);if(!a.current){a.current=!0;const d=typeof window<"u"?window.location.origin:"http://localhost:4100";B$({sessionId:s,siteId:o,editorOrigin:d,orchestratorUrl:Le})}const u=Rue(o,s);return _.useEffect(()=>{if(typeof window>"u")return;const d=window.matchMedia("(prefers-color-scheme: dark)"),f=m=>i(m.matches);return d.addEventListener("change",f),()=>d.removeEventListener("change",f)},[i]),n?p.jsx(_.Suspense,{fallback:p.jsx("div",{style:{height:"100vh",display:"grid",placeItems:"center"},children:"Loading prototype…"}),children:p.jsx(Ave,{})}):r?p.jsx(bN,{sites:u,session:s}):t?p.jsx(zve,{sites:u}):p.jsx(bN,{sites:u,session:s})}const Ove=new Set(["avocado-hub","avocado-stories","avocado-magic","avocado-odyssey"]);function Pve(e){return e.split(".").map(t=>{const n=t.match(/^([a-zA-Z_]+)\[(\d+)\]$/);return n?`${VD(n[1])} ${Number(n[2])+1}`:VD(t)}).join(" · ")}function VD(e){const n=e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s*url\s*$/i,"").trim();return n?n.charAt(0).toUpperCase()+n.slice(1):e}function zve({sites:e}){var Rp,jp,qd;const{t}=An(),n=qi(),r=Ki(),i=de(E=>E.chatDarkMode),s=de(E=>E.setChatDarkMode),{activeSiteConfig:o}=e,a=_.useMemo(()=>Au(o),[o]),u=gve(a),d=typeof window<"u"?window.location.origin:"http://localhost:4100",f=bve(a),m=e.siteHosting==="notHosted"||f!=null,g=de(E=>E.slug),y=de(E=>E.setSlug),x=de(E=>E.availableSlugs);de(E=>E.setAvailableSlugs);const v=de(E=>E.isLoadingSlugs),S=de(E=>E.modelKey),w=de(E=>E.setModelKey),T=de(E=>E.provider),A=de(E=>E.setProvider),M=de(E=>E.availableProviders),j=de(E=>E.setAvailableProviders),[D,O]=_.useState(""),R=de(E=>E.activeBlockId),V=de(E=>E.activeBlockType),F=de(E=>E.activeEditablePath),W=E=>de.getState().setActiveBlock(E),U=E=>{const Z=de.getState();Z.setActiveBlock(Z.activeBlockId,E)},H=(E,Z)=>de.getState().setActiveBlock(E,Z),G=de(E=>E.setActiveEditablePath),q=de(E=>E.useStreaming),I=de(E=>E.setUseStreaming),B=de(E=>E.autoScrollTrackingEnabled),Y=de(E=>E.setAutoScrollTrackingEnabled),[ne,P]=_.useState(!1),[z,J]=_.useState(Tve),L=_.useCallback(E=>{J(E);try{window.localStorage.setItem(Qv,E?"1":"0")}catch{}},[]),X=_.useMemo(()=>!0,[]),oe=X&&z,[ie,se]=_.useState(!1),[Ne,_e]=_.useState(0),Oe=_.useCallback(()=>_e(E=>E+1),[]),ce=de(E=>E.showSettingsModal),ee=de(E=>E.setShowSettingsModal),Ie=de(E=>E.showDebugDetails),ze=de(E=>E.setShowDebugDetails),Ye=de(E=>E.composerHeight),nt=de(E=>E.setComposerHeight),xt=de(E=>E.addBlockPicker),Xe=de(E=>E.setAddBlockPicker),st=de(E=>E.addBlockSearch),Nn=de(E=>E.setAddBlockSearch),Mn=de(E=>E.isAddingBlock),Xn=de(E=>E.setIsAddingBlock),Et=de(E=>E.copiedDebugEntryId),kt=de(E=>E.setCopiedDebugEntryId),In=de(E=>E.feedbackNoteEntryId),fe=de(E=>E.setFeedbackNoteEntryId),pe=de(E=>E.feedbackNoteText),$e=de(E=>E.setFeedbackNoteText),ot=de(E=>E.selectedVariationId),et=de(E=>E.setSelectedVariationId),Pt=de(E=>E.imagePickerTarget),bn=de(E=>E.setImagePickerTarget),Yt=Pt!==null,yn=de(E=>E.backendFeatures),vr=de(E=>E.setBackendFeatures),Jt=de(E=>E.setBackendSite),Qn=de(E=>E.selectionModeEnabled),be=de(E=>E.setSelectionModeEnabled),Fe=de(E=>E.anchorRect),dt=de(E=>E.setAnchorRect),ye=de(E=>E.anchoredExpanded),Te=de(E=>E.setAnchoredExpanded),Be=de(E=>E.activeTab),qe=de(E=>E.setActiveTab),[tt,rt]=_.useState(!1),[wt,zt]=_.useState(!1),On=_.useRef(null);_.useEffect(()=>{if(!wt)return;const E=me=>{On.current&&!On.current.contains(me.target)&&zt(!1)},Z=me=>{me.key==="Escape"&&zt(!1)};return document.addEventListener("mousedown",E),document.addEventListener("keydown",Z),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("keydown",Z)}},[wt]);const[kr,Pr]=_.useState(()=>HD(e.siteList.map(E=>E.id))),yi=_.useCallback(E=>{Pr(Z=>jve(Z,E)?Z:E)},[]);_.useEffect(()=>{if(!wt)return;yi(HD(e.siteList.map(me=>me.id)));let E=!0;return(async()=>{let me=!0;const Me=await Promise.all(e.siteList.map(async Pe=>{const Ee=AL(Pe.id);if(Ee!==null)return{id:Pe.id,ok:Ee};me=!1;const He=Au(Pe);try{const Tt=await fetch(`${He}/api/editor/blocks?siteId=${encodeURIComponent(Pe.id)}`,{signal:AbortSignal.timeout(2500)});return UD(Pe.id,Tt.ok),{id:Pe.id,ok:Tt.ok}}catch{return UD(Pe.id,!1),{id:Pe.id,ok:!1}}}));E&&!me&&yi(new Set(Me.filter(Pe=>Pe.ok).map(Pe=>Pe.id)))})(),()=>{E=!1}},[wt,e.siteList,yi]);const Ri=_.useMemo(()=>{const E=kr===null;return e.siteList.map(Z=>{const me=E||Z.id===r||kr.has(Z.id);return{site:Z,origin:Au(Z),online:me,probing:E}}).sort((Z,me)=>Z.site.id===r?-1:me.site.id===r?1:Z.online!==me.online?Z.online?-1:1:Z.site.name.localeCompare(me.site.name))},[kr,e.siteList,r]),{onlineEntries:xs,activeEntry:dr}=_.useMemo(()=>({onlineEntries:Ri.filter(E=>E.online),activeEntry:Ri.find(E=>E.site.id===r)}),[Ri,r]),Qi=_.useRef(null),Fs=_.useRef(null),Xt=_.useRef(!0),wn=_.useRef(!1),fr=_.useRef(null),ii=_.useRef(void 0),zr=_.useRef(!1),ji=_.useRef(null),Gr=_.useRef(!1),Uo=_.useRef(0),xi=_.useRef(null),si=_.useRef(null),vi=de(E=>E.chatWidth),Un=de(E=>E.setChatWidth),ln=de(E=>E.propsWidth),xn=de(E=>E.setPropsWidth),un=_.useRef(null),oi=_.useRef(null),[ki,Lr]=_.useState(1),ai=_.useRef(null),fo=_.useRef(null),Ii=_.useRef(!1),ho=_.useRef(!1);_.useEffect(()=>{if(!ho.current&&!(v||x.length===0)){if(g!=="/"||x.includes("/")){ho.current=!0;return}ho.current=!0,zr.current=!1,y(x[0])}},[x,v,g,y]);const Us=_.useMemo(()=>{const E=Array.from(new Set([...x,g].filter(Boolean)));return E.includes("/")?["/",...E.filter(Z=>Z!=="/")]:E},[x,g]),rr=_.useMemo(()=>wve(Us),[Us]),li=rr?EL(g,rr)??rr.locales[0]:void 0,Si=_.useMemo(()=>!rr||!li?Us:rr.byLocale[li]??[],[rr,li,Us]),er=_.useMemo(()=>{if(!u.allowStructuralEdits)return[];if(u.blocks.length>0)return u.blocks.map(Z=>({type:Z.type,label:Z.displayName??Z.type,category:"content"})).sort((Z,me)=>Z.label.localeCompare(me.label));const E=vu();return[...Pk].map(Z=>{var me,Me;return{type:Z,label:((me=E[Z])==null?void 0:me.displayName)??Z,category:((Me=E[Z])==null?void 0:Me.category)??"content"}}).sort((Z,me)=>Z.label.localeCompare(me.label))},[u.allowStructuralEdits,u.blocks]),Hs=_.useMemo(()=>{const E=st.trim().toLowerCase(),Z=E?er.filter(Pe=>Pe.label.toLowerCase().includes(E)||Pe.type.toLowerCase().includes(E)):er,me=new Map;for(const Pe of Z){const Ee=Pe.category||"content",He=me.get(Ee);He?He.push(Pe):me.set(Ee,[Pe])}const Me=["content","layout","conversion","navigation","media"];return[...me.entries()].sort((Pe,Ee)=>{const He=Me.indexOf(Pe[0]),Tt=Me.indexOf(Ee[0]),cn=He===-1?Number.MAX_SAFE_INTEGER:He,sr=Tt===-1?Number.MAX_SAFE_INTEGER:Tt;return cn!==sr?cn-sr:Pe[0].localeCompare(Ee[0])}).map(([Pe,Ee])=>({category:Pe,options:Ee}))},[st,er]),Oi=()=>{const E=Date.now();E-Uo.current<1200||(Uo.current=E,Ve.pushAssistantFromResult({status:"needs_clarification",summary:t("streamError.structuralDisabled"),changes:XO(u.reason)}))},Ho=_.useRef(()=>{}),ui=_.useCallback(E=>{de.getState().slug!==E&&(Gr.current=!0,y(E))},[y]),Vo=_.useMemo(()=>({onBlockClicked:(E,Z,me,Me,Pe,Ee)=>{ui(E),H(Z,me),G(Me),dt(Z?Ee:null),de.getState().setActiveTab(Z?"properties":"chat")},onRouteChanged:E=>{de.getState().slug!==E&&H(void 0,void 0),ui(E),G(void 0),dt(null),Pn.current("setSelectionMode",{enabled:de.getState().selectionModeEnabled}),Ho.current(E)},onBlockReordered:(E,Z,me)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.reorderBlock(E,Z,me)},onBlockDeleteRequested:(E,Z)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.deleteBlock(E,Z)},onBlockAddRequested:(E,Z)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),!(!Z.afterBlockId&&!Z.beforeBlockId)&&Xe({slug:E,afterBlockId:Z.afterBlockId,beforeBlockId:Z.beforeBlockId})},onListItemAddRequested:(E,Z,me,Me,Pe)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.addListItem(E,Z,me,Me,Pe)},onListItemRemoveRequested:(E,Z,me,Me,Pe)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.removeListItem(E,Z,me,Me,Pe)},onListItemMoveRequested:(E,Z,me,Me,Pe,Ee)=>{if(!u.allowStructuralEdits){Oi();return}E!==g&&ui(E),G(void 0),Ve.moveListItem(E,Z,me,Me,Pe,Ee)},onOpenImagePicker:(E,Z,me,Me,Pe)=>{bn({slug:E,blockId:Z,editablePath:me,currentUrl:Me,blockType:Pe??(Z===R?V:void 0)})},onEditBlockRequested:(E,Z)=>{Te(!0)},onInlineTextCommitted:(E,Z,me,Me)=>{E!==g&&ui(E),me&&G(me),Ve.inlineEditCommit(E,Z,me,Me)},onIframeScrolled:()=>{dt(null),de.getState().isLoading&&de.getState().setAutoScrollSuppressed(!0)}}),[u.allowStructuralEdits,ui,g]);_.useCallback(async()=>{var E;try{const Z=`${Le}/draft/pages?session=${encodeURIComponent(n)}&siteId=${encodeURIComponent(r)}&slug=${encodeURIComponent(g)}`,me=await fetch(Z,{cache:"no-store"});if(!me.ok)return;const Pe=((await me.json()).blocks??[]).find(Ee=>Ee.type==="Hero");if(!Pe)return;H(Pe.id,Pe.type),bn({slug:g,blockId:Pe.id,editablePath:"imageUrl",currentUrl:typeof((E=Pe.props)==null?void 0:E.imageUrl)=="string"?Pe.props.imageUrl:void 0,blockType:Pe.type})}catch{}},[n,r,g,bn]);const Wt=jue(g,Vo,a),Pn=_.useRef(Wt.postToSite);_.useEffect(()=>{Pn.current=Wt.postToSite},[Wt.postToSite]);const Vs=_.useCallback(E=>{const Z=E??!Qn;be(Z),Wt.postToSite("setSelectionMode",{enabled:Z})},[Qn,Wt]);_.useEffect(()=>{const E=Z=>{Z.key==="Escape"&&Qn&&Vs(!1)};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[Qn,Vs]),_.useEffect(()=>{if(Be!=="history")return;const E=Z=>{Z.key==="Escape"&&de.getState().setActiveTab("chat")};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[Be]);const Gl=_.useCallback((E,Z)=>{(E==="draftUpdated"||E==="liveDraft")&&Oe(),Wt.postToSite(E,Z)},[Wt,Oe]),Wl=_.useCallback((E,Z,me,Me)=>(Oe(),Wt.postPatchToSite(E,Z,me,Me)),[Wt,Oe]),Ve=$ue({activeSiteConfig:o,siteRegistryChecked:e.siteRegistryChecked,postToSite:Gl,postPatchToSite:Wl,componentManifest:u.manifest,siteCapabilities:u.siteCapabilities,allowStructuralEdits:u.allowStructuralEdits,getBlockDefaultProps:E=>{var Z;return((Z=u.byType.get(E))==null?void 0:Z.defaultProps)??null},onApplied:()=>{var E;(E=ii.current)==null||E.call(ii)},agentModeEnabled:yn.agentMode??!1}),Pi=de(E=>E.chatLog),vs=de(E=>E.chatAttachments),Wr=de(E=>E.setChatAttachments),zn=de(E=>E.isLoading),jr=de(E=>E.streamStatus),po=de(E=>E.streamingText),Aa=de(E=>E.streamingChanges),Na=de(E=>E.streamSteps),Zl=de(E=>E.streamTokenCount),qs=de(E=>E.latestStreamFocusBlockId),hr=de(E=>E.imageProgress),mo=de(E=>E.plannerBadgeState),[Yl,go]=_.useState(!1),Sr=de(E=>E.setPlannerBadgeState),qo=de(E=>E.pendingPlanId),pr=de(E=>E.variationModal),Ks=de(E=>E.isApplyingVariation),pt=de(E=>E.setVariationModal),bt=de(E=>E.continuationChainId),we=de(E=>E.fieldDraftDebugEnabled),Qt=de(E=>E.setFieldDraftDebugEnabled),mr=de(E=>E.fieldDraftDebug);_.useEffect(()=>{Ove.has(r)||(w("balanced"),Ve.clearChat())},[r]);function es(E){var Z,me;typeof E.navigateToSlug=="string"&&E.navigateToSlug.length>0&&E.navigateToSlug!==g&&y(E.navigateToSlug),typeof E.canUndo=="boolean"&&((Z=Ve.setCanUndoServer)==null||Z.call(Ve,E.canUndo)),typeof E.canRedo=="boolean"&&((me=Ve.setCanRedoServer)==null||me.call(Ve,E.canRedo)),Wt.postToSite("draftUpdated",{focusBlockId:null}),Oe()}async function Br(E){rt(!0);try{const me=await(await fetch(`${Le}/history/restore`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({session:n,siteId:r,targetVersion:E})})).json();me.status==="applied"&&es(me)}catch{}finally{rt(!1)}}const ir=Hue(n,r,a,Ne),We=Uue(n,r,zn,Ve.pushAssistantFromResult,a,()=>{Wt.postToSite("draftUpdated",{focusBlockId:null}),ir.markPublished()}),gt=ir.summary?ir.summary.total>0:!0,Hn=Vue(),Ut=Be==="properties"&&Ve.hasBootstrapped,Rt=Gue(n,r,g,R,Ut),jt=Wue(n,r,g,Ut);_.useEffect(()=>{!R||V||!Rt.blockType||U(Rt.blockType)},[R,V,Rt.blockType]);const Ct=KK(n,r,!!n),zi=GK(Ct.findings),rn=_.useRef(null),Gs=_.useCallback((E,Z,me)=>{H(E,Z),G(me),dt(null),de.getState().selectionModeEnabled||(de.getState().setSelectionModeEnabled(!0),Pn.current("setSelectionMode",{enabled:!0})),Pn.current("highlightBlock",{blockId:E,editablePath:me??null,scrollIntoView:!0})},[]),Ws=_.useCallback(E=>{const Z=rn.current;!Z||Z.slug!==E||(rn.current=null,!(Z.expiresAt!==void 0&&Date.now()>Z.expiresAt)&&Gs(Z.blockId,Z.blockType,Z.path))},[Gs]);_.useEffect(()=>{if(!rn.current)return;const E=setTimeout(()=>Ws(g),400);return()=>clearTimeout(E)},[g,Ws]),_.useEffect(()=>{Ho.current=Ws},[Ws]);const wi=_.useCallback((E,Z,me,Me)=>{if(!Z){E!==de.getState().slug&&y(E),H(void 0,void 0),G(void 0),qe("properties");return}if(E!==de.getState().slug){rn.current={slug:E,blockId:Z,blockType:me,path:Me},y(E),qe("properties");return}qe("properties"),rn.current={slug:E,blockId:Z,...me?{blockType:me}:{},...Me?{path:Me}:{},expiresAt:Date.now()+Dve},Gs(Z,me,Me)},[Gs]);ii.current=()=>{Rt.refetch(),jt.refetch(),Oe()};const[bo,Jl]=_.useState(()=>xk(g,{session:n,siteId:r,editorOrigin:d},a)),[ty,gp]=_.useState(!1);_.useEffect(()=>{gp(!1)},[bo]),_.useEffect(()=>{ji.current!==a&&(ji.current=a,zr.current=!1);const E={session:n,siteId:r,editorOrigin:d};if(Gr.current){Gr.current=!1;return}if($g&&zr.current){Wt.postToSite("navigate",{href:vk(g,E)});return}const Z=xk(g,E,a);Jl(me=>me===Z?me:Z)},[a,d,n,r,g]);const nc=_.useMemo(()=>{var me;const E=(me=o.vercelProductionUrl)==null?void 0:me.trim(),Z=E&&/^https?:\/\//i.test(E)?E:a;try{const Me=new URL(Z);return Me.origin===a?MK(g,{},a):(Me.pathname=g==="/"?"/":g,Me.search="",Me.hash="",Me.toString())}catch{return}},[o.vercelProductionUrl,a,g]),bp=_.useMemo(()=>a?`${a}${vk(g,{session:n,siteId:r,editorOrigin:d,immersive:"1"})}`:void 0,[a,d,n,r,g]);_.useEffect(()=>{let E=!0;const Z=async()=>{const Me=[`${Le}/status/planner`];Le.includes("localhost")&&Me.push(`${Le.replace("localhost","127.0.0.1")}/status/planner`);try{for(const Pe of Me){const Ee=await fetch(Pe);if(!Ee.ok)continue;const He=await Ee.json();if(!E)return;if(He.features&&vr(He.features),He.site&&Jt(He.site),Array.isArray(He.availableProviders)&&He.availableProviders.length>0&&(j(He.availableProviders),(!He.availableProviders.includes(T)||T!=="anthropic"&&He.availableProviders.includes("anthropic"))&&A(He.availableProviders.includes("anthropic")?"anthropic":He.availableProviders[0])),typeof He.keyFilePath=="string"&&He.keyFilePath.length>0&&de.getState().setKeyFilePath(He.keyFilePath),He.plannerSource==="openai"||He.plannerSource==="anthropic"||He.plannerSource==="gemini"||He.plannerSource==="demo"){Sr(He.plannerSource);return}}E&&Sr("error")}catch{E&&Sr("error")}};Z();const me=window.setInterval(()=>{Z()},1e4);return()=>{E=!1,window.clearInterval(me)}},[]);const yp=_.useRef(0),xp=_.useRef(0);_.useEffect(()=>{const E=Fs.current;if(!E)return;const Z=()=>{const me=Math.abs(E.scrollHeight-E.scrollTop-E.clientHeight)<2||E.scrollHeight<=E.clientHeight;!me&&E.scrollTop<yp.current?Xt.current=!1:me&&(Xt.current=!0),yp.current=E.scrollTop};return E.addEventListener("scroll",Z,{passive:!0}),()=>{E.removeEventListener("scroll",Z)}},[]),_.useEffect(()=>{const E=Fs.current;if(!E||!(Pi.length>0||!!jr||!!po))return;const me=Pi.reduce((Tt,cn)=>cn.role==="user"?Tt+1:Tt,0);me>xp.current&&(Xt.current=!0),xp.current=me;const Me=!wn.current,Pe=Pi.some(Tt=>Tt.role==="user");if(Me&&!Pe&&!jr&&!po){wn.current=!0,Xt.current=!1;return}if(!Me&&!Xt.current)return;const He=window.requestAnimationFrame(()=>{E.scrollTop=E.scrollHeight,Xt.current=!0,wn.current=!0});return()=>window.cancelAnimationFrame(He)},[Pi.length,jr,po,Na.length,Aa.length]),_.useEffect(()=>{Wt.postToSite("setNestedLabelsVisibility",{visible:ne})},[ne]),_.useEffect(()=>{const E=Pn.current;if(!zn){Ii.current&&E("aiFieldLoading",{blockId:"",active:!1}),fo.current=null,Ii.current=!1;return}const Z=qs??R??"",Me=Z&&Z===(R??"")?F??"":"";E("aiFieldLoading",{blockId:Z,editablePath:Me,active:!0}),fo.current={blockId:Z,editablePath:Me},Ii.current=!0},[zn,qs,R,F]),_.useEffect(()=>{if(!zn)return;const E=window.setInterval(()=>{const Z=fo.current;Z&&Pn.current("aiFieldLoading",{blockId:Z.blockId,editablePath:Z.editablePath,active:!0})},1200);return()=>window.clearInterval(E)},[zn]),_.useEffect(()=>{R&&Wt.postToSite("highlightBlock",{blockId:R,editablePath:F??null})},[R,F]),_.useEffect(()=>{Ve.clearFieldAiContext()},[R]),_.useEffect(()=>{R||dt(null)},[R]),_.useEffect(()=>{Te(!1)},[Fe]),_.useEffect(()=>{const E=()=>dt(null);return window.addEventListener("resize",E),()=>window.removeEventListener("resize",E)},[]);const ny=I$(),Ma=_.useMemo(()=>{if(!ny||!Fe||!Qn||!R||typeof window>"u"||window.innerWidth<=1040)return null;const E=Wt.iframeRef.current;if(!E)return null;const Z=E.getBoundingClientRect(),me=380,Me=36,Pe=26,Ee=8,He=Z.top+Fe.top*ki;if(He+Fe.height*ki<Z.top||He>Z.bottom)return null;const cn=He+Ee-(Me-Pe)/2;let sr=Z.left+(Fe.left+Fe.width)*ki-Me-Ee;return sr=Math.max(Z.left+Ee,Math.min(sr,Z.right-Me-Ee)),{top:cn,left:sr,width:me}},[Fe,Qn,R,Wt.iframeRef,ki]);_.useEffect(()=>{Ma&&ye&&requestAnimationFrame(()=>{var E,Z;(Z=(E=ai.current)==null?void 0:E.querySelector("textarea"))==null||Z.focus()})},[!!Ma,ye]);const vp=_.useCallback((E,Z,me,Me)=>{var cn;if(!R||!V)return;const Ee=((cn=vu()[V])==null?void 0:cn.displayName)??V;G(E);const He=Yk(me,Z,V,Me),Tt={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: ${Ee} → ${Z}`,fieldAiContext:{blockId:R,blockType:V,fieldPath:E,fieldLabel:Z,blockDisplayName:Ee},suggestions:He};Ve.setFieldAiContext(Tt)},[R,V]),ry=_.useCallback((E,Z,me)=>{const Me=Yk(Z,E,"Page",me),Pe={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: Page → ${E}`,fieldAiContext:{blockId:"__page__",blockType:"__page__",fieldPath:E,fieldLabel:E,blockDisplayName:"Page"},suggestions:Me};Ve.setFieldAiContext(Pe)},[]),iy=_.useCallback((E,Z,me,Me,Pe)=>{var cn;if(!R||!V)return;const He=((cn=vu()[V])==null?void 0:cn.displayName)??V;G(E),Wt.postToSite("aiFieldLoading",{blockId:R,editablePath:E,active:!0}),fo.current={blockId:R,editablePath:E},Ii.current=!0;const Tt={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: ${He} → ${Z}`,fieldAiContext:{blockId:R,blockType:V,fieldPath:E,fieldLabel:Z,blockDisplayName:He}};Ve.setFieldAiContext(Tt),Ve.submitChat(Pe)},[R,V]),sy=_.useCallback((E,Z,me,Me)=>{G(E);const Pe={id:`field-ai-${Date.now()}`,role:"assistant",text:`Editing: Page → ${E}`,fieldAiContext:{blockId:"__page__",blockType:"__page__",fieldPath:E,fieldLabel:E,blockDisplayName:"Page"}};Ve.setFieldAiContext(Pe),Ve.submitChat(Me)},[]);_.useEffect(()=>{Ve.refreshRouteSlugs()},[n,r,e.siteRegistryChecked]);const Bd=E=>{const me=Qi.current,Me=Fs.current;if(!me||!Me)return Math.max(56,E);const Pe=120,Ee=10,He=Me.offsetTop,Tt=Math.max(56,me.clientHeight-He-Ee-Pe);return Math.min(Tt,Math.max(56,E))},$d=_.useCallback(E=>{nt(Z=>{const me=Bd(E);return me===Z?Z:me})},[]);_.useEffect(()=>{const E=me=>{const Me=xi.current;if(Me){const Ee=me.clientY-Me.y,He=Bd(Me.composerHeight-Ee);nt(He)}const Pe=si.current;if(Pe){const Ee=me.clientX-Pe.x;Pe.target==="chat"?Un(nk(Pe.width+Ee)):xn(rk(Pe.width-Ee))}},Z=()=>{const me=!!si.current;xi.current=null,si.current=null,document.body.style.userSelect="",me&&document.body.classList.remove("panel-resizing")};return window.addEventListener("pointermove",E),window.addEventListener("pointerup",Z),()=>{window.removeEventListener("pointermove",E),window.removeEventListener("pointerup",Z),document.body.style.userSelect="",document.body.classList.remove("panel-resizing")}},[]),_.useEffect(()=>{const E=()=>{nt(Z=>Bd(Z)),Un(Z=>Z&&nk(Z)),xn(Z=>Z&&rk(Z))};return window.addEventListener("resize",E),()=>window.removeEventListener("resize",E)},[Un,xn]),_.useEffect(()=>{if(!pr)return;const E=Z=>{Z.key==="Escape"&&!Ks&&pt(null)};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[pr,Ks]),_.useEffect(()=>{pr!=null&&pr.options.length?et(pr.options[0].id):et(null)},[pr]),_.useEffect(()=>{xt||Nn("")},[xt]),_.useEffect(()=>{if(!xt)return;const E=Z=>{Z.key==="Escape"&&!Mn&&Xe(null)};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[xt,Mn]);const Fd=jr?/failed|error/i.test(jr):!1,[kp,Sp]=_.useState(0),wp=hr==null?void 0:hr.stage;_.useEffect(()=>{if(Sp(0),!zn)return;const E=window.setInterval(()=>Sp(Z=>Z+1),1e3);return()=>window.clearInterval(E)},[zn,jr,wp]);const Cp=zn&&!Fd&&kp>=5?` · ${kp}s`:"",oy=(hr?hr.stage:jr??(Zl>0?t("stream.shapingUpdate"):t("stream.gettingReady")))+Cp,_p=(hr?hr.stage:jr??(Zl>0?t("stream.updating"):t("stream.thinking")))+Cp,Zs=(jr==null?void 0:jr.match(/reconnecting(?:\s+agent\s+stream)?(?:\s+\((\d+)\/(\d+)\))?/i))??null,Ep=Zs!=null&&Zs[1]?Number(Zs[1]):null,Tp=Zs!=null&&Zs[2]?Number(Zs[2]):null,rc=Zs?Ep&&Tp?`Reconnect ${Ep}/${Tp}`:"Reconnecting":null,Ap=`field_draft ${mr.eventsPerSecond}/s · chars ${mr.charsPerSecond}/s · lag ${mr.typingLagChars}`,ay={"--composer-height":`${Ye}px`},Ys=Be==="properties",Js=Be==="history",ic=Be==="health",Ud=_.useCallback(()=>{W(void 0),U(void 0),qe("chat")},[]);_.useLayoutEffect(()=>{const E=oi.current,Z=Wt.iframeRef.current;if(!E||!Z)return;const me=Ee=>{var ts;if(Ee?Z.classList.remove("preview-iframe-no-transition"):Z.classList.add("preview-iframe-no-transition"),!Ys){Z.style.removeProperty("width"),Z.style.removeProperty("height"),Z.style.removeProperty("transform"),Lr(Li=>Li===1?Li:1);return}const He=E.offsetWidth,Tt=((ts=un.current)==null?void 0:ts.offsetWidth)??0;if(He<=0||Tt<=0)return;const cn=He+Tt,sr=He/cn;Z.style.width=`${cn}px`,Z.style.height=`${100/sr}%`,Z.style.transform=`scale(${sr})`,Lr(Li=>Math.abs(Li-sr)<5e-4?Li:sr)};me(!0);const Me=new ResizeObserver(()=>me(!1)),Pe=window.setTimeout(()=>{Me.observe(E);const Ee=un.current;Ee&&Me.observe(Ee)},240);return()=>{window.clearTimeout(Pe),Z.classList.remove("preview-iframe-no-transition"),Me.disconnect()}},[Ys,Wt.iframeRef]);const Np={...vi?{"--chat-width":`${vi}px`}:{},...ln?{"--props-width":`${ln}px`}:{}},Hd=Pi.some(E=>E.role==="user"),Vd=_.useCallback(E=>{const Z=[];E.text&&Z.push(E.text),E.status&&!E.canUndo&&E.status!=="needs_clarification"&&E.status!=="plan_ready"&&Z.push(`status: ${E.status}`);const me=(E.changes??[]).filter(Me=>!vj(E.text,Me));if(me.length>0&&Z.push(`changes: ${me.join(`
|
|
735
735
|
`)}`),(E.errors??[]).length>0&&Z.push(`errors: ${(E.errors??[]).join(`
|
|
736
736
|
`)}`),E.debug){if(Z.push(""),Z.push("Debug"),E.debug.traceId&&Z.push(`traceId: ${E.debug.traceId}`),E.debug.promptHash&&Z.push(`promptHash: ${E.debug.promptHash}`),E.debug.outcome&&Z.push(`outcome: ${E.debug.outcome}`),E.debug.reasonCategory&&Z.push(`reason: ${E.debug.reasonCategory}`),E.debug.reason&&E.debug.reason!==E.debug.reasonCategory&&Z.push(`reasonDetail: ${E.debug.reason}`),E.debug.intent&&Z.push(`intent: ${E.debug.intent}`),E.debug.plannerTier&&Z.push(`plannerTier: ${E.debug.plannerTier}`),E.debug.modelUsed&&Z.push(`model: ${E.debug.modelUsed}${E.debug.plannerSource?` (${E.debug.plannerSource})`:""}`),typeof E.debug.planningAttempts=="number"&&E.debug.planningAttempts>1&&Z.push(`planningAttempts: ${E.debug.planningAttempts}`),typeof E.debug.opCount=="number"&&Z.push(`opCount: ${E.debug.opCount}`),Array.isArray(E.debug.skippedOps)&&E.debug.skippedOps.length>0){const Pe=E.debug.skippedOps.map(Ee=>`[${Ee.index}] ${Ee.op} ${Ee.pageSlug??""}${Ee.blockId?"#"+Ee.blockId:""}: ${Ee.reason}`).join(", ");Z.push(`skippedOps: ${Pe}`)}else typeof E.debug.skippedOpCount=="number"&&E.debug.skippedOpCount>0&&Z.push(`skippedOps: ${E.debug.skippedOpCount}`);if(Array.isArray(E.debug.opTypes)&&E.debug.opTypes.length>0&&Z.push(`ops: ${E.debug.opTypes.join(", ")}`),typeof E.debug.totalTokens=="number"&&Z.push(`tokens: in:${E.debug.inputTokens??"?"} out:${E.debug.outputTokens??"?"} total:${E.debug.totalTokens}`),typeof E.debug.estimatedUsd=="number"&&Z.push(`cost: $${E.debug.estimatedUsd.toFixed(4)}`),Array.isArray(E.debug.timeline)&&E.debug.timeline.length>0){const Pe=E.debug.timeline.map(Ee=>`${Ee.stage}:${Ee.atMs}ms`).join(" -> ");Z.push(`timeline: ${Pe}`)}E.debug.promptExcerpt&&Z.push(`prompt: ${E.debug.promptExcerpt}`);const Me=[];E.debug.currentPage&&Me.push(`page: ${E.debug.currentPage}`),E.debug.siteId&&Me.push(`site: ${E.debug.siteId}`),E.debug.activeBlockId&&Me.push(`block: ${E.debug.activeBlockId}`),E.debug.activeEditablePath&&Me.push(`path: ${E.debug.activeEditablePath}`),Me.length>0&&Z.push(`context: ${Me.join(", ")}`)}return Z.join(`
|
|
737
737
|
`)},[]),Mp=_.useCallback(async E=>{const Z=Vd(E);if(Z.trim())try{await navigator.clipboard.writeText(Z),kt(E.id),window.setTimeout(()=>{de.getState().copiedDebugEntryId===E.id&&kt(null)},1400)}catch{}},[Vd]),Da=_.useCallback(E=>{var me;if(!E.debug)return t("chat.expandDetails");const Z=[];if(E.debug.outcome&&Z.push(E.debug.outcome.replace(/_/g," ")),typeof E.debug.opCount=="number"){const Me=E.debug.opCount;Z.push(`${Me} op${Me===1?"":"s"}`)}if(E.debug.intent&&Z.push(`intent: ${E.debug.intent.replace(/_/g," ")}`),E.debug.plannerTier&&Z.push(E.debug.plannerTier.replace(/_/g," ")),Array.isArray(E.debug.timeline)&&E.debug.timeline.length>0){const Me=(me=E.debug.timeline[E.debug.timeline.length-1])==null?void 0:me.atMs;typeof Me=="number"&&Z.push(`${Me}ms`)}return Z.join(" · ")||t("chat.expandDetails")},[t]),Dp=p.jsxs("div",{className:"chat-header-slug-actions",children:[p.jsx("button",{type:"button",className:`chat-header-icon-btn${Ys?" is-active":""}`,"aria-label":t("tabs.properties"),title:t("tabs.properties"),"aria-pressed":Ys,onClick:()=>{Ys?Ud():(W(void 0),U(void 0),qe("properties"))},children:p.jsx(K9,{size:14,"aria-hidden":"true"})}),p.jsx("button",{type:"button",className:`chat-header-icon-btn${Js?" is-active":""}`,"aria-label":t("history.tooltip"),title:t("history.tooltip"),"aria-pressed":Js,onClick:()=>qe(Js?"chat":"history"),children:p.jsx(BB,{size:14,"aria-hidden":"true"})}),p.jsxs("button",{type:"button",className:`chat-header-icon-btn${ic?" is-active":""}`,"aria-label":t("health.tooltip"),title:t("health.tooltip"),"aria-pressed":ic,onClick:()=>qe(ic?"chat":"health"),children:[p.jsx(Y9,{size:14,"aria-hidden":"true"}),Ct.findings.length>0?p.jsx("span",{className:`health-badge health-badge--${zi??"info"}`,children:Ct.findings.length}):null]}),bp?p.jsx("a",{className:"chat-header-icon-btn",href:bp,target:"_blank",rel:"noreferrer","aria-label":t("header.openImmersive"),title:t("header.openImmersive"),children:p.jsx(XB,{size:14,"aria-hidden":"true"})}):null,X?p.jsx("button",{type:"button",className:"chat-header-icon-btn","aria-label":t("header.moreOptions"),onClick:()=>ee(!0),children:p.jsx(VB,{size:14,"aria-hidden":"true"})}):null]});return p.jsxs("div",{className:`layout${Ys?" layout--props-open":""}${m?" layout--banner":""}`,style:Np,children:[m?p.jsx(mve,{siteId:r,orchestratorUrl:Le,hostedIds:e.hostedSiteIds??[],...e.siteHosting==="notHosted"?{}:{siteOwnOrchestrator:f}}):null,p.jsxs("aside",{className:"chat-panel",ref:Qi,style:ay,children:[p.jsxs("header",{className:"chat-header",children:[p.jsxs("div",{className:"chat-header-top",children:[p.jsxs("div",{className:"chat-header-site-name",ref:On,children:[e.siteList.length>1?p.jsxs("button",{type:"button",className:`site-switcher-trigger${wt?" is-open":""}`,onClick:()=>zt(E=>!E),"aria-expanded":wt,"aria-haspopup":"menu",children:[p.jsx("span",{className:`site-switcher-item-dot site-switcher-item-dot-${dr!=null&&dr.probing?"probing":dr!=null&&dr.online?"online":"offline"}`,"aria-hidden":"true"}),p.jsx("span",{className:"site-switcher-trigger-label",children:o.name}),p.jsx(zl,{size:12,className:`site-switcher-chevron${wt?" is-open":""}`,"aria-hidden":"true"})]}):p.jsx("span",{className:"site-switcher-trigger-label",children:o.name}),wt&&p.jsxs("div",{className:"site-switcher-dropdown",role:"menu","aria-label":t("header.allSites"),children:[p.jsxs("div",{className:"site-switcher-header",children:[p.jsx("span",{children:t("header.allSites")}),p.jsxs("a",{href:"/sites",className:"site-switcher-add-link",onClick:()=>zt(!1),children:["+ ",t("sites.addSite")]})]}),p.jsx("div",{className:"site-switcher-list",children:xs.map(E=>p.jsx(Rve,{name:E.site.name,origin:E.origin,statusClass:E.probing?"probing":"online",active:E.site.id===r,onSelect:()=>{E.site.id!==r&&e.openEditorForSite(E.site.id),zt(!1)}},E.site.id))}),p.jsxs("div",{className:"site-switcher-actions",role:"group",children:[p.jsxs("button",{type:"button",role:"menuitem",className:"site-switcher-action",onClick:()=>{zt(!1),e.setConfigSiteId(r)},children:[p.jsx(V9,{size:14,"aria-hidden":"true"}),p.jsx("span",{children:t("header.siteSettings")})]}),Ve.siteHasCmsContent!==!1&&p.jsxs("button",{type:"button",role:"menuitem",className:"site-switcher-action",title:t("header.syncFromSiteTitle"),disabled:zn,onClick:async()=>{zt(!1);const E=await Ve.syncFromSite();E.ok&&E.count>0?Ve.pushAssistantFromResult({status:"applied",summary:E.count===1?t("header.syncedPage"):t("header.syncedPages",{count:E.count}),changes:[]}):E.ok||Ve.pushAssistantFromResult({status:"error",summary:E.reason==="network"?t("header.syncFailedNetwork"):t("header.syncFailedEmpty"),changes:[]})},children:[p.jsx(jS,{size:14,"aria-hidden":"true"}),p.jsx("span",{children:t("header.syncFromSite")})]})]}),p.jsxs("a",{href:"/sites",className:"site-switcher-footer",onClick:()=>zt(!1),children:[t("header.viewAllSites"),p.jsx(Rg,{size:11,"aria-hidden":"true"})]})]})]}),p.jsxs("div",{className:"chat-header-right",children:[u.status==="degraded"?p.jsx("span",{className:"planner-badge",title:u.reason??"Components unavailable",children:t("header.limited")}):null,gt||We.publishInProgress?p.jsxs("button",{type:"button",className:"publish-preview-btn",onClick:()=>se(!0),disabled:zn||We.isPublishing,title:ir.summary&&ir.summary.total>0?t("header.unpublishedTooltip",{count:String(ir.summary.total)}):void 0,children:[We.publishInProgress?p.jsx("span",{className:"publish-spinner","aria-hidden":"true"}):null,We.publishInProgress?t("header.publishing"):t("header.publish"),ir.summary&&ir.summary.total>0?p.jsx("span",{className:"publish-preview-badge","aria-hidden":"true",children:ir.summary.total}):null]}):null,We.publishStatus?p.jsxs(p.Fragment,{children:[We.publishStatus.inspectUrl?p.jsx("a",{className:"publish-view-link",href:We.publishStatus.inspectUrl,target:"_blank",rel:"noreferrer",children:t("header.viewDeploy")}):null,nc?p.jsx("a",{className:"live-site-icon-btn",href:nc,target:"_blank",rel:"noreferrer","aria-label":t("header.openLiveSite"),title:t("header.openLiveSite"),children:p.jsx(Rg,{size:16,"aria-hidden":"true"})}):null]}):null]})]}),rr&&li?p.jsxs("div",{className:"chat-header-lang-row",children:[p.jsx("label",{className:"chat-header-lang",children:p.jsx("select",{value:li,"aria-label":t("header.language"),title:t("header.language"),onChange:E=>y(_ve(g,E.target.value,rr)),disabled:v,children:rr.locales.map(E=>p.jsx("option",{value:E,children:E===Tl?t("header.defaultLanguage"):Eve(E)},E))})}),Dp]}):null,p.jsxs("div",{className:"chat-header-slug-row",children:[p.jsx("label",{className:"chat-header-slug",children:p.jsx("select",{value:g,"aria-label":t("header.page"),onChange:E=>y(E.target.value||"/"),disabled:v,children:rr&&li?p.jsxs(p.Fragment,{children:[Si.map(E=>p.jsx("option",{value:E,children:Cve(E,li)},E)),rr.shared.length>0?p.jsx("optgroup",{label:t("header.pagesWithoutLanguage"),children:rr.shared.map(E=>p.jsx("option",{value:E,children:wx(E)},E))}):null]}):Us.map(E=>p.jsx("option",{value:E,children:wx(E)},E))})}),rr&&li?null:Dp]})]}),p.jsxs("div",{className:"chat-thread-region",children:[null,p.jsx(Kv,{fallbackLabel:"Chat unavailable — try refreshing",onReset:()=>window.location.reload(),children:p.jsx(DK,{ref:Fs,className:"chat-thread",streamStatusLabel:_p,undoInFlightEntryId:Ve.undoInFlightEntryId,onSuggestionClick:E=>void Ve.submitChat(E),onUndo:E=>void Ve.applyUndoHistory(E),undoLabel:t("chat.undo"),undoneLabel:t("chat.undone"),appliedDraftLabel:t("chat.appliedDraft"),keepLabel:t("chat.keep"),revertLabel:t("chat.revert"),revertedLabel:t("chat.reverted"),keptLabel:t("chat.kept"),renderEntryExtras:E=>{var Z,me,Me,Pe;return p.jsxs(p.Fragment,{children:[E.variations&&Array.isArray(E.variations.options)&&E.variations.options.length>0?p.jsx("div",{className:"msg-variations",children:E.variations.options.map((Ee,He)=>p.jsxs("button",{type:"button",className:"msg-variation-card",disabled:zn,onClick:async()=>{const Tt=E.variations;try{(await fetch(`${Le}/ops`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({session:n,siteId:r,ops:[{op:"update_props",pageSlug:Tt.pageSlug,blockId:Tt.blockId,patch:Ee.patch}]})})).ok&&(Wt.postToSite("draftUpdated",{focusBlockId:Tt.blockId}),Oe(),Ve.pushAssistantFromResult({status:"applied",summary:`Applied variation: ${Ee.title}`,changes:[Ee.summary]}))}catch{}},children:[p.jsx("div",{className:"msg-variation-preview-wrap",children:p.jsx(oN,{block:{id:E.variations.blockId,type:E.variations.blockType,props:{...E.variations.baseProps,...Ee.patch}},virtualWidth:1280})}),p.jsxs("div",{className:"msg-variation-meta",children:[p.jsx("span",{className:"msg-variation-badge",children:String.fromCharCode(65+He)}),p.jsxs("div",{className:"msg-variation-content",children:[p.jsx("span",{className:"msg-variation-title",children:Ee.title}),p.jsx("span",{className:"msg-variation-summary",children:Ee.summary})]})]})]},Ee.id??`${E.id}-v-${He}`))}):null,E.status==="plan_ready"&&E.pendingPlanId?p.jsxs("div",{className:"msg-plan-actions",children:[E.planPreview?p.jsx(vse,{preview:E.planPreview}):null,E.destructiveReasons&&E.destructiveReasons.length>0?p.jsx("div",{className:"msg-destructive-warning",role:"alert",children:E.destructiveReasons.map((Ee,He)=>p.jsxs("div",{className:"msg-destructive-warning-line",children:["⚠ ",Ee]},He))}):null,(()=>{var ts;const Ee=E.pendingPlanId,He=zn||qo!==Ee,Tt=!!(E.destructiveReasons&&E.destructiveReasons.length>0),cn=((ts=E.planPreview)==null?void 0:ts.diff.pages.filter(Li=>Li.status==="removed").length)??0,sr=cn===1?t("plan.deletePage"):cn>1?t("plan.deletePages",{count:cn}):t(Tt?"plan.applyDestructive":"plan.apply");return p.jsxs("div",{className:"msg-plan-btn-row",children:[p.jsx("button",{type:"button",className:`primary-btn msg-plan-btn${Tt?" is-destructive":""}`,onClick:()=>void Ve.approvePendingPlan(Ee),disabled:He,children:sr}),p.jsx("button",{type:"button",className:"secondary-btn msg-plan-btn",onClick:()=>void Ve.stopPendingPlan(Ee),disabled:He,children:t("plan.discard")})]})})()]}):null,E.imageSwap?(()=>{const Ee=E.imageSwap,He=/^image$/i.test((Ee.fieldLabel??"").trim()),Tt=Ee.fieldLabel&&!(Ee.blockDisplayName&&He),cn=Ee.blockDisplayName??(Tt?Ee.fieldLabel:null),sr=Ee.blockDisplayName&&Tt?Ee.fieldLabel:null;return p.jsxs("button",{type:"button",className:"msg-image-swap-card",onClick:()=>{bn({slug:Ee.slug,blockId:Ee.blockId,editablePath:Ee.editablePath,currentUrl:Ee.imageUrl,blockType:R===Ee.blockId?V:void 0})},title:t("ops.imageSwap.pickAnother"),children:[p.jsx("img",{src:Ee.imageUrl,alt:Ee.altText??""}),p.jsxs("div",{className:"msg-image-swap-meta",children:[cn?p.jsx("span",{className:"msg-image-swap-block",children:cn}):null,sr?p.jsx("span",{className:"msg-image-swap-field",children:sr}):null,p.jsx("span",{className:"msg-image-swap-action",children:t("ops.imageSwap.pickAnother")})]})]})})():null,E.continuation?p.jsx("div",{className:"msg-plan-actions",children:p.jsxs("button",{type:"button",className:"primary-btn msg-plan-btn",onClick:()=>void Ve.continueChain(E.continuation.chainId),disabled:zn||bt!==E.continuation.chainId,children:["Continue: ",E.continuation.nextStepLabel," (",E.continuation.currentStep," of ",E.continuation.totalSteps,")"]})}):null,(()=>{if(E.wasUndone)return null;const Ee=(E.mentionedSlugs??[]).filter(He=>He!==g);return Ee.length===0?null:p.jsx("div",{className:"msg-suggestions msg-page-links",children:Ee.map((He,Tt)=>p.jsxs("button",{type:"button",className:"msg-suggestion msg-page-link",onClick:()=>{y(He)},disabled:zn,children:["Open ",He]},`${E.id}-route-${Tt}`))})})(),(E.errors??[]).length>0?p.jsx("ul",{className:"msg-errors",children:(Z=E.errors)==null?void 0:Z.map((Ee,He)=>p.jsx("li",{children:Ee},He))}):null,Ie&&E.role==="assistant"&&E.debug?p.jsxs("div",{className:"msg-debug-shell",children:[p.jsxs("details",{className:"msg-debug-details",children:[p.jsxs("summary",{className:"msg-debug-summary",children:[p.jsxs("span",{className:"msg-debug-summary-left",children:[p.jsx("span",{className:"msg-debug-title",children:"Debug"}),p.jsx("span",{className:"msg-debug-summary-text",children:Da(E)})]}),p.jsx("span",{className:"msg-debug-chevron","aria-hidden":"true"})]}),p.jsx("div",{className:"msg-debug",children:p.jsxs("ul",{children:[E.debug.traceId?p.jsxs("li",{children:["traceId: ",E.debug.traceId]}):null,E.debug.promptHash?p.jsxs("li",{children:["promptHash: ",E.debug.promptHash]}):null,E.debug.outcome?p.jsxs("li",{children:["outcome: ",E.debug.outcome]}):null,E.debug.reasonCategory?p.jsxs("li",{children:["reason: ",E.debug.reasonCategory]}):null,E.debug.reason&&E.debug.reason!==E.debug.reasonCategory?p.jsxs("li",{children:["reasonDetail: ",E.debug.reason]}):null,E.debug.intent?p.jsxs("li",{children:["intent: ",E.debug.intent]}):null,E.debug.plannerTier?p.jsxs("li",{children:["plannerTier: ",E.debug.plannerTier]}):null,E.debug.modelUsed?p.jsxs("li",{children:["model: ",E.debug.modelUsed,E.debug.plannerSource?` (${E.debug.plannerSource})`:""]}):null,typeof E.debug.planningAttempts=="number"&&E.debug.planningAttempts>1?p.jsxs("li",{children:["planningAttempts: ",E.debug.planningAttempts]}):null,typeof E.debug.opCount=="number"?p.jsxs("li",{children:["opCount: ",E.debug.opCount]}):null,Array.isArray(E.debug.skippedOps)&&E.debug.skippedOps.length>0?p.jsxs("li",{children:["skippedOps: ",E.debug.skippedOps.map(Ee=>`[${Ee.index}] ${Ee.op} ${Ee.pageSlug??""}${Ee.blockId?"#"+Ee.blockId:""}: ${Ee.reason}`).join(", ")]}):typeof E.debug.skippedOpCount=="number"&&E.debug.skippedOpCount>0?p.jsxs("li",{children:["skippedOps: ",E.debug.skippedOpCount]}):null,Array.isArray(E.debug.opTypes)&&E.debug.opTypes.length>0?p.jsxs("li",{children:["ops: ",E.debug.opTypes.join(", ")]}):null,typeof E.debug.totalTokens=="number"?p.jsxs("li",{children:["tokens: in:",E.debug.inputTokens??"?"," out:",E.debug.outputTokens??"?"," total:",E.debug.totalTokens]}):null,typeof E.debug.estimatedUsd=="number"?p.jsxs("li",{children:["cost: $",E.debug.estimatedUsd.toFixed(4)]}):null,Array.isArray(E.debug.timeline)&&E.debug.timeline.length>0?p.jsxs("li",{children:["timeline: ",E.debug.timeline.map(Ee=>`${Ee.stage}:${Ee.atMs}ms`).join(" -> ")]}):null,E.debug.promptExcerpt?p.jsxs("li",{children:["prompt: ",E.debug.promptExcerpt]}):null,E.debug.currentPage||E.debug.siteId||E.debug.activeBlockId||E.debug.activeEditablePath?p.jsxs("li",{children:["context: ",[E.debug.currentPage?`page: ${E.debug.currentPage}`:null,E.debug.siteId?`site: ${E.debug.siteId}`:null,E.debug.activeBlockId?`block: ${E.debug.activeBlockId}`:null,E.debug.activeEditablePath?`path: ${E.debug.activeEditablePath}`:null].filter(Boolean).join(", ")]}):null]})})]}),p.jsx("button",{type:"button",className:"msg-debug-copy-btn",onClick:()=>void Mp(E),"aria-label":Et===E.id?t("chat.copied"):t("chat.copyDebug"),title:Et===E.id?t("chat.copied"):t("chat.copy"),children:Et===E.id?p.jsx(Qh,{"aria-hidden":"true",size:14}):p.jsx(YD,{"aria-hidden":"true",size:14})})]}):null,E.role==="assistant"&&((me=E.debug)!=null&&me.traceId)&&E.id!=="welcome"?p.jsxs("div",{className:"msg-feedback-row",children:[p.jsx("button",{type:"button",className:`msg-feedback-btn ${((Me=E.feedback)==null?void 0:Me.rating)==="up"?"msg-feedback-btn--active":""}`,onClick:()=>{E.feedback||Ve.submitFeedback(E.id,"up")},disabled:!!E.feedback,title:t("chat.goodResponse"),children:p.jsx(n$,{"aria-hidden":"true",size:13})}),p.jsx("button",{type:"button",className:`msg-feedback-btn ${((Pe=E.feedback)==null?void 0:Pe.rating)==="down"?"msg-feedback-btn--active":""}`,onClick:()=>{E.feedback||(fe(In===E.id?null:E.id),$e(""))},disabled:!!E.feedback,title:t("chat.badResponse"),children:p.jsx(e$,{"aria-hidden":"true",size:13})}),E.feedback?p.jsxs("span",{className:"msg-feedback-label",children:[E.feedback.rating==="up"?t("chat.feedbackThanks"):t("chat.feedbackNoted"),E.feedback.note?` — "${E.feedback.note}"`:""]}):null,In===E.id&&!E.feedback?p.jsxs("form",{className:"msg-feedback-note-form",onSubmit:Ee=>{Ee.preventDefault(),Ve.submitFeedback(E.id,"down",pe||void 0),fe(null),$e("")},children:[p.jsx("input",{className:"msg-feedback-note-input",placeholder:t("chat.feedbackPlaceholder"),value:pe,onChange:Ee=>$e(Ee.target.value),autoFocus:!0}),p.jsx("button",{type:"submit",className:"msg-feedback-note-submit",children:t("chat.feedbackSend")})]}):null]}):null]})},renderStreamingExtras:()=>p.jsxs(p.Fragment,{children:[rc?p.jsx("span",{className:"stream-reconnect-badge stream-reconnect-badge-inline",title:jr??void 0,children:rc}):null,Ie&&we?p.jsx("div",{className:"streaming-debug-inline",children:Ap}):null]}),renderStreamStatusFallback:()=>p.jsxs("div",{className:`streaming-pill ${Fd?"is-error":"is-active"} ${FD==="text"?"is-text":"is-legacy"}`,children:[FD==="text"?p.jsx("span",{className:"streaming-pill-status streaming-pill-status-text",children:_p}):p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"streaming-pill-title",children:p.jsx("span",{className:"streaming-pill-sparkle",children:"✦"})}),p.jsx("span",{className:"streaming-pill-status",children:oy}),Fd?null:p.jsxs("span",{className:"streaming-dots","aria-hidden":"true",children:[p.jsx("i",{}),p.jsx("i",{}),p.jsx("i",{})]})]}),rc?p.jsx("span",{className:"stream-reconnect-badge",title:jr??void 0,children:rc}):null,hr?p.jsx("div",{className:"image-gen-progress",children:p.jsx("div",{className:"image-gen-progress-fill",style:{width:`${hr.percent}%`}})}):null,qs?p.jsx("button",{type:"button",className:"streaming-jump-btn",onClick:()=>Wt.postToSite("highlightBlock",{blockId:qs,editablePath:null,scrollIntoView:!0}),children:"Jump to latest change"}):null,Ie&&we?p.jsx("div",{className:"streaming-debug-inline",children:Ap}):null]})})})]}),p.jsx("div",{ref:fr,className:"composer-splitter",role:"separator","aria-orientation":"horizontal","aria-label":t("resize.inputPanel"),onPointerDown:E=>{xi.current={y:E.clientY,composerHeight:Ye},document.body.style.userSelect="none"}}),mo==="demo"?p.jsx(YJ,{collapsed:Yl,onToggle:()=>go(E=>!E)}):null,p.jsx(RK,{className:"composer",message:D,isLoading:zn,hasUserEntry:Hd,onMessageChange:O,onSubmit:E=>{O(""),Ve.submitChat(E,D)},onTranscribeAudio:Hn.transcribeAudio,onUploadAttachment:Hn.uploadAttachment,attachments:vs,onAttachmentsChange:Wr,onCancel:Ve.cancelChat,onAutoHeightChange:$d,selectionModeEnabled:Qn,onToggleSelectionMode:()=>Vs(),canUndoServer:Ve.canUndoServer,canRedoServer:Ve.canRedoServer,onGlobalUndo:()=>void Ve.applyGlobalUndo(),onGlobalRedo:()=>void Ve.applyGlobalRedo(),undoTooltip:t("chat.undoTooltip"),redoTooltip:t("chat.redoTooltip"),contextChip:R&&V?{label:t("chatInput.editingBlock",{block:((Rp=vu()[V])==null?void 0:Rp.displayName)??V}),clearLabel:t("chatInput.clearSelection"),onClear:()=>{W(void 0),U(void 0)}}:null})]}),p.jsx("div",{className:"panel-splitter",role:"separator","aria-orientation":"vertical","aria-label":t("resize.chatPanel"),onPointerDown:E=>{const Z=Qi.current;Z&&(si.current={x:E.clientX,width:Z.offsetWidth,target:"chat"},document.body.style.userSelect="none",document.body.classList.add("panel-resizing"))}}),p.jsx("div",{className:"preview",children:p.jsxs("div",{className:"preview-canvas",ref:oi,children:[ty?null:p.jsx("div",{className:"preview-loading",role:"status","aria-label":t("preview.loading"),children:p.jsx("span",{className:"preview-loading-spinner","aria-hidden":"true"})}),p.jsx("iframe",{ref:Wt.iframeRef,title:t("preview.title"),src:bo,style:{colorScheme:"light dark"},onLoad:()=>{gp(!0),$g&&!zr.current&&(zr.current=!0,ji.current=a),Wt.postToSite("setNestedLabelsVisibility",{visible:ne})}})]})}),Ys?p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"panel-splitter panel-splitter--props",role:"separator","aria-orientation":"vertical","aria-label":t("resize.chatPanel"),onPointerDown:E=>{const Z=un.current;Z&&(si.current={x:E.clientX,width:Z.offsetWidth,target:"props"},document.body.style.userSelect="none",document.body.classList.add("panel-resizing"))}}),p.jsx("aside",{className:"props-panel",ref:un,children:p.jsx(Kv,{fallbackLabel:"Properties panel unavailable — try refreshing",children:p.jsx(tve,{props:Rt.props,status:Rt.status,failure:Rt.failure,failedSlug:Rt.failedSlug,failedOrigin:Rt.failedOrigin,onRetry:Rt.retry,pageName:wx(g),onDeselectBlock:()=>{W(void 0),U(void 0)},onClose:Ud,navLabel:((jp=e.headerConfig.navLabels)==null?void 0:jp[g])??"",onNavLabelChange:(E,Z)=>{e.updateHeaderConfig({navLabels:{[E]:Z}}),Wt.postToSite("draftUpdated",{}),Oe()},pageMeta:jt.meta,onPageMetaChange:(E,Z)=>{const me={...jt.meta,[E]:Z};jt.setMeta(me),(async()=>{try{const Me=await fetch(`${Le}/ops`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({session:n,siteId:r,ops:[{op:"update_page_meta",pageSlug:g,patch:{[E]:Z}}]})}),Pe=await Me.json();if(!Me.ok||Pe.status!=="applied"){jt.refetch();return}Wt.postToSite("draftUpdated",{}),Oe()}catch{jt.refetch()}})()},onFieldChange:async(E,Z)=>{await Ve.inlineEditCommit(g,R,E,Z,{silent:!0}),Rt.refetch()},onImageClick:(E,Z)=>{R&&bn({slug:g,blockId:R,editablePath:E,currentUrl:Z,blockType:V})},onAiAssist:vp,onPageAiAssist:ry,onAiQuickAction:iy,onPageAiQuickAction:sy,onAddListItem:R&&V?E=>{Ve.addListItem(g,R,V,E).then(()=>Rt.refetch())}:void 0,onRemoveListItem:R&&V?(E,Z)=>{Ve.removeListItem(g,R,V,E,Z).then(()=>Rt.refetch())}:void 0,manifestByType:u.byType,siteOrigin:a})})})]}):null,ic?p.jsx("div",{className:"history-drawer-backdrop",onClick:()=>qe("chat"),children:p.jsx("aside",{className:"history-drawer",role:"dialog","aria-label":t("health.title"),onClick:E=>E.stopPropagation(),children:p.jsx(Kv,{children:p.jsx(HK,{findings:Ct.findings,isLoading:Ct.isLoading,isRunning:Ct.isRunning,error:Ct.error,durable:Ct.durable,onRun:()=>void Ct.run(),onDismiss:E=>void Ct.setStatus(E,"dismissed"),onSnooze:E=>void Ct.setStatus(E,"snoozed"),onGoTo:wi,onClose:()=>qe("chat")})})})}):null,Js?p.jsx("div",{className:"history-drawer-backdrop",onClick:()=>qe("chat"),children:p.jsx("aside",{className:"history-drawer",role:"dialog","aria-label":t("history.title"),onClick:E=>E.stopPropagation(),children:p.jsx(OK,{session:n,siteId:r,slug:g,visible:Js,onRestore:Br,isRestoring:tt,onDiscarded:es,onClose:()=>qe("chat")})})}):null,Ma&&ye?p.jsx("div",{ref:ai,className:"composer--anchored is-expanded",style:{top:Ma.top,left:Ma.left,width:Ma.width},children:p.jsx(uR,{message:D,isLoading:zn,hasUserEntry:Hd,onMessageChange:O,onSubmit:E=>{O(""),Ve.submitChat(E,D)},onTranscribeAudio:Hn.transcribeAudio,onUploadAttachment:Hn.uploadAttachment,attachments:vs,onAttachmentsChange:Wr,onCancel:Ve.cancelChat,onAutoHeightChange:()=>{},compact:!0})}):null,pr?(()=>{const E=pr,Z=E.options.find(me=>me.id===ot)??null;return p.jsx("div",{className:"variation-modal-backdrop",onClick:()=>{Ks||pt(null)},children:p.jsxs("div",{className:"variation-modal",role:"dialog","aria-modal":"true","aria-label":t("variation.title"),onClick:me=>me.stopPropagation(),children:[p.jsxs("div",{className:"variation-modal-header",children:[p.jsx("h2",{children:"Choose a Variation"}),p.jsx("button",{type:"button",className:"settings-close-btn","aria-label":t("variation.close"),onClick:()=>pt(null),disabled:Ks,children:"×"})]}),p.jsx("div",{className:"variation-modal-body",children:E.options.map((me,Me)=>p.jsxs("article",{className:`variation-card${me.id===ot?" is-selected":""}`,onClick:()=>et(me.id),children:[p.jsxs("div",{className:"variation-card-preview-wrap",children:[p.jsx("span",{className:"variation-card-badge",children:String.fromCharCode(65+Me)}),p.jsx(oN,{virtualWidth:_$.desktop,block:{id:E.blockId,type:E.blockType,props:O$(E.baseProps,me.patch)}}),me.imagePending?p.jsxs("div",{className:"variation-card-image-pending","aria-live":"polite",children:[p.jsx("span",{className:"variation-card-image-pending-spinner","aria-hidden":"true"}),p.jsx("span",{className:"variation-card-image-pending-label",children:"Generating image…"})]}):null]}),p.jsx("h3",{className:"variation-card-title",children:me.title}),p.jsx("p",{className:"variation-card-summary",children:me.summary})]},me.id))}),p.jsx("div",{className:"variation-modal-footer",children:p.jsx("button",{type:"button",className:"publish-preview-btn variation-apply-btn",onClick:()=>{Z&&Ve.applyVariation(Z)},disabled:Ks||!Z,children:Ks?t("variation.applying"):t("variation.apply",{title:(Z==null?void 0:Z.title)??""})})})]})})})():null,xt?p.jsx("div",{className:"add-block-modal-backdrop",onClick:()=>{Mn||Xe(null)},children:p.jsxs("div",{className:"add-block-modal",role:"dialog","aria-modal":"true","aria-label":t("addBlock.title"),onClick:E=>E.stopPropagation(),children:[p.jsxs("div",{className:"add-block-modal-header",children:[p.jsx("h2",{children:"Add block"}),p.jsx("p",{children:xt.beforeBlockId&&!xt.afterBlockId?t("addBlock.insertAbove"):t("addBlock.insertBelow")}),p.jsx("button",{type:"button",className:"settings-close-btn","aria-label":t("addBlock.close"),onClick:()=>Xe(null),disabled:Mn,children:"×"})]}),p.jsxs("div",{className:"add-block-modal-body",children:[p.jsx("label",{className:"add-block-search",children:p.jsx("input",{type:"search",value:st,onChange:E=>Nn(E.target.value),placeholder:t("addBlock.searchPlaceholder"),disabled:Mn})}),Hs.length===0?p.jsx("p",{className:"add-block-empty",children:"No block types match your search."}):p.jsx("div",{className:"add-block-flat-list",children:Hs.flatMap(E=>E.options).map(E=>p.jsxs("button",{type:"button",className:"add-block-option",disabled:Mn,onClick:async()=>{var Me;if(!xt||Mn)return;Xn(!0);const Z=(Me=u.byType.get(E.type))==null?void 0:Me.defaultProps,me=await Ve.addBlockAfter(xt.slug,xt.afterBlockId,E.type,xt.beforeBlockId,Z);Xn(!1),me&&Xe(null)},children:[p.jsx("span",{className:"add-block-option-label",children:E.label}),p.jsx("span",{className:"add-block-option-actions","aria-hidden":"true",children:p.jsx("span",{className:"add-block-option-plus",children:"+"})})]},E.type))})]})]})}):null,p.jsx(RJ,{open:ce,onOpenChange:ee,useStreaming:q,onStreamingChange:I,showNestedLabels:ne,onNestedLabelsChange:P,chatDarkMode:i,onDarkModeChange:s,showDebugDetails:Ie,onDebugDetailsChange:ze,fieldDraftDebugEnabled:we,onFieldDraftDebugChange:Qt,autoScrollTrackingEnabled:B,onAutoScrollTrackingChange:Y,provider:T,modelKey:S,availableProviders:M,onModelChange:(E,Z)=>{A(E),w(Z)},onClearChat:Ve.clearChat,agentModeEnabled:yn.agentMode??!1,showDevOptions:oe,onShowDevOptionsChange:X?L:void 0}),p.jsx(ZJ,{open:ie,onOpenChange:se,onConfirm:E=>void We.publishSite(E),chatLog:Pi,isPublishing:We.isPublishing,session:n,siteId:r,siteOrigin:a}),p.jsx(nO,{sites:e,onPreviewRefresh:()=>{Wt.postToSite("draftUpdated",{}),Oe()}}),p.jsx(kue,{open:Yt,features:{...yn,googleDrive:yn.googleDrive||!!((qd=o.gdriveFolderId)!=null&&qd.trim())},currentUrl:Pt==null?void 0:Pt.currentUrl,gdriveFolderId:o.gdriveFolderId,cmsMedia:o.cmsMedia,siteOrigin:a,onClose:()=>bn(null),onSelect:(E,Z)=>{var Ip;if(!Pt)return;const{slug:me,blockId:Me,editablePath:Pe,currentUrl:Ee,blockType:He}=Pt,Tt=JJ(Pe),cn=Pe.match(/^([a-zA-Z_]+)\[(\d+)\]\.(.+)$/),sr=Tt!==Pe?Tt.match(/^([a-zA-Z_]+)\[(\d+)\]\.(.+)$/):null;let ts,Li;if(cn){const[,ns,wr,Ra]=cn,Wd={[Ra]:E};sr&&(Wd[sr[3]]=Z),ts=[{op:"update_item",pageSlug:me,blockId:Me,listKey:ns,index:Number(wr),patch:Wd}],Li=`${ns}[${wr}].${Ra}`}else{const ns={[Pe]:E};Tt!==Pe&&(ns[Tt]=Z),ts=[{op:"update_props",pageSlug:me,blockId:Me,patch:ns}],Li=Pe}const Kd=He??(Me===R?V:void 0)??(Me===R&&Rt.blockType?Rt.blockType:void 0),ly=Kd?((Ip=vu()[Kd])==null?void 0:Ip.displayName)??Kd:void 0,Gd={imageUrl:E,previousUrl:Ee,altText:Z,slug:me,blockId:Me,editablePath:Pe,blockDisplayName:ly,fieldLabel:Pve(Li)};(async()=>{try{const ns=await fetch(`${Le}/ops`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(Ds({session:n,siteId:r,ops:ts},u.manifest))}),wr=await ns.json();ns.ok&&wr.status==="applied"?(Wt.postToSite("draftUpdated",{focusBlockId:Me}),Oe(),Ve.pushAssistantFromResult({status:"applied",summary:t("ops.changedImage")},{canUndo:!0,imageSwap:Gd}),Rt.refetch()):(console.error("[ImagePicker] ops failed:",ns.status,wr.error,wr.details??"","ops:",JSON.stringify(ts)),Ve.pushAssistantFromResult({status:"error",summary:t("ops.imageChangeFailed")},{imageSwap:{...Gd,imageUrl:Ee??E}}))}catch(ns){console.error("[ImagePicker] ops failed:",ns),Ve.pushAssistantFromResult({status:"error",summary:t("ops.imageChangeFailed")},{imageSwap:{...Gd,imageUrl:Ee??E}})}})()}}),null]})}const vg=Le,Gv={position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a0a",fontFamily:"system-ui, sans-serif",zIndex:99999},Wv={display:"flex",flexDirection:"column",gap:12,width:320,padding:32,borderRadius:12,background:"#18181b",border:"1px solid #27272a"},Zv={padding:"10px 16px",borderRadius:8,border:"none",background:"#3b82f6",color:"#fff",fontSize:14,fontWeight:500,cursor:"pointer"};function Lve({children:e}){const{t}=An(),[n,r]=_.useState("checking"),[i,s]=_.useState(""),[o,a]=_.useState(!1),[u,d]=_.useState(""),[f,m]=_.useState(!1),[g,y]=_.useState(0),v=Math.min(15e3,1500*2**Math.max(0,g-1));_.useEffect(()=>{let w=!0;return r("checking"),fetch(`${vg}/auth/status`).then(T=>{if(!T.ok)throw new Error(`auth/status ${T.status}`);return T.json()}).then(T=>{if(w){if(T.mode==="closed"){Qm(),d(typeof T.reason=="string"?T.reason:""),r("closed");return}if(!T.gateEnabled)Qm(),r("open");else{const A=!!localStorage.getItem(Vk),M=Lw().length>0;r(A&&M?"open":"locked")}}}).catch(()=>{w&&r("unreachable")}),()=>{w=!1}},[g]),_.useEffect(()=>{if(n!=="unreachable")return;const w=setTimeout(()=>y(T=>T+1),v);return()=>clearTimeout(w)},[n,g,v]);const S=async w=>{w.preventDefault(),m(!0),a(!1);try{const T=await fetch(`${vg}/auth/verify`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:i.trim()})}),A=await T.json().catch(()=>({}));T.ok?(localStorage.setItem(Vk,"1"),xoe(A.accessToken??""),r("open")):(Qm(),a(!0))}catch{Qm(),a(!0)}m(!1)};return n==="checking"?null:n==="open"?p.jsx(p.Fragment,{children:e}):n==="closed"?p.jsx("div",{style:Gv,children:p.jsxs("div",{style:{...Wv,width:420},children:[p.jsx("h2",{style:{margin:0,color:"#fafafa",fontSize:18},children:t("password.closedTitle")}),p.jsx("p",{style:{margin:0,color:"#a1a1aa",fontSize:13,lineHeight:1.5},children:u||t("password.closedBody")}),p.jsx("p",{style:{margin:0,color:"#a1a1aa",fontSize:13,lineHeight:1.5},children:t("password.closedFix")}),p.jsxs("code",{style:{color:"#71717a",fontSize:12,wordBreak:"break-all"},children:[vg,"/auth/status"]}),p.jsx("button",{type:"button",onClick:()=>y(w=>w+1),style:Zv,children:t("password.retry")})]})}):n==="unreachable"?p.jsx("div",{style:Gv,children:p.jsxs("div",{style:{...Wv,width:380},children:[p.jsx("h2",{style:{margin:0,color:"#fafafa",fontSize:18},children:t("password.unreachableTitle")}),p.jsx("p",{style:{margin:0,color:"#a1a1aa",fontSize:13,lineHeight:1.5},children:t("password.unreachableBody")}),p.jsxs("code",{style:{color:"#71717a",fontSize:12,wordBreak:"break-all"},children:[vg,"/auth/status"]}),p.jsx("button",{type:"button",onClick:()=>y(w=>w+1),style:Zv,children:t("password.retry")}),p.jsx("p",{style:{margin:0,color:"#71717a",fontSize:12},"aria-live":"polite",children:t("password.retryingIn",{seconds:String(Math.round(v/1e3))})})]})}):p.jsx("div",{style:Gv,children:p.jsxs("form",{onSubmit:S,style:Wv,children:[p.jsx("h2",{style:{margin:0,color:"#fafafa",fontSize:18},children:t("password.title")}),p.jsx("input",{type:"password",value:i,onChange:w=>s(w.target.value),placeholder:t("password.placeholder"),autoFocus:!0,style:{padding:"10px 12px",borderRadius:8,border:o?"1px solid #ef4444":"1px solid #3f3f46",background:"#09090b",color:"#fafafa",fontSize:14,outline:"none"}}),o&&p.jsx("span",{style:{color:"#ef4444",fontSize:13},children:t("password.incorrect")}),p.jsx("button",{type:"submit",disabled:f||!i.trim(),style:{...Zv,opacity:f||!i.trim()?.5:1},children:t(f?"password.checking":"password.continue")})]})})}Soe();aB.createRoot(document.getElementById("root")).render(p.jsx(_.StrictMode,{children:p.jsxs(p$,{children:[p.jsx(Lve,{children:p.jsx(Ive,{})}),p.jsx(bB,{})]})}));export{Uve as $,FZ as A,Vve as B,UZ as C,rw as D,vu as E,iw as F,z9 as G,Fve as H,rp as I,Vue as J,RK as K,kue as L,Le as M,Eh as N,Ej as O,mn as P,wx as Q,$Z as R,Yse as S,Nd as T,o$ as U,OK as V,db as W,M$ as X,N$ as Y,Mj as Z,vB as _,Qc as a,bk as a0,de as a1,$ue as a2,Uue as a3,ba as a4,wl as a5,ec as a6,Jn as a7,Rr as a8,vt as a9,z5 as aA,Ib as aB,Gce as aC,Wce as aD,Jce as aE,F5 as aF,ude as aG,B5 as aH,ms as aI,O5 as aJ,L5 as aK,tde as aL,ide as aM,rde as aN,eM as aO,fde as aP,ya as aQ,Ue as aR,sde as aS,ode as aT,Hr as aU,qr as aV,Dt as aa,ct as ab,Hge as ac,nD as ad,I2 as ae,vz as af,v4 as ag,qme as ah,Ume as ai,Pj as aj,e2 as ak,Vl as al,Jw as am,N5 as an,Jc as ao,CP as ap,nhe as aq,io as ar,Ae as as,zd as at,$5 as au,n2 as av,Xce as aw,Zce as ax,Yce as ay,j5 as az,Kn as b,at as c,nn as d,fb as e,sw as f,P4 as g,Xj as h,ow as i,p as j,sp as k,cd as l,Hj as m,HZ as n,_n as o,Ed as p,b$ as q,_ as r,iR as s,x$ as t,Fg as u,Md as v,m$ as w,_re as x,WI as y,GI as z};
|