Socket
Socket
Sign inDemoInstall

ng-gx-split-text

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng-gx-split-text

This is a utility for Angular, allowing you to split the text into words and chars, for subsequent animation


Version published
Weekly downloads
2
decreased by-77.78%
Maintainers
2
Weekly downloads
 
Created
Source

Badge Badge

GX

Split Text

NG-GX-SPLIT-TEXT - This is an Angular utility to split text into words, lines or chars for subsequent animations.

You can familiarize yourself with the demo version here - DEMO

Versions

Angularng-gx-split-text
>=8.0.0 <9.0.0v0.0.x

Features

  • Split into chars
  • Split into words
  • Split into line-chars
  • Split into line-words
  • Defer init

Getting started

Step 1: Install ng-gx-split-text (npm):

npm install ng-gx-split-text

Step 2: Import NgGxSplitTextModule:

import { NgGxSplitTextModule } from 'ng-gx-split-text';

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    NgGxSplitTextModule,
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

Step 3: Add directive to HTML node you want to split and template ID to reference this Directive in Component (example: #text):

<p #text ngGxSplitText>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus amet consequuntur culpa
  delectus, doloribus exercitationem ipsam, laudantium molestiae non numquam odit omnis optio praesentium quae ratione
  similique sit soluta voluptatem?</p>

Step 4: Add @ViewChild to access node words, lines and chars by previously assigned ID:

  @ViewChild('text', { static: true, read: NgGxSplitTextDirective }) text: NgGxSplitTextDirective;

Step 5: Work with split text using @ViewChild (Example for GSAP):

export class AppComponent implements AfterViewInit {
  
  @ViewChild('text', {static: true, read: NgGxSplitTextDirective}) text: NgGxSplitTextDirective;
  
  tlText = new TimelineMax();
  
  constructor() {}
  
 ngAfterViewInit(): void {
    this.textAnimation();
  }

  textAnimation() {
    this.tlText
      .to(this.text.words, 0.5, {
        opacity: 0,
      })
      .staggerFromTo(this.text.words, 0.5, {
        opacity: 0,
        x: () => {
          return _.random(-100, 100);
        },
        y: () => {
          return _.random(-100, 100);
        },
        rotation: () => {
          return _.random(-25, 25);
        },
        immediateRender: false,
      }, {
        opacity: 1,
        x: 0,
        y: 0,
        rotation: 0,
      }, 0.03);
  }
}

#DEMO

API

Directives

NameDescription
NgGxSplitTextSplit your text (all options is default)
[splitOptions]Split your text (custom options)

Options

NameTypeDefaultDescription
deferbooleanfalseDefer initiation (for manual initiation use initSplit())
maskbooleanfalseAdd mask/wrap (overflow: hidden) for words
onlyWordsbooleanfalseSplit only words without chars
Example:
<p #text ngGxSplitText>Lorem ipsum dolor...</p> // Default options
<p #text ngGxSplitText [splitOptions]="{defer: true, ...}">Lorem ipsum dolor...</p> // Custom options

Properties

NameTypeDescription
isInitbooleanIs Split Text applied
nativeElementHTMLElementContainer HTMLElement
wordsHTMLElement[]Words HTMLElement array
charsHTMLElement[]Chars HTMLElement array
line-wordsHTMLElement[][]Line array with words HTMLElement array
line-charsHTMLElement[][]Line array with chars HTMLElement array
Example:
this.text.isInit // console.log(true);
this.text.srcText // console.log(Lorem ipsum dolor...);

Methods

NameDescription
initSplit()Initialize Split Text (For using in case defer: true)
resetSplit()Reset to source text
Example:
ngAfterViewInit(): void {
    // if Split Text already initialized (defer: false)
    this.text.initSplit(); // Return WARNING! Text already initialized
    
    // if Split Text not initialized (defer: true)
    this.text.initSplit(); // It's OK!
  }

Keywords

FAQs

Package last updated on 12 Oct 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc