windows-98-ui
Version:
React component library inspired by and using the css from [98.css](https://github.com/jdan/98.css) library for vanilla html
292 lines (276 loc) • 39.8 kB
JavaScript
;
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var index_exports = {};
__export(index_exports, {
Button: () => Button,
CheckBox: () => CheckBox,
Desktop: () => Desktop,
Dropdown: () => Dropdown,
Progress: () => Progress,
Slider: () => Slider,
TextBox: () => TextBox,
TitleBar: () => TitleBar,
TreeView: () => TreeView,
Win98Provider: () => Win98Provider,
Window: () => Window,
WindowBody: () => WindowBody
});
module.exports = __toCommonJS(index_exports);
// src/components/button/Button.tsx
var import_react = require("react");
var import_jsx_runtime = require("react/jsx-runtime");
var Button = (0, import_react.forwardRef)(({
as: Component = "button",
label,
className,
disabled,
...props
}, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
Component,
{
ref,
className,
disabled,
...props,
children: label
}
);
});
Button.displayName = "Button";
// src/components/checkbox/CheckBox.tsx
var import_react2 = __toESM(require("react"));
var import_jsx_runtime2 = require("react/jsx-runtime");
var CheckBox = import_react2.default.forwardRef(
({ as: Component = "input", id, checked, disabled, label, ...props }, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "field-row", children: [
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, { id, ref, type: "checkbox", checked, disabled, ...props }),
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("label", { htmlFor: id, children: label })
] });
}
);
CheckBox.displayName = "CheckBox";
// src/components/dropdown/Dropdown.tsx
var import_react3 = __toESM(require("react"));
var import_jsx_runtime3 = require("react/jsx-runtime");
var Dropdown = import_react3.default.forwardRef(({
as: Component = "select",
className,
options,
...props
}, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
Component,
{
ref,
className,
...props,
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("option", { value: option.value, children: option.label }, option.value))
}
);
});
Dropdown.displayName = "Dropdown";
// src/components/textbox/TextBox.tsx
var import_react4 = __toESM(require("react"));
var import_jsx_runtime4 = require("react/jsx-runtime");
var TextBox = import_react4.default.forwardRef(
({ as: Component = "input", className, label, id, type, stacked, ...props }, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stacked ? "field-row-stacked" : "field-row", children: [
label && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("label", { htmlFor: id, children: label }),
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Component, { ref, className, id, type, ...props })
] });
}
);
TextBox.displayName = "TextBox";
// src/components/slider/Slider.tsx
var import_react5 = __toESM(require("react"));
var import_jsx_runtime5 = require("react/jsx-runtime");
var Slider = import_react5.default.forwardRef(
({ as: Component = "input", label, id, min, max, value, minLabel, maxLabel, type = "range", ...props }, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "field-row", style: { width: "300px" }, children: [
label && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: id, children: label }),
minLabel && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: id, children: minLabel }),
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Component, { type, ref, id, min, max, value, ...props }),
maxLabel && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: id, children: maxLabel })
] });
}
);
Slider.displayName = "Slider";
// src/components/titleBar/titleBar.tsx
var import_react6 = __toESM(require("react"));
var import_jsx_runtime6 = require("react/jsx-runtime");
var TitleBar = import_react6.default.forwardRef(
({
as: Component = "div",
className,
inactive,
title,
minimize,
maximize,
close,
onMaximize,
onMinimize,
onClose,
...props
}, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Component, { ref, className: `title-bar ${inactive ? "inactive" : ""} ${className || ""}`, ...props, children: [
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "title-bar-text", children: title }),
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "title-bar-controls", children: [
minimize && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("button", { "aria-label": "Minimize", onClick: onMinimize }),
maximize && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("button", { "aria-label": "Maximize", onClick: onMaximize }),
close && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("button", { "aria-label": "Close", onClick: onClose })
] })
] });
}
);
// src/components/window/windowContainer/windowContainer.tsx
var import_react7 = __toESM(require("react"));
var import_jsx_runtime7 = require("react/jsx-runtime");
var Window = import_react7.default.forwardRef(
({ as: Component = "div", className, children, ...props }, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
Component,
{
ref,
className: `window${className ? ` ${className}` : ""}`,
...props,
style: {
width: `${props.width}px`,
height: `${props.height}px`
},
children
}
);
}
);
Window.displayName = "Window";
// src/components/window/windowBody/windowBody.tsx
var import_react8 = __toESM(require("react"));
var import_jsx_runtime8 = require("react/jsx-runtime");
var WindowBody = import_react8.default.forwardRef(
({ as: Component = "div", className, children, ...props }, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Component, { ref, className: `window-body${className ? ` ${className}` : ""}`, ...props, children });
}
);
WindowBody.displayName = "WindowBody";
// src/components/prefabs/Desktop.tsx
var import_react9 = require("react");
var import_jsx_runtime9 = require("react/jsx-runtime");
var Desktop = (0, import_react9.forwardRef)(
({ as: Component = "div", titleBarProps, windowProps, windowBodyProps, className, children, ...props }, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Component, { ref, className: `desktop ${className}`, ...props, children: [
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(TitleBar, { ...titleBarProps }),
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Window, { ...windowProps, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(WindowBody, { ...windowBodyProps, children }) })
] });
}
);
Desktop.displayName = "Desktop";
// src/components/treeView/TreeView.tsx
var import_react10 = __toESM(require("react"));
var import_jsx_runtime10 = require("react/jsx-runtime");
var TreeView = import_react10.default.forwardRef(
({ as: Component = "ul", items, ...props }, ref) => {
const renderTree = (treeItems) => {
return treeItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("li", { children: item.items ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("details", { open: true, children: [
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("summary", { children: item.label }),
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Component, { className: "tree-view", children: renderTree(item.items) })
] }) : item.label }, index));
};
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Component, { ref, ...props, className: "tree-view", children: renderTree(items) });
}
);
TreeView.displayName = "TreeView";
// src/components/progress/Progress.tsx
var import_react11 = require("react");
var import_jsx_runtime11 = require("react/jsx-runtime");
var Progress = (0, import_react11.forwardRef)(
({ variant = "", value = 0, className, ...props }, ref) => {
const width = Math.max(0, Math.min(100, Number(value)));
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
"div",
{
...props,
ref,
className: `progress-indicator${variant ? ` ${variant}` : ""}${className ? ` ${className}` : ""}`,
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "progress-indicator-bar", style: { width: `${width}%` } })
}
);
}
);
Progress.displayName = "Progress";
// src/components/provider/Win98Provider.tsx
var import_react12 = require("react");
// src/styles/win98-scoped.ts
var win98ScopedCSS = `/*! 98.css v0.1.21 - https://github.com/jdan/98.css */@font-face{font-family:"Pixelated MS Sans Serif";font-style:normal;font-weight:400;src:url(ms_sans_serif.woff) format("woff");src:url(ms_sans_serif.woff2) format("woff2")}@font-face{font-family:"Pixelated MS Sans Serif";font-style:normal;font-weight:700;src:url(ms_sans_serif_bold.woff) format("woff");src:url(ms_sans_serif_bold.woff2) format("woff2")}.win98{color:#222;font-family:Arial;font-size:12px}.win98 .title-bar,.win98 .window,.win98 button,.win98 input,.win98 label,.win98 legend,.win98 li[role=tab],.win98 option,.win98 select,.win98 table,.win98 textarea,.win98 ul.tree-view{-webkit-font-smoothing:none;font-family:"Pixelated MS Sans Serif",Arial;font-size:11px}.win98 h1{font-size:5rem}.win98 h2{font-size:2.5rem}.win98 h3{font-size:2rem}.win98 h4{font-size:1.5rem}.win98 u{border-bottom:.5px solid #222;text-decoration:none}.win98 button,.win98 input[type=reset],.win98 input[type=submit]{background:silver;border:none;border-radius:0;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;box-sizing:border-box;color:transparent;min-height:23px;min-width:75px;padding:0 12px;text-shadow:0 0 #222}.win98 button.default,.win98 input[type=reset].default,.win98 input[type=submit].default{box-shadow:inset -2px -2px #0a0a0a,inset 1px 1px #0a0a0a,inset 2px 2px #fff,inset -3px -3px grey,inset 3px 3px #dfdfdf}.win98 .vertical-bar{background:silver;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;height:20px;width:4px}.win98 button:not(:disabled):active,.win98 input[type=reset]:not(:disabled):active,.win98 input[type=submit]:not(:disabled):active{box-shadow:inset -1px -1px #fff,inset 1px 1px #0a0a0a,inset -2px -2px #dfdfdf,inset 2px 2px grey;text-shadow:1px 1px #222}.win98 button.default:not(:disabled):active,.win98 input[type=reset].default:not(:disabled):active,.win98 input[type=submit].default:not(:disabled):active{box-shadow:inset 2px 2px #0a0a0a,inset -1px -1px #0a0a0a,inset -2px -2px #fff,inset 3px 3px grey,inset -3px -3px #dfdfdf}@media (not(hover)){.win98 button:not(:disabled):hover,.win98 input[type=reset]:not(:disabled):hover,.win98 input[type=submit]:not(:disabled):hover{box-shadow:inset -1px -1px #fff,inset 1px 1px #0a0a0a,inset -2px -2px #dfdfdf,inset 2px 2px grey}}.win98 button:focus,.win98 input[type=reset]:focus,.win98 input[type=submit]:focus{outline:1px dotted #000;outline-offset:-4px}.win98 button::-moz-focus-inner,.win98 input[type=reset]::-moz-focus-inner,.win98 input[type=submit]::-moz-focus-inner{border:0}.win98 :disabled,.win98 :disabled+label,.win98 input[readonly],.win98 input[readonly]+label{color:grey}.win98 :disabled+label,.win98 button:disabled,.win98 input[type=reset]:disabled,.win98 input[type=submit]:disabled{text-shadow:1px 1px 0 #fff}.win98 .window{background:silver;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #dfdfdf,inset -2px -2px grey,inset 2px 2px #fff;padding:3px}.win98 .title-bar{align-items:center;background:linear-gradient(90deg,navy,#1084d0);display:flex;justify-content:space-between;padding:3px 2px 3px 3px}.win98 .title-bar.inactive{background:linear-gradient(90deg,grey,#b5b5b5)}.win98 .title-bar-text{color:#fff;font-weight:700;letter-spacing:0;margin-right:24px}.win98 .title-bar-controls{display:flex}.win98 .title-bar-controls button{display:block;min-height:14px;min-width:16px;padding:0}.win98 .title-bar-controls button:active{padding:0}.win98 .title-bar-controls button:focus{outline:none}.win98 .title-bar-controls button[aria-label=Minimize],.win98 .title-bar-controls button[aria-label].minimize{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='6' height='2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M0 0h6v2H0z'/%3E%3C/svg%3E");background-position:bottom 3px left 4px;background-repeat:no-repeat}.win98 .title-bar-controls button[aria-label=Maximize],.win98 .title-bar-controls button[aria-label].maximize{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='9' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 0H0v9h9V0zM8 2H1v6h7V2z' fill='%23000'/%3E%3C/svg%3E");background-position:top 2px left 3px;background-repeat:no-repeat}.win98 .title-bar-controls button[aria-label=Maximize]:disabled,.win98 .title-bar-controls button[aria-label].maximize:disabled{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 1H1v9h9V1zM9 3H2v6h7V3z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 0H0v9h9V0zM8 2H1v6h7V2z' fill='gray'/%3E%3C/svg%3E");background-position:top 2px left 3px;background-repeat:no-repeat}.win98 .title-bar-controls button[aria-label=Restore],.win98 .title-bar-controls button[aria-label].restore{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M2 0h6v2H2zM7 2h1v4H7zM2 2h1v1H2zM6 5h1v1H6zM0 3h6v2H0zM5 5h1v4H5zM0 5h1v4H0zM1 8h4v1H1z'/%3E%3C/svg%3E");background-position:top 2px left 3px;background-repeat:no-repeat}.win98 .title-bar-controls button[aria-label=Help],.win98 .title-bar-controls button[aria-label].help{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='6' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M0 1h2v2H0zM1 0h4v1H1zM4 1h2v2H4zM3 3h2v1H3zM2 4h2v2H2zM2 7h2v2H2z'/%3E%3C/svg%3E");background-position:top 2px left 5px;background-repeat:no-repeat}.win98 .title-bar-controls button[aria-label=Close],.win98 .title-bar-controls button[aria-label].close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h2v1h1v1h2V1h1V0h2v1H7v1H6v1H5v1h1v1h1v1h1v1H6V6H5V5H3v1H2v1H0V6h1V5h1V4h1V3H2V2H1V1H0V0z' fill='%23000'/%3E%3C/svg%3E");background-position:top 3px left 4px;background-repeat:no-repeat;margin-left:2px}.win98 .status-bar{gap:1px;display:flex;margin:0 1px}.win98 .status-bar-field{box-shadow:inset -1px -1px #dfdfdf,inset 1px 1px grey;flex-grow:1;margin:0;padding:2px 3px}.win98 .window-body{margin:8px}.win98 fieldset{border-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' fill='gray' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h5v5H0V2h2v1h1V2H0' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h4v4H0V1h1v2h2V1H0'/%3E%3C/svg%3E") 2;margin:0;padding:10px;padding-block-start:8px}.win98 legend{background:silver}.win98 .field-row{align-items:center;display:flex}.win98 [class^=field-row]+[class^=field-row]{margin-top:6px}.win98 .field-row>*+*{margin-left:6px}.win98 .field-row-stacked{display:flex;flex-direction:column}.win98 .field-row-stacked *+*{margin-top:6px}.win98 label{align-items:center;display:inline-flex;user-select:none}.win98 input[type=checkbox],.win98 input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:0;border:none;margin:0;opacity:0;position:fixed}.win98 input[type=checkbox]+label,.win98 input[type=radio]+label{line-height:13px}.win98 input[type=radio]+label{margin-left:18px;position:relative}.win98 input[type=radio]+label:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0H4v1H2v1H1v2H0v4h1v2h1V8H1V4h1V2h2V1h4v1h2V1H8V0z' fill='gray'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1H4v1H2v2H1v4h1v1h1V8H2V4h1V3h1V2h4v1h2V2H8V1z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 3h1v1H9V3zm1 5V4h1v4h-1zm-2 2V9h1V8h1v2H8zm-4 0v1h4v-1H4zm0 0V9H2v1h2z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2h-1v2h1v4h-1v2H8v1H4v-1H2v1h2v1h4v-1h2v-1h1V8h1V4h-1V2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2h4v1h1v1h1v4H9v1H8v1H4V9H3V8H2V4h1V3h1V2z' fill='%23fff'/%3E%3C/svg%3E");content:"";display:inline-block;height:12px;left:-18px;margin-right:6px;position:absolute;top:0;width:12px}.win98 input[type=radio]:active+label:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0H4v1H2v1H1v2H0v4h1v2h1V8H1V4h1V2h2V1h4v1h2V1H8V0z' fill='gray'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1H4v1H2v2H1v4h1v1h1V8H2V4h1V3h1V2h4v1h2V2H8V1z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 3h1v1H9V3zm1 5V4h1v4h-1zm-2 2V9h1V8h1v2H8zm-4 0v1h4v-1H4zm0 0V9H2v1h2z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2h-1v2h1v4h-1v2H8v1H4v-1H2v1h2v1h4v-1h2v-1h1V8h1V4h-1V2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2h4v1h1v1h1v4H9v1H8v1H4V9H3V8H2V4h1V3h1V2z' fill='silver'/%3E%3C/svg%3E")}.win98 input[type=radio]:checked+label:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='4' height='4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 0H1v1H0v2h1v1h2V3h1V1H3V0z' fill='%23000'/%3E%3C/svg%3E");content:"";display:block;height:4px;left:-14px;position:absolute;top:4px;width:4px}.win98 input[type=checkbox]:focus+label,.win98 input[type=radio]:focus+label{outline:1px dotted #000}.win98 input[type=radio][disabled]+label:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0H4v1H2v1H1v2H0v4h1v2h1V8H1V4h1V2h2V1h4v1h2V1H8V0z' fill='gray'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1H4v1H2v2H1v4h1v1h1V8H2V4h1V3h1V2h4v1h2V2H8V1z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 3h1v1H9V3zm1 5V4h1v4h-1zm-2 2V9h1V8h1v2H8zm-4 0v1h4v-1H4zm0 0V9H2v1h2z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2h-1v2h1v4h-1v2H8v1H4v-1H2v1h2v1h4v-1h2v-1h1V8h1V4h-1V2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2h4v1h1v1h1v4H9v1H8v1H4V9H3V8H2V4h1V3h1V2z' fill='silver'/%3E%3C/svg%3E")}.win98 input[type=radio][disabled]:checked+label:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='4' height='4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 0H1v1H0v2h1v1h2V3h1V1H3V0z' fill='gray'/%3E%3C/svg%3E")}.win98 input[type=checkbox]+label{margin-left:19px;position:relative}.win98 input[type=checkbox]+label:before{background:#fff;box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;content:"";display:inline-block;height:13px;left:-19px;margin-right:6px;position:absolute;width:13px}.win98 input[type=checkbox]:active+label:before{background:silver}.win98 input[type=checkbox]:checked+label:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='7' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 0H6v1H5v1H4v1H3v1H2V3H1V2H0v3h1v1h1v1h1V6h1V5h1V4h1V3h1V0z' fill='%23000'/%3E%3C/svg%3E");content:"";display:block;height:7px;left:-16px;position:absolute;width:7px}.win98 input[type=checkbox][disabled]+label:before{background:silver}.win98 input[type=checkbox][disabled]:checked+label:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='7' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 0H6v1H5v1H4v1H3v1H2V3H1V2H0v3h1v1h1v1h1V6h1V5h1V4h1V3h1V0z' fill='gray'/%3E%3C/svg%3E")}.win98 input[type=email],.win98 input[type=number],.win98 input[type=password],.win98 input[type=search],.win98 input[type=tel],.win98 input[type=text],.win98 input[type=url]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:0}.win98 input[type=email],.win98 input[type=number],.win98 input[type=password],.win98 input[type=search],.win98 input[type=tel],.win98 input[type=text],.win98 input[type=url],.win98 select{background-color:#fff;box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;box-sizing:border-box;padding:3px 4px}.win98 select,.win98 textarea{border:none}.win98 textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-radius:0;box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;box-sizing:border-box;padding:3px 4px}.win98 input[type=email],.win98 input[type=password],.win98 input[type=search],.win98 input[type=tel],.win98 input[type=text],.win98 input[type=url],.win98 select{height:21px}.win98 input[type=number]{height:22px}.win98 input[type=search]::-ms-clear,.win98 input[type=search]::-ms-reveal{display:none;height:0;width:0}.win98 input[type=search]::-webkit-search-cancel-button,.win98 input[type=search]::-webkit-search-decoration,.win98 input[type=search]::-webkit-search-results-button,.win98 input[type=search]::-webkit-search-results-decoration{display:none}.win98 input[type=email],.win98 input[type=number],.win98 input[type=password],.win98 input[type=search],.win98 input[type=tel],.win98 input[type=text],.win98 input[type=url]{line-height:2}.win98 input[type=email]:disabled,.win98 input[type=email]:read-only,.win98 input[type=number]:disabled,.win98 input[type=number]:read-only,.win98 input[type=password]:disabled,.win98 input[type=password]:read-only,.win98 input[type=search]:disabled,.win98 input[type=search]:read-only,.win98 input[type=tel]:disabled,.win98 input[type=tel]:read-only,.win98 input[type=text]:disabled,.win98 input[type=text]:read-only,.win98 input[type=url]:disabled,.win98 input[type=url]:read-only,.win98 textarea:disabled{background-color:silver}.win98 select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");background-position:top 2px right 2px;background-repeat:no-repeat;border-radius:0;padding-right:32px;position:relative}.win98 input[type=email]:focus,.win98 input[type=number]:focus,.win98 input[type=password]:focus,.win98 input[type=search]:focus,.win98 input[type=tel]:focus,.win98 input[type=text]:focus,.win98 input[type=url]:focus,.win98 select:focus,.win98 textarea:focus{outline:none}.win98 input[type=range]{-webkit-appearance:none;background:transparent;width:100%}.win98 input[type=range]:focus{outline:none}.win98 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v16h2v2h2v2h1v-1H3v-2H1V1h9V0z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 1v15h1v1h1v1h1v1h2v-1h1v-1h1v-1h1V1z' fill='%23C0C7C8'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v15H8v2H6v2H5v-1h2v-2h2z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v16H9v2H7v2H5v1h1v-2h2v-2h2z' fill='%23000'/%3E%3C/svg%3E");border:none;box-shadow:none;height:21px;transform:translateY(-8px);width:11px}.win98 input[type=range].has-box-indicator::-webkit-slider-thumb{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v20h1V1h9V0z' fill='%23fff'/%3E%3Cpath fill='%23C0C7C8' d='M1 1h8v18H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v19H1v-1h8z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v21H0v-1h10z' fill='%23000'/%3E%3C/svg%3E");transform:translateY(-10px)}.win98 input[type=range]::-moz-range-thumb{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v16h2v2h2v2h1v-1H3v-2H1V1h9V0z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 1v15h1v1h1v1h1v1h2v-1h1v-1h1v-1h1V1z' fill='%23C0C7C8'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v15H8v2H6v2H5v-1h2v-2h2z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v16H9v2H7v2H5v1h1v-2h2v-2h2z' fill='%23000'/%3E%3C/svg%3E");border:0;border-radius:0;height:21px;transform:translateY(2px);width:11px}.win98 input[type=range].has-box-indicator::-moz-range-thumb{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v20h1V1h9V0z' fill='%23fff'/%3E%3Cpath fill='%23C0C7C8' d='M1 1h8v18H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v19H1v-1h8z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v21H0v-1h10z' fill='%23000'/%3E%3C/svg%3E");transform:translateY(0)}.win98 input[type=range]::-webkit-slider-runnable-track{background:#000;border-bottom:1px solid grey;border-right:1px solid grey;box-shadow:1px 0 0 #fff,1px 1px 0 #fff,0 1px 0 #fff,-1px 0 0 #a9a9a9,-1px -1px 0 #a9a9a9,0 -1px 0 #a9a9a9,-1px 1px 0 #fff,1px -1px #a9a9a9;box-sizing:border-box;height:2px;width:100%}.win98 input[type=range]::-moz-range-track{background:#000;border-bottom:1px solid grey;border-right:1px solid grey;box-shadow:1px 0 0 #fff,1px 1px 0 #fff,0 1px 0 #fff,-1px 0 0 #a9a9a9,-1px -1px 0 #a9a9a9,0 -1px 0 #a9a9a9,-1px 1px 0 #fff,1px -1px #a9a9a9;box-sizing:border-box;height:2px;width:100%}.win98 .is-vertical{display:inline-block;height:150px;transform:translateY(50%);width:4px}.win98 .is-vertical>input[type=range]{height:4px;margin:0 16px 0 10px;transform:rotate(270deg) translateX(calc(-50% + 8px));transform-origin:left;width:150px}.win98 .is-vertical>input[type=range]::-webkit-slider-runnable-track{border-bottom:1px solid grey;border-left:1px solid grey;border-right:0;box-shadow:-1px 0 0 #fff,-1px 1px 0 #fff,0 1px 0 #fff,1px 0 0 #a9a9a9,1px -1px 0 #a9a9a9,0 -1px 0 #a9a9a9,1px 1px 0 #fff,-1px -1px #a9a9a9}.win98 .is-vertical>input[type=range]::-moz-range-track{border-bottom:1px solid grey;border-left:1px solid grey;border-right:0;box-shadow:-1px 0 0 #fff,-1px 1px 0 #fff,0 1px 0 #fff,1px 0 0 #a9a9a9,1px -1px 0 #a9a9a9,0 -1px 0 #a9a9a9,1px 1px 0 #fff,-1px -1px #a9a9a9}.win98 .is-vertical>input[type=range]::-webkit-slider-thumb{transform:translateY(-8px) scaleX(-1)}.win98 .is-vertical>input[type=range].has-box-indicator::-webkit-slider-thumb{transform:translateY(-10px) scaleX(-1)}.win98 .is-vertical>input[type=range]::-moz-range-thumb{transform:translateY(2px) scaleX(-1)}.win98 .is-vertical>input[type=range].has-box-indicator::-moz-range-thumb{transform:translateY(0) scaleX(-1)}.win98 select:focus{background-color:navy;color:#fff}.win98 select:focus option{background-color:#fff;color:#000}.win98 select:active{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h16v17H0V0zm1 16h14V1H1v15z' fill='gray'/%3E%3Cpath fill='silver' d='M1 1h14v15H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 7H5v1h1v1h1v1h1v1h1v-1h1V9h1V8h1V7z' fill='%23000'/%3E%3C/svg%3E")}.win98 a{color:#00f}.win98 a:focus{outline:1px dotted #00f}.win98 ul.tree-view{background:#fff;box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;display:block;margin:0;padding:6px}.win98 ul.tree-view li{list-style-type:none}.win98 ul.tree-view a{color:#000;text-decoration:none}.win98 ul.tree-view a:focus{background-color:navy;color:#fff}.win98 ul.tree-view li,.win98 ul.tree-view ul{margin-top:3px}.win98 ul.tree-view ul{border-left:1px dotted grey;margin-left:16px;padding-left:16px}.win98 ul.tree-view ul>li{position:relative}.win98 ul.tree-view ul>li:before{border-bottom:1px dotted grey;content:"";display:block;left:-16px;position:absolute;top:6px;width:12px}.win98 ul.tree-view ul>li:last-child:after{background:#fff;bottom:0;content:"";display:block;left:-20px;position:absolute;top:7px;width:8px}.win98 ul.tree-view details{margin-top:0}.win98 ul.tree-view details[open] summary{margin-bottom:0}.win98 ul.tree-view ul details>summary:before{margin-left:-22px;position:relative;z-index:1}.win98 ul.tree-view details>summary:before{background-color:#fff;border:1px solid grey;content:"+";display:block;float:left;height:9px;line-height:8px;margin-right:5px;padding-left:1px;text-align:center;width:8px}.win98 ul.tree-view details[open]>summary:before{content:"-"}.win98 ul.tree-view details>summary::-webkit-details-marker,.win98 ul.tree-view details>summary::marker{content:""}.win98 pre{background:#fff;box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;display:block;margin:0;padding:12px 8px}.win98 code,.win98 code *{font-family:monospace}.win98 summary:focus{outline:1px dotted #000}.win98 ::-webkit-scrollbar{width:16px}.win98 ::-webkit-scrollbar:horizontal{height:17px}.win98 ::-webkit-scrollbar-corner{background:#dfdfdf}.win98 ::-webkit-scrollbar-track{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='2' height='2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 0H0v1h1v1h1V1H1V0z' fill='silver'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 0H1v1H0v1h1V1h1V0z' fill='%23fff'/%3E%3C/svg%3E")}.win98 ::-webkit-scrollbar-thumb{background-color:#dfdfdf;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf}.win98 ::-webkit-scrollbar-button:horizontal:end:increment,.win98 ::-webkit-scrollbar-button:horizontal:start:decrement,.win98 ::-webkit-scrollbar-button:vertical:end:increment,.win98 ::-webkit-scrollbar-button:vertical:start:decrement{display:block}.win98 ::-webkit-scrollbar-button:vertical:start{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 6H7v1H6v1H5v1H4v1h7V9h-1V8H9V7H8V6z' fill='%23000'/%3E%3C/svg%3E");height:17px}.win98 ::-webkit-scrollbar-button:vertical:end{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");height:17px}.win98 ::-webkit-scrollbar-button:horizontal:start{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 4H8v1H7v1H6v1H5v1h1v1h1v1h1v1h1V4z' fill='%23000'/%3E%3C/svg%3E");width:16px}.win98 ::-webkit-scrollbar-button:horizontal:end{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 4H6v7h1v-1h1V9h1V8h1V7H9V6H8V5H7V4z' fill='%23000'/%3E%3C/svg%3E");width:16px}.win98 .window[role=tabpanel]{position:relative;z-index:2}.win98 menu[role=tablist]{display:flex;list-style-type:none;margin:0 0 -2px;padding-left:3px;position:relative;text-indent:0}.win98 menu[role=tablist]>li{border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:inset -1px 0 #0a0a0a,inset 1px 1px #dfdfdf,inset -2px 0 grey,inset 2px 2px #fff;z-index:1}.win98 menu[role=tablist]>li[aria-selected=true]{background-color:silver;margin-left:-3px;margin-top:-2px;padding-bottom:2px;position:relative;z-index:8}.win98 menu[role=tablist]>li>a{color:#222;display:block;margin:6px;text-decoration:none}.win98 menu[role=tablist]>li[aria-selected=true]>a:focus{outline:none}.win98 menu[role=tablist]>li>a:focus{outline:1px dotted #222}.win98 menu[role=tablist].multirows>li{flex-grow:1;text-align:center}.win98 .sunken-panel{border:2px groove transparent;border-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='gray' d='M0 0h4v1H0z'/%3E%3Cpath fill='gray' d='M0 0h1v4H0z'/%3E%3Cpath fill='%230a0a0a' d='M1 1h2v1H1z'/%3E%3Cpath fill='%230a0a0a' d='M1 1h1v2H1z'/%3E%3Cpath fill='%23fff' d='M0 4h5v1H0z'/%3E%3Cpath fill='%23fff' d='M4 0h1v5H4z'/%3E%3Cpath fill='%23dfdfdf' d='M3 1h1v3H3z'/%3E%3Cpath fill='%23dfdfdf' d='M1 3h3v1H1z'/%3E%3C/svg%3E") 2;box-sizing:border-box;overflow:auto}.win98 .sunken-panel,.win98 table{background-color:#fff}.win98 table{border-collapse:collapse;position:relative;text-align:left;white-space:nowrap}.win98 table>thead>tr>*{background:silver;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;box-sizing:border-box;font-weight:400;height:17px;padding:0 6px;position:sticky;top:0}.win98 table.interactive>tbody>tr{cursor:pointer}.win98 table>tbody>tr.highlighted{background-color:navy;color:#fff}.win98 table>tbody>tr>*{height:14px;padding:0 6px}.win98 .progress-indicator{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:0;box-shadow:inset -2px -2px #dfdfdf,inset 2px 2px grey;box-sizing:border-box;height:32px;padding:4px;position:relative}.win98 .progress-indicator>.progress-indicator-bar{background-color:navy;display:block;height:100%}.win98 .progress-indicator.segmented>.progress-indicator-bar{background-color:transparent;background-image:linear-gradient(90deg,navy 16px,transparent 0 2px);background-repeat:repeat;background-size:18px 100%;width:100%}.win98 .field-border{background:#fff}.win98 .field-border,.win98 .field-border-disabled{box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;padding:2px}.win98 .field-border-disabled{background:silver}.win98 .status-field-border{background:silver;box-shadow:inset -1px -1px #dfdfdf,inset 1px 1px grey;padding:1px}
/*# sourceMappingURL=node_modules/98.css/dist/98.css.map */`;
// src/components/provider/Win98Provider.tsx
var import_jsx_runtime12 = require("react/jsx-runtime");
var STYLE_ID = "win98-scoped-styles";
function Win98Provider({ children, className }) {
(0, import_react12.useEffect)(() => {
const existing = document.getElementById(STYLE_ID);
if (existing) {
const count = Number(existing.dataset.count ?? 0);
existing.dataset.count = String(count + 1);
} else {
const style = document.createElement("style");
style.id = STYLE_ID;
style.dataset.count = "1";
style.textContent = win98ScopedCSS;
document.head.appendChild(style);
}
return () => {
const el = document.getElementById(STYLE_ID);
if (!el) return;
const count = Number(el.dataset.count ?? 1) - 1;
if (count <= 0) {
el.remove();
} else {
el.dataset.count = String(count);
}
};
}, []);
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `win98${className ? ` ${className}` : ""}`, children });
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
Button,
CheckBox,
Desktop,
Dropdown,
Progress,
Slider,
TextBox,
TitleBar,
TreeView,
Win98Provider,
Window,
WindowBody
});