@sikka/hawa
Version:
Modern UI Kit made with Tailwind
1,340 lines (1,325 loc) • 542 kB
JavaScript
"use client";
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
if (typeof require !== "undefined") return require.apply(this, arguments);
throw Error('Dynamic require of "' + x + '" is not supported');
});
// elements/card/Card.tsx
import * as React from "react";
// util/index.ts
import { clsx } from "clsx";
import { twMerge } from "tailwind-merge";
function cn(...inputs) {
return twMerge(clsx(inputs));
}
var parseColor = (color) => {
if (color.startsWith("#")) {
let r = parseInt(color.slice(1, 3), 16);
let g = parseInt(color.slice(3, 5), 16);
let b = parseInt(color.slice(5, 7), 16);
return [r, g, b];
} else if (color.startsWith("rgb")) {
return color.match(/\d+/g).map(Number);
}
return [255, 255, 255];
};
var calculateLuminance = (color) => {
var _a;
const [r, g, b] = (_a = parseColor(color)) == null ? void 0 : _a.map((c) => {
c /= 255;
return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
});
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
};
// elements/card/Card.tsx
var Card = React.forwardRef(
({
className,
variant = "default",
clickable = false,
asContainer = false,
...props
}, ref) => {
let variantStyles = {
default: cn(
"hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
clickable && "hawa-cursor-pointer hawa-transition-all hover:hawa-drop-shadow-md dark:hover:dark-shadow"
),
neoBrutalism: cn(
"neo-brutalism",
// "hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] transition-all uppercase font-mono dark:bg-black font-bold py-2 px-4 rounded border-2 border-primary shadow-color-primary transition-[transform_50ms, box-shadow_50ms]",
clickable && "hawa-cursor-pointer active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active active:translate-x-0.5 active:translate-y-0.5 active:shadow-color-primary-active"
)
};
return /* @__PURE__ */ React.createElement(
"div",
{
ref,
className: cn(className, !asContainer && variantStyles[variant]),
...props
}
);
}
);
var CardHeader = React.forwardRef(
({ className, ...props }, ref) => /* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-between" }, /* @__PURE__ */ React.createElement(
"div",
{
ref,
className: cn(
"hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-p-6",
className
),
...props
}
), props.actions && /* @__PURE__ */ React.createElement("div", { className: "hawa-p-6" }, props.actions))
);
var CardTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
"h3",
{
ref,
className: cn("hawa-text-2xl hawa-font-semibold", className),
...props
}
));
var CardDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
"p",
{
ref,
className: cn("hawa-text-sm hawa-text-muted-foreground", className),
...props
}
));
var CardContent = React.forwardRef(
({ headless, noPadding, className, ...props }, ref) => /* @__PURE__ */ React.createElement(
"div",
{
ref,
className: cn(
noPadding ? "hawa-p-0" : "hawa-p-6",
headless ? "hawa-pt-6" : "hawa-pt-0",
className
),
...props
}
)
);
var CardFooter = React.forwardRef(({ className, noPadding, ...props }, ref) => /* @__PURE__ */ React.createElement(
"div",
{
ref,
className: cn(
noPadding ? "hawa-p-0" : "hawa-p-6",
"hawa-flex hawa-items-center hawa-pt-0",
className
),
...props
}
));
CardDescription.displayName = "CardDescription";
CardContent.displayName = "CardContent";
CardHeader.displayName = "CardHeader";
CardFooter.displayName = "CardFooter";
CardTitle.displayName = "CardTitle";
Card.displayName = "Card";
// elements/loading/Loading.tsx
import React2 from "react";
var Loading = ({
design = "spinner",
size = "normal",
themeMode = "light",
classNames,
color,
...props
}) => {
let sizeStyles2 = {
button: "hawa-h-4 hawa-w-4",
xs: "hawa-h-1 hawa-w-1",
sm: "hawa-h-6 hawa-w-6",
normal: "hawa-h-8 hawa-w-8",
lg: "hawa-h-14 hawa-w-14",
xl: "hawa-h-24 hawa-w-24"
};
let progressSizes = {
button: "hawa-h-1",
xs: "hawa-h-1 hawa-w-1",
sm: "hawa-h-6 hawa-w-6",
normal: "",
lg: "hawa-h-6",
xl: "hawa-h-10 hawa-w-64"
};
let animationStyles = {
pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
bounce: "hawa-animate-bounce"
};
switch (design.split("-")[0]) {
case "dots":
return /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-flex hawa-flex-row hawa-gap-2",
classNames == null ? void 0 : classNames.container
)
},
/* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles2[size],
animationStyles[design.split("-")[1]],
color ? color : "hawa-bg-primary"
)
}
),
/* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles2[size],
animationStyles[design.split("-")[1]],
color ? color : "hawa-bg-primary"
)
}
),
/* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles2[size],
animationStyles[design.split("-")[1]],
color ? color : "hawa-bg-primary"
)
}
)
);
case "square":
return /* @__PURE__ */ React2.createElement(
"svg",
{
className: cn(
"squircle-container",
sizeStyles2[size],
classNames == null ? void 0 : classNames.container
),
viewBox: "0 0 35 35",
height: "35",
width: "35"
},
/* @__PURE__ */ React2.createElement(
"rect",
{
className: "squircle-track",
x: "2.5",
y: "2.5",
fill: "none",
strokeWidth: "5px",
width: "32.5",
height: "32.5"
}
),
/* @__PURE__ */ React2.createElement(
"rect",
{
className: "square-car",
x: "2.5",
y: "2.5",
fill: "none",
strokeWidth: "5px",
width: "32.5",
height: "32.5",
pathLength: "100"
}
)
);
case "squircle":
return /* @__PURE__ */ React2.createElement(
"svg",
{
x: "0px",
y: "0px",
viewBox: "0 0 37 37",
height: "37",
width: "37",
preserveAspectRatio: "xMidYMid meet",
className: cn(
"squircle-container",
sizeStyles2[size],
classNames == null ? void 0 : classNames.container
)
},
/* @__PURE__ */ React2.createElement(
"path",
{
className: cn("squircle-track", classNames == null ? void 0 : classNames.track),
fill: "none",
strokeWidth: "5",
pathLength: "100",
d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
}
),
/* @__PURE__ */ React2.createElement(
"path",
{
className: cn("squircle-car", classNames == null ? void 0 : classNames.car),
fill: "none",
strokeWidth: "5",
pathLength: "100",
d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
}
)
);
case "progress":
return /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"progress-loading after:hawa-rounded hawa-rounded",
progressSizes[size],
classNames == null ? void 0 : classNames.container
)
}
);
case "orbit":
return /* @__PURE__ */ React2.createElement("div", { className: cn("orbit-container", classNames == null ? void 0 : classNames.container) });
default:
return /* @__PURE__ */ React2.createElement(
"svg",
{
viewBox: "0 0 40 40",
height: "40",
width: "40",
className: cn(
"circle-container",
sizeStyles2[size],
classNames == null ? void 0 : classNames.container
)
},
/* @__PURE__ */ React2.createElement(
"circle",
{
className: cn(
"circle-track",
{
"hawa-stroke-primary-foreground": themeMode === "dark",
"hawa-stroke-primary": themeMode === "light"
},
classNames == null ? void 0 : classNames.track
),
cx: "20",
cy: "20",
r: "17.5",
fill: "none",
strokeWidth: "5px",
pathLength: "100"
}
),
/* @__PURE__ */ React2.createElement(
"circle",
{
className: cn(
"circle-car",
{
"hawa-stroke-primary-foreground": themeMode === "dark",
"hawa-stroke-primary": themeMode === "light"
},
classNames == null ? void 0 : classNames.car
),
cx: "20",
cy: "20",
r: "17.5",
fill: "none",
pathLength: "100",
strokeWidth: "5px"
}
)
);
}
};
// elements/tooltip/Tooltip.tsx
import React3 from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
var TooltipContent = React3.forwardRef(({ className, sideOffset = 4, size = "default", ...props }, ref) => /* @__PURE__ */ React3.createElement(
TooltipPrimitive.Content,
{
ref,
sideOffset,
className: cn(
"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
{
"hawa-text-xs": size === "small",
"hawa-text-xl": size === "large"
},
className
),
...props
}
));
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
var TooltipArrow = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React3.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
var Tooltip = ({
side,
size,
open,
content,
children,
disabled,
defaultOpen,
onOpenChange,
triggerProps,
contentProps,
providerProps,
delayDuration = 300,
...props
}) => {
return /* @__PURE__ */ React3.createElement(
TooltipPrimitive.TooltipProvider,
{
delayDuration,
...providerProps
},
/* @__PURE__ */ React3.createElement(
TooltipPrimitive.Root,
{
open: !disabled && open,
defaultOpen,
onOpenChange,
...props
},
/* @__PURE__ */ React3.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
/* @__PURE__ */ React3.createElement(
TooltipContent,
{
size,
side,
align: "center",
...contentProps,
style: {
...contentProps == null ? void 0 : contentProps.style,
maxWidth: "var(--radix-tooltip-content-available-width)",
maxHeight: "var(--radix-tooltip-content-available-height)"
}
},
content
)
)
);
};
// elements/skeleton/Skeleton.tsx
import React4 from "react";
function Skeleton({
className,
content,
animation = "pulse",
fade,
...props
}) {
const animationStyles = {
none: "hawa-rounded hawa-bg-muted",
pulse: "hawa-animate-pulse hawa-rounded hawa-bg-muted",
shimmer: "hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10"
};
const fadeStyle = {
bottom: "hawa-mask-fade-bottom",
top: "hawa-mask-fade-top",
right: "hawa-mask-fade-right",
left: "hawa-mask-fade-left "
};
return /* @__PURE__ */ React4.createElement(
"div",
{
className: cn(
animationStyles[animation],
content && "hawa-flex hawa-flex-col hawa-items-center hawa-justify-center",
fade && fadeStyle[fade],
className
),
...props
},
content && content
);
}
// elements/dropdownMenu/DropdownMenu.tsx
import * as React5 from "react";
import { Portal } from "@headlessui/react";
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
var DropdownMenuRoot = DropdownMenuPrimitive.Root;
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
var DropdownMenuSubTrigger = React5.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.SubTrigger,
{
ref,
className: cn(
"hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none focus:hawa-bg-accent data-[state=open]:hawa-bg-accent",
inset && "hawa-pl-8",
className
),
...props
},
/* @__PURE__ */ React5.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2" }, children),
" ",
/* @__PURE__ */ React5.createElement(
"svg",
{
"aria-label": "Chevron Right Icon",
stroke: "currentColor",
fill: "currentColor",
strokeWidth: "0",
viewBox: "0 0 16 16",
height: "1em",
width: "1em",
className: cn(props.dir === "rtl" ? "hawa-rotate-180" : "")
},
/* @__PURE__ */ React5.createElement(
"path",
{
fillRule: "evenodd",
d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
}
)
)
));
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
var DropdownMenuSubContent = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.SubContent,
{
ref,
className: cn(
"hawa-z-50 hawa-min-w-[8rem] hawa-gap-1 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-lg data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
className
),
...props
}
));
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
var DropdownMenuContent = React5.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React5.createElement(Portal, null, /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.Content,
{
ref,
sideOffset,
className: cn(
"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-md data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
className
),
...props
}
)));
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
var DropdownMenuItem = React5.forwardRef(({ className, inset, badged, slug, LinkComponent = "a", ...props }, ref) => {
return /* @__PURE__ */ React5.createElement(LinkComponent, { href: slug }, /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.Item,
{
disabled: props.disabled,
ref,
className: cn(
"hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
inset && "hawa-pl-8",
props.end && Array.isArray(props.children) && props.children[1] && "hawa-gap-6",
className
),
...props
},
/* @__PURE__ */ React5.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2" }, props.children),
props.end && props.end,
!props.end && props.shortcut && /* @__PURE__ */ React5.createElement(DropdownMenuShortcut, null, props.shortcut),
!props.end && badged && /* @__PURE__ */ React5.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-rounded-full hawa-bg-red-500" })
));
});
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
var DropdownMenuCheckboxItem = React5.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.CheckboxItem,
{
ref,
className: cn(
"hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
className
),
checked,
...props
},
/* @__PURE__ */ React5.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React5.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React5.createElement(
"svg",
{
"aria-label": "Check Mark",
stroke: "currentColor",
fill: "currentColor",
strokeWidth: "0",
viewBox: "0 0 512 512",
height: "0.60em",
width: "0.60em"
},
/* @__PURE__ */ React5.createElement("path", { d: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" })
), " ")),
children
));
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
var DropdownMenuRadioItem = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.RadioItem,
{
ref,
className: cn(
"hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
className
),
...props
},
/* @__PURE__ */ React5.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React5.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React5.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
width: "24",
"aria-label": "Circle",
height: "24",
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round",
className: "hawa-h-2 hawa-w-2 hawa-fill-current"
},
/* @__PURE__ */ React5.createElement("circle", { cx: "12", cy: "12", r: "10" })
))),
children
));
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
var DropdownMenuLabel = React5.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.Label,
{
ref,
className: cn(
"hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold",
inset && "hawa-pl-8",
className
),
...props
}
));
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
var DropdownMenuSeparator = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(
DropdownMenuPrimitive.Separator,
{
ref,
className: cn("hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted", className),
...props
}
));
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
var DropdownMenuShortcut = ({
className,
...props
}) => {
return /* @__PURE__ */ React5.createElement(
"span",
{
className: cn(
"hawa-text-xs hawa-tracking-widest hawa-opacity-60",
className
),
...props
}
);
};
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
var DropdownMenu = ({
trigger,
items,
direction,
sideOffset,
side,
className,
classNames,
contentProps,
triggerClassname,
triggerProps,
align,
alignOffset,
onItemSelect,
size = "default",
width = "default",
header,
onOpenChange,
open,
LinkComponent
}) => {
const widthStyles = {
default: "hawa-min-w-[8rem]",
sm: "hawa-w-fit",
lg: "hawa-w-[200px]",
parent: "ddm-w-parent"
};
const sizeStyles2 = {
default: "hawa-px-2 hawa-py-3 ",
sm: "hawa-text-xs hawa-px-1.5 hawa-py-1.5 "
};
let [values, setValues] = React5.useState(
items.map((item) => item.currentOption)
);
return /* @__PURE__ */ React5.createElement(
DropdownMenuRoot,
{
onOpenChange,
open,
modal: false,
dir: direction
},
/* @__PURE__ */ React5.createElement(
DropdownMenuTrigger,
{
asChild: true,
className: cn(classNames == null ? void 0 : classNames.trigger, triggerClassname),
...triggerProps
},
trigger
),
/* @__PURE__ */ React5.createElement(Portal, null, /* @__PURE__ */ React5.createElement(
DropdownMenuContent,
{
side,
sideOffset,
align,
alignOffset,
className: cn(
className,
classNames == null ? void 0 : classNames.content,
widthStyles[width],
"hawa-flex hawa-flex-col hawa-gap-1 hawa-overflow-y-auto"
),
style: {
maxHeight: "var(--radix-dropdown-menu-content-available-height)"
},
...contentProps
},
header && header,
items && items.map((item, index) => {
var _a;
const ItemLinkComponent = item.slug ? LinkComponent : "a";
if (item.itemType === "separator") {
return /* @__PURE__ */ React5.createElement(
DropdownMenuSeparator,
{
key: index,
className: classNames == null ? void 0 : classNames.separator
}
);
} else if (item.itemType === "label") {
return /* @__PURE__ */ React5.createElement(DropdownMenuLabel, { key: index }, item.label);
} else if (item.itemType === "radio") {
let dd = item.currentOption;
return /* @__PURE__ */ React5.createElement(DropdownMenuSub, { key: index }, /* @__PURE__ */ React5.createElement(
DropdownMenuSubTrigger,
{
dir: direction,
className: cn(sizeStyles2[size])
},
item.icon && item.icon,
item.label && item.label
), /* @__PURE__ */ React5.createElement(DropdownMenuSubContent, null, /* @__PURE__ */ React5.createElement(
DropdownMenuRadioGroup,
{
value: values[index],
onValueChange: (e) => {
let newValues = [...values];
newValues[index] = e;
setValues(newValues);
console.log("changing to ", e);
if (item.onOptionChange) {
item.onOptionChange(e);
}
}
},
(_a = item.options) == null ? void 0 : _a.map((opt, i) => /* @__PURE__ */ React5.createElement(DropdownMenuRadioItem, { key: i, value: opt.value }, opt.label))
)));
} else if (item.itemType === "custom") {
return /* @__PURE__ */ React5.createElement("div", { key: index }, item.content);
} else {
return item.subitems ? /* @__PURE__ */ React5.createElement(DropdownMenuSub, { key: index }, /* @__PURE__ */ React5.createElement(
DropdownMenuSubTrigger,
{
dir: direction,
className: cn(sizeStyles2[size])
},
item.icon && item.icon,
item.label && item.label
), /* @__PURE__ */ React5.createElement(Portal, null, /* @__PURE__ */ React5.createElement(DropdownMenuSubContent, null, item.subitems.map((subitem, subIndex) => {
const SubitemLinkComponent = subitem.slug ? LinkComponent : "a";
return /* @__PURE__ */ React5.createElement(
DropdownMenuItem,
{
key: subIndex,
LinkComponent: SubitemLinkComponent,
slug: subitem.slug,
disabled: subitem.disabled,
className: cn(
sizeStyles2[size],
!item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent" : "focus:hawa-bg-accent"
),
onMouseDown: (event) => {
if (event.button === 1 || event.button === 0 && event.ctrlKey) {
event.preventDefault();
if (subitem.onMiddleClick) {
subitem.onMiddleClick(item.value);
}
}
},
onSelect: () => {
subitem.action && subitem.action();
if (onItemSelect) {
onItemSelect(subitem.value);
}
}
},
subitem.icon && subitem.icon,
subitem.label && subitem.label
);
})))) : /* @__PURE__ */ React5.createElement(
DropdownMenuItem,
{
LinkComponent: ItemLinkComponent,
slug: item.slug,
key: index,
disabled: item.disabled,
onMouseDown: (event) => {
if (event.button === 1 || event.button === 0 && event.ctrlKey) {
event.preventDefault();
if (item.onMiddleClick) {
item.onMiddleClick(item.value);
}
}
},
onClick: (event) => {
if (item.onClick) {
item.onClick(item.value);
}
},
onSelect: (e) => {
if (item.presist) {
e.preventDefault();
}
if (item.action) {
item.action();
if (onItemSelect) {
onItemSelect(item.value);
}
} else {
if (onItemSelect) {
onItemSelect(item.value);
}
}
},
end: item.end,
shortcut: item.shortcut,
badged: item.badged,
className: cn(
sizeStyles2[size],
!item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent" : "focus:hawa-bg-accent",
item.presist && "focus:hawa-bg-transparent",
classNames == null ? void 0 : classNames.item
)
},
item.icon && item.icon,
item.label && item.label
);
}
})
))
);
};
var DropdownMenuRadio = (props) => {
const ariaLabel = props.label ? `${props.label} radio group` : void 0;
const ariaLabelledby = props.label ? `${props.label}-label` : void 0;
return /* @__PURE__ */ React5.createElement(DropdownMenuRoot, null, /* @__PURE__ */ React5.createElement(DropdownMenuTrigger, { asChild: true }, props.trigger), /* @__PURE__ */ React5.createElement(
DropdownMenuContent,
{
align: props.align,
side: props.side,
"aria-label": ariaLabel,
"aria-labelledby": ariaLabelledby,
...props.contentProps
},
props.label && /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(DropdownMenuLabel, { id: `${props.label}-label` }, props.label), /* @__PURE__ */ React5.createElement(DropdownMenuSeparator, null)),
/* @__PURE__ */ React5.createElement(
DropdownMenuRadioGroup,
{
value: props.value,
onValueChange: props.onValueChange,
...props.radioGroupProps
},
props.options.map((opt, i) => /* @__PURE__ */ React5.createElement(
DropdownMenuRadioItem,
{
key: i,
...opt.props,
value: opt.value,
"aria-checked": props.value === opt.value
},
opt.label
))
)
));
};
// elements/accordion/Accordion.tsx
import * as React9 from "react";
import * as AccordionPrimitive3 from "@radix-ui/react-accordion";
// elements/chip/Chip.tsx
import React6 from "react";
var Chip = React6.forwardRef(
({
label,
size = "normal",
icon,
color,
radius = "inherit",
dot,
dotStatus = "none",
...rest
}, ref) => {
let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
let radiusStyles = {
inherit: " hawa-rounded",
full: "hawa-rounded-full",
none: "hawa-rounded-none"
};
let sizeStyles2 = {
small: "hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 ",
normal: "hawa-h-fit hawa-text-xs",
large: "hawa-text-base"
};
let dotStyles = {
small: "hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full",
normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
};
let dotStatusStyles = {
none: "hawa-bg-gray-500 dark:hawa-bg-gray-800",
available: "hawa-bg-green-500",
unavailable: "hawa-bg-red-500"
};
let colorStyles = {
green: "hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200",
blue: "hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100",
red: "hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100",
yellow: "hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black",
orange: "hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100",
purple: "hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100",
cyan: "hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100",
hyper: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
oceanic: "hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
};
if (label) {
return /* @__PURE__ */ React6.createElement(
"span",
{
...rest,
ref,
className: cn(
defaultStyles,
sizeStyles2[size],
radiusStyles[radius],
color ? colorStyles[color] : "hawa-border hawa-bg-none",
rest.className
)
},
dot && /* @__PURE__ */ React6.createElement(
"span",
{
className: cn(dotStyles[size], dotStatusStyles[dotStatus])
}
),
icon && icon,
label
);
} else {
return /* @__PURE__ */ React6.createElement(
"span",
{
...rest,
ref,
className: cn(
"hawa-h-2 hawa-w-2 hawa-rounded-full",
color ? colorStyles[color] : "hawa-border hawa-bg-none"
)
}
);
}
}
);
// elements/accordion/AccordionContent.tsx
import * as React7 from "react";
import * as AccordionPrimitive from "@radix-ui/react-accordion";
var AccordionContent = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React7.createElement(
AccordionPrimitive.Content,
{
ref,
className: !props.unstyled ? cn(
"hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down",
className
) : className,
...props
},
/* @__PURE__ */ React7.createElement("div", { className: "hawa-bg-background hawa-p-4" }, children)
));
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
// elements/accordion/AccordionTrigger.tsx
import * as React8 from "react";
import * as AccordionPrimitive2 from "@radix-ui/react-accordion";
var AccordionTrigger = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React8.createElement(AccordionPrimitive2.Header, { className: "hawa-flex" }, /* @__PURE__ */ React8.createElement(
AccordionPrimitive2.Trigger,
{
ref,
className: !props.unstyled ? cn(
"hawa-flex hawa-flex-1 hawa-items-center hawa-justify-between hawa-bg-muted/50 hawa-p-4 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa-rotate-180",
props.disabled ? "hawa-bg-muted/30 hawa-text-muted-foreground/50" : "hover:hawa-bg-muted",
className
) : className,
...props
},
children,
!props.hideArrow && /* @__PURE__ */ React8.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
width: "24",
height: "24",
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round",
className: "hawa-icon hawa-shrink-0 hawa-transition-transform hawa-duration-200"
},
/* @__PURE__ */ React8.createElement("path", { d: "m6 9 6 6 6-6" })
)
)));
AccordionTrigger.displayName = AccordionPrimitive2.Trigger.displayName;
// elements/accordion/Accordion.tsx
var Accordion = React9.forwardRef(
({
items,
design = "default",
itemClassNames,
triggerclassNames,
contentclassNames,
className,
...props
}, ref) => /* @__PURE__ */ React9.createElement(AccordionPrimitive3.Root, { type: props.type, collapsible: true }, /* @__PURE__ */ React9.createElement(
"div",
{
className: cn("hawa-flex hawa-flex-col", {
"hawa-gap-4": design === "separated",
"hawa-gap-0": design === "default"
})
},
items.map((item, index) => /* @__PURE__ */ React9.createElement(
AccordionPrimitive3.Item,
{
disabled: item.disabled || false,
className: cn(itemClassNames, "hawa-rounded"),
key: index,
value: `item-${index}`
},
/* @__PURE__ */ React9.createElement(
AccordionTrigger,
{
disabled: item.disabled || false,
className: cn(
"hawa-transition-all hawa-text-start",
design === "separated" ? "hawa-rounded data-[state=open]:hawa-rounded-b-none" : {
"hawa-rounded-t": index === 0,
"data-[state=closed]:hawa-rounded-b": index === items.length - 1
},
triggerclassNames
)
},
/* @__PURE__ */ React9.createElement(
"span",
{
className: cn(
"hawa-flex hawa-flex-row",
item.chip && "hawa-gap-2"
)
},
item.trigger,
" ",
item.chip && /* @__PURE__ */ React9.createElement(Chip, { ...item.chip })
)
),
/* @__PURE__ */ React9.createElement(
AccordionContent,
{
"aria-disabled": item.disabled || false,
className: cn(
"hawa-border hawa-transition-all",
design === "separated" ? "hawa-rounded data-[state=open]:hawa-rounded-t-none" : {
"data-[state=open]:hawa-rounded-b": index === items.length - 1
},
contentclassNames
)
},
item.content
)
))
))
);
Accordion.displayName = "Accordion";
// elements/accordion/AccordionItem.tsx
import * as React10 from "react";
import * as AccordionPrimitive4 from "@radix-ui/react-accordion";
var AccordionItem = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React10.createElement(AccordionPrimitive4.Item, { ref, className: cn(className), ...props }));
AccordionItem.displayName = "AccordionItem";
// elements/accordion/AccordionRoot.tsx
import * as AccordionPrimitive5 from "@radix-ui/react-accordion";
var AccordionRoot = AccordionPrimitive5.Root;
// elements/logos/Logos.tsx
import React11 from "react";
var Logos = {
metamask: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
xmlSpace: "preserve",
id: "Layer_1",
x: 0,
y: 0,
viewBox: "0 0 318.6 318.6",
...props
},
/* @__PURE__ */ React11.createElement("style", null, ".st1,.st6{fill:#e4761b;stroke:#e4761b;stroke-linecap:round;stroke-linejoin:round}.st6{fill:#f6851b;stroke:#f6851b}"),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#e2761b",
stroke: "#e2761b",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m274.1 35.5-99.5 73.9L193 65.8z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
d: "m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",
className: "st1"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
d: "m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",
className: "st1"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#d7c1b3",
stroke: "#d7c1b3",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#233447",
stroke: "#233447",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#cd6116",
stroke: "#cd6116",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#e4751f",
stroke: "#e4751f",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
d: "m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",
className: "st6"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#c0ad9e",
stroke: "#c0ad9e",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#161616",
stroke: "#161616",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
fill: "#763d16",
stroke: "#763d16",
strokeLinecap: "round",
strokeLinejoin: "round",
d: "m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
d: "m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",
className: "st6"
}
)
),
nafath: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
xmlSpace: "preserve",
id: "Layer_1",
x: 0,
y: 0,
viewBox: "22.5 44.5 535.6 230.34",
...props
},
/* @__PURE__ */ React11.createElement("style", null, ".st0{fill:#0a9a8f}"),
/* @__PURE__ */ React11.createElement(
"path",
{
d: "M426.1 233.8c1.5.2 2.4.4 3.3.4 21.3 0 42.7.1 64-.1 12.7-.1 20-6.8 20.4-19.4.6-21 .6-42 .6-63 0-3.9 1.1-6.1 4.7-7.9 10.9-5.4 21.5-11.2 32.3-16.8 1.3-.7 2.7-1.3 4.5-2.1.1 1.4.3 2.4.3 3.5 0 29.1.5 58.2-.2 87.3-.5 21.8-9.4 39.7-29.1 51-10.1 5.8-21.3 7.9-32.7 7.9-32.1.2-64.1.2-96.2 0-8.2-.1-16.4-1.8-24.6-2.1-5.5-.2-11 1.1-16.6 1.4-9.3.4-18.7.7-28 .8-26.3.1-52.6.3-78.9-.1-7.8-.1-15.9-1.2-23.4-3.4-22.7-7-34.9-23.3-38.8-46.2-.8-4.9-1-9.9-1-14.9-.1-42.5 0-85-.1-127.5 0-3.6.9-5.6 4.2-7.2 11-5.5 21.8-11.3 32.7-16.9 1.3-.7 2.7-1.3 4.8-2.3v149c0 3.7.2 7.5.7 11.2 1.5 11.1 7.6 17.5 18.7 17.7 22.6.4 45.1.1 67.7.1.4 0 .9-.3 1.9-.6-1-2-1.9-3.9-2.9-5.7-16-27.8-11.5-65.2 7-87.2 11-13.2 25.3-20.4 42.3-21.9 17.3-1.5 33.9.9 48.1 12.1 15.4 12.1 23.3 28.3 25.8 47.5 2.6 19.1-.9 36.8-10.8 53.3-.1.3-.2.9-.7 2.1zm-27.4-48.1c-.8-3.2-1.5-9.2-3.9-14.4-4.9-10.6-13.9-14.9-25.5-14.3-10.4.6-17.9 5.9-21.5 15.7-7.4 19.7 1.5 44.7 19.4 55.5 3.2 1.9 5.8 2 8.9-.1 14.2-9.4 21.9-22.5 22.6-42.4zM78.7 155.1c6.8-11.7 13.6-23.2 20.5-35 13.5 8.1 25.5 17.4 35.1 29.4 18.1 22.4 24.3 48.2 21.3 76.5-.7 6.9-2.2 13.9-4.6 20.4-6 16.6-18.8 26.3-35.8 27.1-30.6 1.4-61.2.8-91.9 1.1-.1 0-.3-.1-.8-.4.4-1 .7-2.2 1.2-3.2 5.7-11 11.6-22 17.2-33.1 1.4-2.7 3-3.7 6.1-3.7 15.4.2 30.8-.4 46.2.2 18.1.7 21.6-10.1 21.2-23-.7-23.6-12.1-40.9-31.6-53.4-1.1-.9-2.4-1.8-4.1-2.9zM536.2 44.5c13.4 0 21.9 8.4 21.9 21.7 0 14.4-7.4 22.1-21.5 22.3-13.4.2-22-8.4-22.1-22.1 0-13.3 8.4-21.9 21.7-21.9zM121.1 66.4c0 14.8-7.3 22.3-21.5 22.1-13.5-.2-22-9-21.9-22.5.2-13.2 8.8-21.5 22.3-21.5 13.2.1 21.1 8.3 21.1 21.9z",
className: "st0"
}
),
/* @__PURE__ */ React11.createElement(
"path",
{
d: "M393 71.1c-.1 14.7-6.8 21.6-21.3 21.6-13.9 0-21.9-8.1-21.9-22.1 0-13.7 8.3-21.6 22.4-21.5 13.3.1 20.8 8.2 20.8 22z",
className: "st0"
}
)
),
hawa: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
xmlSpace: "preserve",
viewBox: "0 0 765 765",
...props
},
/* @__PURE__ */ React11.createElement(
"path",
{
d: "M382.5 0C171.6 0 0 171.6 0 382.5V765h382.5C593.4 765 765 593.4 765 382.5S593.4 0 382.5 0zM281.6 305.7c98 0 177.7 79.7 177.7 177.7 0 98-79.7 177.7-177.7 177.7s-177.7-79.7-177.7-177.7c0-98 79.7-177.7 177.7-177.7zm246 314.5c23.2-41.6 35.6-88.7 35.6-136.7 0-155.3-126.3-281.6-281.6-281.6-48 0-95.1 12.4-136.8 35.6C194.9 156 285 104 382.5 104c153.6 0 278.6 125 278.6 278.6 0 97.3-52 187.5-133.5 237.6z",
fill: "currentColor"
}
)
),
sikka: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
"aria-label": "Sikka Logo",
xmlns: "http://www.w3.org/2000/svg",
width: "512",
height: "512",
viewBox: "0 0 512 512",
...props
},
/* @__PURE__ */ React11.createElement(
"path",
{
d: "M242.26,91.23c-6.29,0-11.42,5.1-11.42,11.32v134.95L117.43,98.59c-4.58-5.66-6.86-7.36-13.15-7.36h-41.51c-3.98,0-4.18,3.41-4.18,7.36,0,1.7.58,3.96,1.73,5.1l124.37,152.31-124.37,152.31c-1.15,1.15-1.73,3.41-1.73,5.1,0,3.96.19,7.36,4.18,7.36h41.51c6.29,0,8.57-1.7,13.15-7.36l113.41-138.91v134.95c0,6.21,5.13,11.32,11.42,11.32h27.48c6.29,0,11.42-5.1,11.42-11.32v-134.95l113.41,138.91c4.58,5.66,6.86,7.36,13.15,7.36h41.51c3.98,0,4.18-3.41,4.18-7.36,0-1.7-.58-3.96-1.73-5.1l-124.37-152.31,124.37-152.31c1.15-1.15,1.73-3.41,1.73-5.1,0-3.96-.19-7.36-4.18-7.36h-41.51c-6.29,0-8.57,1.7-13.15,7.36l-113.41,138.91V102.54c0-6.21-5.13-11.32-11.42-11.32h-27.48Z",
fill: "currentColor",
"stroke-width": "0"
}
)
),
mail: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
stroke: "currentColor",
fill: "none",
strokeWidth: "2",
viewBox: "0 0 24 24",
strokeLinecap: "round",
strokeLinejoin: "round",
xmlns: "http://www.w3.org/2000/svg",
...props
},
/* @__PURE__ */ React11.createElement("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
/* @__PURE__ */ React11.createElement("polyline", { points: "22,6 12,13 2,6" })
),
phone: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
stroke: "currentColor",
fill: "none",
strokeWidth: "2",
viewBox: "0 0 24 24",
"aria-hidden": "true",
xmlns: "http://www.w3.org/2000/svg",
...props
},
/* @__PURE__ */ React11.createElement(
"path",
{
strokeLinecap: "round",
strokeLinejoin: "round",
d: "M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3"
}
)
),
twitter: (props) => /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React11.createElement(
"path",
{
fill: "currentColor",
d: "M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148a13.98 13.98 0 0 0 10.15 5.144 4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z"
}
)),
x: (props) => /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React11.createElement("title", null, "X"), /* @__PURE__ */ React11.createElement(
"path",
{
fill: "currentColor",
d: "M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"
}
)),
instagram: (props) => /* @__PURE__ */ React11.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
fill: "currentColor",
viewBox: "0 0 16 16",
...props
},
/* @__PURE__ */ React11.createElement("path", { d: "M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.