@stratakit/structures
Version:
Medium-sized component structures for the Strata design system
37 lines (36 loc) • 1.22 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
})
})
});
});
const ToolbarItem = forwardRef((props, forwardedRef) => {
return /* @__PURE__ */ jsx(Toolbar.ToolbarItem, {
...props,
className: cx("\u{1F95D}ToolbarItem", props.className),
ref: forwardedRef
});
});
export {
ToolbarGroup as Group,
ToolbarItem as Item
};