{"_id":"cursedbelt","_rev":"71-9a41acb8c059dc767f14483deeda8742","name":"cursedbelt","dist-tags":{"latest":"5.39.0"},"versions":{"0.0.0":{"name":"cursedbelt","version":"0.0.0","_id":"cursedbelt@0.0.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"dist":{"shasum":"af4fbdd0f136eacc58975b2d59c9bb28f87d806b","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-0.0.0.tgz","fileCount":1360,"integrity":"sha512-8rV6kzPRJYzaLAb9TA8QTtfNaAEYWCBcc/7OItnK5cEFPxsMFQgCkPUaUjr7GQShIdLQiMMTLmAtvgv2Cu4psQ==","signatures":[{"sig":"MEUCIA143KCAHSmoq/o9F3Nq3gn1YR3sZyiIUKxPv7qv1rnXAiEA8kLK6H5oLHjqiIJFl7ipVndweRMTNPMQCQ82p0qVnG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2419050},"type":"module","shasum":"af4fbdd0f136eacc58975b2d59c9bb28f87d806b","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./ctgr":{"types":"./dist/ctgr/index.d.ts","import":"./dist/ctgr/index.js","source":"./src/ctgr/index.ts"},"./game":{"types":"./dist/game/core/index.d.ts","import":"./dist/game/core/index.js","source":"./src/game/core/index.ts"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./layout":{"types":"./dist/core/layout/index.d.ts","import":"./dist/core/layout/index.js","source":"./src/core/layout/index.ts"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./palette":{"types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./theme.css":"./src/theme.css","./game/react":{"types":"./dist/game/react/index.d.ts","import":"./dist/game/react/index.js","source":"./src/game/react/index.ts"},"./media-core":{"types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./styles.css":"./src/styles.css","./react/media":{"types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./server/media":{"types":"./dist/server/media-bun/index.d.ts","import":"./dist/server/media-bun/index.js","source":"./src/server/media-bun/index.ts"},"./react/scroll-area":{"types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./react/media/mask-painter":{"types":"./dist/react/media/MaskPainter.d.ts","import":"./dist/react/media/MaskPainter.js","source":"./src/react/media/MaskPainter.tsx"}},"private":false,"scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"cd demo && bun run dev","done":"bun run typecheck && bun run lint && bun run test && bun run build","lint":"biome check .","test":"bun test src","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.build.server.json","format":"biome format --write .","relink":"bun run scripts/relinkFirstParty.ts","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json","postinstall":"bun run scripts/relinkFirstParty.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"_integrity":"sha512-8rV6kzPRJYzaLAb9TA8QTtfNaAEYWCBcc/7OItnK5cEFPxsMFQgCkPUaUjr7GQShIdLQiMMTLmAtvgv2Cu4psQ==","_npmVersion":"10.8.3","description":"Shared Bun + React framework","directories":{},"_nodeVersion":"24.3.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^2.7.0","hono":"^4.12.26","jose":"^6.2.3","kysely":"^0.28.17","otplib":"^13.4.1","sonner":"^2.0.7","zustand":"^5.0.14","plainjob":"^0.0.14","papaparse":"^5.5.4","emoji-mart":"^5.6.0","partysocket":"^1.2.0","lucide-react":"^1.21.0","@dnd-kit/core":"^6.3.1","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@dnd-kit/sortable":"^10.0.0","@emoji-mart/react":"^1.1.1","kysely-bun-sqlite":"^0.4.0","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@radix-ui/react-label":"^2.1.10","@radix-ui/react-toast":"^1.2.17","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-switch":"^1.3.1","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-separator":"^1.1.10","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-scroll-area":"^1.2.12","@radix-ui/react-dropdown-menu":"^2.1.18","@radix-ui/react-navigation-menu":"^1.2.16"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","konva":"^10.3.0","sharp":"^0.35.2","recharts":"^3.8.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","typescript":"^6.0.3","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@types/react":"^19.2.17","@biomejs/biome":"^2.5.0","@vidstack/react":"1.15.6","@playwright/test":"^1.61.0","@types/papaparse":"^5.5.2","@types/react-dom":"^19.2.3","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@testing-library/dom":"^10.4.1","@tanstack/react-query":"^5.69.0","@testing-library/react":"^16.3.2","@tanstack/react-virtual":"^3.14.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6"},"peerDependencies":{"zod":"^4.4.0","react":"^19.2.7","sharp":">=0.33","recharts":">=3","react-dom":"^19.2.7","mediabunny":">=1","@vidstack/react":">=1","react-photo-album":">=3","@tanstack/react-query":">=5","@tanstack/react-virtual":">=3","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","react-filerobot-image-editor":">=5.0.0-beta"},"peerDependenciesMeta":{"sharp":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"@vidstack/react":{"optional":true},"react-photo-album":{"optional":true},"@tanstack/react-query":{"optional":true},"@tanstack/react-virtual":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"react-filerobot-image-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_0.0.0_1782584687381_0.3770909778577691","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"cursedbelt","version":"1.0.0","license":"ISC","_id":"cursedbelt@1.0.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"541024392a48869e65ad7ffcb6f026a3793840e5","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-1.0.0.tgz","fileCount":5446,"integrity":"sha512-Enb6AaRLQqH4nttFLoTAgNIHf3/FKLOhqSVJhfD4hR3PGyTBPYQnh8UN1uHbALBJbsCH5P2EuS1WhLgSyMKhnw==","signatures":[{"sig":"MEQCIHernG2PB7lekvj5Emm7ftu0Qehd9vVkQTr2avF6GaBQAiA65aQskXrfvxWE6c6L4+i7N4tZbI1Gy8N9n16PxyjWPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21912454},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./ctgr":{"bun":"./src/ctgr/index.ts","types":"./dist/ctgr/index.d.ts","import":"./dist/ctgr/index.js","source":"./src/ctgr/index.ts"},"./game":{"bun":"./src/game/core/index.ts","types":"./dist/game/core/index.d.ts","import":"./dist/game/core/index.js","source":"./src/game/core/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./layout":{"bun":"./src/core/layout/index.ts","types":"./dist/core/layout/index.d.ts","import":"./dist/core/layout/index.js","source":"./src/core/layout/index.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./tokens":{"bun":"./src/core/tokens/registry.ts","types":"./dist/core/tokens/registry.d.ts","import":"./dist/core/tokens/registry.js","source":"./src/core/tokens/registry.ts"},"./upload":{"bun":"./src/upload.ts","types":"./dist/upload.d.ts","import":"./dist/upload.js","source":"./src/upload.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./category":{"bun":"./src/core/category/index.ts","types":"./dist/core/category/index.d.ts","import":"./dist/core/category/index.js","source":"./src/core/category/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./namespace":{"bun":"./src/core/namespace/index.ts","types":"./dist/core/namespace/index.d.ts","import":"./dist/core/namespace/index.js","source":"./src/core/namespace/index.ts"},"./react/seo":{"bun":"./src/react/seo/index.ts","types":"./dist/react/seo/index.d.ts","import":"./dist/react/seo/index.js","source":"./src/react/seo/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./duplicates":{"bun":"./src/core/duplicates/index.ts","types":"./dist/core/duplicates/index.d.ts","import":"./dist/core/duplicates/index.js","source":"./src/core/duplicates/index.ts"},"./game/react":{"bun":"./src/game/react/index.ts","types":"./dist/game/react/index.d.ts","import":"./dist/game/react/index.js","source":"./src/game/react/index.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./server/ops":{"bun":"./src/server/ops/index.ts","types":"./dist/server/ops/index.d.ts","import":"./dist/server/ops/index.js","source":"./src/server/ops/index.ts"},"./server/seo":{"bun":"./src/server/seo/index.ts","types":"./dist/server/seo/index.d.ts","import":"./dist/server/seo/index.js","source":"./src/server/seo/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/canvas":{"bun":"./src/react/canvas/index.ts","types":"./dist/react/canvas/index.d.ts","import":"./dist/react/canvas/index.js","source":"./src/react/canvas/index.ts"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./server/media":{"bun":"./src/server/media-bun/index.ts","types":"./dist/server/media-bun/index.d.ts","import":"./dist/server/media-bun/index.js","source":"./src/server/media-bun/index.ts"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/timeline":{"bun":"./src/react/timeline/index.ts","types":"./dist/react/timeline/index.d.ts","import":"./dist/react/timeline/index.js","source":"./src/react/timeline/index.ts"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./verify/runtime":{"bun":"./src/verify/runtime/index.ts","types":"./dist/verify/runtime/index.d.ts","import":"./dist/verify/runtime/index.js","source":"./src/verify/runtime/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./server/private-media":{"bun":"./src/server/private-media/index.ts","types":"./dist/server/private-media/index.d.ts","import":"./dist/server/private-media/index.js","source":"./src/server/private-media/index.ts"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/mask-painter":{"bun":"./src/react/media/MaskPainter.tsx","types":"./dist/react/media/MaskPainter.d.ts","import":"./dist/react/media/MaskPainter.js","source":"./src/react/media/MaskPainter.tsx"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./react/media/canvas-video-player":{"bun":"./src/react/media/CanvasVideoPlayer.tsx","types":"./dist/react/media/CanvasVideoPlayer.d.ts","import":"./dist/react/media/CanvasVideoPlayer.js","source":"./src/react/media/CanvasVideoPlayer.tsx"}},"gitHead":"988a21a8695a7a4d477ab0e3d5cae3cca54126d4","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"cd demo && bun run dev","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","format":"biome format --write .","verify":"bun run typecheck && bun run build && bun run test","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:check":"bun run scripts/demoCheck.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**","**/game/core/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","papaparse":"^5.5.4","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@radix-ui/react-label":"^2.1.10","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-separator":"^1.1.10","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/papaparse":"^5.5.2","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","@tiptap/pm":">=3","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/lint":">=6","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@codemirror/search":">=6","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-link":">=3","@tiptap/extension-image":">=3","@codemirror/autocomplete":">=6","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"@tiptap/pm":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/lint":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@codemirror/search":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-link":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/autocomplete":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_1.0.0_1789269281731_0.9813636755122501","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"cursedbelt","version":"2.3.0","license":"ISC","_id":"cursedbelt@2.3.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"f79a8ff2695097e742cce6b7a7b78eb9bd0368da","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.3.0.tgz","fileCount":5298,"integrity":"sha512-OKbZRD9ZGDpQIhRrz7AyaALfM44NKwvZY5lnZzno8fpp6xAC84fxCwnYAUQ14YHH5JK13T8WmPA2pTqVmB6VZQ==","signatures":[{"sig":"MEYCIQC75E3Bvyf9570E61rd1W5BqKbYeXWehkx5cU+pIpLpbQIhALChJ3FBBYbR1Dge6+m8kyAL5LKrhQTrVyndg0yljPwo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21828801},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"acde35e6d8c633dd29af71a166855aee60ef345a","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","verify":"bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.3.0_1789402512423_0.7100315777800783","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"cursedbelt","version":"2.5.0","license":"ISC","_id":"cursedbelt@2.5.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"e84931fdab92158fa0e210b457317c368cdb6ddb","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.5.0.tgz","fileCount":5302,"integrity":"sha512-5wm8uPgFUAtpqgGpEdxQfGCVk6opHSCXzCEXv1K5qqr9IGT0etNQmiZLMcCwbybdrTq7Rdk4VEig3VRen2Nd5A==","signatures":[{"sig":"MEUCIQDbH+vC9MNyREzqz3+utiJbopDe6WNgzgBxe8rdU8Q1NwIgBYBKM71W6OfZQYer94LY5dqD0KCfsmKKDTZtIgM+UgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF+I/KcU8XBVVPU1zDL7vylM7RmvY7wNRN5jjZxCIUeNAiBi3iFNhCkqF/p1SkbKvt8ybkcKp6pDnJlaGSSHVQsXmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22134445},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./server/login-throttle":{"bun":"./src/server/auth/loginThrottle.ts","types":"./dist/server/auth/loginThrottle.d.ts","import":"./dist/server/auth/loginThrottle.js","source":"./src/server/auth/loginThrottle.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"8d51035025e1b7fedc772555b50aedf916721151","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","verify":"bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.5.0_1789444572746_0.41127096807765895","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"cursedbelt","version":"2.5.1","license":"ISC","_id":"cursedbelt@2.5.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"4ddd3359d6a44e1c6425c608932b8a7cb6327a33","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.5.1.tgz","fileCount":5302,"integrity":"sha512-AVybVdhq7V4xHy2EGqNUMfVCuDWTMVAh8zi26OrMY88Q1gzbppQzOX1fzDrgL2Kq89WGTQ7y3xSlP9/48hdPAw==","signatures":[{"sig":"MEYCIQCjJqGui+jvNy7fKDBPM1K2rzETVlRyOdEu8pSRXCpmpwIhAK7nEO6OVjQZam73ZzwyUjRr3HvSAJig6gTv+TnBpzQ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCUxF6GkesOKSmbK6AP8e3s8L6kc+U9W8kdJ0NtaopfHAIgOehIXydwelRALq8Rjm0qB1mLdAsGIYytUUiT6ioYjw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22134445},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./server/login-throttle":{"bun":"./src/server/auth/loginThrottle.ts","types":"./dist/server/auth/loginThrottle.d.ts","import":"./dist/server/auth/loginThrottle.js","source":"./src/server/auth/loginThrottle.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"25d12e6e2f52b5ac39ae6ac5932591412c56f3fa","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","verify":"bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.5.1_1789446126847_0.6232511588151441","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"cursedbelt","version":"2.6.0","license":"ISC","_id":"cursedbelt@2.6.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"775d9f596792422e70e857e3ab541965a33204d3","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.6.0.tgz","fileCount":5303,"integrity":"sha512-hCQPnqq4zhZn4KiJ9RO1ucnHE72E5cjrG12scdJh3PmlNxR5Q6BtgiT/6vUZ0wZgIEUmuzD2Uft6XwALOqPsUg==","signatures":[{"sig":"MEQCICMchCvaKXEi9G/KsdG7HsmUjjFkXNdj7j7OHF/xf/ZKAiBcMD7tIzQE7EjxUTPv8+ziZ/NOY2XrznLmwfHqeIgYdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDqVBOk0NpFfmc5betFhDMV6Wyzczv3APzQQWdh95wxeAiAn/j+0pehwwxXdfAwu0fN66HbugDRbgQu2js2gda1bhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22156171},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./server/storage/types":{"bun":"./src/server/storage/types.ts","types":"./dist/server/storage/types.d.ts","import":"./dist/server/storage/types.js","source":"./src/server/storage/types.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./server/login-throttle":{"bun":"./src/server/auth/loginThrottle.ts","types":"./dist/server/auth/loginThrottle.d.ts","import":"./dist/server/auth/loginThrottle.js","source":"./src/server/auth/loginThrottle.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"321c03abf70d430c799ccb6cfc42d956b623af93","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","verify":"bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.6.0_1789457593661_0.4552418973848249","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"cursedbelt","version":"2.6.1","license":"ISC","_id":"cursedbelt@2.6.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"0c58a983e329a22d05160141591ebfd7c3237e84","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.6.1.tgz","fileCount":5303,"integrity":"sha512-hHvkYu95dtrPR5TPab5DjNGS1YIjM+o9MEAQPSVsgrbYFBJRcFTmPdhvBNociPOXFQzK0/cwFSJ3MkLnHDp5AA==","signatures":[{"sig":"MEQCIEuKGSmWTkN+C4W1ypjSfxEJDvtudSucCDkPF7/dk5WGAiB47O+ZBxH2hIzdnAblHUaOSI4lmoeICNJrlgPbP0xkjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAnnIaI47UUGRPMrmTzlDCcYdRRRkpSMHe1Wmqnn4irdAiEAlRcr4cKolJLw4YZXG00ow5IQ9Ir3pNqPTZ0vYXp8sYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22159002},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/item-crypto":{"bun":"./src/server/auth/vault.ts","types":"./dist/server/auth/vault.d.ts","import":"./dist/server/auth/vault.js","source":"./src/server/auth/vault.ts"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./server/storage/types":{"bun":"./src/server/storage/types.ts","types":"./dist/server/storage/types.d.ts","import":"./dist/server/storage/types.js","source":"./src/server/storage/types.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./server/login-throttle":{"bun":"./src/server/auth/loginThrottle.ts","types":"./dist/server/auth/loginThrottle.d.ts","import":"./dist/server/auth/loginThrottle.js","source":"./src/server/auth/loginThrottle.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"0c485779cfcd1f428beee29f785f30a540c41027","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","verify":"bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.6.1_1789458272984_0.43038720581350653","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"cursedbelt","version":"2.7.0","license":"ISC","_id":"cursedbelt@2.7.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"4eebe183394af4067711a6e7624caaa2501ca4f8","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.7.0.tgz","fileCount":5367,"integrity":"sha512-vgGR7qNkxSBOasPxQCtywaKOVG+H/Wg4pPiGzebBBpd6PMT88n3E/zUARTpQ02iTqEE9Zt4yY+w066c7+vMRSQ==","signatures":[{"sig":"MEUCIQD1C40sV7hUi1qZ4E54Q9xOH37wvPkiOWliS3JNQv+sFAIgOwDU9r4OvE9v8izdibABv2BolPxgHaymG0DXhR6GKpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCJ0qtqRb23EbSZtXOQnSg15qHTlUQ7bevWbpYc0BtOoAIgWUgu+46SjGXZxkJXZ5OrvbCtp78QoZxm4SuTd/o3yfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22431543},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./sync":{"bun":"./src/server/sync/index.ts","types":"./dist/server/sync/index.d.ts","import":"./dist/server/sync/index.js","source":"./src/server/sync/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/item-crypto":{"bun":"./src/server/auth/vault.ts","types":"./dist/server/auth/vault.d.ts","import":"./dist/server/auth/vault.js","source":"./src/server/auth/vault.ts"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./server/storage/types":{"bun":"./src/server/storage/types.ts","types":"./dist/server/storage/types.d.ts","import":"./dist/server/storage/types.js","source":"./src/server/storage/types.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./server/login-throttle":{"bun":"./src/server/auth/loginThrottle.ts","types":"./dist/server/auth/loginThrottle.d.ts","import":"./dist/server/auth/loginThrottle.js","source":"./src/server/auth/loginThrottle.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"0c485779cfcd1f428beee29f785f30a540c41027","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","verify":"bun run paths && bun run typecheck && bun run demo:check && bun run build && bun run test && bun run e2e","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"tsc --noEmit && tsc --noEmit --project tsconfig.server.json && tsc --noEmit --project tsconfig.specs.json","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.7.0_1789470974617_0.5100567415986652","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"cursedbelt","version":"2.8.0","license":"ISC","_id":"cursedbelt@2.8.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"bin":{"cc-verify":"dist/verify/runtime/bin/ccVerify.js","cc-promote":"dist/verify/promotion/bin/ccPromote.js"},"dist":{"shasum":"d4cd8c0573776c55bb597da135c0e32bc9ac8c01","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-2.8.0.tgz","fileCount":5369,"integrity":"sha512-tXhjQI6MVIJz+RVwhw5Y7bA7HNzKIsAaBVXN2dZ86zIB8xrQ49IY1V9ic3YbsKSQf8tV0E9UyHZx/ArYjePqmA==","signatures":[{"sig":"MEYCIQDdE9ykYROtyilTlInVWMMh0SqXo/NqBbLbXSih8d1izwIhANM8fORmwhiYIpYj1nOprUCbtvL0tYhddyqfPN/lLCaI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB4HoE8MhqQk/2AwyKx2XcjgqkLgwi1qRcLBipdmb34sAiAUT7aTlS9c90AcDIjC52TJXOjquVaSqylzZg3eFzF9KQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22462949},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./nav":{"bun":"./src/core/navigation/index.ts","types":"./dist/core/navigation/index.d.ts","import":"./dist/core/navigation/index.js","source":"./src/core/navigation/index.ts"},"./sync":{"bun":"./src/server/sync/index.ts","types":"./dist/server/sync/index.d.ts","import":"./dist/server/sync/index.js","source":"./src/server/sync/index.ts"},"./wire":{"bun":"./src/core/wire/index.ts","types":"./dist/core/wire/index.d.ts","import":"./dist/core/wire/index.js","source":"./src/core/wire/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./client":{"bun":"./src/client/index.ts","types":"./dist/client/index.d.ts","import":"./dist/client/index.js","source":"./src/client/index.ts"},"./errors":{"bun":"./src/shared/errors.ts","types":"./dist/shared/errors.d.ts","import":"./dist/shared/errors.js","source":"./src/shared/errors.ts"},"./router":{"bun":"./src/client/router/index.ts","types":"./dist/client/router/index.d.ts","import":"./dist/client/router/index.js","source":"./src/client/router/index.ts"},"./server":{"bun":"./src/server/index.ts","types":"./dist/server/index.d.ts","import":"./dist/server/index.js","source":"./src/server/index.ts"},"./studio":{"bun":"./src/studio/index.ts","types":"./dist/studio/index.d.ts","import":"./dist/studio/index.js","source":"./src/studio/index.ts"},"./verify":{"bun":"./src/verify/index.ts","types":"./dist/verify/index.d.ts","import":"./dist/verify/index.js","source":"./src/verify/index.ts"},"./palette":{"bun":"./src/core/palette/index.ts","types":"./dist/core/palette/index.d.ts","import":"./dist/core/palette/index.js","source":"./src/core/palette/index.ts"},"./sharing":{"bun":"./src/core/sharing/index.ts","types":"./dist/core/sharing/index.d.ts","import":"./dist/core/sharing/index.js","source":"./src/core/sharing/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js","source":"./src/testing/index.ts"},"./activity":{"bun":"./src/core/activity/index.ts","types":"./dist/core/activity/index.d.ts","import":"./dist/core/activity/index.js","source":"./src/core/activity/index.ts"},"./analytics":{"bun":"./src/core/analytics/index.ts","types":"./dist/core/analytics/index.d.ts","import":"./dist/core/analytics/index.js","source":"./src/core/analytics/index.ts"},"./server/ws":{"bun":"./src/server/ws/index.ts","types":"./dist/server/ws/index.d.ts","import":"./dist/server/ws/index.js","source":"./src/server/ws/index.ts"},"./theme.css":"./src/theme.css","./app-config":{"bun":"./src/config/appConfig.ts","types":"./dist/config/appConfig.d.ts","import":"./dist/config/appConfig.js","source":"./src/config/appConfig.ts"},"./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./media-core":{"bun":"./src/core/media/index.ts","types":"./dist/core/media/index.d.ts","import":"./dist/core/media/index.js","source":"./src/core/media/index.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./folder-tree":{"bun":"./src/core/folder-tree/index.ts","types":"./dist/core/folder-tree/index.d.ts","import":"./dist/core/folder-tree/index.js","source":"./src/core/folder-tree/index.ts"},"./master-lock":{"bun":"./src/core/master-lock/index.ts","types":"./dist/core/master-lock/index.d.ts","import":"./dist/core/master-lock/index.js","source":"./src/core/master-lock/index.ts"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/studios":{"bun":"./src/react/studios/index.ts","types":"./dist/react/studios/index.d.ts","import":"./dist/react/studios/index.js","source":"./src/react/studios/index.ts"},"./server/mixins":{"bun":"./src/server/mixins/index.ts","types":"./dist/server/mixins/index.d.ts","import":"./dist/server/mixins/index.js","source":"./src/server/mixins/index.ts"},"./server/resume":{"bun":"./src/server/resume/index.ts","types":"./dist/server/resume/index.d.ts","import":"./dist/server/resume/index.js","source":"./src/server/resume/index.ts"},"./server/search":{"bun":"./src/server/search/index.ts","types":"./dist/server/search/index.d.ts","import":"./dist/server/search/index.js","source":"./src/server/search/index.ts"},"./server/sqlite":{"bun":"./src/server/sqlite/index.ts","types":"./dist/server/sqlite/index.d.ts","import":"./dist/server/sqlite/index.js","source":"./src/server/sqlite/index.ts"},"./server/stream":{"bun":"./src/server/stream/index.ts","types":"./dist/server/stream/index.d.ts","import":"./dist/server/stream/index.js","source":"./src/server/stream/index.ts"},"./workspace.css":"./src/workspace.css","./client/ws-wire":{"bun":"./src/client/wsWire.ts","types":"./dist/client/wsWire.d.ts","import":"./dist/client/wsWire.js","source":"./src/client/wsWire.ts"},"./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./server/drivers":{"bun":"./src/server/drivers/index.ts","types":"./dist/server/drivers/index.d.ts","import":"./dist/server/drivers/index.js","source":"./src/server/drivers/index.ts"},"./server/runtime":{"bun":"./src/server/runtime/index.ts","types":"./dist/server/runtime/index.d.ts","import":"./dist/server/runtime/index.js","source":"./src/server/runtime/index.ts"},"./server/sharing":{"bun":"./src/server/sharing/index.ts","types":"./dist/server/sharing/index.d.ts","import":"./dist/server/sharing/index.js","source":"./src/server/sharing/index.ts"},"./server/storage":{"bun":"./src/server/storage/index.ts","types":"./dist/server/storage/index.d.ts","import":"./dist/server/storage/index.js","source":"./src/server/storage/index.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./server/activity":{"bun":"./src/server/activity/index.ts","types":"./dist/server/activity/index.d.ts","import":"./dist/server/activity/index.js","source":"./src/server/activity/index.ts"},"./server/dropzone":{"bun":"./src/server/dropzone/index.ts","types":"./dist/server/dropzone/index.d.ts","import":"./dist/server/dropzone/index.js","source":"./src/server/dropzone/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./server/incidents":{"bun":"./src/server/incidents/index.ts","types":"./dist/server/incidents/index.d.ts","import":"./dist/server/incidents/index.js","source":"./src/server/incidents/index.ts"},"./server/retention":{"bun":"./src/server/retention/index.ts","types":"./dist/server/retention/index.d.ts","import":"./dist/server/retention/index.js","source":"./src/server/retention/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./server/item-crypto":{"bun":"./src/server/auth/vault.ts","types":"./dist/server/auth/vault.d.ts","import":"./dist/server/auth/vault.js","source":"./src/server/auth/vault.ts"},"./server/master-lock":{"bun":"./src/server/master-lock/index.ts","types":"./dist/server/master-lock/index.d.ts","import":"./dist/server/master-lock/index.js","source":"./src/server/master-lock/index.ts"},"./testing/domInspect":{"bun":"./src/testing/domInspect.ts","types":"./dist/testing/domInspect.d.ts","import":"./dist/testing/domInspect.js","source":"./src/testing/domInspect.ts"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/engine-studio":{"bun":"./src/react/engine-studio/index.ts","types":"./dist/react/engine-studio/index.d.ts","import":"./dist/react/engine-studio/index.js","source":"./src/react/engine-studio/index.ts"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/schema-fields":{"bun":"./src/react/schema-fields/describeSchema.ts","types":"./dist/react/schema-fields/describeSchema.d.ts","import":"./dist/react/schema-fields/describeSchema.js","source":"./src/react/schema-fields/describeSchema.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./server/notifications":{"bun":"./src/server/notifications/index.ts","types":"./dist/server/notifications/index.d.ts","import":"./dist/server/notifications/index.js","source":"./src/server/notifications/index.ts"},"./server/storage/types":{"bun":"./src/server/storage/types.ts","types":"./dist/server/storage/types.d.ts","import":"./dist/server/storage/types.js","source":"./src/server/storage/types.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./server/login-throttle":{"bun":"./src/server/auth/loginThrottle.ts","types":"./dist/server/auth/loginThrottle.d.ts","import":"./dist/server/auth/loginThrottle.js","source":"./src/server/auth/loginThrottle.ts"},"./react/studios/view-ids":{"bun":"./src/react/studios/viewIds.ts","types":"./dist/react/studios/viewIds.d.ts","import":"./dist/react/studios/viewIds.js","source":"./src/react/studios/viewIds.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./server/guard/revocations":{"bun":"./src/server/guard/revocationStore.ts","types":"./dist/server/guard/revocationStore.d.ts","import":"./dist/server/guard/revocationStore.js","source":"./src/server/guard/revocationStore.ts"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"524d86822718f8c8bae2ceae8d7f652b1c77b211","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.build.server.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities","verify":"bun run scripts/verify.ts","promote":"bun run src/verify/promotion/bin/ccPromote.ts","test:pg":"bun run scripts/testPg.ts","prebuild":"bun run verify:gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:server && bun run typecheck:specs","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run verify:gate && bun run typecheck && bun run lint && bun run test && bun run build","verify:gate":"bun run src/verify/runtime/bin/ccVerify.ts --corpus","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","typecheck:server":"tsc --noEmit --project tsconfig.server.json","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared Bun + React framework","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","jose":"^6.2.3","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@leeoniya/ufuzzy":"^1.0.19","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","konva":"^10.3.0","react":"19.2.7","sharp":"^0.35.2","hls.js":"^1.5.0","kysely":"^0.28.17","otplib":"^13.4.1","lowlight":"^3.3.0","plainjob":"^0.0.14","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","mediabunny":"^1.49.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","partysocket":"^1.2.0","react-konva":"^19.2.5","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@node-rs/argon2":"^2.0.2","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","kysely-bun-sqlite":"^0.4.0","react-photo-album":"^3.6.0","styled-components":"^6.4.2","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","hono":">=4","xlsx":">=0.20","react":"^19","sharp":">=0.33","hls.js":">=1","kysely":">=0.28","otplib":">=13","lowlight":">=3","plainjob":">=0.0.14","recharts":">=3","react-dom":"^19","mediabunny":">=1","pdfjs-dist":">=4","partysocket":">=1","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@node-rs/argon2":">=2","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","kysely-bun-sqlite":">=0.4","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"sharp":{"optional":true},"hls.js":{"optional":true},"kysely":{"optional":true},"otplib":{"optional":true},"lowlight":{"optional":true},"plainjob":{"optional":true},"recharts":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"partysocket":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@node-rs/argon2":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"kysely-bun-sqlite":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_2.8.0_1789475795171_0.15018032693636818","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"cursedbelt","version":"3.0.0","license":"ISC","_id":"cursedbelt@3.0.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"1a3df9fd5a2c146e4449de7b9618cfbe612c9668","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-3.0.0.tgz","fileCount":2752,"integrity":"sha512-9qEQu/YbNncR+CdqC3h72RqQsIM0FlwgvJ2Fsi0rwY/ertEjnS3vLfz/TgZl8gmtZOM+mdTDD1zVH/F6hKNd3A==","signatures":[{"sig":"MEQCIEQunnCpRX6RB4EC/f7rCqYy93Cpz1s7J2VdDIw4PFguAiAfwFRsK1m20k5h+Rn/IDzm3w/xPSoQle/FwjNIhPcXmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCA4OAXqktTkxNlg/rfPgDyFbE/1C5rsu57RSNptLPjPgIgSRwFgNWD9KGlVO2YvpY/vJ14yOFVN0KnNBd3Lo3p9Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10667223},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"da8cc47b1e0493752f7d6b047feef6353c8f2c9f","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","xlsx":">=0.20","react":"^19","hls.js":">=1","lowlight":">=3","recharts":">=3","react-dom":"^19","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"hls.js":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_3.0.0_1789495454106_0.4596220626284553","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"cursedbelt","version":"3.0.1","license":"ISC","_id":"cursedbelt@3.0.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"3887df67bffde32f36117c5801bf0e8d807fbeb8","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-3.0.1.tgz","fileCount":2752,"integrity":"sha512-bEQFoNorouvlL8SRXQj5Ocs12qIOaiCf3wZaqIDTjvmr4V1H3xaKmiV8AwM5V/vQhGa4eMLSS84zjRxQ62gWAw==","signatures":[{"sig":"MEYCIQDOPC+ShKwYeO2a+yxPw3ThwfD54wWt/6oOBXHW3SnT9wIhALkE6sqc7I2rWz5u8OZR8ttA6HTGRwWrWPYbCNg2ON2T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCVQx7ZOWOJ3E6k0BOYAQHZ5V/TrXYOcVR39KKfuBJzfgIgIt3RhLOFHcCRNRbadIESlSwa6AO3r3amZ/EvhCdEgLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10668746},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"df0b1613c99546f0a14d57ec723703ee3e9ff11e","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","xlsx":">=0.20","react":"^19","hls.js":">=1","lowlight":">=3","recharts":">=3","react-dom":"^19","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"hls.js":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_3.0.1_1789496644529_0.09210257539720312","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"cursedbelt","version":"3.0.2","license":"ISC","_id":"cursedbelt@3.0.2","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"a799743c4a2e192ed9ebe2ef500e4bfbb892d3a2","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-3.0.2.tgz","fileCount":2752,"integrity":"sha512-Kfh3usFf+5ODo715q0FR4cBpopTrhbIewyENg3mvQxWeq3oKTrCi3AL+jLcjcN3kii1HT5pn1YxgoQt5kRRitw==","signatures":[{"sig":"MEUCIQDQm1XdK6mTBabQ9lqTMLzPGr3KF7/ZgNIelOOjwQ4dyAIgWdEmwqWx9fMmUHjhApHxuvKtV9df1hc8vukgrHf4LuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDcRHlqC9nBIfj6G7ggSFbycgHbCw7dnlZeSs1QQwiaJQIhAPk6EYT5n8fy6estHtiq4GXwk1RHQzl1taZJheowpOcf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10668931},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./scripts/guardrailsEnforce.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"}},"gitHead":"78ac60757392cfb2582c05bee5148d48c850112c","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && { [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:static":"bun run scripts/generateStaticStyles.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","diff":"^9.0.0","marked":"^14.0.0","sonner":"^2.0.7","zustand":"^5.0.14","emoji-mart":"^5.6.0","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@emoji-mart/data":"^1.2.1","@emoji-mart/react":"^1.1.1","react-grid-layout":"2.2.3","@floating-ui/react":"^0.27.19","@hookform/resolvers":"^5.4.0","@git-diff-view/react":"^0.1.6","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@lezer/highlight":"^1.2.3","@playwright/test":"^1.61.0","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","xlsx":">=0.20","react":"^19","hls.js":">=1","lowlight":">=3","recharts":">=3","react-dom":"^19","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@lezer/highlight":">=1","@codemirror/state":">=6","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"xlsx":{"optional":true},"hls.js":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_3.0.2_1789497416740_0.40219203399609116","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"cursedbelt","version":"4.0.0","license":"ISC","_id":"cursedbelt@4.0.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"f79cee89ff1e0062a2e93fcca1208bfbe4bda8b3","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.0.0.tgz","fileCount":2890,"integrity":"sha512-VhqGkQi3XAuwqn04lYm5ck5riAjPah/Befax/7NvURvL5SefgDBUr1/hLm0lsfXRVpqE0htjjCPH+y53hJREOw==","signatures":[{"sig":"MEUCIHzAX3QEqbUTN5XatdLzYxZ7wI3FXtGAexCkn7bZOpx+AiEAjIG+kp2964nV6XgupfZzBZnAPotxGmCKbXT5baqRl/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDypCPkm356Q+lfztc90bzuW/p+cSXVqlaLj4Wzkli52QIhAKL/+NUgx4FXCkVtqdzcNqdS7s1s5txIZZiozKHFNv2U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12168592},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"100206de4d66efe25d3dbbb7fb4d18b4a142628d","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun ../../tools/check-paths.ts .","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.0.0_1789640176902_0.4257753500495216","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"cursedbelt","version":"4.1.0","license":"ISC","_id":"cursedbelt@4.1.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d64307bf16c0939233cb4b815fa25eeb55e01f79","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.1.0.tgz","fileCount":2891,"integrity":"sha512-TSgO25fhSYCSI82LrtLK//Ep3SJXL93qF0NWHoWdGH8Xj/J6M6189D/B/lBcZGbDHfgWr5RtJKz3oDqkBh6paA==","signatures":[{"sig":"MEUCIE4JMEXIxMvvC5TzAFa7YKbrqmsoWHNiOhTYez9PcjByAiEApLN/4GjGb+K3buGTF25FGNuICZONx+wx8Fpyf0gVZsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIChSAQwNSthQXOAWM78n5Kw8RC6rPpgj9h/mBKhvNAetAiEAwXL7NiifmFr7StFlZn9Bw+Eem6tLOJqwfxTE4z+qK30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12174410},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"d18b07620deda8ad1d936d9838d801021b60e9f3","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.1.0_1789663989494_0.8383999734809542","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"cursedbelt","version":"4.1.1","license":"ISC","_id":"cursedbelt@4.1.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"1497122c959649c52b98fcaf6f4f6d92e4940684","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.1.1.tgz","fileCount":2892,"integrity":"sha512-4a9bhqPVHAn2f9GT0xlAYkvK9zudLfge8eMsJu7wmP+PtdKxDqLvxdPXR8tUgg39OlcW1zEe6iD4ZjzelVX8cw==","signatures":[{"sig":"MEUCIQDpYMVWBQzhptHg4SWmShynt3QIMaZmmEF/ia+TESOzgwIgEZe7PbU2CX1fxrsP/zyFsM5p2J6O7wbr6EQce0pf8v8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDnl6n+o+8Gaa2Stz4yPTKc+JrRYiIR3ildtEsnwgDuAwIgc1ijoSV02sRIwzlqKgHWiwt3KBH84Xvd345AcPIkLQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12189709},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"798e661dc46c04fd5705efd8ff22194b2853ee28","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.1.1_1789669024096_0.21227327272390917","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"cursedbelt","version":"4.3.0","license":"ISC","_id":"cursedbelt@4.3.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"b95c538185060b16369c616059eeeb96a937d794","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.3.0.tgz","fileCount":2901,"integrity":"sha512-Qoi9xubCjM7fRPXtd6BpWdCJ9dIFVQdmaLFzNEr/daVuVKTgiA3lTeeHW9u9axT0aMuFNguYnXDSF1FxaaG+DA==","signatures":[{"sig":"MEYCIQDf2ApMMIXv3yHCPVH9QfpyiI+xON27jE5AjECnlCQbWQIhAOsqEj1dX/bB5RwUZ2EWImlNA5YRoiuEPjcqxDImch7b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC9SgpTgjEpTD4I2TS4Hdil4Qo2PiZlZYGrkftll931ngIhAK2WwbqYxx2lWFO1W6XWpMoPGEee0kBoFIzKJYQ7D9Hv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12388779},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"8b92ee09e4c01824e25901582284e160b330da8c","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","test":"NODE_ENV=development bun test src --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run scripts/verify.ts","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && vite preview --config demo/vite.config.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run verify","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.3.0_1789730979818_0.9901551058430771","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"cursedbelt","version":"4.4.0","license":"ISC","_id":"cursedbelt@4.4.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"3d8fb252af32349159e7742cb05fe908c3d6c042","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.4.0.tgz","fileCount":2903,"integrity":"sha512-o9bAh4wSrNgQ6yrhYidJ14TnfHTa+9P+3yK6QDsN0ZXflmpNwkpEvZL2xnOvurmSIVF5l8l5SLCtqLwXg3DJVg==","signatures":[{"sig":"MEYCIQCQeufpg+B5x1biIH7veF+eM5dPIAZX1Onii4f0d0ncVQIhAJPwPG5QRmUjRq4N5JEyImijIFddMAJFnrft8dYxd/aR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDx/DtGyIPtMF9DkjIGSRqnTjDhFLjQSNRTqNEpAtnhigIgVKtDp9TVpXWW/8OPn97Qp9td1cltskqV58BwCEcKqfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12416797},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"25c5ffb9dbc32fcb283a6a321b1088332bd1c94f","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^3.0.2","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^1.1.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^1.0.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.4.0_1790124582534_0.29942301996978293","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"cursedbelt","version":"4.5.0","license":"ISC","_id":"cursedbelt@4.5.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"15e74b7c205e58017cf63eed41119ab56b2ab7fc","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.5.0.tgz","fileCount":2903,"integrity":"sha512-EMLH4Z8tPbCuW/q6L9zZgth7e59waUH6U78Vcsj+HvFbTm2KuaJmCpMtxY60ZvaASRy4Lw70pvq47ixALy8E0A==","signatures":[{"sig":"MEUCIDMWyJdB/p5tU6uJUsXThlPNMYazBU5ltnqP71BXIkbpAiEA899XUPEV4bcBgyhp1O2FHzyAa9z6qwTaIt6rC87FBC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEIFVRx2bLGytHIRU8s5w1aoxev4hP1Jpqs7xWiyw9KLAiEAy8EEpACSPRz/GmLRVU0MDHmHNiGR0NSFyNdCG8zAGe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12432654},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"e7f04c7c8f5e986c42d31e9ed20b1d80e9311921","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.5.0_1790125974557_0.5480475596624701","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"cursedbelt","version":"4.6.0","license":"ISC","_id":"cursedbelt@4.6.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"f25880c4c40653511c97aa584d7d45375777895d","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.6.0.tgz","fileCount":2910,"integrity":"sha512-/XsHORSVfVlA9j1iBbsiHBs5M0CS1l2dODbx+NHkJ45mgbAxT0a67R6qTS6jyFrfHvNTBAo2DaqYjSHY+9LJoQ==","signatures":[{"sig":"MEQCIEe+WpQMpK++pnNtQdM1fhDN1yg88xf+GaEAxb3JPZoKAiAA8aIm4yLzIGt2ZIs9sp06N+ICPF7OyjPIQR3QBeAwbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBd7zJIWL+uQiU8Tcsp7c4CbhokCCNgcKf2fbOmlTIbBAiEA1oeMSy7RaEqgBr6ULzqpfwwezWOjQFruDJsZFTBF/dw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12466054},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"aade66b925b806b082dd5b78791cac007bd5fa5e","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.6.0_1790133356673_0.7289750259160406","host":"s3://npm-registry-packages-npm-production"}},"4.7.0":{"name":"cursedbelt","version":"4.7.0","license":"ISC","_id":"cursedbelt@4.7.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"69bf3d7e4267f238732a7e6ab83c7aef30ea9bc3","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-4.7.0.tgz","fileCount":2911,"integrity":"sha512-ew7YY7z26EL0vpHNjiIoA1vIrK4SgF5mC62pnY9XRJdw17kuMya62dNejdbBqG1TH4U2m8v8XwJLBIKv4MNoow==","signatures":[{"sig":"MEYCIQDjYcHiGtQ1i449FiAFkmNXG+k6bgeuktW9mKzQNWhq7QIhAIhkeQqi83Q2XE2C+1B02fclX922TEf+K6kQ1dBhcmJ7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA/p6iJb5wMQdn3GMj4NlubVWiKK4oA5L+/pTQLLSW4fAiBzYSdEWzy9bvNXsrM1l4XHutEcQlfgfo2mV8ysbn8FIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12472218},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"},"extraCommands":{"format":"format"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","import":"./dist/testing/tooltip.js","source":"./src/testing/tooltip.ts"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"945bbdc96d37b47e932b61500ffa4a402371170d","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","format":"biome format --write .","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","@emoji-mart/react":">=1","react-grid-layout":"2.2.3","react-photo-album":">=3","@hookform/resolvers":">=5","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","@glideapps/glide-data-grid":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"@emoji-mart/react":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@hookform/resolvers":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"@glideapps/glide-data-grid":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_4.7.0_1790135316655_0.20478825005340928","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"cursedbelt","version":"5.0.0","license":"ISC","_id":"cursedbelt@5.0.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"29201470c0fef6b7ad232c16a6c7d4ff4c2061cc","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.0.0.tgz","fileCount":2907,"integrity":"sha512-tYYADbaZEZPtKUJcxZurIoi0rhOyeL8eKQ1y3UB8Fc2S2hoC60HpUiPwbGxa5Hu8zox6DIElXRlhJPNkbj4tBA==","signatures":[{"sig":"MEQCIBnkYd1NxwIXGx/TgKJ2efLFXi2zJlUVME0noBkcwYunAiAGDfpra4AxLpgkDo5iGxEhGk4dFnV5InrR7ZJ2SWdwIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHVuoXahTzPtAhzjkpVxN9HO+6qLxi4Z925LlN1l0CjuAiEAk4gdXCW5G498O5B0a0qlJh7n36nxdfMoOM1uYAUSzQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12495698},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"a8f5bac9c2c658e5e5c72007ec5bfe7a48110a63","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14); @emoji-mart/react@1 peers react <=18; @hookform/resolvers@5 dragged zod 3 against zod ^4. lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself; EmojiPicker and makeFormConfig load theirs lazily and name the package when it is missing. Bun installs these without complaint; npm needs --legacy-peer-deps for them, which is the truth about those packages rather than about this one.","packages":{"lodash":">=4.17.19","@emoji-mart/react":">=1","@hookform/resolvers":">=5","@glideapps/glide-data-grid":">=6"}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@emoji-mart/react":"^1.1.1","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.0.0_1790194535377_0.3520136284918116","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"cursedbelt","version":"5.0.1","license":"ISC","_id":"cursedbelt@5.0.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"174a35d1a121f54aa8b744869da3957c2641eb73","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.0.1.tgz","fileCount":2914,"integrity":"sha512-DUJd+9GqGMJy1KhHHKluWV6WGzTV82kanhbzZWEd7P6cn/CkzJeMdfntju5msdhMFSaZxgfPpOety+JHlWVQIQ==","signatures":[{"sig":"MEUCIGEUFMm8n2xT4NmkR8DgsbAuBpcKrHqGNJDLBHLunQQKAiEAxLx8utD6Ij4rVPOPTg1kB31pt3bvr1gn9l7l4QKkMZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDLJMgqn+Bl/XOS1kQxw1o+QaO0ZCpR06A1sABugi1OBwIgPSqASN+RpWwQuiAYFk7jBrQ5+Fxbxbr/NOK3335c4Tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12523395},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"d44d43e85deba1e6f7b7f2cc2e018e1f29e9e615","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.0.1_1790200480229_0.6224249598512757","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"cursedbelt","version":"5.1.0","license":"ISC","_id":"cursedbelt@5.1.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d4b7322c97755e0c7b86fdd7e683ecb05fae8d1d","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.1.0.tgz","fileCount":2914,"integrity":"sha512-NlUA1QxZUMs//cy0sLRZ3mlVw8iS5OeMstGkmW65ikBLFKrX1eZzKAJINhSUV4vjG5mWgBqyp1joJZAH9Ia/Ag==","signatures":[{"sig":"MEUCIEO4wRqDUmOjAg07pF2ae9V7QaDku/ONX5UfcnIXJGfGAiEAuWiEfQxKdgGb/Qwg2rleJUUpk/y2wJafTUpqSMYONSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDng0+PAmQcIGKF5gLj+f5Dt+f6KFRpGAHCc4WUesnpuAIgL8ei8ysDJ4U6BM+Z0fhDssOh/pYn1sqo8E9Wb5lpAnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12120104},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"53ccf90a1662d4c2fcbc08c36da3db34eba9e2a2","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.1.0_1790202301603_0.45918999970480257","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"cursedbelt","version":"5.2.0","license":"ISC","_id":"cursedbelt@5.2.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"e65d4f3e67b84204a56c4287327de32418f50734","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.2.0.tgz","fileCount":2936,"integrity":"sha512-LyVoZwexGiWgCxlyJ5WDyH6PUWwGuZGmgWfcZIjA106ExLYEJc61C3F7we2sKVJKXYXOZM0wl5DVpHYDDl4ZlQ==","signatures":[{"sig":"MEYCIQDexlQU1Wvn9H4/xuhhjVsvouT2zxXDAdWTkT8juiEIgAIhANfy29juLruP9M9NA+amsG2EhpVyJgvQRZpQfsSKbvcA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDi3iTR0Ssvy67A74zCtK7VSl5uSmwatLCehYsM2JyEmwIhAJPMJZFNQjAxgEa/YwPYYIiTe5ee7FGjnlKUYBfqRrol","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12216963},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"9867e002b00c53d9f9b7faacc307d5493b10ad0e","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.2.0_1790203367870_0.6528666295339844","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"cursedbelt","version":"5.3.0","license":"ISC","_id":"cursedbelt@5.3.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"f36fb58bf2853263645097218b83e6e9e03707d2","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.3.0.tgz","fileCount":2936,"integrity":"sha512-qpI83K7dl5bKpNWhrwnEt2IGo+CndOoyjAnUZ+Dhu9o8/4W1xnR4iwQfZdJm0TEQ4NpOJEzA6kpqUMd6qDJjnA==","signatures":[{"sig":"MEQCICJh9n6mALkIHOLfCY28JEDJRlfLHRqvcVzaVXE85hBuAiABONcvv5u0+JH5ojncnzW7dF++sGvQ6wJAJFlHmlfo7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA5ritLQUJxIXKmlszp+PNayNhRUOCASycUD37es3MW3AiEApxmg9BfpeTMc2r/G274nsLnFDTNrJUCBD0Ljvh3JISw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12234570},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"54a27819e39dd43065185b9c39ce3bf4d27ea7f6","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.3.0_1790206595644_0.5555831640117483","host":"s3://npm-registry-packages-npm-production"}},"5.3.1":{"name":"cursedbelt","version":"5.3.1","license":"ISC","_id":"cursedbelt@5.3.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"16233af1d799c29ea4ad2bf223dc2a442ec30d11","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.3.1.tgz","fileCount":2936,"integrity":"sha512-sKLUBrqt0kI31awsci3ChOxKx9vN/Voy1p46QW+Nl/p1NVVDSAE/KPwMdKOoUYCbrwvKtWB3miNF6Hf/tv1S0w==","signatures":[{"sig":"MEUCIQCpb1ut0u7BSNZTAuYxgvyEY10DsoaEKcTQBsi3bhfj+AIgXZlaHLa3ENniFBs5Goq7yA+i4K1WqvMIxpPxEbkfF+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDPzF8ZkedT6tFe34hSGXc7l3DZOIguRFPikiebfVkAKgIhAKnHsTEpNWMM2iP7inZpy+fKTzt9ALuF8ctihfOmWRIU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12248158},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"0cce237199acb2c54c164db248b3ea241ef726b0","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.1.1","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.3.1_1790209500289_0.4749259356427269","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"cursedbelt","version":"5.4.0","license":"ISC","_id":"cursedbelt@5.4.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"85560722a67ce3fd928d95cbc5be3efb931fc2e0","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.4.0.tgz","fileCount":2936,"integrity":"sha512-njFXifB1Wqgr96rhJBfikiJrk3UUh9NMQdlogZ3o3vL6L6hhcHG8BnVqTQataroKVNlix5fMxW/3yuYPYYw4pg==","signatures":[{"sig":"MEQCIFxVlSNX0REDTndPNVp+Btp5U97e+U1y8q6wR6Uf3udnAiAlGwxAlMgoJeRFZOMekFV0HoaERQ1zjCn1eebb1MVxqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCvMCZPC1NkNYGbdzuSg/4p7bGQfa9UOP7HaCpy8W9RIAIgch8GdPlgRMf5QccaCUgrcukv7aBJ0mdQtZeM1xaBobM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12254493},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"f8852715fd284dc6778f8446c4208071241f8f5a","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.4.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.4.0_1790226092786_0.8182555824682087","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"cursedbelt","version":"5.5.0","license":"ISC","_id":"cursedbelt@5.5.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"74f32295488a87245bda878ff10e143d3d877720","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.5.0.tgz","fileCount":2936,"integrity":"sha512-fsDq0Yc4/hTYKQV3YwrtZqcxCFMlih33giTY8OGdmeRliL4WB2Ntw1iFfFqUtmieHMWnvqojDE2PWfd4YTCNyw==","signatures":[{"sig":"MEUCIDYzSjwa20pIBSG7muwJ0JhLvPzx5w8YTmlKd4CAFBBJAiEAsx3qpt8DNapAclFEkSy6DIKDfJ3OP0vagFpq7SxPWBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA9bPtvtSxKF/iejGsHAiznnCJZvYh1LHl6rbpqI0udCAiAk3PD60s2dXnDHWMUUSQPbOsEglaICc/Z0pbRUvULc8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12261220},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"b852b8ac323a6e157a107c9918c2a456176cb11f","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.5.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.5.0_1790226554783_0.7817749761471575","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"cursedbelt","version":"5.6.0","license":"ISC","_id":"cursedbelt@5.6.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"691b97db4aaf2811ddf6c92b74244a7b9b747bc1","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.6.0.tgz","fileCount":2936,"integrity":"sha512-+7zhtZO8D6PQ6JLgAqkLY0meAsmlP5AjvAaiNaL0EZNQJkm+YyYw+yihobANxz0Af8fs3YrhCVhAAlwT203rKA==","signatures":[{"sig":"MEUCIH+D+CGebaiO3mpjlkvu3NCT7kpwXLChMo8V2OhDAtnxAiEAwGtP6Myp0+t//iYnJI5FAsAjpGrLy9XBb4xylNfXPAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDEu6l8j3vLaV+yHquyoYA2MG75YxX5S8o2o03mWQ/hrwIgeOxjTSodmk6Efcro7JbWEZcovEhBp88iWIKNaIlUSbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12264870},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"684ec8de8d4de7a649760c65515f70cdab2c174a","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.5.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.6.0_1790227762330_0.26241877621146625","host":"s3://npm-registry-packages-npm-production"}},"5.7.0":{"name":"cursedbelt","version":"5.7.0","license":"ISC","_id":"cursedbelt@5.7.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"8d2f7cf1c9a97cf9150c6a42a9fb3063bfb06a2a","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.7.0.tgz","fileCount":2936,"integrity":"sha512-TUOG8XctWmXfoShjUF7n5+mHbGyXttK3QgigSjEptdgOt9R2OxA/IAJhuuBbhSziKNsNvGr9ANW+VTLyZHtmRw==","signatures":[{"sig":"MEYCIQC/6TfYaoM1yfDtp2+f94uHkZRcHuSsiwucbza2C1+/gwIhANCdiLPC47LD31haDJLUulNE5/E1z6KDJVE+NpO0jfKi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICDZQDlKPbx7J8TBPFxXIjRQeeuCLrm5cHmahZqrPya+AiA1VTMCLgA2qaA5xjba+IAjzmMUmo0n3czLaaFr3prThQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12266009},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"0074c99385d276b5fd4f097fea94a04efa996658","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.7.0_1790228439976_0.41018441904555836","host":"s3://npm-registry-packages-npm-production"}},"5.7.1":{"name":"cursedbelt","version":"5.7.1","license":"ISC","_id":"cursedbelt@5.7.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"1a6f6b06fba1a8f5f445842b6614875e72360257","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.7.1.tgz","fileCount":2936,"integrity":"sha512-x0b97q+Bs0KGbrxlvN4I+3ez0M/GYPEy4F3wwhh7nrzVsQdO66Bl38oMcnp7qDDWX9OUDzVZ9ghP2jgJ5LApyQ==","signatures":[{"sig":"MEUCIGvRovBpK1jl77qLKkohRHnbwuCzbforbFVyOURMpYxSAiEAm9JlNJOxNuc/bOdFtqUlPHbRV8EvwWPSTi/jcf0RUmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDgEbqwCgxYBNEUSQPFEgxLtDfXbAUImqMnnhA4rqih9wIgZfTMmRSl0LoZKW+Y/E55hsrC0vQvlAf3ibA3fCq6VPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12268261},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"fa4213aac16745afa1b868f06a3e07fd488415ba","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.7.1_1790230004891_0.6393522579540194","host":"s3://npm-registry-packages-npm-production"}},"5.7.2":{"name":"cursedbelt","version":"5.7.2","license":"ISC","_id":"cursedbelt@5.7.2","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"76915aaad16ff9b2ed1e12ac40f8bffd002002ab","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.7.2.tgz","fileCount":2936,"integrity":"sha512-K6e/1BjI7pJMUGdwENFkVN0MMUjp4Wc3r+6FM7sHusfHfvUYA8bjpj9+MIlPrmMDVFmwFwMlhNgO1oA0AP/I1A==","signatures":[{"sig":"MEUCIQDFnqVqJluCkCG1/YBl4faD1aGR0sKyGpJDtOVxDxThZgIgEGgificcswwQV0jV2gyNs1TwUEve0/OYSRekpJ4fud8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDoR4NuOZb9g3JNBbSecBeVZL1/1kduCrDD8orf5A/2LAiEA5OxpacpICB/WZZqJG05kBPS3+phGvzQOtwvipouuK14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12270087},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"065d6cca167ca9d806bc6ea64511af730027e9be","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.2.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.7.2_1790235242172_0.45145563897490715","host":"s3://npm-registry-packages-npm-production"}},"5.7.3":{"name":"cursedbelt","version":"5.7.3","license":"ISC","_id":"cursedbelt@5.7.3","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"2db03148ea1b9df881a46ca7261e6b5685e2e0da","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.7.3.tgz","fileCount":2936,"integrity":"sha512-U56a0DMe7ltPnkA+tDQARI2+GIrQwMCBwAmJM+2tqbTBm+4CCDVysb6/SM2dsc111dgLanHdNSRAmzapxzHJNg==","signatures":[{"sig":"MEYCIQCmpx7/Mo33l+YVBGC4JzBvTGerQ0OAFykWke/K/GEUEwIhAPJXPZGnweCGqHxlz8T0fLBoZfjHRSne+pWPHfvMFD2E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICNsPpRXcRfL1mpZIU7yqNN5fV257gEF3cM/+AptB1vFAiEA1e/oLR4WgTlcDxsjo6TKR7tsf6f3xvwuW+BMDKIm5iY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12270087},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"d6b5f8468c2dc95a043705fdac79aec63741e8fe","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.7.3_1790264442299_0.9655561641423371","host":"s3://npm-registry-packages-npm-production"}},"5.8.0":{"name":"cursedbelt","version":"5.8.0","license":"ISC","_id":"cursedbelt@5.8.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"714cf88a4b6dc1b6eaa120e02a5c538a4140aca3","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.8.0.tgz","fileCount":2952,"integrity":"sha512-CfK0ZxITru6b+Ut7c4ad8p/oxyv+uUwH4A7Lur+HgFFLkP21VDsfGV68yaHMk25exrwjY1pRyPu+bgH1QCvC8A==","signatures":[{"sig":"MEUCIFrXdrOEI/lAv0Pg0zQXSzRKc4WkYcRAfEFdAmsbE6XFAiEAnRo1aDi+XAbBmv4Gmfvy0jPCXMtjcpqAYFxbvInP6+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAY0cjuTlVMVFifbB3oQ7aH6/z/GdrdeK23iGXFqXMWDAiB/vE65eBIGgpYfR++Qxo28sO5lQc7d2eVo1svI1Tw0Yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12315174},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"c588b9a11d2a6200e4a3b479a0404cabbe7de569","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.8.0_1790294898426_0.6748295211280004","host":"s3://npm-registry-packages-npm-production"}},"5.9.0":{"name":"cursedbelt","version":"5.9.0","license":"ISC","_id":"cursedbelt@5.9.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"940c2b5f066de62fefc2724a2a5f0470b6e40eed","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.9.0.tgz","fileCount":2958,"integrity":"sha512-36IlaXxCRJsZIdFikWFy7BE+sw9PyKb8nR3gReJt42bAORw+3lm9b1zJ1IT+oCNOO8i6wsXrNTjDyR85M6VOHg==","signatures":[{"sig":"MEUCIQCCg0dbdjXNzOmdZv4E0lyWWHgC335jIM1/86l9NgjKfgIgHEBdxKEm8MLtOgiBnz75hMEo1t967GFMHpTl7BFhqZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDAsK6eYR7a/LaOPXpIlWbSRAVbyTECOfRfmq9YtSV9gAIhALIjmRsJsnJGmWNKQ1cYgzrkZc5h0LKdyn0cutTwgL4b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12330464},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"d6d7be7f2c20915534a4068dd9e9dd73480d8a9d","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.8.1","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.13.0","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.9.0_1790300456122_0.1955624548567143","host":"s3://npm-registry-packages-npm-production"}},"5.10.0":{"name":"cursedbelt","version":"5.10.0","license":"ISC","_id":"cursedbelt@5.10.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"69079f25035c9f9096a954669b6b23e3f8075b26","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.10.0.tgz","fileCount":2964,"integrity":"sha512-lZVGwP84azfLVegOiXgbaD/Ruqz2+mLSR7CFUqAMUk34Bv3egrfULM+g4jQKO910MqggQwCUCx0gJ+sinE//tA==","signatures":[{"sig":"MEYCIQDUCbLrOu14nMPaA1jspXXAzI5OKa7ZDMFdfOdiwS0RlgIhAPNapi7fdlOSaTV5zzV8yJbDsPRkcGvdfHpkvljdQH30","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID4yjJOkUF7Wfd6Hz/EfKyszZGSsPdSU4u9Wnf3j+1zcAiAdmTcHPRQACE2Ax3IBpq94GmkPC9UCLaokLs9iuGAjwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12357904},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test"},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"10d17714c680826031fa8d2879a4d3d06f3cf41f","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.10.0_1790381981177_0.3902065617831485","host":"s3://npm-registry-packages-npm-production"}},"5.10.1":{"name":"cursedbelt","version":"5.10.1","license":"ISC","_id":"cursedbelt@5.10.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"36455854941e1560854868791389b2afb63ed90c","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.10.1.tgz","fileCount":2964,"integrity":"sha512-K9V4R3LOO0Wz+yK0gng7N7JAtt588M3+HsDOBIUPkgYQwfW1hQE57gx19uBBALm2Wo5hmSHh4iUyLg2P/Kf0/Q==","signatures":[{"sig":"MEQCIHiL/wA29+Y7yzV2djoM2fQ8bYO2PIcAcEqwM+C/5Zg0AiAX48dg5sXwCeamIrDcYs3CYaVYuBzBvLbKUJ+26ck4eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFpA8hJVwmBFubMwl1a47RFphk7FjcvLO+1LkUM9UymsAiEA4/j9PkEBkTkVLNNw0sfieEHa35aeymY6Gfeqar0ntoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12360565},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"920661e6d839afbe20a6df9e0058d228f70fe716","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.10.1_1790397269971_0.6679836511272501","host":"s3://npm-registry-packages-npm-production"}},"5.11.0":{"name":"cursedbelt","version":"5.11.0","license":"ISC","_id":"cursedbelt@5.11.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"5ad8340968723944c151a0230bdfe2b477083302","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.11.0.tgz","fileCount":2970,"integrity":"sha512-kFmwiJGPtEmjuvC1jwYkxUG3YolJu0uVIgcikFq2Bj9nKq7eQliPiud9D6qz0fMjhd5gydn5oR7HsLweNSavJw==","signatures":[{"sig":"MEQCIHvT6e68jhgQG0+8xUgrfGxkhcSJtBWwb+Jm3yeHO2cVAiBp5TO2/u/dD7QpqSBsx26pMMi/koYeB3Ewy/P8cjPN9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBHkEsnjFbvobOX9rDo2riJkD8AjVRMn0ZGCYFFx+rTwAiBBWF55jCST3tnjHCXvE6hNmtBPzPCnE4Lbuu5q3f1BhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12388157},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"39c644384a1b32d3d741eb69ecb274c9c6c7b92d","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.11.0_1790479429537_0.5367758220895034","host":"s3://npm-registry-packages-npm-production"}},"5.12.0":{"name":"cursedbelt","version":"5.12.0","license":"ISC","_id":"cursedbelt@5.12.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"18e508a895b67b6e57fd6ac365ce2d5cb56a603e","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.12.0.tgz","fileCount":2981,"integrity":"sha512-Yn14FZKyUC2HnAbh3id+6GyZfPXF2wZabPGzMfVYiQS68V2sro7SX0lzPxieMK32sEboMAWh2o+ZK8UqzBmYxw==","signatures":[{"sig":"MEUCIFTc2eSQqm1FxdXQPeD1kTtvrcrvJHKiLhnsEtm0GWG8AiEA4ZzlVQ/5HHlQfAnDjnRZz4J67w+pY3qNWiPO40PYu7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDEca03YUWdtSZj1ukzbEkF38DCCFOtRdz3vNfjcbJqVQIgBJNeNHmmFy7zSuNxKdhqYreBKeaSe9ed0gmOcCXG5aE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12409471},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"025d283b411e61d17adb7c2d42bd07bef71dc6ae","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.12.0_1790547561386_0.46584017999559046","host":"s3://npm-registry-packages-npm-production"}},"5.12.1":{"name":"cursedbelt","version":"5.12.1","license":"ISC","_id":"cursedbelt@5.12.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d7b2384f474027ce3766a56b7a3242f44b4b03df","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.12.1.tgz","fileCount":2981,"integrity":"sha512-i1hjiu+zyI6gQY69Q11NSfiRQ9V4IGeaQEI22iyQu/bEWfMC6YQyrOo+6zfd26vyLEQpUaHZSc3MGGprnJPFtA==","signatures":[{"sig":"MEUCIQDWpgmxyIDoQnwWspUCW6VSARtKbfaYOyqZ3H1/8KkqGgIgKaXcZXJ2vKAAAcE2J2LxeMM8DbhE2jcwTz9ZMhWaNGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHtnrBOdWI9g7+vLAWuAmDGj0hf8+Am1qFQY26wsxvTJAiEAmM4nV1NLOJ52dKiRde0Sjz9jceDFZ4s1CcpJcID9iQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12415794},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"69dc914fdb0e28779b86ec020b58c0c356a3f54c","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.12.1_1790548836389_0.7913618428079698","host":"s3://npm-registry-packages-npm-production"}},"5.13.0":{"name":"cursedbelt","version":"5.13.0","license":"ISC","_id":"cursedbelt@5.13.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"176850e9fcf73949d355264981ee71635f7ec064","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.13.0.tgz","fileCount":2981,"integrity":"sha512-Hp1HGUbOkAPursOQ+VVGE2oY/ClRRFj9YToqn697MpVzivsXl2rd2IgG3V0PzRc6mn1UFpF5+PUVzkF58SanMA==","signatures":[{"sig":"MEUCIQDgdMHCRsq0G2hI/2HfXPV/GA4W1ATlB8oN9s/xheVN/QIgFd399CL3YujIxkYX8WkYZUAvSgvblmkgUh85vR4NOxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDbNYnAkuu7EEDAetTynDGOTOZuDRWO+IjX1H6pFmPwbAIgT66lsazcbC/yHsxPDH4B2UGxAcuS2mztodkys47VfOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12421559},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"7ad3a7bcccd8fbfc87ef25e2ea9957802287f6d6","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.13.0_1790551250559_0.49305811337000893","host":"s3://npm-registry-packages-npm-production"}},"5.14.0":{"name":"cursedbelt","version":"5.14.0","license":"ISC","_id":"cursedbelt@5.14.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"1dd33781da86dbc0d4b80fd29b807f510b57d767","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.14.0.tgz","fileCount":2981,"integrity":"sha512-8gRcHz75DBMpGehPqbKhX1ddGKBRlbtBl3qAg8/JbGMDjr1/KpSbMDJRfl5HHu/Vi29BEaGtftdIdGB4/cc43w==","signatures":[{"sig":"MEUCIDLDU0Pu0u9EO/UvPpTMKY5AvRe50FnPUkyvjfUan5lkAiEAmG4J/knrSodTgNH2lAvumtygQ+EYhjAwDxe9sz0EEfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcyuohftf7YX/oObLT3fp/pRdG5JDvaDVCZCxzYHKj6wIhAJTO3bzNfl5+xu5KTJYqzsNkURiJkNDfspVPDBz9lEuD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12435701},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"c337be9fb730f451bcec7119bb939e3b6836f0bd","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.14.0_1790553194732_0.835399741470809","host":"s3://npm-registry-packages-npm-production"}},"5.15.0":{"name":"cursedbelt","version":"5.15.0","license":"ISC","_id":"cursedbelt@5.15.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d330d31315bb58390095ee891017be16904b53ca","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.15.0.tgz","fileCount":2993,"integrity":"sha512-lDG0MkoKxJNVFTrCn603r8yyEc5r6lG6bk/oFow4qcfHT2d77740FEQ3sy+geATLD+QlhfAUG/u40VrJEGQIVA==","signatures":[{"sig":"MEUCIQDs9OML653TdAuhbo9gn/oTsjrpuAk3UssJAG6jZXZ95gIgTapgvVXyf56vozlR0RHu47eb/KuiJrqjvknFBcoEeNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIETnPDS7MUIK4svfiCeFgMwjRzLsgcHtA1ET2PPSFaKVAiBPp9RDCSXr/8Zy5LIA6fQ7d6lwk4RbFZCGbLbOipL3MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12494138},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"0f5a85a27c61d948bf2894e3a8cf9dbe6b67fe34","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.15.0_1790554789509_0.4614161740732061","host":"s3://npm-registry-packages-npm-production"}},"5.15.2":{"name":"cursedbelt","version":"5.15.2","license":"ISC","_id":"cursedbelt@5.15.2","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"e880d203b868f544e42981e675de17d3a3a06f91","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.15.2.tgz","fileCount":2994,"integrity":"sha512-57lOg3wcoma+qWuyCFg8Qt5Ajz16unz5n4LlNYhYtoSSIntJv5T/LgpR/eggz70ChsuyYKrZA4xuyTt/4UvyPQ==","signatures":[{"sig":"MEUCIGsjb5YE9nSqPHOW1GQUDyQ/wMlSctzQlxO3QfqqMVRbAiEAxBc0G9upkIEM/GkhYkKuYNPXBH0qT7b3kkNYdbltQYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCtK2cn9qbOE+XbshpDCYqNCWIoyEiF4Lx+MYFuRxtAPgIhAKwrpgWDGt7yEAKXHMUC7rHexy3AfYJOgF3giA+6edd9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12508704},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"709f1a7567d31551ba6f3508f3052f1df2bf9783","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.15.2_1790555873054_0.1092245053407559","host":"s3://npm-registry-packages-npm-production"}},"5.15.1":{"name":"cursedbelt","version":"5.15.1","license":"ISC","_id":"cursedbelt@5.15.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"1102eb5b420676f1afe61603e1399c96846c7c6b","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.15.1.tgz","fileCount":2993,"integrity":"sha512-LxiKvzsHjCIKJtNnx+caMzfo8R1OzS42G13YZ+fbdSaMjY6WJJXFpFQEHV82AyLQar0du/lByplG5UbIBUMrQQ==","signatures":[{"sig":"MEQCIGM7D2gKQ/kv1s3wSMAbLZ7ZWu/ZS+T8zDbxBWgLaJvQAiATZwI62al7Is/0oS7TKA4apxxOGNEwDQ5q6IcBHei8OQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDAwyA9+e6PNx9sPga7Es2ZOQmGfDHiopHU8U4gNKIgOwIgaB2BeGylIW8Y56Z5UHSKs6bB+WytZZtQuc6Sa7uWZls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12496874},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"f87c337d5d36e05531f03f88db1aa587433ef892","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.15.1_1790556129034_0.8991661538877851","host":"s3://npm-registry-packages-npm-production"}},"5.15.3":{"name":"cursedbelt","version":"5.15.3","license":"ISC","_id":"cursedbelt@5.15.3","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d9d5fee049c4bf8f07574aabb116f0ef71a9724f","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.15.3.tgz","fileCount":2994,"integrity":"sha512-B5CAo/qsAc/YbxVaQARY9Aq219qcFznJ0QQ1cue5SnEHF9T7t/tMwymTAT4BmgYIkMy/zse9m6mLn3PbffTzGQ==","signatures":[{"sig":"MEUCIQCNG3Y+XOOo2g6S2SUlBGXe5nTHgcQE7gGisvfa9hohSwIgfDjICXCYlhZ7fSan+9iMZKpDHeLx2YcMbEjtR0Nlz1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKBczOHPkLDBJpDIYidEFzs6bjetvvCXthF4Nqen/FegIhAP8VP//orU8DS+33NQEx5FFXcPR0LNTljcUFir5SCYjD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12509947},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"75b4036f0587a1c74ea4cda6f0bd7d5e81bc3303","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.15.3_1790556891492_0.5402524566326394","host":"s3://npm-registry-packages-npm-production"}},"5.15.4":{"name":"cursedbelt","version":"5.15.4","license":"ISC","_id":"cursedbelt@5.15.4","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"aebf0bb615f9862d718738f12a2e8c938caa9dcd","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.15.4.tgz","fileCount":2994,"integrity":"sha512-taRvX8Y3SAgLvicMo1+TgzgTWKIDoB8HQOAIJ0DlfO4YnmQuBB8j5xPe8DgogDk7Ywpvs+SOiRpT/7NDAZwuhg==","signatures":[{"sig":"MEYCIQCv1wHjlpBGqUoUXSbp2rajKEo9Oki07oQCUH8ULIQ3OgIhAKc/BJ3bTKkDxBmbztF6NqCbPovZyj3LrXdmc/L9NJVC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAtHtPueQDFcKqga/odn9HRPi7vZCm1noPJuwyBPReC4AiEA/E7AN7uE8we3cydJ0/tm6Rtg7RUY3pBWgYzeuK4e2Jg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12511435},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"994c5abb1a7b5cfec447208e3c390c9497065dd8","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.15.4_1790557814301_0.8915614050534817","host":"s3://npm-registry-packages-npm-production"}},"5.16.0":{"name":"cursedbelt","version":"5.16.0","license":"ISC","_id":"cursedbelt@5.16.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"0269e66d78590179c9d68e00aaee6905ebec9d96","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.16.0.tgz","fileCount":2994,"integrity":"sha512-MvXxbV8RBOx7NG8j91DIrVbHlSpd3SxiD8w1qkTBjanJ6zTdNRLwJY33WpqDuQ1IDm+kQwfCieZ4/f5LTRx3GA==","signatures":[{"sig":"MEUCIQDIX/IPeYPh36Yl72QhC1Af8LGbAszFYfhkWmC35646ZgIgGocZnVG+/b+0X9FMvm59K2sTDzMxTUSk1XssptfWN/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHIeM/Qs9Q4iZkUvNyo2ttOcH6iWOiI2P7xs5g0pRfcDAiEA5WjHI3TEwXTW7rmbHeQJMMpVJc9HOIcKfzLoYZ3ox3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12531901},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"6faa5a8abef78ead48b8169a9fb5270457d6fb8f","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.16.0_1790562320977_0.4551464749169607","host":"s3://npm-registry-packages-npm-production"}},"5.16.1":{"name":"cursedbelt","version":"5.16.1","license":"ISC","_id":"cursedbelt@5.16.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"a5cc5f893420da534db0759f870065a0c771339c","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.16.1.tgz","fileCount":2994,"integrity":"sha512-+vZPWkxO67+Bac2bWh8iyQ8JT7rh8ev1WMEOGQGBIr3hFiYM6UOQXfUE6bWkSKTYnmmpqEAmK6dw6cs+Qgz6Zg==","signatures":[{"sig":"MEUCIEn0W1P2MZR3I8VCK1/W8qkGQrZXVU5flIVAUI4W3tRUAiEAuZYE3AWw4FGHuB5dklGeW9ISIbVYN8KKkvNS9JLAlT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCALix9EDBTkIaH7Z6WiQlJkSm0AOav7y8MeO4JvEMzXwIhAJ9f9qWkAwkM2aQmGzg2p6c8Ha/mCkx2LpH3Q+roVaUY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12537014},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"98bc694a2b2500437aefd299fd0ae10fc87e6ec3","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.16.1_1790566771185_0.002912412532241504","host":"s3://npm-registry-packages-npm-production"}},"5.17.0":{"name":"cursedbelt","version":"5.17.0","license":"ISC","_id":"cursedbelt@5.17.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"fc1f6fe7ebe0224a7e16ebf067c19d9f5d8ba353","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.17.0.tgz","fileCount":2994,"integrity":"sha512-Xb7k4q94eMQp0w/5nLkFXYNztH2sEGHxsDKpkmHQmH7iCZW8uR7BHVu2LedWGd6OgGlkbdJ3415Nnh9X4/N+QQ==","signatures":[{"sig":"MEQCIH1sJrNl9LXN/HwbLRIkO/RvOivbhmsvfEOcWZ6KmEsUAiBkPTlZkvWJSbtFgdszPbFuoiP6ksPcPRPN0e0aCHzPqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDcyRpKT5AqaDKhNm8bP756KYDpuvgj4vg7C30gOd2yuAiAquJytdneAHotOo6a4BlG1jLn3AwBoh/rZDHqXdkA1kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12554047},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"9b6ae88b72cd8af4befb0f67f2684bb9795d56ba","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.17.0_1790575068785_0.6478906574420646","host":"s3://npm-registry-packages-npm-production"}},"5.18.0":{"name":"cursedbelt","version":"5.18.0","license":"ISC","_id":"cursedbelt@5.18.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"9ac2b24079939ef09cf01aeb0b0cab231ecad7d2","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.18.0.tgz","fileCount":3011,"integrity":"sha512-1s5jMon/P6LWK64QcZO8x16icZCfY6gRLeaW3JGVl70tPVBbeDczeG2GWb6Ix0aUOloBCnMKnOo0y/2BH8k8Xg==","signatures":[{"sig":"MEUCIEe9jIUoJQAWoeNlocew8kIIE9qYy3R+S5eFALtECnE6AiEAvhl2HSw6MoYgFPLLjPFORyBMYCkeTikuXSIx6MFG9MI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDYq/wniFZbx4low+eF1a3l0YdCb8Yat/UYarqZUAMZmQIhAJnz0MCJM8PzwpR7jXWK1/hRuFxwduIPOHQSRtaopMaI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12598753},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"e41c6b9aa6ed277a9bcf04573b5038fd3805ee73","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.6.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.18.0_1790611748594_0.4824340466978292","host":"s3://npm-registry-packages-npm-production"}},"5.19.0":{"name":"cursedbelt","version":"5.19.0","license":"ISC","_id":"cursedbelt@5.19.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d8b5e4309129695748dd7f18bb2e15f767d48da6","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.19.0.tgz","fileCount":3017,"integrity":"sha512-RcW3qBVFnUGj8QCzcG4olwfP/8BlytagcjUpVRik2PhATzq2GHs0ka3hnZwK7BQQ3IoRRi3SWKwsNxRDeyEeHA==","signatures":[{"sig":"MEYCIQC+pX4Vd7+aHNsZ5WeGDVqe53S1ZJvWN0+4mT99Vw/AjAIhAJVRcfSrbu6T/J3GXY/gtaBKyVmuqDhS4tUjUIDfojpo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDU0dCdjNEmtUKKewGMyVypDj0J9m0vOwatX9UTSGWr2AIgJjUfG7a3CQOPAtMAe+br2aAanAu2qOWvaFTRLNBnOK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12615672},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"e72784935e69257348f3431e5ea3b98c7750645a","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.19.0_1790612495596_0.1397842248533514","host":"s3://npm-registry-packages-npm-production"}},"5.19.1":{"name":"cursedbelt","version":"5.19.1","license":"ISC","_id":"cursedbelt@5.19.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"08032cc365c839c52036512aed16da7ecc314c1c","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.19.1.tgz","fileCount":3018,"integrity":"sha512-xkFHdABWMqofkkf3cSpSpvTS7eDDpTOo9D/+rTXnvGV6Zs2uPffFnaPdZeGX40rOBKdhq7zNhRGOV0oDM8Z+ag==","signatures":[{"sig":"MEYCIQDUSEWzdQ04hanjrDDZPf+UhdlnA5cpsv7LIyndMW66uAIhAKn/sSxvlG8/ncaovY3EqYWG75TB+JsiIttGqnOHTBZY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDdo9PwsfnImcf+v3qyta7XGMAk/zMyNtt3/uBZ7S0BXQIhAI2AkTDMHXRCNwhzNvsNHm56eRj8BoOvLNR/1bAzkLLf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12620703},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"6e827709c8dee93f29035fd3e49964c456bea09d","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.19.1_1790613850075_0.9340100264712581","host":"s3://npm-registry-packages-npm-production"}},"5.20.0":{"name":"cursedbelt","version":"5.20.0","license":"ISC","_id":"cursedbelt@5.20.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"865e4b51fd730b387e044c519e2184bc2cff4c28","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.20.0.tgz","fileCount":3018,"integrity":"sha512-5zJtjNo36uss/sm5lyniuRgDc3HhamtY9RtNrlVtFHeSvLNrudfee+ICC1ZV4BgzlQLuxmzOCM+qKbruh0f62A==","signatures":[{"sig":"MEYCIQDxwpS/5lkBshZ+0XwqvLS955LSCJULvhOKCMzCNNro3AIhAPbbr3XjZ0zTR2rAfQz7Tm1U2t+Dt8pThnggmYQEhA9+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCC27LNUjZvg8g3zCKyfWTQw9Vft0SZ1TpxgEaxDR2tYgIgUaYghlJLscKZG1L5YEvSIa++obJNXjVXPs1GSLJ0MNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12628735},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"df25128961751da99ec32170e9be8b312ce12147","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.20.0_1790614955546_0.8305600627669973","host":"s3://npm-registry-packages-npm-production"}},"5.21.0":{"name":"cursedbelt","version":"5.21.0","license":"ISC","_id":"cursedbelt@5.21.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"22244fcf4fc8fc32352ba7dbb58756a1903e5d85","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.21.0.tgz","fileCount":3024,"integrity":"sha512-gA0wLtAxzNavNUOPDM70SpqfGLWhYzMALWm6fLtO1Llbp8S5eJBdvARj1MhRQTefzEAXBoGDGxGiQ9DBrxAoWw==","signatures":[{"sig":"MEUCIQDsWlyfyU7Zx/YkVKdYxJCyTPeT1HbkIAY4tOIKBggXZgIgRUyDMXkhBYkLEsdejCntYcrcoMs5Qx5GoDP8KoawylM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCP+Fip/5AAN2iO5zml9Gfa2CmEYn8GVRlEO1KJCQ3IPQIhAOPzUImytKdtuUTJCoWDabTA9U5BA774G5pnUPhtRBtW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12674121},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"7353dd20175e59af151b65ea61eb9b8d0508df42","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.21.0_1790616027284_0.017666964647765848","host":"s3://npm-registry-packages-npm-production"}},"5.22.0":{"name":"cursedbelt","version":"5.22.0","license":"ISC","_id":"cursedbelt@5.22.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"cbc2b636548c433ad9238ed0f575c203bb533f46","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.22.0.tgz","fileCount":3024,"integrity":"sha512-h8z3Zk/ixi4f6w1Wsv/0Xk4nGUTh1Ogk74DKrAstFc3KnES4u2Hnr0x/NNI1HpaLyrgUaUo4zGtGxAEyEbeL2Q==","signatures":[{"sig":"MEQCIGnxgRb90O1JrOEGtjd6XHAHs2BF66wBTlQDJ0UPdPmZAiAzCZFcKQlOlae6XVpZkAq16WkL0F6TYe0HziedgKrbJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDpjQ6wa2aDjCD3k9DKaUuJnQIsQ2Jo96NXVd5c65kObAiAy96E5n8Lwi/MgxBojCVQTtapXuL816KCz7bpOx9MzUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12678285},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"a146559096a726ab42e7456e1ef9307aea41e46f","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.22.0_1790616604065_0.8103163444775678","host":"s3://npm-registry-packages-npm-production"}},"5.22.1":{"name":"cursedbelt","version":"5.22.1","license":"ISC","_id":"cursedbelt@5.22.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"c9814415f9947e146f683005b54e392b5f3bf948","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.22.1.tgz","fileCount":3024,"integrity":"sha512-oRxPh64ERyRIGm5TqbOEy/s7/XDD/Jk9IrI8BOdQuNZ1hpQydN9owUkJn3wMgSG/StO7easEDrws0XvvTM2o3A==","signatures":[{"sig":"MEYCIQC3wLjuR8HZv5B2gnv7E2MBTfy9OVgtfmbnZCOtPpxGEAIhAPk5IaM1M7Fop33yERmX9dAMva7I/w3/CvKYWwbwJlpB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDCKRlfTTogpA+FPbzaC2HZcsv3jpY3E7oWkpry45ZrHAIgDsXoVkqhHt4xWM2/qG8EyN27NVmMIGq9Il4M3swRgB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12682495},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"c27c043b9d5bc206e3733478ae13e42c31914b02","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.22.1_1790616991851_0.9965930605530517","host":"s3://npm-registry-packages-npm-production"}},"5.23.0":{"name":"cursedbelt","version":"5.23.0","license":"ISC","_id":"cursedbelt@5.23.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"512f459f94519bf8b70c38244229eb13ae22a253","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.23.0.tgz","fileCount":3031,"integrity":"sha512-3TNsedfMu7Ti1tPW79GaUz8EKH4gJexACb9QwjSbQ2e0soIOLSlw7//SSg8WRJhnPikSnIG6zMkmYrFE0vbuJA==","signatures":[{"sig":"MEUCIQDEoOdLxDL+cSpVC+MR9MdS7WgtzEHh5mejUnfnHIOlnwIgXIuF/0wjd7HV7y+gMvaMa5uSagVWedpytKOuaE4X6xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBA053p/HlHQZ2n08vp8G5E+PhrSfC7XN53H66RFKGY4AiEAsOJdyuZe1z0fVVN3O9BZ7TbIh+n3WiXv0eTv5ACJ6TE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12739763},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"9a7068f585c34d0d23559673742a8b6375c7abb8","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.10.7","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.23.0_1790625238064_0.10029807402361102","host":"s3://npm-registry-packages-npm-production"}},"5.25.0":{"name":"cursedbelt","version":"5.25.0","license":"ISC","_id":"cursedbelt@5.25.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"f4f4a5ddae87225422cbc01006d3acb1748cb215","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.25.0.tgz","fileCount":3038,"integrity":"sha512-rI7rRhAvNBpj5YO4WDQnBId50nXveLSkYYTsKT9/3khStSk8UQo7KKnFbRfFNskwa5M+vIausluINu/k6RANRg==","signatures":[{"sig":"MEUCIQDVCHDRxLsOiHLzF0cMe3zo8ZfQbPNotghtzqNRSwq2EQIgBHFsf/N/PSHH/2Cs+7b9B+QYU9FPFDKzvGLMLy3TDHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDVPCFQrpZ54lTyPsIyIVAKGS5mK4yKKYZoU8yl8T7w0wIhAMEZPzEVu2vnOfORH9H1H2NzTGAHqKVg6bHK26SU6n/R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12831576},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"8e5d0ef8b903fd9708e6579e72093d0ae5bf2b48","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.11.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.32.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.25.0_1790645386680_0.07366043474851502","host":"s3://npm-registry-packages-npm-production"}},"5.26.0":{"name":"cursedbelt","version":"5.26.0","license":"ISC","_id":"cursedbelt@5.26.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"ab64d4f538183fb1d2a8cc5351f445175e216cf9","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.26.0.tgz","fileCount":3052,"integrity":"sha512-e30UR5hyb3MrfA9pBC/beyVelOrPNwYOvq6JmzmqfTAFVdYxVHKF3KQK9iahgIoZQ9CM0XEBi4vHj/PdwhenkQ==","signatures":[{"sig":"MEUCIDTVQGaiiqFQ4GpAOoEGYlSWAILe2h5bD7BiGY1YGfdIAiEA6sGa9j6XBRNU+3tFzG6aGcOAnZmFrnXWV3Fc+g5SoaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBN1fcZ6eNh1aD2n6YGq6VFSaBU8Bwk/4puzsSiiopC0AiEAhw2ZGZLpSnbOriuWYocljaHghdrHmilisIBphWVtoJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12960522},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"deed70f61e39176460fdb130d6b412bd392fed76","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.11.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.26.0_1790662530502_0.5423804094356817","host":"s3://npm-registry-packages-npm-production"}},"5.27.0":{"name":"cursedbelt","version":"5.27.0","license":"ISC","_id":"cursedbelt@5.27.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"83bae6a7f87d8720308be587cdd1b4b3de3a5927","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.27.0.tgz","fileCount":3052,"integrity":"sha512-uKtS4/SRYYZy/0LAHkVLBN3VopJbMdIboUrxktC2dbgb3Aaf1jv96JWOiPBd/uyrQ46zGM++7JaFtKOM8O8U0g==","signatures":[{"sig":"MEUCIGgCS/g9irbZgu/+TzDQ4EzC5MHQ2fzoC032fHImqBqBAiEA3zMevoKD9mnwe/+cPwNarVkPALasNu1VfN6TssXhqJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBpF0L7nnhUxvx5zCrXibgr76CaR2tf6w3HdJabvacqJAiEAxa7YFaq4quvEwtERnj8MYzgzeWFdWqTazwMCGCzAYfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12969244},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"a464d8c1028807caffd7d2ded8ffa80c09098a27","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.11.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.27.0_1790694971014_0.0902379448515589","host":"s3://npm-registry-packages-npm-production"}},"5.28.0":{"name":"cursedbelt","version":"5.28.0","license":"ISC","_id":"cursedbelt@5.28.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"baa7ed5875b0ad4f4718587f41b736ff61fde115","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.28.0.tgz","fileCount":3052,"integrity":"sha512-LIb5LxCR/pd4vav0p58Ph51QQMAtQgjjRPxUJWGcMUyd9cmexc0rejjSzSEZ0XJj+qynchnOBg8TAom5FKAKmQ==","signatures":[{"sig":"MEQCIEMpjAK94VsVHuu5b9gHccZDCEPUOPmEZHCL5CiYqn67AiASsDO7v8/mqzfZ90J0jPKkwQTeowKPyKqQwio8GE6GeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDELYWuN7xBLR/ON1Uw0kBQ6h8z/83Xv3blshPa/bNEwgIgMgBrx4UaoYzKld19g+QhwCgiAGo5fVpz9aPp8O1QyAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12981298},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"f69265c4cb4a37a98925c47822e42dc690ca4aa9","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.11.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.28.0_1790703555745_0.5071093963903817","host":"s3://npm-registry-packages-npm-production"}},"5.30.0":{"name":"cursedbelt","version":"5.30.0","license":"ISC","_id":"cursedbelt@5.30.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"ef3ed60485b48d940bebc59bce9a1352485ad036","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.30.0.tgz","fileCount":3091,"integrity":"sha512-yxfmxNjeL0e5y5kdilRmyWbK8WEFpwelOti3eeKT6GXs0REKoCz7oB5PNHpm3zi9Y6kuBQoC0bhFKy95QYEbgQ==","signatures":[{"sig":"MEUCIQDCAeUIPrznMfFT/mb8ItNRQb6KgJB6oWE7M8AP3VxkmQIgWxzemxYoDb6PyxDwNv39qGmeftx/QFG3h9Kkt8C9kLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHDaaJBmejKVGU9WljrgqYFmvn/2y+l1dYhQPaZb4zoeAiB62jWEkZLhe9rD0uSgTNMknKmYWZb7Hf9Q0/v1I77TqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13162127},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/tooltip.ts","types":"./dist/testing/tooltip.d.ts","source":"./src/testing/tooltip.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"88dad1638926aeffad6411d02d55cc005d60eb85","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.11.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.30.0_1790753217462_0.306687388308468","host":"s3://npm-registry-packages-npm-production"}},"5.32.0":{"name":"cursedbelt","version":"5.32.0","license":"ISC","_id":"cursedbelt@5.32.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"d4818b9bd8b3ba60e82ab0f7096ff5002016e8ef","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.32.0.tgz","fileCount":3102,"integrity":"sha512-3jXDrdoWb/eVaQBQlhPY5gHxiNFwJUlM3W7Y+n2v+TGEU5KiG5n7MPhWtUGpt79VusxV50M9YOX2kMJ62Oxl6w==","signatures":[{"sig":"MEUCIQDnouSUQyPg3s0ppRUm8bGHXZUCZB/uyDBq5NM3cysEUAIgFe1+iutXMbJwyY7JCQk1H52ZjQPasrZadWEZClPffO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSQiKD/LfH4t9uBHzDbNl9HWffj+I5B38erBRIZshrcAIga1K/9q8O5bO7MgifexR1B3tLl/rSsPC1Sgri3sbvDbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13231523},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"826fa823d7b18bf763bb1fefb8bee02c0720521c","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.11.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.1","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.32.0_1790776349639_0.34567482867105936","host":"s3://npm-registry-packages-npm-production"}},"5.33.0":{"name":"cursedbelt","version":"5.33.0","license":"ISC","_id":"cursedbelt@5.33.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"bfebfb660ac468abb9d18620aa1171894d19b203","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.33.0.tgz","fileCount":3115,"integrity":"sha512-N+pj+PLpvDYcdzpg4fy/U6ijPsRw0coJwOhtUIT6Emw4IiaW2jM/DR56jRJghzxLy9r/Ur+GOqR5HhBeh/+fTQ==","signatures":[{"sig":"MEUCIGvpLXJo/Cxxgy2FBgFLgRxLW75FHljaOI0Bz1MKKTzKAiEA036RgHrObjxI4YCzTCrPRX3+c0rwpes7pGvmKM+VlX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB7zQDkFQMlRo6AwFFa8D6gY59JwRyv6KMnY6UyFu+XnAiEA2SZDfZAztVALGREGai09JohTNfHdvUCa1/nVT8QgCe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13363848},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"bf4fd9ff986f172899671135424a3fd0608b2dba","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.33.0_1790798031855_0.35871789130302445","host":"s3://npm-registry-packages-npm-production"}},"5.34.0":{"name":"cursedbelt","version":"5.34.0","license":"ISC","_id":"cursedbelt@5.34.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"0fb6582997c5ded67b68fa218502923b93155b62","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.34.0.tgz","fileCount":3139,"integrity":"sha512-xhSKR0GCxel77s0wz1rkggvpqcmpkVOzbzqm+aTNKxtP9xGIQi+/No6nZTDB/08iYEYR8XTlrZ0aOSj0Jeteig==","signatures":[{"sig":"MEQCIGUr06NQYSeppLP7cvIG290xCjrXS776kqJcNjvLJNnCAiBBU0ZdoUNFj0M7NZ6uQadZof/K1pzm3E2rDocIy623OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB+UzMblnT1Z8zvL6Ia8cDdmaqaVErcimosq5y53UF59AiAiQcl/KrEam3YQJ8sSJmmyncDyQ6Y3CH9n4CbB5PW5Tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13429620},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./react/menu":{"bun":"./src/react/components/Menu.tsx","types":"./dist/react/components/Menu.d.ts","import":"./dist/react/components/Menu.js","source":"./src/react/components/Menu.tsx"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/selection-bar":{"bun":"./src/react/components/SelectionBar.tsx","types":"./dist/react/components/SelectionBar.d.ts","import":"./dist/react/components/SelectionBar.js","source":"./src/react/components/SelectionBar.tsx"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./react/save-indicator":{"bun":"./src/react/components/SaveIndicator.tsx","types":"./dist/react/components/SaveIndicator.d.ts","import":"./dist/react/components/SaveIndicator.js","source":"./src/react/components/SaveIndicator.tsx"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/unstyled-button":{"bun":"./src/react/components/UnstyledButton.tsx","types":"./dist/react/components/UnstyledButton.d.ts","import":"./dist/react/components/UnstyledButton.js","source":"./src/react/components/UnstyledButton.tsx"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"33607ef6c0c2ecdec8dc6b937b5a0acf47c7f673","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.34.0_1790804229618_0.37963397783237807","host":"s3://npm-registry-packages-npm-production"}},"5.34.1":{"name":"cursedbelt","version":"5.34.1","license":"ISC","_id":"cursedbelt@5.34.1","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"e627ae067922b5f96c7e91cacdc9aa5bbf09db05","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.34.1.tgz","fileCount":3139,"integrity":"sha512-ILK6Q8uFblovWWl444CImiBWVkiX7qDQTj/rsPr6Ea7N5/O843K49K+9NypLsMgPv9Ot68FVJEPG99YxS7BIxw==","signatures":[{"sig":"MEYCIQCH4gxKVXH8Dq1n58pmtG2yLN++xHmOKFLeTFcfsGKYsAIhAJikglfTKnozOK/VRolvXBtQVIImLNwLGqL1LDs9jUf9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFMwU/NHv8FnGiDqW+oSyXUSsLuhyT7j9EEqpFMFCzRWAiBRfqwjhtenCabCBjlRmEYbnTHnghq2T1R7QHREqIloYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13434104},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./react/menu":{"bun":"./src/react/components/Menu.tsx","types":"./dist/react/components/Menu.d.ts","import":"./dist/react/components/Menu.js","source":"./src/react/components/Menu.tsx"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/selection-bar":{"bun":"./src/react/components/SelectionBar.tsx","types":"./dist/react/components/SelectionBar.d.ts","import":"./dist/react/components/SelectionBar.js","source":"./src/react/components/SelectionBar.tsx"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./react/save-indicator":{"bun":"./src/react/components/SaveIndicator.tsx","types":"./dist/react/components/SaveIndicator.d.ts","import":"./dist/react/components/SaveIndicator.js","source":"./src/react/components/SaveIndicator.tsx"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/unstyled-button":{"bun":"./src/react/components/UnstyledButton.tsx","types":"./dist/react/components/UnstyledButton.d.ts","import":"./dist/react/components/UnstyledButton.js","source":"./src/react/components/UnstyledButton.tsx"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"ef73ba08163b76ac71aaf5e48ab6ec49f5d3b803","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.34.1_1790816073819_0.040978425155858256","host":"s3://npm-registry-packages-npm-production"}},"5.35.0":{"name":"cursedbelt","version":"5.35.0","license":"ISC","_id":"cursedbelt@5.35.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"4f4fd791d98ba4528e5d9a9a76eb07b9291eead5","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.35.0.tgz","fileCount":3169,"integrity":"sha512-t4DBL1cgg2Yf/BU3C474Aiv1fGBRgwQI5kuwAH1qUPfl8L2r8inFUCXQJmpeiM6834FxJqDDHx5WMzcCsUN63A==","signatures":[{"sig":"MEUCIGSCQKertamBjhaD+TX3CrKeAGQcBiDqiWYHjF0XJtUBAiEArRA7fMwdQkGQzlOYQ+9NAN/kjRjLLf2Q7n5PAM+PDUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC/98GFnBlPRzgXfjYAZgah8tQzkj/YaO3VrW1xE1PwMAiALZD1m0MM1sEnlbMHjVGXgQsODOwiEMwy4O9LsrPj70g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13646378},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./react/menu":{"bun":"./src/react/components/Menu.tsx","types":"./dist/react/components/Menu.d.ts","import":"./dist/react/components/Menu.js","source":"./src/react/components/Menu.tsx"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/selection-bar":{"bun":"./src/react/components/SelectionBar.tsx","types":"./dist/react/components/SelectionBar.d.ts","import":"./dist/react/components/SelectionBar.js","source":"./src/react/components/SelectionBar.tsx"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./react/save-indicator":{"bun":"./src/react/components/SaveIndicator.tsx","types":"./dist/react/components/SaveIndicator.d.ts","import":"./dist/react/components/SaveIndicator.js","source":"./src/react/components/SaveIndicator.tsx"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/unstyled-button":{"bun":"./src/react/components/UnstyledButton.tsx","types":"./dist/react/components/UnstyledButton.d.ts","import":"./dist/react/components/UnstyledButton.js","source":"./src/react/components/UnstyledButton.tsx"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"6fdc40dda745c0e776744d9215e51c8367a416c1","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.35.0_1790827009696_0.45543200037545906","host":"s3://npm-registry-packages-npm-production"}},"5.36.0":{"name":"cursedbelt","version":"5.36.0","license":"ISC","_id":"cursedbelt@5.36.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"70233870e93812a4c21db0d954da263d1169d568","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.36.0.tgz","fileCount":3170,"integrity":"sha512-BBIOBeiFqZGnXNl5Cqhv0QqVxRB37mf23JUbw2N24nSk702vBIA4J0FpRGO4FsOH91rMtZA3EBHvUUf+3GAC6g==","signatures":[{"sig":"MEYCIQCiVUVJUBjkvRrJEUhg+vmaN5hE0a7MVV0XYQ0i0xRJygIhANumfi31vKunL/KoedHz1neOaYHTeXbZzjy8uR4tb3BM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFDcZ44Qb5AnlNh7UvjrGfrvaZ5ZP3YHnbUdoCrpfBxEAiEAz6M8mXxIZqWsPtGi+QQuGKsO0I1npdulqjrlyrcJz4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13671160},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./react/menu":{"bun":"./src/react/components/Menu.tsx","types":"./dist/react/components/Menu.d.ts","import":"./dist/react/components/Menu.js","source":"./src/react/components/Menu.tsx"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/selection-bar":{"bun":"./src/react/components/SelectionBar.tsx","types":"./dist/react/components/SelectionBar.d.ts","import":"./dist/react/components/SelectionBar.js","source":"./src/react/components/SelectionBar.tsx"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./react/save-indicator":{"bun":"./src/react/components/SaveIndicator.tsx","types":"./dist/react/components/SaveIndicator.d.ts","import":"./dist/react/components/SaveIndicator.js","source":"./src/react/components/SaveIndicator.tsx"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/unstyled-button":{"bun":"./src/react/components/UnstyledButton.tsx","types":"./dist/react/components/UnstyledButton.d.ts","import":"./dist/react/components/UnstyledButton.js","source":"./src/react/components/UnstyledButton.tsx"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"c58dfad17548799b5f32d9ae2cbf0cabb3658c67","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.36.0_1790827586835_0.09769222957528156","host":"s3://npm-registry-packages-npm-production"}},"5.38.0":{"name":"cursedbelt","version":"5.38.0","license":"ISC","_id":"cursedbelt@5.38.0","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"homepage":"https://github.com/curtwphillips/cursedbelt#readme","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"a93bb6649999194d243642f0c6e45781fb450375","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.38.0.tgz","fileCount":3182,"integrity":"sha512-B1n0AnfFSErC7oUw6/YlaSO+UhmHsQk1mcgneGVoCYscbLEfSI9iiohfGnkx7CLZwLJr+2g2leaUbsI34KosKQ==","signatures":[{"sig":"MEYCIQDx3yTpWHgVlFjzkh9aTjva7DJ9mDWdEFU6pJ+0ZkFf+gIhAJUghgzfT/KxX2n6I3BVr7d8twsL0P9scB9NFYY42Eik","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH2Z3xAXcakWtosqUaAeWhcyvHy1ntcsALQq92+OnbpMAiBKMHothxZ1hClbbQ9KKJ2NVmr8+uc5ywOUAEXchVDDlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13780278},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./react/menu":{"bun":"./src/react/components/Menu.tsx","types":"./dist/react/components/Menu.d.ts","import":"./dist/react/components/Menu.js","source":"./src/react/components/Menu.tsx"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/action-bar":{"bun":"./src/react/components/ActionBar.tsx","types":"./dist/react/components/ActionBar.d.ts","import":"./dist/react/components/ActionBar.js","source":"./src/react/components/ActionBar.tsx"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/selection-bar":{"bun":"./src/react/components/SelectionBar.tsx","types":"./dist/react/components/SelectionBar.d.ts","import":"./dist/react/components/SelectionBar.js","source":"./src/react/components/SelectionBar.tsx"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./react/save-indicator":{"bun":"./src/react/components/SaveIndicator.tsx","types":"./dist/react/components/SaveIndicator.d.ts","import":"./dist/react/components/SaveIndicator.js","source":"./src/react/components/SaveIndicator.tsx"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/unstyled-button":{"bun":"./src/react/components/UnstyledButton.tsx","types":"./dist/react/components/UnstyledButton.d.ts","import":"./dist/react/components/UnstyledButton.js","source":"./src/react/components/UnstyledButton.tsx"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"3865264c1e660e1ef8cacac4431f54ed52060f0c","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cursedbelt_5.38.0_1790837506108_0.8004241568009032","host":"s3://npm-registry-packages-npm-production"}},"5.39.0":{"_id":"cursedbelt@5.39.0","bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"dist":{"shasum":"ec49f256a5e1b462a78d40c3b9a1d8e30dd182f4","tarball":"https://registry.npmjs.org/cursedbelt/-/cursedbelt-5.39.0.tgz","fileCount":3193,"integrity":"sha512-2dZiAxOkj/sq1eXvIKlZz6v/gta1yZcB5QxAZ1X4gcY8++NsxD+JR1JZOYkJJ2cAqUuvH8R6bss1z3VJumvKtg==","signatures":[{"sig":"MEUCIC5YH8zgRBp8eWFqvUoGsNuzEcRi0TQQtHkFd9Qnra84AiEAws1o2LX/IaW0F1bplMWQDHfptHgbbPiTk7dTkHkojDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICVnn8QzGyVoI4yT+hz+ML35TYXWQatTibmmBNFTwVYSAiEA7N4rw/llcQohlCGDu7GeyDT/Zim+S7w3fWnsSqerG5I="}],"unpackedSize":13827874},"gate":{"stages":[{"script":"paths"},{"script":"typecheck:root"},{"script":"typecheck:specs"},{"script":"typecheck:scripts"},{"script":"demo:check"},{"script":"lint"},{"script":"guardrails:report"},{"script":"styles"},{"why":"its first two steps are the same generators; two writers on one stylesheet is a race","needs":["styles"],"script":"build"},{"why":"stylesStaticMatches / stylesUtilitiesMatches read those two files and assert they are current","needs":["styles"],"script":"test","timeoutSec":300},{"why":"the demo bundle it drives is compiled from the same stylesheets","needs":["styles"],"script":"e2e"}]},"name":"cursedbelt","type":"module","cursed":{"app":{"name":"cursedbelt","commands":{"e2e":"e2e","test":"test","build":"build","typecheck":"typecheck"}},"schemaVersion":1},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./react":{"bun":"./src/react/index.ts","types":"./dist/react/index.d.ts","import":"./dist/react/index.js","source":"./src/react/index.ts"},"./testing":{"bun":"./src/testing/index.ts","types":"./dist/testing/index.d.ts","source":"./src/testing/index.ts","default":"./dist/testing/_noBun.js"},"./theme.css":"./src/theme.css","./guardrails":{"bun":"./scripts/guardrailsEnforce.ts","types":"./dist/scripts/guardrailsEnforce.d.ts","source":"./scripts/guardrailsEnforce.ts","default":"./scripts/guardrailsEnforce.ts"},"./react/chat":{"bun":"./src/react/chat/index.ts","types":"./dist/react/chat/index.d.ts","import":"./dist/react/chat/index.js","source":"./src/react/chat/index.ts"},"./react/lazy":{"bun":"./src/react/lazy/index.ts","types":"./dist/react/lazy/index.d.ts","import":"./dist/react/lazy/index.js","source":"./src/react/lazy/index.ts"},"./react/menu":{"bun":"./src/react/components/Menu.tsx","types":"./dist/react/components/Menu.d.ts","import":"./dist/react/components/Menu.js","source":"./src/react/components/Menu.tsx"},"./styles.css":"./src/styles.css","./react/badge":{"bun":"./src/react/components/Badge.tsx","types":"./dist/react/components/Badge.d.ts","import":"./dist/react/components/Badge.js","source":"./src/react/components/Badge.tsx"},"./react/field":{"bun":"./src/react/components/Field.tsx","types":"./dist/react/components/Field.d.ts","import":"./dist/react/components/Field.js","source":"./src/react/components/Field.tsx"},"./react/icons":{"bun":"./src/react/icons.tsx","types":"./dist/react/icons.d.ts","import":"./dist/react/icons.js","source":"./src/react/icons.tsx"},"./react/input":{"bun":"./src/react/components/Input.tsx","types":"./dist/react/components/Input.d.ts","import":"./dist/react/components/Input.js","source":"./src/react/components/Input.tsx"},"./react/media":{"bun":"./src/react/media/index.ts","types":"./dist/react/media/index.d.ts","import":"./dist/react/media/index.js","source":"./src/react/media/index.ts"},"./react/modal":{"bun":"./src/react/components/Modal.tsx","types":"./dist/react/components/Modal.d.ts","import":"./dist/react/components/Modal.js","source":"./src/react/components/Modal.tsx"},"./react/toast":{"bun":"./src/react/Toast.tsx","types":"./dist/react/Toast.d.ts","import":"./dist/react/Toast.js","source":"./src/react/Toast.tsx"},"./react/button":{"bun":"./src/react/components/Button.tsx","types":"./dist/react/components/Button.d.ts","import":"./dist/react/components/Button.js","source":"./src/react/components/Button.tsx"},"./react/charts":{"bun":"./src/react/charts/index.ts","types":"./dist/react/charts/index.d.ts","import":"./dist/react/charts/index.js","source":"./src/react/charts/index.ts"},"./react/prompt":{"bun":"./src/react/prompt.tsx","types":"./dist/react/prompt.d.ts","import":"./dist/react/prompt.js","source":"./src/react/prompt.tsx"},"./react/slider":{"bun":"./src/react/components/Slider.tsx","types":"./dist/react/components/Slider.d.ts","import":"./dist/react/components/Slider.js","source":"./src/react/components/Slider.tsx"},"./react/switch":{"bun":"./src/react/components/Switch.tsx","types":"./dist/react/components/Switch.d.ts","import":"./dist/react/components/Switch.js","source":"./src/react/components/Switch.tsx"},"./react/confirm":{"bun":"./src/react/confirm.tsx","types":"./dist/react/confirm.d.ts","import":"./dist/react/confirm.js","source":"./src/react/confirm.tsx"},"./react/popover":{"bun":"./src/react/components/Popover.tsx","types":"./dist/react/components/Popover.d.ts","import":"./dist/react/components/Popover.js","source":"./src/react/components/Popover.tsx"},"./react/sharing":{"bun":"./src/react/sharing/index.ts","types":"./dist/react/sharing/index.d.ts","import":"./dist/react/sharing/index.js","source":"./src/react/sharing/index.ts"},"./react/tooltip":{"bun":"./src/react/components/Tooltip.tsx","types":"./dist/react/components/Tooltip.d.ts","import":"./dist/react/components/Tooltip.js","source":"./src/react/components/Tooltip.tsx"},"./workspace.css":"./src/workspace.css","./react/checkbox":{"bun":"./src/react/components/Checkbox.tsx","types":"./dist/react/components/Checkbox.d.ts","import":"./dist/react/components/Checkbox.js","source":"./src/react/components/Checkbox.tsx"},"./react/form-kit":{"bun":"./src/react/components/formKit.ts","types":"./dist/react/components/formKit.d.ts","import":"./dist/react/components/formKit.js","source":"./src/react/components/formKit.ts"},"./react/analytics":{"bun":"./src/react/analytics/index.ts","types":"./dist/react/analytics/index.d.ts","import":"./dist/react/analytics/index.js","source":"./src/react/analytics/index.ts"},"./react/clipboard":{"bun":"./src/react/clipboard/index.ts","types":"./dist/react/clipboard/index.d.ts","import":"./dist/react/clipboard/index.js","source":"./src/react/clipboard/index.ts"},"./react/code-chip":{"bun":"./src/react/components/CodeChip.tsx","types":"./dist/react/components/CodeChip.d.ts","import":"./dist/react/components/CodeChip.js","source":"./src/react/components/CodeChip.tsx"},"./react/deep-link":{"bun":"./src/react/deep-link/index.ts","types":"./dist/react/deep-link/index.d.ts","import":"./dist/react/deep-link/index.js","source":"./src/react/deep-link/index.ts"},"./react/file-tree":{"bun":"./src/react/file-tree/index.ts","types":"./dist/react/file-tree/index.d.ts","import":"./dist/react/file-tree/index.js","source":"./src/react/file-tree/index.ts"},"./react/info-hint":{"bun":"./src/react/components/InfoHint.tsx","types":"./dist/react/components/InfoHint.d.ts","import":"./dist/react/components/InfoHint.js","source":"./src/react/components/InfoHint.tsx"},"./react/rich-text":{"bun":"./src/react/rich-text/index.ts","types":"./dist/react/rich-text/index.d.ts","import":"./dist/react/rich-text/index.js","source":"./src/react/rich-text/index.ts"},"./react/action-bar":{"bun":"./src/react/components/ActionBar.tsx","types":"./dist/react/components/ActionBar.d.ts","import":"./dist/react/components/ActionBar.js","source":"./src/react/components/ActionBar.tsx"},"./react/data-table":{"bun":"./src/react/components/DataTable/index.ts","types":"./dist/react/components/DataTable/index.d.ts","import":"./dist/react/components/DataTable/index.js","source":"./src/react/components/DataTable/index.ts"},"./react/disk-usage":{"bun":"./src/react/disk-usage/index.ts","types":"./dist/react/disk-usage/index.d.ts","import":"./dist/react/disk-usage/index.js","source":"./src/react/disk-usage/index.ts"},"./react/error-card":{"bun":"./src/react/components/ErrorCard.tsx","types":"./dist/react/components/ErrorCard.d.ts","import":"./dist/react/components/ErrorCard.js","source":"./src/react/components/ErrorCard.tsx"},"./react/keep-awake":{"bun":"./src/react/keep-awake/index.ts","types":"./dist/react/keep-awake/index.d.ts","import":"./dist/react/keep-awake/index.js","source":"./src/react/keep-awake/index.ts"},"./react/pdf-viewer":{"bun":"./src/react/pdf-viewer/index.ts","types":"./dist/react/pdf-viewer/index.d.ts","import":"./dist/react/pdf-viewer/index.js","source":"./src/react/pdf-viewer/index.ts"},"./react/table-sort":{"bun":"./src/react/hooks/useTableSort.ts","types":"./dist/react/hooks/useTableSort.d.ts","import":"./dist/react/hooks/useTableSort.js","source":"./src/react/hooks/useTableSort.ts"},"./react/code-editor":{"bun":"./src/react/code-editor/index.ts","types":"./dist/react/code-editor/index.d.ts","import":"./dist/react/code-editor/index.js","source":"./src/react/code-editor/index.ts"},"./react/diff-viewer":{"bun":"./src/react/diff-viewer/index.ts","types":"./dist/react/diff-viewer/index.d.ts","import":"./dist/react/diff-viewer/index.js","source":"./src/react/diff-viewer/index.ts"},"./react/empty-state":{"bun":"./src/react/components/EmptyState.tsx","types":"./dist/react/components/EmptyState.d.ts","import":"./dist/react/components/EmptyState.js","source":"./src/react/components/EmptyState.tsx"},"./react/filter-rail":{"bun":"./src/react/filter-rail/index.ts","types":"./dist/react/filter-rail/index.d.ts","import":"./dist/react/filter-rail/index.js","source":"./src/react/filter-rail/index.ts"},"./react/folder-tree":{"bun":"./src/react/folder-tree/index.ts","types":"./dist/react/folder-tree/index.d.ts","import":"./dist/react/folder-tree/index.js","source":"./src/react/folder-tree/index.ts"},"./react/icon-button":{"bun":"./src/react/components/IconButton.tsx","types":"./dist/react/components/IconButton.d.ts","import":"./dist/react/components/IconButton.js","source":"./src/react/components/IconButton.tsx"},"./react/master-lock":{"bun":"./src/react/master-lock/index.ts","types":"./dist/react/master-lock/index.d.ts","import":"./dist/react/master-lock/index.js","source":"./src/react/master-lock/index.ts"},"./react/scroll-area":{"bun":"./src/react/components/ScrollArea.tsx","types":"./dist/react/components/ScrollArea.d.ts","import":"./dist/react/components/ScrollArea.js","source":"./src/react/components/ScrollArea.tsx"},"./react/spreadsheet":{"bun":"./src/react/spreadsheet/index.ts","types":"./dist/react/spreadsheet/index.d.ts","import":"./dist/react/spreadsheet/index.js","source":"./src/react/spreadsheet/index.ts"},"./styles-static.css":"./src/styles-static.css","./react/activity-bar":{"bun":"./src/react/activity-bar/index.ts","types":"./dist/react/activity-bar/index.d.ts","import":"./dist/react/activity-bar/index.js","source":"./src/react/activity-bar/index.ts"},"./react/markdown-doc":{"bun":"./src/react/markdown/MarkdownDoc.tsx","types":"./dist/react/markdown/MarkdownDoc.d.ts","import":"./dist/react/markdown/MarkdownDoc.js","source":"./src/react/markdown/MarkdownDoc.tsx"},"./react/media/poster":{"bun":"./src/react/media/poster.ts","types":"./dist/react/media/poster.d.ts","import":"./dist/react/media/poster.js","source":"./src/react/media/poster.ts"},"./react/search-input":{"bun":"./src/react/components/SearchInput.tsx","types":"./dist/react/components/SearchInput.d.ts","import":"./dist/react/components/SearchInput.js","source":"./src/react/components/SearchInput.tsx"},"./react/secret-input":{"bun":"./src/react/components/SecretInput.tsx","types":"./dist/react/components/SecretInput.d.ts","import":"./dist/react/components/SecretInput.js","source":"./src/react/components/SecretInput.tsx"},"./react/select-field":{"bun":"./src/react/components/SelectField.tsx","types":"./dist/react/components/SelectField.d.ts","import":"./dist/react/components/SelectField.js","source":"./src/react/components/SelectField.tsx"},"./react/dropdown-menu":{"bun":"./src/react/components/DropdownMenu.tsx","types":"./dist/react/components/DropdownMenu.d.ts","import":"./dist/react/components/DropdownMenu.js","source":"./src/react/components/DropdownMenu.tsx"},"./react/master-detail":{"bun":"./src/react/master-detail/index.ts","types":"./dist/react/master-detail/index.d.ts","import":"./dist/react/master-detail/index.js","source":"./src/react/master-detail/index.ts"},"./react/media-gallery":{"bun":"./src/react/media-gallery/index.ts","types":"./dist/react/media-gallery/index.d.ts","import":"./dist/react/media-gallery/index.js","source":"./src/react/media-gallery/index.ts"},"./react/notifications":{"bun":"./src/react/notifications/index.ts","types":"./dist/react/notifications/index.d.ts","import":"./dist/react/notifications/index.js","source":"./src/react/notifications/index.ts"},"./react/selection-bar":{"bun":"./src/react/components/SelectionBar.tsx","types":"./dist/react/components/SelectionBar.d.ts","import":"./dist/react/components/SelectionBar.js","source":"./src/react/components/SelectionBar.tsx"},"./react/upload-direct":{"bun":"./src/react/lib/directUpload.ts","types":"./dist/react/lib/directUpload.d.ts","import":"./dist/react/lib/directUpload.js","source":"./src/react/lib/directUpload.ts"},"./react/dashboard-grid":{"bun":"./src/react/dashboard-grid/index.ts","types":"./dist/react/dashboard-grid/index.d.ts","import":"./dist/react/dashboard-grid/index.js","source":"./src/react/dashboard-grid/index.ts"},"./react/list-selection":{"bun":"./src/react/hooks/useListSelection.ts","types":"./dist/react/hooks/useListSelection.d.ts","import":"./dist/react/hooks/useListSelection.js","source":"./src/react/hooks/useListSelection.ts"},"./react/save-indicator":{"bun":"./src/react/components/SaveIndicator.tsx","types":"./dist/react/components/SaveIndicator.d.ts","import":"./dist/react/components/SaveIndicator.js","source":"./src/react/components/SaveIndicator.tsx"},"./styles-areas/nav.css":"./src/styles-areas/nav.css","./styles-utilities.css":"./src/styles-utilities.css","./react/unstyled-button":{"bun":"./src/react/components/UnstyledButton.tsx","types":"./dist/react/components/UnstyledButton.d.ts","import":"./dist/react/components/UnstyledButton.js","source":"./src/react/components/UnstyledButton.tsx"},"./react/workbook-viewer":{"bun":"./src/react/workbook-viewer/index.ts","types":"./dist/react/workbook-viewer/index.d.ts","import":"./dist/react/workbook-viewer/index.js","source":"./src/react/workbook-viewer/index.ts"},"./styles-areas/auth.css":"./src/styles-areas/auth.css","./styles-areas/chat.css":"./src/styles-areas/chat.css","./styles-areas/core.css":"./src/styles-areas/core.css","./react/swipe-to-dismiss":{"bun":"./src/react/hooks/useSwipeToDismiss.ts","types":"./dist/react/hooks/useSwipeToDismiss.d.ts","import":"./dist/react/hooks/useSwipeToDismiss.js","source":"./src/react/hooks/useSwipeToDismiss.ts"},"./styles-areas/emoji.css":"./src/styles-areas/emoji.css","./styles-areas/media.css":"./src/styles-areas/media.css","./styles-areas/stats.css":"./src/styles-areas/stats.css","./react/engagement-beacon":{"bun":"./src/react/engagement/index.ts","types":"./dist/react/engagement/index.d.ts","import":"./dist/react/engagement/index.js","source":"./src/react/engagement/index.ts"},"./react/segmented-control":{"bun":"./src/react/components/SegmentedControl.tsx","types":"./dist/react/components/SegmentedControl.d.ts","import":"./dist/react/components/SegmentedControl.js","source":"./src/react/components/SegmentedControl.tsx"},"./styles-areas/charts.css":"./src/styles-areas/charts.css","./styles-areas/fields.css":"./src/styles-areas/fields.css","./styles-areas/wizard.css":"./src/styles-areas/wizard.css","./react/media/player-strip":{"bun":"./src/react/media/PlayerStrip.tsx","types":"./dist/react/media/PlayerStrip.d.ts","import":"./dist/react/media/PlayerStrip.js","source":"./src/react/media/PlayerStrip.tsx"},"./react/media/video-player":{"bun":"./src/react/media/VideoPlayer.tsx","types":"./dist/react/media/VideoPlayer.d.ts","import":"./dist/react/media/VideoPlayer.js","source":"./src/react/media/VideoPlayer.tsx"},"./react/multi-select-field":{"bun":"./src/react/components/MultiSelectField.tsx","types":"./dist/react/components/MultiSelectField.d.ts","import":"./dist/react/components/MultiSelectField.js","source":"./src/react/components/MultiSelectField.tsx"},"./styles-areas/palette.css":"./src/styles-areas/palette.css","./styles-areas/sharing.css":"./src/styles-areas/sharing.css","./styles-areas/virtual.css":"./src/styles-areas/virtual.css","./react/media/upload-client":{"bun":"./src/react/media/fileUploadClient.ts","types":"./dist/react/media/fileUploadClient.d.ts","import":"./dist/react/media/fileUploadClient.js","source":"./src/react/media/fileUploadClient.ts"},"./styles-areas/calendar.css":"./src/styles-areas/calendar.css","./styles-areas/markdown.css":"./src/styles-areas/markdown.css","./styles-areas/overlays.css":"./src/styles-areas/overlays.css","./styles-areas/analytics.css":"./src/styles-areas/analytics.css","./styles-areas/clipboard.css":"./src/styles-areas/clipboard.css","./styles-areas/deep-link.css":"./src/styles-areas/deep-link.css","./styles-areas/file-tree.css":"./src/styles-areas/file-tree.css","./styles-areas/rich-text.css":"./src/styles-areas/rich-text.css","./styles-areas/workbench.css":"./src/styles-areas/workbench.css","./styles-areas/data-table.css":"./src/styles-areas/data-table.css","./styles-areas/disk-usage.css":"./src/styles-areas/disk-usage.css","./styles-areas/keep-awake.css":"./src/styles-areas/keep-awake.css","./styles-areas/pdf-viewer.css":"./src/styles-areas/pdf-viewer.css","./react/media/player-space-key":{"bun":"./src/react/media/playerSpaceKey.ts","types":"./dist/react/media/playerSpaceKey.d.ts","import":"./dist/react/media/playerSpaceKey.js","source":"./src/react/media/playerSpaceKey.ts"},"./styles-areas/chart-table.css":"./src/styles-areas/chart-table.css","./styles-areas/code-editor.css":"./src/styles-areas/code-editor.css","./styles-areas/diff-viewer.css":"./src/styles-areas/diff-viewer.css","./styles-areas/filter-rail.css":"./src/styles-areas/filter-rail.css","./styles-areas/folder-tree.css":"./src/styles-areas/folder-tree.css","./styles-areas/master-lock.css":"./src/styles-areas/master-lock.css","./styles-areas/spreadsheet.css":"./src/styles-areas/spreadsheet.css","./styles-areas/test-report.css":"./src/styles-areas/test-report.css","./react/file-tree/geometry.json":"./src/react/file-tree/fileTreeGeometry.fixture.json","./styles-areas/activity-bar.css":"./src/styles-areas/activity-bar.css","./styles-areas/layout-engine.css":"./src/styles-areas/layout-engine.css","./styles-areas/master-detail.css":"./src/styles-areas/master-detail.css","./styles-areas/media-gallery.css":"./src/styles-areas/media-gallery.css","./styles-areas/notifications.css":"./src/styles-areas/notifications.css","./styles-areas/companion-link.css":"./src/styles-areas/companion-link.css","./styles-areas/dashboard-grid.css":"./src/styles-areas/dashboard-grid.css","./styles-areas/problem-detail.css":"./src/styles-areas/problem-detail.css","./styles-areas/workbook-viewer.css":"./src/styles-areas/workbook-viewer.css"},"gitHead":"40bb9624c4178778f892ca7b05bf63cb3c027238","license":"ISC","scripts":{"e2e":"playwright test --config e2e/playwright.config.ts","demo":"vite --config demo/vite.config.ts","gate":"bun run scripts/gate.ts","lint":"biome lint --error-on-warnings src e2e demo scripts","test":"NODE_ENV=development bun test src scripts --timeout 60000 --parallel=6","build":"rm -rf dist.next dist.prev && bun run scripts/generateStaticStyles.ts && bun run scripts/generateUtilityStyles.ts && bun run scripts/generateAreaStyles.ts && tsc --project tsconfig.build.json --outDir dist.next && tsc --project tsconfig.scripts.build.json --outDir dist.next/scripts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/copyDistAssets.ts && CURSEDBELT_DIST_DIR=dist.next bun run scripts/checkDistExports.ts &&{ [ -d dist ] && mv dist dist.prev || true; } && mv dist.next dist && rm -rf dist.prev","paths":"bun run scripts/paths.ts","styles":"bun run styles:static && bun run styles:utilities && bun run styles:areas","verify":"bun run gate","surface":"public-surface","e2e:touch":"playwright test --config e2e/playwright.config.ts --project=touch","typecheck":"bun run typecheck:root && bun run typecheck:specs && bun run typecheck:scripts","demo:build":"vite build --config demo/vite.config.ts","demo:check":"tsc --noEmit --project demo/tsconfig.json","demo:paths":"bun run demo/generatePaths.ts --write","demo:serve":"bun run demo:build && bun run scripts/demoServer.ts","done:serial":"bun run typecheck && bun run lint && bun run test && bun run build","e2e:tap-away":"playwright test --config e2e/playwright.config.ts tap-away.spec.ts","styles:areas":"bun run scripts/generateAreaStyles.ts","styles:static":"bun run scripts/generateStaticStyles.ts","e2e:video-turn":"playwright test --config e2e/playwright.config.ts video-turn.spec.ts","prepublishOnly":"bun run gate --force","typecheck:root":"tsc --noEmit","e2e:filter-rail":"playwright test --config e2e/playwright.config.ts filter-rail.spec.ts","e2e:resize-grip":"playwright test --config e2e/playwright.config.ts resize-grip-rail.spec.ts","typecheck:specs":"tsc --noEmit --project tsconfig.specs.json","e2e:dialog-reach":"playwright test --config e2e/playwright.config.ts dialog-reach.spec.ts","e2e:stage-layout":"playwright test --config e2e/playwright.config.ts stage-layout.spec.ts","e2e:table-layout":"playwright test --config e2e/playwright.config.ts table-layout.spec.ts","styles:utilities":"bun run scripts/generateUtilityStyles.ts","guardrails:report":"bun run scripts/guardrailsEnforce.ts no-raw-action-button,no-raw-overflow,no-raw-inputs,no-hardcoded-colors,no-raw-modal-footer,no-unguarded-editing-modal,control-height-tokens,no-raw-zindex,no-raw-data-table,no-tailwind-palette,no-raw-title-attr,micro-typography-floor,choice-needs-empty-state,no-select-as-action-menu,no-native-dialog,no-fast-tooltip,no-raw-password,no-raw-lazy,no-raw-popover,no-hand-rolled-scroll-memory,no-hand-rolled-surface,no-inline-style,opt-out-count,opt-out-needs-cause --scope cursedbelt src/react src/styles.css","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","e2e:playback-degraded":"playwright test --config e2e/playwright.config.ts playback-degraded.spec.ts"},"version":"5.39.0","_npmUser":{"name":"curtwphillips","email":"curtwphillips@gmail.com"},"homepage":"https://github.com/curtwphillips/cursedbelt#readme","unpeered":{"why":"Packages some subpaths import that are deliberately NOT in peerDependencies, because npm cannot resolve them beside this package's own peers: npm checks an optional peer's OWN peer ranges even when nobody installs it, so `npm install cursedbelt` failed ERESOLVE (task 2087, measured on 4.7.0 and on packed probes). @glideapps/glide-data-grid@6 peers react <=18 and marked ^4 (this package: react ^19, marked >=14). lodash is glide's own peer, which glide does not declare as a dependency. An app that renders ./react/spreadsheet, ./react/workbook-viewer or ./react/media-gallery installs glide + lodash itself. 🔴 Nothing the cursedbelt/react barrel reaches may import an unpeered package: Vite stubs only DECLARED optional peers, so 5.0.0 — which listed @emoji-mart/react and @hookform/resolvers here while EmojiPicker and makeFormConfig imported them — failed every consumer's clean-install vite build. 5.0.1 mounts emoji-mart's Picker directly and owns its zod resolver; src/unpeeredStaysOffTheBarrel.spec.ts is the check.","packages":{"lodash":">=4.17.19","@glideapps/glide-data-grid":">=6"},"subpaths":{"./react/spreadsheet":["@glideapps/glide-data-grid","lodash"],"./react/media-gallery":["@glideapps/glide-data-grid","lodash"],"./react/workbook-viewer":["@glideapps/glide-data-grid","lodash"]}},"repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"_npmVersion":"11.16.0","bundlerOnly":{"css":["./react","./react/activity-bar","./react/dashboard-grid","./react/diff-viewer","./react/file-tree","./react/form-kit","./react/markdown-doc","./react/media","./react/media-gallery","./react/media/player-strip","./react/media/video-player","./react/pdf-viewer","./react/rich-text","./react/search-input","./react/spreadsheet","./react/workbook-viewer"],"why":"Entries that load only through a bundler (Vite, Bun), never under plain Node, and why. `css`: they import a stylesheet — their own or a dependency's — so Node refuses them with ERR_UNKNOWN_FILE_EXTENSION \".css\" by design. `directoryImport`: they reach @atlaskit/pragmatic-drag-and-drop, which ships nested package.json directories and no exports map, so Node ESM refuses its subpaths with ERR_UNSUPPORTED_DIR_IMPORT (importing its dist files directly would load a second copy of the drag engine under a bundler). This is the declaration tools/proveInstall.ts reads to excuse exactly that error for exactly these subpaths (task 2087); src/bundlerOnlyEntries.spec.ts fails when a list and the code disagree, in either direction.","directoryImport":["./react","./react/disk-usage"]},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","directories":{},"maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"sideEffects":["**/*.css","**/server/**","**/ctgr/**","**/core/**","**/client/**"],"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","cmdk":"^1.1.1","cwip":"^4.6.0","sonner":"^2.0.7","zustand":"^5.0.14","lucide-react":"^1.21.0","@base-ui/react":"^1.6.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","cursedbelt-core":"^2.10.0","react-hook-form":"^7.80.0","@daypicker/react":"^10.0.1","@floating-ui/react":"^0.27.19","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.15","@tanstack/react-table":"^8.21.3","@radix-ui/react-dialog":"^1.1.17","@radix-ui/react-select":"^2.3.1","@radix-ui/react-slider":"^1.4.2","@radix-ui/react-switch":"^1.3.1","react-resizable-panels":"^4.12.0","@radix-ui/react-popover":"^1.1.17","@radix-ui/react-tooltip":"^1.2.10","@tanstack/react-virtual":"^3.14.3","@radix-ui/react-checkbox":"^1.3.5","@radix-ui/react-progress":"^1.1.10","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.14","@radix-ui/react-hover-card":"^1.1.17","@radix-ui/react-collapsible":"^1.1.14","@radix-ui/react-radio-group":"^1.3.9","@radix-ui/react-dropdown-menu":"^2.1.18","@atlaskit/pragmatic-drag-and-drop":"^2.0.1","@atlaskit/pragmatic-drag-and-drop-hitbox":"^2.0.0","@atlaskit/pragmatic-drag-and-drop-auto-scroll":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","diff":"^9.0.0","hono":"4.12.28","vite":"^7.3.6","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","react":"19.2.7","hls.js":"^1.5.0","marked":"^14.0.0","lowlight":"^3.3.0","recharts":"^3.8.1","cursedops":"^0.12.0","react-dom":"19.2.7","@tiptap/pm":"^3.27.1","@types/bun":"^1.3.14","emoji-mart":"^5.6.0","mediabunny":"^1.56.2","pdfjs-dist":"^4.10.38","typescript":"^6.0.3","@types/diff":"^8.0.0","@types/node":"^24","tailwindcss":"^4.3.1","@ffmpeg/util":"^0.12.2","@tiptap/core":"^3.27.1","@types/react":"^19.2.17","@tiptap/react":"^3.27.1","@biomejs/biome":"^2.5.0","@ffmpeg/ffmpeg":"^0.12.15","@vidstack/react":"1.15.6","tiptap-markdown":"^0.9.0","@codemirror/lint":"^6.9.7","@codemirror/view":"^6.43.4","@emoji-mart/data":"^1.2.1","@lezer/highlight":"^1.2.3","@playwright/test":"1.62.1","@types/react-dom":"^19.2.3","@codemirror/state":"^6.7.0","@tailwindcss/node":"^4.3.1","@tailwindcss/vite":"^4.3.1","cursedbelt-server":"^4.40.3","react-grid-layout":"2.2.3","react-photo-album":"^3.6.0","@codemirror/search":"^6.7.1","@tailwindcss/oxide":"^4.3.1","@hookform/resolvers":"^5.4.0","@tiptap/starter-kit":"^3.27.1","@codemirror/commands":"^6.10.4","@codemirror/lang-sql":"^6.10.0","@codemirror/language":"^6.12.4","@git-diff-view/react":"^0.1.6","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^5.2.0","@codemirror/lang-json":"^6.0.2","@codemirror/lang-yaml":"^6.1.3","@tanstack/react-query":"5.101.2","@testing-library/react":"16.3.2","@tiptap/extension-link":"^3.27.1","@tiptap/extension-image":"^3.27.1","@codemirror/autocomplete":"^6.20.3","@codemirror/legacy-modes":"^6.5.3","@glideapps/glide-data-grid":"^6.0.3","yet-another-react-lightbox":"^3.32.0","@codemirror/lang-javascript":"^6.2.5","@tiptap/extension-task-item":"^3.27.1","@tiptap/extension-task-list":"^3.27.1","react-filerobot-image-editor":"5.0.0-beta.159","@happy-dom/global-registrator":"^20.10.6","@tiptap/extension-placeholder":"^3.27.1","@tiptap/extension-character-count":"^3.27.1","@tiptap/extension-code-block-lowlight":"^3.27.1"},"peerDependencies":{"zod":"^4.4.0","diff":">=9","xlsx":">=0.20","react":"^19","hls.js":">=1","marked":">=14","lowlight":">=3","recharts":">=3","react-dom":"^19","emoji-mart":">=5","mediabunny":">=1","pdfjs-dist":">=4","@ffmpeg/util":">=0.12","@tiptap/core":">=3","@tiptap/react":">=3","@ffmpeg/ffmpeg":">=0.12","@vidstack/react":">=1","tiptap-markdown":">=0.9","@codemirror/view":">=6","@emoji-mart/data":">=1","@lezer/highlight":">=1","@codemirror/state":">=6","react-grid-layout":"2.2.3","react-photo-album":">=3","@tiptap/starter-kit":">=3","@codemirror/commands":">=6","@codemirror/lang-sql":">=6","@codemirror/language":">=6","@git-diff-view/react":">=0.1.6","@codemirror/lang-json":">=6","@codemirror/lang-yaml":">=6","@tanstack/react-query":">=5","@testing-library/react":">=16","@tiptap/extension-image":">=3","@codemirror/legacy-modes":">=6","yet-another-react-lightbox":">=3","@codemirror/lang-javascript":">=6","@tiptap/extension-task-item":">=3","@tiptap/extension-task-list":">=3","react-filerobot-image-editor":">=5.0.0-beta","@tiptap/extension-placeholder":">=3","@tiptap/extension-character-count":">=3","@tiptap/extension-code-block-lowlight":">=3"},"peerDependenciesMeta":{"diff":{"optional":true},"xlsx":{"optional":true},"hls.js":{"optional":true},"marked":{"optional":true},"lowlight":{"optional":true},"recharts":{"optional":true},"emoji-mart":{"optional":true},"mediabunny":{"optional":true},"pdfjs-dist":{"optional":true},"@ffmpeg/util":{"optional":true},"@tiptap/core":{"optional":true},"@tiptap/react":{"optional":true},"@ffmpeg/ffmpeg":{"optional":true},"@vidstack/react":{"optional":true},"tiptap-markdown":{"optional":true},"@codemirror/view":{"optional":true},"@emoji-mart/data":{"optional":true},"@lezer/highlight":{"optional":true},"@codemirror/state":{"optional":true},"react-grid-layout":{"optional":true},"react-photo-album":{"optional":true},"@tiptap/starter-kit":{"optional":true},"@codemirror/commands":{"optional":true},"@codemirror/lang-sql":{"optional":true},"@codemirror/language":{"optional":true},"@git-diff-view/react":{"optional":true},"@codemirror/lang-json":{"optional":true},"@codemirror/lang-yaml":{"optional":true},"@testing-library/react":{"optional":true},"@tiptap/extension-image":{"optional":true},"@codemirror/legacy-modes":{"optional":true},"yet-another-react-lightbox":{"optional":true},"@codemirror/lang-javascript":{"optional":true},"@tiptap/extension-task-item":{"optional":true},"@tiptap/extension-task-list":{"optional":true},"react-filerobot-image-editor":{"optional":true},"@tiptap/extension-placeholder":{"optional":true},"@tiptap/extension-character-count":{"optional":true},"@tiptap/extension-code-block-lowlight":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cursedbelt_5.39.0_1790872012251_0.3520415290615275"}}},"time":{"created":"2026-06-27T18:24:47.319Z","modified":"2026-10-01T16:26:52.723Z","0.0.0":"2026-06-27T18:24:47.575Z","1.0.0":"2026-09-13T03:14:42.035Z","2.3.0":"2026-09-14T16:15:12.685Z","2.5.0":"2026-09-15T03:56:12.947Z","2.5.1":"2026-09-15T04:22:07.066Z","2.6.0":"2026-09-15T07:33:13.935Z","2.6.1":"2026-09-15T07:44:33.197Z","2.7.0":"2026-09-15T11:16:14.838Z","2.8.0":"2026-09-15T12:36:35.441Z","3.0.0":"2026-09-15T18:04:14.348Z","3.0.1":"2026-09-15T18:24:04.717Z","3.0.2":"2026-09-15T18:36:56.905Z","4.0.0":"2026-09-17T10:16:17.201Z","4.1.0":"2026-09-17T16:53:09.704Z","4.1.1":"2026-09-17T18:17:04.304Z","4.3.0":"2026-09-18T11:29:39.989Z","4.4.0":"2026-09-23T00:49:42.767Z","4.5.0":"2026-09-23T01:12:54.766Z","4.6.0":"2026-09-23T03:15:56.869Z","4.7.0":"2026-09-23T03:48:36.857Z","5.0.0":"2026-09-23T20:15:35.747Z","5.0.1":"2026-09-23T21:54:40.384Z","5.1.0":"2026-09-23T22:25:01.818Z","5.2.0":"2026-09-23T22:42:48.157Z","5.3.0":"2026-09-23T23:36:35.828Z","5.3.1":"2026-09-24T00:25:00.478Z","5.4.0":"2026-09-24T05:01:33.005Z","5.5.0":"2026-09-24T05:09:15.001Z","5.6.0":"2026-09-24T05:29:22.594Z","5.7.0":"2026-09-24T05:40:40.152Z","5.7.1":"2026-09-24T06:06:45.085Z","5.7.2":"2026-09-24T07:34:02.322Z","5.7.3":"2026-09-24T15:40:42.585Z","5.8.0":"2026-09-25T00:08:18.578Z","5.9.0":"2026-09-25T01:40:56.287Z","5.10.0":"2026-09-26T00:19:41.394Z","5.10.1":"2026-09-26T04:34:30.168Z","5.11.0":"2026-09-27T03:23:49.790Z","5.12.0":"2026-09-27T22:19:21.581Z","5.12.1":"2026-09-27T22:40:36.568Z","5.13.0":"2026-09-27T23:20:50.747Z","5.14.0":"2026-09-27T23:53:14.909Z","5.15.0":"2026-09-28T00:19:49.697Z","5.15.2":"2026-09-28T00:37:53.237Z","5.15.1":"2026-09-28T00:42:09.220Z","5.15.3":"2026-09-28T00:54:51.683Z","5.15.4":"2026-09-28T01:10:14.456Z","5.16.0":"2026-09-28T02:25:21.178Z","5.16.1":"2026-09-28T03:39:31.343Z","5.17.0":"2026-09-28T05:57:48.984Z","5.18.0":"2026-09-28T16:09:08.850Z","5.19.0":"2026-09-28T16:21:35.847Z","5.19.1":"2026-09-28T16:44:10.335Z","5.20.0":"2026-09-28T17:02:35.792Z","5.21.0":"2026-09-28T17:20:27.495Z","5.22.0":"2026-09-28T17:30:04.316Z","5.22.1":"2026-09-28T17:36:32.110Z","5.23.0":"2026-09-28T19:53:58.306Z","5.25.0":"2026-09-29T01:29:46.837Z","5.26.0":"2026-09-29T06:15:30.684Z","5.27.0":"2026-09-29T15:16:11.209Z","5.28.0":"2026-09-29T17:39:16.031Z","5.30.0":"2026-09-30T07:26:57.642Z","5.32.0":"2026-09-30T13:52:29.860Z","5.33.0":"2026-09-30T19:53:52.017Z","5.34.0":"2026-09-30T21:37:09.773Z","5.34.1":"2026-10-01T00:54:34.093Z","5.35.0":"2026-10-01T03:56:49.885Z","5.36.0":"2026-10-01T04:06:27.085Z","5.38.0":"2026-10-01T06:51:46.316Z","5.39.0":"2026-10-01T16:26:52.483Z"},"bugs":{"url":"https://github.com/curtwphillips/cursedbelt/issues"},"license":"ISC","homepage":"https://github.com/curtwphillips/cursedbelt#readme","repository":{"url":"git+https://github.com/curtwphillips/cursedbelt.git","type":"git"},"description":"The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.","maintainers":[{"name":"curtwphillips","email":"curtwphillips@gmail.com"}],"readme":"# cursedbelt\n\nThe React design system of the cursedbelt split — components, styles, theme. The tiers:\n\n| package | what it is |\n| --- | --- |\n| `cursedbelt-core` | runtime-free types, schemas and wire shapes both sides share |\n| `cursedbelt` (this one) | React components, `styles.css`, `theme.css`, the guardrails scanner |\n| `cursedbelt-server` | the server tier — Bun routes, storage, auth, master lock |\n| `cursedbelt-cc` | the parked cc platform (verify pipeline, studios) |\n\nThe full reference — every subpath, the stylesheet routes, and what each subpath makes you\ninstall — is [`docs/API-REFERENCE.md`](docs/API-REFERENCE.md). The rules a component must keep are\n[`docs/STANDARDS.md`](docs/STANDARDS.md).\n\n## Before you import it — the traps that have cost a build\n\n1. **A subpath can need a package you have not installed.** `cursedbelt/react/charts` needs\n   `recharts`, `cursedbelt/react/rich-text` the `@tiptap/*` set, and so on: they are *optional*\n   peers, so `bun add cursedbelt` does not bring them. Skip one and Vite fails on a module called\n   `__vite-optional-peer-dep:recharts:cursedbelt` — the package to add is the middle field. The\n   table is \"What you install, and what you don't\" in `docs/API-REFERENCE.md`, and\n   `src/optionalPeersTable.spec.ts` fails this repo's gate when it stops matching the code.\n2. **Import the leaf, not a barrel, for one thing.** `cursedbelt/react` is the one barrel that is\n   safe whole — `src/barrelsReachNoOptionalPeer.spec.ts` proves it reaches no optional peer. On the\n   server tier the rule is the opposite: `cursedbelt-server`'s root export is a barrel, so an app\n   takes a leaf such as `cursedbelt-server/login-throttle`. That package's own docs carry which\n   leaves exist and what its barrel costs.\n3. **`Bun.serve`'s `websocket` option selects an overload** — it is a `cursedbelt-server` seam and\n   its note lives there.\n\n## Working on it\n\n`bun run verify` is the gate (typecheck ∥ lint ∥ tests ∥ build ∥ Playwright on the demo), and\n`bun run demo` is the kitchen-sink app every browser spec drives. Publishing is\n`tools/publish-libs.sh` at the generation root, which runs this gate first.\n","readmeFilename":"README.md"}