@postenbring/hedwig-react
Version:
React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).
109 lines (107 loc) • 3.63 kB
JavaScript
import {
LinkList
} from "./chunk-OS24UCTD.mjs";
import {
Button
} from "./chunk-TYCGAA35.mjs";
import {
Accordion
} from "./chunk-CKG2XRMX.mjs";
import {
__objRest,
__spreadProps,
__spreadValues
} from "./chunk-YOSPWY5K.mjs";
// src/footer/footer.tsx
import { forwardRef } from "react";
import { clsx } from "@postenbring/hedwig-css/typed-classname";
import { Slot } from "@radix-ui/react-slot";
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
var FooterLogo = forwardRef(
(_a, ref) => {
var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
const Component = asChild ? Slot : "div";
return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({ className: clsx(`hds-footer__logo`, className), ref }, rest), { children }));
}
);
FooterLogo.displayName = "Footer.Logo";
var FooterButtonLink = forwardRef(
(_a, ref) => {
var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
const Component = asChild ? Slot : "a";
return /* @__PURE__ */ jsx(Button, { asChild: true, variant: "inverted", className: clsx(className), children: /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({ ref }, rest), { children })) });
}
);
FooterButtonLink.displayName = "FooterButton";
var FooterLinkSections = forwardRef(
(_a, ref) => {
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
Accordion,
__spreadProps(__spreadValues({
className: clsx("hds-footer__link-sections", className),
ref
}, rest), {
children
})
) });
}
);
FooterLinkSections.displayName = "Footer.LinkSections";
var FooterLinkSection = forwardRef(
(_a, ref) => {
var _b = _a, { heading, children, className } = _b, rest = __objRest(_b, ["heading", "children", "className"]);
const linkListChildren = /* @__PURE__ */ jsx(LinkList, { children });
return /* @__PURE__ */ jsxs(Fragment, { children: [
/* @__PURE__ */ jsxs(
Accordion.Item,
__spreadProps(__spreadValues({
className: clsx(`hds-footer__link-section`, className),
ref
}, rest), {
children: [
/* @__PURE__ */ jsx(Accordion.Header, { children: heading }),
/* @__PURE__ */ jsx(Accordion.Content, { children: linkListChildren })
]
})
),
/* @__PURE__ */ jsxs("div", { className: clsx(`hds-footer__link-section`, className), children: [
/* @__PURE__ */ jsx("h2", { children: heading }),
linkListChildren
] })
] });
}
);
FooterLinkSection.displayName = "Footer.LinkSection";
var Footer = forwardRef(
(_a, ref) => {
var _b = _a, { children, className, variant, asChild } = _b, rest = __objRest(_b, ["children", "className", "variant", "asChild"]);
const Component = asChild ? Slot : "footer";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({
className: clsx(
`hds-footer`,
variant === "slim" && "hds-footer--slim",
className
),
ref
}, rest), {
children
})
);
}
);
Footer.displayName = "Footer";
Footer.Logo = FooterLogo;
Footer.ButtonLink = FooterButtonLink;
Footer.LinkSections = FooterLinkSections;
Footer.LinkSection = FooterLinkSection;
export {
FooterLogo,
FooterButtonLink,
FooterLinkSections,
FooterLinkSection,
Footer
};
//# sourceMappingURL=chunk-4C76JM3T.mjs.map