@postenbring/hedwig-react
Version:
React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).
219 lines (217 loc) • 7.22 kB
JavaScript
import {
__objRest,
__spreadProps,
__spreadValues
} from "./chunk-YOSPWY5K.mjs";
// src/card/card.tsx
import { forwardRef } from "react";
import { clsx } from "@postenbring/hedwig-css/typed-classname";
import { Slot } from "@radix-ui/react-slot";
import { jsx } from "react/jsx-runtime";
var CardMedia = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "div";
return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({}, rest), { className: clsx("hds-card__media", className), ref, children }));
}
);
CardMedia.displayName = "Card.Media";
var CardMediaImg = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, variant, className } = _b, rest = __objRest(_b, ["asChild", "variant", "className"]);
const Component = asChild ? Slot : "img";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx(
"hds-card__media__img",
{ "hds-card__img__scale": variant === "scale" },
className
),
ref
})
);
}
);
CardMediaImg.displayName = "Card.MediaImg";
var CardBody = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "div";
return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({}, rest), { className: clsx("hds-card__body", className), ref, children: /* @__PURE__ */ jsx("div", { className: clsx("hds-card__centerbody", className), children }) }));
}
);
CardBody.displayName = "Card.Body";
var CardBodyHeader = forwardRef((_a, ref) => {
var _b = _a, { as: Tag, asChild, className, children } = _b, rest = __objRest(_b, ["as", "asChild", "className", "children"]);
const Component = asChild ? Slot : Tag;
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx("hds-card__body-header", className),
ref,
children
})
);
});
CardBodyHeader.displayName = "Card.BodyHeader";
var CardBodyHeaderOverline = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "span";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx("hds-card__body-header-overline", className),
ref,
children
})
);
}
);
CardBodyHeaderOverline.displayName = "Card.BodyHeaderOverline";
var CardBodyHeaderTitle = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "div";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx("hds-card__body-header-title", className),
ref,
children
})
);
}
);
CardBodyHeaderTitle.displayName = "Card.BodyHeaderTitle";
var CardBodyDescription = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "p";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx("hds-card__body-description", className),
ref,
children
})
);
}
);
CardBodyDescription.displayName = "Card.BodyDescription";
var CardBodyAction = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "div";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx("hds-card__body-action", className),
ref,
children
})
);
}
);
CardBodyAction.displayName = "Card.BodyAction";
var CardBodyActionRow = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, children } = _b, rest = __objRest(_b, ["asChild", "className", "children"]);
const Component = asChild ? Slot : "div";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx("hds-card__body-action-row", className),
ref,
children
})
);
}
);
CardBodyActionRow.displayName = "Card.BodyActionRow";
var CardBodyActionArrow = forwardRef(
(_a, ref) => {
var _b = _a, { asChild, className, direction } = _b, rest = __objRest(_b, ["asChild", "className", "direction"]);
const Component = asChild ? Slot : "span";
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx(
"hds-card__body-action-arrow",
{ "hds-card__body-action-arrow-up-right": direction === "up-right" },
className
),
ref
})
);
}
);
CardBodyActionArrow.displayName = "Card.BodyActionArrow";
var Card = forwardRef(
(_a, ref) => {
var _b = _a, {
as: Tag = "section",
asChild,
className,
children,
variant = "slim",
color,
imagePosition
} = _b, rest = __objRest(_b, [
"as",
"asChild",
"className",
"children",
"variant",
"color",
"imagePosition"
]);
const Component = asChild ? Slot : Tag;
const effectiveColor = variant === "focus" && !color ? "darker" : color;
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues({}, rest), {
className: clsx(
"hds-card",
{ "hds-card--full-width": variant === "full-width" },
{ "hds-card--miniature": variant === "miniature" },
{ "hds-card--focus": variant === "focus" },
{ "hds-card--slim": variant === "slim" },
{ "hds-card--color-white": effectiveColor === "white" },
{ "hds-card--color-light-grey-fill": effectiveColor === "light-grey-fill" },
{ "hds-card--color-darker": effectiveColor === "darker" },
{ "hds-card--image-position-right": imagePosition === "right" },
className
),
ref,
children: variant === "full-width" ? /* @__PURE__ */ jsx("div", { className: clsx("hds-card__layoutwrapper", className), children }) : children
})
);
}
);
Card.displayName = "Card";
Card.Media = CardMedia;
Card.MediaImg = CardMediaImg;
Card.Body = CardBody;
Card.BodyHeader = CardBodyHeader;
Card.BodyHeaderOverline = CardBodyHeaderOverline;
Card.BodyHeaderTitle = CardBodyHeaderTitle;
Card.BodyDescription = CardBodyDescription;
Card.BodyAction = CardBodyAction;
Card.BodyActionRow = CardBodyActionRow;
Card.BodyActionArrow = CardBodyActionArrow;
export {
CardMedia,
CardMediaImg,
CardBody,
CardBodyHeader,
CardBodyHeaderOverline,
CardBodyHeaderTitle,
CardBodyDescription,
CardBodyAction,
CardBodyActionRow,
CardBodyActionArrow,
Card
};
//# sourceMappingURL=chunk-IC2K5VZJ.mjs.map