import type { ReactNode } from "react";
const ARABIC_SCRIPT = /[\u0600-\u06FF]/;
/** Wrap Persian/Arabic runs in IRANYekan; leave Latin as-is. */
export function withFaSpans(value: string): ReactNode {
if (!value || !ARABIC_SCRIPT.test(value)) return value;
const parts = value.split(/([\u0600-\u06FF][\u0600-\u06FF\s\u200c]*)/g);
return parts.map((part, index) =>
ARABIC_SCRIPT.test(part) ? (
{part}
) : (
part
),
);
}
export function hasArabicScript(value: string | null | undefined) {
return Boolean(value && ARABIC_SCRIPT.test(value));
}
/** Keep phone / E.164 numbers LTR even next to Persian text. */
export function PhoneLtr({
value,
className,
}: {
value: string;
className?: string;
}) {
return (
{value}
);
}