import * as React from 'react'
import {FC, HTMLAttributes} from 'react'
/**
* @category Props
*/
export interface FitTextProps extends HTMLAttributes {
/**
* The text to display. Must be a string, not a React node.
*/
children: string
/**
* A number from 1 to 100 representing the percentage of line width to scale text to.
* @defaultValue 100
*/
width?: number
/**
* A string representing the style of the text. This will be used to calculate the width of the text.
* @defaultValue `undefined`
*/
isStyle?: `uppercase` | `lowercase` | `monospace`
/**
* A number representing the relative width of the font family compared to other font families. This will be used to multiply the width of the text.
* @defaultValue `var(--family-heading-width, 1)`
*/
familyWidth?: number | string
}
/**
* This component is used to scale text to fit the width of a container. It uses the `cqw` unit to scale the text to fit the width of the `inline-size` containment element which is defined by the `@container` query.
*
* @param props - the {@link FitTextProps}. You can use the `width` prop to change the line-length percentage. You may also add any valid attribute for the underlying span.
* @returns a spicy span to wrap one line of text.
* @category Components
*
* @example
* Note that you must define a CSS container for the container query units to be relative to. Here we are using a Tailwind plugin which provides the `@container` class for this purpose.
* ```jsx
*