{ "name": "@surdeddd/wmkit", "version": "0.3.0", "description": "Headless, framework-agnostic window manager for the web — draggable, resizable, snappable windows with first-class accessibility and 60fps performance", "keywords": [ "window-manager", "windows", "draggable", "resizable", "floating", "snap", "headless", "desktop", "taskbar", "react", "vue", "svelte", "solid" ], "license": "MIT", "author": "Maksim Kravcov (https://github.com/Surdeddd)", "repository": { "type": "git", "url": "git+https://github.com/Surdeddd/wmkit.git" }, "homepage": "https://surdeddd.github.io/wmkit/", "bugs": "https://github.com/Surdeddd/wmkit/issues", "publishConfig": { "access": "public", "provenance": true }, "type": "module", "sideEffects": [ "**/*.css" ], "engines": { "node": ">=20" }, "packageManager": "pnpm@10.32.1", "files": [ "dist" ], "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { "import": { "types": "./dist/index.d.ts", "default": "./dist/index.js" }, "require": { "types": "./dist/index.d.cts", "default": "./dist/index.cjs" } }, "./react": { "import": { "types": "./dist/react.d.ts", "default": "./dist/react.js" }, "require": { "types": "./dist/react.d.cts", "default": "./dist/react.cjs" } }, "./vue": { "import": { "types": "./dist/vue.d.ts", "default": "./dist/vue.js" }, "require": { "types": "./dist/vue.d.cts", "default": "./dist/vue.cjs" } }, "./svelte": { "import": { "types": "./dist/svelte.d.ts", "default": "./dist/svelte.js" }, "require": { "types": "./dist/svelte.d.cts", "default": "./dist/svelte.cjs" } }, "./solid": { "import": { "types": "./dist/solid.d.ts", "default": "./dist/solid.js" }, "require": { "types": "./dist/solid.d.cts", "default": "./dist/solid.cjs" } }, "./angular": { "import": { "types": "./dist/angular.d.ts", "default": "./dist/angular.js" }, "require": { "types": "./dist/angular.d.cts", "default": "./dist/angular.cjs" } }, "./persist": { "import": { "types": "./dist/persist.d.ts", "default": "./dist/persist.js" }, "require": { "types": "./dist/persist.d.cts", "default": "./dist/persist.cjs" } }, "./popout": { "import": { "types": "./dist/popout.d.ts", "default": "./dist/popout.js" }, "require": { "types": "./dist/popout.d.cts", "default": "./dist/popout.cjs" } }, "./themes/*": "./dist/themes/*", "./package.json": "./package.json" }, "scripts": { "build": "tsup", "dev": "vite site", "site:build": "vite build site", "site:preview": "vite preview site", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:e2e": "playwright test", "lint": "biome check .", "lint:fix": "biome check --write .", "typecheck": "tsc --noEmit", "size": "size-limit", "attw": "attw --pack .", "publint": "publint", "prepublishOnly": "pnpm build", "verify": "pnpm lint && pnpm typecheck && pnpm test:coverage && pnpm build && pnpm size && pnpm publint && pnpm attw && pnpm test:e2e", "release": "semantic-release", "bench": "vitest bench --run" }, "peerDependencies": { "@angular/core": ">=16", "react": ">=18", "solid-js": ">=1.8", "svelte": ">=4", "vue": ">=3.3" }, "peerDependenciesMeta": { "react": { "optional": true }, "solid-js": { "optional": true }, "svelte": { "optional": true }, "vue": { "optional": true }, "@angular/core": { "optional": true } }, "devDependencies": { "@angular/core": "^20.3.26", "@arethetypeswrong/cli": "^0.18.2", "@axe-core/playwright": "^4.10.2", "@biomejs/biome": "^2.0.0", "@playwright/test": "^1.53.2", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@size-limit/preset-small-lib": "^11.2.0", "@testing-library/react": "^16.3.0", "@types/node": "^24.0.0", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitest/coverage-v8": "^3.2.4", "jsdom": "^26.1.0", "publint": "^0.3.12", "react": "^19.1.0", "react-dom": "^19.1.0", "semantic-release": "^25.0.6", "size-limit": "^11.2.0", "solid-js": "^1.9.7", "svelte": "^5.35.2", "tsup": "^8.5.0", "typescript": "^5.8.3", "vite": "^6.3.5", "vitest": "^3.2.4", "vue": "^3.5.17" }, "size-limit": [ { "name": "core", "path": "dist/index.js", "limit": "10 kB" }, { "name": "react adapter", "path": "dist/react.js", "limit": "10 kB", "ignore": [ "react" ] }, { "name": "vue adapter", "path": "dist/vue.js", "limit": "10 kB", "ignore": [ "vue" ] }, { "name": "svelte adapter", "path": "dist/svelte.js", "limit": "10 kB", "ignore": [ "svelte" ] }, { "name": "solid adapter", "path": "dist/solid.js", "limit": "10 kB", "ignore": [ "solid-js" ] }, { "name": "angular adapter", "path": "dist/angular.js", "limit": "10 kB", "ignore": [ "@angular/core" ] }, { "name": "persist plugin", "path": "dist/persist.js", "limit": "1 kB" }, { "name": "popout plugin", "path": "dist/popout.js", "limit": "1 kB" } ], "typesVersions": { "*": { "react": [ "./dist/react.d.ts" ], "vue": [ "./dist/vue.d.ts" ], "svelte": [ "./dist/svelte.d.ts" ], "solid": [ "./dist/solid.d.ts" ], "persist": [ "./dist/persist.d.ts" ], "popout": [ "./dist/popout.d.ts" ], "angular": [ "./dist/angular.d.ts" ] } } }