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.
Files changed (190) hide show
  1. package/build/client/_app/immutable/assets/0.CEIWAdGZ.css +1 -0
  2. package/build/client/_app/immutable/assets/0.CEIWAdGZ.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.CEIWAdGZ.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{CI_ovvBu.js → 3LgOwb59.js} +1 -1
  5. package/build/client/_app/immutable/chunks/3LgOwb59.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/3LgOwb59.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{0x2tqDge.js → BNF3TSWe.js} +1 -1
  8. package/build/client/_app/immutable/chunks/BNF3TSWe.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BNF3TSWe.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/CH4IMlv6.js +4 -0
  11. package/build/client/_app/immutable/chunks/CH4IMlv6.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CH4IMlv6.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{DqFgKUuF.js → CMu1ND4u.js} +1 -1
  14. package/build/client/_app/immutable/chunks/CMu1ND4u.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/CMu1ND4u.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/CeBnCdu0.js +1 -0
  17. package/build/client/_app/immutable/chunks/CeBnCdu0.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CeBnCdu0.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{m9KJhr2i.js → CrvogBCO.js} +1 -1
  20. package/build/client/_app/immutable/chunks/CrvogBCO.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/CrvogBCO.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{SENhER8Y.js → DL_7eGCj.js} +6 -6
  23. package/build/client/_app/immutable/chunks/DL_7eGCj.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DL_7eGCj.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/YVSmS-BO.js +1 -0
  26. package/build/client/_app/immutable/chunks/YVSmS-BO.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/YVSmS-BO.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/{app.6kvAGzFx.js → app.Bn63r6jq.js} +2 -2
  29. package/build/client/_app/immutable/entry/app.Bn63r6jq.js.br +0 -0
  30. package/build/client/_app/immutable/entry/app.Bn63r6jq.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/start.D-zzQzHa.js +1 -0
  32. package/build/client/_app/immutable/entry/start.D-zzQzHa.js.br +2 -0
  33. package/build/client/_app/immutable/entry/start.D-zzQzHa.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/0._Ka7l4G7.js +1 -0
  35. package/build/client/_app/immutable/nodes/0._Ka7l4G7.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/0._Ka7l4G7.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{1.C6-lRSct.js → 1.C_RZUfKy.js} +1 -1
  38. package/build/client/_app/immutable/nodes/1.C_RZUfKy.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/1.C_RZUfKy.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/10.P_2uCVkV.js +3 -0
  41. package/build/client/_app/immutable/nodes/10.P_2uCVkV.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/10.P_2uCVkV.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{11.D6PMR4JE.js → 11.B9LD_pR3.js} +1 -1
  44. package/build/client/_app/immutable/nodes/11.B9LD_pR3.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/11.B9LD_pR3.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{12.BaG9yS23.js → 12.DtrR4t5w.js} +1 -1
  47. package/build/client/_app/immutable/nodes/12.DtrR4t5w.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/12.DtrR4t5w.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{13.ClrBypIt.js → 13.BYagUX2D.js} +1 -1
  50. package/build/client/_app/immutable/nodes/13.BYagUX2D.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/13.BYagUX2D.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{7.C2cwruWu.js → 7.XwiZ31H4.js} +1 -1
  53. package/build/client/_app/immutable/nodes/7.XwiZ31H4.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/7.XwiZ31H4.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js +1 -0
  56. package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/8.Cgq8c1Pf.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js +2 -0
  59. package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/9.ClN4Gbvd.js.gz +0 -0
  61. package/build/client/_app/version.json +1 -1
  62. package/build/client/_app/version.json.br +0 -0
  63. package/build/client/_app/version.json.gz +0 -0
  64. package/build/server/chunks/{0-5-SDX-d2.js → 0-DNH-F5x0.js} +4 -4
  65. package/build/server/chunks/{0-5-SDX-d2.js.map → 0-DNH-F5x0.js.map} +1 -1
  66. package/build/server/chunks/{1-Cck2Jrzo.js → 1-1_OQTf0e.js} +2 -2
  67. package/build/server/chunks/{1-Cck2Jrzo.js.map → 1-1_OQTf0e.js.map} +1 -1
  68. package/build/server/chunks/{10-BV4HPibI.js → 10-4E_aVzT4.js} +58 -36
  69. package/build/server/chunks/10-4E_aVzT4.js.map +1 -0
  70. package/build/server/chunks/{11-iazI-4Kb.js → 11-DTyCG8Xj.js} +3 -3
  71. package/build/server/chunks/{11-iazI-4Kb.js.map → 11-DTyCG8Xj.js.map} +1 -1
  72. package/build/server/chunks/{12-B0JxHwKO.js → 12-O3oSmD2o.js} +3 -3
  73. package/build/server/chunks/{12-B0JxHwKO.js.map → 12-O3oSmD2o.js.map} +1 -1
  74. package/build/server/chunks/{13-IcujVjLI.js → 13-Drp2sCYG.js} +3 -3
  75. package/build/server/chunks/{13-IcujVjLI.js.map → 13-Drp2sCYG.js.map} +1 -1
  76. package/build/server/chunks/{7-uVKBumqv.js → 7-DL7-ZmZ2.js} +3 -3
  77. package/build/server/chunks/{7-uVKBumqv.js.map → 7-DL7-ZmZ2.js.map} +1 -1
  78. package/build/server/chunks/{8-eWNgFGi6.js → 8-GUonP2Zy.js} +3 -3
  79. package/build/server/chunks/{8-eWNgFGi6.js.map → 8-GUonP2Zy.js.map} +1 -1
  80. package/build/server/chunks/{9-C8GLDx_s.js → 9-DQhrhu5o.js} +3 -3
  81. package/build/server/chunks/{9-C8GLDx_s.js.map → 9-DQhrhu5o.js.map} +1 -1
  82. package/build/server/chunks/{JsonValue-DiECF6Zd.js → JsonValue-DoGRvQnG.js} +3 -3
  83. package/build/server/chunks/{JsonValue-DiECF6Zd.js.map → JsonValue-DoGRvQnG.js.map} +1 -1
  84. package/build/server/chunks/{Panel-DEP08QXV.js → Panel-BHGtM9Vw.js} +2 -2
  85. package/build/server/chunks/{Panel-DEP08QXV.js.map → Panel-BHGtM9Vw.js.map} +1 -1
  86. package/build/server/chunks/{PrettyJson-ElzPxPF4.js → PrettyJson-Bnmo1PGg.js} +5 -5
  87. package/build/server/chunks/{PrettyJson-ElzPxPF4.js.map → PrettyJson-Bnmo1PGg.js.map} +1 -1
  88. package/build/server/chunks/{Tooltip-DK6Aok7l.js → Tooltip-DAE2mkm6.js} +2 -2
  89. package/build/server/chunks/{Tooltip-DK6Aok7l.js.map → Tooltip-DAE2mkm6.js.map} +1 -1
  90. package/build/server/chunks/TooltipTable-xo_OEG9c.js +64 -0
  91. package/build/server/chunks/TooltipTable-xo_OEG9c.js.map +1 -0
  92. package/build/server/chunks/{_layout.svelte-CCi6mq1k.js → _layout.svelte-Dji2JJ9X.js} +29 -20
  93. package/build/server/chunks/_layout.svelte-Dji2JJ9X.js.map +1 -0
  94. package/build/server/chunks/{_page.svelte-BvjNfjgw.js → _page.svelte-C4rGFSYL.js} +7 -7
  95. package/build/server/chunks/{_page.svelte-BvjNfjgw.js.map → _page.svelte-C4rGFSYL.js.map} +1 -1
  96. package/build/server/chunks/{_page.svelte-B4BL5PJR.js → _page.svelte-CJ5HzoD0.js} +4 -4
  97. package/build/server/chunks/{_page.svelte-B4BL5PJR.js.map → _page.svelte-CJ5HzoD0.js.map} +1 -1
  98. package/build/server/chunks/{_page.svelte-DJFPwyij.js → _page.svelte-ClvvVxpD.js} +101 -35
  99. package/build/server/chunks/_page.svelte-ClvvVxpD.js.map +1 -0
  100. package/build/server/chunks/{_page.svelte-DDe4hyAB.js → _page.svelte-D3jyb8d9.js} +6 -6
  101. package/build/server/chunks/{_page.svelte-DDe4hyAB.js.map → _page.svelte-D3jyb8d9.js.map} +1 -1
  102. package/build/server/chunks/{_page.svelte-BUheieJ5.js → _page.svelte-D9IvgJO5.js} +6 -6
  103. package/build/server/chunks/{_page.svelte-BUheieJ5.js.map → _page.svelte-D9IvgJO5.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-DEe2Kbbw.js → _page.svelte-be8sxgGt.js} +6 -6
  105. package/build/server/chunks/{_page.svelte-DEe2Kbbw.js.map → _page.svelte-be8sxgGt.js.map} +1 -1
  106. package/build/server/chunks/{_page.svelte-Bj297hp1.js → _page.svelte-x1L5xjgQ.js} +6 -6
  107. package/build/server/chunks/{_page.svelte-Bj297hp1.js.map → _page.svelte-x1L5xjgQ.js.map} +1 -1
  108. package/build/server/chunks/{index2-DzKnqQNM.js → index2-eSFyMQpS.js} +2 -2
  109. package/build/server/chunks/{index2-DzKnqQNM.js.map → index2-eSFyMQpS.js.map} +1 -1
  110. package/build/server/chunks/{remote-xxtqbu-DBe3CqEJ.js → remote-xxtqbu-ETLGkdRu.js} +2 -2
  111. package/build/server/chunks/remote-xxtqbu-ETLGkdRu.js.map +1 -0
  112. package/build/server/chunks/{servers.remote-HDmNH7n4.js → servers.remote-CGies_Na.js} +85 -6
  113. package/build/server/chunks/servers.remote-CGies_Na.js.map +1 -0
  114. package/build/server/index.js +2 -2
  115. package/build/server/index.js.map +1 -1
  116. package/build/server/manifest.js +11 -11
  117. package/build/server/manifest.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/api/servers.remote.ts +91 -2
  120. package/src/app.css +5 -0
  121. package/src/lib/actions/clickOutside.ts +24 -0
  122. package/src/lib/components/Breadcrumbs.svelte +5 -19
  123. package/src/lib/components/SearchBox.svelte +161 -62
  124. package/src/lib/components/TooltipTable.svelte +4 -2
  125. package/src/lib/icons/IconChevronDown.svelte +20 -0
  126. package/src/lib/icons/IconCopy.svelte +21 -0
  127. package/src/lib/icons/IconEdit.svelte +21 -0
  128. package/src/lib/icons/IconPlus.svelte +20 -0
  129. package/src/lib/icons/IconSortReverse.svelte +23 -0
  130. package/src/lib/stores/breadcrumbs.svelte.ts +17 -0
  131. package/src/lib/types.ts +2 -0
  132. package/src/routes/+layout.svelte +12 -1
  133. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +67 -34
  134. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +259 -44
  135. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css +0 -1
  136. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.br +0 -0
  137. package/build/client/_app/immutable/assets/0.C-Y-CVnr.css.gz +0 -0
  138. package/build/client/_app/immutable/chunks/0x2tqDge.js.br +0 -0
  139. package/build/client/_app/immutable/chunks/0x2tqDge.js.gz +0 -0
  140. package/build/client/_app/immutable/chunks/CI_ovvBu.js.br +0 -0
  141. package/build/client/_app/immutable/chunks/CI_ovvBu.js.gz +0 -0
  142. package/build/client/_app/immutable/chunks/Cp0n7wR5.js +0 -4
  143. package/build/client/_app/immutable/chunks/Cp0n7wR5.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/Cp0n7wR5.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/DqFgKUuF.js.br +0 -0
  146. package/build/client/_app/immutable/chunks/DqFgKUuF.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/MW_nrxc3.js +0 -1
  148. package/build/client/_app/immutable/chunks/MW_nrxc3.js.br +0 -0
  149. package/build/client/_app/immutable/chunks/MW_nrxc3.js.gz +0 -0
  150. package/build/client/_app/immutable/chunks/SENhER8Y.js.br +0 -0
  151. package/build/client/_app/immutable/chunks/SENhER8Y.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/m9KJhr2i.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/m9KJhr2i.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/vsNApJWQ.js +0 -1
  155. package/build/client/_app/immutable/chunks/vsNApJWQ.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/vsNApJWQ.js.gz +0 -0
  157. package/build/client/_app/immutable/entry/app.6kvAGzFx.js.br +0 -0
  158. package/build/client/_app/immutable/entry/app.6kvAGzFx.js.gz +0 -0
  159. package/build/client/_app/immutable/entry/start.CNBjelhv.js +0 -1
  160. package/build/client/_app/immutable/entry/start.CNBjelhv.js.br +0 -2
  161. package/build/client/_app/immutable/entry/start.CNBjelhv.js.gz +0 -0
  162. package/build/client/_app/immutable/nodes/0.ClgWJHZK.js +0 -1
  163. package/build/client/_app/immutable/nodes/0.ClgWJHZK.js.br +0 -0
  164. package/build/client/_app/immutable/nodes/0.ClgWJHZK.js.gz +0 -0
  165. package/build/client/_app/immutable/nodes/1.C6-lRSct.js.br +0 -0
  166. package/build/client/_app/immutable/nodes/1.C6-lRSct.js.gz +0 -0
  167. package/build/client/_app/immutable/nodes/10.DIGWL6eC.js +0 -1
  168. package/build/client/_app/immutable/nodes/10.DIGWL6eC.js.br +0 -0
  169. package/build/client/_app/immutable/nodes/10.DIGWL6eC.js.gz +0 -0
  170. package/build/client/_app/immutable/nodes/11.D6PMR4JE.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/11.D6PMR4JE.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/12.BaG9yS23.js.br +0 -0
  173. package/build/client/_app/immutable/nodes/12.BaG9yS23.js.gz +0 -0
  174. package/build/client/_app/immutable/nodes/13.ClrBypIt.js.br +0 -0
  175. package/build/client/_app/immutable/nodes/13.ClrBypIt.js.gz +0 -0
  176. package/build/client/_app/immutable/nodes/7.C2cwruWu.js.br +0 -0
  177. package/build/client/_app/immutable/nodes/7.C2cwruWu.js.gz +0 -0
  178. package/build/client/_app/immutable/nodes/8.CRDgVKjB.js +0 -1
  179. package/build/client/_app/immutable/nodes/8.CRDgVKjB.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/8.CRDgVKjB.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js +0 -2
  182. package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/9.X5vwJ8aD.js.gz +0 -0
  184. package/build/server/chunks/10-BV4HPibI.js.map +0 -1
  185. package/build/server/chunks/TooltipTable-DUYKVtrh.js +0 -60
  186. package/build/server/chunks/TooltipTable-DUYKVtrh.js.map +0 -1
  187. package/build/server/chunks/_layout.svelte-CCi6mq1k.js.map +0 -1
  188. package/build/server/chunks/_page.svelte-DJFPwyij.js.map +0 -1
  189. package/build/server/chunks/remote-xxtqbu-DBe3CqEJ.js.map +0 -1
  190. 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-DzKnqQNM.js';
3
- import { u as updateDocument, d as deleteDocument } from './servers.remote-HDmNH7n4.js';
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-DEP08QXV.js';
9
- import { P as PrettyJson } from './PrettyJson-ElzPxPF4.js';
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-DiECF6Zd.js';
33
- import './Tooltip-DK6Aok7l.js';
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
- let isAggregation = params.query?.trimStart().startsWith("[");
43
- $$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"><div class="px-3 flex items-center text-[13px] border-r border-[var(--border-color)]" style="color: var(--text-secondary);">${escape_html(isAggregation ? "Aggregation" : "Query")}</div> `);
44
- if (isAggregation) {
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
- $$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);"/>`);
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", isAggregation ? "Update not available in aggregation mode" : "Update multiple documents")}${attr("disabled", isAggregation, true)}><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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></button>`);
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"><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> <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>`);
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
- if (!showOptionalFields && !isAggregation && params.query === "{}") {
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(`<!--]--></form></div>`);
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) return;
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"><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" class="w-4 h-4"><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></button>`);
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"><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" class="w-4 h-4 inline mr-2"><path d="M12 5v14M5 12h14"></path></svg> Insert Document</button>`);
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="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>`);
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
- sortButton($$renderer4);
244
- $$renderer4.push(`<!---->`);
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
- sortButton($$renderer4);
278
- $$renderer4.push(`<!---->`);
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.isAggregation || data.readOnly ? void 0 : (json) => editDocument(item._id, json, items2),
301
- onremove: data.isAggregation || data.readOnly ? void 0 : () => removeDocument(item._id, items2),
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-DJFPwyij.js.map
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":"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"}
@@ -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-DzKnqQNM.js';
3
- import './servers.remote-HDmNH7n4.js';
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-DiECF6Zd.js';
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-DEP08QXV.js';
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-DK6Aok7l.js';
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-DDe4hyAB.js.map
387
+ //# sourceMappingURL=_page.svelte-D3jyb8d9.js.map