forked from malte-wessel/react-textfit
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1c4ff82
commit 2dd8c32
Showing
31 changed files
with
277 additions
and
12,731 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,2 @@ | ||
node_modules | ||
*.log | ||
.DS_Store | ||
dist | ||
lib | ||
coverage | ||
dist |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +0,0 @@ | ||
.DS_Store | ||
*.log | ||
src | ||
test | ||
examples | ||
coverage | ||
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,126 +1,59 @@ | ||
## Diff from malte-wessel/react-textfit | ||
# @namhong2001/react-textfit | ||
|
||
- make run possible on react v18 | ||
|
||
### install types | ||
|
||
```bash | ||
npm install @types/namhong2001__react-textfit@npm:@types/react-textfit --D | ||
``` | ||
## v1 | ||
|
||
# react-textfit | ||
### Diff from malte-wessel/react-textfit | ||
|
||
[![npm](https://img.shields.io/badge/npm-react--textfit-brightgreen.svg?style=flat-square)]() | ||
[![npm version](https://img.shields.io/npm/v/react-textfit.svg?style=flat-square)](https://www.npmjs.com/package/react-textfit) | ||
[![npm downloads](https://img.shields.io/npm/dm/react-textfit.svg?style=flat-square)](https://www.npmjs.com/package/react-textfit) | ||
|
||
- fit **headlines and paragraphs** into any element | ||
- **fast:** uses binary search for efficiently find the correct fit | ||
- **100%** react-goodness | ||
- works with **any style** configuration (line-height, padding, ...) | ||
- **[check out the demo](http://malte-wessel.github.io/react-textfit/)** | ||
- make run possible on react v18 | ||
|
||
## Table of Contents | ||
### Install | ||
|
||
- [Installation](#installation) | ||
- [Usage](#usage) | ||
- [Modes](#modes) | ||
- [API](#api) | ||
- [License](#license) | ||
```shell | ||
npm install @namhong2001/react-textfit@1 | ||
``` | ||
|
||
## Installation | ||
#### Types | ||
|
||
```bash | ||
npm install react-textfit --save | ||
npm install @types/namhong2001__react-textfit@npm:@types/react-textfit --D | ||
``` | ||
|
||
## Usage | ||
|
||
### Headlines | ||
## v2 | ||
|
||
```javascript | ||
import { Textfit } from "react-textfit"; | ||
Originate from **_malte-wessel/react-textfit_** but fully rewritten with function component and hooks by typescript | ||
|
||
class App extends Component { | ||
render() { | ||
return <Textfit mode="single">Fat headline!</Textfit>; | ||
} | ||
} | ||
``` | ||
|
||
#### Respect the element's height when using single lines | ||
|
||
```javascript | ||
import { Textfit } from "react-textfit"; | ||
### Install | ||
|
||
class App extends Component { | ||
render() { | ||
return ( | ||
<Textfit mode="single" forceSingleModeWidth={false}> | ||
Fat headline! | ||
</Textfit> | ||
); | ||
} | ||
} | ||
```shell | ||
npm install @namhong2001/react-textfit | ||
``` | ||
|
||
### Paragraphs | ||
|
||
```javascript | ||
import { Textfit } from "react-textfit"; | ||
|
||
class App extends Component { | ||
render() { | ||
return ( | ||
<Textfit mode="multi"> | ||
Lorem <strong>ipsum</strong> dolor sit amet, consectetur adipisicing | ||
elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. | ||
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi | ||
ut aliquip ex ea commodo consequat. Duis aute irure dolor in | ||
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla | ||
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa | ||
qui officia deserunt mollit anim id est laborum. | ||
</Textfit> | ||
); | ||
} | ||
} | ||
``` | ||
#### Types | ||
|
||
## Modes | ||
Included | ||
|
||
### `single` | ||
### Supported props | ||
|
||
**Algorithm steps:** | ||
- `mode` (single|multi) force singleline or multiline. default `multi` | ||
- `min` (Number) minimum font size. default `0` | ||
- `max` (Number) maximum font size. default `300` | ||
|
||
``` | ||
1. binary search to fit the element's width | ||
2. if forceSingleModeWidth=false and text overflows height | ||
2a. binary search to also fit the elements height | ||
``` | ||
### example | ||
|
||
### `multi` | ||
```typescript | ||
<Textfit> | ||
{myText} | ||
</Textfit> | ||
|
||
**Algorithm steps:** | ||
<Textfit mode="single"> | ||
{myText} | ||
</Textfit> | ||
|
||
<Textfit mode="single" min={10} max={50}> | ||
{myText} | ||
</Textfit> | ||
``` | ||
1. binary search to fit the element's height | ||
2. if text overflows width | ||
2a. binary search to also fit the elements width | ||
``` | ||
|
||
## API | ||
|
||
### `<Textfit>` | ||
|
||
#### Props | ||
|
||
- `mode` (single|multi) Algorithm to fit the text. Use single for headlines and multi for paragraphs. Default is `multi`. | ||
- `forceSingleModeWidth` (Boolean) When mode is single and forceSingleModeWidth is true, the element's height will be ignored. Default is `true`. | ||
- `min` (Number) Minimum font size in pixel. Default is `1`. | ||
- `max` (Number) Maximum font size in pixel. Default is `100`. | ||
- `throttle` (Number) Window resize throttle in milliseconds. Default is `50`. | ||
- `onReady` (Function) Will be called when text is fitted. | ||
|
||
## License | ||
## LICENSE | ||
|
||
MIT |
Oops, something went wrong.