diff --git a/projects/demo/src/pages/documentation/plugins/examples/reject/animation.less b/projects/demo/src/pages/documentation/plugins/examples/reject/animation.less new file mode 100644 index 000000000..4cd8ddc5f --- /dev/null +++ b/projects/demo/src/pages/documentation/plugins/examples/reject/animation.less @@ -0,0 +1,21 @@ +@red: rgba(244, 87, 37, 1); + +@keyframes reject-0 { + from { + box-shadow: 0 0 @red; + } + + to { + box-shadow: 0 0 1rem fade(@red, 12%); + } +} + +@keyframes reject-1 { + from { + box-shadow: 0 0 @red; + } + + to { + box-shadow: 0 0 1rem fade(@red, 12%); + } +} diff --git a/projects/demo/src/pages/documentation/plugins/examples/reject/component.less b/projects/demo/src/pages/documentation/plugins/examples/reject/component.less deleted file mode 100644 index bd8cd3ce9..000000000 --- a/projects/demo/src/pages/documentation/plugins/examples/reject/component.less +++ /dev/null @@ -1,24 +0,0 @@ -@keyframes reject-0 { - from { - box-shadow: 0 0 var(--tui-error-fill); - } - - to { - box-shadow: 0 0 1rem var(--tui-error-bg); - } -} - -@keyframes reject-1 { - from { - box-shadow: 0 0 var(--tui-error-fill); - } - - to { - box-shadow: 0 0 1rem var(--tui-error-bg); - } -} - -.input { - max-width: 20rem; - animation: 0.3s 1; -} diff --git a/projects/demo/src/pages/documentation/plugins/examples/reject/component.ts b/projects/demo/src/pages/documentation/plugins/examples/reject/component.ts index d5f171372..210e0ebda 100644 --- a/projects/demo/src/pages/documentation/plugins/examples/reject/component.ts +++ b/projects/demo/src/pages/documentation/plugins/examples/reject/component.ts @@ -1,4 +1,4 @@ -import {ChangeDetectionStrategy, Component} from '@angular/core'; +import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core'; import {maskitoRejectEvent} from '@maskito/kit'; import mask from './mask'; @@ -7,8 +7,10 @@ import mask from './mask'; selector: 'plugins-reject-doc-example-1', template: ` @@ -19,7 +21,8 @@ import mask from './mask'; /> `, - styleUrls: ['./component.less'], + styleUrls: ['./animation.less'], + encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, }) export class PluginsDocExample1 { diff --git a/projects/demo/src/pages/documentation/plugins/examples/reject/index.ts b/projects/demo/src/pages/documentation/plugins/examples/reject/index.ts new file mode 100644 index 000000000..d7bb6d60f --- /dev/null +++ b/projects/demo/src/pages/documentation/plugins/examples/reject/index.ts @@ -0,0 +1,20 @@ +import './animation.less'; + +import {Maskito} from '@maskito/core'; + +import maskitoOptions from './mask'; + +const element = document.querySelector('input')!; +const maskedInput = new Maskito(element, maskitoOptions); + +let reject = -1; + +element.style.animation = '0.3s 1'; + +element.addEventListener('maskitoReject', () => { + reject += 1; + element.style.animationName = `reject-${reject % 2}`; +}); + +// Call this function when the element is detached from DOM +maskedInput.destroy(); diff --git a/projects/demo/src/pages/documentation/plugins/plugins.component.ts b/projects/demo/src/pages/documentation/plugins/plugins.component.ts index 5a32c0a96..61b9e929d 100644 --- a/projects/demo/src/pages/documentation/plugins/plugins.component.ts +++ b/projects/demo/src/pages/documentation/plugins/plugins.component.ts @@ -10,5 +10,7 @@ import {TuiDocExample} from '@taiga-ui/addon-doc'; export class PluginsDocPageComponent { readonly rejectExample: TuiDocExample = { [DocExamplePrimaryTab.MaskitoOptions]: import('./examples/reject/mask.ts?raw'), + 'index.less': import('./examples/reject/animation.less?raw'), + 'index.ts': import('./examples/reject/index.ts?raw'), }; }