alinea
Version:
Headless git-based CMS
50 lines (46 loc) • 1.33 kB
JavaScript
import {
dist_default
} from "../../chunks/chunk-A5O3N2GS.js";
import "../../chunks/chunk-NZLE2WMY.js";
// src/dashboard/view/IconButton.tsx
import { px } from "alinea/ui/util/Units";
import { forwardRef } from "react";
import { link } from "../util/HashRouter.js";
// src/dashboard/view/IconButton.module.scss
var IconButton_module_default = {
"root": "alinea-IconButton",
"is-active": "alinea-IconButton-is-active",
"isActive": "alinea-IconButton-is-active"
};
// src/dashboard/view/IconButton.tsx
import { jsx } from "react/jsx-runtime";
var styles = dist_default(IconButton_module_default);
var IconButton = forwardRef(function IconButton2({ icon: Icon, active, size, ...props }, ref) {
return /* @__PURE__ */ jsx(
"button",
{
type: "button",
ref,
...props,
style: { ...props.style, fontSize: size ? px(size) : void 0 },
className: styles.root.mergeProps(props)({ active }),
children: /* @__PURE__ */ jsx(Icon, {})
}
);
});
var IconLink = forwardRef(function IconLink2({ icon: Icon, active, ...props }, ref) {
return /* @__PURE__ */ jsx(
"a",
{
ref,
...props,
...link(props.href),
className: styles.root.mergeProps(props)({ active }),
children: /* @__PURE__ */ jsx(Icon, {})
}
);
});
export {
IconButton,
IconLink
};