mongoku 2.4.4 → 2.4.5
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/build/client/_app/immutable/assets/0.CEIWAdGZ.css +1 -0
- package/build/client/_app/immutable/assets/0.CEIWAdGZ.css.br +0 -0
- package/build/client/_app/immutable/assets/0.CEIWAdGZ.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{CI_ovvBu.js → 3LgOwb59.js} +1 -1
- package/build/client/_app/immutable/chunks/3LgOwb59.js.br +0 -0
- package/build/client/_app/immutable/chunks/3LgOwb59.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{0x2tqDge.js → BNF3TSWe.js} +1 -1
- package/build/client/_app/immutable/chunks/BNF3TSWe.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNF3TSWe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CH4IMlv6.js +4 -0
- package/build/client/_app/immutable/chunks/CH4IMlv6.js.br +0 -0
- package/build/client/_app/immutable/chunks/CH4IMlv6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DqFgKUuF.js → CMu1ND4u.js} +1 -1
- package/build/client/_app/immutable/chunks/CMu1ND4u.js.br +0 -0
- package/build/client/_app/immutable/chunks/CMu1ND4u.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CeBnCdu0.js +1 -0
- package/build/client/_app/immutable/chunks/CeBnCdu0.js.br +0 -0
- package/build/client/_app/immutable/chunks/CeBnCdu0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{m9KJhr2i.js → CrvogBCO.js} +1 -1
- package/build/client/_app/immutable/chunks/CrvogBCO.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrvogBCO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{SENhER8Y.js → DL_7eGCj.js} +6 -6
- package/build/client/_app/immutable/chunks/DL_7eGCj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DL_7eGCj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/YVSmS-BO.js +1 -0
- package/build/client/_app/immutable/chunks/YVSmS-BO.js.br +0 -0
- package/build/client/_app/immutable/chunks/YVSmS-BO.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.6kvAGzFx.js → app.Bn63r6jq.js} +2 -2
- package/build/client/_app/immutable/entry/app.Bn63r6jq.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Bn63r6jq.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.D-zzQzHa.js +1 -0
- package/build/client/_app/immutable/entry/start.D-zzQzHa.js.br +2 -0
- package/build/client/_app/immutable/entry/start.D-zzQzHa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0._Ka7l4G7.js +1 -0
- package/build/client/_app/immutable/nodes/0._Ka7l4G7.js.br +0 -0
- package/build/client/_app/immutable/nodes/0._Ka7l4G7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.C6-lRSct.js → 1.C_RZUfKy.js} +1 -1
- package/build/client/_app/immutable/nodes/1.C_RZUfKy.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C_RZUfKy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.P_2uCVkV.js +3 -0
- package/build/client/_app/immutable/nodes/10.P_2uCVkV.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.P_2uCVkV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.D6PMR4JE.js → 11.B9LD_pR3.js} +1 -1
- package/build/client/_app/immutable/nodes/11.B9LD_pR3.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.B9LD_pR3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{12.BaG9yS23.js → 12.DtrR4t5w.js} +1 -1
- package/build/client/_app/immutable/nodes/12.DtrR4t5w.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.DtrR4t5w.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.ClrBypIt.js → 13.BYagUX2D.js} +1 -1
- package/build/client/_app/immutable/nodes/13.BYagUX2D.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BYagUX2D.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.C2cwruWu.js → 7.XwiZ31H4.js} +1 -1
- package/build/client/_app/immutable/nodes/7.XwiZ31H4.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.XwiZ31H4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js +1 -0
- package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js +2 -0
- package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-5-SDX-d2.js → 0-DNH-F5x0.js} +4 -4
- package/build/server/chunks/{0-5-SDX-d2.js.map → 0-DNH-F5x0.js.map} +1 -1
- package/build/server/chunks/{1-Cck2Jrzo.js → 1-1_OQTf0e.js} +2 -2
- package/build/server/chunks/{1-Cck2Jrzo.js.map → 1-1_OQTf0e.js.map} +1 -1
- package/build/server/chunks/{10-BV4HPibI.js → 10-4E_aVzT4.js} +58 -36
- package/build/server/chunks/10-4E_aVzT4.js.map +1 -0
- package/build/server/chunks/{11-iazI-4Kb.js → 11-DTyCG8Xj.js} +3 -3
- package/build/server/chunks/{11-iazI-4Kb.js.map → 11-DTyCG8Xj.js.map} +1 -1
- package/build/server/chunks/{12-B0JxHwKO.js → 12-O3oSmD2o.js} +3 -3
- package/build/server/chunks/{12-B0JxHwKO.js.map → 12-O3oSmD2o.js.map} +1 -1
- package/build/server/chunks/{13-IcujVjLI.js → 13-Drp2sCYG.js} +3 -3
- package/build/server/chunks/{13-IcujVjLI.js.map → 13-Drp2sCYG.js.map} +1 -1
- package/build/server/chunks/{7-uVKBumqv.js → 7-DL7-ZmZ2.js} +3 -3
- package/build/server/chunks/{7-uVKBumqv.js.map → 7-DL7-ZmZ2.js.map} +1 -1
- package/build/server/chunks/{8-eWNgFGi6.js → 8-GUonP2Zy.js} +3 -3
- package/build/server/chunks/{8-eWNgFGi6.js.map → 8-GUonP2Zy.js.map} +1 -1
- package/build/server/chunks/{9-C8GLDx_s.js → 9-DQhrhu5o.js} +3 -3
- package/build/server/chunks/{9-C8GLDx_s.js.map → 9-DQhrhu5o.js.map} +1 -1
- package/build/server/chunks/{JsonValue-DiECF6Zd.js → JsonValue-DoGRvQnG.js} +3 -3
- package/build/server/chunks/{JsonValue-DiECF6Zd.js.map → JsonValue-DoGRvQnG.js.map} +1 -1
- package/build/server/chunks/{Panel-DEP08QXV.js → Panel-BHGtM9Vw.js} +2 -2
- package/build/server/chunks/{Panel-DEP08QXV.js.map → Panel-BHGtM9Vw.js.map} +1 -1
- package/build/server/chunks/{PrettyJson-ElzPxPF4.js → PrettyJson-Bnmo1PGg.js} +5 -5
- package/build/server/chunks/{PrettyJson-ElzPxPF4.js.map → PrettyJson-Bnmo1PGg.js.map} +1 -1
- package/build/server/chunks/{Tooltip-DK6Aok7l.js → Tooltip-DAE2mkm6.js} +2 -2
- package/build/server/chunks/{Tooltip-DK6Aok7l.js.map → Tooltip-DAE2mkm6.js.map} +1 -1
- package/build/server/chunks/TooltipTable-xo_OEG9c.js +64 -0
- package/build/server/chunks/TooltipTable-xo_OEG9c.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-CCi6mq1k.js → _layout.svelte-Dji2JJ9X.js} +29 -20
- package/build/server/chunks/_layout.svelte-Dji2JJ9X.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BvjNfjgw.js → _page.svelte-C4rGFSYL.js} +7 -7
- package/build/server/chunks/{_page.svelte-BvjNfjgw.js.map → _page.svelte-C4rGFSYL.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-B4BL5PJR.js → _page.svelte-CJ5HzoD0.js} +4 -4
- package/build/server/chunks/{_page.svelte-B4BL5PJR.js.map → _page.svelte-CJ5HzoD0.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DJFPwyij.js → _page.svelte-ClvvVxpD.js} +101 -35
- package/build/server/chunks/_page.svelte-ClvvVxpD.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DDe4hyAB.js → _page.svelte-D3jyb8d9.js} +6 -6
- package/build/server/chunks/{_page.svelte-DDe4hyAB.js.map → _page.svelte-D3jyb8d9.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BUheieJ5.js → _page.svelte-D9IvgJO5.js} +6 -6
- package/build/server/chunks/{_page.svelte-BUheieJ5.js.map → _page.svelte-D9IvgJO5.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DEe2Kbbw.js → _page.svelte-be8sxgGt.js} +6 -6
- package/build/server/chunks/{_page.svelte-DEe2Kbbw.js.map → _page.svelte-be8sxgGt.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Bj297hp1.js → _page.svelte-x1L5xjgQ.js} +6 -6
- package/build/server/chunks/{_page.svelte-Bj297hp1.js.map → _page.svelte-x1L5xjgQ.js.map} +1 -1
- package/build/server/chunks/{index2-DzKnqQNM.js → index2-eSFyMQpS.js} +2 -2
- package/build/server/chunks/{index2-DzKnqQNM.js.map → index2-eSFyMQpS.js.map} +1 -1
- package/build/server/chunks/{remote-xxtqbu-DBe3CqEJ.js → remote-xxtqbu-ETLGkdRu.js} +2 -2
- package/build/server/chunks/remote-xxtqbu-ETLGkdRu.js.map +1 -0
- package/build/server/chunks/{servers.remote-HDmNH7n4.js → servers.remote-CGies_Na.js} +85 -6
- package/build/server/chunks/servers.remote-CGies_Na.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +11 -11
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/src/api/servers.remote.ts +91 -2
- package/src/app.css +5 -0
- package/src/lib/actions/clickOutside.ts +24 -0
- package/src/lib/components/Breadcrumbs.svelte +5 -19
- package/src/lib/components/SearchBox.svelte +161 -62
- package/src/lib/components/TooltipTable.svelte +4 -2
- package/src/lib/icons/IconChevronDown.svelte +20 -0
- package/src/lib/icons/IconCopy.svelte +21 -0
- package/src/lib/icons/IconEdit.svelte +21 -0
- package/src/lib/icons/IconPlus.svelte +20 -0
- package/src/lib/icons/IconSortReverse.svelte +23 -0
- package/src/lib/stores/breadcrumbs.svelte.ts +17 -0
- package/src/lib/types.ts +2 -0
- package/src/routes/+layout.svelte +12 -1
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +67 -34
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +259 -44
- package/build/client/_app/immutable/assets/0.C-Y-CVnr.css +0 -1
- package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.br +0 -0
- package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0x2tqDge.js.br +0 -0
- package/build/client/_app/immutable/chunks/0x2tqDge.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CI_ovvBu.js.br +0 -0
- package/build/client/_app/immutable/chunks/CI_ovvBu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cp0n7wR5.js +0 -4
- package/build/client/_app/immutable/chunks/Cp0n7wR5.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cp0n7wR5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DqFgKUuF.js.br +0 -0
- package/build/client/_app/immutable/chunks/DqFgKUuF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/MW_nrxc3.js +0 -1
- package/build/client/_app/immutable/chunks/MW_nrxc3.js.br +0 -0
- package/build/client/_app/immutable/chunks/MW_nrxc3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/SENhER8Y.js.br +0 -0
- package/build/client/_app/immutable/chunks/SENhER8Y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/m9KJhr2i.js.br +0 -0
- package/build/client/_app/immutable/chunks/m9KJhr2i.js.gz +0 -0
- package/build/client/_app/immutable/chunks/vsNApJWQ.js +0 -1
- package/build/client/_app/immutable/chunks/vsNApJWQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/vsNApJWQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.6kvAGzFx.js.br +0 -0
- package/build/client/_app/immutable/entry/app.6kvAGzFx.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CNBjelhv.js +0 -1
- package/build/client/_app/immutable/entry/start.CNBjelhv.js.br +0 -2
- package/build/client/_app/immutable/entry/start.CNBjelhv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.ClgWJHZK.js +0 -1
- package/build/client/_app/immutable/nodes/0.ClgWJHZK.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.ClgWJHZK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.C6-lRSct.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C6-lRSct.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.DIGWL6eC.js +0 -1
- package/build/client/_app/immutable/nodes/10.DIGWL6eC.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DIGWL6eC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.D6PMR4JE.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.D6PMR4JE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.BaG9yS23.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.BaG9yS23.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.ClrBypIt.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.ClrBypIt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C2cwruWu.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C2cwruWu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CRDgVKjB.js +0 -1
- package/build/client/_app/immutable/nodes/8.CRDgVKjB.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CRDgVKjB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js +0 -2
- package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js.gz +0 -0
- package/build/server/chunks/10-BV4HPibI.js.map +0 -1
- package/build/server/chunks/TooltipTable-DUYKVtrh.js +0 -60
- package/build/server/chunks/TooltipTable-DUYKVtrh.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CCi6mq1k.js.map +0 -1
- package/build/server/chunks/_page.svelte-DJFPwyij.js.map +0 -1
- package/build/server/chunks/remote-xxtqbu-DBe3CqEJ.js.map +0 -1
- package/build/server/chunks/servers.remote-HDmNH7n4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-B4BL5PJR.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/mappings/_page.svelte.js"],"sourcesContent":["import \"../../../../../../../../../chunks/async.js\";\nimport { x as attr, w as ensure_array_like, z as stringify } from \"../../../../../../../../../chunks/index2.js\";\nimport \"../../../../../../../../../chunks/servers.remote.js\";\nimport { r as resolve } from \"../../../../../../../../../chunks/server2.js\";\nimport { P as Panel } from \"../../../../../../../../../chunks/Panel.js\";\nimport { e as escape_html } from \"../../../../../../../../../chunks/context.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n let mappingsArray = Object.entries(data.mappings).map(([fieldPath, targets]) => ({\n fieldPath,\n targets: Array.isArray(targets) ? targets : [targets]\n }));\n `I need help generating MongoDB collection mappings for my database.\n\n**Context:**\n- Database: ${data.database}\n- Collection: ${data.collection}\n- Available collections: ${data.availableCollections.join(\", \")}\n\n**Task:**\nPlease analyze my codebase to identify relationships between the \"${data.collection}\" collection and other collections. Look for:\n1. Fields that reference documents in other collections (foreign keys)\n2. Nested fields within arrays or objects that reference other documents\n3. Common patterns like userId, authorId, etc.\n\nIf you have access to the MongoDB MCP server, use it to:\n1. Query sample documents from the \"${data.collection}\" collection\n2. Analyze the schema and field types\n3. Identify potential foreign key relationships\n\n**Output Format:**\nCreate a file named \\`${data.collection}.mappings.json\\` with the following structure:\n\n\\`\\`\\`json\n{\n \"_id\": \"${data.collection}\",\n \"mappings\": {\n \"fieldPath\": { \"collection\": \"targetCollection\", \"on\": \"targetField\" },\n \"nested.fieldPath\": { \"collection\": \"targetCollection\", \"on\": \"targetField\" }\n }\n}\n\\`\\`\\`\n\n**Example:**\nIf the collection has documents like:\n\\`\\`\\`json\n{\n \"_id\": \"post1\",\n \"authorId\": \"user123\",\n \"comments\": [\n { \"authorId\": \"user456\", \"text\": \"Great post!\" }\n ]\n}\n\\`\\`\\`\n\nThe mappings would be:\n\\`\\`\\`json\n{\n \"_id\": \"${data.collection}\",\n \"mappings\": {\n \"authorId\": { \"collection\": \"users\", \"on\": \"_id\" },\n \"comments.authorId\": { \"collection\": \"users\", \"on\": \"_id\" }\n }\n}\n\\`\\`\\`\n\n**Notes:**\n- Use dot notation for nested fields (e.g., \"comments.authorId\")\n- Multiple mappings for the same field can be expressed as an array\n- Target field is usually \"_id\" but can be any unique field\n\nPlease analyze the codebase and database, then generate the appropriate mappings file.`;\n {\n let actions = function($$renderer3) {\n $$renderer3.push(`<button class=\"btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]\">🤖 AI Helper</button> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-success btn-sm -my-2 hover:bg-[var(--button-success-l)]\">Save</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Panel($$renderer2, {\n title: `Mappings for ${stringify(data.collection)}`,\n titleClass: \"py-2\",\n actions,\n children: ($$renderer3) => {\n $$renderer3.push(`<div class=\"p-4\"><div class=\"mb-4\"><p class=\"mb-3\">Define relationships between collections to enable hover tooltips and navigation on foreign key fields. This\n\t\t\t\twill be stored in the <code class=\"px-1 bg-[var(--light-background)] rounded\">mongoku.mappings</code> collection\n\t\t\t\tas a document with <a${attr(\"href\", resolve(`/servers/${data.server}/databases/${data.database}/collections/mongoku.mappings/documents/${data.collection}`))} class=\"text-blue-500\">_id: \"${escape_html(data.collection)}\"</a>.</p> <details class=\"mb-2\" style=\"color: var(--text-secondary);\"><summary class=\"cursor-pointer font-medium mb-2\">Example</summary> <div class=\"mt-2\"><div class=\"mb-1\">Document in collection <code class=\"px-1 bg-[var(--light-background)] rounded\">posts</code>:</div> <code class=\"block px-2 py-1 bg-[var(--light-background)] rounded text-xs mb-2\">{ _id: \"post1\", title: \"Hello\", authorId: \"user123\", comments: [{authorId: \"user456\", text:\n\t\t\t\t\t\t\"Nice!\"}] }</code> <div class=\"text space-y-1\"><div>→ Mapping 1: Field path <code class=\"px-1 bg-[var(--light-background)] rounded\">authorId</code>, target\n\t\t\t\t\t\t\tcollection <code class=\"px-1 bg-[var(--light-background)] rounded\">users</code>, target field <code class=\"px-1 bg-[var(--light-background)] rounded\">_id</code></div> <div>→ Mapping 2: Field path <code class=\"px-1 bg-[var(--light-background)] rounded\">comments.authorId</code>,\n\t\t\t\t\t\t\ttarget collection <code class=\"px-1 bg-[var(--light-background)] rounded\">users</code>, target field <code class=\"px-1 bg-[var(--light-background)] rounded\">_id</code></div></div></div></details></div> `);\n if (mappingsArray.length > 0) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<div class=\"space-y-4\"><!--[-->`);\n const each_array = ensure_array_like(mappingsArray);\n for (let entryIndex = 0, $$length = each_array.length; entryIndex < $$length; entryIndex++) {\n let entry = each_array[entryIndex];\n $$renderer3.push(`<div class=\"border border-[var(--border-color)] rounded p-4\"><div class=\"flex items-start gap-4 mb-3\"><div class=\"flex-1\"><label class=\"block text-sm font-medium mb-1\">Field Path <input type=\"text\"${attr(\"value\", entry.fieldPath)} placeholder=\"e.g., authorId or comments.authorId\" class=\"w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1\"${attr(\"disabled\", data.readOnly, true)}/></label></div> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]\">Remove Mapping</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div> <div class=\"space-y-2\"><!--[-->`);\n const each_array_1 = ensure_array_like(entry.targets);\n for (let targetIndex = 0, $$length2 = each_array_1.length; targetIndex < $$length2; targetIndex++) {\n let target = each_array_1[targetIndex];\n $$renderer3.push(`<div class=\"flex items-start gap-2 pl-4 border-l-2 border-[var(--color-3)]\"><div class=\"flex-1\"><label class=\"block text-xs mb-1\">Target Collection `);\n $$renderer3.select(\n {\n value: target.collection,\n class: \"w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1\",\n disabled: data.readOnly\n },\n ($$renderer4) => {\n $$renderer4.option({ value: \"\" }, ($$renderer5) => {\n $$renderer5.push(`Select collection...`);\n });\n $$renderer4.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(data.availableCollections);\n for (let $$index = 0, $$length3 = each_array_2.length; $$index < $$length3; $$index++) {\n let col = each_array_2[$$index];\n $$renderer4.option({ value: col }, ($$renderer5) => {\n $$renderer5.push(`${escape_html(col)}`);\n });\n }\n $$renderer4.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`</label></div> <div class=\"flex-1\"><label class=\"block text-xs mb-1\">Target Field <input type=\"text\"${attr(\"value\", target.on)} placeholder=\"_id\" class=\"w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1\"${attr(\"disabled\", data.readOnly, true)}/></label></div> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]\"${attr(\"disabled\", entry.targets.length === 1, true)}>×</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-light btn-sm mt-2 ml-4 hover:bg-[var(--color-3)]\">+ Add Alternative Target</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`<div class=\"text-center py-8\" style=\"color: var(--text-secondary);\">No mappings defined yet.</div>`);\n }\n $$renderer3.push(`<!--]--> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<div class=\"mt-4\">`);\n {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-success hover:bg-[var(--button-success-l)]\">+ Add New Mapping</button>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n },\n $$slots: { actions: true, default: true }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_page.svelte-CJ5HzoD0.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/mappings/_page.svelte.js"],"sourcesContent":["import \"../../../../../../../../../chunks/async.js\";\nimport { x as attr, w as ensure_array_like, z as stringify } from \"../../../../../../../../../chunks/index2.js\";\nimport \"../../../../../../../../../chunks/servers.remote.js\";\nimport { r as resolve } from \"../../../../../../../../../chunks/server2.js\";\nimport { P as Panel } from \"../../../../../../../../../chunks/Panel.js\";\nimport { e as escape_html } from \"../../../../../../../../../chunks/context.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n let mappingsArray = Object.entries(data.mappings).map(([fieldPath, targets]) => ({\n fieldPath,\n targets: Array.isArray(targets) ? targets : [targets]\n }));\n `I need help generating MongoDB collection mappings for my database.\n\n**Context:**\n- Database: ${data.database}\n- Collection: ${data.collection}\n- Available collections: ${data.availableCollections.join(\", \")}\n\n**Task:**\nPlease analyze my codebase to identify relationships between the \"${data.collection}\" collection and other collections. Look for:\n1. Fields that reference documents in other collections (foreign keys)\n2. Nested fields within arrays or objects that reference other documents\n3. Common patterns like userId, authorId, etc.\n\nIf you have access to the MongoDB MCP server, use it to:\n1. Query sample documents from the \"${data.collection}\" collection\n2. Analyze the schema and field types\n3. Identify potential foreign key relationships\n\n**Output Format:**\nCreate a file named \\`${data.collection}.mappings.json\\` with the following structure:\n\n\\`\\`\\`json\n{\n \"_id\": \"${data.collection}\",\n \"mappings\": {\n \"fieldPath\": { \"collection\": \"targetCollection\", \"on\": \"targetField\" },\n \"nested.fieldPath\": { \"collection\": \"targetCollection\", \"on\": \"targetField\" }\n }\n}\n\\`\\`\\`\n\n**Example:**\nIf the collection has documents like:\n\\`\\`\\`json\n{\n \"_id\": \"post1\",\n \"authorId\": \"user123\",\n \"comments\": [\n { \"authorId\": \"user456\", \"text\": \"Great post!\" }\n ]\n}\n\\`\\`\\`\n\nThe mappings would be:\n\\`\\`\\`json\n{\n \"_id\": \"${data.collection}\",\n \"mappings\": {\n \"authorId\": { \"collection\": \"users\", \"on\": \"_id\" },\n \"comments.authorId\": { \"collection\": \"users\", \"on\": \"_id\" }\n }\n}\n\\`\\`\\`\n\n**Notes:**\n- Use dot notation for nested fields (e.g., \"comments.authorId\")\n- Multiple mappings for the same field can be expressed as an array\n- Target field is usually \"_id\" but can be any unique field\n\nPlease analyze the codebase and database, then generate the appropriate mappings file.`;\n {\n let actions = function($$renderer3) {\n $$renderer3.push(`<button class=\"btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]\">🤖 AI Helper</button> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-success btn-sm -my-2 hover:bg-[var(--button-success-l)]\">Save</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Panel($$renderer2, {\n title: `Mappings for ${stringify(data.collection)}`,\n titleClass: \"py-2\",\n actions,\n children: ($$renderer3) => {\n $$renderer3.push(`<div class=\"p-4\"><div class=\"mb-4\"><p class=\"mb-3\">Define relationships between collections to enable hover tooltips and navigation on foreign key fields. This\n\t\t\t\twill be stored in the <code class=\"px-1 bg-[var(--light-background)] rounded\">mongoku.mappings</code> collection\n\t\t\t\tas a document with <a${attr(\"href\", resolve(`/servers/${data.server}/databases/${data.database}/collections/mongoku.mappings/documents/${data.collection}`))} class=\"text-blue-500\">_id: \"${escape_html(data.collection)}\"</a>.</p> <details class=\"mb-2\" style=\"color: var(--text-secondary);\"><summary class=\"cursor-pointer font-medium mb-2\">Example</summary> <div class=\"mt-2\"><div class=\"mb-1\">Document in collection <code class=\"px-1 bg-[var(--light-background)] rounded\">posts</code>:</div> <code class=\"block px-2 py-1 bg-[var(--light-background)] rounded text-xs mb-2\">{ _id: \"post1\", title: \"Hello\", authorId: \"user123\", comments: [{authorId: \"user456\", text:\n\t\t\t\t\t\t\"Nice!\"}] }</code> <div class=\"text space-y-1\"><div>→ Mapping 1: Field path <code class=\"px-1 bg-[var(--light-background)] rounded\">authorId</code>, target\n\t\t\t\t\t\t\tcollection <code class=\"px-1 bg-[var(--light-background)] rounded\">users</code>, target field <code class=\"px-1 bg-[var(--light-background)] rounded\">_id</code></div> <div>→ Mapping 2: Field path <code class=\"px-1 bg-[var(--light-background)] rounded\">comments.authorId</code>,\n\t\t\t\t\t\t\ttarget collection <code class=\"px-1 bg-[var(--light-background)] rounded\">users</code>, target field <code class=\"px-1 bg-[var(--light-background)] rounded\">_id</code></div></div></div></details></div> `);\n if (mappingsArray.length > 0) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<div class=\"space-y-4\"><!--[-->`);\n const each_array = ensure_array_like(mappingsArray);\n for (let entryIndex = 0, $$length = each_array.length; entryIndex < $$length; entryIndex++) {\n let entry = each_array[entryIndex];\n $$renderer3.push(`<div class=\"border border-[var(--border-color)] rounded p-4\"><div class=\"flex items-start gap-4 mb-3\"><div class=\"flex-1\"><label class=\"block text-sm font-medium mb-1\">Field Path <input type=\"text\"${attr(\"value\", entry.fieldPath)} placeholder=\"e.g., authorId or comments.authorId\" class=\"w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1\"${attr(\"disabled\", data.readOnly, true)}/></label></div> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]\">Remove Mapping</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div> <div class=\"space-y-2\"><!--[-->`);\n const each_array_1 = ensure_array_like(entry.targets);\n for (let targetIndex = 0, $$length2 = each_array_1.length; targetIndex < $$length2; targetIndex++) {\n let target = each_array_1[targetIndex];\n $$renderer3.push(`<div class=\"flex items-start gap-2 pl-4 border-l-2 border-[var(--color-3)]\"><div class=\"flex-1\"><label class=\"block text-xs mb-1\">Target Collection `);\n $$renderer3.select(\n {\n value: target.collection,\n class: \"w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1\",\n disabled: data.readOnly\n },\n ($$renderer4) => {\n $$renderer4.option({ value: \"\" }, ($$renderer5) => {\n $$renderer5.push(`Select collection...`);\n });\n $$renderer4.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(data.availableCollections);\n for (let $$index = 0, $$length3 = each_array_2.length; $$index < $$length3; $$index++) {\n let col = each_array_2[$$index];\n $$renderer4.option({ value: col }, ($$renderer5) => {\n $$renderer5.push(`${escape_html(col)}`);\n });\n }\n $$renderer4.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`</label></div> <div class=\"flex-1\"><label class=\"block text-xs mb-1\">Target Field <input type=\"text\"${attr(\"value\", target.on)} placeholder=\"_id\" class=\"w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1\"${attr(\"disabled\", data.readOnly, true)}/></label></div> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]\"${attr(\"disabled\", entry.targets.length === 1, true)}>×</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-outline-light btn-sm mt-2 ml-4 hover:bg-[var(--color-3)]\">+ Add Alternative Target</button>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(`<div class=\"text-center py-8\" style=\"color: var(--text-secondary);\">No mappings defined yet.</div>`);\n }\n $$renderer3.push(`<!--]--> `);\n if (!data.readOnly) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<div class=\"mt-4\">`);\n {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<button class=\"btn btn-success hover:bg-[var(--button-success-l)]\">+ Add New Mapping</button>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n },\n $$slots: { actions: true, default: true }\n });\n }\n $$renderer2.push(`<!----> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import './async-lVJA8xJZ.js';
|
|
2
|
-
import { c as await_block, a as attr, d as bind_props, e as ensure_array_like } from './index2-
|
|
3
|
-
import { u as updateDocument, d as deleteDocument } from './servers.remote-
|
|
2
|
+
import { c as await_block, a as attr, d as bind_props, b as attr_class, f as clsx, e as ensure_array_like } from './index2-eSFyMQpS.js';
|
|
3
|
+
import { u as updateDocument, d as deleteDocument } from './servers.remote-CGies_Na.js';
|
|
4
4
|
import './exports-Cv9LZeD1.js';
|
|
5
5
|
import './utils-D1ahxout.js';
|
|
6
6
|
import { r as resolve } from './server2-YmCaJGWy.js';
|
|
7
7
|
import './state.svelte-Dm0prnTp.js';
|
|
8
|
-
import { P as Panel } from './Panel-
|
|
9
|
-
import { P as PrettyJson } from './PrettyJson-
|
|
8
|
+
import { P as Panel } from './Panel-BHGtM9Vw.js';
|
|
9
|
+
import { P as PrettyJson } from './PrettyJson-Bnmo1PGg.js';
|
|
10
10
|
import './client-Cp5ag8tA.js';
|
|
11
11
|
import { e as escape_html } from './context-C22hLSHK.js';
|
|
12
12
|
import { n as notificationStore } from './notifications.svelte-CIqkoPWX.js';
|
|
@@ -29,19 +29,28 @@ import 'node:path';
|
|
|
29
29
|
import 'zod';
|
|
30
30
|
import './routing-e10vGH37.js';
|
|
31
31
|
import 'esprima';
|
|
32
|
-
import './JsonValue-
|
|
33
|
-
import './Tooltip-
|
|
32
|
+
import './JsonValue-DoGRvQnG.js';
|
|
33
|
+
import './Tooltip-DAE2mkm6.js';
|
|
34
34
|
import './client2-Dos6p_Xm.js';
|
|
35
35
|
import './index-DFXVwu6p.js';
|
|
36
36
|
|
|
37
|
+
function IconChevronDown($$renderer, $$props) {
|
|
38
|
+
let { class: className = "w-4 h-4" } = $$props;
|
|
39
|
+
$$renderer.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"${attr_class(clsx(className))}><path d="m6 9 6 6 6-6"></path></svg>`);
|
|
40
|
+
}
|
|
41
|
+
function IconEdit($$renderer, $$props) {
|
|
42
|
+
let { class: className = "w-4 h-4" } = $$props;
|
|
43
|
+
$$renderer.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"${attr_class(clsx(className))}><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg>`);
|
|
44
|
+
}
|
|
37
45
|
function SearchBox($$renderer, $$props) {
|
|
38
46
|
$$renderer.component(($$renderer2) => {
|
|
39
47
|
let { params = void 0, editMode = false, readonly = false } = $$props;
|
|
40
48
|
let showOptionalFields = params.sort !== "{}" || params.project !== "{}" || params.skip !== 0 || params.limit !== 20;
|
|
41
49
|
let counter = Math.random();
|
|
42
|
-
|
|
43
|
-
$$renderer2
|
|
44
|
-
|
|
50
|
+
$$renderer2.push(`<div class="rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm p-3 sm:p-4"><form class="flex flex-col gap-3" method="GET" action="?"><div class="flex items-stretch gap-2"><div class="flex-1 flex items-stretch rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><button type="button" class="h-full px-3 flex items-center gap-1 text-[13px] border-r border-[var(--border-color)] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text-secondary);"><span class="capitalize">${escape_html(params.mode)}</span> `);
|
|
51
|
+
IconChevronDown($$renderer2, { class: "w-3 h-3" });
|
|
52
|
+
$$renderer2.push(`<!----></button> `);
|
|
53
|
+
if (params.mode === "aggregation") {
|
|
45
54
|
$$renderer2.push("<!--[-->");
|
|
46
55
|
$$renderer2.push(`<textarea placeholder="[]" name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);">`);
|
|
47
56
|
const $$body = escape_html(params.query);
|
|
@@ -51,33 +60,59 @@ function SearchBox($$renderer, $$props) {
|
|
|
51
60
|
$$renderer2.push(`</textarea>`);
|
|
52
61
|
} else {
|
|
53
62
|
$$renderer2.push("<!--[!-->");
|
|
54
|
-
|
|
63
|
+
if (params.mode === "distinct") {
|
|
64
|
+
$$renderer2.push("<!--[-->");
|
|
65
|
+
$$renderer2.push(`<input type="text"${attr("value", params.field)} name="field" placeholder="field name" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>`);
|
|
66
|
+
} else {
|
|
67
|
+
$$renderer2.push("<!--[!-->");
|
|
68
|
+
$$renderer2.push(`<input type="text"${attr("value", params.query)} placeholder="{}" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>`);
|
|
69
|
+
}
|
|
70
|
+
$$renderer2.push(`<!--]-->`);
|
|
55
71
|
}
|
|
56
|
-
$$renderer2.push(`<!--]--></div> <input type="hidden"${attr("value", counter)} name="v"/> <div class="flex items-center gap-2"><button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer" style="color: var(--text);" title="Toggle optional fields">${escape_html(showOptionalFields ? "−" : "+")}</button> `);
|
|
72
|
+
$$renderer2.push(`<!--]--></div> <input type="hidden"${attr("value", params.mode)} name="mode"/> <input type="hidden"${attr("value", counter)} name="v"/> <div class="flex items-center gap-2"><button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer" style="color: var(--text);" title="Toggle optional fields">${escape_html(showOptionalFields ? "−" : "+")}</button> `);
|
|
57
73
|
if (!readonly) {
|
|
58
74
|
$$renderer2.push("<!--[-->");
|
|
59
|
-
$$renderer2.push(`<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer" style="color: var(--text);"${attr("title",
|
|
75
|
+
$$renderer2.push(`<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer" style="color: var(--text);"${attr("title", params.mode !== "query" ? "Update not available in this mode" : "Update multiple documents")}${attr("disabled", params.mode !== "query", true)}>`);
|
|
76
|
+
IconEdit($$renderer2, { class: "w-4 h-4" });
|
|
77
|
+
$$renderer2.push(`<!----></button>`);
|
|
60
78
|
} else {
|
|
61
79
|
$$renderer2.push("<!--[!-->");
|
|
62
80
|
}
|
|
63
81
|
$$renderer2.push(`<!--]--> <button type="submit" class="h-9 px-4 rounded-xl bg-[var(--button-success)] text-white font-semibold transition cursor-pointer hover:bg-[var(--button-success-l)] active:brightness-95">Go</button></div></div> `);
|
|
64
82
|
if (showOptionalFields) {
|
|
65
83
|
$$renderer2.push("<!--[-->");
|
|
66
|
-
$$renderer2.push(`<div class="grid gap-2 sm:grid-cols-2"
|
|
84
|
+
$$renderer2.push(`<div class="grid gap-2 sm:grid-cols-2">`);
|
|
85
|
+
if (params.mode === "distinct") {
|
|
86
|
+
$$renderer2.push("<!--[-->");
|
|
87
|
+
$$renderer2.push(`<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50 sm:col-span-2"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Filter (optional)</div> <input type="text"${attr("value", params.query)} name="query" placeholder="{}" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>`);
|
|
88
|
+
} else {
|
|
89
|
+
$$renderer2.push("<!--[!-->");
|
|
90
|
+
$$renderer2.push(`<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Sort</div> <input type="text"${attr("value", params.sort)} name="sort" placeholder="{}" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Project</div> <input type="text"${attr("value", params.project)} name="project" placeholder="{}" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>`);
|
|
91
|
+
}
|
|
92
|
+
$$renderer2.push(`<!--]--> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Skip</div> <input type="number"${attr("value", params.skip)} name="skip" min="0" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Limit</div> <input type="number"${attr("value", params.limit)} name="limit" min="1" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div></div>`);
|
|
67
93
|
} else {
|
|
68
94
|
$$renderer2.push("<!--[!-->");
|
|
69
95
|
}
|
|
70
|
-
$$renderer2.push(`<!--]
|
|
71
|
-
|
|
72
|
-
$$renderer2.push("<!--[-->");
|
|
73
|
-
$$renderer2.push(`<div class="text-xs" style="color: var(--text-secondary);">Tip: Use <code class="px-1.5 py-0.5 rounded bg-[var(--color-3)] border border-[var(--border-color)] font-mono">[{...}]</code> to switch to aggregation mode</div>`);
|
|
74
|
-
} else {
|
|
96
|
+
$$renderer2.push(`<!--]--></form></div> `);
|
|
97
|
+
{
|
|
75
98
|
$$renderer2.push("<!--[!-->");
|
|
76
99
|
}
|
|
77
|
-
$$renderer2.push(`<!--]
|
|
100
|
+
$$renderer2.push(`<!--]-->`);
|
|
78
101
|
bind_props($$props, { params, editMode, readonly });
|
|
79
102
|
});
|
|
80
103
|
}
|
|
104
|
+
function IconCopy($$renderer, $$props) {
|
|
105
|
+
let { class: className = "w-4 h-4" } = $$props;
|
|
106
|
+
$$renderer.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"${attr_class(clsx(className))}><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>`);
|
|
107
|
+
}
|
|
108
|
+
function IconPlus($$renderer, $$props) {
|
|
109
|
+
let { class: className = "w-4 h-4" } = $$props;
|
|
110
|
+
$$renderer.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"${attr_class(clsx(className))}><path d="M12 5v14M5 12h14"></path></svg>`);
|
|
111
|
+
}
|
|
112
|
+
function IconSortReverse($$renderer, $$props) {
|
|
113
|
+
let { class: className = "w-4 h-4" } = $$props;
|
|
114
|
+
$$renderer.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"${attr_class(clsx(className))}><path d="M3 6h18"></path><path d="M7 12h10"></path><path d="M10 18h4"></path><path d="m7 16 3 3 3-3"></path></svg>`);
|
|
115
|
+
}
|
|
81
116
|
function previousButton($$renderer, url, onClick) {
|
|
82
117
|
$$renderer.push(`<a${attr("href", resolve(url))} class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline -my-2" style="color: var(--text);">Previous</a>`);
|
|
83
118
|
}
|
|
@@ -92,6 +127,9 @@ function _page($$renderer, $$props) {
|
|
|
92
127
|
let editMode = false;
|
|
93
128
|
let updateQuery = "{}";
|
|
94
129
|
let isUpdating = false;
|
|
130
|
+
let deleteState = {
|
|
131
|
+
isCounting: false
|
|
132
|
+
};
|
|
95
133
|
let modifiedItems = null;
|
|
96
134
|
let items = modifiedItems ? { data: modifiedItems, error: null } : dataPromise;
|
|
97
135
|
async function editDocument(_id, json, items2) {
|
|
@@ -126,8 +164,10 @@ function _page($$renderer, $$props) {
|
|
|
126
164
|
}
|
|
127
165
|
}
|
|
128
166
|
async function removeDocument(_id, items2) {
|
|
129
|
-
const documentId = _id?.$value;
|
|
130
|
-
if (!documentId)
|
|
167
|
+
const documentId = _id?.$value ?? _id;
|
|
168
|
+
if (!documentId || typeof documentId !== "string") {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
131
171
|
try {
|
|
132
172
|
await deleteDocument({
|
|
133
173
|
server: data.server,
|
|
@@ -136,7 +176,7 @@ function _page($$renderer, $$props) {
|
|
|
136
176
|
document: documentId
|
|
137
177
|
});
|
|
138
178
|
notificationStore.notifySuccess("Document removed successfully");
|
|
139
|
-
modifiedItems = items2.filter((item) => item._id?.$value !== documentId);
|
|
179
|
+
modifiedItems = items2.filter((item) => (item._id?.$value ?? item._id) !== documentId);
|
|
140
180
|
} catch (error) {
|
|
141
181
|
notificationStore.notifyError(error, "Failed to remove document");
|
|
142
182
|
}
|
|
@@ -153,7 +193,14 @@ function _page($$renderer, $$props) {
|
|
|
153
193
|
const nextUrl = buildUrl(params.skip + params.limit);
|
|
154
194
|
const previousUrl = buildUrl(Math.max(0, params.skip - params.limit));
|
|
155
195
|
function sortButton($$renderer3) {
|
|
156
|
-
$$renderer3.push(`<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Reverse sort order"
|
|
196
|
+
$$renderer3.push(`<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Reverse sort order">`);
|
|
197
|
+
IconSortReverse($$renderer3, { class: "w-4 h-4" });
|
|
198
|
+
$$renderer3.push(`<!----></button>`);
|
|
199
|
+
}
|
|
200
|
+
function copyButton($$renderer3, items2) {
|
|
201
|
+
$$renderer3.push(`<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Copy distinct values">`);
|
|
202
|
+
IconCopy($$renderer3, { class: "w-4 h-4" });
|
|
203
|
+
$$renderer3.push(`<!----></button>`);
|
|
157
204
|
}
|
|
158
205
|
let $$settled = true;
|
|
159
206
|
let $$inner_renderer;
|
|
@@ -184,14 +231,21 @@ function _page($$renderer, $$props) {
|
|
|
184
231
|
$$renderer4.push(`<div class="p-4 sm:p-6 space-y-6"><div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Insert New Document</h3> `);
|
|
185
232
|
{
|
|
186
233
|
$$renderer4.push("<!--[-->");
|
|
187
|
-
$$renderer4.push(`<button class="btn btn-success"
|
|
234
|
+
$$renderer4.push(`<button class="btn btn-success">`);
|
|
235
|
+
IconPlus($$renderer4, { class: "w-4 h-4 inline mr-2" });
|
|
236
|
+
$$renderer4.push(`<!----> Insert Document</button>`);
|
|
188
237
|
}
|
|
189
238
|
$$renderer4.push(`<!--]--></div> <div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Update Multiple Documents</h3> <div class="space-y-4"><div><label for="update-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to update):</label> <input type="text" id="update-filter"${attr("value", params.query || "{}")} readonly class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed" style="color: var(--text);"/> <p class="text-xs mt-2" style="color: var(--text-secondary);">This filter is taken from the query above. Modify the query to change which documents will be updated.</p></div> <div><label for="update-operation" class="block text-sm font-semibold mb-2" style="color: var(--text);">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder="Update operation" rows="4" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm focus:outline-none focus:ring-2" style="color: var(--text); --tw-ring-color: var(--link);">`);
|
|
190
239
|
const $$body_1 = escape_html(updateQuery);
|
|
191
240
|
if ($$body_1) {
|
|
192
241
|
$$renderer4.push(`${$$body_1}`);
|
|
193
242
|
}
|
|
194
|
-
$$renderer4.push(`</textarea></div> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"${attr("disabled", isUpdating, true)}>${escape_html("Execute Update")}</button></div></div></div> <div class="
|
|
243
|
+
$$renderer4.push(`</textarea></div> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"${attr("disabled", isUpdating, true)}>${escape_html("Execute Update")}</button></div></div></div> <div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Delete Multiple Documents</h3> <div class="space-y-4"><div><label for="delete-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to delete):</label> <input type="text" id="delete-filter"${attr("value", params.query || "{}")} readonly class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed" style="color: var(--text);"/> <p class="text-xs mt-2" style="color: var(--text-secondary);">This filter is taken from the query above. Modify the query to change which documents will be deleted.</p></div> `);
|
|
244
|
+
{
|
|
245
|
+
$$renderer4.push("<!--[-->");
|
|
246
|
+
$$renderer4.push(`<div class="flex gap-3"><button class="btn btn-default"${attr("disabled", deleteState.isCounting, true)}>${escape_html("Check Document Count")}</button></div>`);
|
|
247
|
+
}
|
|
248
|
+
$$renderer4.push(`<!--]--></div></div> <div class="flex justify-end"><button class="btn btn-default hover:bg-[var(--color-3)]">Close Edit Mode</button></div> <div class="text-sm rounded-xl bg-[var(--color-3)]/50 p-4 border border-[var(--border-color)]" style="color: var(--text-secondary);"><p class="mb-2 font-semibold" style="color: var(--text);">Update Operation Examples:</p> <p class="mb-2">• Set a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs">{"$set": {"status": "active"}}</code></p> <p class="mb-2">• Increment a value: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs">{"$inc": {"count": 1}}</code></p> <p>• Unset a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs">{"$unset": {"oldField": ""}}</code></p></div></div>`);
|
|
195
249
|
},
|
|
196
250
|
$$slots: { default: true }
|
|
197
251
|
});
|
|
@@ -211,7 +265,7 @@ function _page($$renderer, $$props) {
|
|
|
211
265
|
$$renderer4.push(`<!--]-->`);
|
|
212
266
|
};
|
|
213
267
|
Panel($$renderer3, {
|
|
214
|
-
title: "Loading documents...",
|
|
268
|
+
title: data.params.mode === "distinct" ? "Loading distinct values..." : "Loading documents...",
|
|
215
269
|
titleClass: "py-1",
|
|
216
270
|
actions,
|
|
217
271
|
$$slots: { actions: true }
|
|
@@ -240,12 +294,18 @@ function _page($$renderer, $$props) {
|
|
|
240
294
|
$$renderer4.push("<!--[!-->");
|
|
241
295
|
}
|
|
242
296
|
$$renderer4.push(`<!--]--> `);
|
|
243
|
-
|
|
244
|
-
|
|
297
|
+
if (data.params.mode === "distinct") {
|
|
298
|
+
$$renderer4.push("<!--[-->");
|
|
299
|
+
copyButton($$renderer4);
|
|
300
|
+
} else {
|
|
301
|
+
$$renderer4.push("<!--[!-->");
|
|
302
|
+
sortButton($$renderer4);
|
|
303
|
+
}
|
|
304
|
+
$$renderer4.push(`<!--]-->`);
|
|
245
305
|
};
|
|
246
306
|
Panel($$renderer3, {
|
|
247
307
|
titleClass: "py-1",
|
|
248
|
-
title: items2.length > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (counting...)` : "No documents",
|
|
308
|
+
title: items2.length > 0 ? data.params.mode === "distinct" ? `${formatNumber(items2.length)} distinct value${items2.length === 1 ? "" : "s"} (counting...)` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (counting...)` : data.params.mode === "distinct" ? "No distinct values" : "No documents",
|
|
249
309
|
actions,
|
|
250
310
|
$$slots: { actions: true }
|
|
251
311
|
});
|
|
@@ -274,11 +334,17 @@ function _page($$renderer, $$props) {
|
|
|
274
334
|
$$renderer4.push("<!--[!-->");
|
|
275
335
|
}
|
|
276
336
|
$$renderer4.push(`<!--]--> `);
|
|
277
|
-
|
|
278
|
-
|
|
337
|
+
if (data.params.mode === "distinct") {
|
|
338
|
+
$$renderer4.push("<!--[-->");
|
|
339
|
+
copyButton($$renderer4);
|
|
340
|
+
} else {
|
|
341
|
+
$$renderer4.push("<!--[!-->");
|
|
342
|
+
sortButton($$renderer4);
|
|
343
|
+
}
|
|
344
|
+
$$renderer4.push(`<!--]-->`);
|
|
279
345
|
};
|
|
280
346
|
Panel($$renderer3, {
|
|
281
|
-
title: items2.length > 0 ? count > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} of ${formatNumber(count)} documents` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} documents (count ${isTimeout ? "timeout" : "unavailable"})` : "No documents",
|
|
347
|
+
title: items2.length > 0 ? data.params.mode === "distinct" ? `${formatNumber(count)} distinct value${count === 1 ? "" : "s"}` : count > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} of ${formatNumber(count)} documents` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} documents (count ${isTimeout ? "timeout" : "unavailable"})` : data.params.mode === "distinct" ? "No distinct values" : "No documents",
|
|
282
348
|
titleClass: "py-1",
|
|
283
349
|
actions,
|
|
284
350
|
$$slots: { actions: true }
|
|
@@ -297,8 +363,8 @@ function _page($$renderer, $$props) {
|
|
|
297
363
|
PrettyJson($$renderer3, {
|
|
298
364
|
json: item,
|
|
299
365
|
autoCollapse: true,
|
|
300
|
-
onedit: data.
|
|
301
|
-
onremove: data.
|
|
366
|
+
onedit: data.params.mode === "aggregation" || data.params.mode === "distinct" || data.readOnly ? void 0 : (json) => editDocument(item._id, json, items2),
|
|
367
|
+
onremove: data.params.mode === "aggregation" || data.params.mode === "distinct" || data.readOnly ? void 0 : () => removeDocument(item._id, items2),
|
|
302
368
|
server: data.server,
|
|
303
369
|
database: data.database,
|
|
304
370
|
collection: data.collection,
|
|
@@ -320,4 +386,4 @@ function _page($$renderer, $$props) {
|
|
|
320
386
|
}
|
|
321
387
|
|
|
322
388
|
export { _page as default };
|
|
323
|
-
//# sourceMappingURL=_page.svelte-
|
|
389
|
+
//# sourceMappingURL=_page.svelte-ClvvVxpD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-ClvvVxpD.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.svelte.js"],"sourcesContent":["import \"../../../../../../../../../chunks/async.js\";\nimport { y as attr_class, J as clsx, x as attr, K as bind_props, G as await_block, w as ensure_array_like } from \"../../../../../../../../../chunks/index2.js\";\nimport { d as deleteDocument, u as updateDocument } from \"../../../../../../../../../chunks/servers.remote.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../../../../../../../chunks/exports.js\";\nimport \"../../../../../../../../../chunks/utils.js\";\nimport { r as resolve } from \"../../../../../../../../../chunks/server2.js\";\nimport \"../../../../../../../../../chunks/state.svelte.js\";\nimport { P as Panel } from \"../../../../../../../../../chunks/Panel.js\";\nimport { P as PrettyJson } from \"../../../../../../../../../chunks/PrettyJson.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../../../../../../../chunks/client.js\";\nimport { e as escape_html } from \"../../../../../../../../../chunks/context.js\";\nimport { n as notificationStore } from \"../../../../../../../../../chunks/notifications.svelte.js\";\nimport { a as formatNumber } from \"../../../../../../../../../chunks/filters.js\";\nimport { p as parseJSON } from \"../../../../../../../../../chunks/jsonParser.js\";\nimport { a as SvelteURLSearchParams } from \"../../../../../../../../../chunks/index-server.js\";\nfunction IconChevronDown($$renderer, $$props) {\n let { class: className = \"w-4 h-4\" } = $$props;\n $$renderer.push(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(clsx(className))}><path d=\"m6 9 6 6 6-6\"></path></svg>`);\n}\nfunction IconEdit($$renderer, $$props) {\n let { class: className = \"w-4 h-4\" } = $$props;\n $$renderer.push(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(clsx(className))}><path d=\"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\"></path><path d=\"m15 5 4 4\"></path></svg>`);\n}\nfunction SearchBox($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { params = void 0, editMode = false, readonly = false } = $$props;\n let showOptionalFields = params.sort !== \"{}\" || params.project !== \"{}\" || params.skip !== 0 || params.limit !== 20;\n let counter = Math.random();\n $$renderer2.push(`<div class=\"rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm p-3 sm:p-4\"><form class=\"flex flex-col gap-3\" method=\"GET\" action=\"?\"><div class=\"flex items-stretch gap-2\"><div class=\"flex-1 flex items-stretch rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50\"><button type=\"button\" class=\"h-full px-3 flex items-center gap-1 text-[13px] border-r border-[var(--border-color)] hover:bg-[var(--color-3)] transition cursor-pointer\" style=\"color: var(--text-secondary);\"><span class=\"capitalize\">${escape_html(params.mode)}</span> `);\n IconChevronDown($$renderer2, { class: \"w-3 h-3\" });\n $$renderer2.push(`<!----></button> `);\n if (params.mode === \"aggregation\") {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<textarea placeholder=\"[]\" name=\"query\" rows=\"5\" class=\"w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1\" style=\"color: var(--text);\">`);\n const $$body = escape_html(params.query);\n if ($$body) {\n $$renderer2.push(`${$$body}`);\n }\n $$renderer2.push(`</textarea>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n if (params.mode === \"distinct\") {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<input type=\"text\"${attr(\"value\", params.field)} name=\"field\" placeholder=\"field name\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<input type=\"text\"${attr(\"value\", params.query)} placeholder=\"{}\" name=\"query\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/>`);\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div> <input type=\"hidden\"${attr(\"value\", params.mode)} name=\"mode\"/> <input type=\"hidden\"${attr(\"value\", counter)} name=\"v\"/> <div class=\"flex items-center gap-2\"><button type=\"button\" class=\"h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer\" style=\"color: var(--text);\" title=\"Toggle optional fields\">${escape_html(showOptionalFields ? \"−\" : \"+\")}</button> `);\n if (!readonly) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<button type=\"button\" class=\"h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer\" style=\"color: var(--text);\"${attr(\"title\", params.mode !== \"query\" ? \"Update not available in this mode\" : \"Update multiple documents\")}${attr(\"disabled\", params.mode !== \"query\", true)}>`);\n IconEdit($$renderer2, { class: \"w-4 h-4\" });\n $$renderer2.push(`<!----></button>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <button type=\"submit\" class=\"h-9 px-4 rounded-xl bg-[var(--button-success)] text-white font-semibold transition cursor-pointer hover:bg-[var(--button-success-l)] active:brightness-95\">Go</button></div></div> `);\n if (showOptionalFields) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"grid gap-2 sm:grid-cols-2\">`);\n if (params.mode === \"distinct\") {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50 sm:col-span-2\"><div class=\"px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]\" style=\"color: var(--text-secondary);\">Filter (optional)</div> <input type=\"text\"${attr(\"value\", params.query)} name=\"query\" placeholder=\"{}\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<div class=\"rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50\"><div class=\"px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]\" style=\"color: var(--text-secondary);\">Sort</div> <input type=\"text\"${attr(\"value\", params.sort)} name=\"sort\" placeholder=\"{}\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/></div> <div class=\"rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50\"><div class=\"px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]\" style=\"color: var(--text-secondary);\">Project</div> <input type=\"text\"${attr(\"value\", params.project)} name=\"project\" placeholder=\"{}\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/></div>`);\n }\n $$renderer2.push(`<!--]--> <div class=\"rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50\"><div class=\"px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]\" style=\"color: var(--text-secondary);\">Skip</div> <input type=\"number\"${attr(\"value\", params.skip)} name=\"skip\" min=\"0\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/></div> <div class=\"rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50\"><div class=\"px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]\" style=\"color: var(--text-secondary);\">Limit</div> <input type=\"number\"${attr(\"value\", params.limit)} name=\"limit\" min=\"1\" class=\"w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1\" style=\"color: var(--text);\"/></div></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></form></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { params, editMode, readonly });\n });\n}\nfunction IconCopy($$renderer, $$props) {\n let { class: className = \"w-4 h-4\" } = $$props;\n $$renderer.push(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(clsx(className))}><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"></rect><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"></path></svg>`);\n}\nfunction IconPlus($$renderer, $$props) {\n let { class: className = \"w-4 h-4\" } = $$props;\n $$renderer.push(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(clsx(className))}><path d=\"M12 5v14M5 12h14\"></path></svg>`);\n}\nfunction IconSortReverse($$renderer, $$props) {\n let { class: className = \"w-4 h-4\" } = $$props;\n $$renderer.push(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(clsx(className))}><path d=\"M3 6h18\"></path><path d=\"M7 12h10\"></path><path d=\"M10 18h4\"></path><path d=\"m7 16 3 3 3-3\"></path></svg>`);\n}\nfunction previousButton($$renderer, url, onClick) {\n $$renderer.push(`<a${attr(\"href\", resolve(url))} class=\"px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline -my-2\" style=\"color: var(--text);\">Previous</a>`);\n}\nfunction nextButton($$renderer, url, onClick) {\n $$renderer.push(`<a${attr(\"href\", resolve(url))} class=\"px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline\" style=\"color: var(--text);\">Next</a>`);\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n let params = { ...data.params };\n let dataPromise = data.results;\n let editMode = false;\n let updateQuery = \"{}\";\n let isUpdating = false;\n let deleteState = {\n isCounting: false\n };\n let modifiedItems = null;\n let items = modifiedItems ? { data: modifiedItems, error: null } : dataPromise;\n async function editDocument(_id, json, items2) {\n const partial = Boolean(params.project && params.project !== \"{}\" && Object.keys(parseJSON(params.project)).length > 0);\n const newId = json?._id?.$value;\n const oldId = _id?.$value;\n if (newId !== oldId) {\n notificationStore.notifyError(\"ObjectId changed. This is not supported, update canceled.\");\n return;\n }\n if (!oldId) return;\n try {\n const result = await updateDocument({\n server: data.server,\n database: data.database,\n collection: data.collection,\n document: oldId,\n value: json,\n partial\n });\n if (result.ok) {\n notificationStore.notifySuccess(\"Document updated successfully\");\n const index = items2.findIndex((item) => item._id?.$value === oldId);\n if (index !== -1) {\n items2[index] = result.update;\n }\n modifiedItems = items2;\n }\n } catch (error) {\n console.error(error);\n notificationStore.notifyError(error, \"Failed to update document\");\n }\n }\n async function removeDocument(_id, items2) {\n const documentId = _id?.$value ?? _id;\n if (!documentId || typeof documentId !== \"string\") {\n return;\n }\n try {\n await deleteDocument({\n server: data.server,\n database: data.database,\n collection: data.collection,\n document: documentId\n });\n notificationStore.notifySuccess(\"Document removed successfully\");\n modifiedItems = items2.filter((item) => (item._id?.$value ?? item._id) !== documentId);\n } catch (error) {\n notificationStore.notifyError(error, \"Failed to remove document\");\n }\n }\n function buildUrl(skip) {\n const queryParams = new SvelteURLSearchParams();\n queryParams.set(\"query\", params.query || \"{}\");\n queryParams.set(\"sort\", params.sort || \"\");\n queryParams.set(\"project\", params.project || \"\");\n queryParams.set(\"skip\", String(skip));\n queryParams.set(\"limit\", String(params.limit));\n return `/servers/${encodeURIComponent(data.server)}/databases/${encodeURIComponent(data.database)}/collections/${encodeURIComponent(data.collection)}/documents?${queryParams.toString()}`;\n }\n const nextUrl = buildUrl(params.skip + params.limit);\n const previousUrl = buildUrl(Math.max(0, params.skip - params.limit));\n function sortButton($$renderer3) {\n $$renderer3.push(`<button class=\"px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition\" style=\"color: var(--text); cursor: pointer;\" title=\"Reverse sort order\">`);\n IconSortReverse($$renderer3, { class: \"w-4 h-4\" });\n $$renderer3.push(`<!----></button>`);\n }\n function copyButton($$renderer3, items2) {\n $$renderer3.push(`<button class=\"px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition\" style=\"color: var(--text); cursor: pointer;\" title=\"Copy distinct values\">`);\n IconCopy($$renderer3, { class: \"w-4 h-4\" });\n $$renderer3.push(`<!----></button>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n SearchBox($$renderer3, {\n readonly: data.readOnly,\n get params() {\n return params;\n },\n set params($$value) {\n params = $$value;\n $$settled = false;\n },\n get editMode() {\n return editMode;\n },\n set editMode($$value) {\n editMode = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n if (editMode) {\n $$renderer3.push(\"<!--[-->\");\n Panel($$renderer3, {\n title: \"Edit Mode\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"p-4 sm:p-6 space-y-6\"><div class=\"rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]\"><h3 class=\"text-lg font-semibold mb-3\" style=\"color: var(--text);\">Insert New Document</h3> `);\n {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<button class=\"btn btn-success\">`);\n IconPlus($$renderer4, { class: \"w-4 h-4 inline mr-2\" });\n $$renderer4.push(`<!----> Insert Document</button>`);\n }\n $$renderer4.push(`<!--]--></div> <div class=\"rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]\"><h3 class=\"text-lg font-semibold mb-3\" style=\"color: var(--text);\">Update Multiple Documents</h3> <div class=\"space-y-4\"><div><label for=\"update-filter\" class=\"block text-sm font-semibold mb-2\" style=\"color: var(--text);\">Filter (which documents to update):</label> <input type=\"text\" id=\"update-filter\"${attr(\"value\", params.query || \"{}\")} readonly class=\"w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed\" style=\"color: var(--text);\"/> <p class=\"text-xs mt-2\" style=\"color: var(--text-secondary);\">This filter is taken from the query above. Modify the query to change which documents will be updated.</p></div> <div><label for=\"update-operation\" class=\"block text-sm font-semibold mb-2\" style=\"color: var(--text);\">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder=\"Update operation\" rows=\"4\" class=\"w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm focus:outline-none focus:ring-2\" style=\"color: var(--text); --tw-ring-color: var(--link);\">`);\n const $$body_1 = escape_html(updateQuery);\n if ($$body_1) {\n $$renderer4.push(`${$$body_1}`);\n }\n $$renderer4.push(`</textarea></div> <div class=\"flex gap-3\"><button class=\"btn btn-success hover:bg-[var(--button-success-l)]\"${attr(\"disabled\", isUpdating, true)}>${escape_html(\"Execute Update\")}</button></div></div></div> <div class=\"rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]\"><h3 class=\"text-lg font-semibold mb-3\" style=\"color: var(--text);\">Delete Multiple Documents</h3> <div class=\"space-y-4\"><div><label for=\"delete-filter\" class=\"block text-sm font-semibold mb-2\" style=\"color: var(--text);\">Filter (which documents to delete):</label> <input type=\"text\" id=\"delete-filter\"${attr(\"value\", params.query || \"{}\")} readonly class=\"w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed\" style=\"color: var(--text);\"/> <p class=\"text-xs mt-2\" style=\"color: var(--text-secondary);\">This filter is taken from the query above. Modify the query to change which documents will be deleted.</p></div> `);\n {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<div class=\"flex gap-3\"><button class=\"btn btn-default\"${attr(\"disabled\", deleteState.isCounting, true)}>${escape_html(\"Check Document Count\")}</button></div>`);\n }\n $$renderer4.push(`<!--]--></div></div> <div class=\"flex justify-end\"><button class=\"btn btn-default hover:bg-[var(--color-3)]\">Close Edit Mode</button></div> <div class=\"text-sm rounded-xl bg-[var(--color-3)]/50 p-4 border border-[var(--border-color)]\" style=\"color: var(--text-secondary);\"><p class=\"mb-2 font-semibold\" style=\"color: var(--text);\">Update Operation Examples:</p> <p class=\"mb-2\">• Set a field: <code class=\"bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs\">{\"$set\": {\"status\": \"active\"}}</code></p> <p class=\"mb-2\">• Increment a value: <code class=\"bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs\">{\"$inc\": {\"count\": 1}}</code></p> <p>• Unset a field: <code class=\"bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs\">{\"$unset\": {\"oldField\": \"\"}}</code></p></div></div>`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> `);\n await_block(\n $$renderer3,\n items,\n () => {\n {\n let actions = function($$renderer4) {\n {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]-->`);\n };\n Panel($$renderer3, {\n title: data.params.mode === \"distinct\" ? \"Loading distinct values...\" : \"Loading documents...\",\n titleClass: \"py-1\",\n actions,\n $$slots: { actions: true }\n });\n }\n },\n (resultsData) => {\n const items2 = resultsData?.data ?? [];\n await_block(\n $$renderer3,\n data.count,\n () => {\n {\n let actions = function($$renderer4) {\n if (data.params.skip > 0) {\n $$renderer4.push(\"<!--[-->\");\n previousButton($$renderer4, previousUrl);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (items2.length >= data.params.limit) {\n $$renderer4.push(\"<!--[-->\");\n nextButton($$renderer4, nextUrl);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (data.params.mode === \"distinct\") {\n $$renderer4.push(\"<!--[-->\");\n copyButton($$renderer4);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n sortButton($$renderer4);\n }\n $$renderer4.push(`<!--]-->`);\n };\n Panel($$renderer3, {\n titleClass: \"py-1\",\n title: items2.length > 0 ? data.params.mode === \"distinct\" ? `${formatNumber(items2.length)} distinct value${items2.length === 1 ? \"\" : \"s\"} (counting...)` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} Documents (counting...)` : data.params.mode === \"distinct\" ? \"No distinct values\" : \"No documents\",\n actions,\n $$slots: { actions: true }\n });\n }\n },\n (countData) => {\n if (data.params) {\n $$renderer3.push(\"<!--[-->\");\n const count = countData.data;\n const hasNext = countData.error ? items2.length >= data.params.limit : data.params.skip + items2.length < count;\n const hasPrevious = data.params.skip > 0;\n const isTimeout = countData.error?.includes(\"operation exceeded time limit\");\n {\n let actions = function($$renderer4) {\n if (hasPrevious) {\n $$renderer4.push(\"<!--[-->\");\n previousButton($$renderer4, previousUrl);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (hasNext) {\n $$renderer4.push(\"<!--[-->\");\n nextButton($$renderer4, nextUrl);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (data.params.mode === \"distinct\") {\n $$renderer4.push(\"<!--[-->\");\n copyButton($$renderer4);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n sortButton($$renderer4);\n }\n $$renderer4.push(`<!--]-->`);\n };\n Panel($$renderer3, {\n title: items2.length > 0 ? data.params.mode === \"distinct\" ? `${formatNumber(count)} distinct value${count === 1 ? \"\" : \"s\"}` : count > 0 ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} of ${formatNumber(count)} documents` : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items2.length)} documents (count ${isTimeout ? \"timeout\" : \"unavailable\"})` : data.params.mode === \"distinct\" ? \"No distinct values\" : \"No documents\",\n titleClass: \"py-1\",\n actions,\n $$slots: { actions: true }\n });\n }\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]--> <!--[-->`);\n const each_array = ensure_array_like(items2);\n for (let index = 0, $$length = each_array.length; index < $$length; index++) {\n let item = each_array[index];\n PrettyJson($$renderer3, {\n json: item,\n autoCollapse: true,\n onedit: data.params.mode === \"aggregation\" || data.params.mode === \"distinct\" || data.readOnly ? void 0 : (json) => editDocument(item._id, json, items2),\n onremove: data.params.mode === \"aggregation\" || data.params.mode === \"distinct\" || data.readOnly ? void 0 : () => removeDocument(item._id, items2),\n server: data.server,\n database: data.database,\n collection: data.collection,\n mappings: data.mappings\n });\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,SAAS,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO;AAChD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,6JAA6J,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;AACrP;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO;AAChD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,6JAA6J,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,oGAAoG,CAAC,CAAC;AACpT;AACA,SAAS,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE;AACxC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AACzE,IAAI,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE;AACxH,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;AAC/B,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,sjBAAsjB,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACjnB,IAAI,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACtD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACzC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE;AACvC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gLAAgL,CAAC,CAAC;AAC1M,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9C,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACrC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;AACrC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AACtC,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,oLAAoL,CAAC,CAAC;AAChQ,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,4KAA4K,CAAC,CAAC;AACxP,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,mCAAmC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,mCAAmC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,0TAA0T,EAAE,WAAW,CAAC,kBAAkB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AACtgB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,sNAAsN,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG,mCAAmC,GAAG,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChZ,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACjD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC1C,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,yNAAyN,CAAC,CAAC;AACjP,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CAAC;AACjE,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AACtC,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,4QAA4Q,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,kLAAkL,CAAC,CAAC;AACxf,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,iPAAiP,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,saAAsa,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,oLAAoL,CAAC,CAAC;AACp6B,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,4PAA4P,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,6ZAA6Z,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,+KAA+K,CAAC,CAAC;AAC75B,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAC9C,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACvD,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO;AAChD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,6JAA6J,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8IAA8I,CAAC,CAAC;AAC9V;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO;AAChD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,6JAA6J,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC;AACzP;AACA,SAAS,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO;AAChD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,6JAA6J,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mHAAmH,CAAC,CAAC;AACnU;AACA,SAAS,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE;AAClD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,2MAA2M,CAAC,CAAC;AAC/P;AACA,SAAS,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE;AAC9C,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iMAAiM,CAAC,CAAC;AACrP;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;AACnC,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO;AAClC,IAAI,IAAI,QAAQ,GAAG,KAAK;AACxB,IAAI,IAAI,WAAW,GAAG,IAAI;AAC1B,IAAI,IAAI,UAAU,GAAG,KAAK;AAC1B,IAAI,IAAI,WAAW,GAAG;AACtB,MAAM,UAAU,EAAE;AAClB,KAAK;AACL,IAAI,IAAI,aAAa,GAAG,IAAI;AAC5B,IAAI,IAAI,KAAK,GAAG,aAAa,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW;AAClF,IAAI,eAAe,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AACnD,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7H,MAAM,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM;AACrC,MAAM,MAAM,KAAK,GAAG,GAAG,EAAE,MAAM;AAC/B,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AAC3B,QAAQ,iBAAiB,CAAC,WAAW,CAAC,2DAA2D,CAAC;AAClG,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,KAAK,EAAE;AAClB,MAAM,IAAI;AACV,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;AAC5C,UAAU,MAAM,EAAE,IAAI,CAAC,MAAM;AAC7B,UAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACjC,UAAU,UAAU,EAAE,IAAI,CAAC,UAAU;AACrC,UAAU,QAAQ,EAAE,KAAK;AACzB,UAAU,KAAK,EAAE,IAAI;AACrB,UAAU;AACV,SAAS,CAAC;AACV,QAAQ,IAAI,MAAM,CAAC,EAAE,EAAE;AACvB,UAAU,iBAAiB,CAAC,aAAa,CAAC,+BAA+B,CAAC;AAC1E,UAAU,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC;AAC9E,UAAU,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAC5B,YAAY,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM;AACzC,UAAU;AACV,UAAU,aAAa,GAAG,MAAM;AAChC,QAAQ;AACR,MAAM,CAAC,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAQ,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,2BAA2B,CAAC;AACzE,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AAC/C,MAAM,MAAM,UAAU,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG;AAC3C,MAAM,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACzD,QAAQ;AACR,MAAM;AACN,MAAM,IAAI;AACV,QAAQ,MAAM,cAAc,CAAC;AAC7B,UAAU,MAAM,EAAE,IAAI,CAAC,MAAM;AAC7B,UAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACjC,UAAU,UAAU,EAAE,IAAI,CAAC,UAAU;AACrC,UAAU,QAAQ,EAAE;AACpB,SAAS,CAAC;AACV,QAAQ,iBAAiB,CAAC,aAAa,CAAC,+BAA+B,CAAC;AACxE,QAAQ,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC;AAC9F,MAAM,CAAC,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,2BAA2B,CAAC;AACzE,MAAM;AACN,IAAI;AACJ,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC5B,MAAM,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE;AACrD,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;AACpD,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;AAChD,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;AACtD,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3C,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpD,MAAM,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChM,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;AACxD,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,SAAS,UAAU,CAAC,WAAW,EAAE;AACrC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,+NAA+N,CAAC,CAAC;AACzP,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACxD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC1C,IAAI;AACJ,IAAI,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE;AAC7C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,iOAAiO,CAAC,CAAC;AAC3P,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACjD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC1C,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,MAAM,SAAS,CAAC,WAAW,EAAE;AAC7B,QAAQ,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC/B,QAAQ,IAAI,MAAM,GAAG;AACrB,UAAU,OAAO,MAAM;AACvB,QAAQ,CAAC;AACT,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC5B,UAAU,MAAM,GAAG,OAAO;AAC1B,UAAU,SAAS,GAAG,KAAK;AAC3B,QAAQ,CAAC;AACT,QAAQ,IAAI,QAAQ,GAAG;AACvB,UAAU,OAAO,QAAQ;AACzB,QAAQ,CAAC;AACT,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC9B,UAAU,QAAQ,GAAG,OAAO;AAC5B,UAAU,SAAS,GAAG,KAAK;AAC3B,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ,KAAK,CAAC,WAAW,EAAE;AAC3B,UAAU,KAAK,EAAE,WAAW;AAC5B,UAAU,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,qNAAqN,CAAC,CAAC;AACrP,YAAY;AACZ,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,gCAAgC,CAAC,CAAC;AAClE,cAAc,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;AACrE,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,gCAAgC,CAAC,CAAC;AAClE,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,qZAAqZ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,8uBAA8uB,CAAC,CAAC;AACzsC,YAAY,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC;AACrD,YAAY,IAAI,QAAQ,EAAE;AAC1B,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC7C,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,4GAA4G,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,kaAAka,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,6VAA6V,CAAC,CAAC;AACv/B,YAAY;AACZ,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,uDAAuD,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC;AAChM,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,05BAA05B,CAAC,CAAC;AAC17B,UAAU,CAAC;AACX,UAAU,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClC,SAAS,CAAC;AACV,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,WAAW;AACjB,QAAQ,WAAW;AACnB,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,UAAU;AACV,YAAY,IAAI,OAAO,GAAG,SAAS,WAAW,EAAE;AAChD,cAAc;AACd,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1C,YAAY,CAAC;AACb,YAAY,KAAK,CAAC,WAAW,EAAE;AAC/B,cAAc,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,GAAG,4BAA4B,GAAG,sBAAsB;AAC5G,cAAc,UAAU,EAAE,MAAM;AAChC,cAAc,OAAO;AACrB,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,CAAC,WAAW,KAAK;AACzB,UAAU,MAAM,MAAM,GAAG,WAAW,EAAE,IAAI,IAAI,EAAE;AAChD,UAAU,WAAW;AACrB,YAAY,WAAW;AACvB,YAAY,IAAI,CAAC,KAAK;AACtB,YAAY,MAAM;AAClB,cAAc;AACd,gBAAgB,IAAI,OAAO,GAAG,SAAS,WAAW,EAAE;AACpD,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;AAC5C,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC;AAC5D,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,kBAAkB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AAC1D,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;AACpD,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AACvD,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,UAAU,CAAC,WAAW,CAAC;AAC3C,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,UAAU,CAAC,WAAW,CAAC;AAC3C,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C,gBAAgB,CAAC;AACjB,gBAAgB,KAAK,CAAC,WAAW,EAAE;AACnC,kBAAkB,UAAU,EAAE,MAAM;AACpC,kBAAkB,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,GAAG,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,GAAG,oBAAoB,GAAG,cAAc;AAC7W,kBAAkB,OAAO;AACzB,kBAAkB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC1C,iBAAiB,CAAC;AAClB,cAAc;AACd,YAAY,CAAC;AACb,YAAY,CAAC,SAAS,KAAK;AAC3B,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE;AAC/B,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI;AAC5C,gBAAgB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK;AAC/H,gBAAgB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;AACxD,gBAAgB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC;AAC5F,gBAAgB;AAChB,kBAAkB,IAAI,OAAO,GAAG,SAAS,WAAW,EAAE;AACtD,oBAAoB,IAAI,WAAW,EAAE;AACrC,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,sBAAsB,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC;AAC9D,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjD,oBAAoB,IAAI,OAAO,EAAE;AACjC,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,sBAAsB,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;AACtD,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjD,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AACzD,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,sBAAsB,UAAU,CAAC,WAAW,CAAC;AAC7C,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,UAAU,CAAC,WAAW,CAAC;AAC7C,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,kBAAkB,CAAC;AACnB,kBAAkB,KAAK,CAAC,WAAW,EAAE;AACrC,oBAAoB,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,GAAG,oBAAoB,GAAG,cAAc;AAClgB,oBAAoB,UAAU,EAAE,MAAM;AACtC,oBAAoB,OAAO;AAC3B,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,gBAAgB;AAChB,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1C,YAAY;AACZ,WAAW;AACX,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC/C,UAAU,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC;AACtD,UAAU,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE;AACvF,YAAY,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;AACxC,YAAY,UAAU,CAAC,WAAW,EAAE;AACpC,cAAc,IAAI,EAAE,IAAI;AACxB,cAAc,YAAY,EAAE,IAAI;AAChC,cAAc,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC;AACtK,cAAc,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;AAChK,cAAc,MAAM,EAAE,IAAI,CAAC,MAAM;AACjC,cAAc,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACrC,cAAc,UAAU,EAAE,IAAI,CAAC,UAAU;AACzC,cAAc,QAAQ,EAAE,IAAI,CAAC;AAC7B,aAAa,CAAC;AACd,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAQ;AACR,OAAO;AACP,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,IAAI;AACJ,IAAI,GAAG;AACP,MAAM,SAAS,GAAG,IAAI;AACtB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE;AAC3C,MAAM,cAAc,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,QAAQ,CAAC,SAAS;AACvB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import './async-lVJA8xJZ.js';
|
|
2
|
-
import { c as await_block, a as attr, e as ensure_array_like, b as attr_class } from './index2-
|
|
3
|
-
import './servers.remote-
|
|
2
|
+
import { c as await_block, a as attr, e as ensure_array_like, b as attr_class } from './index2-eSFyMQpS.js';
|
|
3
|
+
import './servers.remote-CGies_Na.js';
|
|
4
4
|
import './exports-Cv9LZeD1.js';
|
|
5
5
|
import './utils-D1ahxout.js';
|
|
6
6
|
import './state.svelte-Dm0prnTp.js';
|
|
7
7
|
import './client-Cp5ag8tA.js';
|
|
8
|
-
import { J as JsonValue_1 } from './JsonValue-
|
|
8
|
+
import { J as JsonValue_1 } from './JsonValue-DoGRvQnG.js';
|
|
9
9
|
import { M as Modal } from './Modal-BzZ9u6V6.js';
|
|
10
|
-
import { P as Panel } from './Panel-
|
|
10
|
+
import { P as Panel } from './Panel-BHGtM9Vw.js';
|
|
11
11
|
import { f as formatBytes } from './filters-CbFjTNFI.js';
|
|
12
12
|
import { e as escape_html } from './context-C22hLSHK.js';
|
|
13
13
|
import './shared-CQd3A1I4.js';
|
|
@@ -28,7 +28,7 @@ import 'node:path';
|
|
|
28
28
|
import 'zod';
|
|
29
29
|
import './client2-Dos6p_Xm.js';
|
|
30
30
|
import './index-DFXVwu6p.js';
|
|
31
|
-
import './Tooltip-
|
|
31
|
+
import './Tooltip-DAE2mkm6.js';
|
|
32
32
|
|
|
33
33
|
function formatSignificantDigits(value, digits = 3) {
|
|
34
34
|
if (value === 0) return "0";
|
|
@@ -384,4 +384,4 @@ function _page($$renderer, $$props) {
|
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
export { _page as default };
|
|
387
|
-
//# sourceMappingURL=_page.svelte-
|
|
387
|
+
//# sourceMappingURL=_page.svelte-D3jyb8d9.js.map
|