/** * @fileoverview Base SVG icon primitive for Phosphor-derived icons. * Provides shared sizing, color, and weight handling for every icon component * in this directory. The actual path data is supplied by each icon via the * `weights` map. * @module @saasflare/ui/components/ui/phosphor/icon-base */ import * as React from "react"; /** Visual weight provided by Phosphor: thin stroke (regular), heavier stroke (bold), filled glyph, or duotone (filled silhouette + stroke). */ export type IconWeight = "regular" | "bold" | "fill" | "duotone"; /** * Public props accepted by every Phosphor icon component. * Mirrors the shape of `@phosphor-icons/react` so usage is familiar. */ export interface PhosphorIconProps extends Omit, "weight"> { /** Visual weight. Defaults to "regular". */ weight?: IconWeight; /** Width and height. Defaults to "1em" so the icon scales with the parent's font-size or Tailwind size-* class. */ size?: string | number; /** Stroke / fill color. Defaults to "currentColor" so the icon inherits text color. */ color?: string; } /** Internal props — adds the per-icon `weights` map. */ export interface IconBaseProps extends PhosphorIconProps { weights: Record; } export declare const IconBase: React.ForwardRefExoticComponent>;