@helpwave/hightide
Version:
helpwave's component and theming library
91 lines (88 loc) • 3.21 kB
JavaScript
// src/components/HelpwaveBadge.tsx
import clsx3 from "clsx";
// src/components/icons/Helpwave.tsx
import { clsx } from "clsx";
import { jsx, jsxs } from "react/jsx-runtime";
var Helpwave = ({
color = "currentColor",
animate = "none",
size = 64,
...props
}) => {
const isLoadingAnimation = animate === "loading";
let svgAnimationKey = "";
if (animate === "pulse") {
svgAnimationKey = "animate-pulse";
} else if (animate === "bounce") {
svgAnimationKey = "animate-bounce";
}
if (size < 0) {
console.error("size cannot be less than 0");
size = 64;
}
return /* @__PURE__ */ jsx(
"svg",
{
width: size,
height: size,
viewBox: "0 0 888 888",
fill: "none",
strokeLinecap: "round",
strokeWidth: 48,
...props,
children: /* @__PURE__ */ jsxs("g", { className: clsx(svgAnimationKey), children: [
/* @__PURE__ */ jsx("path", { className: clsx({ "animate-wave-big-left-up": isLoadingAnimation }), d: "M144 543.235C144 423.259 232.164 326 340.92 326", stroke: color, strokeDasharray: "1000" }),
/* @__PURE__ */ jsx("path", { className: clsx({ "animate-wave-big-right-down": isLoadingAnimation }), d: "M537.84 544.104C429.084 544.104 340.92 446.844 340.92 326.869", stroke: color, strokeDasharray: "1000" }),
/* @__PURE__ */ jsx("path", { className: clsx({ "animate-wave-small-left-up": isLoadingAnimation }), d: "M462.223 518.035C462.223 432.133 525.348 362.495 603.217 362.495", stroke: color, strokeDasharray: "1000" }),
/* @__PURE__ */ jsx("path", { className: clsx({ "animate-wave-small-right-down": isLoadingAnimation }), d: "M745.001 519.773C666.696 519.773 603.218 450.136 603.218 364.233", stroke: color, strokeDasharray: "1000" })
] })
}
);
};
// src/components/layout/Tile.tsx
import Image from "next/image";
import clsx2 from "clsx";
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
var Tile = ({
title,
description,
prefix,
suffix,
className
}) => {
return /* @__PURE__ */ jsxs2("div", { className: clsx2("row gap-x-4 w-full items-center", className), children: [
prefix,
/* @__PURE__ */ jsxs2("div", { className: "col w-full", children: [
/* @__PURE__ */ jsx2("span", { className: clsx2(title.className), children: title.value }),
!!description && /* @__PURE__ */ jsx2("span", { className: clsx2(description.className ?? "textstyle-description"), children: description.value })
] }),
suffix
] });
};
// src/components/HelpwaveBadge.tsx
import { jsx as jsx3 } from "react/jsx-runtime";
var HelpwaveBadge = ({
size = "small",
title = "helpwave",
className = ""
}) => {
const iconSize = size === "small" ? 24 : 64;
return /* @__PURE__ */ jsx3(
Tile,
{
prefix: /* @__PURE__ */ jsx3(Helpwave, { size: iconSize }),
title: { value: title, className: size === "small" ? "textstyle-title-lg text-base" : "textstyle-title-xl" },
className: clsx3(
{
"px-2 py-1 rounded-md": size === "small",
"px-4 py-1 rounded-md": size === "large"
},
className
)
}
);
};
export {
HelpwaveBadge
};
//# sourceMappingURL=HelpwaveBadge.mjs.map