@lonli-lokli/react-mosaic-component
Version:
A React Tiling Window Manager
40 lines (39 loc) • 1.14 kB
JavaScript
// libs/react-mosaic-component/src/lib/buttons/ExpandButton.tsx
import classNames from "classnames";
import React from "react";
import {
MosaicContext,
MosaicWindowContext
} from "../contextTypes.mjs";
import { OptionalBlueprint } from "../util/OptionalBlueprint.mjs";
import { DefaultToolbarButton } from "./MosaicButton.mjs";
var ExpandButton = class extends React.PureComponent {
static contextType = MosaicWindowContext;
render() {
return /* @__PURE__ */ React.createElement(MosaicContext.Consumer, null, ({ mosaicActions }) => /* @__PURE__ */ React.createElement(
DefaultToolbarButton,
{
title: "Expand",
className: classNames(
"expand-button",
OptionalBlueprint.getIconClass(
this.context.blueprintNamespace,
"MAXIMIZE"
)
),
onClick: this.createExpand(mosaicActions)
}
));
}
createExpand(mosaicActions) {
return () => {
mosaicActions.expand(this.context.mosaicWindowActions.getPath());
if (this.props.onClick) {
this.props.onClick();
}
};
}
};
export {
ExpandButton
};