@postenbring/hedwig-react
Version:
React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).
244 lines (242 loc) • 8.36 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__crop": variant === "crop" },
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 convertDeprecatedColor = (color) => {
switch (color) {
case "lighter-brand":
return { theme: "default" };
case "light-grey-fill":
return { theme: "base", dataColor: "neutral" };
case "white":
return { theme: "default", dataColor: "neutral" };
case "dark":
return { theme: "base" };
case "darker":
return { theme: "tinted", dataColorScheme: "dark" };
default:
return {};
}
};
var Card = forwardRef(
(_a, ref) => {
var _b = _a, {
as: Tag = "section",
asChild,
className,
children,
variant = "slim",
"data-color": dataColorAttr,
theme = "default",
color,
imagePosition
} = _b, rest = __objRest(_b, [
"as",
"asChild",
"className",
"children",
"variant",
"data-color",
"theme",
"color",
"imagePosition"
]);
const Component = asChild ? Slot : Tag;
const {
theme: themeFromDeprecated,
dataColor: dataColorFromDeprecated,
dataColorScheme: dataColorSchemeFromDeprecated
} = convertDeprecatedColor(color != null ? color : variant === "focus" ? "darker" : void 0);
return /* @__PURE__ */ jsx(
Component,
__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, rest), dataColorAttr ? { "data-color": dataColorAttr } : {}), dataColorFromDeprecated ? { "data-color": dataColorFromDeprecated } : {}), dataColorSchemeFromDeprecated ? { "data-color-scheme": dataColorSchemeFromDeprecated } : {}), {
className: clsx(
"hds-card",
{ "hds-card--full-width": variant === "full-width" },
{ "hds-card--miniature": variant === "miniature" },
{ "hds-card--focus": variant === "focus" },
// @deprecated
{ "hds-card--slim": variant === "slim" },
{ "hds-card--theme-default": (themeFromDeprecated != null ? themeFromDeprecated : theme) === "default" },
{ "hds-card--theme-tinted": (themeFromDeprecated != null ? themeFromDeprecated : theme) === "tinted" },
{ "hds-card--theme-base": (themeFromDeprecated != null ? themeFromDeprecated : theme) === "base" },
{ "hds-card--image-position-right": imagePosition === "right" },
className
),
ref,
children: variant === "full-width" || variant === "focus" ? /* @__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-TTDR3NZL.mjs.map