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 |
98.cssEnvironment{
"local_name": "98.css",
"alias": false,
"peer_metadata": null
} | ^0.1.21 | 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 |
@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-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": "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
}Observed since 20 Oct, 21:33 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:fe917daa45cf78a9779d1fd976daa8f6aa7a5226611aba089ef20e0afadd7c40