{"_id":"98ts","_rev":"6-ab429c2d066cac9d8ac8296934ab65c9","name":"98ts","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"98ts","version":"0.0.1","author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","_id":"98ts@0.0.1","maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"dist":{"shasum":"b2498c5106090b8e48d5e0f9036654d36f39d58c","tarball":"https://registry.npmjs.org/98ts/-/98ts-0.0.1.tgz","fileCount":1,"integrity":"sha512-1tV2J+gEKL/WmY1aFeXme7xYG3LC8/CJ5mLd+FBsrAujoePMUny3nsH52LCFA/Lcx5CtAzZUp6Z23aSTfHDVGQ==","signatures":[{"sig":"MEUCIQD+BAytVVLPwD4KLsB4b/e7wi002SSUyUoRfIQDfBvdJwIgbhC4aqZF6KcJdgQwcvN00WjAXj88foN4c9psgcVzzlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188},"_npmUser":{"name":"sorokya","email":"richard@richardleek.com"},"_npmVersion":"11.6.1","description":"Reserved for a future 98.css TypeScript UI library.","directories":{},"_nodeVersion":"24.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/98ts_0.0.1_1762458903308_0.3018731693569323","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"98ts","version":"0.0.2","keywords":["98.css","windows98","components"],"author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","_id":"98ts@0.0.2","maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"dist":{"shasum":"27747d48a03ef59982e8fbb361270bf300ffa7ba","tarball":"https://registry.npmjs.org/98ts/-/98ts-0.0.2.tgz","fileCount":100,"integrity":"sha512-33o1AEFUhPKO7ID7l6V3EnoJXV2RKLU4HldVZ5YHacyAaDt8jx/B3iQmNJ8QP0vN3kdjdPbkcDEQBdbtYulKzA==","signatures":[{"sig":"MEUCIC7ktX8eMwrZhDjIRWA+NquyLi2BWw4ODvzReVsoOyTeAiEAsoTKDr84TTMdwgpZgR+rLlGKoDyqWR4wYQOCDZ32LFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":337460},"main":"dist/index.cjs.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"bf12e717aeeea5bf1fe5c51a6455cbe953c6a84b","scripts":{"dev":"vite","build":"tsc && rollup -c","format":"biome check --write","prepare":"pnpm build","build:demo":"tsc && vite build"},"_npmUser":{"name":"sorokya","email":"richard@richardleek.com"},"_npmVersion":"11.6.1","description":"Vanilla TypeScript components styled like Windows 98","directories":{},"_nodeVersion":"24.11.0","dependencies":{"mitt":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.1","shiki":"^3.15.0","tslib":"^2.8.1","98.css":"^0.1.21","rollup":"^4.52.5","postcss":"^8.5.6","lefthook":"^2.0.2","typescript":"^5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4","postcss-import":"^16.1.1","@rollup/plugin-terser":"^0.4.4","@types/postcss-import":"^14.0.3","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-typescript":"^12.3.0"},"_npmOperationalInternal":{"tmp":"tmp/98ts_0.0.2_1762569466701_0.20131371881049187","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"98ts","version":"0.0.3","keywords":["98.css","windows98","components"],"author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","_id":"98ts@0.0.3","maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"dist":{"shasum":"e1012eca090784dd5d88d2c9adc48e2b6b6cd665","tarball":"https://registry.npmjs.org/98ts/-/98ts-0.0.3.tgz","fileCount":84,"integrity":"sha512-fDx2bXjodl0Krg/YNMLvKX4MGKG28cQcOMWpvxMHBV+oS/kxU3t9fuaUYHgCd7qMedcs2iD71n8JVS3zCrJ6XA==","signatures":[{"sig":"MEQCIBXNKdkAAFv1jYK0OB8gVERmmLZYdRamxG2P2IjWJTP5AiAtdu5VRI3JSNC0kr9lAv5utB1sM9JBOhVX1QdFLfxnaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331615},"main":"dist/index.cjs.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs.js"}},"gitHead":"bf12e717aeeea5bf1fe5c51a6455cbe953c6a84b","scripts":{"dev":"vite","build":"tsc && rollup -c","format":"biome check --write","prepare":"pnpm build","build:demo":"tsc && vite build"},"_npmUser":{"name":"sorokya","email":"richard@richardleek.com"},"_npmVersion":"11.6.1","description":"Vanilla TypeScript components styled like Windows 98","directories":{},"_nodeVersion":"24.11.0","dependencies":{"mitt":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.1","shiki":"^3.15.0","tslib":"^2.8.1","98.css":"^0.1.21","rollup":"^4.52.5","postcss":"^8.5.6","lefthook":"^2.0.2","typescript":"^5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4","postcss-import":"^16.1.1","@rollup/plugin-terser":"^0.4.4","@types/postcss-import":"^14.0.3","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-typescript":"^12.3.0"},"_npmOperationalInternal":{"tmp":"tmp/98ts_0.0.3_1762570141847_0.8875020702951641","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"98ts","version":"0.0.4","keywords":["98.css","windows98","components"],"author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","_id":"98ts@0.0.4","maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"dist":{"shasum":"b8769b00323670de5919f1b031fb2961a2dbacef","tarball":"https://registry.npmjs.org/98ts/-/98ts-0.0.4.tgz","fileCount":85,"integrity":"sha512-W2tt7llZY1LNXl94ypKJSukAm3jk1e+EfiFY3zPbOR3e5ZqI3t6MYyYC7R1aawRdQnZ1cNNcjU9K+rnEfDQkmg==","signatures":[{"sig":"MEUCIGUL6IC7Bpawfwb00aAZ8kIKGauPpqqS+fb+MBQuPh8ZAiEA1tJgTsCAKy6LbfEHky9/oMy2lVk0t5QOgOFH/4PIhw0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338794},"main":"dist/index.cjs.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs.js"}},"gitHead":"bf12e717aeeea5bf1fe5c51a6455cbe953c6a84b","scripts":{"dev":"vite","build":"tsc && rollup -c","format":"biome check --write","prepare":"pnpm build","build:demo":"tsc && vite build"},"_npmUser":{"name":"sorokya","email":"richard@richardleek.com"},"_npmVersion":"11.6.1","description":"Vanilla TypeScript components styled like Windows 98","directories":{},"_nodeVersion":"24.11.0","dependencies":{"mitt":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.1","shiki":"^3.15.0","tslib":"^2.8.1","98.css":"^0.1.21","rollup":"^4.52.5","postcss":"^8.5.6","lefthook":"^2.0.2","typescript":"^5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4","postcss-import":"^16.1.1","rollup-plugin-dts":"^6.2.3","@rollup/plugin-terser":"^0.4.4","@types/postcss-import":"^14.0.3","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-typescript":"^12.3.0"},"_npmOperationalInternal":{"tmp":"tmp/98ts_0.0.4_1762570635142_0.9722374317386768","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"98ts","version":"0.0.5","keywords":["98.css","windows98","components"],"author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","_id":"98ts@0.0.5","maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"dist":{"shasum":"605af014fb2d10ce50877339849674ca80da73e9","tarball":"https://registry.npmjs.org/98ts/-/98ts-0.0.5.tgz","fileCount":90,"integrity":"sha512-dxI3rwSohfTUeke0tlYJN7083YQ3RZg0mO1dvo+G4JH60ORN0gc3flrXlweUYI5KU1r5GE1sXk4ZF9BjWjuIdw==","signatures":[{"sig":"MEQCIFE8iot3CtCnMp4LyOh5qjX18j+oFPwFzxOmEGnjTUlkAiAHfzqFa2ttPm/ACEBf35nk9th7rp3ZnQzwGZv9y9G5ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434899},"main":"dist/index.cjs.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs.js"}},"gitHead":"bf12e717aeeea5bf1fe5c51a6455cbe953c6a84b","scripts":{"dev":"vite","build":"tsc && rollup -c","format":"biome check --write","prepare":"pnpm build","build:demo":"tsc && vite build"},"_npmUser":{"name":"sorokya","email":"richard@richardleek.com"},"_npmVersion":"11.6.1","description":"Vanilla TypeScript components styled like Windows 98","directories":{},"_nodeVersion":"24.11.0","dependencies":{"mitt":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.1","shiki":"^3.15.0","tslib":"^2.8.1","rollup":"^4.52.5","postcss":"^8.5.6","lefthook":"^2.0.2","typescript":"^5.9.3","@types/node":"^24.10.0","postcss-url":"^10.1.3","@biomejs/biome":"^2.3.4","postcss-import":"^16.1.1","rollup-plugin-dts":"^6.2.3","@types/postcss-url":"^10.0.4","@rollup/plugin-terser":"^0.4.4","@types/postcss-import":"^14.0.3","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-typescript":"^12.3.0"},"_npmOperationalInternal":{"tmp":"tmp/98ts_0.0.5_1762572570482_0.37465744092124065","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"98ts","version":"0.0.6","description":"Vanilla TypeScript components styled like Windows 98","author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","type":"module","keywords":["98.css","windows98","components"],"main":"dist/index.cjs.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs.js","types":"./dist/index.d.ts"}},"scripts":{"format":"biome check --write","build":"tsc && rollup -c","prepare":"pnpm build","dev":"vite","build:demo":"tsc && vite build"},"devDependencies":{"@biomejs/biome":"^2.3.4","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.3.0","@types/node":"^24.10.0","@types/postcss-import":"^14.0.3","@types/postcss-url":"^10.0.4","lefthook":"^2.0.2","postcss":"^8.5.6","postcss-import":"^16.1.1","postcss-url":"^10.1.3","rollup":"^4.52.5","rollup-plugin-dts":"^6.2.3","rollup-plugin-postcss":"^4.0.2","shiki":"^3.15.0","tslib":"^2.8.1","typescript":"^5.9.3","vite":"^7.2.1"},"dependencies":{"mitt":"^3.0.1"},"gitHead":"bf12e717aeeea5bf1fe5c51a6455cbe953c6a84b","_id":"98ts@0.0.6","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-IeZ5wQY5okc1PFNo9dWOY0jZfHPqKXulOte0Qb73/LAt/sCE2LiXl8gEe+6dRBBSJqzwthxtLMkWPKLvn4nPgQ==","shasum":"6c68145bfb77dcffa94686e8b63b0ba978ec875a","tarball":"https://registry.npmjs.org/98ts/-/98ts-0.0.6.tgz","fileCount":86,"unpackedSize":365309,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSgHI+Oz9FcFhdxxizryYcC0L8vNjOYS9lUU2UVVQSsAIhAJJulB9o3iH7boA06zqqZQUjJIbKoquzYXCEBvrWcuyb"}]},"_npmUser":{"name":"sorokya","email":"richard@richardleek.com"},"directories":{},"maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/98ts_0.0.6_1762574531948_0.44705220421819014"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-06T19:55:03.306Z","modified":"2025-11-08T04:02:12.463Z","0.0.1":"2025-11-06T19:55:03.508Z","0.0.2":"2025-11-08T02:37:46.904Z","0.0.3":"2025-11-08T02:49:02.064Z","0.0.4":"2025-11-08T02:57:15.373Z","0.0.5":"2025-11-08T03:29:30.678Z","0.0.6":"2025-11-08T04:02:12.250Z"},"author":{"name":"Richard Leek","email":"richard@richardleek.com"},"license":"MIT","keywords":["98.css","windows98","components"],"description":"Vanilla TypeScript components styled like Windows 98","maintainers":[{"name":"sorokya","email":"richard@richardleek.com"}],"readme":"# 98ts\n\n> A lightweight, vanilla TypeScript library for creating interactive [98.css](https://jdan.github.io/98.css/) components\n\nBring retro Windows 98 UI elements to life with TypeScript - fully class-based, framework-free, and ready to drop into modern projects like Vite or Webpack.\n\n---\n\n# Features\n\n- Minimal, vanilla TypeScript classes for components like `Button`, `Window`, and `Checkbox`.\n- Easy DOM integration via `.el` property.\n- Fully typed with TypeScript for autocompletion and safety.\n- Framework-agnostic — works anywhere that uses modern JavaScript/TypeScript.\n- Designed to complement [98.css](https://jdan.github.io/98.css/) styling\n\n---\n\n# Installation\n\n```bash\nnpm install 98ts\n# or\npnpm install 98ts\n```\n\n---\n\nMake sure to also include 98.css in your project:\n\n```html\n<link rel=\"stylesheet\" href=\"https://unpkg.com/98.css\">\n```\n\nAlternatively, you can grab 98.css from [the releases page](https://github.com/jdan/98.css/releases) or [npm](https://www.npmjs.com/package/98.css).\n\n```bash\nnpm install 98.css\n# or\npnpm install 98.css\n```\n\n---\n\n# Usage\n\n```ts\nimport { Button } from \"98ts\";\n\n// Create a new button\nconst btn = new Button({\n  label: \"Click Me!\",\n  onClick: () => alert(\"Hello, retro world!\"),\n});\n\n// Append it to the DOM\ndocument.body.appendChild(btn.el);\n```\n\n---\n\n# Components\n\nComing soon\n\n---\n\n# API Style\n\nAll components follow the same object-oriented style:\n\n```ts\nconst component = new Component(props);\ndocument.body.appendChild(component.el);\n```\n\n- `.el` exposes the underlying DOM element\n- Fully compatible with modern bundlers like Vite, Rollup, and Webpack\n\n---\n\n# License\n\nMIT\n","readmeFilename":"README.md"}