UNPKG

react-bionic-reading

Version:

A React component that implements the bionic reading method.

106 lines (74 loc) โ€ข 6.54 kB
# โšชโšซ ๐—ฅ๐—ฒ๐—ฎct ๐—•๐—ถ๐—ผnic ๐—ฅ๐—ฒ๐—ฎding ๐—” ๐—ฅ๐—ฒ๐—ฎct ๐—ฐ๐—ผ๐—บ๐—ฝonent ๐—น๐—ถ๐—ฏ๐—ฟary ๐—ณ๐—ผr ๐—ฎ๐—ฝ๐—ฝ๐—นying ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜๐—ผ ๐˜๐—ฒxt. ๐—˜๐—ณ๐—ณ๐—ผ๐—ฟ๐˜๐—นessly ๐—ถ๐—ป๐˜๐—ฒ๐—ดrate ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐—ถ๐—ป๐˜๐—ผ ๐˜†๐—ผur ๐—ฅ๐—ฒ๐—ฎct ๐—ฎ๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎtions ๐˜๐—ผ ๐—ฒ๐—ป๐—ต๐—ฎnce ๐—ฟ๐—ฒ๐—ฎ๐—ฑ๐—ฎ๐—ฏility ๐—ฎ๐—ป๐—ฑ ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜€๐—ฝ๐—ฒed. ## ๐Ÿ“ท ๐——๐—ฒmo https://github.com/user-attachments/assets/abd491c3-762e-44a1-ad49-ec80970f522f ## ๐Ÿš€ ๐—œ๐—ป๐˜€๐˜๐—ฎ๐—นlation ๐—œ๐—ป๐˜€๐˜๐—ฎ๐—นl ๐˜๐—ต๐—ฒ ๐—ฝ๐—ฎ๐—ฐ๐—ธage ๐—ถ๐—ป ๐˜†๐—ผur ๐—ฝ๐—ฟ๐—ผject ๐—ฑ๐—ถ๐—ฟ๐—ฒ๐—ฐtory ๐˜„๐—ถth: ```bash npm install react-bionic-reading ``` ๐—ผ๐—ฟ ๐—ถ๐—ณ ๐˜†๐—ผu ๐—ฝ๐—ฟ๐—ฒ๐—ณer ๐˜†๐—ฎrn: ```bash yarn add react-bionic-reading ``` ## โœจ ๐—จ๐˜€๐—ฎge ๐—ช๐—ฒ ๐—ฝ๐—ฟ๐—ผ๐˜ƒide ๐˜๐˜„๐—ผ ๐—บ๐—ฎin ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnents ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝly ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing: `BionicText` ๐—ณ๐—ผ๐—ฟ ๐˜€๐—ถ๐—ป๐—ดle ๐˜€๐˜๐—ฟ๐—ถ๐—ป๐—ดs ๐—ฎ๐—ป๐—ฑ `BionicBlock` ๐—ณ๐—ผ๐—ฟ ๐—น๐—ฎ๐—ฟ๐—ดer ๐—ฏ๐—น๐—ผ๐—ฐks ๐—ผ๐—ณ ๐—ฐ๐—ผ๐—ป๐˜ent ๐˜„๐—ถ๐˜h ๐—ป๐—ฒ๐˜€๐˜ed ๐—ฒ๐—น๐—ฒ๐—บents. ### `BionicText` ๐—จ๐˜€๐—ฒ ๐˜๐—ต๐—ฒ `BionicText` ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnent ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝly ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜๐—ผ ๐—ฎ ๐˜€๐˜๐—ฟ๐—ถng. ```jsx import { BionicText } from "react-bionic-reading"; function MyComponent() { return ( <BionicText text="This is some text that will be displayed with bionic reading." /> ); } ``` ### `BionicBlock` ๐—จ๐˜€๐—ฒ ๐˜๐—ต๐—ฒ `BionicBlock` ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnent ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝly ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜๐—ผ ๐—ฎ ๐—ฏ๐—น๐—ผck ๐—ผ๐—ณ ๐—ฐ๐—ผ๐—ป๐˜ent, ๐—ถ๐—ป๐—ฐ๐—น๐˜‚ding ๐—ป๐—ฒ๐˜€๐˜ed ๐—›๐—ง๐— L ๐—ฒ๐—น๐—ฒ๐—บents. ```jsx import { BionicBlock } from "react-bionic-reading"; function MyArticle() { return ( <BionicBlock> <h2>This is a heading</h2> <p> This is a paragraph inside a bionic block. It will be converted to bionic text. </p> </BionicBlock> ); } ``` ### `useBionic` Hook ๐—ช๐—ฒ ๐—ฒ๐˜…๐—ฝ๐—ผse ๐—ฎ `useBionic` ๐—ต๐—ผ๐—ผk ๐˜๐—ต๐—ฎt ๐—ฎ๐—น๐—น๐—ผws ๐˜†๐—ผu ๐˜๐—ผ ๐—ด๐—น๐—ผ๐—ฏally ๐—ฐ๐—ผ๐—ป๐˜rol ๐˜๐—ต๐—ฒ ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜€๐˜๐—ฎte. ๐—ง๐—ต๐—ถs ๐—ถ๐˜€ ๐˜‚๐˜€๐—ฒ๐—ณul ๐—ณ๐—ผ๐—ฟ ๐—ฐ๐—ฟ๐—ฒ๐—ฎting ๐—ฎ ๐˜๐—ผ๐—ด๐—ดle ๐—ฏ๐˜‚๐˜๐˜on ๐˜๐—ผ ๐—ฒ๐—ป๐—ฎ๐—ฏle ๐—ผ๐—ฟ ๐—ฑ๐—ถ๐˜€๐—ฎble ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐—ณ๐—ผ๐—ฟ ๐˜๐—ต๐—ฒ ๐—ฒ๐—ป๐˜๐—ถre ๐—ฎ๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎtion. ```jsx import { useBionic } from "react-bionic-reading"; function BionicModeToggle() { const { bionicMode, setBionicMode } = useBionic(); return ( <button onClick={() => setBionicMode(!bionicMode)}> {bionicMode ? "Disable" : "Enable"} Bionic Reading </button> ); } ``` ## ๐Ÿงต ๐—ฃ๐—ฟ๐—ผps ### `BionicText` Props | Prop | Type | Description | | ----------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------ | | `text` | `string` | ๐—ง๐—ต๐—ฒ ๐˜๐—ฒxt ๐˜€๐˜๐—ฟ๐—ถng ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝly ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜๐—ผ. | | `as` | `ElementType` | ๐—ง๐—ต๐—ฒ ๐—›๐—ง๐— L ๐—ฒ๐—น๐—ฒ๐—บent ๐˜๐—ผ ๐—ฟ๐—ฒ๐—ป๐—ฑer ๐˜๐—ต๐—ฒ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnent ๐—ฎ๐˜€. ๐——๐—ฒ๐—ณ๐—ฎults ๐˜๐—ผ `span`. | | `style` | `CSSProperties` | ๐—œ๐—ป๐—น๐—ถne ๐˜€๐˜๐˜†๐—นes ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝly ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnent. | | `className` | `string` | ๐—–๐—ฆ๐—ฆ ๐—ฐ๐—น๐—ฎ๐˜€ses ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝly ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnent. | | `forceBionicMode` | `boolean` | ๐—œ๐—ณ `true`, ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜„๐—ถ๐—นl ๐—ฏ๐—ฒ ๐—ฎ๐—ฝ๐—ฝ๐—นied ๐—ฟ๐—ฒ๐—ด๐—ฎ๐—ฟdless ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐—ด๐—น๐—ผ๐—ฏal ๐˜€๐˜๐—ฎte ๐—ณ๐—ฟ๐—ผm ๐˜๐—ต๐—ฒ `useBionic` ๐—ต๐—ผ๐—ผk. ๐——๐—ฒ๐—ณ๐—ฎults ๐˜๐—ผ `false`. | ### `BionicBlock` Props | Prop | Type | Description | | ----------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `children` | `ReactNode` | ๐—ง๐—ต๐—ฒ ๐—ฐ๐—ผ๐—ป๐˜ent ๐˜๐—ผ ๐—ฏ๐—ฒ ๐—ฟ๐—ฒ๐—ป๐—ฑered ๐˜„๐—ถ๐˜๐—ตin ๐˜๐—ต๐—ฒ ๐—ฏ๐—น๐—ผck. ๐—ง๐—ต๐—ฒ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ผnent ๐˜„๐—ถ๐—นl ๐—ฟ๐—ฒ๐—ฐ๐˜‚๐—ฟsively ๐˜๐—ฟ๐—ฎ๐˜ƒerse ๐˜๐—ต๐—ฒ ๐—ฐ๐—ต๐—ถ๐—นdren ๐—ฎ๐—ป๐—ฑ ๐—ฎ๐—ฝ๐—ฝly ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜๐—ผ ๐˜๐—ฒxt ๐—ป๐—ผ๐—ฑes. | | `forceBionicMode` | `boolean` | ๐—œ๐—ณ `true`, ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing ๐˜„๐—ถ๐—นl ๐—ฏ๐—ฒ ๐—ฎ๐—ฝ๐—ฝ๐—นied ๐—ฟ๐—ฒ๐—ด๐—ฎ๐—ฟdless ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐—ด๐—น๐—ผ๐—ฏal ๐˜€๐˜๐—ฎte ๐—ณ๐—ฟ๐—ผm ๐˜๐—ต๐—ฒ `useBionic` ๐—ต๐—ผ๐—ผk. ๐——๐—ฒ๐—ณ๐—ฎults ๐˜๐—ผ `false`. | ### `useBionic` Hook ๐—ง๐—ต๐—ฒ `useBionic` ๐—ต๐—ผ๐—ผk ๐—ฟ๐—ฒ๐˜๐˜‚๐—ฟns ๐—ฎn ๐—ผ๐—ฏ๐—ท๐—ฒct ๐˜„๐—ถ๐˜h ๐˜๐—ต๐—ฒ ๐—ณ๐—ผ๐—น๐—น๐—ผwing ๐—ฝ๐—ฟ๐—ผ๐—ฝ๐—ฒrties: | Property | Type | Description | | --------------- | -------------------- | ------------------------------------------------------- | | `bionicMode` | `boolean` | ๐—ง๐—ต๐—ฒ ๐—ฐ๐˜‚๐—ฟ๐—ฟent ๐˜€๐˜๐—ฎte ๐—ผ๐—ณ ๐—ฏ๐—ถ๐—ผnic ๐—ฟ๐—ฒ๐—ฎ๐—ฑing (๐—ฒ๐—ป๐—ฎ๐—ฏled/๐—ฑ๐—ถ๐˜€๐—ฎbled). | | `setBionicMode` | `(isBionic) => void` | ๐—” ๐—ณ๐˜‚๐—ป๐—ฐtion ๐˜๐—ผ ๐˜‚๐—ฝ๐—ฑ๐—ฎte ๐˜๐—ต๐—ฒ `bionicMode` ๐˜€๐˜๐—ฎte. |