Code Monkey home page Code Monkey logo

react-fittext's Introduction

React Fit text

This component is a port of the famous fit text plugin for jQuery to use with React.

This component is 100% jQuery Free.

Homepage: http://softwarepsychonaut.com/react-fittext

Usage

Simply wrap your text component inside

// In your React component

var ReactFitText = require('react-fittext');
...

<ReactFitText>
  <h2>Testing React Fittext</h2>
</ReactFitText>

and you're good to go!

If you want to see a live demo of this component, you can check the homepage.

Parameters

There are few options you can send to the component to modify it default behaviour:

  • compressor: you can tweak this variable to increase / decrease the font-size. Default is 1.
  • minFontSize: the minimun font size (in px) this component should use.
  • maxFontSize: the maximum font size (in px) this component should use.

Issues / PR

If you found any issue with this component, please report it.

If you want to improve the code, feel free to create a PR!

Thanks

react-fittext's People

Contributors

brettdewoody avatar cedmax avatar denis-sokolov avatar gianu avatar jellykid avatar kyleamathews avatar poteto avatar revolunet avatar vieira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

react-fittext's Issues

Fails with react 0.14.0-rc1

ReactFittext doesn't work with the latest react version (0.14.0-rc1).
Here's the code and error messages:

package.json:

  "dependencies": {
    "react": "^0.14.0-rc1",
    "react-dom": "^0.14.0-rc1",
    "react-fittext": "0.0.5"
  }

main.jsx:

import React from 'react';
import ReactDOM from 'react-dom';
import ReactFitText from 'react-fittext';

const el = document.getElementById('root');

ReactDOM.render(
  <ReactFitText>
    <h1>hello</h1>
  </ReactFitText>,
  el
);

Console messages:

Warning: Failed propType: Invalid prop `children` supplied to `ReactFitText`, expected a ReactElement.
Warning: ReactFitText(...): React component classes must extend React.Component.
Uncaught TypeError: Cannot read property 'firstChild' of undefined

React 16 support?

Error in ./ReactMount
Module not found: Error: Can't resolve 'react/lib/React' in '/Project/node_modules/react-fittext/node_modules/react-dom/lib'

force single line of text

Simple beautiful package, so thanks for that!

Just wondering if there's a way to allow the fit text to work when forcing things to be on a single line? I don't want my text to wrap, and if I give white-space: nowrap the scaling doesnt work, and the text overflows the container. Thanks!

Resize within height as well

Hi,

Thanks for that really nice library.

I'm trying to vertically align the resized text using flexbox but is doesn't seems to be resizing at all.
Any idea how I can achieve a vertical alignment within flexboxes?

Regards

fit input boxes too!

what about making inputs fit to width?

i've seen tons of apps that do this, most frequently to enter dollar amounts. If you type a single character the font is huge, and as you type more characters the size decreases.

do you think this plugin is suitable for this, or is it a completely different problem?

Uncaught Invariant Violation: traverseParentPath(...): Cannot traverse from and to the same ID with React 15.0

Hi,

I was using react-fittext just fine until I updated to React 15.0 today.
Now I am getting the following error message in the console:

Uncaught Invariant Violation: traverseParentPath(...): Cannot traverse from and to the same ID

It seems to come from line 45, where the element is defined?
var element = ReactDOM.findDOMNode(this);

If I replace ReactDOM.findDOMNode(this) directly with the dom element I am using, everything will work fine.

Maybe you could look into that?
Thanks!

Browser throws errors

Seeing errors when i load the page in my browser

Warning: getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.
warning.js:36 Warning: Something is calling a React component directly. Use a factory or JSX instead. See: http://fb.me/react-legacyfactory
warning.js:48 Warning: ReactFitText(...): No `render` method found on the returned component instance: you may have forgotten to define `render` in your component or you may have accidentally tried to render an element whose type is a function that isn't a React component.
warning.js:36 Warning: Don't set the props property of the component. Mutate the existing props object instead.
ReactCompositeComponent.js:153 Uncaught TypeError: Can't add property context, object is not extensible

Compatibility with React v15

The package.json requires react@~0.13.x.

Is there anything blocking from using a more recent version of react?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.