{
  "name": "text-fit-utils",
  "type": "registry:lib",
  "description": "Safe headline fitting helpers",
  "dependencies": [],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/bases/default/lib/text-fit-utils.ts",
      "type": "registry:lib",
      "content": "export type FitHeadlineOptions = {\n  text: string;\n  maxWidth: number;\n  maxFontSize: number;\n  minFontSize?: number;\n  fontFamily?: string;\n  fontWeight?: string | number;\n  fallbackWidth?: number;\n};\n\nexport function fitHeadline({\n  text,\n  maxWidth,\n  maxFontSize,\n  minFontSize = 32,\n}: FitHeadlineOptions): number {\n  const longestLine = text\n    .split(/\\s+/)\n    .reduce((longest, word) => Math.max(longest, word.length), 1);\n  const estimatedCharacters = Math.max(longestLine, text.length * 0.56);\n  const estimatedSize = maxWidth / Math.max(1, estimatedCharacters * 0.56);\n\n  return Math.round(Math.max(minFontSize, Math.min(maxFontSize, estimatedSize)));\n}\n"
    }
  ]
}