@skspwork/config-doc 2.0.7 → 2.0.8-beta.1
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/package.json +1 -1
- package/packages/web/.next/standalone/.next/app-path-routes-manifest.json +1 -0
- package/packages/web/.next/standalone/.next/routes-manifest.json +6 -0
- package/packages/web/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/packages/web/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/packages/web/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/packages/web/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/packages/web/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/packages/web/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route/app-paths-manifest.json +3 -0
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route/build-manifest.json +11 -0
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route/server-reference-manifest.json +4 -0
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route.js +7 -0
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route.js.map +5 -0
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route.js.nft.json +1 -0
- package/packages/web/.next/standalone/.next/server/app/api/config/delete/route_client-reference-manifest.js +2 -0
- package/packages/web/.next/standalone/.next/server/app/index.html +1 -1
- package/packages/web/.next/standalone/.next/server/app/index.rsc +3 -3
- package/packages/web/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/packages/web/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/packages/web/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/packages/web/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/packages/web/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/packages/web/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/packages/web/.next/standalone/.next/server/chunks/[root-of-the-server]__e5fda42c._.js +3 -0
- package/packages/web/.next/standalone/.next/server/chunks/_next-internal_server_app_api_config_delete_route_actions_9d75d71e.js +3 -0
- package/packages/web/.next/standalone/.next/server/chunks/ssr/app_page_tsx_55b2e5ee._.js +1 -1
- package/packages/web/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_75125036._.js +1 -1
- package/packages/web/.next/standalone/.next/server/pages/404.html +1 -1
- package/packages/web/.next/standalone/.next/static/chunks/7bdf5546197bf96b.js +1 -0
- package/packages/web/.next/standalone/.next/static/chunks/f2405a3fccf5f566.css +3 -0
- package/packages/web/.next/standalone/playwright-report/index.html +1 -1
- package/packages/web/.next/static/chunks/7bdf5546197bf96b.js +1 -0
- package/packages/web/.next/static/chunks/f2405a3fccf5f566.css +3 -0
- package/packages/web/.next/standalone/.next/static/chunks/1a816d7a4a480422.js +0 -1
- package/packages/web/.next/standalone/.next/static/chunks/862e384b52cfebf3.css +0 -3
- package/packages/web/.next/static/chunks/1a816d7a4a480422.js +0 -1
- package/packages/web/.next/static/chunks/862e384b52cfebf3.css +0 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},10720,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);function s(){let e=function(){try{let e=a.default.join(r.default.tmpdir(),".config-doc-test-dir");if(t.default.existsSync(e)){let r=t.default.readFileSync(e,"utf-8").trim();if(r&&t.default.existsSync(r))return r}}catch{}return null}();return e||(process.env.USER_WORKING_DIR?process.env.USER_WORKING_DIR:a.default.join(process.cwd(),"..",".."))}e.s(["getRootPath",()=>s])},21127,e=>{"use strict";var t=e.i(14747);class r{fs;constructor(e){this.fs=e}async savePropertyDoc(e,t,r){let a=this.getDocsFileName(e),s=this.toRelativePath(e),i=await this.fs.loadConfigDocs(a);i||(i={configFilePath:s,lastModified:new Date().toISOString(),properties:{}}),i.properties[t]=r,i.lastModified=new Date().toISOString(),i.configFilePath=s,await this.fs.saveConfigDocs(a,i)}async updateAllProperties(e,t){let r=this.getDocsFileName(e),a=this.toRelativePath(e),s=await this.fs.loadConfigDocs(r);s||(s={configFilePath:a,lastModified:new Date().toISOString(),properties:{}}),s.properties=t,s.lastModified=new Date().toISOString(),s.configFilePath=a,await this.fs.saveConfigDocs(r,s)}async loadAllDocs(e){let t=this.getDocsFileName(e),r=await this.fs.loadConfigDocs(t),a=this.toRelativePath(e);return r||{configFilePath:a,lastModified:new Date().toISOString(),properties:{}}}async deletePropertyDoc(e,t){let r=this.getDocsFileName(e),a=await this.fs.loadConfigDocs(r);return!!a&&!!a.properties[t]&&(delete a.properties[t],a.lastModified=new Date().toISOString(),await this.fs.saveConfigDocs(r,a),!0)}getDocsFileName(e){let t=this.toRelativePath(e),r=t.split(/[/\\]/).filter(e=>e&&"."!==e);return r.length<=1?(r[0]||"config.json").replace(".json",".docs.json"):t.replace(/\.\./g,"__").replace(/[/\\]/g,"_").replace(/:/g,"").replace(".json",".docs.json")}toRelativePath(e){return t.default.isAbsolute(e)?t.default.relative(this.fs.rootPath,e):e}}e.s(["StorageService",()=>r])},46522,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),i=e.i(61916),n=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),p=e.i(47587),u=e.i(66012),f=e.i(70101),h=e.i(26937),g=e.i(10372),x=e.i(93695);e.i(52474);var R=e.i(220),v=e.i(89171),w=e.i(27637),m=e.i(21127),y=e.i(10720);async function P(e){try{let t;try{t=await e.json()}catch{return v.NextResponse.json({success:!1,error:"Invalid JSON body"},{status:400})}let{configFilePath:r,propertyPath:a}=t;if(!r||!a)return v.NextResponse.json({success:!1,error:"Missing configFilePath or propertyPath"},{status:400});let s=(0,y.getRootPath)(),i=new w.FileSystemService(s),n=new m.StorageService(i);await n.deletePropertyDoc(r,a);let o=await n.loadAllDocs(r);for(let[e,t]of Object.entries(o.properties))if(t.isTemplate&&t.sourceTemplatePath===a){await n.deletePropertyDoc(r,e);break}let l=await i.loadConfigFiles();return l&&(l.lastModified=new Date().toISOString(),await i.saveConfigFiles(l)),v.NextResponse.json({success:!0,message:"プロパティ詳細を削除しました"})}catch(e){return console.error("API Error:",e),v.NextResponse.json({success:!1,error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>P],97631);var S=e.i(97631);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/config/delete/route",pathname:"/api/config/delete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/config/delete/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:N}=E;function A(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function O(e,t,a){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/config/delete/route";v=v.replace(/\/index$/,"")||"/";let w=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:m,params:y,nextConfig:P,parsedUrl:S,isDraftMode:C,prerenderManifest:D,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,resolvedPathname:b,clientReferenceManifest:j,serverActionsManifest:I}=w,T=(0,o.normalizeAppPath)(v),_=!!(D.dynamicRoutes[T]||D.routes[b]),q=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(_&&!C){let e=!!D.routes[b],t=D.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(P.experimental.adapterPath)return await q();throw new x.NoFallbackError}}let k=null;!_||E.isDev||C||(k="/index"===(k=b)?"/":k);let F=!0===E.isDev||!_,M=_&&!F;I&&j&&(0,n.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:I});let U=e.method||"GET",H=(0,i.getTracer)(),K=H.getActiveScopeSpan(),$={params:y,prerenderManifest:D,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:P.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>E.onRequestError(e,t,a,s,N)},sharedContext:{buildId:m}},B=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let n=async e=>E.handle(L,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${v}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&A&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!_)return await (0,u.sendResponse)(B,G,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,N),t}},c=await E.handleResponse({req:e,nextConfig:P,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:D,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!_)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&_||x.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(B,G,new Response(c.value.body,{headers:x,status:c.value.status||200})),null};K?await l(K):await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,N),_)throw t;return await (0,u.sendResponse)(B,G,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>A,"routeModule",()=>E,"serverHooks",()=>N,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>D],46522)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__e5fda42c._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[60350,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)},e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let g=(0,c.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:d=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,c.createElement)("svg",{ref:l,...f,width:b,height:b,stroke:a,strokeWidth:g?24*Number(d)/Number(b):d,className:e("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,c.createElement)(a,b)),...Array.isArray(i)?i:[i]])),h=(a,b)=>{let f=(0,c.forwardRef)(({className:f,...h},i)=>(0,c.createElement)(g,{ref:i,iconNode:b,className:e(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,f),...h}));return f.displayName=d(a),f},i=h("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),j=h("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);function k({onExportClick:a}){return(0,b.jsx)("header",{className:"bg-white/80 backdrop-blur-md border-b border-gray-200 shadow-sm sticky top-0 z-50",children:(0,b.jsxs)("div",{className:"container mx-auto px-6 py-4 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("img",{src:"/logo.svg",alt:"ConfigDoc",className:"w-12 h-12 rounded-lg"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent",children:"ConfigDoc"}),(0,b.jsx)("p",{className:"text-xs text-gray-500",children:"Configuration Documentation Tool"})]})]}),(0,b.jsxs)("button",{onClick:a,className:"flex items-center gap-2 px-5 py-2.5 bg-gradient-to-r from-green-500 to-emerald-600 text-white rounded-lg hover:from-green-600 hover:to-emerald-700 shadow-md hover:shadow-lg transition-all duration-200 transform",title:"エクスポート",children:[(0,b.jsx)(j,{className:"w-5 h-5"}),(0,b.jsx)("span",{className:"font-medium",children:"エクスポート"})]})]})})}let l=h("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),m=h("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function n({loadedConfigs:a,activeConfigIndex:d,onTabClick:e,onRemoveConfig:f,onAddFileClick:g,onReorder:h}){let[i,j]=(0,c.useState)(null),[k,n]=(0,c.useState)(null),o=()=>{n(null)},p=()=>{j(null),n(null)},q=a.map(a=>a.filePath);return(0,b.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl border border-gray-100 p-6 mb-8 hover:shadow-2xl transition-shadow duration-300",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"w-8 h-8 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center",children:(0,b.jsx)(l,{className:"w-5 h-5 text-white"})}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-800",children:"設定ファイル"})]}),(0,b.jsxs)("button",{onClick:g,className:"flex items-center gap-2 px-4 py-2 bg-gradient-to-r from-blue-500 to-blue-600 text-white rounded-lg hover:from-blue-600 hover:to-blue-700 shadow-md hover:shadow-lg transition-all duration-200 transform",children:[(0,b.jsx)(l,{className:"w-5 h-5"}),(0,b.jsx)("span",{className:"font-medium",children:"ファイルを追加"})]})]}),a.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:a.map((c,g)=>(0,b.jsxs)("div",{draggable:!0,onDragStart:()=>{j(g)},onDragOver:a=>{a.preventDefault(),null!==i&&i!==g&&n(g)},onDragLeave:o,onDrop:()=>(b=>{if(null===i||i===b){j(null),n(null);return}let c=[...a],[e]=c.splice(i,1);c.splice(b,0,e);let f=d;d===i?f=b:i<d&&b>=d?f=d-1:i>d&&b<=d&&(f=d+1),h(c,f),j(null),n(null)})(g),onDragEnd:p,onClick:()=>e(g),className:`group flex items-center gap-2 px-4 py-2.5 rounded-xl border-2 cursor-grab transition-all duration-200 ${d===g?"bg-gradient-to-r from-blue-50 to-indigo-50 border-blue-400 shadow-md":"bg-white border-gray-200 hover:border-blue-300 hover:shadow-md"} ${i===g?"opacity-50":""} ${k===g?"border-blue-500 border-dashed":""}`,children:[(0,b.jsx)("span",{className:`text-sm font-medium ${d===g?"text-blue-700":"text-gray-700"}`,children:function(a,b){let c=a.split(/[/\\]/).pop()||a,d=b.filter(a=>a.split(/[/\\]/).pop()===c);if(1===d.length)return c;let e=a.split(/[/\\]/);for(let b=1;b<e.length;b++){let c=e.slice(-b-1).join("/");if(0===d.filter(d=>c===d.split(/[/\\]/).slice(-b-1).join("/")&&d!==a).length)return c}return a}(c.filePath,q)}),(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),f(g)},className:"text-gray-400 hover:text-red-500 transition-colors opacity-0 group-hover:opacity-100",children:(0,b.jsx)(m,{className:"w-4 h-4"})})]},c.filePath))}):(0,b.jsxs)("div",{className:"text-center py-12 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl border-2 border-dashed border-gray-300",children:[(0,b.jsx)(l,{className:"w-16 h-16 text-gray-400 mx-auto mb-3"}),(0,b.jsx)("p",{className:"text-sm text-gray-600 font-medium",children:"設定ファイルを選択してください"}),(0,b.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:"「ファイルを追加」ボタンから開始"})]})]})}let o=h("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),p=h("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),q=h("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),r=h("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),s=h("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);function t({label:a,items:d,onItemsChange:e,editButtonTitle:f,editModeDescription:g,inputPlaceholder:h,newItemPlaceholder:i,deleteButtonTitle:j,addButtonTitle:k,duplicateErrorMessage:l,onRename:n,children:p}){let[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)([]),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(null),D=(0,c.useMemo)(()=>{if(null===z||null===B||z===B)return v.map((a,b)=>({item:a,originalIndex:b}));let a=v.map((a,b)=>({item:a,originalIndex:b})),[b]=a.splice(z,1);return a.splice(B,0,b),a},[v,z,B]),E=()=>{let a=x.trim();a&&!v.some(b=>b.newName===a)&&(w([...v,{originalName:"",newName:a,isNew:!0}]),y(""))},F=()=>{if(null===z||null===B||z===B){A(null),C(null);return}let a=[...v],[b]=a.splice(z,1);a.splice(B,0,b),w(a),A(null),C(null)},G=()=>{A(null),C(null)},H=()=>{let a=v.map(a=>a.newName.trim()).filter(Boolean);return new Set(a).size!==a.length},I=!H()&&!v.some(a=>!a.newName.trim());return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("label",{className:"block text-sm font-semibold text-gray-700",children:a}),!t&&(0,b.jsx)("button",{onClick:()=>{w(d.map(a=>({originalName:a,newName:a,isNew:!1}))),u(!0),y("")},className:"text-gray-500 hover:text-blue-600 transition-colors p-1",title:f,children:(0,b.jsx)(q,{className:"w-4 h-4"})})]}),t?(0,b.jsxs)("div",{className:"space-y-3 p-4 bg-blue-50 rounded-lg border-2 border-blue-200",children:[(0,b.jsxs)("div",{className:"text-xs font-medium text-blue-700 mb-2",children:[g,"(ドラッグで並び替え可能)"]}),(0,b.jsx)("div",{className:"space-y-2",children:D.map(({item:a,originalIndex:c},d)=>{let e=z===c;return(0,b.jsxs)("div",{draggable:!0,onDragStart:()=>{A(c)},onDragOver:a=>{a.preventDefault(),null!==z&&B!==d&&C(d)},onDrop:F,onDragEnd:G,className:`flex items-center gap-2 transition-all ${e?"opacity-50":""}`,children:[(0,b.jsx)("div",{className:"cursor-grab text-gray-400 hover:text-gray-600 p-1",title:"ドラッグして並び替え",children:(0,b.jsx)(s,{className:"w-4 h-4"})}),(0,b.jsx)("input",{type:"text",value:a.newName,onChange:a=>{var b;return b=a.target.value,void w(v.map((a,d)=>d===c?{...a,newName:b}:a))},placeholder:h,className:`flex-1 px-3 py-2 border-2 rounded-lg text-sm focus:ring-2 transition-all duration-200 ${!a.newName.trim()?"border-red-300 focus:border-red-400 focus:ring-red-200":"border-gray-200 focus:border-blue-400 focus:ring-blue-200"}`}),(0,b.jsx)("button",{onClick:()=>{w(v.filter((a,b)=>b!==c))},className:"text-gray-400 hover:text-red-600 transition-colors p-2",title:j,children:(0,b.jsx)(m,{className:"w-4 h-4"})})]},c)})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-2 border-t border-blue-200",children:[(0,b.jsx)("input",{type:"text",value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),E())},placeholder:i,className:"flex-1 px-3 py-2 border-2 border-gray-200 rounded-lg text-sm focus:border-blue-400 focus:ring-2 focus:ring-blue-200 transition-all duration-200"}),(0,b.jsx)("button",{onClick:E,disabled:!x.trim()||v.some(a=>a.newName.trim()===x.trim()),className:"px-3 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed",title:k,children:(0,b.jsx)(r,{className:"w-4 h-4"})})]}),H()&&(0,b.jsx)("div",{className:"text-xs text-red-600 mt-2",children:l}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-3 border-t border-blue-200",children:[(0,b.jsxs)("button",{onClick:()=>{let a=[],b={};for(let c of v){let d=c.newName.trim();d&&(a.push(d),c.isNew||c.originalName===d||(b[c.originalName]=d))}let c=x.trim();c&&!a.includes(c)&&a.push(c),n&&Object.keys(b).length>0&&n(b),e(a),u(!1),w([]),y("")},disabled:!I,className:"flex-1 flex items-center justify-center gap-2 px-4 py-2 bg-green-500 text-white rounded-lg hover:bg-green-600 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium",children:[(0,b.jsx)(o,{className:"w-4 h-4"}),"保存"]}),(0,b.jsx)("button",{onClick:()=>{u(!1),w([]),y(""),A(null),C(null)},className:"flex-1 px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors text-sm font-medium",children:"キャンセル"})]})]}):p]})}function u({selectedTags:a,availableTags:c,onSelectedTagsChange:d,onAvailableTagsChange:e}){return(0,b.jsx)(t,{label:"タグ",items:c,onItemsChange:b=>{let c=a.filter(a=>b.includes(a));c.length!==a.length&&d(c),e(b)},editButtonTitle:"タグを編集",editModeDescription:"タグの追加・削除・名前変更",inputPlaceholder:"タグ名",newItemPlaceholder:"新しいタグ名を入力",deleteButtonTitle:"タグを削除",addButtonTitle:"タグを追加",duplicateErrorMessage:"同じ名前のタグがあります",onRename:b=>{let c=a.map(a=>b[a]||a);JSON.stringify(c)!==JSON.stringify(a)&&d(c)},children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:0===c.length?(0,b.jsx)("div",{className:"text-sm text-gray-500",children:"タグがありません。鉛筆アイコンをクリックして追加してください。"}):c.map(c=>{let e=a.includes(c);return(0,b.jsxs)("button",{onClick:()=>{a.includes(c)?d(a.filter(a=>a!==c)):d([...a,c])},className:`flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm font-medium border-2 transition-all duration-200 ${e?"bg-blue-500 text-white border-blue-600 shadow-md":"bg-white text-gray-700 border-gray-200 hover:border-blue-300 hover:bg-blue-50"}`,children:[e&&(0,b.jsx)(p,{className:"w-3 h-3"}),(0,b.jsx)("span",{children:c})]},c)})})})}function v({fields:a,projectFields:c,onFieldsChange:d,onUpdateProjectFields:e}){let f=Object.keys(c);return(0,b.jsx)(t,{label:"フィールド",items:f,onItemsChange:b=>{let c={};for(let d of b)c[d]=a[d]||"";if(d(c),e){let a={};for(let c of b)a[c]="";e(a)}},editButtonTitle:"フィールドを編集",editModeDescription:"フィールドの追加・削除・名前変更",inputPlaceholder:"フィールド名",newItemPlaceholder:"新しいフィールド名を入力",deleteButtonTitle:"フィールドを削除",addButtonTitle:"フィールドを追加",duplicateErrorMessage:"同じ名前のフィールドがあります",onRename:b=>{let c={};for(let[d,e]of Object.entries(a))c[b[d]||d]=e;d(c)},children:(0,b.jsx)("div",{className:"space-y-3",children:Object.entries(a).map(([c,e])=>(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:c}),(0,b.jsx)("textarea",{value:e,onChange:b=>{var e;return e=b.target.value,void d({...a,[c]:e})},className:"w-full border-2 border-gray-200 rounded-lg p-3 min-h-[80px] text-sm focus:border-blue-400 focus:ring-2 focus:ring-blue-200 transition-all duration-200 shadow-sm hover:shadow-md",placeholder:`${c}を入力してください`})]},c))})})}function w({selectedPath:a,editingDoc:c,hasUnsavedChanges:d,availableTags:e,projectFields:f,selectedNodeType:g,isAssociativeArray:h=!1,isDescendantOfAssociativeArray:j=!1,onEditingDocChange:k,onAvailableTagsChange:l,onProjectFieldsChange:m,onSave:n,onToggleAssociativeArray:p}){let q=/\[\d+\]/.test(a);return(0,b.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl border border-gray-100 p-6 flex flex-col max-h-[calc(100vh-190px)] hover:shadow-2xl transition-shadow duration-300",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,b.jsx)("div",{className:"w-8 h-8 bg-gradient-to-br from-indigo-500 to-indigo-600 rounded-lg flex items-center justify-center",children:(0,b.jsx)(o,{className:"w-5 h-5 text-white"})}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-800",children:"プロパティ詳細"})]}),a&&c?(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"flex-shrink-0 pb-4 border-b border-gray-200",children:[(0,b.jsx)("label",{className:"block text-sm font-semibold text-gray-700 mb-2",children:"パス"}),(0,b.jsx)("div",{className:"text-sm text-gray-700 bg-gradient-to-r from-blue-50 to-indigo-50 p-3 rounded-lg font-mono border border-blue-200 shadow-sm",children:a})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto py-4 space-y-6 min-h-0",children:[(0,b.jsx)(u,{selectedTags:c.tags||[],availableTags:e,onSelectedTagsChange:a=>{k({...c,tags:a})},onAvailableTagsChange:l}),(0,b.jsx)(v,{fields:c.fields||{},projectFields:f,onFieldsChange:a=>{k({...c,fields:a})},onUpdateProjectFields:m}),(0,b.jsxs)("div",{className:"space-y-3 pt-4 border-t border-gray-200",children:[(q||j)&&(0,b.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-purple-50 rounded-lg border border-purple-200",children:[(0,b.jsx)("input",{type:"checkbox",id:"isTemplate",checked:c.isTemplate||!1,onChange:a=>k({...c,isTemplate:a.target.checked}),className:"mt-0.5 w-4 h-4 rounded border-purple-300 text-purple-600 focus:ring-purple-500"}),(0,b.jsxs)("label",{htmlFor:"isTemplate",className:"text-sm text-purple-800 cursor-pointer",children:[(0,b.jsx)("span",{className:"font-medium",children:"テンプレートとして保存"}),(0,b.jsx)("span",{className:"block text-xs text-purple-600 mt-0.5",children:"同じ構造の全配列要素にこのドキュメントを適用します"})]})]}),"object"===g&&p&&(0,b.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-amber-50 rounded-lg border border-amber-200",children:[(0,b.jsx)("input",{type:"checkbox",id:"isAssociativeArray",checked:h,onChange:b=>p(a,b.target.checked),className:"mt-0.5 w-4 h-4 rounded border-amber-300 text-amber-600 focus:ring-amber-500"}),(0,b.jsxs)("label",{htmlFor:"isAssociativeArray",className:"text-sm text-amber-800 cursor-pointer",children:[(0,b.jsx)("span",{className:"font-medium",children:"連想配列として登録"}),(0,b.jsx)("span",{className:"block text-xs text-amber-600 mt-0.5",children:"キー名を配列インデックスとして扱い、テンプレート展開の対象にします"})]})]})]})]}),(0,b.jsx)("div",{className:"flex-shrink-0 pt-4 border-t border-gray-200",children:(0,b.jsxs)("button",{onClick:n,disabled:!d,className:`w-full flex items-center justify-center gap-2 px-4 py-3 rounded-lg shadow-md transition-all duration-200 transform ${d?"bg-gradient-to-r from-green-500 to-emerald-600 text-white hover:from-green-600 hover:to-emerald-700 hover:shadow-lg cursor-pointer":"bg-gray-300 text-gray-500 cursor-not-allowed"}`,children:[(0,b.jsx)(o,{className:"w-5 h-5"}),(0,b.jsx)("span",{className:"font-medium",children:"保存"})]})})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center flex-1",children:[(0,b.jsx)("div",{className:"w-20 h-20 bg-gradient-to-br from-gray-100 to-gray-200 rounded-full flex items-center justify-center mb-4",children:(0,b.jsx)(i,{className:"w-10 h-10 text-gray-400"})}),(0,b.jsx)("p",{className:"text-sm text-gray-600 font-medium",children:"プロパティを選択してください"}),(0,b.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:"左側のツリーから項目を選択"})]})]})}let x=h("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),y=h("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),z=h("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),A=h("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);class B{static flattenConfig(a,b=""){let c={};for(let d in a){let e=b?`${b}:${d}`:d,f=a[d];f&&"object"==typeof f?Array.isArray(f)?f.some(a=>a&&"object"==typeof a&&!Array.isArray(a))?f.forEach((a,b)=>{a&&"object"==typeof a&&!Array.isArray(a)&&Object.assign(c,this.flattenConfig(a,`${e}[${b}]`))}):c[e]=f:Object.assign(c,this.flattenConfig(f,e)):c[e]=f}return c}static getAllPropertyPaths(a,b=""){let c=[];for(let d in a){let e=b?`${b}:${d}`:d,f=a[d];c.push(e),f&&"object"==typeof f&&(Array.isArray(f)?f.some(a=>a&&"object"==typeof a&&!Array.isArray(a))&&f.forEach((a,b)=>{if(a&&"object"==typeof a&&!Array.isArray(a)){let d=`${e}[${b}]`;c.push(d),c.push(...this.getAllPropertyPaths(a,d))}}):c.push(...this.getAllPropertyPaths(f,e)))}return c}static buildTree(a,b=""){let c=[];for(let d in a){let e=b?`${b}:${d}`:d,f=a[d];if(f&&"object"==typeof f)if(Array.isArray(f))if(f.some(a=>a&&"object"==typeof a&&!Array.isArray(a))){let a=[];f.forEach((b,c)=>{b&&"object"==typeof b&&!Array.isArray(b)&&a.push({key:`[${c}]`,fullPath:`${e}[${c}]`,value:b,children:this.buildTree(b,`${e}[${c}]`),hasDocumentation:!1,type:"object"})}),c.push({key:d,fullPath:e,value:f,children:a.length>0?a:void 0,hasDocumentation:!1,type:"array"})}else c.push({key:d,fullPath:e,value:f,hasDocumentation:!1,type:"array"});else c.push({key:d,fullPath:e,value:f,children:this.buildTree(f,e),hasDocumentation:!1,type:"object"});else c.push({key:d,fullPath:e,value:f,hasDocumentation:!1,type:typeof f})}return c}}function C(a){return a.replace(/\[\d+\]/g,"[*]")}function D(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function E(a,b,c){let d=a;return c&&(d=function(a,b,c){let d=[...b].sort((a,b)=>b.basePath.length-a.basePath.length),e=a,f=!0;for(;f;)for(let a of(f=!1,d)){let b=a.basePath;if(b.includes("[*]")){let a=function(a,b,c){let d=b.split(":"),e=[],f=[];for(let a of d)if(a.endsWith("[*]")){let b=a.slice(0,-3);e.push(`${D(b)}:([^:]+)`),f.push(b),f.push("$capture")}else e.push(D(a)),f.push(a);let g=RegExp(`^(${e.join(":")})(:(.+))?$`),h=a.match(g);if(!h)return a;let i=[];for(let a=1;a<h.length;a++)if(h[a]&&!h[a].startsWith(":")&&a>0){let b=h[a];b&&!b.includes(":")&&b!==h[0]&&i.push(b)}let j=a.split(":"),k=b.split(":"),l=[],m=0,n="";for(let b of k)if(b.endsWith("[*]")){let c=b.slice(0,-3);if(j[m]!==c)return a;n=n?`${n}:${c}`:c,++m<j.length&&(l.push({key:j[m],configPath:n}),m++)}else{if(j[m]!==b)return a;n=n?`${n}:${b}`:b,m++}let o=m<j.length?j.slice(m).join(":"):"",p="",q="";for(let b of k)if(b.endsWith("[*]")){let d=b.slice(0,-3);q=q?`${q}:${d}`:d;let e=l.find(a=>a.configPath===q);if(e){let b=F(c,q);if(!b||"object"!=typeof b||Array.isArray(b))return a;{let c=e.key.match(/^([^\[]+)(\[.+)?$/),f=c?c[1]:e.key,g=c&&c[2]||"",h=Object.keys(b).indexOf(f);if(!(h>=0))return a;p=p?`${p}:${d}[${h}]${g}`:`${d}[${h}]${g}`,q=`${q}:${f}`}}}else p=p?`${p}:${b}`:b,q=q?`${q}:${b}`:b;if(o){let a=o.split(":"),b=a[0],d=F(c,q);if(d&&"object"==typeof d&&!Array.isArray(d)){let c=b.match(/^([^\[]+)(\[.+)?$/);if(c){let b=c[1],e=c[2]||"",f=Object.keys(d).indexOf(b);f>=0?(p=`${p}[${f}]${e}`,a.length>1&&(p=`${p}:${a.slice(1).join(":")}`)):p=`${p}:${o}`}else p=`${p}:${o}`}else p=`${p}:${o}`}return p}(e,b,c);if(a!==e){e=a,f=!0;break}continue}let g=function a(b,c,d){for(let e of c)if(b.startsWith(e.basePath+":")&&e.basePath!==b){let f=b.substring(e.basePath.length+1).split(":"),g=f[0],h=F(d,e.basePath);if(h&&"object"==typeof h&&!Array.isArray(h)){let b=Object.keys(h).indexOf(g);if(b>=0){let g=f.slice(1).join(":");return a(`${e.basePath}[${b}]${g?":"+g:""}`,c,d)}}}return b}(b,d,c);if(e.startsWith(g+":")){let a=e.substring(g.length+1).split(":"),d=a[0];if(d.match(/^\[\d+\]/))continue;let h=d.match(/^([^\[]+)(\[.+)?$/);if(!h)continue;let i=h[1],j=h[2]||"",k=F(c,b);if(k&&"object"==typeof k&&!Array.isArray(k)){let b=Object.keys(k).indexOf(i);if(b>=0){let c=a.slice(1).join(":");e=`${g}[${b}]${j}${c?":"+c:""}`,f=!0;break}}}}return e}(d,b,c)),C(d)}function F(a,b){if(!b||!a)return a;let c=b.split(/(?=\[)|:/),d=a;for(let a of c){if(null==d)return;if(a.startsWith("[")&&a.endsWith("]")){let b=parseInt(a.slice(1,-1),10);if(!Array.isArray(d))return;d=d[b]}else if(a&&"object"==typeof d&&a in d)d=d[a];else if(a)return}return d}function G(a,b,c,d){let e=E(a,c,d);if(e!==a){let a=b[e];if(a&&a.isTemplate)return a}for(let[c,d]of Object.entries(b))if(d.isTemplate&&function(a,b){let c=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,"\\[\\d+\\]");return RegExp(`^${c}$`).test(a)}(a,c))return d}function H(a,b,c){let d=[...b].sort((a,b)=>a.basePath.length-b.basePath.length),e=a,f=!0;for(;f;)for(let a of(f=!1,d)){let b=a.basePath;if(b.includes("[*]")){let a=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,"\\[\\*\\]"),c=RegExp(`^(${a})(:(.+))?$`),d=e.match(c);if(d){let a=d[1];d[2];let b=d[3];if(b){let c=b.split(":"),d=c[0];if("[*]"===d||d.startsWith("["))continue;let g=c.slice(1).join(":");e=`${a}[*]${g?":"+g:""}`,f=!0;break}}}else if(e.startsWith(b+":")){let a=e.substring(b.length+1).split(":"),d=a[0];if("[*]"===d||d.startsWith("["))continue;let g=F(c,b);if(g&&"object"==typeof g&&!Array.isArray(g)&&Object.keys(g).includes(d)){let c=a.slice(1).join(":");e=`${b}[*]${c?":"+c:""}`,f=!0;break}}}return e}function I({config:a,docs:d,onSelectProperty:e,onEditProperty:f,selectedPath:g,associativeArrays:h=[]}){let[j,k]=(0,c.useState)(new Set),l=a=>!!(a.tags&&a.tags.length>0||a.fields&&Object.values(a.fields).some(a=>a&&""!==a.trim()))||!1,m=(c,n=0)=>{let o=(b=>{let c=(a=>{for(let b of Object.values(d.properties))if(b.isTemplate&&b.sourceTemplatePath===a)return!0;return!1})(b),e=d.properties[b],f=!!e&&l(e),g=G(b,d.properties,h,a),i=!!g&&l(g);if(e){if(f){let a=i&&g!==e&&!c;return{hasDirectDoc:!0,hasDoc:!0,isTemplate:e.isTemplate||!1,isInherited:a,isTemplateSource:c}}if(e.isTemplate)return{hasDirectDoc:!1,hasDoc:!1,isTemplate:!0,isInherited:!1,isTemplateSource:c}}return i?{hasDirectDoc:!1,hasDoc:!0,isTemplate:!1,isInherited:!c,isTemplateSource:c}:{hasDirectDoc:!1,hasDoc:!1,isTemplate:!1,isInherited:!1,isTemplateSource:c}})(c.fullPath),p=j.has(c.fullPath),q=g===c.fullPath,r=(b=>{if(h.some(a=>a.basePath===b))return!0;let c=H(b,h,a);return!!(c!==b&&h.some(a=>a.basePath===c))||h.some(a=>{if(!a.basePath.includes("[*]"))return!1;let c=a.basePath.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,":[^:]+");return RegExp(`^${c}$`).test(b)})})(c.fullPath);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{paddingLeft:`${20*n}px`},className:`group flex items-center gap-2 py-2 px-3 cursor-pointer rounded-lg transition-all duration-150 ${q?"bg-gradient-to-r from-blue-100 to-indigo-100 border-l-4 border-blue-500 shadow-sm":"hover:bg-gradient-to-r hover:from-gray-50 hover:to-gray-100"}`,children:[c.children&&c.children.length>0?(0,b.jsx)("button",{onClick:()=>{var a;let b;return a=c.fullPath,void((b=new Set(j)).has(a)?b.delete(a):b.add(a),k(b))},className:"p-1 hover:bg-blue-100 rounded-md transition-colors",children:p?(0,b.jsx)(y,{className:"w-4 h-4 text-blue-600"}):(0,b.jsx)(x,{className:"w-4 h-4 text-gray-600"})}):(0,b.jsx)("div",{className:"w-6"}),(0,b.jsxs)("div",{onClick:()=>e(c.fullPath),className:"flex-1 flex items-center gap-2",children:[(0,b.jsx)("span",{className:`${c.children?"font-bold text-gray-800":"font-medium text-gray-700"}`,children:c.key}),!c.children&&(0,b.jsxs)("span",{className:"text-sm text-gray-500 truncate max-w-[200px]",children:[": ",JSON.stringify(c.value)]}),o.hasDirectDoc&&!o.isTemplate&&!o.isTemplateSource&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-green-100 border border-green-300 rounded-full",children:[(0,b.jsx)(i,{className:"w-3 h-3 text-green-600"}),(0,b.jsx)("span",{className:"text-xs text-green-700 font-medium",children:"Doc"})]}),(o.isTemplate||o.isTemplateSource)&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-purple-100 border border-purple-300 rounded-full",children:[(0,b.jsx)(z,{className:"w-3 h-3 text-purple-600"}),(0,b.jsx)("span",{className:"text-xs text-purple-700 font-medium",children:"Template"})]}),o.isInherited&&!o.isTemplateSource&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-blue-100 border border-blue-300 rounded-full",children:[(0,b.jsx)(i,{className:"w-3 h-3 text-blue-600"}),(0,b.jsx)("span",{className:"text-xs text-blue-700 font-medium",children:"Inherited"})]}),r&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-amber-100 border border-amber-300 rounded-full",children:[(0,b.jsx)(A,{className:"w-3 h-3 text-amber-600"}),(0,b.jsx)("span",{className:"text-xs text-amber-700 font-medium",children:"連想配列"})]})]}),!c.children&&(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),f(c.fullPath)},className:"p-1 hover:bg-gray-200 rounded",title:"編集"})]}),c.children&&p&&(0,b.jsx)("div",{children:c.children.map(a=>m(a,n+1))})]},c.fullPath)},n=B.buildTree(a);return(0,b.jsxs)("div",{className:"h-full flex flex-col border-2 border-gray-100 rounded-xl bg-white shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 border-b-2 border-gray-100 bg-gradient-to-r from-gray-50 to-gray-100",children:[(0,b.jsx)("button",{onClick:()=>{var b;let c,d;k(new Set((b=B.buildTree(a),c=[],d=a=>{a.children&&a.children.length>0&&(c.push(a.fullPath),a.children.forEach(d))},b.forEach(d),c)))},className:"px-4 py-1.5 text-sm font-medium bg-white border-2 border-blue-200 text-blue-600 rounded-lg hover:bg-blue-50 hover:border-blue-300 transition-all duration-200 shadow-sm hover:shadow-md",children:"すべて展開"}),(0,b.jsx)("button",{onClick:()=>{k(new Set)},className:"px-4 py-1.5 text-sm font-medium bg-white border-2 border-gray-200 text-gray-600 rounded-lg hover:bg-gray-50 hover:border-gray-300 transition-all duration-200 shadow-sm hover:shadow-md",children:"すべて閉じる"})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-3",children:n.map(a=>m(a))})]})}let J=h("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),K=h("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]),L=h("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);function M({isOpen:a,currentPath:d,onSelect:e,onClose:f,multiSelect:g=!1,filterJsonOnly:h=!1,folderSelectMode:i=!1,title:j}){let[k,l]=(0,c.useState)(d),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)([]);(0,c.useEffect)(()=>{a&&(l(d),r([]))},[a,d]),(0,c.useEffect)(()=>{a&&s(k)},[a,k]);let s=async a=>{p(!0);try{let b=await fetch("/api/files/browse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:a})}),c=await b.json();if(c.success){let a=c.data.items;i?a=c.data.items.filter(a=>"directory"===a.type):h&&(a=c.data.items.filter(a=>"directory"===a.type||".json"===a.extension)),n(a)}else console.error("API returned error:",c.error)}catch(a){console.error("Failed to load directory:",a)}finally{p(!1)}},t=()=>k.replace(/\\/g,"/").toLowerCase()!==d.replace(/\\/g,"/").toLowerCase(),u=()=>{r([]),f()};return a?(0,b.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-2xl max-h-[80vh] flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:j||(i?"フォルダを選択":"ファイルを選択")}),(0,b.jsx)("button",{onClick:u,className:"text-gray-500 hover:text-gray-700",children:"✕"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b bg-gray-50",children:[(0,b.jsx)("button",{onClick:()=>{if(!t())return;let a=k.replace(/\\/g,"/"),b=a.split("/").filter(a=>a);if(b.length>1){let c,e=b.slice(0,-1),f=(c=1===e.length&&e[0].includes(":")?e[0]+"/":e[0].includes(":")?e[0]+"/"+e.slice(1).join("/"):a.startsWith("/")?"/"+e.join("/"):e.join("/")).replace(/\\/g,"/").toLowerCase(),g=d.replace(/\\/g,"/").toLowerCase();(f.startsWith(g)||f===g)&&l(c)}else if(1===b.length&&!b[0].includes(":")){if("."===d.replace(/\\/g,"/").toLowerCase())return;l(".")}},disabled:!t(),className:`p-2 rounded flex-shrink-0 ${t()?"hover:bg-gray-200":"opacity-50 cursor-not-allowed"}`,title:t()?"上のディレクトリへ":"ルートディレクトリです",children:(0,b.jsx)(L,{className:"w-5 h-5"})}),(0,b.jsxs)("span",{className:"text-sm text-gray-600 flex-1 truncate",children:["パス: ",k]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:o?(0,b.jsx)("div",{className:"text-center text-gray-500",children:"読み込み中..."}):(0,b.jsx)("div",{className:"space-y-1",children:m.map(a=>{let c=q.includes(a.path);return(0,b.jsxs)("div",{onClick:()=>{"directory"===a.type?i?r([a.path]):l(a.path):g?r(b=>b.includes(a.path)?b.filter(b=>b!==a.path):[...b,a.path]):r([a.path])},onDoubleClick:()=>{"directory"===a.type&&(l(a.path),r([]))},className:`flex items-center gap-2 p-2 rounded cursor-pointer hover:bg-gray-100 ${c?"bg-blue-100":""}`,children:["directory"===a.type?(0,b.jsx)(J,{className:"w-5 h-5 text-blue-500"}):(0,b.jsx)(K,{className:"w-5 h-5 text-green-500"}),(0,b.jsx)("span",{className:"text-sm",children:a.name}),c&&(g||i)&&(0,b.jsx)("span",{className:"ml-auto text-blue-500",children:"✓"})]},a.path)})})}),(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border-t",children:[i?(0,b.jsx)("div",{className:"text-sm text-gray-600",children:q.length>0?`選択中: ${q[0].split(/[/\\]/).pop()}`:`現在のフォルダ: ${k.split(/[/\\]/).pop()||k}`}):g&&q.length>0?(0,b.jsxs)("div",{className:"text-sm text-gray-600",children:[q.length,"件選択中"]}):null,(0,b.jsxs)("div",{className:"flex items-center gap-2 ml-auto",children:[(0,b.jsx)("button",{onClick:u,className:"px-4 py-2 text-gray-600 hover:bg-gray-100 rounded",children:"キャンセル"}),(0,b.jsx)("button",{onClick:()=>{i?(e(q.length>0?q:[k]),r([]),f()):q.length>0&&(e(q),r([]),f())},disabled:!i&&0===q.length,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed",children:"選択"})]})]})]})}):null}let N={format:"html",autoExport:!0,fileName:"config-doc",outputDir:".config_doc/output"};function O({isOpen:a,onClose:d,onExport:e,currentSettings:f,rootPath:g="."}){let[h,i]=(0,c.useState)(f||N),[k,l]=(0,c.useState)(!1),[n,o]=(0,c.useState)(!1);(0,c.useEffect)(()=>{f&&i(f)},[f]);let p="markdown"===h.format||"markdown-table"===h.format,q=(0,c.useMemo)(()=>{let a=g.replace(/\//g,"\\"),b=h.outputDir?.trim()||"",c=b?b.replace(/\//g,"\\"):"",d=c?`${a}\\${c}`:a;if("markdown"===h.format||"markdown-table"===h.format)return`${d}\\{設定ファイル名}.md`;let e=h.fileName||"config-doc";return`${d}\\${e}.html`},[h.format,h.fileName,h.outputDir,g]);if(!a)return null;let r=async()=>{l(!0);try{await e(h),d()}catch(a){console.error("Export failed:",a)}finally{l(!1)}};return(0,b.jsxs)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:[(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow-xl max-w-md w-full mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-6 border-b",children:[(0,b.jsx)("h2",{className:"text-xl font-semibold text-gray-800",children:"エクスポート設定"}),(0,b.jsx)("button",{onClick:d,className:"text-gray-400 hover:text-gray-600 transition-colors",children:(0,b.jsx)(m,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"p-6 space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"出力先フォルダ"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("input",{type:"text",value:h.outputDir||"",onChange:a=>i({...h,outputDir:a.target.value}),className:"flex-1 px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"(空欄でプロジェクトルート)"}),(0,b.jsx)("button",{type:"button",onClick:()=>o(!0),className:"px-3 py-2 border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500",title:"フォルダを選択",children:(0,b.jsx)(J,{className:"w-5 h-5 text-gray-500"})})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-gray-500",children:"相対パスを入力またはフォルダを選択(空欄でプロジェクトルート、チーム共有設定)"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"出力形式"}),(0,b.jsxs)("select",{value:h.format,onChange:a=>i({...h,format:a.target.value}),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",children:[(0,b.jsx)("option",{value:"html",children:"HTML"}),(0,b.jsx)("option",{value:"markdown",children:"Markdown"}),(0,b.jsx)("option",{value:"markdown-table",children:"Markdown (テーブル形式)"})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-gray-500",children:"html"===h.format?"スタイル付きのHTMLファイルとして出力します":"markdown-table"===h.format?"設定ファイルごとにMarkdownテーブル形式で出力します":"設定ファイルごとに個別のMarkdownファイルとして出力します"})]}),!p&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"ファイル名"}),(0,b.jsx)("input",{type:"text",value:h.fileName??"",onChange:a=>i({...h,fileName:a.target.value}),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"config-doc"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-gray-500",children:"拡張子なしのファイル名を指定します(空欄でconfig-doc、チーム共有設定)"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"出力先パス"}),(0,b.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-300 rounded-md text-sm text-gray-700 font-mono break-all",children:q})]}),(0,b.jsxs)("div",{className:"flex items-start",children:[(0,b.jsx)("div",{className:"flex items-center h-5",children:(0,b.jsx)("input",{id:"auto-export",type:"checkbox",checked:h.autoExport,onChange:a=>i({...h,autoExport:a.target.checked}),className:"w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"})}),(0,b.jsxs)("div",{className:"ml-3",children:[(0,b.jsx)("label",{htmlFor:"auto-export",className:"text-sm font-medium text-gray-700 cursor-pointer",children:"保存時に自動エクスポート"}),(0,b.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:"ドキュメントを保存したときに自動的にHTMLファイルを更新します"})]})]}),h.lastExportedAt&&(0,b.jsx)("div",{className:"pt-4 border-t",children:(0,b.jsxs)("p",{className:"text-xs text-gray-500",children:["最終エクスポート: ",new Date(h.lastExportedAt).toLocaleString("ja-JP")]})})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 p-6 border-t bg-gray-50 rounded-b-lg",children:[(0,b.jsx)("button",{onClick:d,className:"px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:"キャンセル"}),(0,b.jsxs)("button",{onClick:r,disabled:k,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 border border-transparent rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,b.jsx)(j,{className:"w-4 h-4"}),k?"エクスポート中...":"エクスポート"]})]})]}),(0,b.jsx)(M,{isOpen:n,currentPath:g,onSelect:a=>{if(a.length>0){let b=a[0],c=g.replace(/\\/g,"/"),d=b.replace(/\\/g,"/"),e=d;d.startsWith(c)&&(e=d.slice(c.length)).startsWith("/")&&(e=e.slice(1)),e||(e="."),i({...h,outputDir:e})}o(!1)},onClose:()=>o(!1),folderSelectMode:!0,title:"出力先フォルダを選択"})]})}let P=h("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Q=h("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),R=h("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);function S({message:a,type:d,duration:e=3e3,onClose:f}){let[g,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{setTimeout(()=>h(!0),10);let a=setTimeout(()=>{h(!1),setTimeout(f,300)},e);return()=>clearTimeout(a)},[e,f]);let i={success:(0,b.jsx)(P,{className:"w-5 h-5 text-green-500"}),error:(0,b.jsx)(Q,{className:"w-5 h-5 text-red-500"}),warning:(0,b.jsx)(R,{className:"w-5 h-5 text-yellow-500"})};return(0,b.jsx)("div",{className:`fixed bottom-4 left-4 z-50 transition-all duration-300 ${g?"opacity-100 translate-y-0":"opacity-0 translate-y-2"}`,children:(0,b.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border ${{success:"bg-green-50 border-green-200",error:"bg-red-50 border-red-200",warning:"bg-yellow-50 border-yellow-200"}[d]} min-w-[300px] max-w-[500px]`,children:[i[d],(0,b.jsx)("span",{className:"flex-1 text-sm text-gray-800",children:a}),(0,b.jsx)("button",{onClick:()=>{h(!1),setTimeout(f,300)},className:"text-gray-400 hover:text-gray-600 transition-colors",children:(0,b.jsx)(m,{className:"w-4 h-4"})})]})})}function T({toasts:a,onRemove:c}){return(0,b.jsx)(b.Fragment,{children:a.map((a,d)=>(0,b.jsx)("div",{style:{bottom:`${16+80*d}px`},className:"fixed left-4 z-50",children:(0,b.jsx)(S,{message:a.message,type:a.type,onClose:()=>c(a.id)})},a.id))})}let U={説明:""};function V(a,b){return[...a].sort((a,c)=>{let d=b.indexOf(a),e=b.indexOf(c);return -1!==d&&-1!==e?d-e:-1===d?1:-1===e?-1:0})}function W(a,b){return a.length!==b.length||a.some((a,c)=>a!==b[c])}function X(){let[a,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),{loadedConfigs:g,activeConfigIndex:h,activeConfig:j,selectedPath:l,selectedNodeType:m,editingDoc:o,originalDoc:p,hasUnsavedChanges:q,exportSettings:r,availableTags:s,projectFields:t,associativeArrays:u,toasts:v,rootPath:x,setActiveConfigIndex:y,setEditingDoc:z,setHasUnsavedChanges:A,removeToast:B,handleSelectConfigFiles:D,handleRemoveConfig:J,handleReorderConfigs:K,handleSelectProperty:L,handleSaveProperty:N,handleExport:P,handleAvailableTagsChange:Q,handleProjectFieldsChange:R,handleToggleAssociativeArray:S,checkForChanges:X,resetSelection:Y,isAssociativeArray:Z,isDescendantOfAssociativeArray:$}=function(){let[a,b]=(0,c.useState)([]),[d,e]=(0,c.useState)(0),[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)("."),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(),[t,u]=(0,c.useState)(["required","nullable","string","number","boolean"]),[v,w]=(0,c.useState)(U),[x,y]=(0,c.useState)([]),[z,A]=(0,c.useState)(void 0),[B,D]=(0,c.useState)([]),I=a[d],J=(0,c.useCallback)((a,b="success")=>{let c=Date.now().toString();D(d=>[...d,{id:c,message:a,type:b}])},[]),K=(0,c.useCallback)(a=>{D(b=>b.filter(b=>b.id!==a))},[]),L=(0,c.useCallback)((a,b)=>{if(!a||!b)return!1;let c=a.tags||[];if(W(b.tags||[],c))return!0;let d=a.fields||{};return!!function(a,b){for(let c of new Set([...Object.keys(a),...Object.keys(b)]))if((a[c]||"")!==(b[c]||""))return!0;return!1}(b.fields||{},d)||(a.isTemplate||!1)!==(b.isTemplate||!1)},[]),M=(0,c.useCallback)((a,b)=>{let c=a.replace(/\\/g,"/"),d=b.replace(/\\/g,"/");if(!c.match(/^[a-zA-Z]:\//)&&!c.startsWith("/"))return a;if(c.startsWith(d)){let a=c.substring(d.length);return a.startsWith("/")?a.substring(1):a}return a},[]),N=(0,c.useCallback)(a=>{let b={};for(let c of Object.keys(v))b[c]=a.fields[c]||"";return{...a,fields:b}},[v]),O=(0,c.useCallback)(async a=>{try{let c=await fetch("/api/config/load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:a})}),d=await c.json();d.success&&b(b=>b.some(b=>b.filePath===a)?b:[...b,{filePath:a,configData:d.data.configData,docs:d.data.docs}])}catch(a){console.error("Failed to load config file:",a)}},[]),P=(0,c.useCallback)(async a=>{try{let b=await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePaths:a})}),c=await b.json();c.deletedDocsFiles&&c.deletedDocsFiles.length>0&&J(`${c.deletedDocsFiles.length}件のドキュメントファイルを削除しました`,"warning")}catch(a){console.error("Failed to update metadata:",a)}},[J]),Q=(0,c.useCallback)(async()=>{if(r)try{if((await fetch("/api/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({format:r.format,fileName:r.fileName,outputDir:r.outputDir})})).ok){let a={...r,lastExportedAt:new Date().toISOString()};s(a),await fetch("/api/export/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:a})})}}catch(a){console.error("Auto export failed:",a)}},[r]);(0,c.useEffect)(()=>{(async()=>{try{let a=await fetch("/api/project"),b=await a.json();if(b.success&&(k(b.data.rootPath),b.data.hasConfigDoc)){let a=await fetch("/api/config/metadata"),b=await a.json();if(b.success&&b.data?.configFiles)for(let a of b.data.configFiles)await O(a.filePath);b.success&&b.data?.availableTags&&u(b.data.availableTags),b.success&&b.data?.fields&&w(b.data.fields),b.success&&b.data?.associativeArrays&&y(b.data.associativeArrays)}let c=await fetch("/api/export/settings"),d=await c.json();d.success&&s(d.data)}catch(a){console.error("Failed to load saved configs:",a)}finally{i(!0)}})()},[O]);let R=(0,c.useCallback)(async c=>{let d=[];for(let b of c){let c=M(b,j);if(!a.some(a=>a.filePath===c))try{let a=await fetch("/api/config/load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:b})}),e=await a.json();e.success?d.push({filePath:c,configData:e.data.configData,docs:e.data.docs}):J(`設定ファイルの読み込みに失敗しました (${b}): ${e.error}`,"error")}catch(a){console.error("Failed to load config:",a),J(`設定ファイルの読み込み中にエラーが発生しました: ${b}`,"error")}}d.length>0&&b(a=>{let b=[...a,...d];return P(b.map(a=>a.filePath)),b})},[a,j,J,M,P]),S=(0,c.useCallback)(async c=>{let f=a[c];(!f.docs||!(Object.keys(f.docs.properties).length>0)||confirm("既に説明文が設定されていますが、削除してよろしいですか?"))&&(b(a=>{let b=a.filter((a,b)=>b!==c);return P(b.map(a=>a.filePath)),b}),d>=c&&d>0&&e(d-1),g(""),m(null),q(!1))},[d,a,P]),T=(0,c.useCallback)((a,c)=>{b(a),e(c),P(a.map(a=>a.filePath))},[P]),X=(0,c.useCallback)(a=>{if(I){for(let b of Object.values(I.docs.properties))if(b.isTemplate&&b.sourceTemplatePath===a)return b}},[I]),Y=(0,c.useCallback)(a=>{if(p&&!confirm("保存されていない変更があります。破棄しますか?"))return;g(a);let b=I?.docs.properties[a];if(I?.configData){let b=F(I.configData,a);null==b?A(void 0):Array.isArray(b)?A("array"):"object"==typeof b?A("object"):"string"==typeof b?A("string"):"number"==typeof b?A("number"):"boolean"==typeof b?A("boolean"):A(void 0)}let c=X(a),d=!!c,e=I?.configData?G(a,I.docs.properties,x,I.configData):void 0;if(b){let a={...b,tags:b.tags||[],isTemplate:!!d||b.isTemplate};if(e&&!d&&((!a.tags||0===a.tags.length)&&e.tags&&e.tags.length>0&&(a={...a,tags:[...e.tags]}),e.fields)){let b={...a.fields||{}};for(let[a,c]of Object.entries(e.fields))(!b[a]||""===b[a].trim())&&c&&""!==c.trim()&&(b[a]=c);a={...a,fields:b}}let c=N(a);m(c),o(c)}else if(c){let b=N({...c,path:a,tags:c.tags||[],isTemplate:!0});m(b),o(b)}else if(e){let b=N({path:a,tags:e.tags?[...e.tags]:[],fields:e.fields?{...e.fields}:{...v},modifiedAt:new Date().toISOString(),isTemplate:!1});m(b),o(b)}else{let b={path:a,tags:[],fields:{...v},modifiedAt:new Date().toISOString()};m(b),o(b)}q(!1)},[I,x,X,p,N,v]),Z=(0,c.useCallback)(async()=>{if(l&&I)try{let a={...l,modifiedAt:new Date().toISOString()},c=await fetch("/api/config/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:I.filePath,propertyPath:f,propertyDoc:a,associativeArrays:x,configData:I.configData})}),e=await c.json();e.success?(b(b=>b.map((b,c)=>{if(c!==d)return b;let e={...b.docs.properties};if(a.isTemplate){let c;c=x.length>0&&b.configData?E(f,x,b.configData):C(f);let d={...a,path:c,sourceTemplatePath:f};e[c]=d,delete e[f]}else{for(let[a,b]of Object.entries(e))if(b.isTemplate&&b.sourceTemplatePath===f){delete e[a];break}e[f]=a}return{...b,docs:{...b.docs,properties:e}}})),m(a),o(a),q(!1),J("保存しました"),r?.autoExport&&await Q()):J("保存に失敗しました: "+e.error,"error")}catch(a){console.error("Failed to save:",a),J("保存中にエラーが発生しました","error")}},[I,d,l,r?.autoExport,Q,f,J]),$=(0,c.useCallback)(async a=>{try{let b=await fetch("/api/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({format:a.format,fileName:a.fileName,outputDir:a.outputDir})}),c=await b.json();if(c.success){let b={...a,lastExportedAt:new Date().toISOString()};s(b),await fetch("/api/export/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:b})});let d=c.outputPaths?c.outputPaths[0]?.replace(/[/\\][^/\\]+$/,"")||a.outputDir||".":c.outputPath;J(`エクスポートしました: ${d}`)}else J("エクスポートに失敗しました: "+c.error,"error")}catch(a){console.error("Export failed:",a),J("エクスポート中にエラーが発生しました","error")}},[J]),_=(0,c.useCallback)(async c=>{let d=t.filter(a=>!c.includes(a));u(c),await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({availableTags:c})});let e=d.length>0,f=t.some((a,b)=>a!==c[b])||t.length!==c.length;if(e||f){for(let e of a){let a=!1,f={...e.docs.properties};for(let[b,e]of Object.entries(f))if(e.tags&&e.tags.length>0){let g=V(e.tags.filter(a=>!d.includes(a)),c);W(e.tags,g)&&(f[b]={...e,tags:g},a=!0)}a&&(await fetch("/api/config/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:e.filePath,properties:f})}),b(a=>a.map(a=>a.filePath===e.filePath?{...a,docs:{...a.docs,properties:f}}:a)))}if(l&&l.tags&&l.tags.length>0){let a=V(l.tags.filter(a=>!d.includes(a)),c);if(W(l.tags,a)&&(m({...l,tags:a}),n&&n.tags)){let a=V(n.tags.filter(a=>!d.includes(a)),c);o({...n,tags:a})}}}},[t,l,a,n]),aa=(0,c.useCallback)(async c=>{let d=Object.keys(v),e=Object.keys(c),f=d.filter(a=>!e.includes(a));for(let d of(w(c),await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:c})}),a)){let a=!1,c={...d.docs.properties};for(let[b,d]of Object.entries(c))if(d.fields){let g=function(a,b){let c={};for(let d of b)c[d]=a[d]||"";return c}(d.fields,e),h=Object.keys(d.fields),i=h.some((a,b)=>a!==e[b]),j=f.some(a=>a in d.fields);(i||j||h.length!==e.length)&&(c[b]={...d,fields:g},a=!0)}a&&(await fetch("/api/config/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:d.filePath,properties:c})}),b(a=>a.map(a=>a.filePath===d.filePath?{...a,docs:{...a.docs,properties:c}}:a)))}if(n){let a={};for(let b of e)a[b]=n.fields?.[b]||"";o({...n,fields:a})}if(l){let a={};for(let b of e)a[b]=l.fields?.[b]||"";let b={...l,fields:a};m(b),q(L(b,n?{...n,fields:Object.fromEntries(e.map(a=>[a,n.fields?.[a]||""]))}:null))}},[L,l,a,n,v]),ab=(0,c.useCallback)(()=>{g(""),m(null),q(!1),A(void 0)},[]),ac=(0,c.useCallback)(a=>{if(x.some(b=>b.basePath===a))return!0;let b=H(a,x,I?.configData);return!!(b!==a&&x.some(a=>a.basePath===b))||x.some(b=>{if(!b.basePath.includes("[*]"))return!1;let c=b.basePath.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,":[^:]+");return RegExp(`^${c}$`).test(a)})},[x,I?.configData]),ad=(0,c.useCallback)(a=>x.some(b=>a.startsWith(b.basePath+":")),[x]),ae=(0,c.useCallback)(async(a,b)=>{let c;if(b){let b=H(a,x,I?.configData);c=[...x,{basePath:b,createdAt:new Date().toISOString()}]}else{let b=H(a,x,I?.configData),d=a+"[*]";c=x.filter(c=>!(c.basePath===a||c.basePath===b||c.basePath.startsWith(d+":")||c.basePath.startsWith(d)))}y(c);try{await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({associativeArrays:c})}),J(b?"連想配列として登録しました":"連想配列登録を解除しました")}catch(a){console.error("Failed to save associative array mapping:",a),J("連想配列設定の保存に失敗しました","error")}},[x,I?.configData,J]);return{loadedConfigs:a,activeConfigIndex:d,activeConfig:I,selectedPath:f,selectedNodeType:z,editingDoc:l,originalDoc:n,hasUnsavedChanges:p,exportSettings:r,availableTags:t,projectFields:v,associativeArrays:x,toasts:B,rootPath:j,isInitialized:h,setActiveConfigIndex:e,setSelectedPath:g,setEditingDoc:m,setHasUnsavedChanges:q,showToast:J,removeToast:K,loadConfigFile:O,handleSelectConfigFiles:R,handleRemoveConfig:S,handleReorderConfigs:T,handleSelectProperty:Y,handleSaveProperty:Z,handleExport:$,handleAvailableTagsChange:_,handleProjectFieldsChange:aa,handleToggleAssociativeArray:ae,checkForChanges:L,resetSelection:ab,isAssociativeArray:ac,isDescendantOfAssociativeArray:ad}}();return(0,b.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50",children:[(0,b.jsx)(k,{onExportClick:()=>f(!0)}),(0,b.jsxs)("main",{className:"container mx-auto px-6 py-8",children:[(0,b.jsx)(n,{loadedConfigs:g,activeConfigIndex:h,onTabClick:a=>{y(a),Y()},onRemoveConfig:J,onAddFileClick:()=>d(!0),onReorder:K}),j&&(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl border border-gray-100 p-6 flex flex-col max-h-[calc(100vh-190px)] hover:shadow-2xl transition-shadow duration-300",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,b.jsx)("div",{className:"w-8 h-8 bg-gradient-to-br from-purple-500 to-purple-600 rounded-lg flex items-center justify-center",children:(0,b.jsx)(i,{className:"w-5 h-5 text-white"})}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-800",children:"JSON構造"})]}),(0,b.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,b.jsx)(I,{config:j.configData,docs:j.docs,onSelectProperty:L,onEditProperty:L,selectedPath:l,associativeArrays:u})})]}),(0,b.jsx)(w,{selectedPath:l,editingDoc:o,hasUnsavedChanges:q,availableTags:s,projectFields:t,selectedNodeType:m,isAssociativeArray:Z(l),isDescendantOfAssociativeArray:$(l),onEditingDocChange:a=>{z(a),A(X(a,p))},onAvailableTagsChange:Q,onProjectFieldsChange:R,onSave:N,onToggleAssociativeArray:S})]})]}),(0,b.jsx)(M,{isOpen:a,currentPath:x,multiSelect:!0,filterJsonOnly:!0,onSelect:a=>{D(a),d(!1)},onClose:()=>d(!1)}),(0,b.jsx)(O,{isOpen:e,onClose:()=>f(!1),onExport:P,currentSettings:r,rootPath:x}),(0,b.jsx)(T,{toasts:v,onRemove:B})]})}a.s(["default",()=>X],60350)}];
|
|
1
|
+
module.exports=[60350,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)},e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let g=(0,c.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:d=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,c.createElement)("svg",{ref:l,...f,width:b,height:b,stroke:a,strokeWidth:g?24*Number(d)/Number(b):d,className:e("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,c.createElement)(a,b)),...Array.isArray(i)?i:[i]])),h=(a,b)=>{let f=(0,c.forwardRef)(({className:f,...h},i)=>(0,c.createElement)(g,{ref:i,iconNode:b,className:e(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,f),...h}));return f.displayName=d(a),f},i=h("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),j=h("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);function k({onExportClick:a}){return(0,b.jsx)("header",{className:"bg-white/80 backdrop-blur-md border-b border-gray-200 shadow-sm sticky top-0 z-50",children:(0,b.jsxs)("div",{className:"container mx-auto px-6 py-4 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("img",{src:"/logo.svg",alt:"ConfigDoc",className:"w-12 h-12 rounded-lg"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent",children:"ConfigDoc"}),(0,b.jsx)("p",{className:"text-xs text-gray-500",children:"Configuration Documentation Tool"})]})]}),(0,b.jsxs)("button",{onClick:a,className:"flex items-center gap-2 px-5 py-2.5 bg-gradient-to-r from-green-500 to-emerald-600 text-white rounded-lg hover:from-green-600 hover:to-emerald-700 shadow-md hover:shadow-lg transition-all duration-200 transform",title:"エクスポート",children:[(0,b.jsx)(j,{className:"w-5 h-5"}),(0,b.jsx)("span",{className:"font-medium",children:"エクスポート"})]})]})})}let l=h("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),m=h("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function n({loadedConfigs:a,activeConfigIndex:d,onTabClick:e,onRemoveConfig:f,onAddFileClick:g,onReorder:h}){let[i,j]=(0,c.useState)(null),[k,n]=(0,c.useState)(null),o=()=>{n(null)},p=()=>{j(null),n(null)},q=a.map(a=>a.filePath);return(0,b.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl border border-gray-100 p-6 mb-8 hover:shadow-2xl transition-shadow duration-300",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"w-8 h-8 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center",children:(0,b.jsx)(l,{className:"w-5 h-5 text-white"})}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-800",children:"設定ファイル"})]}),(0,b.jsxs)("button",{onClick:g,className:"flex items-center gap-2 px-4 py-2 bg-gradient-to-r from-blue-500 to-blue-600 text-white rounded-lg hover:from-blue-600 hover:to-blue-700 shadow-md hover:shadow-lg transition-all duration-200 transform",children:[(0,b.jsx)(l,{className:"w-5 h-5"}),(0,b.jsx)("span",{className:"font-medium",children:"ファイルを追加"})]})]}),a.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-3",children:a.map((c,g)=>(0,b.jsxs)("div",{draggable:!0,onDragStart:()=>{j(g)},onDragOver:a=>{a.preventDefault(),null!==i&&i!==g&&n(g)},onDragLeave:o,onDrop:()=>(b=>{if(null===i||i===b){j(null),n(null);return}let c=[...a],[e]=c.splice(i,1);c.splice(b,0,e);let f=d;d===i?f=b:i<d&&b>=d?f=d-1:i>d&&b<=d&&(f=d+1),h(c,f),j(null),n(null)})(g),onDragEnd:p,onClick:()=>e(g),className:`group flex items-center gap-2 px-4 py-2.5 rounded-xl border-2 cursor-grab transition-all duration-200 ${d===g?"bg-gradient-to-r from-blue-50 to-indigo-50 border-blue-400 shadow-md":"bg-white border-gray-200 hover:border-blue-300 hover:shadow-md"} ${i===g?"opacity-50":""} ${k===g?"border-blue-500 border-dashed":""}`,children:[(0,b.jsx)("span",{className:`text-sm font-medium ${d===g?"text-blue-700":"text-gray-700"}`,children:function(a,b){let c=a.split(/[/\\]/).pop()||a,d=b.filter(a=>a.split(/[/\\]/).pop()===c);if(1===d.length)return c;let e=a.split(/[/\\]/);for(let b=1;b<e.length;b++){let c=e.slice(-b-1).join("/");if(0===d.filter(d=>c===d.split(/[/\\]/).slice(-b-1).join("/")&&d!==a).length)return c}return a}(c.filePath,q)}),(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),f(g)},className:"text-gray-400 hover:text-red-500 transition-colors opacity-0 group-hover:opacity-100",children:(0,b.jsx)(m,{className:"w-4 h-4"})})]},c.filePath))}):(0,b.jsxs)("div",{className:"text-center py-12 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl border-2 border-dashed border-gray-300",children:[(0,b.jsx)(l,{className:"w-16 h-16 text-gray-400 mx-auto mb-3"}),(0,b.jsx)("p",{className:"text-sm text-gray-600 font-medium",children:"設定ファイルを選択してください"}),(0,b.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:"「ファイルを追加」ボタンから開始"})]})]})}let o=h("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),p=h("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),q=h("clipboard-paste",[["path",{d:"M11 14h10",key:"1w8e9d"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v1.344",key:"1e62lh"}],["path",{d:"m17 18 4-4-4-4",key:"z2g111"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113",key:"bjbb7m"}],["rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",key:"ublpy"}]]),r=h("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]),s=h("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),t=h("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),u=h("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),v=h("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);function w({label:a,items:d,onItemsChange:e,editButtonTitle:f,editModeDescription:g,inputPlaceholder:h,newItemPlaceholder:i,deleteButtonTitle:j,addButtonTitle:k,duplicateErrorMessage:l,onRename:n,children:p}){let[q,r]=(0,c.useState)(!1),[s,w]=(0,c.useState)([]),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(null),D=(0,c.useMemo)(()=>{if(null===z||null===B||z===B)return s.map((a,b)=>({item:a,originalIndex:b}));let a=s.map((a,b)=>({item:a,originalIndex:b})),[b]=a.splice(z,1);return a.splice(B,0,b),a},[s,z,B]),E=()=>{let a=x.trim();a&&!s.some(b=>b.newName===a)&&(w([...s,{originalName:"",newName:a,isNew:!0}]),y(""))},F=()=>{if(null===z||null===B||z===B){A(null),C(null);return}let a=[...s],[b]=a.splice(z,1);a.splice(B,0,b),w(a),A(null),C(null)},G=()=>{A(null),C(null)},H=()=>{let a=s.map(a=>a.newName.trim()).filter(Boolean);return new Set(a).size!==a.length},I=!H()&&!s.some(a=>!a.newName.trim());return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("label",{className:"block text-sm font-semibold text-gray-700",children:a}),!q&&(0,b.jsx)("button",{onClick:()=>{w(d.map(a=>({originalName:a,newName:a,isNew:!1}))),r(!0),y("")},className:"text-gray-500 hover:text-blue-600 transition-colors p-1",title:f,children:(0,b.jsx)(t,{className:"w-4 h-4"})})]}),q?(0,b.jsxs)("div",{className:"space-y-3 p-4 bg-blue-50 rounded-lg border-2 border-blue-200",children:[(0,b.jsxs)("div",{className:"text-xs font-medium text-blue-700 mb-2",children:[g,"(ドラッグで並び替え可能)"]}),(0,b.jsx)("div",{className:"space-y-2",children:D.map(({item:a,originalIndex:c},d)=>{let e=z===c;return(0,b.jsxs)("div",{draggable:!0,onDragStart:()=>{A(c)},onDragOver:a=>{a.preventDefault(),null!==z&&B!==d&&C(d)},onDrop:F,onDragEnd:G,className:`flex items-center gap-2 transition-all ${e?"opacity-50":""}`,children:[(0,b.jsx)("div",{className:"cursor-grab text-gray-400 hover:text-gray-600 p-1",title:"ドラッグして並び替え",children:(0,b.jsx)(v,{className:"w-4 h-4"})}),(0,b.jsx)("input",{type:"text",value:a.newName,onChange:a=>{var b;return b=a.target.value,void w(s.map((a,d)=>d===c?{...a,newName:b}:a))},placeholder:h,className:`flex-1 px-3 py-2 border-2 rounded-lg text-sm focus:ring-2 transition-all duration-200 ${!a.newName.trim()?"border-red-300 focus:border-red-400 focus:ring-red-200":"border-gray-200 focus:border-blue-400 focus:ring-blue-200"}`}),(0,b.jsx)("button",{onClick:()=>{w(s.filter((a,b)=>b!==c))},className:"text-gray-400 hover:text-red-600 transition-colors p-2",title:j,children:(0,b.jsx)(m,{className:"w-4 h-4"})})]},c)})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-2 border-t border-blue-200",children:[(0,b.jsx)("input",{type:"text",value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),E())},placeholder:i,className:"flex-1 px-3 py-2 border-2 border-gray-200 rounded-lg text-sm focus:border-blue-400 focus:ring-2 focus:ring-blue-200 transition-all duration-200"}),(0,b.jsx)("button",{onClick:E,disabled:!x.trim()||s.some(a=>a.newName.trim()===x.trim()),className:"px-3 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed",title:k,children:(0,b.jsx)(u,{className:"w-4 h-4"})})]}),H()&&(0,b.jsx)("div",{className:"text-xs text-red-600 mt-2",children:l}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-3 border-t border-blue-200",children:[(0,b.jsxs)("button",{onClick:()=>{let a=[],b={};for(let c of s){let d=c.newName.trim();d&&(a.push(d),c.isNew||c.originalName===d||(b[c.originalName]=d))}let c=x.trim();c&&!a.includes(c)&&a.push(c),n&&Object.keys(b).length>0&&n(b),e(a),r(!1),w([]),y("")},disabled:!I,className:"flex-1 flex items-center justify-center gap-2 px-4 py-2 bg-green-500 text-white rounded-lg hover:bg-green-600 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium",children:[(0,b.jsx)(o,{className:"w-4 h-4"}),"保存"]}),(0,b.jsx)("button",{onClick:()=>{r(!1),w([]),y(""),A(null),C(null)},className:"flex-1 px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors text-sm font-medium",children:"キャンセル"})]})]}):p]})}function x({selectedTags:a,availableTags:c,onSelectedTagsChange:d,onAvailableTagsChange:e}){return(0,b.jsx)(w,{label:"タグ",items:c,onItemsChange:b=>{let c=a.filter(a=>b.includes(a));c.length!==a.length&&d(c),e(b)},editButtonTitle:"タグを編集",editModeDescription:"タグの追加・削除・名前変更",inputPlaceholder:"タグ名",newItemPlaceholder:"新しいタグ名を入力",deleteButtonTitle:"タグを削除",addButtonTitle:"タグを追加",duplicateErrorMessage:"同じ名前のタグがあります",onRename:b=>{let c=a.map(a=>b[a]||a);JSON.stringify(c)!==JSON.stringify(a)&&d(c)},children:(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:0===c.length?(0,b.jsx)("div",{className:"text-sm text-gray-500",children:"タグがありません。鉛筆アイコンをクリックして追加してください。"}):c.map(c=>{let e=a.includes(c);return(0,b.jsxs)("button",{onClick:()=>{a.includes(c)?d(a.filter(a=>a!==c)):d([...a,c])},className:`flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm font-medium border-2 transition-all duration-200 ${e?"bg-blue-500 text-white border-blue-600 shadow-md":"bg-white text-gray-700 border-gray-200 hover:border-blue-300 hover:bg-blue-50"}`,children:[e&&(0,b.jsx)(s,{className:"w-3 h-3"}),(0,b.jsx)("span",{children:c})]},c)})})})}function y({fields:a,projectFields:c,onFieldsChange:d,onUpdateProjectFields:e}){let f=Object.keys(c);return(0,b.jsx)(w,{label:"フィールド",items:f,onItemsChange:b=>{let c={};for(let d of b)c[d]=a[d]||"";if(d(c),e){let a={};for(let c of b)a[c]="";e(a)}},editButtonTitle:"フィールドを編集",editModeDescription:"フィールドの追加・削除・名前変更",inputPlaceholder:"フィールド名",newItemPlaceholder:"新しいフィールド名を入力",deleteButtonTitle:"フィールドを削除",addButtonTitle:"フィールドを追加",duplicateErrorMessage:"同じ名前のフィールドがあります",onRename:b=>{let c={};for(let[d,e]of Object.entries(a))c[b[d]||d]=e;d(c)},children:(0,b.jsx)("div",{className:"space-y-3",children:Object.entries(a).map(([c,e])=>(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:c}),(0,b.jsx)("textarea",{value:e,onChange:b=>{var e;return e=b.target.value,void d({...a,[c]:e})},className:"w-full border-2 border-gray-200 rounded-lg p-3 min-h-[80px] text-sm focus:border-blue-400 focus:ring-2 focus:ring-blue-200 transition-all duration-200 shadow-sm hover:shadow-md",placeholder:`${c}を入力してください`})]},c))})})}function z({selectedPath:a,editingDoc:c,hasUnsavedChanges:d,availableTags:e,projectFields:f,selectedNodeType:g,isAssociativeArray:h=!1,isDescendantOfAssociativeArray:j=!1,onEditingDocChange:k,onAvailableTagsChange:l,onProjectFieldsChange:m,onSave:n,onToggleAssociativeArray:s,onCopy:t,onPaste:u,canPaste:v,onDelete:w,hasExistingDoc:z}){let A=/\[\d+\]/.test(a);return(0,b.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl border border-gray-100 p-6 flex flex-col max-h-[calc(100vh-190px)] hover:shadow-2xl transition-shadow duration-300",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"w-8 h-8 bg-gradient-to-br from-indigo-500 to-indigo-600 rounded-lg flex items-center justify-center",children:(0,b.jsx)(o,{className:"w-5 h-5 text-white"})}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-800",children:"プロパティ詳細"})]}),a&&c&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("button",{onClick:t,className:"p-2 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-colors",title:"プロパティ詳細をコピー",children:(0,b.jsx)(p,{className:"w-4 h-4"})}),(0,b.jsx)("button",{onClick:u,disabled:!v,className:`p-2 rounded-lg transition-colors ${v?"text-gray-500 hover:text-gray-700 hover:bg-gray-100":"text-gray-300 cursor-not-allowed"}`,title:"プロパティ詳細を貼り付け",children:(0,b.jsx)(q,{className:"w-4 h-4"})})]})]}),a&&c?(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"flex-shrink-0 pb-4 border-b border-gray-200",children:[(0,b.jsx)("label",{className:"block text-sm font-semibold text-gray-700 mb-2",children:"パス"}),(0,b.jsx)("div",{className:"text-sm text-gray-700 bg-gradient-to-r from-blue-50 to-indigo-50 p-3 rounded-lg font-mono border border-blue-200 shadow-sm",children:a})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto py-4 space-y-6 min-h-0",children:[(0,b.jsx)(x,{selectedTags:c.tags||[],availableTags:e,onSelectedTagsChange:a=>{k({...c,tags:a})},onAvailableTagsChange:l}),(0,b.jsx)(y,{fields:c.fields||{},projectFields:f,onFieldsChange:a=>{k({...c,fields:a})},onUpdateProjectFields:m}),(0,b.jsxs)("div",{className:"space-y-3 pt-4 border-t border-gray-200",children:[(A||j)&&(0,b.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-purple-50 rounded-lg border border-purple-200",children:[(0,b.jsx)("input",{type:"checkbox",id:"isTemplate",checked:c.isTemplate||!1,onChange:a=>k({...c,isTemplate:a.target.checked}),className:"mt-0.5 w-4 h-4 rounded border-purple-300 text-purple-600 focus:ring-purple-500"}),(0,b.jsxs)("label",{htmlFor:"isTemplate",className:"text-sm text-purple-800 cursor-pointer",children:[(0,b.jsx)("span",{className:"font-medium",children:"テンプレートとして保存"}),(0,b.jsx)("span",{className:"block text-xs text-purple-600 mt-0.5",children:"同じ構造の全配列要素にこのドキュメントを適用します"})]})]}),"object"===g&&s&&(0,b.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-amber-50 rounded-lg border border-amber-200",children:[(0,b.jsx)("input",{type:"checkbox",id:"isAssociativeArray",checked:h,onChange:b=>s(a,b.target.checked),className:"mt-0.5 w-4 h-4 rounded border-amber-300 text-amber-600 focus:ring-amber-500"}),(0,b.jsxs)("label",{htmlFor:"isAssociativeArray",className:"text-sm text-amber-800 cursor-pointer",children:[(0,b.jsx)("span",{className:"font-medium",children:"連想配列として登録"}),(0,b.jsx)("span",{className:"block text-xs text-amber-600 mt-0.5",children:"キー名を配列インデックスとして扱い、テンプレート展開の対象にします"})]})]})]})]}),(0,b.jsx)("div",{className:"flex-shrink-0 pt-4 border-t border-gray-200",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("button",{onClick:w,disabled:!z,className:`flex items-center gap-1.5 px-3 py-2.5 text-sm font-medium rounded-lg transition-colors shadow-sm ${z?"text-red-600 bg-white border border-red-300 hover:bg-red-50":"text-gray-400 bg-gray-100 border border-gray-200 cursor-not-allowed"}`,title:"プロパティ詳細を削除",children:[(0,b.jsx)(r,{className:"w-4 h-4"}),"削除"]}),(0,b.jsxs)("button",{onClick:n,disabled:!d,className:`flex-1 flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg shadow-md transition-all duration-200 ${d?"bg-gradient-to-r from-green-500 to-emerald-600 text-white hover:from-green-600 hover:to-emerald-700 hover:shadow-lg cursor-pointer":"bg-gray-300 text-gray-500 cursor-not-allowed"}`,children:[(0,b.jsx)(o,{className:"w-5 h-5"}),(0,b.jsx)("span",{className:"font-medium",children:"保存"})]})]})})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center flex-1",children:[(0,b.jsx)("div",{className:"w-20 h-20 bg-gradient-to-br from-gray-100 to-gray-200 rounded-full flex items-center justify-center mb-4",children:(0,b.jsx)(i,{className:"w-10 h-10 text-gray-400"})}),(0,b.jsx)("p",{className:"text-sm text-gray-600 font-medium",children:"プロパティを選択してください"}),(0,b.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:"左側のツリーから項目を選択"})]})]})}let A=h("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),B=h("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),C=h("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]),D=h("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);class E{static flattenConfig(a,b=""){let c={};for(let d in a){let e=b?`${b}:${d}`:d,f=a[d];f&&"object"==typeof f?Array.isArray(f)?f.some(a=>a&&"object"==typeof a&&!Array.isArray(a))?f.forEach((a,b)=>{a&&"object"==typeof a&&!Array.isArray(a)&&Object.assign(c,this.flattenConfig(a,`${e}[${b}]`))}):c[e]=f:Object.assign(c,this.flattenConfig(f,e)):c[e]=f}return c}static getAllPropertyPaths(a,b=""){let c=[];for(let d in a){let e=b?`${b}:${d}`:d,f=a[d];c.push(e),f&&"object"==typeof f&&(Array.isArray(f)?f.some(a=>a&&"object"==typeof a&&!Array.isArray(a))&&f.forEach((a,b)=>{if(a&&"object"==typeof a&&!Array.isArray(a)){let d=`${e}[${b}]`;c.push(d),c.push(...this.getAllPropertyPaths(a,d))}}):c.push(...this.getAllPropertyPaths(f,e)))}return c}static buildTree(a,b=""){let c=[];for(let d in a){let e=b?`${b}:${d}`:d,f=a[d];if(f&&"object"==typeof f)if(Array.isArray(f))if(f.some(a=>a&&"object"==typeof a&&!Array.isArray(a))){let a=[];f.forEach((b,c)=>{b&&"object"==typeof b&&!Array.isArray(b)&&a.push({key:`[${c}]`,fullPath:`${e}[${c}]`,value:b,children:this.buildTree(b,`${e}[${c}]`),hasDocumentation:!1,type:"object"})}),c.push({key:d,fullPath:e,value:f,children:a.length>0?a:void 0,hasDocumentation:!1,type:"array"})}else c.push({key:d,fullPath:e,value:f,hasDocumentation:!1,type:"array"});else c.push({key:d,fullPath:e,value:f,children:this.buildTree(f,e),hasDocumentation:!1,type:"object"});else c.push({key:d,fullPath:e,value:f,hasDocumentation:!1,type:typeof f})}return c}}function F(a){return a.replace(/\[\d+\]/g,"[*]")}function G(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function H(a,b,c){let d=a;return c&&(d=function(a,b,c){let d=[...b].sort((a,b)=>b.basePath.length-a.basePath.length),e=a,f=!0;for(;f;)for(let a of(f=!1,d)){let b=a.basePath;if(b.includes("[*]")){let a=function(a,b,c){let d=b.split(":"),e=[],f=[];for(let a of d)if(a.endsWith("[*]")){let b=a.slice(0,-3);e.push(`${G(b)}:([^:]+)`),f.push(b),f.push("$capture")}else e.push(G(a)),f.push(a);let g=RegExp(`^(${e.join(":")})(:(.+))?$`),h=a.match(g);if(!h)return a;let i=[];for(let a=1;a<h.length;a++)if(h[a]&&!h[a].startsWith(":")&&a>0){let b=h[a];b&&!b.includes(":")&&b!==h[0]&&i.push(b)}let j=a.split(":"),k=b.split(":"),l=[],m=0,n="";for(let b of k)if(b.endsWith("[*]")){let c=b.slice(0,-3);if(j[m]!==c)return a;n=n?`${n}:${c}`:c,++m<j.length&&(l.push({key:j[m],configPath:n}),m++)}else{if(j[m]!==b)return a;n=n?`${n}:${b}`:b,m++}let o=m<j.length?j.slice(m).join(":"):"",p="",q="";for(let b of k)if(b.endsWith("[*]")){let d=b.slice(0,-3);q=q?`${q}:${d}`:d;let e=l.find(a=>a.configPath===q);if(e){let b=I(c,q);if(!b||"object"!=typeof b||Array.isArray(b))return a;{let c=e.key.match(/^([^\[]+)(\[.+)?$/),f=c?c[1]:e.key,g=c&&c[2]||"",h=Object.keys(b).indexOf(f);if(!(h>=0))return a;p=p?`${p}:${d}[${h}]${g}`:`${d}[${h}]${g}`,q=`${q}:${f}`}}}else p=p?`${p}:${b}`:b,q=q?`${q}:${b}`:b;if(o){let a=o.split(":"),b=a[0],d=I(c,q);if(d&&"object"==typeof d&&!Array.isArray(d)){let c=b.match(/^([^\[]+)(\[.+)?$/);if(c){let b=c[1],e=c[2]||"",f=Object.keys(d).indexOf(b);f>=0?(p=`${p}[${f}]${e}`,a.length>1&&(p=`${p}:${a.slice(1).join(":")}`)):p=`${p}:${o}`}else p=`${p}:${o}`}else p=`${p}:${o}`}return p}(e,b,c);if(a!==e){e=a,f=!0;break}continue}let g=function a(b,c,d){for(let e of c)if(b.startsWith(e.basePath+":")&&e.basePath!==b){let f=b.substring(e.basePath.length+1).split(":"),g=f[0],h=I(d,e.basePath);if(h&&"object"==typeof h&&!Array.isArray(h)){let b=Object.keys(h).indexOf(g);if(b>=0){let g=f.slice(1).join(":");return a(`${e.basePath}[${b}]${g?":"+g:""}`,c,d)}}}return b}(b,d,c);if(e.startsWith(g+":")){let a=e.substring(g.length+1).split(":"),d=a[0];if(d.match(/^\[\d+\]/))continue;let h=d.match(/^([^\[]+)(\[.+)?$/);if(!h)continue;let i=h[1],j=h[2]||"",k=I(c,b);if(k&&"object"==typeof k&&!Array.isArray(k)){let b=Object.keys(k).indexOf(i);if(b>=0){let c=a.slice(1).join(":");e=`${g}[${b}]${j}${c?":"+c:""}`,f=!0;break}}}}return e}(d,b,c)),F(d)}function I(a,b){if(!b||!a)return a;let c=b.split(/(?=\[)|:/),d=a;for(let a of c){if(null==d)return;if(a.startsWith("[")&&a.endsWith("]")){let b=parseInt(a.slice(1,-1),10);if(!Array.isArray(d))return;d=d[b]}else if(a&&"object"==typeof d&&a in d)d=d[a];else if(a)return}return d}function J(a,b,c,d){let e=H(a,c,d);if(e!==a){let a=b[e];if(a&&a.isTemplate)return a}for(let[c,d]of Object.entries(b))if(d.isTemplate&&function(a,b){let c=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,"\\[\\d+\\]");return RegExp(`^${c}$`).test(a)}(a,c))return d}function K(a,b,c){let d=[...b].sort((a,b)=>a.basePath.length-b.basePath.length),e=a,f=!0;for(;f;)for(let a of(f=!1,d)){let b=a.basePath;if(b.includes("[*]")){let a=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,"\\[\\*\\]"),c=RegExp(`^(${a})(:(.+))?$`),d=e.match(c);if(d){let a=d[1];d[2];let b=d[3];if(b){let c=b.split(":"),d=c[0];if("[*]"===d||d.startsWith("["))continue;let g=c.slice(1).join(":");e=`${a}[*]${g?":"+g:""}`,f=!0;break}}}else if(e.startsWith(b+":")){let a=e.substring(b.length+1).split(":"),d=a[0];if("[*]"===d||d.startsWith("["))continue;let g=I(c,b);if(g&&"object"==typeof g&&!Array.isArray(g)&&Object.keys(g).includes(d)){let c=a.slice(1).join(":");e=`${b}[*]${c?":"+c:""}`,f=!0;break}}}return e}function L({config:a,docs:d,onSelectProperty:e,onEditProperty:f,selectedPath:g,associativeArrays:h=[]}){let[j,k]=(0,c.useState)(new Set),l=a=>!!(a.tags&&a.tags.length>0||a.fields&&Object.values(a.fields).some(a=>a&&""!==a.trim()))||!1,m=(c,n=0)=>{let o=(b=>{let c=(a=>{for(let b of Object.values(d.properties))if(b.isTemplate&&b.sourceTemplatePath===a)return!0;return!1})(b),e=d.properties[b],f=!!e&&l(e),g=J(b,d.properties,h,a),i=!!g&&l(g);if(e){if(f){let a=i&&g!==e&&!c;return{hasDirectDoc:!0,hasDoc:!0,isTemplate:e.isTemplate||!1,isInherited:a,isTemplateSource:c}}if(e.isTemplate)return{hasDirectDoc:!1,hasDoc:!1,isTemplate:!0,isInherited:!1,isTemplateSource:c}}return i?{hasDirectDoc:!1,hasDoc:!0,isTemplate:!1,isInherited:!c,isTemplateSource:c}:{hasDirectDoc:!1,hasDoc:!1,isTemplate:!1,isInherited:!1,isTemplateSource:c}})(c.fullPath),p=j.has(c.fullPath),q=g===c.fullPath,r=(b=>{if(h.some(a=>a.basePath===b))return!0;let c=K(b,h,a);return!!(c!==b&&h.some(a=>a.basePath===c))||h.some(a=>{if(!a.basePath.includes("[*]"))return!1;let c=a.basePath.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,":[^:]+");return RegExp(`^${c}$`).test(b)})})(c.fullPath);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{paddingLeft:`${20*n}px`},className:`group flex items-center gap-2 py-2 px-3 cursor-pointer rounded-lg transition-all duration-150 ${q?"bg-gradient-to-r from-blue-100 to-indigo-100 border-l-4 border-blue-500 shadow-sm":"hover:bg-gradient-to-r hover:from-gray-50 hover:to-gray-100"}`,children:[c.children&&c.children.length>0?(0,b.jsx)("button",{onClick:()=>{var a;let b;return a=c.fullPath,void((b=new Set(j)).has(a)?b.delete(a):b.add(a),k(b))},className:"p-1 hover:bg-blue-100 rounded-md transition-colors",children:p?(0,b.jsx)(B,{className:"w-4 h-4 text-blue-600"}):(0,b.jsx)(A,{className:"w-4 h-4 text-gray-600"})}):(0,b.jsx)("div",{className:"w-6"}),(0,b.jsxs)("div",{onClick:()=>e(c.fullPath),className:"flex-1 flex items-center gap-2",children:[(0,b.jsx)("span",{className:`${c.children?"font-bold text-gray-800":"font-medium text-gray-700"}`,children:c.key}),!c.children&&(0,b.jsxs)("span",{className:"text-sm text-gray-500 truncate max-w-[200px]",children:[": ",JSON.stringify(c.value)]}),o.hasDirectDoc&&!o.isTemplate&&!o.isTemplateSource&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-green-100 border border-green-300 rounded-full",children:[(0,b.jsx)(i,{className:"w-3 h-3 text-green-600"}),(0,b.jsx)("span",{className:"text-xs text-green-700 font-medium",children:"Doc"})]}),(o.isTemplate||o.isTemplateSource)&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-purple-100 border border-purple-300 rounded-full",children:[(0,b.jsx)(C,{className:"w-3 h-3 text-purple-600"}),(0,b.jsx)("span",{className:"text-xs text-purple-700 font-medium",children:"Template"})]}),o.isInherited&&!o.isTemplateSource&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-blue-100 border border-blue-300 rounded-full",children:[(0,b.jsx)(i,{className:"w-3 h-3 text-blue-600"}),(0,b.jsx)("span",{className:"text-xs text-blue-700 font-medium",children:"Inherited"})]}),r&&(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 py-0.5 bg-amber-100 border border-amber-300 rounded-full",children:[(0,b.jsx)(D,{className:"w-3 h-3 text-amber-600"}),(0,b.jsx)("span",{className:"text-xs text-amber-700 font-medium",children:"連想配列"})]})]}),!c.children&&(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),f(c.fullPath)},className:"p-1 hover:bg-gray-200 rounded",title:"編集"})]}),c.children&&p&&(0,b.jsx)("div",{children:c.children.map(a=>m(a,n+1))})]},c.fullPath)},n=E.buildTree(a);return(0,b.jsxs)("div",{className:"h-full flex flex-col border-2 border-gray-100 rounded-xl bg-white shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 border-b-2 border-gray-100 bg-gradient-to-r from-gray-50 to-gray-100",children:[(0,b.jsx)("button",{onClick:()=>{var b;let c,d;k(new Set((b=E.buildTree(a),c=[],d=a=>{a.children&&a.children.length>0&&(c.push(a.fullPath),a.children.forEach(d))},b.forEach(d),c)))},className:"px-4 py-1.5 text-sm font-medium bg-white border-2 border-blue-200 text-blue-600 rounded-lg hover:bg-blue-50 hover:border-blue-300 transition-all duration-200 shadow-sm hover:shadow-md",children:"すべて展開"}),(0,b.jsx)("button",{onClick:()=>{k(new Set)},className:"px-4 py-1.5 text-sm font-medium bg-white border-2 border-gray-200 text-gray-600 rounded-lg hover:bg-gray-50 hover:border-gray-300 transition-all duration-200 shadow-sm hover:shadow-md",children:"すべて閉じる"})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-3",children:n.map(a=>m(a))})]})}let M=h("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),N=h("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]),O=h("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);function P({isOpen:a,currentPath:d,onSelect:e,onClose:f,multiSelect:g=!1,filterJsonOnly:h=!1,folderSelectMode:i=!1,title:j}){let[k,l]=(0,c.useState)(d),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)([]);(0,c.useEffect)(()=>{a&&(l(d),r([]))},[a,d]),(0,c.useEffect)(()=>{a&&s(k)},[a,k]);let s=async a=>{p(!0);try{let b=await fetch("/api/files/browse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:a})}),c=await b.json();if(c.success){let a=c.data.items;i?a=c.data.items.filter(a=>"directory"===a.type):h&&(a=c.data.items.filter(a=>"directory"===a.type||".json"===a.extension)),n(a)}else console.error("API returned error:",c.error)}catch(a){console.error("Failed to load directory:",a)}finally{p(!1)}},t=()=>k.replace(/\\/g,"/").toLowerCase()!==d.replace(/\\/g,"/").toLowerCase(),u=()=>{r([]),f()};return a?(0,b.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-2xl max-h-[80vh] flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:j||(i?"フォルダを選択":"ファイルを選択")}),(0,b.jsx)("button",{onClick:u,className:"text-gray-500 hover:text-gray-700",children:"✕"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b bg-gray-50",children:[(0,b.jsx)("button",{onClick:()=>{if(!t())return;let a=k.replace(/\\/g,"/"),b=a.split("/").filter(a=>a);if(b.length>1){let c,e=b.slice(0,-1),f=(c=1===e.length&&e[0].includes(":")?e[0]+"/":e[0].includes(":")?e[0]+"/"+e.slice(1).join("/"):a.startsWith("/")?"/"+e.join("/"):e.join("/")).replace(/\\/g,"/").toLowerCase(),g=d.replace(/\\/g,"/").toLowerCase();(f.startsWith(g)||f===g)&&l(c)}else if(1===b.length&&!b[0].includes(":")){if("."===d.replace(/\\/g,"/").toLowerCase())return;l(".")}},disabled:!t(),className:`p-2 rounded flex-shrink-0 ${t()?"hover:bg-gray-200":"opacity-50 cursor-not-allowed"}`,title:t()?"上のディレクトリへ":"ルートディレクトリです",children:(0,b.jsx)(O,{className:"w-5 h-5"})}),(0,b.jsxs)("span",{className:"text-sm text-gray-600 flex-1 truncate",children:["パス: ",k]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:o?(0,b.jsx)("div",{className:"text-center text-gray-500",children:"読み込み中..."}):(0,b.jsx)("div",{className:"space-y-1",children:m.map(a=>{let c=q.includes(a.path);return(0,b.jsxs)("div",{onClick:()=>{"directory"===a.type?i?r([a.path]):l(a.path):g?r(b=>b.includes(a.path)?b.filter(b=>b!==a.path):[...b,a.path]):r([a.path])},onDoubleClick:()=>{"directory"===a.type&&(l(a.path),r([]))},className:`flex items-center gap-2 p-2 rounded cursor-pointer hover:bg-gray-100 ${c?"bg-blue-100":""}`,children:["directory"===a.type?(0,b.jsx)(M,{className:"w-5 h-5 text-blue-500"}):(0,b.jsx)(N,{className:"w-5 h-5 text-green-500"}),(0,b.jsx)("span",{className:"text-sm",children:a.name}),c&&(g||i)&&(0,b.jsx)("span",{className:"ml-auto text-blue-500",children:"✓"})]},a.path)})})}),(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border-t",children:[i?(0,b.jsx)("div",{className:"text-sm text-gray-600",children:q.length>0?`選択中: ${q[0].split(/[/\\]/).pop()}`:`現在のフォルダ: ${k.split(/[/\\]/).pop()||k}`}):g&&q.length>0?(0,b.jsxs)("div",{className:"text-sm text-gray-600",children:[q.length,"件選択中"]}):null,(0,b.jsxs)("div",{className:"flex items-center gap-2 ml-auto",children:[(0,b.jsx)("button",{onClick:u,className:"px-4 py-2 text-gray-600 hover:bg-gray-100 rounded",children:"キャンセル"}),(0,b.jsx)("button",{onClick:()=>{i?(e(q.length>0?q:[k]),r([]),f()):q.length>0&&(e(q),r([]),f())},disabled:!i&&0===q.length,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-300 disabled:cursor-not-allowed",children:"選択"})]})]})]})}):null}let Q={format:"html",autoExport:!0,fileName:"config-doc",outputDir:".config_doc/output"};function R({isOpen:a,onClose:d,onExport:e,currentSettings:f,rootPath:g="."}){let[h,i]=(0,c.useState)(f||Q),[k,l]=(0,c.useState)(!1),[n,o]=(0,c.useState)(!1);(0,c.useEffect)(()=>{f&&i(f)},[f]);let p="markdown"===h.format||"markdown-table"===h.format,q=(0,c.useMemo)(()=>{let a=g.replace(/\//g,"\\"),b=h.outputDir?.trim()||"",c=b?b.replace(/\//g,"\\"):"",d=c?`${a}\\${c}`:a;if("markdown"===h.format||"markdown-table"===h.format)return`${d}\\{設定ファイル名}.md`;let e=h.fileName||"config-doc";return`${d}\\${e}.html`},[h.format,h.fileName,h.outputDir,g]);if(!a)return null;let r=async()=>{l(!0);try{await e(h),d()}catch(a){console.error("Export failed:",a)}finally{l(!1)}};return(0,b.jsxs)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:[(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow-xl max-w-md w-full mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-6 border-b",children:[(0,b.jsx)("h2",{className:"text-xl font-semibold text-gray-800",children:"エクスポート設定"}),(0,b.jsx)("button",{onClick:d,className:"text-gray-400 hover:text-gray-600 transition-colors",children:(0,b.jsx)(m,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"p-6 space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"出力先フォルダ"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("input",{type:"text",value:h.outputDir||"",onChange:a=>i({...h,outputDir:a.target.value}),className:"flex-1 px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"(空欄でプロジェクトルート)"}),(0,b.jsx)("button",{type:"button",onClick:()=>o(!0),className:"px-3 py-2 border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500",title:"フォルダを選択",children:(0,b.jsx)(M,{className:"w-5 h-5 text-gray-500"})})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-gray-500",children:"相対パスを入力またはフォルダを選択(空欄でプロジェクトルート、チーム共有設定)"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"出力形式"}),(0,b.jsxs)("select",{value:h.format,onChange:a=>i({...h,format:a.target.value}),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",children:[(0,b.jsx)("option",{value:"html",children:"HTML"}),(0,b.jsx)("option",{value:"markdown",children:"Markdown"}),(0,b.jsx)("option",{value:"markdown-table",children:"Markdown (テーブル形式)"})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-gray-500",children:"html"===h.format?"スタイル付きのHTMLファイルとして出力します":"markdown-table"===h.format?"設定ファイルごとにMarkdownテーブル形式で出力します":"設定ファイルごとに個別のMarkdownファイルとして出力します"})]}),!p&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"ファイル名"}),(0,b.jsx)("input",{type:"text",value:h.fileName??"",onChange:a=>i({...h,fileName:a.target.value}),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"config-doc"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-gray-500",children:"拡張子なしのファイル名を指定します(空欄でconfig-doc、チーム共有設定)"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"出力先パス"}),(0,b.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-300 rounded-md text-sm text-gray-700 font-mono break-all",children:q})]}),(0,b.jsxs)("div",{className:"flex items-start",children:[(0,b.jsx)("div",{className:"flex items-center h-5",children:(0,b.jsx)("input",{id:"auto-export",type:"checkbox",checked:h.autoExport,onChange:a=>i({...h,autoExport:a.target.checked}),className:"w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"})}),(0,b.jsxs)("div",{className:"ml-3",children:[(0,b.jsx)("label",{htmlFor:"auto-export",className:"text-sm font-medium text-gray-700 cursor-pointer",children:"保存時に自動エクスポート"}),(0,b.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:"ドキュメントを保存したときに自動的にHTMLファイルを更新します"})]})]}),h.lastExportedAt&&(0,b.jsx)("div",{className:"pt-4 border-t",children:(0,b.jsxs)("p",{className:"text-xs text-gray-500",children:["最終エクスポート: ",new Date(h.lastExportedAt).toLocaleString("ja-JP")]})})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 p-6 border-t bg-gray-50 rounded-b-lg",children:[(0,b.jsx)("button",{onClick:d,className:"px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:"キャンセル"}),(0,b.jsxs)("button",{onClick:r,disabled:k,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 border border-transparent rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,b.jsx)(j,{className:"w-4 h-4"}),k?"エクスポート中...":"エクスポート"]})]})]}),(0,b.jsx)(P,{isOpen:n,currentPath:g,onSelect:a=>{if(a.length>0){let b=a[0],c=g.replace(/\\/g,"/"),d=b.replace(/\\/g,"/"),e=d;d.startsWith(c)&&(e=d.slice(c.length)).startsWith("/")&&(e=e.slice(1)),e||(e="."),i({...h,outputDir:e})}o(!1)},onClose:()=>o(!1),folderSelectMode:!0,title:"出力先フォルダを選択"})]})}let S=h("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),T=h("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),U=h("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);function V({message:a,type:d,duration:e=3e3,onClose:f}){let[g,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{setTimeout(()=>h(!0),10);let a=setTimeout(()=>{h(!1),setTimeout(f,300)},e);return()=>clearTimeout(a)},[e,f]);let i={success:(0,b.jsx)(S,{className:"w-5 h-5 text-green-500"}),error:(0,b.jsx)(T,{className:"w-5 h-5 text-red-500"}),warning:(0,b.jsx)(U,{className:"w-5 h-5 text-yellow-500"})};return(0,b.jsx)("div",{className:`fixed bottom-4 left-4 z-50 transition-all duration-300 ${g?"opacity-100 translate-y-0":"opacity-0 translate-y-2"}`,children:(0,b.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border ${{success:"bg-green-50 border-green-200",error:"bg-red-50 border-red-200",warning:"bg-yellow-50 border-yellow-200"}[d]} min-w-[300px] max-w-[500px]`,children:[i[d],(0,b.jsx)("span",{className:"flex-1 text-sm text-gray-800",children:a}),(0,b.jsx)("button",{onClick:()=>{h(!1),setTimeout(f,300)},className:"text-gray-400 hover:text-gray-600 transition-colors",children:(0,b.jsx)(m,{className:"w-4 h-4"})})]})})}function W({toasts:a,onRemove:c}){return(0,b.jsx)(b.Fragment,{children:a.map((a,d)=>(0,b.jsx)("div",{style:{bottom:`${16+80*d}px`},className:"fixed left-4 z-50",children:(0,b.jsx)(V,{message:a.message,type:a.type,onClose:()=>c(a.id)})},a.id))})}let X={説明:""};function Y(a,b){return[...a].sort((a,c)=>{let d=b.indexOf(a),e=b.indexOf(c);return -1!==d&&-1!==e?d-e:-1===d?1:-1===e?-1:0})}function Z(a,b){return a.length!==b.length||a.some((a,c)=>a!==b[c])}function $(){let[a,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),{loadedConfigs:g,activeConfigIndex:h,activeConfig:j,selectedPath:l,selectedNodeType:m,editingDoc:o,originalDoc:p,hasUnsavedChanges:q,exportSettings:r,availableTags:s,projectFields:t,associativeArrays:u,toasts:v,rootPath:w,setActiveConfigIndex:x,setEditingDoc:y,setHasUnsavedChanges:A,removeToast:B,handleSelectConfigFiles:C,handleRemoveConfig:D,handleReorderConfigs:E,handleSelectProperty:G,handleSaveProperty:M,handleExport:N,handleAvailableTagsChange:O,handleProjectFieldsChange:Q,handleToggleAssociativeArray:S,checkForChanges:T,resetSelection:U,isAssociativeArray:V,isDescendantOfAssociativeArray:$,clipboard:_,handleCopyProperty:aa,handlePasteProperty:ab,handleDeleteProperty:ac}=function(){let[a,b]=(0,c.useState)([]),[d,e]=(0,c.useState)(0),[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)("."),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(),[t,u]=(0,c.useState)(["required","nullable","string","number","boolean"]),[v,w]=(0,c.useState)(X),[x,y]=(0,c.useState)([]),[z,A]=(0,c.useState)(void 0),[B,C]=(0,c.useState)([]),[D,E]=(0,c.useState)(null),G=a[d],L=(0,c.useCallback)((a,b="success")=>{let c=Date.now().toString();C(d=>[...d,{id:c,message:a,type:b}])},[]),M=(0,c.useCallback)(a=>{C(b=>b.filter(b=>b.id!==a))},[]),N=(0,c.useCallback)((a,b)=>{if(!a||!b)return!1;let c=a.tags||[];if(Z(b.tags||[],c))return!0;let d=a.fields||{};return!!function(a,b){for(let c of new Set([...Object.keys(a),...Object.keys(b)]))if((a[c]||"")!==(b[c]||""))return!0;return!1}(b.fields||{},d)||(a.isTemplate||!1)!==(b.isTemplate||!1)},[]),O=(0,c.useCallback)((a,b)=>{let c=a.replace(/\\/g,"/"),d=b.replace(/\\/g,"/");if(!c.match(/^[a-zA-Z]:\//)&&!c.startsWith("/"))return a;if(c.startsWith(d)){let a=c.substring(d.length);return a.startsWith("/")?a.substring(1):a}return a},[]),P=(0,c.useCallback)(a=>{let b={};for(let c of Object.keys(v))b[c]=a.fields[c]||"";return{...a,fields:b}},[v]),Q=(0,c.useCallback)(async a=>{try{let c=await fetch("/api/config/load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:a})}),d=await c.json();d.success&&b(b=>b.some(b=>b.filePath===a)?b:[...b,{filePath:a,configData:d.data.configData,docs:d.data.docs}])}catch(a){console.error("Failed to load config file:",a)}},[]),R=(0,c.useCallback)(async a=>{try{let b=await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePaths:a})}),c=await b.json();c.deletedDocsFiles&&c.deletedDocsFiles.length>0&&L(`${c.deletedDocsFiles.length}件のドキュメントファイルを削除しました`,"warning")}catch(a){console.error("Failed to update metadata:",a)}},[L]),S=(0,c.useCallback)(async()=>{if(r)try{if((await fetch("/api/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({format:r.format,fileName:r.fileName,outputDir:r.outputDir})})).ok){let a={...r,lastExportedAt:new Date().toISOString()};s(a),await fetch("/api/export/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:a})})}}catch(a){console.error("Auto export failed:",a)}},[r]);(0,c.useEffect)(()=>{(async()=>{try{let a=await fetch("/api/project"),b=await a.json();if(b.success&&(k(b.data.rootPath),b.data.hasConfigDoc)){let a=await fetch("/api/config/metadata"),b=await a.json();if(b.success&&b.data?.configFiles)for(let a of b.data.configFiles)await Q(a.filePath);b.success&&b.data?.availableTags&&u(b.data.availableTags),b.success&&b.data?.fields&&w(b.data.fields),b.success&&b.data?.associativeArrays&&y(b.data.associativeArrays)}let c=await fetch("/api/export/settings"),d=await c.json();d.success&&s(d.data)}catch(a){console.error("Failed to load saved configs:",a)}finally{i(!0)}})()},[Q]);let T=(0,c.useCallback)(async c=>{let d=[];for(let b of c){let c=O(b,j);if(!a.some(a=>a.filePath===c))try{let a=await fetch("/api/config/load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:b})}),e=await a.json();e.success?d.push({filePath:c,configData:e.data.configData,docs:e.data.docs}):L(`設定ファイルの読み込みに失敗しました (${b}): ${e.error}`,"error")}catch(a){console.error("Failed to load config:",a),L(`設定ファイルの読み込み中にエラーが発生しました: ${b}`,"error")}}d.length>0&&b(a=>{let b=[...a,...d];return R(b.map(a=>a.filePath)),b})},[a,j,L,O,R]),U=(0,c.useCallback)(async c=>{let f=a[c];(!f.docs||!(Object.keys(f.docs.properties).length>0)||confirm("既に説明文が設定されていますが、削除してよろしいですか?"))&&(b(a=>{let b=a.filter((a,b)=>b!==c);return R(b.map(a=>a.filePath)),b}),d>=c&&d>0&&e(d-1),g(""),m(null),q(!1))},[d,a,R]),V=(0,c.useCallback)((a,c)=>{b(a),e(c),R(a.map(a=>a.filePath))},[R]),W=(0,c.useCallback)(a=>{if(G){for(let b of Object.values(G.docs.properties))if(b.isTemplate&&b.sourceTemplatePath===a)return b}},[G]),$=(0,c.useCallback)(a=>{if(p&&!confirm("保存されていない変更があります。破棄しますか?"))return;g(a);let b=G?.docs.properties[a];if(G?.configData){let b=I(G.configData,a);null==b?A(void 0):Array.isArray(b)?A("array"):"object"==typeof b?A("object"):"string"==typeof b?A("string"):"number"==typeof b?A("number"):"boolean"==typeof b?A("boolean"):A(void 0)}let c=W(a),d=!!c,e=G?.configData?J(a,G.docs.properties,x,G.configData):void 0;if(b){let a={...b,tags:b.tags||[],isTemplate:!!d||b.isTemplate};if(e&&!d&&((!a.tags||0===a.tags.length)&&e.tags&&e.tags.length>0&&(a={...a,tags:[...e.tags]}),e.fields)){let b={...a.fields||{}};for(let[a,c]of Object.entries(e.fields))(!b[a]||""===b[a].trim())&&c&&""!==c.trim()&&(b[a]=c);a={...a,fields:b}}let c=P(a);m(c),o(c)}else if(c){let b=P({...c,path:a,tags:c.tags||[],isTemplate:!0});m(b),o(b)}else if(e){let b=P({path:a,tags:e.tags?[...e.tags]:[],fields:e.fields?{...e.fields}:{...v},modifiedAt:new Date().toISOString(),isTemplate:!1});m(b),o(b)}else{let b={path:a,tags:[],fields:{...v},modifiedAt:new Date().toISOString()};m(b),o(b)}q(!1)},[G,x,W,p,P,v]),_=(0,c.useCallback)(async()=>{if(l&&G)try{let a={...l,modifiedAt:new Date().toISOString()},c=await fetch("/api/config/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:G.filePath,propertyPath:f,propertyDoc:a,associativeArrays:x,configData:G.configData})}),e=await c.json();e.success?(b(b=>b.map((b,c)=>{if(c!==d)return b;let e={...b.docs.properties};if(a.isTemplate){let c;c=x.length>0&&b.configData?H(f,x,b.configData):F(f);let d={...a,path:c,sourceTemplatePath:f};e[c]=d,delete e[f]}else{for(let[a,b]of Object.entries(e))if(b.isTemplate&&b.sourceTemplatePath===f){delete e[a];break}e[f]=a}return{...b,docs:{...b.docs,properties:e}}})),m(a),o(a),q(!1),L("保存しました"),r?.autoExport&&await S()):L("保存に失敗しました: "+e.error,"error")}catch(a){console.error("Failed to save:",a),L("保存中にエラーが発生しました","error")}},[G,d,l,r?.autoExport,S,f,L]),aa=(0,c.useCallback)(async a=>{try{let b=await fetch("/api/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({format:a.format,fileName:a.fileName,outputDir:a.outputDir})}),c=await b.json();if(c.success){let b={...a,lastExportedAt:new Date().toISOString()};s(b),await fetch("/api/export/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:b})});let d=c.outputPaths?c.outputPaths[0]?.replace(/[/\\][^/\\]+$/,"")||a.outputDir||".":c.outputPath;L(`エクスポートしました: ${d}`)}else L("エクスポートに失敗しました: "+c.error,"error")}catch(a){console.error("Export failed:",a),L("エクスポート中にエラーが発生しました","error")}},[L]),ab=(0,c.useCallback)(async c=>{let d=t.filter(a=>!c.includes(a));u(c),await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({availableTags:c})});let e=d.length>0,f=t.some((a,b)=>a!==c[b])||t.length!==c.length;if(e||f){for(let e of a){let a=!1,f={...e.docs.properties};for(let[b,e]of Object.entries(f))if(e.tags&&e.tags.length>0){let g=Y(e.tags.filter(a=>!d.includes(a)),c);Z(e.tags,g)&&(f[b]={...e,tags:g},a=!0)}a&&(await fetch("/api/config/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:e.filePath,properties:f})}),b(a=>a.map(a=>a.filePath===e.filePath?{...a,docs:{...a.docs,properties:f}}:a)))}if(l&&l.tags&&l.tags.length>0){let a=Y(l.tags.filter(a=>!d.includes(a)),c);if(Z(l.tags,a)&&(m({...l,tags:a}),n&&n.tags)){let a=Y(n.tags.filter(a=>!d.includes(a)),c);o({...n,tags:a})}}}},[t,l,a,n]),ac=(0,c.useCallback)(async c=>{let d=Object.keys(v),e=Object.keys(c),f=d.filter(a=>!e.includes(a));for(let d of(w(c),await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:c})}),a)){let a=!1,c={...d.docs.properties};for(let[b,d]of Object.entries(c))if(d.fields){let g=function(a,b){let c={};for(let d of b)c[d]=a[d]||"";return c}(d.fields,e),h=Object.keys(d.fields),i=h.some((a,b)=>a!==e[b]),j=f.some(a=>a in d.fields);(i||j||h.length!==e.length)&&(c[b]={...d,fields:g},a=!0)}a&&(await fetch("/api/config/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:d.filePath,properties:c})}),b(a=>a.map(a=>a.filePath===d.filePath?{...a,docs:{...a.docs,properties:c}}:a)))}if(n){let a={};for(let b of e)a[b]=n.fields?.[b]||"";o({...n,fields:a})}if(l){let a={};for(let b of e)a[b]=l.fields?.[b]||"";let b={...l,fields:a};m(b),q(N(b,n?{...n,fields:Object.fromEntries(e.map(a=>[a,n.fields?.[a]||""]))}:null))}},[N,l,a,n,v]),ad=(0,c.useCallback)(()=>{g(""),m(null),q(!1),A(void 0)},[]),ae=(0,c.useCallback)(()=>{l&&(E({tags:[...l.tags||[]],fields:{...l.fields||{}}}),L("プロパティ詳細をコピーしました"))},[l,L]),af=(0,c.useCallback)(()=>{if(!D||!l)return;let a=D.tags.filter(a=>t.includes(a)),b={};for(let a of Object.keys(v))b[a]=D.fields[a]||"";let c={...l,tags:a,fields:b};m(c),q(N(c,n)),L("プロパティ詳細を貼り付けました")},[D,l,t,v,n,N,L]),ag=(0,c.useCallback)(async()=>{if(l&&G&&f&&confirm("このプロパティの詳細を削除しますか?"))try{let a=await fetch("/api/config/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configFilePath:G.filePath,propertyPath:f})}),c=await a.json();if(c.success){b(a=>a.map((a,b)=>{if(b!==d)return a;let c={...a.docs.properties};for(let[a,b]of(delete c[f],Object.entries(c)))if(b.isTemplate&&b.sourceTemplatePath===f){delete c[a];break}return{...a,docs:{...a.docs,properties:c}}}));let a={path:f,tags:[],fields:{...v},modifiedAt:new Date().toISOString()};m(a),o(a),q(!1),L("プロパティ詳細を削除しました"),r?.autoExport&&await S()}else L("削除に失敗しました: "+c.error,"error")}catch(a){console.error("Failed to delete:",a),L("削除中にエラーが発生しました","error")}},[G,d,l,r?.autoExport,S,v,f,L]),ah=(0,c.useCallback)(a=>{if(x.some(b=>b.basePath===a))return!0;let b=K(a,x,G?.configData);return!!(b!==a&&x.some(a=>a.basePath===b))||x.some(b=>{if(!b.basePath.includes("[*]"))return!1;let c=b.basePath.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\[\\\*\\\]/g,":[^:]+");return RegExp(`^${c}$`).test(a)})},[x,G?.configData]),ai=(0,c.useCallback)(a=>x.some(b=>a.startsWith(b.basePath+":")),[x]),aj=(0,c.useCallback)(async(a,b)=>{let c;if(b){let b=K(a,x,G?.configData);c=[...x,{basePath:b,createdAt:new Date().toISOString()}]}else{let b=K(a,x,G?.configData),d=a+"[*]";c=x.filter(c=>!(c.basePath===a||c.basePath===b||c.basePath.startsWith(d+":")||c.basePath.startsWith(d)))}y(c);try{await fetch("/api/config/metadata",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({associativeArrays:c})}),L(b?"連想配列として登録しました":"連想配列登録を解除しました")}catch(a){console.error("Failed to save associative array mapping:",a),L("連想配列設定の保存に失敗しました","error")}},[x,G?.configData,L]);return{loadedConfigs:a,activeConfigIndex:d,activeConfig:G,selectedPath:f,selectedNodeType:z,editingDoc:l,originalDoc:n,hasUnsavedChanges:p,exportSettings:r,availableTags:t,projectFields:v,associativeArrays:x,toasts:B,rootPath:j,isInitialized:h,setActiveConfigIndex:e,setSelectedPath:g,setEditingDoc:m,setHasUnsavedChanges:q,showToast:L,removeToast:M,loadConfigFile:Q,handleSelectConfigFiles:T,handleRemoveConfig:U,handleReorderConfigs:V,handleSelectProperty:$,handleSaveProperty:_,handleExport:aa,handleAvailableTagsChange:ab,handleProjectFieldsChange:ac,handleToggleAssociativeArray:aj,checkForChanges:N,resetSelection:ad,isAssociativeArray:ah,isDescendantOfAssociativeArray:ai,clipboard:D,handleCopyProperty:ae,handlePasteProperty:af,handleDeleteProperty:ag}}(),ad=!!(l&&j?.docs.properties[l]);return(0,b.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50",children:[(0,b.jsx)(k,{onExportClick:()=>f(!0)}),(0,b.jsxs)("main",{className:"container mx-auto px-6 py-8",children:[(0,b.jsx)(n,{loadedConfigs:g,activeConfigIndex:h,onTabClick:a=>{x(a),U()},onRemoveConfig:D,onAddFileClick:()=>d(!0),onReorder:E}),j&&(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl border border-gray-100 p-6 flex flex-col max-h-[calc(100vh-190px)] hover:shadow-2xl transition-shadow duration-300",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,b.jsx)("div",{className:"w-8 h-8 bg-gradient-to-br from-purple-500 to-purple-600 rounded-lg flex items-center justify-center",children:(0,b.jsx)(i,{className:"w-5 h-5 text-white"})}),(0,b.jsx)("h2",{className:"text-xl font-bold text-gray-800",children:"JSON構造"})]}),(0,b.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,b.jsx)(L,{config:j.configData,docs:j.docs,onSelectProperty:G,onEditProperty:G,selectedPath:l,associativeArrays:u})})]}),(0,b.jsx)(z,{selectedPath:l,editingDoc:o,hasUnsavedChanges:q,availableTags:s,projectFields:t,selectedNodeType:m,isAssociativeArray:V(l),isDescendantOfAssociativeArray:$(l),onEditingDocChange:a=>{y(a),A(T(a,p))},onAvailableTagsChange:O,onProjectFieldsChange:Q,onSave:M,onToggleAssociativeArray:S,onCopy:aa,onPaste:ab,canPaste:null!==_,onDelete:ac,hasExistingDoc:ad})]})]}),(0,b.jsx)(P,{isOpen:a,currentPath:w,multiSelect:!0,filterJsonOnly:!0,onSelect:a=>{C(a),d(!1)},onClose:()=>d(!1)}),(0,b.jsx)(R,{isOpen:e,onClose:()=>f(!1),onExport:N,currentSettings:r,rootPath:w}),(0,b.jsx)(W,{toasts:v,onRemove:B})]})}a.s(["default",()=>$],60350)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_page_tsx_55b2e5ee._.js.map
|
package/packages/web/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_75125036._.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module.exports=[35112,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactDOM},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},57516,a=>{"use strict";let b={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},c=new Set(Object.values(b)),d="NEXT_HTTP_ERROR_FALLBACK";function e(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,e]=a.digest.split(";");return b===d&&c.has(Number(e))}function f(a){return Number(a.digest.split(";")[1])}function g(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}a.s(["HTTPAccessErrorStatus",0,b,"HTTP_ERROR_FALLBACK_ERROR_CODE",0,d,"getAccessFallbackErrorTypeByStatus",()=>g,"getAccessFallbackHTTPStatus",()=>f,"isHTTPAccessFallbackError",()=>e])},66574,7630,87375,a=>{"use strict";var b,c,d=a.i(57516),e=((b={})[b.SeeOther=303]="SeeOther",b[b.TemporaryRedirect=307]="TemporaryRedirect",b[b.PermanentRedirect=308]="PermanentRedirect",b);a.s(["RedirectStatusCode",()=>e],7630);var f=((c={}).push="push",c.replace="replace",c);function g(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,f=b.slice(2,-2).join(";"),g=Number(b.at(-2));return"NEXT_REDIRECT"===c&&("replace"===d||"push"===d)&&"string"==typeof f&&!isNaN(g)&&g in e}function h(a){return g(a)||(0,d.isHTTPAccessFallbackError)(a)}a.s(["RedirectType",()=>f,"isRedirectError",()=>g],87375),a.s(["isNextRouterError",()=>h],66574)},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},27325,a=>{"use strict";a.s(["METADATA_BOUNDARY_NAME",0,"__next_metadata_boundary__","OUTLET_BOUNDARY_NAME",0,"__next_outlet_boundary__","ROOT_LAYOUT_BOUNDARY_NAME",0,"__next_root_layout_boundary__","VIEWPORT_BOUNDARY_NAME",0,"__next_viewport_boundary__"])},28535,a=>{"use strict";class b extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}a.s(["InvariantError",()=>b])},24970,53883,28734,92307,64573,a=>{"use strict";var b,c=a.i(72131);let d="DYNAMIC_SERVER_USAGE";class e extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=d}}function f(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===d}a.s(["DynamicServerError",()=>e,"isDynamicServerError",()=>f],53883);class g extends Error{constructor(...a){super(...a),this.code="NEXT_STATIC_GEN_BAILOUT"}}a.s(["StaticGenBailoutError",()=>g],28734);var h=a.i(32319),i=a.i(56704);function j(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===k}let k="HANGING_PROMISE_REJECTION";class l extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=k}}let m=new WeakMap;function n(a,b,c){if(a.aborted)return Promise.reject(new l(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new l(b,c)),g=m.get(a);if(g)g.push(f);else{let b=[f];m.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(o),d}}function o(){}function p(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}a.s(["isHangingPromiseRejectionError",()=>j,"makeDevtoolsIOAwarePromise",()=>p,"makeHangingPromise",()=>n],92307);var q=a.i(27325);let r=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},s="BAILOUT_TO_CLIENT_SIDE_RENDERING";class t extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=s}}function u(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===s}a.s(["BailoutToCSRError",()=>t,"isBailoutToCSRError",()=>u],64573);var v=a.i(28535);let w="function"==typeof c.default.unstable_postpone;function x(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function z(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function A(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new g(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return H(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new e(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function B(a,b,c){let d=Object.defineProperty(new e(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function C(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function D(a,b,c){let d=M(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function E(a,b,c,d){let e=d.dynamicTracking;D(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function F(a,b,c,d){if(!1===d.controller.signal.aborted){D(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw M(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function G({reason:a,route:b}){let c=h.workUnitAsyncStorage.getStore();H(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function H(a,b,d){(function(){if(!w)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),d&&d.dynamicAccesses.push({stack:d.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),c.default.unstable_postpone(I(a,b))}function I(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function J(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&K(a.message)}function K(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===K(I("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let L="NEXT_PRERENDER_INTERRUPTED";function M(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=L,b}function N(a){return"object"==typeof a&&null!==a&&a.digest===L&&"name"in a&&"message"in a&&a instanceof Error}function O(a){return a.length>0}function P(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function Q(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
|
|
2
2
|
${b}`))}function R(){let a=new AbortController;return a.abort(Object.defineProperty(new t("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function S(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,h.getRuntimeStagePromise)(a);c?c.then(()=>r(()=>b.abort())):r(()=>b.abort())}return b.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function T(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function U(a){let b=i.workAsyncStorage.getStore(),d=h.workUnitAsyncStorage.getStore();if(b&&d)switch(d.type){case"prerender-client":case"prerender":{let e=d.fallbackRouteParams;e&&e.size>0&&c.default.use(n(d.renderSignal,b.route,a));break}case"prerender-ppr":{let c=d.fallbackRouteParams;if(c&&c.size>0)return H(b.route,a,d.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new v.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new v.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}function V(a){let b=i.workAsyncStorage.getStore(),d=h.workUnitAsyncStorage.getStore();if(b)switch(!d&&(0,h.throwForMissingRequestStore)(a),d.type){case"prerender-client":c.default.use(n(d.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new t(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new v.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new v.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"request":return}}let W=/\n\s+at Suspense \(<anonymous>\)/,X=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${q.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),Y=RegExp(`\\n\\s+at ${q.METADATA_BOUNDARY_NAME}[\\n\\s]`),Z=RegExp(`\\n\\s+at ${q.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),$=RegExp(`\\n\\s+at ${q.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function _(a,b,c,d){if(!$.test(b)){if(Y.test(b)){c.hasDynamicMetadata=!0;return}if(Z.test(b)){c.hasDynamicViewport=!0;return}if(X.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(W.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ac(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function aa(a,b,c,d){if(!$.test(b)){if(Y.test(b)){c.dynamicMetadata=ac(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`,b);return}if(Z.test(b)){let d=ac(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`,b);c.dynamicErrors.push(d);return}if(X.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(W.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ac(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function ab(a,b,c,d){if(!$.test(b)){if(Y.test(b)){c.dynamicMetadata=ac(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`,b);return}if(Z.test(b)){let d=ac(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`,b);c.dynamicErrors.push(d);return}if(X.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(W.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ac(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function ac(a,b){let c=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return c.stack=c.name+": "+a+b,c}var ad=((b={})[b.Full=0]="Full",b[b.Empty=1]="Empty",b[b.Errored=2]="Errored",b);function ae(a,b){console.error(b),a.dev||(a.hasReadableErrorStacks?console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.`):console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
|
|
3
3
|
- Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
|
|
4
|
-
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function af(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ae(a,d.syncDynamicErrorWithStack),new g;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ae(a,d[b]);throw new g}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new g;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new g}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new g}function ag(a,b,c){if(c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new v.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function ah(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}a.s(["Postpone",()=>G,"PreludeState",()=>ad,"abortAndThrowOnSynchronousRequestDataAccess",()=>F,"abortOnSynchronousPlatformIOAccess",()=>E,"accessedDynamicData",()=>O,"annotateDynamicAccess",()=>T,"consumeDynamicAccess",()=>P,"createDynamicTrackingState",()=>x,"createDynamicValidationState",()=>y,"createHangingInputAbortSignal",()=>S,"createRenderInBrowserAbortSignal",()=>R,"delayUntilRuntimeStage",()=>ah,"formatDynamicAPIAccesses",()=>Q,"getFirstDynamicReason",()=>z,"getStaticShellDisallowedDynamicReasons",()=>ag,"isDynamicPostpone",()=>J,"isPrerenderInterruptedError",()=>N,"logDisallowedDynamicError",()=>ae,"markCurrentScopeAsDynamic",()=>A,"postponeWithTracking",()=>H,"throwIfDisallowedDynamic",()=>af,"throwToInterruptStaticGeneration",()=>B,"trackAllowedDynamicAccess",()=>_,"trackDynamicDataInDynamicRender",()=>C,"trackDynamicHoleInRuntimeShell",()=>aa,"trackDynamicHoleInStaticShell",()=>ab,"useDynamicRouteParams",()=>U,"useDynamicSearchParams",()=>V],24970)},29594,a=>{"use strict";var b=a.i(92307);let c=Symbol.for("react.postpone");var d=a.i(64573),e=a.i(66574),f=a.i(24970),g=a.i(53883);a.s(["unstable_rethrow",()=>function a(h){if((0,e.isNextRouterError)(h)||(0,d.isBailoutToCSRError)(h)||(0,g.isDynamicServerError)(h)||(0,f.isDynamicPostpone)(h)||"object"==typeof h&&null!==h&&h.$$typeof===c||(0,b.isHangingPromiseRejectionError)(h)||(0,f.isPrerenderInterruptedError)(h))throw h;h instanceof Error&&"cause"in h&&a(h.cause)}],29594)},61660,14290,1303,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(36313);function e(){return!function(){{let{workUnitAsyncStorage:b}=a.r(32319),c=b.getStore();if(!c)return!1;switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":let d=c.fallbackRouteParams;return!!d&&d.size>0}return!1}}()?(0,c.useContext)(d.PathnameContext):null}a.s(["useUntrackedPathname",()=>e],14290);var f=a.i(57516);a.s([],1303);var g=a.i(9270);class h extends c.default.Component{constructor(a){super(a),this.state={triggeredStatus:void 0,previousPathname:a.pathname}}componentDidCatch(){}static getDerivedStateFromError(a){if((0,f.isHTTPAccessFallbackError)(a))return{triggeredStatus:(0,f.getAccessFallbackHTTPStatus)(a)};throw a}static getDerivedStateFromProps(a,b){return a.pathname!==b.previousPathname&&b.triggeredStatus?{triggeredStatus:void 0,previousPathname:a.pathname}:{triggeredStatus:b.triggeredStatus,previousPathname:a.pathname}}render(){let{notFound:a,forbidden:c,unauthorized:d,children:e}=this.props,{triggeredStatus:g}=this.state,h={[f.HTTPAccessErrorStatus.NOT_FOUND]:a,[f.HTTPAccessErrorStatus.FORBIDDEN]:c,[f.HTTPAccessErrorStatus.UNAUTHORIZED]:d};if(g){let i=g===f.HTTPAccessErrorStatus.NOT_FOUND&&a,j=g===f.HTTPAccessErrorStatus.FORBIDDEN&&c,k=g===f.HTTPAccessErrorStatus.UNAUTHORIZED&&d;return i||j||k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("meta",{name:"robots",content:"noindex"}),!1,h[g]]}):e}return e}}function i({notFound:a,forbidden:d,unauthorized:f,children:i}){let j=e(),k=(0,c.useContext)(g.MissingSlotContext);return a||d||f?(0,b.jsx)(h,{pathname:j,notFound:a,forbidden:d,unauthorized:f,missingSlots:k,children:i}):(0,b.jsx)(b.Fragment,{children:i})}a.s(["HTTPAccessFallbackBoundary",()=>i],61660)},60805,27062,76784,51040,a=>{"use strict";function b(a,b){if(a.includes(c)){let a=JSON.stringify(b);return"{}"!==a?c+"?"+a:c}return a}let c="__PAGE__",d="__DEFAULT__";function e(a){if("string"==typeof a)return a.startsWith(c)?c:"/_not-found"===a?"_not-found":h(a);let b=a[0];return"$"+a[2]+"$"+h(b)}function f(a,b,c){return a+"/"+("children"===b?c:`@${h(b)}/${c}`)}a.s(["DEFAULT_SEGMENT_KEY",0,d,"PAGE_SEGMENT_KEY",0,c,"addSearchParamsIfPageSegment",()=>b],27062);let g=/^[a-zA-Z0-9\-_@]+$/;function h(a){return g.test(a)?a:"!"+btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}a.s(["HEAD_REQUEST_KEY",0,"/_head","ROOT_SEGMENT_REQUEST_KEY",0,"","appendSegmentRequestKeyPart",()=>f,"createSegmentRequestKeyPart",()=>e],76784);let i="_rsc",j="x-nextjs-rewritten-path",k="x-nextjs-rewritten-query";function l(a){let b=a.headers.get(k);return null!==b?""===b?"":"?"+b:q(new URL(a.url)).search}function m(a){return a.headers.get(j)??q(new URL(a.url)).pathname}function n(a,b,c){switch(a){case"c":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):[];case"ci(..)(..)":case"ci(.)":case"ci(..)":case"ci(...)":{let d=a.length-2;return c<b.length?b.slice(c).map((a,b)=>0===b?encodeURIComponent(a.slice(d)):encodeURIComponent(a)):[]}case"oc":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):null;case"d":if(c>=b.length)return"";return encodeURIComponent(b[c]);case"di(..)(..)":case"di(.)":case"di(..)":case"di(...)":{let d=a.length-2;if(c>=b.length)return"";return encodeURIComponent(b[c].slice(d))}default:return""}}function o(a){return!(""===a||a.startsWith(c)||"("===a[0]&&a.endsWith(")"))&&a!==d&&"/_not-found"!==a}function p(a,c){return"string"==typeof a?b(a,Object.fromEntries(new URLSearchParams(c))):null===a?"":a.join("/")}function q(a){let b=new URL(a);return b.searchParams.delete(i),b}function r(a,b){return"c"===b||"oc"===b?a.split("/"):a}function s(a){let b={};for(let[c,d]of a.entries())void 0===b[c]?b[c]=d:Array.isArray(b[c])?b[c].push(d):b[c]=[b[c],d];return b}a.s(["NEXT_DID_POSTPONE_HEADER",0,"x-nextjs-postponed","NEXT_REWRITTEN_PATH_HEADER",0,j,"NEXT_REWRITTEN_QUERY_HEADER",0,k,"NEXT_ROUTER_PREFETCH_HEADER",0,"next-router-prefetch","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER",0,"next-router-segment-prefetch","NEXT_ROUTER_STALE_TIME_HEADER",0,"x-nextjs-stale-time","NEXT_ROUTER_STATE_TREE_HEADER",0,"next-router-state-tree","NEXT_RSC_UNION_QUERY",0,i,"NEXT_URL",0,"next-url","RSC_CONTENT_TYPE_HEADER",0,"text/x-component","RSC_HEADER",0,"rsc"],51040),a.s(["doesStaticSegmentAppearInURL",()=>o,"getCacheKeyForDynamicParam",()=>p,"getParamValueFromCacheKey",()=>r,"getRenderedPathname",()=>m,"getRenderedSearch",()=>l,"parseDynamicParamFromURLPart",()=>n,"urlSearchParamsToParsedUrlQuery",()=>s],60805)},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},92397,a=>{"use strict";function b(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}a.s(["createPromiseWithResolvers",()=>b])},2420,a=>{"use strict";var b,c=a.i(87924),d=a.i(72131),e=a.i(35112),f=a.i(9270);let g={then:()=>{}};var h=d,i=a.i(14290),j=a.i(66574);let k=a.r(56704).workAsyncStorage;function l({error:a}){if(k){let b=k.getStore();if(b?.isStaticGeneration)throw a&&console.error(a),a}return null}/[\w-]+-Google|Google-[\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight/i.source;class m extends h.default.Component{constructor(a){super(a),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(a){if((0,j.isNextRouterError)(a))throw a;return{error:a}}static getDerivedStateFromProps(a,b){let{error:c}=b;return a.pathname!==b.previousPathname&&b.error?{error:null,previousPathname:a.pathname}:{error:b.error,previousPathname:a.pathname}}render(){return this.state.error&&1?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,c.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function n({errorComponent:a,errorStyles:b,errorScripts:d,children:e}){let f=(0,i.useUntrackedPathname)();return a?(0,c.jsx)(m,{pathname:f,errorComponent:a,errorStyles:b,errorScripts:d,children:e}):(0,c.jsx)(c.Fragment,{children:e})}a.i(1303);var o=d,p=a.i(36313),q=a.i(27062);a.i(18341);URLSearchParams,a.i(7630);var r=a.i(87375);a.r(20635).actionAsyncStorage;var s=a.i(57516);function t(){let a=(0,d.useContext)(f.AppRouterContext);if(null===a)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return a}function u({redirect:a,reset:b,redirectType:c}){let d=t();return(0,o.useEffect)(()=>{o.default.startTransition(()=>{c===r.RedirectType.push?d.push(a,{}):d.replace(a,{}),b()})},[a,c,b,d]),null}s.HTTP_ERROR_FALLBACK_ERROR_CODE,s.HTTP_ERROR_FALLBACK_ERROR_CODE,s.HTTP_ERROR_FALLBACK_ERROR_CODE,a.r(29594).unstable_rethrow,a.r(24970).useDynamicRouteParams,a.r(24970).useDynamicSearchParams;class v extends o.default.Component{constructor(a){super(a),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(a){if((0,r.isRedirectError)(a)){let b=(0,r.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null,c=function(a){if(!(0,r.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}(a);return"handled"in a?{redirect:null,redirectType:null}:{redirect:b,redirectType:c}}throw a}render(){let{redirect:a,redirectType:b}=this.state;return null!==a&&null!==b?(0,c.jsx)(u,{redirect:a,redirectType:b,reset:()=>this.setState({redirect:null})}):this.props.children}}function w({children:a}){let b=t();return(0,c.jsx)(v,{router:b,children:a})}var x=a.i(61660);function y(a,b=!1){return Array.isArray(a)?`${a[0]}|${a[1]}|${a[2]}`:b&&a.startsWith(q.PAGE_SEGMENT_KEY)?q.PAGE_SEGMENT_KEY:a}var z=a.i(60805),A=a.i(38783);a.i(51040),A.createFromReadableStream,A.createFromFetch;var B=((b={})[b.Intent=2]="Intent",b[b.Default=1]="Default",b[b.Background=0]="Background",b);function C(){return{parent:null,key:null,value:null,map:null,prev:null,next:null,size:0}}"function"==typeof requestIdleCallback&&requestIdleCallback,a.i(76784),"function"==typeof queueMicrotask&&queueMicrotask;let D="function"==typeof WeakMap?new WeakMap:new Map,E=new Set;"function"==typeof IntersectionObserver&&new IntersectionObserver(function(a){for(let b of a){let a=b.intersectionRatio>0;!function(a,b){let c=D.get(a);void 0!==c&&(c.isVisible=b,b?E.add(c):E.delete(c),B.Default)}(b.target,a)}},{rootMargin:"200px"}),a.i(92397),C(),C();let F=Symbol();e.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;let G=["bottom","height","left","right","top","width","x","y"];function H(a,b){let c=a.getBoundingClientRect();return c.top>=0&&c.top<=b}class I extends d.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...a){super(...a),this.handlePotentialScroll=()=>{let{focusAndScrollRef:a,segmentPath:b}=this.props;if(a.apply){if(0!==a.segmentPaths.length&&!a.segmentPaths.some(a=>b.every((b,c)=>{var d,e;return d=b,e=a[c],"string"==typeof d?"string"==typeof e&&d===e:"string"!=typeof e&&d[0]===e[0]&&d[1]===e[1]})))return;let c=null,d=a.hashFragment;if(d&&(c="top"===d?document.body:document.getElementById(d)??document.getElementsByName(d)[0]),c||(c=null),!(c instanceof Element))return;for(;!(c instanceof HTMLElement)||function(a){if(["sticky","fixed"].includes(getComputedStyle(a).position))return!0;let b=a.getBoundingClientRect();return G.every(a=>0===b[a])}(c);){if(null===c.nextElementSibling)return;c=c.nextElementSibling}a.apply=!1,a.hashFragment=null,a.segmentPaths=[],function(a,b={}){if(b.onlyHashChange)return a();let c=document.documentElement;if("smooth"!==c.dataset.scrollBehavior)return a();let d=c.style.scrollBehavior;c.style.scrollBehavior="auto",b.dontForceLayout||c.getClientRects(),a(),c.style.scrollBehavior=d}(()=>{if(d)return void c.scrollIntoView();let a=document.documentElement,b=a.clientHeight;!H(c,b)&&(a.scrollTop=0,H(c,b)||c.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:a.onlyHashChange}),a.onlyHashChange=!1,c.focus()}}}}function J({segmentPath:a,children:b}){let e=(0,d.useContext)(f.GlobalLayoutRouterContext);if(!e)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,c.jsx)(I,{segmentPath:a,focusAndScrollRef:e.focusAndScrollRef,children:b})}function K({tree:a,segmentPath:b,debugNameContext:e,cacheNode:h,params:i,url:j,isActive:k}){let l,m=(0,d.useContext)(f.GlobalLayoutRouterContext);if((0,d.useContext)(p.NavigationPromisesContext),!m)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let n=null!==h?h:(0,d.use)(g),o=null!==n.prefetchRsc?n.prefetchRsc:n.rsc,q=(0,d.useDeferredValue)(n.rsc,o);if(q&&"object"==typeof q&&q.tag===F){let a=(0,d.use)(q);null===a&&(0,d.use)(g),l=a}else null===q&&(0,d.use)(g),l=q;let r=l;return(0,c.jsx)(f.LayoutRouterContext.Provider,{value:{parentTree:a,parentCacheNode:n,parentSegmentPath:b,parentParams:i,debugNameContext:e,url:j,isActive:k},children:r})}function L({name:a,loading:b,children:e}){let f;if(f="object"==typeof b&&null!==b&&"function"==typeof b.then?(0,d.use)(b):b){let b=f[0],g=f[1],h=f[2];return(0,c.jsx)(d.Suspense,{name:a,fallback:(0,c.jsxs)(c.Fragment,{children:[g,h,b]}),children:e})}return(0,c.jsx)(c.Fragment,{children:e})}function M({parallelRouterKey:a,error:b,errorStyles:e,errorScripts:h,templateStyles:i,templateScripts:j,template:k,notFound:l,forbidden:m,unauthorized:o,segmentViewBoundaries:p}){let q=(0,d.useContext)(f.LayoutRouterContext);if(!q)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:r,parentCacheNode:s,parentSegmentPath:t,parentParams:u,url:v,isActive:A,debugNameContext:B}=q,C=s.parallelRoutes,D=C.get(a);D||(D=new Map,C.set(a,D));let E=r[0],F=null===t?[a]:t.concat([E,a]),G=r[1][a];void 0===G&&(0,d.use)(g);let H=y(G[0],!0),I=function(a,b){let[c,e]=(0,d.useState)(()=>({tree:a,stateKey:b,next:null}));if(c.tree===a)return c;let f={tree:a,stateKey:b,next:null},g=1,h=c,i=f;for(;null!==h&&g<1;){if(h.stateKey===b){i.next=h.next;break}{g++;let a={tree:h.tree,stateKey:h.stateKey,next:null};i.next=a,i=a}h=h.next}return e(f),f}(G,H),M=[];do{let a=I.tree,d=I.stateKey,g=a[0],p=y(g),q=D.get(p)??null,r=u;if(Array.isArray(g)){let a=g[0],b=g[1],c=g[2],d=(0,z.getParamValueFromCacheKey)(b,c);null!==d&&(r={...u,[a]:d})}let t=function(a){if("/"===a)return"/";if("string"==typeof a)if("(slot)"===a)return;else return a+"/";return a[1]+"/"}(g),C=t??B,E=void 0===t?void 0:B,G=s.loading,N=(0,c.jsxs)(f.TemplateContext.Provider,{value:(0,c.jsxs)(J,{segmentPath:F,children:[(0,c.jsx)(n,{errorComponent:b,errorStyles:e,errorScripts:h,children:(0,c.jsx)(L,{name:E,loading:G,children:(0,c.jsx)(x.HTTPAccessFallbackBoundary,{notFound:l,forbidden:m,unauthorized:o,children:(0,c.jsxs)(w,{children:[(0,c.jsx)(K,{url:v,tree:a,params:r,cacheNode:q,segmentPath:F,debugNameContext:C,isActive:A&&d===H}),null]})})})}),null]}),children:[i,j,k]},d);M.push(N),I=I.next}while(null!==I)return M}a.s(["default",()=>M],2420)},24017,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(9270);function e(){let a=(0,c.useContext)(d.TemplateContext);return(0,b.jsx)(b.Fragment,{children:a})}a.s(["default",()=>e])},19107,69825,18366,66119,a=>{"use strict";class b{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}a.s(["ReflectAdapter",()=>b],19107);let c=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function d(a,b){return c.test(b)?`\`${a}.${b}\``:`\`${a}[${JSON.stringify(b)}]\``}function e(a,b){let c=JSON.stringify(b);return`\`Reflect.has(${a}, ${c})\`, \`${c} in ${a}\`, or similar`}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"]);a.s(["describeHasCheckingStringProperty",()=>e,"describeStringPropertyAccess",()=>d,"wellKnownProperties",0,f],69825);var g,h=a.i(72131);let i={current:null},j="function"==typeof h.cache?h.cache:a=>a,k=console.warn;function l(a){return function(...b){k(a(...b))}}j(a=>{try{k(i.current)}finally{i.current=null}}),a.s(["createDedupedByCallsiteServerErrorLoggerDev",()=>l],18366),a.i(28535),a.i(92397);var m=((g={})[g.Before=1]="Before",g[g.Static=2]="Static",g[g.Runtime=3]="Runtime",g[g.Dynamic=4]="Dynamic",g[g.Abandoned=5]="Abandoned",g);a.s(["RenderStage",()=>m],66119)},61737,a=>{"use strict";var b=a.i(19107),c=a.i(24970),d=a.i(32319),e=a.i(28535),f=a.i(92307),g=a.i(18366),h=a.i(69825),i=a.i(28734);function j(a,b){let c=d.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return m(b,c);case"prerender-runtime":throw Object.defineProperty(new e.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new e.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return n(a,b,c)}(0,d.throwInvariantForMissingStore)()}function k(a,b){let f=d.workUnitAsyncStorage.getStore();if(f)switch(f.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return m(b,f);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new e.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":var g,h;return g=a,h=f,(0,c.delayUntilRuntimeStage)(h,r(g));case"request":return n(a,b,f)}(0,d.throwInvariantForMissingStore)()}function l(a){if(a.forceStatic)return Promise.resolve({});let b=d.workUnitAsyncStorage.getStore();if(b)switch(b.type){case"prerender":case"prerender-client":return(0,f.makeHangingPromise)(b.renderSignal,a.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new e.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new e.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,d.throwInvariantForMissingStore)()}function m(a,d){if(a.forceStatic)return Promise.resolve({});switch(d.type){case"prerender":case"prerender-client":var e=a,g=d;let h=o.get(g);if(h)return h;let j=(0,f.makeHangingPromise)(g.renderSignal,e.route,"`searchParams`"),k=new Proxy(j,{get(a,d,e){if(Object.hasOwn(j,d))return b.ReflectAdapter.get(a,d,e);switch(d){case"then":return(0,c.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",g),b.ReflectAdapter.get(a,d,e);case"status":return(0,c.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",g),b.ReflectAdapter.get(a,d,e);default:return b.ReflectAdapter.get(a,d,e)}}});return o.set(g,k),k;case"prerender-ppr":case"prerender-legacy":var l=a,m=d;let n=o.get(l);if(n)return n;let p=Promise.resolve({}),q=new Proxy(p,{get(a,d,e){if(Object.hasOwn(p,d))return b.ReflectAdapter.get(a,d,e);if("string"==typeof d&&"then"===d){let a="`await searchParams`, `searchParams.then`, or similar";if(l.dynamicShouldError){var f=l.route;throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${f} with \`dynamic = "error"\` couldn't be rendered statically because it used ${a}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}"prerender-ppr"===m.type?(0,c.postponeWithTracking)(l.route,a,m.dynamicTracking):(0,c.throwToInterruptStaticGeneration)(a,l,m)}return b.ReflectAdapter.get(a,d,e)}});return o.set(l,q),q;default:return d}}function n(a,b,c){return b.forceStatic?Promise.resolve({}):r(a)}a.i(24725),a.i(66119);let o=new WeakMap,p=new WeakMap;function q(a){let c=p.get(a);if(c)return c;let d=Promise.resolve({}),e=new Proxy(d,{get:function c(e,f,g){return Object.hasOwn(d,f)||"string"!=typeof f||"then"!==f&&h.wellKnownProperties.has(f)||function(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}(a,c),b.ReflectAdapter.get(e,f,g)}});return p.set(a,e),e}function r(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})}),a.s(["createPrerenderSearchParamsForClientPage",()=>l,"createSearchParamsFromClient",()=>j,"createServerSearchParamsForMetadata",0,k,"createServerSearchParamsForServerPage",()=>k,"makeErroringSearchParamsForUseCache",()=>q],61737)},39340,a=>{"use strict";var b=a.i(56704),c=a.i(19107),d=a.i(24970),e=a.i(32319),f=a.i(28535),g=a.i(69825),h=a.i(92307),i=a.i(18366),j=a.i(43285);function k(a,b){let c=e.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return o(a,b,c);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new f.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return s(a)}(0,e.throwInvariantForMissingStore)()}function l(a,b){let c=e.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return o(a,b,c);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return p(a,c);case"request":return s(a)}(0,e.throwInvariantForMissingStore)()}function m(a,b){let c=e.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return o(a,b,c);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return p(a,c);case"request":return s(a)}(0,e.throwInvariantForMissingStore)()}function n(a){let c=b.workAsyncStorage.getStore();if(!c)throw Object.defineProperty(new f.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let d=e.workUnitAsyncStorage.getStore();if(d)switch(d.type){case"prerender":case"prerender-client":let g=d.fallbackRouteParams;if(g){for(let b in a)if(g.has(b))return(0,h.makeHangingPromise)(d.renderSignal,c.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(a)}function o(a,b,c){switch(c.type){case"prerender":case"prerender-client":{let d=c.fallbackRouteParams;if(d){for(let e in a)if(d.has(e))return function(a,b,c){let d=q.get(a);if(d)return d;let e=new Proxy((0,h.makeHangingPromise)(c.renderSignal,b.route,"`params`"),r);return q.set(a,e),e}(a,b,c)}break}case"prerender-ppr":{let e=c.fallbackRouteParams;if(e){for(let f in a)if(e.has(f))return function(a,b,c,e){let f=q.get(a);if(f)return f;let h={...a},i=Promise.resolve(h);return q.set(a,i),Object.keys(a).forEach(a=>{g.wellKnownProperties.has(a)||b.has(a)&&Object.defineProperty(h,a,{get(){let b=(0,g.describeStringPropertyAccess)("params",a);"prerender-ppr"===e.type?(0,d.postponeWithTracking)(c.route,b,e.dynamicTracking):(0,d.throwToInterruptStaticGeneration)(b,c,e)},enumerable:!0})}),i}(a,e,b,c)}}}return s(a)}function p(a,b){return(0,d.delayUntilRuntimeStage)(b,s(a))}a.i(66119);let q=new WeakMap,r={get:function(a,b,d){if("then"===b||"catch"===b||"finally"===b){let e=c.ReflectAdapter.get(a,b,d);return({[b]:(...b)=>{let c=j.dynamicAccessAsyncStorage.getStore();return c&&c.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(e.apply(a,b),r)}})[b]}return c.ReflectAdapter.get(a,b,d)}};function s(a){let b=q.get(a);if(b)return b;let c=Promise.resolve(a);return q.set(a,c),c}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})}),a.s(["createParamsFromClient",()=>k,"createPrerenderParamsForClientSegment",()=>n,"createServerParamsForMetadata",0,m,"createServerParamsForRoute",()=>l,"createServerParamsForServerSegment",()=>m])},77682,a=>{"use strict";var b=a.i(87924),c=a.i(28535),d=a.i(9270),e=a.i(72131),f=a.i(60805),g=a.i(36313);function h({Component:h,serverProvidedParams:i}){let j,k;if(null!==i)j=i.searchParams,k=i.params;else{let a=(0,e.use)(d.LayoutRouterContext);k=null!==a?a.parentParams:{},j=(0,f.urlSearchParamsToParsedUrlQuery)((0,e.use)(g.SearchParamsContext))}{let d,e,{workAsyncStorage:f}=a.r(56704),g=f.getStore();if(!g)throw Object.defineProperty(new c.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient:i}=a.r(61737);d=i(j,g);let{createParamsFromClient:l}=a.r(39340);return e=l(k,g),(0,b.jsx)(h,{params:e,searchParams:d})}}a.s(["ClientPageRoot",()=>h])},97296,a=>{"use strict";var b=a.i(87924),c=a.i(28535),d=a.i(9270),e=a.i(72131);function f({Component:f,slots:g,serverProvidedParams:h}){let i;if(null!==h)i=h.params;else{let a=(0,e.use)(d.LayoutRouterContext);i=null!==a?a.parentParams:{}}{let d,{workAsyncStorage:e}=a.r(56704),h=e.getStore();if(!h)throw Object.defineProperty(new c.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient:j}=a.r(39340);return d=j(i,h),(0,b.jsx)(f,{...g,params:d})}}a.s(["ClientSegmentRoot",()=>f])},60704,a=>{"use strict";var b=a.i(87924);a.s(["IconMark",0,()=>(0,b.jsx)("meta",{name:"«nxt-icon»"})])},90574,a=>{"use strict";var b=a.i(27325);let c={[b.METADATA_BOUNDARY_NAME]:function({children:a}){return a},[b.VIEWPORT_BOUNDARY_NAME]:function({children:a}){return a},[b.OUTLET_BOUNDARY_NAME]:function({children:a}){return a},[b.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:a}){return a}},d=c[b.METADATA_BOUNDARY_NAME.slice(0)],e=c[b.VIEWPORT_BOUNDARY_NAME.slice(0)],f=c[b.OUTLET_BOUNDARY_NAME.slice(0)],g=c[b.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)];a.s(["MetadataBoundary",0,d,"OutletBoundary",0,f,"RootLayoutBoundary",0,g,"ViewportBoundary",0,e])}];
|
|
4
|
+
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function af(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ae(a,d.syncDynamicErrorWithStack),new g;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ae(a,d[b]);throw new g}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new g;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new g}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new g}function ag(a,b,c){if(c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new v.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function ah(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}a.s(["Postpone",()=>G,"PreludeState",()=>ad,"abortAndThrowOnSynchronousRequestDataAccess",()=>F,"abortOnSynchronousPlatformIOAccess",()=>E,"accessedDynamicData",()=>O,"annotateDynamicAccess",()=>T,"consumeDynamicAccess",()=>P,"createDynamicTrackingState",()=>x,"createDynamicValidationState",()=>y,"createHangingInputAbortSignal",()=>S,"createRenderInBrowserAbortSignal",()=>R,"delayUntilRuntimeStage",()=>ah,"formatDynamicAPIAccesses",()=>Q,"getFirstDynamicReason",()=>z,"getStaticShellDisallowedDynamicReasons",()=>ag,"isDynamicPostpone",()=>J,"isPrerenderInterruptedError",()=>N,"logDisallowedDynamicError",()=>ae,"markCurrentScopeAsDynamic",()=>A,"postponeWithTracking",()=>H,"throwIfDisallowedDynamic",()=>af,"throwToInterruptStaticGeneration",()=>B,"trackAllowedDynamicAccess",()=>_,"trackDynamicDataInDynamicRender",()=>C,"trackDynamicHoleInRuntimeShell",()=>aa,"trackDynamicHoleInStaticShell",()=>ab,"useDynamicRouteParams",()=>U,"useDynamicSearchParams",()=>V],24970)},29594,a=>{"use strict";var b=a.i(92307);let c=Symbol.for("react.postpone");var d=a.i(64573),e=a.i(66574),f=a.i(24970),g=a.i(53883);a.s(["unstable_rethrow",()=>function a(h){if((0,e.isNextRouterError)(h)||(0,d.isBailoutToCSRError)(h)||(0,g.isDynamicServerError)(h)||(0,f.isDynamicPostpone)(h)||"object"==typeof h&&null!==h&&h.$$typeof===c||(0,b.isHangingPromiseRejectionError)(h)||(0,f.isPrerenderInterruptedError)(h))throw h;h instanceof Error&&"cause"in h&&a(h.cause)}],29594)},61660,14290,1303,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(36313);function e(){return!function(){{let{workUnitAsyncStorage:b}=a.r(32319),c=b.getStore();if(!c)return!1;switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":let d=c.fallbackRouteParams;return!!d&&d.size>0}return!1}}()?(0,c.useContext)(d.PathnameContext):null}a.s(["useUntrackedPathname",()=>e],14290);var f=a.i(57516);a.s([],1303);var g=a.i(9270);class h extends c.default.Component{constructor(a){super(a),this.state={triggeredStatus:void 0,previousPathname:a.pathname}}componentDidCatch(){}static getDerivedStateFromError(a){if((0,f.isHTTPAccessFallbackError)(a))return{triggeredStatus:(0,f.getAccessFallbackHTTPStatus)(a)};throw a}static getDerivedStateFromProps(a,b){return a.pathname!==b.previousPathname&&b.triggeredStatus?{triggeredStatus:void 0,previousPathname:a.pathname}:{triggeredStatus:b.triggeredStatus,previousPathname:a.pathname}}render(){let{notFound:a,forbidden:c,unauthorized:d,children:e}=this.props,{triggeredStatus:g}=this.state,h={[f.HTTPAccessErrorStatus.NOT_FOUND]:a,[f.HTTPAccessErrorStatus.FORBIDDEN]:c,[f.HTTPAccessErrorStatus.UNAUTHORIZED]:d};if(g){let i=g===f.HTTPAccessErrorStatus.NOT_FOUND&&a,j=g===f.HTTPAccessErrorStatus.FORBIDDEN&&c,k=g===f.HTTPAccessErrorStatus.UNAUTHORIZED&&d;return i||j||k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("meta",{name:"robots",content:"noindex"}),!1,h[g]]}):e}return e}}function i({notFound:a,forbidden:d,unauthorized:f,children:i}){let j=e(),k=(0,c.useContext)(g.MissingSlotContext);return a||d||f?(0,b.jsx)(h,{pathname:j,notFound:a,forbidden:d,unauthorized:f,missingSlots:k,children:i}):(0,b.jsx)(b.Fragment,{children:i})}a.s(["HTTPAccessFallbackBoundary",()=>i],61660)},60805,27062,76784,51040,a=>{"use strict";function b(a,b){if(a.includes(c)){let a=JSON.stringify(b);return"{}"!==a?c+"?"+a:c}return a}let c="__PAGE__",d="__DEFAULT__";function e(a){if("string"==typeof a)return a.startsWith(c)?c:"/_not-found"===a?"_not-found":h(a);let b=a[0];return"$"+a[2]+"$"+h(b)}function f(a,b,c){return a+"/"+("children"===b?c:`@${h(b)}/${c}`)}a.s(["DEFAULT_SEGMENT_KEY",0,d,"PAGE_SEGMENT_KEY",0,c,"addSearchParamsIfPageSegment",()=>b],27062);let g=/^[a-zA-Z0-9\-_@]+$/;function h(a){return g.test(a)?a:"!"+btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}a.s(["HEAD_REQUEST_KEY",0,"/_head","ROOT_SEGMENT_REQUEST_KEY",0,"","appendSegmentRequestKeyPart",()=>f,"createSegmentRequestKeyPart",()=>e],76784);let i="_rsc",j="x-nextjs-rewritten-path",k="x-nextjs-rewritten-query";function l(a){let b=a.headers.get(k);return null!==b?""===b?"":"?"+b:q(new URL(a.url)).search}function m(a){return a.headers.get(j)??q(new URL(a.url)).pathname}function n(a,b,c){switch(a){case"c":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):[];case"ci(..)(..)":case"ci(.)":case"ci(..)":case"ci(...)":{let d=a.length-2;return c<b.length?b.slice(c).map((a,b)=>0===b?encodeURIComponent(a.slice(d)):encodeURIComponent(a)):[]}case"oc":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):null;case"d":if(c>=b.length)return"";return encodeURIComponent(b[c]);case"di(..)(..)":case"di(.)":case"di(..)":case"di(...)":{let d=a.length-2;if(c>=b.length)return"";return encodeURIComponent(b[c].slice(d))}default:return""}}function o(a){return!(""===a||a.startsWith(c)||"("===a[0]&&a.endsWith(")"))&&a!==d&&"/_not-found"!==a}function p(a,c){return"string"==typeof a?b(a,Object.fromEntries(new URLSearchParams(c))):null===a?"":a.join("/")}function q(a){let b=new URL(a);return b.searchParams.delete(i),b}function r(a,b){return"c"===b||"oc"===b?a.split("/"):a}function s(a){let b={};for(let[c,d]of a.entries())void 0===b[c]?b[c]=d:Array.isArray(b[c])?b[c].push(d):b[c]=[b[c],d];return b}a.s(["NEXT_DID_POSTPONE_HEADER",0,"x-nextjs-postponed","NEXT_REWRITTEN_PATH_HEADER",0,j,"NEXT_REWRITTEN_QUERY_HEADER",0,k,"NEXT_ROUTER_PREFETCH_HEADER",0,"next-router-prefetch","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER",0,"next-router-segment-prefetch","NEXT_ROUTER_STALE_TIME_HEADER",0,"x-nextjs-stale-time","NEXT_ROUTER_STATE_TREE_HEADER",0,"next-router-state-tree","NEXT_RSC_UNION_QUERY",0,i,"NEXT_URL",0,"next-url","RSC_CONTENT_TYPE_HEADER",0,"text/x-component","RSC_HEADER",0,"rsc"],51040),a.s(["doesStaticSegmentAppearInURL",()=>o,"getCacheKeyForDynamicParam",()=>p,"getParamValueFromCacheKey",()=>r,"getRenderedPathname",()=>m,"getRenderedSearch",()=>l,"parseDynamicParamFromURLPart",()=>n,"urlSearchParamsToParsedUrlQuery",()=>s],60805)},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},92397,a=>{"use strict";function b(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}a.s(["createPromiseWithResolvers",()=>b])},2420,a=>{"use strict";var b,c=a.i(87924),d=a.i(72131),e=a.i(35112),f=a.i(9270);let g={then:()=>{}};var h=d,i=a.i(14290),j=a.i(66574);let k=a.r(56704).workAsyncStorage;function l({error:a}){if(k){let b=k.getStore();if(b?.isStaticGeneration)throw a&&console.error(a),a}return null}/[\w-]+-Google|Google-[\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight/i.source;class m extends h.default.Component{constructor(a){super(a),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(a){if((0,j.isNextRouterError)(a))throw a;return{error:a}}static getDerivedStateFromProps(a,b){let{error:c}=b;return a.pathname!==b.previousPathname&&b.error?{error:null,previousPathname:a.pathname}:{error:b.error,previousPathname:a.pathname}}render(){return this.state.error&&1?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,c.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function n({errorComponent:a,errorStyles:b,errorScripts:d,children:e}){let f=(0,i.useUntrackedPathname)();return a?(0,c.jsx)(m,{pathname:f,errorComponent:a,errorStyles:b,errorScripts:d,children:e}):(0,c.jsx)(c.Fragment,{children:e})}a.i(1303);var o=d,p=a.i(36313),q=a.i(27062);a.i(18341);URLSearchParams,a.i(7630);var r=a.i(87375);a.r(20635).actionAsyncStorage;var s=a.i(57516);function t(){let a=(0,d.useContext)(f.AppRouterContext);if(null===a)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return a}function u({redirect:a,reset:b,redirectType:c}){let d=t();return(0,o.useEffect)(()=>{o.default.startTransition(()=>{c===r.RedirectType.push?d.push(a,{}):d.replace(a,{}),b()})},[a,c,b,d]),null}s.HTTP_ERROR_FALLBACK_ERROR_CODE,s.HTTP_ERROR_FALLBACK_ERROR_CODE,s.HTTP_ERROR_FALLBACK_ERROR_CODE,a.r(29594).unstable_rethrow,a.r(24970).useDynamicRouteParams,a.r(24970).useDynamicSearchParams;class v extends o.default.Component{constructor(a){super(a),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(a){if((0,r.isRedirectError)(a)){let b=(0,r.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null,c=function(a){if(!(0,r.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}(a);return"handled"in a?{redirect:null,redirectType:null}:{redirect:b,redirectType:c}}throw a}render(){let{redirect:a,redirectType:b}=this.state;return null!==a&&null!==b?(0,c.jsx)(u,{redirect:a,redirectType:b,reset:()=>this.setState({redirect:null})}):this.props.children}}function w({children:a}){let b=t();return(0,c.jsx)(v,{router:b,children:a})}var x=a.i(61660);function y(a,b=!1){return Array.isArray(a)?`${a[0]}|${a[1]}|${a[2]}`:b&&a.startsWith(q.PAGE_SEGMENT_KEY)?q.PAGE_SEGMENT_KEY:a}var z=a.i(60805),A=a.i(38783);a.i(51040),A.createFromReadableStream,A.createFromFetch;var B=((b={})[b.Intent=2]="Intent",b[b.Default=1]="Default",b[b.Background=0]="Background",b);function C(){return{parent:null,key:null,value:null,map:null,prev:null,next:null,size:0}}"function"==typeof requestIdleCallback&&requestIdleCallback,a.i(76784),"function"==typeof queueMicrotask&&queueMicrotask;let D="function"==typeof WeakMap?new WeakMap:new Map,E=new Set;"function"==typeof IntersectionObserver&&new IntersectionObserver(function(a){for(let b of a){let a=b.intersectionRatio>0;!function(a,b){let c=D.get(a);void 0!==c&&(c.isVisible=b,b?E.add(c):E.delete(c),B.Default)}(b.target,a)}},{rootMargin:"200px"}),a.i(92397),C(),C();let F=Symbol();e.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;let G=["bottom","height","left","right","top","width","x","y"];function H(a,b){let c=a.getBoundingClientRect();return c.top>=0&&c.top<=b}class I extends d.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...a){super(...a),this.handlePotentialScroll=()=>{let{focusAndScrollRef:a,segmentPath:b}=this.props;if(a.apply){if(0!==a.segmentPaths.length&&!a.segmentPaths.some(a=>b.every((b,c)=>{var d,e;return d=b,e=a[c],"string"==typeof d?"string"==typeof e&&d===e:"string"!=typeof e&&d[0]===e[0]&&d[1]===e[1]})))return;let c=null,d=a.hashFragment;if(d&&(c="top"===d?document.body:document.getElementById(d)??document.getElementsByName(d)[0]),c||(c=null),!(c instanceof Element))return;for(;!(c instanceof HTMLElement)||function(a){if(["sticky","fixed"].includes(getComputedStyle(a).position))return!0;let b=a.getBoundingClientRect();return G.every(a=>0===b[a])}(c);){if(null===c.nextElementSibling)return;c=c.nextElementSibling}a.apply=!1,a.hashFragment=null,a.segmentPaths=[],function(a,b={}){if(b.onlyHashChange)return a();let c=document.documentElement;if("smooth"!==c.dataset.scrollBehavior)return a();let d=c.style.scrollBehavior;c.style.scrollBehavior="auto",b.dontForceLayout||c.getClientRects(),a(),c.style.scrollBehavior=d}(()=>{if(d)return void c.scrollIntoView();let a=document.documentElement,b=a.clientHeight;!H(c,b)&&(a.scrollTop=0,H(c,b)||c.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:a.onlyHashChange}),a.onlyHashChange=!1,c.focus()}}}}function J({segmentPath:a,children:b}){let e=(0,d.useContext)(f.GlobalLayoutRouterContext);if(!e)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,c.jsx)(I,{segmentPath:a,focusAndScrollRef:e.focusAndScrollRef,children:b})}function K({tree:a,segmentPath:b,debugNameContext:e,cacheNode:h,params:i,url:j,isActive:k}){let l,m=(0,d.useContext)(f.GlobalLayoutRouterContext);if((0,d.useContext)(p.NavigationPromisesContext),!m)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let n=null!==h?h:(0,d.use)(g),o=null!==n.prefetchRsc?n.prefetchRsc:n.rsc,q=(0,d.useDeferredValue)(n.rsc,o);if(q&&"object"==typeof q&&q.tag===F){let a=(0,d.use)(q);null===a&&(0,d.use)(g),l=a}else null===q&&(0,d.use)(g),l=q;let r=l;return(0,c.jsx)(f.LayoutRouterContext.Provider,{value:{parentTree:a,parentCacheNode:n,parentSegmentPath:b,parentParams:i,debugNameContext:e,url:j,isActive:k},children:r})}function L({name:a,loading:b,children:e}){let f;if(f="object"==typeof b&&null!==b&&"function"==typeof b.then?(0,d.use)(b):b){let b=f[0],g=f[1],h=f[2];return(0,c.jsx)(d.Suspense,{name:a,fallback:(0,c.jsxs)(c.Fragment,{children:[g,h,b]}),children:e})}return(0,c.jsx)(c.Fragment,{children:e})}function M({parallelRouterKey:a,error:b,errorStyles:e,errorScripts:h,templateStyles:i,templateScripts:j,template:k,notFound:l,forbidden:m,unauthorized:o,segmentViewBoundaries:p}){let q=(0,d.useContext)(f.LayoutRouterContext);if(!q)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:r,parentCacheNode:s,parentSegmentPath:t,parentParams:u,url:v,isActive:A,debugNameContext:B}=q,C=s.parallelRoutes,D=C.get(a);D||(D=new Map,C.set(a,D));let E=r[0],F=null===t?[a]:t.concat([E,a]),G=r[1][a];void 0===G&&(0,d.use)(g);let H=y(G[0],!0),I=function(a,b){let[c,e]=(0,d.useState)(()=>({tree:a,stateKey:b,next:null}));if(c.tree===a)return c;let f={tree:a,stateKey:b,next:null},g=1,h=c,i=f;for(;null!==h&&g<1;){if(h.stateKey===b){i.next=h.next;break}{g++;let a={tree:h.tree,stateKey:h.stateKey,next:null};i.next=a,i=a}h=h.next}return e(f),f}(G,H),M=[];do{let a=I.tree,d=I.stateKey,g=a[0],p=y(g),q=D.get(p)??null,r=u;if(Array.isArray(g)){let a=g[0],b=g[1],c=g[2],d=(0,z.getParamValueFromCacheKey)(b,c);null!==d&&(r={...u,[a]:d})}let t=function(a){if("/"===a)return"/";if("string"==typeof a)if("(slot)"===a)return;else return a+"/";return a[1]+"/"}(g),C=t??B,E=void 0===t?void 0:B,G=s.loading,N=(0,c.jsxs)(f.TemplateContext.Provider,{value:(0,c.jsxs)(J,{segmentPath:F,children:[(0,c.jsx)(n,{errorComponent:b,errorStyles:e,errorScripts:h,children:(0,c.jsx)(L,{name:E,loading:G,children:(0,c.jsx)(x.HTTPAccessFallbackBoundary,{notFound:l,forbidden:m,unauthorized:o,children:(0,c.jsxs)(w,{children:[(0,c.jsx)(K,{url:v,tree:a,params:r,cacheNode:q,segmentPath:F,debugNameContext:C,isActive:A&&d===H}),null]})})})}),null]}),children:[i,j,k]},d);M.push(N),I=I.next}while(null!==I)return M}a.s(["default",()=>M],2420)},24017,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(9270);function e(){let a=(0,c.useContext)(d.TemplateContext);return(0,b.jsx)(b.Fragment,{children:a})}a.s(["default",()=>e])},19107,69825,31539,66119,a=>{"use strict";class b{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}a.s(["ReflectAdapter",()=>b],19107);let c=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function d(a,b){return c.test(b)?`\`${a}.${b}\``:`\`${a}[${JSON.stringify(b)}]\``}function e(a,b){let c=JSON.stringify(b);return`\`Reflect.has(${a}, ${c})\`, \`${c} in ${a}\`, or similar`}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"]);a.s(["describeHasCheckingStringProperty",()=>e,"describeStringPropertyAccess",()=>d,"wellKnownProperties",0,f],69825);var g,h=a.i(72131);let i={current:null},j="function"==typeof h.cache?h.cache:a=>a,k=console.warn;function l(a){return function(...b){k(a(...b))}}j(a=>{try{k(i.current)}finally{i.current=null}}),a.s(["createDedupedByCallsiteServerErrorLoggerDev",()=>l],31539),a.i(28535),a.i(92397);var m=((g={})[g.Before=1]="Before",g[g.Static=2]="Static",g[g.Runtime=3]="Runtime",g[g.Dynamic=4]="Dynamic",g[g.Abandoned=5]="Abandoned",g);a.s(["RenderStage",()=>m],66119)},61737,a=>{"use strict";var b=a.i(19107),c=a.i(24970),d=a.i(32319),e=a.i(28535),f=a.i(92307),g=a.i(31539),h=a.i(69825),i=a.i(28734);function j(a,b){let c=d.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return m(b,c);case"prerender-runtime":throw Object.defineProperty(new e.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new e.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return n(a,b,c)}(0,d.throwInvariantForMissingStore)()}function k(a,b){let f=d.workUnitAsyncStorage.getStore();if(f)switch(f.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return m(b,f);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new e.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":var g,h;return g=a,h=f,(0,c.delayUntilRuntimeStage)(h,r(g));case"request":return n(a,b,f)}(0,d.throwInvariantForMissingStore)()}function l(a){if(a.forceStatic)return Promise.resolve({});let b=d.workUnitAsyncStorage.getStore();if(b)switch(b.type){case"prerender":case"prerender-client":return(0,f.makeHangingPromise)(b.renderSignal,a.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new e.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new e.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,d.throwInvariantForMissingStore)()}function m(a,d){if(a.forceStatic)return Promise.resolve({});switch(d.type){case"prerender":case"prerender-client":var e=a,g=d;let h=o.get(g);if(h)return h;let j=(0,f.makeHangingPromise)(g.renderSignal,e.route,"`searchParams`"),k=new Proxy(j,{get(a,d,e){if(Object.hasOwn(j,d))return b.ReflectAdapter.get(a,d,e);switch(d){case"then":return(0,c.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",g),b.ReflectAdapter.get(a,d,e);case"status":return(0,c.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",g),b.ReflectAdapter.get(a,d,e);default:return b.ReflectAdapter.get(a,d,e)}}});return o.set(g,k),k;case"prerender-ppr":case"prerender-legacy":var l=a,m=d;let n=o.get(l);if(n)return n;let p=Promise.resolve({}),q=new Proxy(p,{get(a,d,e){if(Object.hasOwn(p,d))return b.ReflectAdapter.get(a,d,e);if("string"==typeof d&&"then"===d){let a="`await searchParams`, `searchParams.then`, or similar";if(l.dynamicShouldError){var f=l.route;throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${f} with \`dynamic = "error"\` couldn't be rendered statically because it used ${a}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}"prerender-ppr"===m.type?(0,c.postponeWithTracking)(l.route,a,m.dynamicTracking):(0,c.throwToInterruptStaticGeneration)(a,l,m)}return b.ReflectAdapter.get(a,d,e)}});return o.set(l,q),q;default:return d}}function n(a,b,c){return b.forceStatic?Promise.resolve({}):r(a)}a.i(24725),a.i(66119);let o=new WeakMap,p=new WeakMap;function q(a){let c=p.get(a);if(c)return c;let d=Promise.resolve({}),e=new Proxy(d,{get:function c(e,f,g){return Object.hasOwn(d,f)||"string"!=typeof f||"then"!==f&&h.wellKnownProperties.has(f)||function(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}(a,c),b.ReflectAdapter.get(e,f,g)}});return p.set(a,e),e}function r(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})}),a.s(["createPrerenderSearchParamsForClientPage",()=>l,"createSearchParamsFromClient",()=>j,"createServerSearchParamsForMetadata",0,k,"createServerSearchParamsForServerPage",()=>k,"makeErroringSearchParamsForUseCache",()=>q],61737)},39340,a=>{"use strict";var b=a.i(56704),c=a.i(19107),d=a.i(24970),e=a.i(32319),f=a.i(28535),g=a.i(69825),h=a.i(92307),i=a.i(31539),j=a.i(43285);function k(a,b){let c=e.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return o(a,b,c);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new f.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return s(a)}(0,e.throwInvariantForMissingStore)()}function l(a,b){let c=e.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return o(a,b,c);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return p(a,c);case"request":return s(a)}(0,e.throwInvariantForMissingStore)()}function m(a,b){let c=e.workUnitAsyncStorage.getStore();if(c)switch(c.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return o(a,b,c);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return p(a,c);case"request":return s(a)}(0,e.throwInvariantForMissingStore)()}function n(a){let c=b.workAsyncStorage.getStore();if(!c)throw Object.defineProperty(new f.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let d=e.workUnitAsyncStorage.getStore();if(d)switch(d.type){case"prerender":case"prerender-client":let g=d.fallbackRouteParams;if(g){for(let b in a)if(g.has(b))return(0,h.makeHangingPromise)(d.renderSignal,c.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new f.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(a)}function o(a,b,c){switch(c.type){case"prerender":case"prerender-client":{let d=c.fallbackRouteParams;if(d){for(let e in a)if(d.has(e))return function(a,b,c){let d=q.get(a);if(d)return d;let e=new Proxy((0,h.makeHangingPromise)(c.renderSignal,b.route,"`params`"),r);return q.set(a,e),e}(a,b,c)}break}case"prerender-ppr":{let e=c.fallbackRouteParams;if(e){for(let f in a)if(e.has(f))return function(a,b,c,e){let f=q.get(a);if(f)return f;let h={...a},i=Promise.resolve(h);return q.set(a,i),Object.keys(a).forEach(a=>{g.wellKnownProperties.has(a)||b.has(a)&&Object.defineProperty(h,a,{get(){let b=(0,g.describeStringPropertyAccess)("params",a);"prerender-ppr"===e.type?(0,d.postponeWithTracking)(c.route,b,e.dynamicTracking):(0,d.throwToInterruptStaticGeneration)(b,c,e)},enumerable:!0})}),i}(a,e,b,c)}}}return s(a)}function p(a,b){return(0,d.delayUntilRuntimeStage)(b,s(a))}a.i(66119);let q=new WeakMap,r={get:function(a,b,d){if("then"===b||"catch"===b||"finally"===b){let e=c.ReflectAdapter.get(a,b,d);return({[b]:(...b)=>{let c=j.dynamicAccessAsyncStorage.getStore();return c&&c.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(e.apply(a,b),r)}})[b]}return c.ReflectAdapter.get(a,b,d)}};function s(a){let b=q.get(a);if(b)return b;let c=Promise.resolve(a);return q.set(a,c),c}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})}),a.s(["createParamsFromClient",()=>k,"createPrerenderParamsForClientSegment",()=>n,"createServerParamsForMetadata",0,m,"createServerParamsForRoute",()=>l,"createServerParamsForServerSegment",()=>m])},77682,a=>{"use strict";var b=a.i(87924),c=a.i(28535),d=a.i(9270),e=a.i(72131),f=a.i(60805),g=a.i(36313);function h({Component:h,serverProvidedParams:i}){let j,k;if(null!==i)j=i.searchParams,k=i.params;else{let a=(0,e.use)(d.LayoutRouterContext);k=null!==a?a.parentParams:{},j=(0,f.urlSearchParamsToParsedUrlQuery)((0,e.use)(g.SearchParamsContext))}{let d,e,{workAsyncStorage:f}=a.r(56704),g=f.getStore();if(!g)throw Object.defineProperty(new c.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient:i}=a.r(61737);d=i(j,g);let{createParamsFromClient:l}=a.r(39340);return e=l(k,g),(0,b.jsx)(h,{params:e,searchParams:d})}}a.s(["ClientPageRoot",()=>h])},97296,a=>{"use strict";var b=a.i(87924),c=a.i(28535),d=a.i(9270),e=a.i(72131);function f({Component:f,slots:g,serverProvidedParams:h}){let i;if(null!==h)i=h.params;else{let a=(0,e.use)(d.LayoutRouterContext);i=null!==a?a.parentParams:{}}{let d,{workAsyncStorage:e}=a.r(56704),h=e.getStore();if(!h)throw Object.defineProperty(new c.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient:j}=a.r(39340);return d=j(i,h),(0,b.jsx)(f,{...g,params:d})}}a.s(["ClientSegmentRoot",()=>f])},60704,a=>{"use strict";var b=a.i(87924);a.s(["IconMark",0,()=>(0,b.jsx)("meta",{name:"«nxt-icon»"})])},90574,a=>{"use strict";var b=a.i(27325);let c={[b.METADATA_BOUNDARY_NAME]:function({children:a}){return a},[b.VIEWPORT_BOUNDARY_NAME]:function({children:a}){return a},[b.OUTLET_BOUNDARY_NAME]:function({children:a}){return a},[b.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:a}){return a}},d=c[b.METADATA_BOUNDARY_NAME.slice(0)],e=c[b.VIEWPORT_BOUNDARY_NAME.slice(0)],f=c[b.OUTLET_BOUNDARY_NAME.slice(0)],g=c[b.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)];a.s(["MetadataBoundary",0,d,"OutletBoundary",0,f,"RootLayoutBoundary",0,g,"ViewportBoundary",0,e])}];
|
|
5
5
|
|
|
6
6
|
//# sourceMappingURL=node_modules_next_dist_75125036._.js.map
|