@tinkoff/ng-polymorpheus
TypeScript icon, indicating that this package has built-in type declarations

4.3.0 • Public • Published

Polymorpheus

npm version Build Status Coverage Status angular-open-source-starter

Polymorpheus is a tiny library for polymorphic templates in Angular.

It is 1 KB gzip, dependency free and allows you to make pretty cool things.

What does it do?

It abstracts over different ways of view customization in Angular with one simple structural directive:

<ng-container *polymorpheusOutlet="content as text; context: context">{{text}}</ng-container>

Content accepts:

  • primitives like number or string
  • functions that take context as argument and return a primitive
  • templates that get instantiated with given context
  • components that would get context injected through DI

Context is optional when you need your content to adapt to the situation

How to use it?

Typical use case would be a component that accepts visual customization and defines context by itself. Say a menu list where you can configure how each item should look like by passing a template. And context would be item itself and, for example, whether it is focused or not.

Please see extensive demo.

You can also read about this concept in detail.

/@tinkoff/ng-polymorpheus/

    Package Sidebar

    Install

    npm i @tinkoff/ng-polymorpheus

    Weekly Downloads

    6,172

    Version

    4.3.0

    License

    Apache-2.0

    Unpacked Size

    153 kB

    Total Files

    29

    Last publish

    Collaborators

    • yeahga
    • sradyukov
    • hondasmx
    • makar_l
    • tinkoffbank
    • dmitry-korolev
    • rouland
    • ishivan
    • ytsareva
    • shoom3301
    • waterplea
    • meskill
    • marsibarsi
    • zig-green
    • super_oleg
    • dersizes
    • alexkvak