美しくタイプセットのデザインを作成するためのコンポーネントを反応させます。
デモ!
import { TightenText } from 'react-typesetting' ;最小数のラインとオーバーフローを確保するために必要な最小量だけで、 word-spacing 、 letter-spacing 、 font-size (その順序で)を締めます。
アルゴリズムは、すべての値の最小値を設定し( minWordSpacing 、 minLetterSpacing 、 minFontSize Propsで定義)、これらを調整するとラップラインが少ないかオーバーフローが少ないかどうかを判断することから始まります。もしそうなら、最適なフィット感を見つけるために(ほとんどのmaxIterationsで)バイナリ検索が実行されます。
デフォルトでは、テキストの再修正が必要になる可能性がある要素のサイズが自動的に検出されます。 reflowKey Propを指定することにより、コンポーネントを更新するたびにプロップを変更することにより、代わりに手動制御を行うことができます。
典型的な正当なテキストとは異なり、個々のラップラインをターゲットにする方法がないため、締める必要がある行だけでなく、テキストのすべての行に適合調整が適用される必要があることに注意してください。したがって、このコンポーネントは、タイトルやラベルなどのテキストのタイポグラフィで重要な短い実行に控えめに使用するのが最適です。
| 名前 | タイプ | デフォルト | 説明 | |
|---|---|---|---|---|
| className | 弦 | このコンポーネントによって作成された外側のラッパー | ||
| スタイル | 物体 | このコンポーネントによって作成された外側のラッパー | ||
| 子供たち | ノード | レンダリングするコンテンツ。 | ||
| minwordspacing | 番号 | -0.02 | EMSの最小単語間隔。単語間隔を調整しない場合、これを0に設定します。 | |
| minlettersterspacing | 番号 | -0.02 | EMSの最小文字間隔。単語間隔を調整しない場合、これを0に設定します。 | |
| minfontsize | 番号 | 0.97 | EMSの最小 | |
| マキシテレーション | 番号 | 5 | バイナリ検索を実行して各CSSプロパティの最適な値を見つけると、値に落ち着く前に実行する最大の反復数が設定されます。 | |
| リフローキー | の1つ… 番号 弦 | 指定されている場合は、自動リフローを無効にして、この値を変更して手動でトリガーできるようにします。小道具自体は何もしませんが、それを変更すると、反応によりコンポーネントが更新されます。 | ||
| ReflowTimeout | 番号 | 討論は反射して、最大でこれがミリ秒で(与えられた期間の終わりに)起こることが多い。指定されていない場合、コンポーネントがレンダリングされるたびにリフローが計算されます。 | ||
| 無効 | ブール | テキストの再補充を完全に無効にするかどうか。以前のレンダリングですでに適用されている適合調整は保持されます。 | ||
| onreflow | 関数 | レイアウトが再計算され、テキストが再補充されたときに呼び出す関数。 | ||
| プリセット | 弦 | 外側の | ||
import { PreventWidows } from 'react-typesetting' ;コンポーネントの子供が提供する最後のテキストの幅を測定することにより、未亡人を防ぎます。スペースは、与えられた最小幅または置換の最大数に達するまで、非壊れたスペースに変換されます。
デフォルトでは、要素が再構成する必要がある可能性がある要素は、自動的に検出される可能性があることを変更します。 reflowKey Propを指定することにより、コンポーネントを更新するたびにプロップを変更することにより、代わりに手動制御を行うことができます。
| 名前 | タイプ | デフォルト | 説明 | |
|---|---|---|---|---|
| className | 弦 | このコンポーネントによって作成された外側のラッパー | ||
| スタイル | 物体 | このコンポーネントによって作成された外側のラッパー | ||
| 子供たち | ノード | レンダリングするコンテンツ。 | ||
| maxsubstitutions | 番号 | 3 | 代用するスペースの最大数。 | |
| 分線幅 | の1つ… 番号 弦 関数 | 15% | 最後の線の最小幅。下の境界線は、最小値が満たされるまで挿入されます。
| |
| nbspchar | の1つ… 弦 反応要素 関数 | u00A0 | スペースを置き換えるときに使用するキャラクターまたは要素。デフォルトは、標準的な非壊れたスペースキャラクターになります。これは、デバッグ目的で非壊れたスペースが挿入されている場所を視覚化するか、幅を調整しない限り、ほぼ確実に固執する必要があります。
| |
| リフローキー | の1つ… 番号 弦 | 指定されている場合は、自動リフローを無効にして、この値を変更して手動でトリガーできるようにします。小道具自体は何もしませんが、それを変更すると、反応によりコンポーネントが更新されます。 | ||
| ReflowTimeout | 番号 | 討論は反射して、最大でこれがミリ秒で(与えられた期間の終わりに)起こることが多い。指定されていない場合、コンポーネントがレンダリングされるたびにリフローが計算されます。 | ||
| 無効 | ブール | 未亡人の予防を完全に無効にするかどうか。 | ||
| onreflow | 関数 | レイアウトが再計算され、スペース置換が行われたときに呼び出す関数。 | ||
| プリセット | 弦 | 外側の | ||
import { Justify } from 'react-typesetting' ;これには、将来のより高度な正当化機能が含まれる場合がありますが、現在非常に単純です。 text-align: justifyコンテナ要素(デフォルトでは、a <p> )に正当化します(デフォルトでは)、大きくて見た目のない単語のギャップを避けるのに十分なスペースがあるかどうかに応じて。最小幅はminWidthで定義され、デフォルトは16のEMSになります。
また、メディアクエリでこれを達成することもできますが、このコンポーネントは、ページ全体ではなく、コンテナ要素が利用できる正確な幅を決定できます。
| 名前 | タイプ | デフォルト | 説明 | |
|---|---|---|---|---|
| className | 弦 | このコンポーネントによって作成された外側のラッパー要素に適用するクラス。 | ||
| スタイル | 物体 | このコンポーネントによって作成された外側のラッパー要素に追加する追加のスタイルプロパティ。 | ||
| 子供たち | ノード | レンダリングするコンテンツ。 | ||
| として | の1つ… 弦 関数 物体 | p | 供給された子供をレンダリングする要素タイプ。 | |
| ミニ幅 | の1つ… 番号 弦 | 16em | 正当なテキストを許可する最小幅。数字は絶対ピクセル幅を示します。文字列は、幅計算を実行するために要素のCSSに適用されます。 | |
| initialjustify | ブール | 真実 | 最初に | |
| リフローキー | の1つ… 番号 弦 | 指定されている場合は、自動リフローを無効にして、この値を変更して手動でトリガーできるようにします。小道具自体は何もしませんが、それを変更すると、反応によりコンポーネントが更新されます。 | ||
| ReflowTimeout | 番号 | 討論は反射して、最大でこれがミリ秒で(与えられた期間の終わりに)起こることが多い。指定されていない場合、コンポーネントがレンダリングされるたびにリフローが計算されます。 | ||
| 無効 | ブール | 正当化検出を完全に無効にするかどうか。適用された最後のアライメントは保存されます。 | ||
| onreflow | 関数 | レイアウトが再計算され、正当化が適用または適用されていない場合に呼び出す関数。 | ||
| プリセット | 弦 | 外側の | ||
import { FontObserver } from 'react-typesetting' ; FontObserver.Providerコンポーネントで指定されたフォントを観察するためのコンポーネント。
| 名前 | タイプ | デフォルト | 説明 | |
|---|---|---|---|---|
| 子供たち | 関数 | 観測されたフォントの現在のステータスを受信する関数。引数は、これらのプロパティを備えたオブジェクトになります。
| ||
import { FontObserver } from 'react-typesetting' ;どのフォントを観察するかを指定するためのコンテキストプロバイダー。
| 名前 | タイプ | デフォルト | 説明 | |
|---|---|---|---|---|
| フォント | の配列… の1つ… 弦 オブジェクト1 | ロードして観察するフォント。フォントファイル自体は、どこか(CSS内)に指定されている必要があります。このコンポーネントは、 配列内の各アイテムは、フォント | ||
| 1つのオブジェクト | ||||
| 家族 | 弦 | |||
| 重さ | の1つ… 番号 弦 | |||
| スタイル | 弦 | |||
| ストレッチ | 弦 | |||
| テストストリング | 弦 | |||
| タイムアウト | 番号 | |||
| テストストリング | 弦 |
| ||
| タイムアウト | 番号 | Millisecondsでのカスタムタイムアウトは、 | ||
| 子供たち | ノード | コンテキストを介してフォントの読み込みステータスにアクセスできるコンテンツ。 | ||
import { Typesetting } from 'react-typesetting' ;使用する他のすべてのreact-typesettingコンポーネントのプリセットを定義するためのコンテキストプロバイダー。
| 名前 | タイプ | デフォルト | 説明 | |
|---|---|---|---|---|
| プリセット | 物体 | {} | プリセット名をデフォルトのプロップにマッピングするオブジェクト。たとえば、値が与えられます。 { myPreset : { minFontSize : 1 , maxIterations : 3 } } … < TightenText preset = "myPreset" /> | |
| 子供たち | ノード | コンテキストを介して定義されたプリセットにアクセスできるコンテンツ。 | ||