Реактируйте компоненты для создания красивых дизайнов набора.
Демо!
import { TightenText } from 'react-typesetting' ; Зажигает word-spacing , letter-spacing и font-size (в таком порядке) на минимальную сумму, необходимую для обеспечения минимального количества оберщенных линий и переполнения.
Алгоритм начинается с установления минимума всех значений (определяется репутациями с minWordSpacing , minLetterSpacing и репутациями minFontSize ), чтобы определить, приведет ли их корректировка к меньшему количеству оберщенных линий или меньше переполнений. Если это так, то проводится бинарный поиск (с максимальными maxIterations ), чтобы найти наилучшее соответствие.
По умолчанию элемент изменения, которые могут потребовать переработки текста, автоматически обнаруживаются. Указав опору reflowKey , вы можете вместо этого взять ручное управление, изменив опору, когда вы хотите обновить компонент.
Обратите внимание, что в отличие от типичного оправданного текста, корректировки соответствия должны применяться ко всем линиям текста, а не только на линии, которые необходимо затянуть, потому что нет способа нацелиться на отдельные оберщенные линии. Таким образом, этот компонент лучше всего используется экономно для типографически важных коротких прогонов текста, таких как названия или метки.
| Имя | Тип | По умолчанию | Описание | |
|---|---|---|---|---|
| классное имя | Нить | Класс, чтобы применить к внешнему промежуточному | ||
| стиль | Объект | Дополнительные свойства стиля, чтобы добавить к внешнему промежуточному | ||
| дети | Узел | Содержание для рендеринга. | ||
| Minword Spacing | Число | -0.02 | Минимальное расстояние между словами в EMS. Установите это на 0, если интервал между словами не следует отрегулировать. | |
| Минлетерсбайк | Число | -0.02 | Минимальное расстояние между буквами в EMS. Установите это на 0, если интервал между словами не следует отрегулировать. | |
| minfontsize | Число | 0,97 | Минимальный | |
| макситерации | Число | 5 | При выполнении бинарного поиска для поиска оптимального значения каждого свойства CSS это устанавливает максимальное количество итераций для работы, прежде чем установить значение. | |
| сбоя | Один из… Число Нить | Если указано, отключите автоматическое рефлектор, чтобы вы могли запустить его вручную, изменяя это значение. Сама опора ничего не делает, но изменение ее заставит реагировать на обновление компонента. | ||
| Sufflowtimeout | Число | Дебаун перерабатывает, чтобы они происходили не более того, часто в миллисекундах (в конце данной продолжительности). Если не указано, рефтова вычисляется каждый раз, когда компонент отображается. | ||
| неполноценный | Логический | Следует ли полностью отключить переоборудование текста. Любые корректировки соответствия, которые уже были применены в предыдущем рендеринге, будут сохранены. | ||
| Onreflow | Функция | Функция для вызова, когда макет был перечислен, и текст выполняется переоборудовано. | ||
| предустановка | Нить | Название предустановленного определения во внешнем | ||
import { PreventWidows } from 'react-typesetting' ;Предотвращает вдов, измеряя ширину последней строки текста, отображаемой детьми компонента. Пространства будут преобразованы в не разрушающие пространства до тех пор, пока не будет достигнуто заданная минимальная ширина или максимальное количество замен.
По умолчанию элементы изменяются, которые могут потребовать, чтобы ширина линии пересекания автоматически обнаруживается. Указав опору reflowKey , вы можете вместо этого взять ручное управление, изменив опору, когда вы хотите обновить компонент.
| Имя | Тип | По умолчанию | Описание | |
|---|---|---|---|---|
| классное имя | Нить | Класс, чтобы применить к внешнему промежуточному | ||
| стиль | Объект | Дополнительные свойства стиля, чтобы добавить к внешнему промежуточному | ||
| дети | Узел | Содержание для рендеринга. | ||
| maxsubstitutions | Число | 3 | Максимальное количество пробелов для замены. | |
| Minlinewidth | Один из… Число Нить Функция | 15% | Минимальная ширина последней строки, ниже которой будут вставлены неразрывные места до тех пор, пока минимум не будет выполнен.
| |
| nbspchar | Один из… Нить Реагировать элемент Функция | u00A0 | Символ или элемент для использования при замене пространства. По умолчанию стандартный неразрывной космический персонаж, с которым вы почти наверняка должны придерживаться, если вы не хотите визуализировать, где вставлены неразрывные пространства в целях отладки, или отрегулировать их ширину.
| |
| сбоя | Один из… Число Нить | Если указано, отключите автоматическое рефлектор, чтобы вы могли запустить его вручную, изменяя это значение. Сама опора ничего не делает, но изменение ее заставит реагировать на обновление компонента. | ||
| Sufflowtimeout | Число | Дебаун перерабатывает, чтобы они происходили не более того, часто в миллисекундах (в конце данной продолжительности). Если не указано, рефтова вычисляется каждый раз, когда компонент отображается. | ||
| неполноценный | Логический | Чтобы полностью отключить профилактику вдовы. | ||
| Onreflow | Функция | Функция для вызова, когда макет был перечислен и замена пространства выполняется. | ||
| предустановка | Нить | Название предустановленного определения во внешнем | ||
import { Justify } from 'react-typesetting' ; Несмотря на то, что это может включать более продвинутые функции оправдания в будущем, в настоящее время он очень прост: условно применяет text-align: justify его элемент контейнера (по <p> ) в зависимости от того, достаточно ли места, чтобы избежать больших, нерешенных разрывов слов. Минимальная ширина определяется minWidth и по умолчанию до 16 EMS.
Вы также можете выполнить это с помощью медиа -запросов, но этот компонент может определить точную ширину, доступную для элемента контейнера, а не только на всю страницу.
| Имя | Тип | По умолчанию | Описание | |
|---|---|---|---|---|
| классное имя | Нить | Класс для применения к элементу внешней обертки, созданного этим компонентом. | ||
| стиль | Объект | Дополнительные свойства стиля, чтобы добавить к внешнему элементу обертки, созданному этим компонентом. | ||
| дети | Узел | Содержание для рендеринга. | ||
| как | Один из… Нить Функция Объект | п | Тип элемента, в котором можно представить поставленных детей. Это должен быть элемент уровня блока, например, | |
| MinWeidth | Один из… Число Нить | 16 | Минимальная ширина, при которой можно разрешить оправданный текст. Числа указывают на абсолютную ширину пикселей. Строки будут применены к CSS элемента, чтобы выполнить расчет ширины. | |
| Первоначальный | Логический | истинный | Независимо от того, изначально ли установить | |
| сбоя | Один из… Число Нить | Если указано, отключите автоматическое рефлектор, чтобы вы могли запустить его вручную, изменяя это значение. Сама опора ничего не делает, но изменение ее заставит реагировать на обновление компонента. | ||
| Sufflowtimeout | Число | Дебаун перерабатывает, чтобы они происходили не более того, часто в миллисекундах (в конце данной продолжительности). Если не указано, рефтова вычисляется каждый раз, когда компонент отображается. | ||
| неполноценный | Логический | Чтобы полностью отключить обнаружение оправдания. Последнее выравнивание, которое было применено, будет сохранено. | ||
| Onreflow | Функция | Функция для вызова, когда макет был перечислен, и оправдание было применено или не применено. | ||
| предустановка | Нить | Название предустановленного определения во внешнем | ||
import { FontObserver } from 'react-typesetting' ; Компонент для наблюдения за шрифтами, указанными в компоненте FontObserver.Provider .
| Имя | Тип | По умолчанию | Описание | |
|---|---|---|---|---|
| дети | Функция | Функция, которая будет получать текущее состояние наблюдаемых шрифтов. Аргумент будет объектом с этими свойствами:
| ||
import { FontObserver } from 'react-typesetting' ;Поставщик контекста для указания, какие шрифты наблюдать.
| Имя | Тип | По умолчанию | Описание | |
|---|---|---|---|---|
| шрифты | Массив… Один из… Нить Объект 1 | Шрифты для загрузки и наблюдения. Сами файлы шрифтов уже должны быть указаны где -то (в CSS), этот компонент просто использует Каждый предмет в массиве указывает | ||
| 1 объект | ||||
| семья | Нить | |||
| масса | Один из… Число Нить | |||
| стиль | Нить | |||
| потягиваться | Нить | |||
| Тестовая стринг | Нить | |||
| тайм -аут | Число | |||
| Тестовая стринг | Нить | Пользовательская тестовая строка для перемещения метода | ||
| тайм -аут | Число | Пользовательский тайм -аут в миллисекундах для перехода к методу | ||
| дети | Узел | Контент, который будет иметь доступ к статусу загрузки шрифтов через контекст. | ||
import { Typesetting } from 'react-typesetting' ; Поставщик контекста для определения пресетов для всех других компонентов react-typesetting для использования.
| Имя | Тип | По умолчанию | Описание | |
|---|---|---|---|---|
| предустановка | Объект | {} | Сопоставление объекта предустановленные имена по умолчанию. Например, учитывая значение: { myPreset : { minFontSize : 1 , maxIterations : 3 } } … Компонент < TightenText preset = "myPreset" /> | |
| дети | Узел | Контент, который будет иметь доступ к определенным пресетам через контекст. | ||