Current collected state Current
Observed since 20 Oct, 21:33 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
98ts
Vanilla TypeScript components styled like Windows 98
A lightweight, vanilla TypeScript library for creating interactive 98.css components
Bring 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.
Button, Window, and Checkbox..el property.npm install 98ts
# or
pnpm install 98ts
Make sure to also include 98.css in your project:
<link rel="stylesheet" href="https://unpkg.com/98.css">
Alternatively, you can grab 98.css from the releases page or npm.
npm install 98.css
# or
pnpm install 98.css
import { Button } from "98ts";
// Create a new button
const btn = new Button({
label: "Click Me!",
onClick: () => alert("Hello, retro world!"),
});
// Append it to the DOM
document.body.appendChild(btn.el);
Coming soon
All components follow the same object-oriented style:
const component = new Component(props);
document.body.appendChild(component.el);
.el exposes the underlying DOM elementMIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
mittEnvironment{
"local_name": "mitt",
"alias": false,
"peer_metadata": null
} | ^3.0.1 | runtime |
viteEnvironment{
"local_name": "vite",
"alias": false,
"peer_metadata": null
} | ^7.2.1 | development |
shikiEnvironment{
"local_name": "shiki",
"alias": false,
"peer_metadata": null
} | ^3.15.0 | development |
tslibEnvironment{
"local_name": "tslib",
"alias": false,
"peer_metadata": null
} | ^2.8.1 | development |
rollupEnvironment{
"local_name": "rollup",
"alias": false,
"peer_metadata": null
} | ^4.52.5 | development |
postcssEnvironment{
"local_name": "postcss",
"alias": false,
"peer_metadata": null
} | ^8.5.6 | development |
lefthookEnvironment{
"local_name": "lefthook",
"alias": false,
"peer_metadata": null
} | ^2.0.2 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^5.9.3 | development |
@types/nodeEnvironment{
"local_name": "@types/node",
"alias": false,
"peer_metadata": null
} | ^24.10.0 | development |
postcss-urlEnvironment{
"local_name": "postcss-url",
"alias": false,
"peer_metadata": null
} | ^10.1.3 | development |
@biomejs/biomeEnvironment{
"local_name": "@biomejs/biome",
"alias": false,
"peer_metadata": null
} | ^2.3.4 | development |
postcss-importEnvironment{
"local_name": "postcss-import",
"alias": false,
"peer_metadata": null
} | ^16.1.1 | development |
rollup-plugin-dtsEnvironment{
"local_name": "rollup-plugin-dts",
"alias": false,
"peer_metadata": null
} | ^6.2.3 | development |
@types/postcss-urlEnvironment{
"local_name": "@types/postcss-url",
"alias": false,
"peer_metadata": null
} | ^10.0.4 | development |
@rollup/plugin-terserEnvironment{
"local_name": "@rollup/plugin-terser",
"alias": false,
"peer_metadata": null
} | ^0.4.4 | development |
@types/postcss-importEnvironment{
"local_name": "@types/postcss-import",
"alias": false,
"peer_metadata": null
} | ^14.0.3 | development |
rollup-plugin-postcssEnvironment{
"local_name": "rollup-plugin-postcss",
"alias": false,
"peer_metadata": null
} | ^4.0.2 | development |
@rollup/plugin-typescriptEnvironment{
"local_name": "@rollup/plugin-typescript",
"alias": false,
"peer_metadata": null
} | ^12.3.0 | development |
Source distribution
{
"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
}Observed since 20 Oct, 21:33 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:1cd8a0471e184574942e6de21dbdf46879a3a4e8069ad3c94ff4044f48e76e16