UNPKG

@postenbring/hedwig-react

Version:

React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).

110 lines (108 loc) 3.66 kB
import { LinkList } from "./chunk-OS24UCTD.mjs"; import { Button } from "./chunk-45Q2TCH6.mjs"; import { Accordion } from "./chunk-O55OTMJ5.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: "secondary", 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({ "data-color-scheme": "dark", 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-QDG2QLFV.mjs.map