@stratakit/structures
Version:
Medium-sized component structures for the Strata design system
59 lines (58 loc) • 1.57 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import * as React from "react";
import * as Toolbar from "@ariakit/react/toolbar";
import {
IconButtonContext,
TooltipContext
} from "@stratakit/bricks/secret-internals";
import { forwardRef } from "@stratakit/foundations/secret-internals";
import cx from "classnames";
import { useInit } from "./~utils.useInit.js";
const ToolbarGroup = forwardRef(
(props, forwardedRef) => {
useInit();
return /* @__PURE__ */ jsx(
IconButtonContext.Provider,
{
value: React.useMemo(() => ({ iconSize: "large" }), []),
children: /* @__PURE__ */ jsx(
TooltipContext.Provider,
{
value: React.useMemo(
() => ({
placement: props.orientation === "vertical" ? "right" : "top"
}),
[props.orientation]
),
children: /* @__PURE__ */ jsx(
Toolbar.Toolbar,
{
...props,
className: cx("\u{1F95D}Toolbar", props.className),
ref: forwardedRef
}
)
}
)
}
);
}
);
DEV: ToolbarGroup.displayName = "Toolbar.Group";
const ToolbarItem = forwardRef(
(props, forwardedRef) => {
return /* @__PURE__ */ jsx(
Toolbar.ToolbarItem,
{
...props,
className: cx("\u{1F95D}ToolbarItem", props.className),
ref: forwardedRef
}
);
}
);
DEV: ToolbarItem.displayName = "Toolbar.Item";
export {
ToolbarGroup as Group,
ToolbarItem as Item
};