import type { JSX } from "solid-js";
export type CentralIconBaseProps = { size?: string | number; color?: string; ariaHidden?: boolean; ariaLabel?: string; mode?: "masked" | "raw"; maskId?: string } & JSX.SvgSVGAttributes<SVGSVGElement>;
export function maskInner(raw: string, maskId: string, mode: "masked" | "raw" = "masked"): string {
  if (mode === "raw" || !maskId) return raw;
  return `<mask id="${maskId}" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="#000"/><g fill="none" style="color:#fff">${raw}</g></mask><rect width="24" height="24" fill="currentColor" mask="url(#${maskId})"/>`;
}
export function svgAttrs(props: CentralIconBaseProps) {
  const { size = 24, color, ariaHidden = true, ariaLabel, mode, maskId, ...rest } = props;
  const dim = typeof size === "number" ? `${size}px` : size;
  return { ...rest, width: dim, height: dim, viewBox: "0 0 24 24", fill: "none",
    xmlns: "http://www.w3.org/2000/svg", role: ariaHidden ? undefined : "img",
    "aria-hidden": ariaHidden, "aria-label": ariaHidden ? undefined : ariaLabel,
    style: color ? { color } : undefined };
}
