CoolFace
Apppublic

admin08077/Githubgemini

sourceHugging Faceotherupdated 10mo agoView on Hugging Face
0likes
JsonTreeNavigator-DZbZ3r2H.js14 linesDownload Raw Back to assets
1import{r as d,j as e}from"./react-CIdJ77ke.js";import{P as f}from"./index-CX7Qxd1D.js";import"./@braintree-DzxiOROe.js";import"./react-dom-R9L8nDNe.js";import"./scheduler-CoSDG3-6.js";import"./@google-CcUHq7Ay.js";import"./idb-Dob3nYDb.js";import"./marked-BrGMJkBT.js";import"./mermaid-KwKZWwy0.js";import"./dayjs-CeEF-NGT.js";import"./d3-transition-CiCB8KJE.js";import"./d3-timer-DdKHrDhs.js";import"./d3-dispatch-kxCwF96_.js";import"./d3-interpolate-CtIaNujU.js";import"./d3-color-amxIadob.js";import"./d3-selection-C52G7wmG.js";import"./d3-ease-DRPgKoYJ.js";import"./d3-zoom-BYoC3mS3.js";import"./dompurify-J5RlrwSC.js";import"./dagre-d3-es-CTpFWynZ.js";import"./lodash-es-Dt6r0yiR.js";import"./d3-shape-CX8xTzfR.js";import"./d3-path-CimkQT29.js";import"./d3-fetch-BOsq7VnW.js";import"./khroma-DUX6PT6k.js";import"./uuid-DhYbOkY1.js";import"./d3-scale-DRZz3QW5.js";import"./internmap-BkD7Hj8s.js";import"./d3-array-DGRYoJHh.js";import"./d3-format-CzD4bSOQ.js";import"./d3-time-format-CUNN4Ell.js";import"./d3-time-6cSPyVSY.js";import"./d3-axis-DSWTncID.js";import"./elkjs-oKFFZvz7.js";import"./cytoscape-DtBltrT8.js";import"./cytoscape-cose-bilkent-Cgr1thlj.js";import"./cose-base-CwCxnKwh.js";import"./layout-base-CMXQqlmj.js";import"./d3-sankey-DgqkLiUE.js";import"./d3-scale-chromatic-B-NsZVaP.js";import"./ts-dedent-DrFu-skq.js";import"./stylis-D5iaQeiq.js";import"./mdast-util-from-markdown-CLAsVoWb.js";import"./micromark-CTBPIv-_.js";import"./micromark-util-combine-extensions-Bka6Sc1c.js";import"./micromark-util-chunked-DrRIdSP-.js";import"./micromark-factory-space-x2vfxbz5.js";import"./micromark-util-character-Bcm1tP9o.js";import"./micromark-core-commonmark-AH8VCgT7.js";import"./micromark-util-classify-character-Cq7Fg3xE.js";import"./micromark-util-resolve-all-PQCKh0dx.js";import"./decode-named-character-reference-C3-224fz.js";import"./micromark-util-subtokenize-QwsxNXk2.js";import"./micromark-factory-destination-CypD_wgM.js";import"./micromark-factory-label-CRHH4ZHP.js";import"./micromark-factory-title-B7kCBvC9.js";import"./micromark-factory-whitespace-B322EA6O.js";import"./micromark-util-normalize-identifier-C9ANKk3v.js";import"./micromark-util-html-tag-name-DbKNfynz.js";import"./micromark-util-decode-numeric-character-reference-DRnCnno4.js";import"./micromark-util-decode-string-DJl8Y_PO.js";import"./unist-util-stringify-position-Ch_qCilz.js";import"./mdast-util-to-string-C_aolqmU.js";import"./jszip-CFFhfFtd.js";import"./octokit-B6bKu3NB.js";import"./@octokit-MBEWYTsi.js";import"./bottleneck-D_vuF9V7.js";import"./universal-user-agent-CLgqIJsR.js";import"./before-after-hook-y8XtM9xW.js";import"./fast-content-type-parse-3SwieiST.js";const u=({data:r,nodeKey:m,isRoot:s=!1})=>{const[t,a]=d.useState(s),p=typeof r=="object"&&r!==null,i=()=>a(!t);if(!p)return e.jsxs("div",{className:"ml-4 pl-4 border-l border-border",children:[e.jsxs("span",{className:"text-purple-700",children:[m,": "]}),e.jsx("span",{className:typeof r=="string"?"text-green-700":"text-orange-700",children:typeof r=="string"?`"${r}"`:String(r)})]});const l=Object.entries(r),n=Array.isArray(r)?"[]":"{}";return e.jsxs("div",{className:`ml-4 ${s?"":"pl-4 border-l border-border"}`,children:[e.jsxs("button",{onClick:i,className:"flex items-center cursor-pointer hover:bg-gray-100 rounded px-1",children:[e.jsx("span",{className:`transform transition-transform ${t?"rotate-90":"rotate-0"}`,children:"▶"}),e.jsxs("span",{className:"ml-1 text-purple-700",children:[m,":"]}),e.jsx("span",{className:"ml-2 text-text-secondary",children:n[0]}),!t&&e.jsxs("span",{className:"text-text-secondary",children:["...",n[1]]})]}),t&&e.jsxs("div",{children:[l.map(([c,o])=>e.jsx(u,{nodeKey:c,data:o},c)),e.jsx("div",{className:"text-text-secondary ml-4",children:n[1]})]})]})},Te=({initialData:r})=>{const m=`{2  "id": "devcore-001",3  "active": true,4  "features": [5    "ai-explainer",6    "api-tester"7  ],8  "config": {9    "theme": "dark",10    "version": 111  }12}`,[s,t]=d.useState(r?JSON.stringify(r,null,2):m),[a,p]=d.useState(()=>{try{return JSON.parse(s)}catch{return null}}),[i,l]=d.useState(""),n=o=>{try{const x=JSON.parse(o);p(x),l("")}catch(x){x instanceof Error&&l(x.message),p(null)}},c=o=>{t(o.target.value),n(o.target.value)};return e.jsxs("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8 text-text-primary",children:[e.jsxs("header",{className:"mb-6",children:[e.jsxs("h1",{className:"text-3xl font-bold flex items-center",children:[e.jsx(f,{}),e.jsx("span",{className:"ml-3",children:"JSON Tree Navigator"})]}),e.jsx("p",{className:"text-text-secondary mt-1",children:"Paste your JSON data to visualize it as a collapsible tree."})]}),e.jsxs("div",{className:"flex-grow flex flex-col gap-4 min-h-0",children:[e.jsxs("div",{className:"flex flex-col h-2/5 min-h-[200px]",children:[e.jsx("label",{htmlFor:"json-input",className:"text-sm font-medium text-text-secondary mb-2",children:"JSON Input"}),e.jsx("textarea",{id:"json-input",value:s,onChange:c,className:`flex-grow p-4 bg-surface border ${i?"border-red-500":"border-border"} rounded-md resize-y font-mono text-sm focus:ring-2 focus:ring-primary focus:outline-none`}),i&&e.jsx("p",{className:"text-red-500 text-xs mt-1",children:i})]}),e.jsxs("div",{className:"flex flex-col flex-grow min-h-0",children:[e.jsx("label",{className:"text-sm font-medium text-text-secondary mb-2",children:"Tree View"}),e.jsx("div",{className:"flex-grow p-4 bg-surface border border-border rounded-md overflow-y-auto font-mono text-sm",children:a?e.jsx(u,{data:a,nodeKey:"root",isRoot:!0}):e.jsx("div",{className:"text-text-secondary",children:"Enter valid JSON to view"})})]})]})]})};export{Te as JsonTreeNavigator};13//# sourceMappingURL=JsonTreeNavigator-DZbZ3r2H.js.map14