UNPKG

ember-text-resize

Version:
117 lines (95 loc) 2.25 kB
# ember-text-resize Easily resize texts to fit the container. ## Installation ```sh ember install ember-text-resize ``` ## Demo [https://brunosalgado1985.github.io/demos/ember-text-resize/](https://brunosalgado1985.github.io/demos/ember-text-resize/) ## Usage Pass the text to `text-resize` component: ```hbs <div class="row"> <div class="columns small-2"> {{text-resize text="999.999.999,99"}} </div> </div> ``` Or wrap it: ```hbs <div class="row"> <div class="columns small-2"> {{#text-resize}} 999.999.999,99 {{/text-resize}} </div> </div> ``` ## Settings * `fontSize`: initial font size (default: element _css font-size_) * `minFontSize`: minimum font size * `maxFontSize`: maximum font size * `step`: pixels to maximize/minimize the text until it fit. (default: -2) * `alwaysVisible`: show the text while it's resizing. (default: _false_) * `text`: text to fit on the container. ### Maximize the text Set a positive value on `step`. ```hbs <div class="row"> <div class="columns small-12"> {{#text-resize step=4}} 999.999.999,99 {{/text-resize}} </div> </div> ``` ### Minimize the text Set a negative value on `step`. ```hbs <div class="row"> <div class="columns small-2"> {{#text-resize step=-4}} 999.999.999,99 {{/text-resize}} </div> </div> ``` ### Working asynchronous ```js import Ember from 'ember'; export default Ember.Controller.extend({ init() { this._super(...arguments); setTimeout(() => { Ember.set(this, 'myText1', '999.999.999,99'); Ember.set(this, 'myText2', '999.999.999,99'); }, 1000); }, }); ``` ```hbs <div class="row"> <div class="columns small-6"> {{text-resize step=4 text=myText1}} </div> <div class="columns small-6"> {{#text-resize step=-4}} {{myText2}} {{/text-resize}} </div> </div> ``` ### Max and Min Font Size Use `minFontSize` and `maxFontSize` to set the size limits. ```hbs <div class="row"> <div class="columns small-6"> {{text-resize step=3 text=myText1 maxFontSize=40}} </div> <div class="columns small-1"> {{#text-resize step=-4 minFontSize=12}} {{myText2}} {{/text-resize}} </div> </div> ```