{"_id":"@aguspe/tiler-editor","_rev":"5-a285a21f9067682e859857bcb8865e30","name":"@aguspe/tiler-editor","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@aguspe/tiler-editor","version":"1.0.0","license":"MIT","_id":"@aguspe/tiler-editor@1.0.0","maintainers":[{"name":"aguspe","email":"agustin.pe94@gmail.com"}],"homepage":"https://github.com/aguspe/tiler-ts/tree/main/packages/editor","bugs":{"url":"https://github.com/aguspe/tiler-ts/issues"},"dist":{"shasum":"4a4efef86aae7264ab1fafffdf42eac50166ab37","tarball":"https://registry.npmjs.org/@aguspe/tiler-editor/-/tiler-editor-1.0.0.tgz","fileCount":14,"integrity":"sha512-Lm1G2eNldGg9542a7U/cUapNKm37sSd2JszpOBOjXwzhwqNfEp6sQ+1kFBTTpXz//9t7Hw5Wf4cAu0BuIn8wSQ==","signatures":[{"sig":"MEYCIQC3E0xIzT7WNRW8fSRtx9prvPN+WHOL0LFUT0uhFU2ZowIhAN1U84s3n5Jk9ncN4ZIDIyPNW4TXCagGV5hva8PZ8bJi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5157629},"main":"./dist/server/index.cjs","type":"module","_from":"file:aguspe-tiler-editor-1.0.0.tgz","types":"./dist/server/index.d.ts","module":"./dist/server/index.js","exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.cjs"},"./client/*":"./dist/client/*"},"scripts":{"test":"vitest run","build":"tsup && vite build","typecheck":"tsc --noEmit","build:client":"vite build","build:server":"tsup"},"_npmUser":{"name":"aguspe","email":"agustin.pe94@gmail.com"},"_resolved":"/tmp/87ee6518d3faaab5f1887f2f3f0526bd/aguspe-tiler-editor-1.0.0.tgz","_integrity":"sha512-Lm1G2eNldGg9542a7U/cUapNKm37sSd2JszpOBOjXwzhwqNfEp6sQ+1kFBTTpXz//9t7Hw5Wf4cAu0BuIn8wSQ==","repository":{"url":"git+https://github.com/aguspe/tiler-ts.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"Gridstack-based authoring UX for tiler-ts. Drag/resize panels, drawer config editor, palette, theme tokens.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zustand":"^5.0.0","gridstack":"^11.0.0","react-focus-lock":"^2.13.0","@aguspe/tiler-core":"1.0.0","@aguspe/tiler-viewer":"1.0.0","@aguspe/tiler-widgets":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.1.0","react-dom":"^18.3.0","typescript":"^5.6.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.5.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/tiler-editor_1.0.0_1777730317641_0.8305390737034162","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aguspe/tiler-editor","version":"1.0.1","license":"MIT","_id":"@aguspe/tiler-editor@1.0.1","maintainers":[{"name":"aguspe","email":"agustin.pe94@gmail.com"}],"homepage":"https://github.com/aguspe/tiler-ts/tree/main/packages/editor","bugs":{"url":"https://github.com/aguspe/tiler-ts/issues"},"dist":{"shasum":"e44ada83f991b1840fd97d3067523ee276436fde","tarball":"https://registry.npmjs.org/@aguspe/tiler-editor/-/tiler-editor-1.0.1.tgz","fileCount":14,"integrity":"sha512-qlRTmnB04NH9wBdsdWR5DQMZIeFnMhA5F6O3dvTGGiEw8gn3QUeHPCzZYFnk/Iw9A/3xuKEL8l5f7EIQe0r+KA==","signatures":[{"sig":"MEUCIAUNHYTN0FuHI3GKWaNEFTIdB7hvhRxfk4lKj8a2JiQpAiEAm5ljrVewqv8aZqYeBsR1Zspx01Vy14T3obU8Copel7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5157629},"main":"./dist/server/index.cjs","type":"module","_from":"file:aguspe-tiler-editor-1.0.1.tgz","types":"./dist/server/index.d.ts","module":"./dist/server/index.js","exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.cjs"},"./client/*":"./dist/client/*"},"scripts":{"test":"vitest run","build":"tsup && vite build","typecheck":"tsc --noEmit","build:client":"vite build","build:server":"tsup"},"_npmUser":{"name":"aguspe","email":"agustin.pe94@gmail.com"},"_resolved":"/tmp/cf01917d4cfd7939afc8b468701a3316/aguspe-tiler-editor-1.0.1.tgz","_integrity":"sha512-qlRTmnB04NH9wBdsdWR5DQMZIeFnMhA5F6O3dvTGGiEw8gn3QUeHPCzZYFnk/Iw9A/3xuKEL8l5f7EIQe0r+KA==","repository":{"url":"git+https://github.com/aguspe/tiler-ts.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"Gridstack-based authoring UX for tiler-ts. Drag/resize panels, drawer config editor, palette, theme tokens.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zustand":"^5.0.0","gridstack":"^11.0.0","react-focus-lock":"^2.13.0","@aguspe/tiler-core":"1.0.0","@aguspe/tiler-viewer":"1.0.1","@aguspe/tiler-widgets":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.1.0","react-dom":"^18.3.0","typescript":"^5.6.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.5.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/tiler-editor_1.0.1_1777731922277_0.17396964923505043","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aguspe/tiler-editor","version":"1.0.2","license":"MIT","_id":"@aguspe/tiler-editor@1.0.2","maintainers":[{"name":"aguspe","email":"agustin.pe94@gmail.com"}],"homepage":"https://github.com/aguspe/tiler-ts/tree/main/packages/editor","bugs":{"url":"https://github.com/aguspe/tiler-ts/issues"},"dist":{"shasum":"7d7d5eb66fc7d3de133c7d63fd4572d22bcb5c7f","tarball":"https://registry.npmjs.org/@aguspe/tiler-editor/-/tiler-editor-1.0.2.tgz","fileCount":14,"integrity":"sha512-uctZCiD+E4zhRsw4rxZsIMpWw/mCB3nccalUZClGt0phCqXACW23kq2XRqa559KMC+VazbFxdPVPbksOcTjucw==","signatures":[{"sig":"MEUCIQDNlTFEv88c7O3of/U1vNGSkvZZdtG0MguwOocgjVkCFgIgS/XTTpMUxbPQg/cR6eOkrbC+ZZ9wHu0CoRE2tk01CpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5157847},"main":"./dist/server/index.cjs","type":"module","_from":"file:aguspe-tiler-editor-1.0.2.tgz","types":"./dist/server/index.d.ts","module":"./dist/server/index.js","exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.cjs"},"./client/*":"./dist/client/*"},"scripts":{"test":"vitest run","build":"tsup && vite build","typecheck":"tsc --noEmit","build:client":"vite build","build:server":"tsup"},"_npmUser":{"name":"aguspe","email":"agustin.pe94@gmail.com"},"_resolved":"/tmp/2d5b858f82cb104ac2e08c30f87cdfc0/aguspe-tiler-editor-1.0.2.tgz","_integrity":"sha512-uctZCiD+E4zhRsw4rxZsIMpWw/mCB3nccalUZClGt0phCqXACW23kq2XRqa559KMC+VazbFxdPVPbksOcTjucw==","repository":{"url":"git+https://github.com/aguspe/tiler-ts.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"Gridstack-based authoring UX for tiler-ts. Drag/resize panels, drawer config editor, palette, theme tokens.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zustand":"^5.0.0","gridstack":"^11.0.0","react-focus-lock":"^2.13.0","@aguspe/tiler-core":"1.0.0","@aguspe/tiler-viewer":"1.0.2","@aguspe/tiler-widgets":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.1.0","react-dom":"^18.3.0","typescript":"^5.6.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.5.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/tiler-editor_1.0.2_1777733197552_0.02013065339066289","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aguspe/tiler-editor","version":"1.0.3","license":"MIT","_id":"@aguspe/tiler-editor@1.0.3","maintainers":[{"name":"aguspe","email":"agustin.pe94@gmail.com"}],"homepage":"https://github.com/aguspe/tiler-ts/tree/main/packages/editor","bugs":{"url":"https://github.com/aguspe/tiler-ts/issues"},"dist":{"shasum":"3faeeb855ee756786b73af6b1b5f72db24057882","tarball":"https://registry.npmjs.org/@aguspe/tiler-editor/-/tiler-editor-1.0.3.tgz","fileCount":14,"integrity":"sha512-+zhpeqH6ZEgbGiRbbBTUSu/9TmhrWi1JIeMIGBt1yBnfnCpjBvw7F/RGtmESs/W48q/AnISRMqwa4SGW4/g4gQ==","signatures":[{"sig":"MEUCIQDNaIWRQsfG82UMo0QPJ/CInmploYxfSioqc4PemrVdxgIgWl+HPHn1iwIPQLglITFC+kXk7n6+Sba9LOStdBzZUcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5157847},"main":"./dist/server/index.cjs","type":"module","_from":"file:aguspe-tiler-editor-1.0.3.tgz","types":"./dist/server/index.d.ts","module":"./dist/server/index.js","exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.cjs"},"./client/*":"./dist/client/*"},"scripts":{"test":"vitest run","build":"tsup && vite build","typecheck":"tsc --noEmit","build:client":"vite build","build:server":"tsup"},"_npmUser":{"name":"aguspe","email":"agustin.pe94@gmail.com"},"_resolved":"/tmp/5c41b7a91a7365fe87da08b0eff5a9d2/aguspe-tiler-editor-1.0.3.tgz","_integrity":"sha512-+zhpeqH6ZEgbGiRbbBTUSu/9TmhrWi1JIeMIGBt1yBnfnCpjBvw7F/RGtmESs/W48q/AnISRMqwa4SGW4/g4gQ==","repository":{"url":"git+https://github.com/aguspe/tiler-ts.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"Gridstack-based authoring UX for tiler-ts. Drag/resize panels, drawer config editor, palette, theme tokens.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zustand":"^5.0.0","gridstack":"^11.0.0","react-focus-lock":"^2.13.0","@aguspe/tiler-core":"1.0.0","@aguspe/tiler-viewer":"1.0.3","@aguspe/tiler-widgets":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.1.0","react-dom":"^18.3.0","typescript":"^5.6.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.5.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/tiler-editor_1.0.3_1777765768720_0.46016154853250324","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aguspe/tiler-editor","version":"1.1.0","description":"Gridstack-based authoring UX for tiler-ts. Drag/resize panels, drawer config editor, palette, theme tokens.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/aguspe/tiler-ts.git","directory":"packages/editor"},"homepage":"https://github.com/aguspe/tiler-ts/tree/main/packages/editor","publishConfig":{"access":"public"},"type":"module","main":"./dist/server/index.cjs","module":"./dist/server/index.js","types":"./dist/server/index.d.ts","exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.cjs"},"./client/*":"./dist/client/*"},"dependencies":{"gridstack":"^11.0.0","react-focus-lock":"^2.13.0","zustand":"^5.0.0","@aguspe/tiler-core":"1.3.0","@aguspe/tiler-viewer":"1.1.13","@aguspe/tiler-widgets":"1.2.2"},"peerDependencies":{"react":">=18","react-dom":">=18"},"devDependencies":{"@testing-library/jest-dom":"^6.5.0","@testing-library/react":"^16.0.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","jsdom":"^25.0.0","react":"^18.3.0","react-dom":"^18.3.0","tsup":"^8.3.0","typescript":"^5.6.0","vite":"^5.4.0","vitest":"^2.1.0"},"scripts":{"build":"tsup && vite build","build:server":"tsup","build:client":"vite build","test":"vitest run","typecheck":"tsc --noEmit"},"_id":"@aguspe/tiler-editor@1.1.0","bugs":{"url":"https://github.com/aguspe/tiler-ts/issues"},"_integrity":"sha512-LbPaV1X2zQ9rEe+Fu2DT1k8uv2fUiz0Ai2jnzrSK7UNJYHLiPSMTao8+LmYu7XxV5tgfx/UiybQXqvEggPKz9g==","_resolved":"/tmp/1e91564cd553cff17413c4f56241f117/aguspe-tiler-editor-1.1.0.tgz","_from":"file:aguspe-tiler-editor-1.1.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-LbPaV1X2zQ9rEe+Fu2DT1k8uv2fUiz0Ai2jnzrSK7UNJYHLiPSMTao8+LmYu7XxV5tgfx/UiybQXqvEggPKz9g==","shasum":"288436471aabd51e7df4707e087a36d9dcd2f286","tarball":"https://registry.npmjs.org/@aguspe/tiler-editor/-/tiler-editor-1.1.0.tgz","fileCount":14,"unpackedSize":5241446,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFYrT1iYSPPb3wi3J0N4oCDXEp0EMC7/chCwi2vFuq4sAiBeeQH9g/NAxvyBDnDqP/Cq11s425Jr7kqBNDRaxtq9qg=="}]},"_npmUser":{"name":"aguspe","email":"agustin.pe94@gmail.com"},"directories":{},"maintainers":[{"name":"aguspe","email":"agustin.pe94@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tiler-editor_1.1.0_1777969161855_0.03695530406291958"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-02T13:58:37.537Z","modified":"2026-05-05T08:19:22.217Z","1.0.0":"2026-05-02T13:58:37.897Z","1.0.1":"2026-05-02T14:25:22.490Z","1.0.2":"2026-05-02T14:46:37.769Z","1.0.3":"2026-05-02T23:49:28.995Z","1.1.0":"2026-05-05T08:19:22.092Z"},"bugs":{"url":"https://github.com/aguspe/tiler-ts/issues"},"license":"MIT","homepage":"https://github.com/aguspe/tiler-ts/tree/main/packages/editor","repository":{"type":"git","url":"git+https://github.com/aguspe/tiler-ts.git","directory":"packages/editor"},"description":"Gridstack-based authoring UX for tiler-ts. Drag/resize panels, drawer config editor, palette, theme tokens.","maintainers":[{"name":"aguspe","email":"agustin.pe94@gmail.com"}],"readme":"# `@aguspe/tiler-editor`\n\nThe drag-and-drop dashboard editor. SSR'd by `@aguspe/tiler-server` at `/dashboards/:slug` and hydrated over the prebuilt client bundle.\n\n## Features\n\n- **Drag/drop palette** with cursor-image preview and a dashed drop ghost that snaps to the target cell. Newly dropped widgets pre-fill from `widget.example()` so they render real data immediately.\n- **Slide-in palette** that pushes the grid (not an overlay). Closes on outside-click.\n- **Drawer with live preview** + `Use example` button.\n- **Auto-save** on every store change (600 ms debounce). No save button.\n- **Inline title rename** (double-click anywhere a title shows) and a **custom delete confirm modal**.\n- **Floating undo/redo bar** + ⌘Z / ⌘⇧Z.\n- **TV mode** — kiosk view that hides the chrome.\n- **Dark/light toggle**, independent of TV mode.\n- **Resize from any edge or corner** — invisible handles, just the cursor change.\n\n## Install\n\n```bash\nnpm i @aguspe/tiler-editor @aguspe/tiler-server\n```\n\nThe editor is normally served as part of `@aguspe/tiler-server`; you don't import the React component directly unless you're embedding the editor in a custom Node host.\n\n## Direct SSR API\n\n```ts\nimport { renderEditorHtml } from \"@aguspe/tiler-editor\";\nimport \"@aguspe/tiler-widgets\";\n\nconst html = renderEditorHtml({\n  dashboard,\n  dataSources,\n  panels,\n  snapshot,\n  clientAssetPath: \"/assets/editor-entry-…js\",\n  cssAssetPath: \"/assets/editor-…css\",\n});\n```\n\n## License\n\nMIT — see [`LICENSE`](../../LICENSE).\n","readmeFilename":"README.md"}