@wener/console
Version:
Base console UI toolkit
102 lines (101 loc) • 3.97 kB
JavaScript
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
}
else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function (key) {
_define_property(target, key, source[key]);
});
}
return target;
}
function _object_without_properties(source, excluded) {
if (source == null)
return {};
var target = {}, sourceKeys, key, i;
if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
sourceKeys = Reflect.ownKeys(source);
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
return target;
}
target = _object_without_properties_loose(source, excluded);
if (Object.getOwnPropertySymbols) {
sourceKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
}
return target;
}
function _object_without_properties_loose(source, excluded) {
if (source == null)
return {};
var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
return target;
}
import React from "react";
import { cn } from "../../utils/cn.js";
import { getWindowDragHandleClassname } from "../const.js";
import { MacOSWindowController } from "./MacOSWindowController.js";
export var MacOSWindowFrame = function (_0) {
var className = _0.className, controller = _0.controller, title = _0.title, children = _0.children, onToggleMaximize = _0.onToggleMaximize, ref = _0.ref, props = _object_without_properties(_0, [
"className",
"controller",
"title",
"children",
"onToggleMaximize",
"ref"
]);
return /*#__PURE__*/ React.createElement("div", _object_spread({
className: cn("group/window flex flex-col", "border-color rounded border shadow", "focus-within:shadow-lg", "bg-base-100", "outline-none", className),
tabIndex: -1,
ref: ref
}, props), /*#__PURE__*/ React.createElement("header", {
className: "".concat(getWindowDragHandleClassname(), " bg-base-200 flex h-7 cursor-default items-center justify-between px-1.5"),
onDoubleClick: function () {
onToggleMaximize === null || onToggleMaximize === void 0 ? void 0 : onToggleMaximize();
}
}, controller !== null && controller !== void 0 ? controller : /*#__PURE__*/ React.createElement(MacOSWindowController, null), /*#__PURE__*/ React.createElement("h4", {
className: "flex-1 truncate px-1 text-center leading-7"
}, title), /*#__PURE__*/ React.createElement("div", {
className: "w-16"
})), children);
};