mongoku 2.2.4 → 2.3.0

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 (351) hide show
  1. package/build/client/_app/immutable/assets/0.BXOUh4Q1.css +1 -0
  2. package/build/client/_app/immutable/assets/0.BXOUh4Q1.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.BXOUh4Q1.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/10.BrydhPds.css +1 -0
  5. package/build/client/_app/immutable/assets/10.BrydhPds.css.br +0 -0
  6. package/build/client/_app/immutable/assets/10.BrydhPds.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/12.B90SyvCO.css +1 -0
  8. package/build/client/_app/immutable/assets/12.B90SyvCO.css.br +0 -0
  9. package/build/client/_app/immutable/assets/12.B90SyvCO.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/Modal.zD4dMMyk.css +1 -0
  11. package/build/client/_app/immutable/assets/Modal.zD4dMMyk.css.br +0 -0
  12. package/build/client/_app/immutable/assets/Modal.zD4dMMyk.css.gz +0 -0
  13. package/build/client/_app/immutable/chunks/AIOqEo5H.js +1 -0
  14. package/build/client/_app/immutable/chunks/AIOqEo5H.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/AIOqEo5H.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{D7E46CWw.js → BEYqxaXI.js} +1 -1
  17. package/build/client/_app/immutable/chunks/BEYqxaXI.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BEYqxaXI.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BJqoLy3B.js +2 -0
  20. package/build/client/_app/immutable/chunks/BJqoLy3B.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/BJqoLy3B.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{DR9xdhsg.js → BXaawuvz.js} +1 -1
  23. package/build/client/_app/immutable/chunks/BXaawuvz.js.br +2 -0
  24. package/build/client/_app/immutable/chunks/BXaawuvz.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{D4iRRB8h.js → BgGFWTC8.js} +1 -1
  26. package/build/client/_app/immutable/chunks/BgGFWTC8.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BgGFWTC8.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{5nAxkTTP.js → Bpmh7lVJ.js} +1 -1
  29. package/build/client/_app/immutable/chunks/Bpmh7lVJ.js.br +6 -0
  30. package/build/client/_app/immutable/chunks/Bpmh7lVJ.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BrrIPcne.js +1 -0
  32. package/build/client/_app/immutable/chunks/BrrIPcne.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BrrIPcne.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/{BUNgwIS0.js → ByHQcyQR.js} +1 -1
  35. package/build/client/_app/immutable/chunks/ByHQcyQR.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/ByHQcyQR.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/{Dx56OlI-.js → C6AfvKtU.js} +1 -1
  38. package/build/client/_app/immutable/chunks/C6AfvKtU.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/C6AfvKtU.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/COPDkxhL.js +29 -0
  41. package/build/client/_app/immutable/chunks/COPDkxhL.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/COPDkxhL.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/{3iRu_dUj.js → CTHGUrxr.js} +2 -2
  44. package/build/client/_app/immutable/chunks/CTHGUrxr.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/CTHGUrxr.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/{BQEBQyfZ.js → Cotvfu8-.js} +1 -1
  47. package/build/client/_app/immutable/chunks/Cotvfu8-.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/Cotvfu8-.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/DQ-rgtMu.js +1 -0
  50. package/build/client/_app/immutable/chunks/DQ-rgtMu.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/DQ-rgtMu.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/DR2XDb5m.js +4 -0
  53. package/build/client/_app/immutable/chunks/DR2XDb5m.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/DR2XDb5m.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/DUjc2RFp.js +1 -0
  56. package/build/client/_app/immutable/chunks/DUjc2RFp.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/DUjc2RFp.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/{BE8UzJuY.js → DaTUpm_7.js} +1 -1
  59. package/build/client/_app/immutable/chunks/DaTUpm_7.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/DaTUpm_7.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{C0PCwpqt.js → DnwC6gcO.js} +1 -1
  62. package/build/client/_app/immutable/chunks/DnwC6gcO.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/DnwC6gcO.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/Dt2qaq8g.js +1 -0
  65. package/build/client/_app/immutable/chunks/Dt2qaq8g.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/Dt2qaq8g.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/EUN-td6X.js +1 -0
  68. package/build/client/_app/immutable/chunks/EUN-td6X.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/EUN-td6X.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/{Cx2cA4gg.js → EbSISJZg.js} +1 -1
  71. package/build/client/_app/immutable/chunks/EbSISJZg.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/EbSISJZg.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/f0NSiE2-.js +1 -0
  74. package/build/client/_app/immutable/chunks/f0NSiE2-.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/f0NSiE2-.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{C2sjtvBO.js → qhxgM-U4.js} +1 -1
  77. package/build/client/_app/immutable/chunks/qhxgM-U4.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/qhxgM-U4.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/zJxs36IQ.js +1 -0
  80. package/build/client/_app/immutable/chunks/zJxs36IQ.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/zJxs36IQ.js.gz +0 -0
  82. package/build/client/_app/immutable/entry/{app.DrdSPfGo.js → app.Cu4hmll6.js} +2 -2
  83. package/build/client/_app/immutable/entry/app.Cu4hmll6.js.br +0 -0
  84. package/build/client/_app/immutable/entry/app.Cu4hmll6.js.gz +0 -0
  85. package/build/client/_app/immutable/entry/start.CWodO31h.js +1 -0
  86. package/build/client/_app/immutable/entry/start.CWodO31h.js.br +2 -0
  87. package/build/client/_app/immutable/entry/start.CWodO31h.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/0.CA_MMU1Y.js +1 -0
  89. package/build/client/_app/immutable/nodes/0.CA_MMU1Y.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/0.CA_MMU1Y.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/1.RRRMvoTM.js +1 -0
  92. package/build/client/_app/immutable/nodes/1.RRRMvoTM.js.br +1 -0
  93. package/build/client/_app/immutable/nodes/1.RRRMvoTM.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/10.SPSTrllh.js +1 -0
  95. package/build/client/_app/immutable/nodes/10.SPSTrllh.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/10.SPSTrllh.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/{11.qfhS2VqU.js → 11.C4Wc3Kw8.js} +1 -1
  98. package/build/client/_app/immutable/nodes/11.C4Wc3Kw8.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/11.C4Wc3Kw8.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/12.CWkEGtcM.js +1 -0
  101. package/build/client/_app/immutable/nodes/12.CWkEGtcM.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/12.CWkEGtcM.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/13.CHTpks4Z.js +66 -0
  104. package/build/client/_app/immutable/nodes/13.CHTpks4Z.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/13.CHTpks4Z.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/{2.DwwrLLW4.js → 2.tuhqPc6d.js} +1 -1
  107. package/build/client/_app/immutable/nodes/2.tuhqPc6d.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/2.tuhqPc6d.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/{3.t20GootO.js → 3.304xAIC7.js} +1 -1
  110. package/build/client/_app/immutable/nodes/3.304xAIC7.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/3.304xAIC7.js.gz +0 -0
  112. package/build/client/_app/immutable/nodes/{4.CXHjkPtf.js → 4.CRm68VfX.js} +1 -1
  113. package/build/client/_app/immutable/nodes/4.CRm68VfX.js.br +0 -0
  114. package/build/client/_app/immutable/nodes/4.CRm68VfX.js.gz +0 -0
  115. package/build/client/_app/immutable/nodes/{5.C9tcr5B0.js → 5.DfCi7Z5N.js} +1 -1
  116. package/build/client/_app/immutable/nodes/5.DfCi7Z5N.js.br +0 -0
  117. package/build/client/_app/immutable/nodes/5.DfCi7Z5N.js.gz +0 -0
  118. package/build/client/_app/immutable/nodes/7.COdDrqa5.js +1 -0
  119. package/build/client/_app/immutable/nodes/7.COdDrqa5.js.br +0 -0
  120. package/build/client/_app/immutable/nodes/7.COdDrqa5.js.gz +0 -0
  121. package/build/client/_app/immutable/nodes/8.COLtCRaa.js +1 -0
  122. package/build/client/_app/immutable/nodes/8.COLtCRaa.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/8.COLtCRaa.js.gz +0 -0
  124. package/build/client/_app/immutable/nodes/{9.BXMJq3Z_.js → 9.DGHjsSV7.js} +2 -2
  125. package/build/client/_app/immutable/nodes/9.DGHjsSV7.js.br +0 -0
  126. package/build/client/_app/immutable/nodes/9.DGHjsSV7.js.gz +0 -0
  127. package/build/client/_app/version.json +1 -1
  128. package/build/client/_app/version.json.br +0 -0
  129. package/build/client/_app/version.json.gz +0 -0
  130. package/build/server/chunks/0-QaXL5dxl.js +22 -0
  131. package/build/server/chunks/0-QaXL5dxl.js.map +1 -0
  132. package/build/server/chunks/1-lbtVyJzb.js +9 -0
  133. package/build/server/chunks/{1-C_LPMO7A.js.map → 1-lbtVyJzb.js.map} +1 -1
  134. package/build/server/chunks/{10-DGUQMXHt.js → 10-srcxgYum.js} +4 -4
  135. package/build/server/chunks/10-srcxgYum.js.map +1 -0
  136. package/build/server/chunks/{11-CxBnyyqR.js → 11-Do6XJz0l.js} +4 -4
  137. package/build/server/chunks/11-Do6XJz0l.js.map +1 -0
  138. package/build/server/chunks/{12-K_JVUnsk.js → 12-zP_nvSCU.js} +4 -4
  139. package/build/server/chunks/12-zP_nvSCU.js.map +1 -0
  140. package/build/server/chunks/{13-Cay35aHK.js → 13-Df-9cdO7.js} +4 -4
  141. package/build/server/chunks/{13-Cay35aHK.js.map → 13-Df-9cdO7.js.map} +1 -1
  142. package/build/server/chunks/{2-ClkERMhY.js → 2-CEvLemXF.js} +2 -2
  143. package/build/server/chunks/{2-ClkERMhY.js.map → 2-CEvLemXF.js.map} +1 -1
  144. package/build/server/chunks/{3-CTpqmxdo.js → 3-C8wnnjW_.js} +2 -2
  145. package/build/server/chunks/{3-CTpqmxdo.js.map → 3-C8wnnjW_.js.map} +1 -1
  146. package/build/server/chunks/{4-CUH4fZn8.js → 4-CFsHQHNr.js} +2 -2
  147. package/build/server/chunks/{4-CUH4fZn8.js.map → 4-CFsHQHNr.js.map} +1 -1
  148. package/build/server/chunks/{5-BSEdxfut.js → 5-BHNZukuO.js} +2 -2
  149. package/build/server/chunks/{5-BSEdxfut.js.map → 5-BHNZukuO.js.map} +1 -1
  150. package/build/server/chunks/{7-DvU-_ADW.js → 7-_mc0fkA5.js} +4 -4
  151. package/build/server/chunks/7-_mc0fkA5.js.map +1 -0
  152. package/build/server/chunks/{8-CA3-CJtS.js → 8-CgCyM--7.js} +4 -4
  153. package/build/server/chunks/8-CgCyM--7.js.map +1 -0
  154. package/build/server/chunks/{9-jMOS3lPS.js → 9-CrztPNtK.js} +4 -4
  155. package/build/server/chunks/9-CrztPNtK.js.map +1 -0
  156. package/build/server/chunks/{JsonValue-WMdIUvRM.js → JsonValue-BUoddLqM.js} +10 -3
  157. package/build/server/chunks/JsonValue-BUoddLqM.js.map +1 -0
  158. package/build/server/chunks/{Modal-zVnoAfFx.js → Modal-BzZ9u6V6.js} +3 -3
  159. package/build/server/chunks/Modal-BzZ9u6V6.js.map +1 -0
  160. package/build/server/chunks/Panel-DEP08QXV.js +48 -0
  161. package/build/server/chunks/Panel-DEP08QXV.js.map +1 -0
  162. package/build/server/chunks/{PrettyJson-D3CylSVd.js → PrettyJson-5I-m1T9H.js} +53 -38
  163. package/build/server/chunks/PrettyJson-5I-m1T9H.js.map +1 -0
  164. package/build/server/chunks/Tooltip-DK6Aok7l.js +35 -0
  165. package/build/server/chunks/Tooltip-DK6Aok7l.js.map +1 -0
  166. package/build/server/chunks/{TooltipTable-DCu3GLqO.js → TooltipTable-DUYKVtrh.js} +3 -3
  167. package/build/server/chunks/{TooltipTable-DCu3GLqO.js.map → TooltipTable-DUYKVtrh.js.map} +1 -1
  168. package/build/server/chunks/_layout.svelte-CLgSVnvV.js +160 -0
  169. package/build/server/chunks/_layout.svelte-CLgSVnvV.js.map +1 -0
  170. package/build/server/chunks/{_page.svelte-DoOBFRSo.js → _page.svelte-B4-xrCHW.js} +42 -30
  171. package/build/server/chunks/_page.svelte-B4-xrCHW.js.map +1 -0
  172. package/build/server/chunks/{_page.svelte-C-13GpOe.js → _page.svelte-BORdYQFx.js} +12 -10
  173. package/build/server/chunks/_page.svelte-BORdYQFx.js.map +1 -0
  174. package/build/server/chunks/{_page.svelte-2w3fCax2.js → _page.svelte-C8zstZ7b.js} +6 -6
  175. package/build/server/chunks/{_page.svelte-2w3fCax2.js.map → _page.svelte-C8zstZ7b.js.map} +1 -1
  176. package/build/server/chunks/{_page.svelte-BBHqwhWF.js → _page.svelte-C9l9vy6P.js} +8 -7
  177. package/build/server/chunks/{_page.svelte-BBHqwhWF.js.map → _page.svelte-C9l9vy6P.js.map} +1 -1
  178. package/build/server/chunks/{_page.svelte-BRxX_vQR.js → _page.svelte-CRBjbDDt.js} +8 -7
  179. package/build/server/chunks/{_page.svelte-BRxX_vQR.js.map → _page.svelte-CRBjbDDt.js.map} +1 -1
  180. package/build/server/chunks/{_page.svelte-Cm_vgRRR.js → _page.svelte-CiIXCzlp.js} +18 -14
  181. package/build/server/chunks/_page.svelte-CiIXCzlp.js.map +1 -0
  182. package/build/server/chunks/{_page.svelte-Ca9u_35e.js → _page.svelte-TuuvQq-s.js} +7 -6
  183. package/build/server/chunks/{_page.svelte-Ca9u_35e.js.map → _page.svelte-TuuvQq-s.js.map} +1 -1
  184. package/build/server/chunks/{index2-DBFlGzWV.js → index2-DzKnqQNM.js} +2 -2
  185. package/build/server/chunks/{index2-DBFlGzWV.js.map → index2-DzKnqQNM.js.map} +1 -1
  186. package/build/server/index.js +3 -3
  187. package/build/server/index.js.map +1 -1
  188. package/build/server/manifest.js +14 -14
  189. package/build/server/manifest.js.map +1 -1
  190. package/package.json +1 -1
  191. package/src/app.css +161 -134
  192. package/src/app.html +23 -10
  193. package/src/lib/actions/portal.ts +28 -0
  194. package/src/lib/components/Breadcrumbs.svelte +20 -60
  195. package/src/lib/components/JsonValue.svelte +30 -1
  196. package/src/lib/components/Modal.svelte +5 -5
  197. package/src/lib/components/Notifications.svelte +40 -20
  198. package/src/lib/components/PageSwitcher.svelte +14 -10
  199. package/src/lib/components/Panel.svelte +19 -15
  200. package/src/lib/components/PrettyJson.svelte +101 -43
  201. package/src/lib/components/SearchBox.svelte +117 -96
  202. package/src/lib/components/ThemeSwitcher.svelte +191 -36
  203. package/src/lib/components/Tooltip.svelte +23 -14
  204. package/src/routes/+layout.svelte +36 -17
  205. package/src/routes/servers/+page.svelte +1 -1
  206. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +77 -40
  207. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +118 -95
  208. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +26 -12
  209. package/build/client/_app/immutable/assets/0.COnAcXN4.css +0 -1
  210. package/build/client/_app/immutable/assets/0.COnAcXN4.css.br +0 -0
  211. package/build/client/_app/immutable/assets/0.COnAcXN4.css.gz +0 -0
  212. package/build/client/_app/immutable/assets/10.59aTjJn9.css +0 -1
  213. package/build/client/_app/immutable/assets/10.59aTjJn9.css.br +0 -0
  214. package/build/client/_app/immutable/assets/10.59aTjJn9.css.gz +0 -0
  215. package/build/client/_app/immutable/assets/12.BdCOhvz0.css +0 -1
  216. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.br +0 -0
  217. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.gz +0 -0
  218. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css +0 -1
  219. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.br +0 -0
  220. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.gz +0 -0
  221. package/build/client/_app/immutable/assets/Panel.B3aWupye.css +0 -1
  222. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.br +0 -0
  223. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.gz +0 -0
  224. package/build/client/_app/immutable/assets/cuprum-cyrillic-400-normal.Cnibl3-L.woff2 +0 -0
  225. package/build/client/_app/immutable/assets/cuprum-cyrillic-400-normal.RKIjpA76.woff +0 -0
  226. package/build/client/_app/immutable/assets/cuprum-cyrillic-ext-400-normal.CT5q4ZVh.woff2 +0 -0
  227. package/build/client/_app/immutable/assets/cuprum-cyrillic-ext-400-normal.iCCFJ4Gn.woff +0 -0
  228. package/build/client/_app/immutable/assets/cuprum-latin-400-normal.Cbwtr8a4.woff +0 -0
  229. package/build/client/_app/immutable/assets/cuprum-latin-400-normal.CjFvNwMJ.woff2 +0 -0
  230. package/build/client/_app/immutable/assets/cuprum-latin-ext-400-normal.BWTJtpjo.woff2 +0 -0
  231. package/build/client/_app/immutable/assets/cuprum-latin-ext-400-normal.BZXayy47.woff +0 -0
  232. package/build/client/_app/immutable/assets/cuprum-vietnamese-400-normal.uXRi1gw5.woff +0 -0
  233. package/build/client/_app/immutable/assets/rajdhani-devanagari-400-normal.BdIzgbsr.woff +0 -0
  234. package/build/client/_app/immutable/assets/rajdhani-devanagari-400-normal.CTuj2HZW.woff2 +0 -0
  235. package/build/client/_app/immutable/assets/rajdhani-latin-400-normal.C6_q4usG.woff +0 -0
  236. package/build/client/_app/immutable/assets/rajdhani-latin-400-normal.CurJOxDW.woff2 +0 -0
  237. package/build/client/_app/immutable/assets/rajdhani-latin-ext-400-normal.DACPYgMx.woff2 +0 -0
  238. package/build/client/_app/immutable/assets/rajdhani-latin-ext-400-normal.Der7ynDE.woff +0 -0
  239. package/build/client/_app/immutable/chunks/3iRu_dUj.js.br +0 -0
  240. package/build/client/_app/immutable/chunks/3iRu_dUj.js.gz +0 -0
  241. package/build/client/_app/immutable/chunks/5nAxkTTP.js.br +0 -5
  242. package/build/client/_app/immutable/chunks/5nAxkTTP.js.gz +0 -0
  243. package/build/client/_app/immutable/chunks/BBg-V8FE.js +0 -1
  244. package/build/client/_app/immutable/chunks/BBg-V8FE.js.br +0 -0
  245. package/build/client/_app/immutable/chunks/BBg-V8FE.js.gz +0 -0
  246. package/build/client/_app/immutable/chunks/BE8UzJuY.js.br +0 -0
  247. package/build/client/_app/immutable/chunks/BE8UzJuY.js.gz +0 -0
  248. package/build/client/_app/immutable/chunks/BQEBQyfZ.js.br +0 -0
  249. package/build/client/_app/immutable/chunks/BQEBQyfZ.js.gz +0 -0
  250. package/build/client/_app/immutable/chunks/BUNgwIS0.js.br +0 -0
  251. package/build/client/_app/immutable/chunks/BUNgwIS0.js.gz +0 -0
  252. package/build/client/_app/immutable/chunks/BvKY81hz.js +0 -1
  253. package/build/client/_app/immutable/chunks/BvKY81hz.js.br +0 -0
  254. package/build/client/_app/immutable/chunks/BvKY81hz.js.gz +0 -0
  255. package/build/client/_app/immutable/chunks/C0PCwpqt.js.br +0 -0
  256. package/build/client/_app/immutable/chunks/C0PCwpqt.js.gz +0 -0
  257. package/build/client/_app/immutable/chunks/C0rm4mmq.js +0 -1
  258. package/build/client/_app/immutable/chunks/C0rm4mmq.js.br +0 -0
  259. package/build/client/_app/immutable/chunks/C0rm4mmq.js.gz +0 -0
  260. package/build/client/_app/immutable/chunks/C2sjtvBO.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/C2sjtvBO.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/C82Rp5eQ.js +0 -1
  263. package/build/client/_app/immutable/chunks/C82Rp5eQ.js.br +0 -0
  264. package/build/client/_app/immutable/chunks/C82Rp5eQ.js.gz +0 -0
  265. package/build/client/_app/immutable/chunks/CGSOl_q_.js +0 -4
  266. package/build/client/_app/immutable/chunks/CGSOl_q_.js.br +0 -0
  267. package/build/client/_app/immutable/chunks/CGSOl_q_.js.gz +0 -0
  268. package/build/client/_app/immutable/chunks/CjNnAkTB.js +0 -1
  269. package/build/client/_app/immutable/chunks/CjNnAkTB.js.br +0 -0
  270. package/build/client/_app/immutable/chunks/CjNnAkTB.js.gz +0 -0
  271. package/build/client/_app/immutable/chunks/Cx2cA4gg.js.br +0 -0
  272. package/build/client/_app/immutable/chunks/Cx2cA4gg.js.gz +0 -0
  273. package/build/client/_app/immutable/chunks/D4iRRB8h.js.br +0 -0
  274. package/build/client/_app/immutable/chunks/D4iRRB8h.js.gz +0 -0
  275. package/build/client/_app/immutable/chunks/D5ccpaXt.js +0 -1
  276. package/build/client/_app/immutable/chunks/D5ccpaXt.js.br +0 -0
  277. package/build/client/_app/immutable/chunks/D5ccpaXt.js.gz +0 -0
  278. package/build/client/_app/immutable/chunks/D7E46CWw.js.br +0 -0
  279. package/build/client/_app/immutable/chunks/D7E46CWw.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/DR9xdhsg.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/DR9xdhsg.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/DVRQRZnh.js +0 -1
  283. package/build/client/_app/immutable/chunks/DVRQRZnh.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/DVRQRZnh.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/DcPEQ0_V.js +0 -29
  286. package/build/client/_app/immutable/chunks/DcPEQ0_V.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/DcPEQ0_V.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/Dx56OlI-.js.br +0 -2
  289. package/build/client/_app/immutable/chunks/Dx56OlI-.js.gz +0 -0
  290. package/build/client/_app/immutable/chunks/PXh00dfp.js +0 -2
  291. package/build/client/_app/immutable/chunks/PXh00dfp.js.br +0 -0
  292. package/build/client/_app/immutable/chunks/PXh00dfp.js.gz +0 -0
  293. package/build/client/_app/immutable/entry/app.DrdSPfGo.js.br +0 -0
  294. package/build/client/_app/immutable/entry/app.DrdSPfGo.js.gz +0 -0
  295. package/build/client/_app/immutable/entry/start.DGG3CpnK.js +0 -1
  296. package/build/client/_app/immutable/entry/start.DGG3CpnK.js.br +0 -2
  297. package/build/client/_app/immutable/entry/start.DGG3CpnK.js.gz +0 -0
  298. package/build/client/_app/immutable/nodes/0.kCLtccjl.js +0 -5
  299. package/build/client/_app/immutable/nodes/0.kCLtccjl.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/0.kCLtccjl.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/1.Dr8p9JHT.js +0 -1
  302. package/build/client/_app/immutable/nodes/1.Dr8p9JHT.js.br +0 -3
  303. package/build/client/_app/immutable/nodes/1.Dr8p9JHT.js.gz +0 -0
  304. package/build/client/_app/immutable/nodes/10.B4uwvHd0.js +0 -2
  305. package/build/client/_app/immutable/nodes/10.B4uwvHd0.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/10.B4uwvHd0.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/11.qfhS2VqU.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/11.qfhS2VqU.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/12.DkZDCIfS.js +0 -1
  310. package/build/client/_app/immutable/nodes/12.DkZDCIfS.js.br +0 -0
  311. package/build/client/_app/immutable/nodes/12.DkZDCIfS.js.gz +0 -0
  312. package/build/client/_app/immutable/nodes/13.DFVzMgyY.js +0 -66
  313. package/build/client/_app/immutable/nodes/13.DFVzMgyY.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/13.DFVzMgyY.js.gz +0 -0
  315. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js.br +0 -1
  316. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js.gz +0 -0
  317. package/build/client/_app/immutable/nodes/3.t20GootO.js.br +0 -0
  318. package/build/client/_app/immutable/nodes/3.t20GootO.js.gz +0 -0
  319. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js.br +0 -0
  320. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js.gz +0 -0
  321. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js.br +0 -0
  322. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js.gz +0 -0
  323. package/build/client/_app/immutable/nodes/7.D14iWySv.js +0 -1
  324. package/build/client/_app/immutable/nodes/7.D14iWySv.js.br +0 -0
  325. package/build/client/_app/immutable/nodes/7.D14iWySv.js.gz +0 -0
  326. package/build/client/_app/immutable/nodes/8.BSXe_VNA.js +0 -1
  327. package/build/client/_app/immutable/nodes/8.BSXe_VNA.js.br +0 -0
  328. package/build/client/_app/immutable/nodes/8.BSXe_VNA.js.gz +0 -0
  329. package/build/client/_app/immutable/nodes/9.BXMJq3Z_.js.br +0 -0
  330. package/build/client/_app/immutable/nodes/9.BXMJq3Z_.js.gz +0 -0
  331. package/build/server/chunks/0-BozXjQlk.js +0 -22
  332. package/build/server/chunks/0-BozXjQlk.js.map +0 -1
  333. package/build/server/chunks/1-C_LPMO7A.js +0 -9
  334. package/build/server/chunks/10-DGUQMXHt.js.map +0 -1
  335. package/build/server/chunks/11-CxBnyyqR.js.map +0 -1
  336. package/build/server/chunks/12-K_JVUnsk.js.map +0 -1
  337. package/build/server/chunks/7-DvU-_ADW.js.map +0 -1
  338. package/build/server/chunks/8-CA3-CJtS.js.map +0 -1
  339. package/build/server/chunks/9-jMOS3lPS.js.map +0 -1
  340. package/build/server/chunks/JsonValue-WMdIUvRM.js.map +0 -1
  341. package/build/server/chunks/Modal-zVnoAfFx.js.map +0 -1
  342. package/build/server/chunks/Panel-yg5YKL4d.js +0 -38
  343. package/build/server/chunks/Panel-yg5YKL4d.js.map +0 -1
  344. package/build/server/chunks/PrettyJson-D3CylSVd.js.map +0 -1
  345. package/build/server/chunks/Tooltip-ys6l541_.js +0 -28
  346. package/build/server/chunks/Tooltip-ys6l541_.js.map +0 -1
  347. package/build/server/chunks/_layout.svelte-DMm1Ill8.js +0 -168
  348. package/build/server/chunks/_layout.svelte-DMm1Ill8.js.map +0 -1
  349. package/build/server/chunks/_page.svelte-C-13GpOe.js.map +0 -1
  350. package/build/server/chunks/_page.svelte-Cm_vgRRR.js.map +0 -1
  351. package/build/server/chunks/_page.svelte-DoOBFRSo.js.map +0 -1
@@ -36,7 +36,7 @@
36
36
  $effect(() => {
37
37
  const currentCount = ++countCount;
38
38
  finalCount = null;
39
- data.count.then((result) => {
39
+ data.count?.then((result) => {
40
40
  if (currentCount !== countCount) {
41
41
  return;
42
42
  }
@@ -58,7 +58,7 @@
58
58
  });
59
59
 
60
60
  $effect(() => {
61
- data.count.then((result) => {
61
+ data.count?.then((result) => {
62
62
  // Don't show notification for timeout errors - they're displayed in the UI
63
63
  if (result.error && !result.error.includes("operation exceeded time limit")) {
64
64
  notificationStore.notifyError(result.error);
@@ -203,51 +203,97 @@
203
203
  }
204
204
  </script>
205
205
 
206
+ {#snippet previousButton(url: string, onClick: (e: MouseEvent) => void)}
207
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
208
+ <a
209
+ href={resolve(url as any)}
210
+ onclick={onClick}
211
+ 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"
212
+ style="color: var(--text);"
213
+ >
214
+ Previous
215
+ </a>
216
+ {/snippet}
217
+
218
+ {#snippet nextButton(url: string, onClick: (e: MouseEvent) => void)}
219
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
220
+ <a
221
+ href={resolve(url as any)}
222
+ onclick={onClick}
223
+ 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"
224
+ style="color: var(--text);"
225
+ >
226
+ Next
227
+ </a>
228
+ {/snippet}
229
+
206
230
  <SearchBox bind:params bind:editMode readonly={data.readOnly} />
207
231
 
208
232
  {#if editMode}
209
233
  <Panel title="Update Multiple Documents">
210
- <div class="p-4 space-y-4">
234
+ <div class="p-4 sm:p-6 space-y-4">
211
235
  <div>
212
- <label for="update-filter" class="block text-sm font-medium mb-2">Filter (which documents to update):</label>
236
+ <label for="update-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">
237
+ Filter (which documents to update):
238
+ </label>
213
239
  <input
214
240
  type="text"
215
241
  id="update-filter"
216
242
  value={params.query || "{}"}
217
243
  readonly
218
- class="w-full p-2 border border-[var(--color-4)] bg-[var(--light-background)] rounded font-mono text-sm opacity-75 cursor-not-allowed"
244
+ 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"
245
+ style="color: var(--text);"
219
246
  />
220
- <p class="text-xs text-[var(--text-secondary,#888)] mt-1">
247
+ <p class="text-xs mt-2" style="color: var(--text-secondary);">
221
248
  This filter is taken from the query above. Modify the query to change which documents will be updated.
222
249
  </p>
223
250
  </div>
224
251
  <div>
225
- <label for="update-operation" class="block text-sm font-medium mb-2"
226
- >Update Operation (e.g., $set, $inc, $unset):</label
227
- >
252
+ <label for="update-operation" class="block text-sm font-semibold mb-2" style="color: var(--text);">
253
+ Update Operation (e.g., $set, $inc, $unset):
254
+ </label>
228
255
  <textarea
229
256
  bind:value={updateQuery}
230
257
  placeholder="Update operation"
231
258
  rows="4"
232
259
  use:jsonTextarea={{ onsubmit: executeUpdateMany }}
233
- class="w-full p-2 border border-[var(--color-4)] bg-[var(--color-3)] rounded font-mono text-sm"
260
+ 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"
261
+ style="color: var(--text); --tw-ring-color: var(--link);"
234
262
  ></textarea>
235
263
  </div>
236
- <div class="flex gap-2">
237
- <button class="btn btn-success" disabled={isUpdating} onclick={executeUpdateMany}>
264
+ <div class="flex gap-3">
265
+ <button
266
+ class="btn btn-success hover:bg-[var(--button-success-l)]"
267
+ disabled={isUpdating}
268
+ onclick={executeUpdateMany}
269
+ >
238
270
  {isUpdating ? "Updating..." : "Execute Update"}
239
271
  </button>
240
- <button class="btn btn-default" onclick={() => (editMode = false)}>Cancel</button>
272
+ <button class="btn btn-default hover:bg-[var(--color-3)]" onclick={() => (editMode = false)}>Cancel</button>
241
273
  </div>
242
- <div class="text-sm text-[var(--text-secondary,#888)]">
243
- <p class="mb-1"><strong>Examples:</strong></p>
244
- <p class="mb-1">
245
- • Set a field: <code class="bg-[var(--color-3)] px-1 rounded">{'{"$set": {"status": "active"}}'}</code>
274
+ <div
275
+ class="text-sm rounded-xl bg-[var(--color-3)]/50 p-4 border border-[var(--border-color)]"
276
+ style="color: var(--text-secondary);"
277
+ >
278
+ <p class="mb-2 font-semibold" style="color: var(--text);">Examples:</p>
279
+ <p class="mb-2">
280
+ • Set a field: <code
281
+ class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"
282
+ >{'{"$set": {"status": "active"}}'}</code
283
+ >
284
+ </p>
285
+ <p class="mb-2">
286
+ • Increment a value: <code
287
+ class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"
288
+ >{'{"$inc": {"count": 1}}'}</code
289
+ >
246
290
  </p>
247
- <p class="mb-1">
248
- Increment a value: <code class="bg-[var(--color-3)] px-1 rounded">{'{"$inc": {"count": 1}}'}</code>
291
+ <p>
292
+ Unset a field: <code
293
+ class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"
294
+ >{'{"$unset": {"oldField": ""}}'}</code
295
+ >
249
296
  </p>
250
- <p>• Unset a field: <code class="bg-[var(--color-3)] px-1 rounded">{'{"$unset": {"oldField": ""}}'}</code></p>
251
297
  </div>
252
298
  </div>
253
299
  </Panel>
@@ -258,18 +304,15 @@
258
304
  title={finalCount !== null
259
305
  ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + data.params.limit)} of ${formatNumber(finalCount)} documents...`
260
306
  : "Loading documents..."}
307
+ titleClass="py-1"
261
308
  >
262
309
  {#snippet actions()}
263
310
  {#if finalCount !== null}
264
311
  {#if data.params.skip > 0}
265
- <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
266
- <a href={resolve(previousUrl as any)} onclick={navigatePrevious} class="btn btn-default btn-sm -my-2">
267
- Previous
268
- </a>
312
+ {@render previousButton(previousUrl, navigatePrevious)}
269
313
  {/if}
270
314
  {#if data.params.skip + data.params.limit < finalCount}
271
- <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
272
- <a href={resolve(nextUrl as any)} onclick={navigateNext} class="btn btn-default btn-sm -my-2">Next</a>
315
+ {@render nextButton(nextUrl, navigateNext)}
273
316
  {/if}
274
317
  {/if}
275
318
  {/snippet}
@@ -279,20 +322,17 @@
279
322
  {@const items = resultsData?.data ?? []}
280
323
  {#await data.count}
281
324
  <Panel
325
+ titleClass="py-1"
282
326
  title={items.length > 0
283
327
  ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items.length)} Documents (counting...)`
284
328
  : "No documents"}
285
329
  >
286
330
  {#snippet actions()}
287
331
  {#if data.params.skip > 0}
288
- <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
289
- <a href={resolve(previousUrl as any)} onclick={navigatePrevious} class="btn btn-default btn-sm -my-2">
290
- Previous
291
- </a>
332
+ {@render previousButton(previousUrl, navigatePrevious)}
292
333
  {/if}
293
334
  {#if items.length >= data.params.limit}
294
- <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
295
- <a href={resolve(nextUrl as any)} onclick={navigateNext} class="btn btn-default btn-sm -my-2">Next</a>
335
+ {@render nextButton(nextUrl, navigateNext)}
296
336
  {/if}
297
337
  {/snippet}
298
338
  </Panel>
@@ -306,20 +346,17 @@
306
346
  <Panel
307
347
  title={items.length > 0
308
348
  ? count > 0
309
- ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items.length)} of ${formatNumber(count)} Documents`
310
- : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items.length)} Documents (count ${isTimeout ? "timeout" : "unavailable"})`
349
+ ? `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items.length)} of ${formatNumber(count)} documents`
350
+ : `${formatNumber(data.params.skip + 1)} - ${formatNumber(data.params.skip + items.length)} documents (count ${isTimeout ? "timeout" : "unavailable"})`
311
351
  : "No documents"}
352
+ titleClass="py-1"
312
353
  >
313
354
  {#snippet actions()}
314
355
  {#if hasPrevious}
315
- <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
316
- <a href={resolve(previousUrl as any)} onclick={navigatePrevious} class="btn btn-default btn-sm -my-2">
317
- Previous
318
- </a>
356
+ {@render previousButton(previousUrl, navigatePrevious)}
319
357
  {/if}
320
358
  {#if hasNext}
321
- <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
322
- <a href={resolve(nextUrl as any)} onclick={navigateNext} class="btn btn-default btn-sm -my-2">Next</a>
359
+ {@render nextButton(nextUrl, navigateNext)}
323
360
  {/if}
324
361
  {/snippet}
325
362
  </Panel>
@@ -132,109 +132,111 @@
132
132
  </Panel>
133
133
  {:else}
134
134
  <Panel title="Indexes">
135
- <table class="table">
136
- <thead>
137
- <tr>
138
- <th class="shrink-column">Name</th>
139
- <th>Keys</th>
140
- <th>Properties</th>
141
- <th class="shrink-column">Size</th>
142
- <th class="shrink-column">Usage</th>
143
- <th style="min-width: 300px">Details</th>
144
- {#if !readOnly}
145
- <th style="width: 120px">Actions</th>
146
- {/if}
147
- </tr>
148
- </thead>
149
- <tbody>
150
- {#each result.data as index (index.name)}
151
- {@const isLoading = loadingIndexes.has(index.name)}
152
- <tr class="group" class:opacity-50={isLoading}>
153
- <td>
154
- <span class="font-mono text-sm">{index.name}</span>
155
- </td>
156
- <td>
157
- {#if index.key}
135
+ <div class="table-wrapper">
136
+ <table class="table">
137
+ <thead>
138
+ <tr>
139
+ <th class="name-column">Name</th>
140
+ <th>Keys</th>
141
+ <th>Properties</th>
142
+ <th class="shrink-column">Size</th>
143
+ <th class="shrink-column">Usage</th>
144
+ <th style="min-width: 300px">Details</th>
145
+ {#if !readOnly}
146
+ <th style="width: 150px">Actions</th>
147
+ {/if}
148
+ </tr>
149
+ </thead>
150
+ <tbody>
151
+ {#each result.data as index (index.name)}
152
+ {@const isLoading = loadingIndexes.has(index.name)}
153
+ <tr class="group" class:opacity-50={isLoading}>
154
+ <td class="name-cell">
155
+ <span class="font-mono text-sm index-name" title={index.name}>{index.name}</span>
156
+ </td>
157
+ <td>
158
+ {#if index.key}
159
+ <div class="flex flex-wrap gap-2">
160
+ {#each Object.entries(index.key) as [field, direction], i (i)}
161
+ <span class="index-key">
162
+ {field}: {direction === 1 ? "↑" : direction === -1 ? "↓" : direction}
163
+ </span>
164
+ {/each}
165
+ </div>
166
+ {:else}
167
+ <span style="color: var(--text-darker)">-</span>
168
+ {/if}
169
+ </td>
170
+ <td>
158
171
  <div class="flex flex-wrap gap-2">
159
- {#each Object.entries(index.key) as [field, direction], i (i)}
160
- <span class="index-key">
161
- {field}: {direction === 1 ? "↑" : direction === -1 ? "↓" : direction}
162
- </span>
163
- {/each}
172
+ {#if index.hidden}
173
+ <span class="badge badge-hidden">hidden</span>
174
+ {/if}
175
+ {#if index.unique}
176
+ <span class="badge badge-unique">unique</span>
177
+ {/if}
178
+ {#if index.sparse}
179
+ <span class="badge badge-sparse">sparse</span>
180
+ {/if}
181
+ {#if index.partialFilterExpression}
182
+ <span class="badge badge-partial">partial</span>
183
+ {/if}
184
+ {#if !index.hidden && !index.unique && !index.sparse && !index.partialFilterExpression}
185
+ <span style="color: var(--text-darker)">-</span>
186
+ {/if}
164
187
  </div>
165
- {:else}
166
- <span style="color: var(--text-darker)">-</span>
167
- {/if}
168
- </td>
169
- <td>
170
- <div class="flex flex-wrap gap-2">
171
- {#if index.hidden}
172
- <span class="badge badge-hidden">hidden</span>
173
- {/if}
174
- {#if index.unique}
175
- <span class="badge badge-unique">unique</span>
176
- {/if}
177
- {#if index.sparse}
178
- <span class="badge badge-sparse">sparse</span>
179
- {/if}
180
- {#if index.partialFilterExpression}
181
- <span class="badge badge-partial">partial</span>
182
- {/if}
183
- {#if !index.hidden && !index.unique && !index.sparse && !index.partialFilterExpression}
188
+ </td>
189
+ <td>
190
+ {#if index.size}
191
+ <span class="text-sm whitespace-nowrap">{formatBytes(index.size)}</span>
192
+ {:else}
184
193
  <span style="color: var(--text-darker)">-</span>
185
194
  {/if}
186
- </div>
187
- </td>
188
- <td>
189
- {#if index.size}
190
- <span class="text-sm whitespace-nowrap">{formatBytes(index.size)}</span>
191
- {:else}
192
- <span style="color: var(--text-darker)">-</span>
193
- {/if}
194
- </td>
195
- <td>
196
- {#if index.stats}
197
- <div class="text-sm mt-1">
198
- <div>{index.stats.ops.toLocaleString()}</div>
199
- </div>
200
- {:else}
201
- <span style="color: var(--text-darker)">-</span>
202
- {/if}
203
- </td>
204
- <td>
205
- <details class="cursor-pointer">
206
- <summary class="details-link">View full</summary>
207
- <div class="details-content">
208
- <JsonValue value={omit(index, ["stats"])} collapsed={false} />
209
- </div>
210
- </details>
211
- </td>
212
- {#if !readOnly}
195
+ </td>
213
196
  <td>
214
- {#if index.name !== "_id_"}
215
- <div class="flex gap-2 hidden group-hover:flex -my-2">
216
- <button
217
- class="btn btn-outline-light btn-sm"
218
- onclick={() => toggleHidden(index.name, index.hidden)}
219
- disabled={isLoading}
220
- >
221
- {index.hidden ? "Unhide" : "Hide"}
222
- </button>
223
- <button
224
- class="btn btn-outline-danger btn-sm"
225
- onclick={() => openDropModal(index.name)}
226
- disabled={isLoading}
227
- >
228
- Drop
229
- </button>
197
+ {#if index.stats}
198
+ <div class="text-sm mt-1">
199
+ <div>{index.stats.ops.toLocaleString()}</div>
230
200
  </div>
201
+ {:else}
202
+ <span style="color: var(--text-darker)">-</span>
231
203
  {/if}
232
204
  </td>
233
- {/if}
234
- </tr>
235
- {/each}
236
- </tbody>
237
- </table>
205
+ <td>
206
+ <details class="cursor-pointer">
207
+ <summary class="details-link">View full</summary>
208
+ <div class="details-content">
209
+ <JsonValue value={omit(index, ["stats"])} collapsed={false} />
210
+ </div>
211
+ </details>
212
+ </td>
213
+ {#if !readOnly}
214
+ <td>
215
+ {#if index.name !== "_id_"}
216
+ <div class="flex gap-2 hidden group-hover:flex -my-2">
217
+ <button
218
+ class="btn btn-outline-light btn-sm"
219
+ onclick={() => toggleHidden(index.name, index.hidden)}
220
+ disabled={isLoading}
221
+ >
222
+ {index.hidden ? "Unhide" : "Hide"}
223
+ </button>
224
+ <button
225
+ class="btn btn-outline-danger btn-sm"
226
+ onclick={() => openDropModal(index.name)}
227
+ disabled={isLoading}
228
+ >
229
+ Drop
230
+ </button>
231
+ </div>
232
+ {/if}
233
+ </td>
234
+ {/if}
235
+ </tr>
236
+ {/each}
237
+ </tbody>
238
+ </table>
239
+ </div>
238
240
  </Panel>
239
241
  {/if}
240
242
  {:catch err}
@@ -259,6 +261,10 @@
259
261
  </Modal>
260
262
 
261
263
  <style lang="postcss">
264
+ .table-wrapper {
265
+ overflow-x: auto;
266
+ }
267
+
262
268
  .table tbody td {
263
269
  vertical-align: top;
264
270
  }
@@ -268,6 +274,23 @@
268
274
  white-space: nowrap;
269
275
  }
270
276
 
277
+ .name-column {
278
+ width: 20%;
279
+ min-width: 150px;
280
+ max-width: 300px;
281
+ }
282
+
283
+ .name-cell {
284
+ max-width: 300px;
285
+ }
286
+
287
+ .index-name {
288
+ display: block;
289
+ overflow: hidden;
290
+ text-overflow: ellipsis;
291
+ white-space: nowrap;
292
+ }
293
+
271
294
  .index-key {
272
295
  display: inline-flex;
273
296
  align-items: center;
@@ -159,11 +159,15 @@ Please analyze the codebase and database, then generate the appropriate mappings
159
159
  }
160
160
  </script>
161
161
 
162
- <Panel title="Mappings for {data.collection}">
162
+ <Panel title="Mappings for {data.collection}" titleClass="py-2">
163
163
  {#snippet actions()}
164
- <button class="btn btn-outline-light btn-sm -my-2" onclick={() => (showAiPrompt = true)}> 🤖 AI Helper </button>
164
+ <button class="btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]" onclick={() => (showAiPrompt = true)}>
165
+ 🤖 AI Helper
166
+ </button>
165
167
  {#if !data.readOnly}
166
- <button class="btn btn-success btn-sm -my-2" onclick={saveMappings}>Save</button>
168
+ <button class="btn btn-success btn-sm -my-2 hover:bg-[var(--button-success-l)]" onclick={saveMappings}
169
+ >Save</button
170
+ >
167
171
  {/if}
168
172
  {/snippet}
169
173
 
@@ -225,7 +229,10 @@ Please analyze the codebase and database, then generate the appropriate mappings
225
229
  </label>
226
230
  </div>
227
231
  {#if !data.readOnly}
228
- <button class="btn btn-outline-danger btn-sm mt-6" onclick={() => removeMapping(entryIndex)}>
232
+ <button
233
+ class="btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]"
234
+ onclick={() => removeMapping(entryIndex)}
235
+ >
229
236
  Remove Mapping
230
237
  </button>
231
238
  {/if}
@@ -263,7 +270,7 @@ Please analyze the codebase and database, then generate the appropriate mappings
263
270
  </div>
264
271
  {#if !data.readOnly}
265
272
  <button
266
- class="btn btn-outline-danger btn-sm mt-5"
273
+ class="btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]"
267
274
  onclick={() => removeTarget(entry, targetIndex)}
268
275
  disabled={entry.targets.length === 1}
269
276
  >
@@ -275,7 +282,10 @@ Please analyze the codebase and database, then generate the appropriate mappings
275
282
  </div>
276
283
 
277
284
  {#if !data.readOnly}
278
- <button class="btn btn-outline-light btn-sm mt-2 ml-4" onclick={() => addTarget(entry)}>
285
+ <button
286
+ class="btn btn-outline-light btn-sm mt-2 ml-4 hover:bg-[var(--color-3)]"
287
+ onclick={() => addTarget(entry)}
288
+ >
279
289
  + Add Alternative Target
280
290
  </button>
281
291
  {/if}
@@ -289,7 +299,9 @@ Please analyze the codebase and database, then generate the appropriate mappings
289
299
  {#if !data.readOnly}
290
300
  <div class="mt-4">
291
301
  {#if !isAdding}
292
- <button class="btn btn-success" onclick={() => (isAdding = true)}>+ Add New Mapping</button>
302
+ <button class="btn btn-success hover:bg-[var(--button-success-l)]" onclick={() => (isAdding = true)}
303
+ >+ Add New Mapping</button
304
+ >
293
305
  {:else}
294
306
  <div class="border border-[var(--border-color)] rounded p-4 bg-[var(--light-background)]">
295
307
  <h3 class="text-lg font-medium mb-3">New Mapping</h3>
@@ -325,8 +337,8 @@ Please analyze the codebase and database, then generate the appropriate mappings
325
337
  />
326
338
  </label>
327
339
  <div class="flex gap-2">
328
- <button class="btn btn-success" onclick={addNewMapping}>Add</button>
329
- <button class="btn btn-default" onclick={cancelAdd}>Cancel</button>
340
+ <button class="btn btn-success hover:bg-[var(--button-success-l)]" onclick={addNewMapping}>Add</button>
341
+ <button class="btn btn-default hover:bg-[var(--color-3)]" onclick={cancelAdd}>Cancel</button>
330
342
  </div>
331
343
  </div>
332
344
  </div>
@@ -356,7 +368,9 @@ Please analyze the codebase and database, then generate the appropriate mappings
356
368
  >
357
369
  <div class="p-4 border-b border-[var(--border-color)] flex justify-between items-center">
358
370
  <h2 class="text-xl font-semibold">AI Mapping Generator Prompt</h2>
359
- <button class="btn btn-outline-light btn-sm" onclick={() => (showAiPrompt = false)}>Close</button>
371
+ <button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]" onclick={() => (showAiPrompt = false)}
372
+ >Close</button
373
+ >
360
374
  </div>
361
375
 
362
376
  <div class="p-4 overflow-auto flex-1">
@@ -369,8 +383,8 @@ Please analyze the codebase and database, then generate the appropriate mappings
369
383
  </div>
370
384
 
371
385
  <div class="p-4 border-t border-[var(--border-color)] flex justify-end gap-2">
372
- <button class="btn btn-default" onclick={() => (showAiPrompt = false)}>Close</button>
373
- <button class="btn btn-primary" onclick={copyAiPrompt}>Copy to Clipboard</button>
386
+ <button class="btn btn-default hover:bg-[var(--color-3)]" onclick={() => (showAiPrompt = false)}>Close</button>
387
+ <button class="btn btn-primary hover:brightness-110" onclick={copyAiPrompt}>Copy to Clipboard</button>
374
388
  </div>
375
389
  </div>
376
390
  </div>
@@ -1 +0,0 @@
1
- .breadcrumbs.svelte-1jovwxm{margin-left:20px;font-size:16px}.breadcrumb-list.svelte-1jovwxm{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:8px}.breadcrumb-item.svelte-1jovwxm{display:flex;align-items:center;gap:8px}.breadcrumb-link.svelte-1jovwxm{color:var(--text);text-decoration:none;transition:color .2s}.breadcrumb-link.svelte-1jovwxm:hover{color:var(--text);text-decoration:underline}.breadcrumb-current.svelte-1jovwxm{color:var(--text-darker);font-weight:500}.breadcrumb-separator.svelte-1jovwxm{color:var(--text-darker);font-weight:300;-webkit-user-select:none;user-select:none}.notifications.svelte-2qov3s{position:fixed;top:80px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.notification.svelte-2qov3s{padding:15px 20px;border-radius:4px;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;gap:15px;min-width:300px;max-width:500px;animation:svelte-2qov3s-slideIn .3s ease-out}.notification.svelte-2qov3s button:where(.svelte-2qov3s){background:none;border:none;font-size:24px;cursor:pointer;opacity:.7;margin-left:auto;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification.svelte-2qov3s button:where(.svelte-2qov3s):hover{opacity:1}.notification-error.svelte-2qov3s{background-color:#dc3545;color:#fff}.notification-success.svelte-2qov3s{background-color:#28a745;color:#fff}.notification-info.svelte-2qov3s{background-color:#17a2b8;color:#fff}@keyframes svelte-2qov3s-slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.warning-banner.svelte-1358fs2{background-color:#f59e0b;color:#111827;padding:12px 24px;border-bottom:1px solid #d97706}.warning-content.svelte-1358fs2{display:flex;align-items:center;gap:12px;max-width:1400px;margin:0 auto}.warning-content.svelte-1358fs2 svg:where(.svelte-1358fs2){flex-shrink:0}.warning-content.svelte-1358fs2 span:where(.svelte-1358fs2){flex:1;font-size:14px;line-height:1.5}.warning-content.svelte-1358fs2 code:where(.svelte-1358fs2){background-color:#0000001a;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:13px}.dismiss-button.svelte-1358fs2{background:none;border:none;font-size:24px;cursor:pointer;opacity:.7;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#111827}.dismiss-button.svelte-1358fs2:hover{opacity:1}/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background-color:var(--background-color);color:var(--text);tab-size:2;min-height:100vh;font-family:Rajdhani,sans-serif}a:hover{text-decoration:underline}input[type=text],input[type=number],textarea{border-radius:var(--radius-md);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));background-color:var(--color-1);color:var(--text);border:1px solid var(--color-4)}input[type=text]:focus,input[type=number]:focus,textarea:focus{border-color:var(--link);outline:none}}@layer components{.btn{cursor:pointer;border-radius:var(--radius-md);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;transition-duration:.2s}.btn-sm{padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.btn-default{background-color:var(--color-1);color:var(--text);border-color:var(--color-4)}.btn-default:hover{background-color:var(--color-3)}.btn-danger{background-color:var(--button-danger-l);color:var(--text-lighter);border-color:var(--button-danger)}.btn-danger:hover{background-color:var(--button-danger)}.btn-success{background-color:var(--button-success-l);color:var(--text-lighter);border-color:var(--button-success)}.btn-success:hover{background-color:var(--button-success)}.btn-outline-danger{color:var(--button-danger);border-color:var(--button-danger);background:0 0}.btn-outline-danger:hover{background-color:var(--button-danger-l);color:var(--text-lighter)}.btn-outline-success{color:var(--button-success);border-color:var(--button-success);background:0 0}.btn-outline-success:hover{background-color:var(--button-success-l);color:var(--text-lighter)}.btn-outline-light{color:var(--button-light);border-color:var(--button-light);background:0 0}.btn-outline-light:hover{background-color:var(--color-4);color:var(--button-light-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.table{border-collapse:collapse;width:100%}.table thead tr{background-color:var(--color-3)}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px}.table th{color:var(--text-lighter);font-weight:500}.table tbody tr:hover{background-color:var(--color-1-5)}.badge{border-radius:3px;margin-right:8px;padding:4px 8px;font-size:12px;display:inline-block}.badge-danger{background-color:var(--button-danger);color:var(--text-lighter)}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--light-background);border:1px solid var(--color-3);border-radius:4px;width:90%;max-width:500px}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--color-3);justify-content:flex-end;gap:10px;padding:15px 20px;display:flex}.loading{text-align:center;color:var(--text-darker);padding:40px}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.right-5{right:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1000\]{z-index:1000}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-5{margin:calc(var(--spacing)*5)}.-my-2{margin-block:calc(var(--spacing)*-2)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-10{height:calc(var(--spacing)*10)}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.max-h-\[400px\]{max-height:400px}.min-h-10{min-height:calc(var(--spacing)*10)}.\!w-12{width:calc(var(--spacing)*12)!important}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[600px\]{max-width:600px}.min-w-\[100px\]{min-width:100px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.\!rounded-l-none{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.\!rounded-r-md{border-top-right-radius:var(--radius-md)!important;border-bottom-right-radius:var(--radius-md)!important}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.\!border-r-0{border-right-style:var(--tw-border-style)!important;border-right-width:0!important}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-\[var\(--color-3\)\]{border-color:var(--color-3)}.border-\[var\(--color-4\)\]{border-color:var(--color-4)}.\!bg-\[var\(--color-3\)\]{background-color:var(--color-3)!important}.bg-\[var\(--color-1\)\]{background-color:var(--color-1)}.bg-\[var\(--color-2\)\]{background-color:var(--color-2)}.bg-\[var\(--color-3\)\]{background-color:var(--color-3)}.bg-\[var\(--color-4\)\]{background-color:var(--color-4)}.bg-\[var\(--light-background\)\]{background-color:var(--light-background)}.bg-\[var\(--text-inverse\)\]{background-color:var(--text-inverse)}.bg-black{background-color:var(--color-black)}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.\!py-1\.5{padding-block:calc(var(--spacing)*1.5)!important}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-2{padding-top:calc(var(--spacing)*2)}.pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--danger\,\#f44336\)\]{color:var(--danger,#f44336)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-secondary\,\#888\)\]{color:var(--text-secondary,#888)}.text-blue-500{color:var(--color-blue-500)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:inline:is(:where(.group):hover *){display:inline}.hover\:underline:hover{text-decoration-line:underline}}@media(min-width:40rem){.sm\:inline{display:inline}}.dotted{border-bottom:1px dotted var(--text);cursor:help}.error{color:var(--error)}}@font-face{font-family:Cuprum;font-style:normal;font-display:swap;font-weight:400;src:url(./cuprum-cyrillic-ext-400-normal.CT5q4ZVh.woff2)format("woff2"),url(./cuprum-cyrillic-ext-400-normal.iCCFJ4Gn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cuprum;font-style:normal;font-display:swap;font-weight:400;src:url(./cuprum-cyrillic-400-normal.Cnibl3-L.woff2)format("woff2"),url(./cuprum-cyrillic-400-normal.RKIjpA76.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cuprum;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(./cuprum-vietnamese-400-normal.uXRi1gw5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cuprum;font-style:normal;font-display:swap;font-weight:400;src:url(./cuprum-latin-ext-400-normal.BWTJtpjo.woff2)format("woff2"),url(./cuprum-latin-ext-400-normal.BZXayy47.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cuprum;font-style:normal;font-display:swap;font-weight:400;src:url(./cuprum-latin-400-normal.CjFvNwMJ.woff2)format("woff2"),url(./cuprum-latin-400-normal.Cbwtr8a4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(./rajdhani-devanagari-400-normal.CTuj2HZW.woff2)format("woff2"),url(./rajdhani-devanagari-400-normal.BdIzgbsr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(./rajdhani-latin-ext-400-normal.DACPYgMx.woff2)format("woff2"),url(./rajdhani-latin-ext-400-normal.Der7ynDE.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(./rajdhani-latin-400-normal.CurJOxDW.woff2)format("woff2"),url(./rajdhani-latin-400-normal.C6_q4usG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root[data-theme=dark]{--color-1:#1c2430;--color-1-5:#222b39;--light-background:#293142;--color-3:#333d4d;--color-4:#3d475c;--background-color:var(--color-1);--border-color:var(--color-3);--text:#e0e0e0;--text-inverse:#1f1f1f;--text-darker:#919191;--text-lighter:#fff;--text-secondary:#999;--link:#c7e2ff;--error:#7f1010;--button-danger:#a31515;--button-danger-l:#a54c4c;--button-success:green;--button-success-l:#4e994e;--button-light:#e0e0e0;--button-light-hover:#fff;--code-namespace:#9cdcfe;--code-boolean:#569cd6;--code-null:#569cd6;--code-numbers:#b5cea8;--code-string:#ce9178;--code-links:#4e94ce;--code-summary:#6a9955;--code-regexp:#ce696b;--code-function:#dcdcaa;--border:1px solid var(--color-3)}:root[data-theme=light]{--color-1:#fafafa;--color-1-5:#f5f5f5;--light-background:#f0f0f0;--color-3:#e0e0e0;--color-4:#ccc;--background-color:var(--color-1);--border-color:var(--color-3);--text:#1f1f1f;--text-inverse:#e0e0e0;--text-darker:#6e6e6e;--text-lighter:#000;--text-secondary:#666;--link:#0056b3;--error:#e31c1c;--button-danger:#d13438;--button-danger-l:#e57373;--button-success:#2e7d32;--button-success-l:#66bb6a;--button-light:#404040;--button-light-hover:#262626;--code-namespace:#0070c1;--code-boolean:#00f;--code-null:#00f;--code-numbers:#098658;--code-string:#a31515;--code-links:#0451a5;--code-summary:green;--code-regexp:#d16969;--code-function:#795e26;--border:1px solid var(--color-3)}:root:not([data-theme]){--color-1:#1c2430;--color-1-5:#222b39;--light-background:#293142;--color-3:#333d4d;--color-4:#3d475c;--background-color:var(--color-1);--border-color:var(--color-3);--text:#e0e0e0;--text-inverse:#1f1f1f;--text-darker:#919191;--text-lighter:#fff;--text-secondary:#999;--link:#c7e2ff;--error:#7f1010;--button-danger:#a31515;--button-danger-l:#a54c4c;--button-success:green;--button-success-l:#4e994e;--button-light:#e0e0e0;--button-light-hover:#fff;--code-namespace:#9cdcfe;--code-boolean:#569cd6;--code-null:#569cd6;--code-numbers:#b5cea8;--code-string:#ce9178;--code-links:#4e94ce;--code-summary:#6a9955;--code-regexp:#ce696b;--code-function:#dcdcaa;--border:1px solid var(--color-3)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.navbar.svelte-12qhfyh{background-color:var(--light-background);border-bottom:var(--border)}
@@ -1 +0,0 @@
1
- input.svelte-1o0c7a1,textarea.svelte-1o0c7a1{border-radius:0}
@@ -1 +0,0 @@
1
- .table.svelte-l3ef1w tbody:where(.svelte-l3ef1w) td:where(.svelte-l3ef1w){vertical-align:top}.shrink-column.svelte-l3ef1w{width:1%;white-space:nowrap}.index-key.svelte-l3ef1w{display:inline-flex;align-items:center;border-radius:3px;padding:4px 8px;font-size:12px;font-family:monospace;background-color:var(--color-3);color:var(--text);border:1px solid var(--color-4)}.badge-unique.svelte-l3ef1w{background-color:var(--button-success);color:var(--text-lighter)}.badge-sparse.svelte-l3ef1w{background-color:#f59f0a;color:var(--text-inverse)}.badge-partial.svelte-l3ef1w{background-color:#3c71dd;color:var(--text-lighter)}.badge-hidden.svelte-l3ef1w{background-color:#666;color:var(--text-lighter)}.btn-outline-light.svelte-l3ef1w{background:transparent;color:var(--text);border-color:var(--color-4)}.btn-outline-light.svelte-l3ef1w:hover{background-color:var(--color-3)}.details-link.svelte-l3ef1w{font-size:.875rem;color:var(--link);cursor:pointer}.details-link.svelte-l3ef1w:hover{text-decoration:underline}.details-content.svelte-l3ef1w{margin-top:8px;border-radius:4px;padding:12px;font-family:monospace;font-size:.875rem;background-color:var(--color-1);border:1px solid var(--border-color);max-width:600px}
@@ -1 +0,0 @@
1
- .modal-header.svelte-ta60gp{padding:20px 20px 0}.modal-header.svelte-ta60gp h3:where(.svelte-ta60gp){margin:0;font-size:1.25rem;font-weight:500}