{"version":3,"file":"VisuallyHidden.cjs","names":[],"sources":["../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import type { HTMLAttributes, JSX } from \"react\";\nimport { createElement } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./VisuallyHidden.module.css\";\n\nexport interface VisuallyHiddenProps extends HTMLAttributes<HTMLElement> {\n    /** Intrinsic element to render. Defaults to \"span\". */\n    as?: keyof JSX.IntrinsicElements;\n}\n\n/**\n * Render content that is hidden visually but remains available to screen\n * readers — the standard \"sr-only\" pattern. Useful for accessible labels on\n * icon-only controls.\n *\n * @example\n * <button><Icon /><VisuallyHidden>Close</VisuallyHidden></button>\n */\nexport function VisuallyHidden({\n    as = \"span\",\n    className,\n    children,\n    ...props\n}: VisuallyHiddenProps) {\n    return createElement(as, { className: cn(styles.hidden, className), ...props }, children);\n}\n"],"mappings":"sGAkBA,SAAgB,EAAe,CAC3B,KAAK,OACL,YACA,WACA,GAAG,GACiB,CACpB,OAAA,EAAO,EAAA,cAAA,CAAc,EAAI,CAAE,UAAW,EAAA,GAAG,EAAA,QAAO,OAAQ,CAAS,EAAG,GAAG,CAAM,EAAG,CAAQ,CAC5F"}