@wener/console
Version:
Base console UI toolkit
70 lines (69 loc) • 2.78 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 _tagged_template_literal(strings, raw) {
if (!raw) {
raw = strings.slice(0);
}
return Object.freeze(Object.defineProperties(strings, {
raw: {
value: Object.freeze(raw)
}
}));
}
function _templateObject() {
var data = _tagged_template_literal([
"\n\tdisplay: flex;\n\theight: 100%;\n\n\t& > button {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 42px;\n\n\t\t&[data-action='close']:hover {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-base-300);\n\t\t}\n\t}\n"
]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
import React from "react";
import { PiMinusThin, PiSquareThin, PiXThin } from "react-icons/pi";
import styled from "@emotion/styled";
import { clsx } from "clsx";
import { getWindowDragCancelClassname } from "../const.js";
var WindowController = styled.div(_templateObject());
export var WindowsWindowController = function (param) {
var close = param.close, minimize = param.minimize, maximize = param.maximize;
return /*#__PURE__*/ React.createElement(WindowController, {
className: clsx("WindowController", getWindowDragCancelClassname())
}, /*#__PURE__*/ React.createElement("button", _object_spread({
type: "button",
"data-action": "minimize"
}, minimize), /*#__PURE__*/ React.createElement(PiMinusThin, null)), /*#__PURE__*/ React.createElement("button", _object_spread({
type: "button",
"data-action": "maximize"
}, maximize), /*#__PURE__*/ React.createElement(PiSquareThin, null)), /*#__PURE__*/ React.createElement("button", _object_spread({
type: "button",
"data-action": "close"
}, close), /*#__PURE__*/ React.createElement(PiXThin, null)));
};