UNPKG

@postenbring/hedwig-react

Version:

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

71 lines (69 loc) 2.33 kB
import { Box } from "./chunk-DEABU7DB.mjs"; import { __objRest, __spreadProps, __spreadValues } from "./chunk-YOSPWY5K.mjs"; // src/alert/alert.tsx import { forwardRef } from "react"; import { clsx } from "@postenbring/hedwig-css/typed-classname"; import { Slot } from "@radix-ui/react-slot"; import { jsx, jsxs } from "react/jsx-runtime"; var AlertTitle = forwardRef( (_a, ref) => { var _b = _a, { asChild, className } = _b, rest = __objRest(_b, ["asChild", "className"]); const Component = asChild ? Slot : "div"; return /* @__PURE__ */ jsx(Component, __spreadValues({ className: clsx("hds-alert__title", className), ref }, rest)); } ); AlertTitle.displayName = "Alert.Title"; var AlertDescription = forwardRef( (_a, ref) => { var _b = _a, { asChild, className } = _b, rest = __objRest(_b, ["asChild", "className"]); const Component = asChild ? Slot : "div"; return /* @__PURE__ */ jsx( Component, __spreadValues({ className: clsx("hds-alert__description", className), ref }, rest) ); } ); AlertDescription.displayName = "Alert.Description"; var allowedColors = ["neutral", "info", "success", "warning", "error", void 0]; function isValidDataColor(value) { return allowedColors.includes(value); } var Alert = forwardRef( (_a, ref) => { var _b = _a, { children, className, "data-color": color = void 0, icon, iconClassName } = _b, rest = __objRest(_b, ["children", "className", "data-color", "icon", "iconClassName"]); const _a2 = rest, { variant } = _a2, boxProps = __objRest(_a2, ["variant"]); const resolvedColor = color != null ? color : variant; const validColor = isValidDataColor(resolvedColor) ? resolvedColor : void 0; return /* @__PURE__ */ jsxs( Box, __spreadProps(__spreadValues({ "data-color": validColor, className: clsx(`hds-alert`, className), ref }, boxProps), { children: [ validColor === "neutral" && /* @__PURE__ */ jsx("div", { className: clsx("hds-alert--neutral__icon", iconClassName), children: icon }), children ] }) ); } ); Alert.displayName = "Alert"; Alert.Title = AlertTitle; Alert.Description = AlertDescription; export { AlertTitle, AlertDescription, Alert }; //# sourceMappingURL=chunk-PZUJLRG4.mjs.map