@taiga-ui/addon-mobile 3.24.0-dev.main-87822ea → 3.24.0-dev.main-ec053ae
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js.map +1 -1
- package/esm2015/directives/ripple/ripple.providers.js +3 -9
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js +2 -8
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/package.json +1 -1
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
var y = clientY - top - radius;
|
|
56
56
|
var ripple = renderer.createElement("div");
|
|
57
57
|
renderer.addClass(ripple, "tui-ripple");
|
|
58
|
-
renderer.setAttribute(ripple, "style", "
|
|
58
|
+
renderer.setAttribute(ripple, "style", "width: " + i1.tuiPx(dimension) + "; height: " + i1.tuiPx(dimension) + "; left: " + i1.tuiPx(x) + "; top: " + i1.tuiPx(y) + "; animation-name: " + RIPPLE_ON + ";");
|
|
59
59
|
return ripple;
|
|
60
60
|
}));
|
|
61
61
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.umd.js","sources":["../../../projects/addon-mobile/directives/ripple/ripple.providers.ts","../../../projects/addon-mobile/directives/ripple/ripple-styles.component.ts","../../../projects/addon-mobile/directives/ripple/ripple.directive.ts","../../../projects/addon-mobile/directives/ripple/ripple.module.ts","../../../projects/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = `tuiRippleOn`;\nexport const RIPPLE_OFF = `tuiRippleOff`;\n\n/**\n * Stream of ripple elements to add\n */\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_START]`,\n);\n\n/**\n * Stream of ripple elements to remove\n */\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_END]`,\n);\n\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n ): Observable<HTMLElement> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `touchstart`).pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement(`div`);\n\n renderer.addClass(ripple, `tui-ripple`);\n renderer.setAttribute(\n ripple,\n `style`,\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n },\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n ): Observable<EventTarget> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `animationend`).pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(tuiIsPresent),\n takeUntil(destroy$),\n );\n },\n },\n];\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'tui-ripple',\n template: '',\n styleUrls: ['./ripple.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiRippleStylesComponent {}\n","import {Directive, ElementRef, Inject, Input, Renderer2, Self} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n TuiDestroyService,\n TuiDirectiveStylesService,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, mergeMap, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\nconst TOUCH_MOVE_DELAY = 100;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string | '';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addComponent(TuiRippleStylesComponent);\n\n const touchEnd$ = tuiTypedFromEvent(nativeElement, 'touchend');\n const touchMove$ = tuiTypedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = tuiTypedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(map(ALWAYS_FALSE_HANDLER)),\n touchEnd$.pipe(map(ALWAYS_TRUE_HANDLER)),\n ).pipe(\n take(1),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race(\n touchEnd$.pipe(switchMap(() => animationEndOn$)),\n animationEndOn$.pipe(switchMap(() => touchEnd$)),\n ),\n ),\n map(() => ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\n@NgModule({\n declarations: [TuiRippleDirective, TuiRippleStylesComponent],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","TuiDestroyService","TUI_TOUCH_SUPPORTED","TUI_IS_IOS","ElementRef","Renderer2","EMPTY","tuiTypedFromEvent","map","filter","tuiIsPresent","takeUntil","i0","Component","ViewEncapsulation","ChangeDetectionStrategy","mergeMap","race","timer","ALWAYS_FALSE_HANDLER","ALWAYS_TRUE_HANDLER","take","tap","switchMap","TuiDirectiveStylesService","Directive","Inject","Self","Input","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.umd.js","sources":["../../../projects/addon-mobile/directives/ripple/ripple.providers.ts","../../../projects/addon-mobile/directives/ripple/ripple-styles.component.ts","../../../projects/addon-mobile/directives/ripple/ripple.directive.ts","../../../projects/addon-mobile/directives/ripple/ripple.module.ts","../../../projects/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n tuiIsPresent,\n tuiPx,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = `tuiRippleOn`;\nexport const RIPPLE_OFF = `tuiRippleOff`;\n\n/**\n * Stream of ripple elements to add\n */\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_START]`,\n);\n\n/**\n * Stream of ripple elements to remove\n */\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_END]`,\n);\n\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n ): Observable<HTMLElement> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `touchstart`).pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement(`div`);\n\n renderer.addClass(ripple, `tui-ripple`);\n renderer.setAttribute(\n ripple,\n `style`,\n `width: ${tuiPx(dimension)}; height: ${tuiPx(\n dimension,\n )}; left: ${tuiPx(x)}; top: ${tuiPx(\n y,\n )}; animation-name: ${RIPPLE_ON};`,\n );\n\n return ripple;\n }),\n );\n },\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n ): Observable<EventTarget> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `animationend`).pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(tuiIsPresent),\n takeUntil(destroy$),\n );\n },\n },\n];\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'tui-ripple',\n template: '',\n styleUrls: ['./ripple.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiRippleStylesComponent {}\n","import {Directive, ElementRef, Inject, Input, Renderer2, Self} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n TuiDestroyService,\n TuiDirectiveStylesService,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, mergeMap, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\nconst TOUCH_MOVE_DELAY = 100;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string | '';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addComponent(TuiRippleStylesComponent);\n\n const touchEnd$ = tuiTypedFromEvent(nativeElement, 'touchend');\n const touchMove$ = tuiTypedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = tuiTypedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(map(ALWAYS_FALSE_HANDLER)),\n touchEnd$.pipe(map(ALWAYS_TRUE_HANDLER)),\n ).pipe(\n take(1),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race(\n touchEnd$.pipe(switchMap(() => animationEndOn$)),\n animationEndOn$.pipe(switchMap(() => touchEnd$)),\n ),\n ),\n map(() => ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\n@NgModule({\n declarations: [TuiRippleDirective, TuiRippleStylesComponent],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","TuiDestroyService","TUI_TOUCH_SUPPORTED","TUI_IS_IOS","ElementRef","Renderer2","EMPTY","tuiTypedFromEvent","map","tuiPx","filter","tuiIsPresent","takeUntil","i0","Component","ViewEncapsulation","ChangeDetectionStrategy","mergeMap","race","timer","ALWAYS_FALSE_HANDLER","ALWAYS_TRUE_HANDLER","take","tap","switchMap","TuiDirectiveStylesService","Directive","Inject","Self","Input","NgModule"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementRef, InjectionToken, Renderer2 } from '@angular/core';
|
|
2
|
-
import { TUI_IS_IOS, TUI_TOUCH_SUPPORTED, TuiDestroyService, tuiIsPresent, tuiTypedFromEvent, } from '@taiga-ui/cdk';
|
|
2
|
+
import { TUI_IS_IOS, TUI_TOUCH_SUPPORTED, TuiDestroyService, tuiIsPresent, tuiPx, tuiTypedFromEvent, } from '@taiga-ui/cdk';
|
|
3
3
|
import { EMPTY } from 'rxjs';
|
|
4
4
|
import { filter, map, takeUntil } from 'rxjs/operators';
|
|
5
5
|
export const RIPPLE_ON = `tuiRippleOn`;
|
|
@@ -29,13 +29,7 @@ export const TUI_RIPPLE_PROVIDERS = [
|
|
|
29
29
|
const y = clientY - top - radius;
|
|
30
30
|
const ripple = renderer.createElement(`div`);
|
|
31
31
|
renderer.addClass(ripple, `tui-ripple`);
|
|
32
|
-
renderer.setAttribute(ripple, `style`, `
|
|
33
|
-
width: ${dimension}px;
|
|
34
|
-
height: ${dimension}px;
|
|
35
|
-
left: ${x}px;
|
|
36
|
-
top: ${y}px;
|
|
37
|
-
animation-name: ${RIPPLE_ON};
|
|
38
|
-
`);
|
|
32
|
+
renderer.setAttribute(ripple, `style`, `width: ${tuiPx(dimension)}; height: ${tuiPx(dimension)}; left: ${tuiPx(x)}; top: ${tuiPx(y)}; animation-name: ${RIPPLE_ON};`);
|
|
39
33
|
return ripple;
|
|
40
34
|
}));
|
|
41
35
|
},
|
|
@@ -50,4 +44,4 @@ export const TUI_RIPPLE_PROVIDERS = [
|
|
|
50
44
|
},
|
|
51
45
|
},
|
|
52
46
|
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsb0JBQW9CLENBQ3ZCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FDNUMsa0JBQWtCLENBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBZTtJQUM1QyxpQkFBaUI7SUFDakI7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO1FBQzlELFVBQVUsRUFBRSxDQUNSLGNBQXVCLEVBQ3ZCLEtBQWMsRUFDZCxFQUFDLGFBQWEsRUFBMEIsRUFDeEMsUUFBbUIsRUFDSSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxJQUFJLENBQUMsY0FBYztnQkFDM0IsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRTtvQkFDZCxNQUFNLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN2RCxNQUFNLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLEdBQzVCLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO29CQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO29CQUMxRCxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUM3QixNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztvQkFDbEMsTUFBTSxDQUFDLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7b0JBQ2pDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRTdDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUN4QyxRQUFRLENBQUMsWUFBWSxDQUNqQixNQUFNLEVBQ04sT0FBTyxFQUNQLFVBQVUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEtBQUssQ0FDeEMsU0FBUyxDQUNaLFdBQVcsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssQ0FDL0IsQ0FBQyxDQUNKLHFCQUFxQixTQUFTLEdBQUcsQ0FDckMsQ0FBQztvQkFFRixPQUFPLE1BQU0sQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNaLENBQUM7S0FDSjtJQUNEO1FBQ0ksT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztRQUN0RSxVQUFVLEVBQUUsQ0FDUixjQUF1QixFQUN2QixLQUFjLEVBQ2QsRUFBQyxhQUFhLEVBQTBCLEVBQ3hDLFFBQTBCLEVBQ0gsRUFBRTtZQUN6QixPQUFPLEtBQUssSUFBSSxDQUFDLGNBQWM7Z0JBQzNCLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNqRCxNQUFNLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLEVBQ3pELEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUN6QixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQ3BCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztRQUNaLENBQUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVFVJX0lTX0lPUyxcbiAgICBUVUlfVE9VQ0hfU1VQUE9SVEVELFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUlzUHJlc2VudCxcbiAgICB0dWlQeCxcbiAgICB0dWlUeXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgUklQUExFX09OID0gYHR1aVJpcHBsZU9uYDtcbmV4cG9ydCBjb25zdCBSSVBQTEVfT0ZGID0gYHR1aVJpcHBsZU9mZmA7XG5cbi8qKlxuICogU3RyZWFtIG9mIHJpcHBsZSBlbGVtZW50cyB0byBhZGRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9SSVBQTEVfU1RBUlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgIGBbVFVJX1JJUFBMRV9TVEFSVF1gLFxuKTtcblxuLyoqXG4gKiBTdHJlYW0gb2YgcmlwcGxlIGVsZW1lbnRzIHRvIHJlbW92ZVxuICovXG5leHBvcnQgY29uc3QgVFVJX1JJUFBMRV9FTkQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxIVE1MRWxlbWVudD4+KFxuICAgIGBbVFVJX1JJUFBMRV9FTkRdYCxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfUklQUExFX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9SSVBQTEVfU1RBUlQsXG4gICAgICAgIGRlcHM6IFtUVUlfVE9VQ0hfU1VQUE9SVEVELCBUVUlfSVNfSU9TLCBFbGVtZW50UmVmLCBSZW5kZXJlcjJdLFxuICAgICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgICAgICB0b3VjaFN1cHBvcnRlZDogYm9vbGVhbixcbiAgICAgICAgICAgIGlzSU9TOiBib29sZWFuLFxuICAgICAgICAgICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICk6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQ+ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpc0lPUyB8fCAhdG91Y2hTdXBwb3J0ZWRcbiAgICAgICAgICAgICAgICA/IEVNUFRZXG4gICAgICAgICAgICAgICAgOiB0dWlUeXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCBgdG91Y2hzdGFydGApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qge2NsaWVudFgsIGNsaWVudFl9ID0gdG91Y2hlc1t0b3VjaGVzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7d2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0fSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLnNxcnQod2lkdGggKiB3aWR0aCArIGhlaWdodCAqIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHJhZGl1cyAqIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHggPSBjbGllbnRYIC0gbGVmdCAtIHJhZGl1cztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGNsaWVudFkgLSB0b3AgLSByYWRpdXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJpcHBsZSA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoYGRpdmApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKHJpcHBsZSwgYHR1aS1yaXBwbGVgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlwcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHN0eWxlYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB3aWR0aDogJHt0dWlQeChkaW1lbnNpb24pfTsgaGVpZ2h0OiAke3R1aVB4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpbWVuc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OyBsZWZ0OiAke3R1aVB4KHgpfTsgdG9wOiAke3R1aVB4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTsgYW5pbWF0aW9uLW5hbWU6ICR7UklQUExFX09OfTtgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByaXBwbGU7XG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfUklQUExFX0VORCxcbiAgICAgICAgZGVwczogW1RVSV9UT1VDSF9TVVBQT1JURUQsIFRVSV9JU19JT1MsIEVsZW1lbnRSZWYsIFR1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICAgICAgdG91Y2hTdXBwb3J0ZWQ6IGJvb2xlYW4sXG4gICAgICAgICAgICBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgICAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgKTogT2JzZXJ2YWJsZTxFdmVudFRhcmdldD4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGlzSU9TIHx8ICF0b3VjaFN1cHBvcnRlZFxuICAgICAgICAgICAgICAgID8gRU1QVFlcbiAgICAgICAgICAgICAgICA6IHR1aVR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIGBhbmltYXRpb25lbmRgKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoe2FuaW1hdGlvbk5hbWV9KSA9PiBhbmltYXRpb25OYW1lID09PSBSSVBQTEVfT0ZGKSxcbiAgICAgICAgICAgICAgICAgICAgICBtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpLFxuICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgIH0sXG5dO1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, ElementRef, Renderer2, Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, Inject, Self, Input, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@taiga-ui/cdk';
|
|
4
|
-
import { TuiDestroyService, TUI_TOUCH_SUPPORTED, TUI_IS_IOS, tuiTypedFromEvent, tuiIsPresent, ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, TuiDirectiveStylesService } from '@taiga-ui/cdk';
|
|
4
|
+
import { TuiDestroyService, TUI_TOUCH_SUPPORTED, TUI_IS_IOS, tuiTypedFromEvent, tuiPx, tuiIsPresent, ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, TuiDirectiveStylesService } from '@taiga-ui/cdk';
|
|
5
5
|
import * as i2 from 'rxjs';
|
|
6
6
|
import { EMPTY, race, timer } from 'rxjs';
|
|
7
7
|
import { map, filter, takeUntil, mergeMap, take, tap, switchMap } from 'rxjs/operators';
|
|
@@ -33,13 +33,7 @@ const TUI_RIPPLE_PROVIDERS = [
|
|
|
33
33
|
const y = clientY - top - radius;
|
|
34
34
|
const ripple = renderer.createElement(`div`);
|
|
35
35
|
renderer.addClass(ripple, `tui-ripple`);
|
|
36
|
-
renderer.setAttribute(ripple, `style`, `
|
|
37
|
-
width: ${dimension}px;
|
|
38
|
-
height: ${dimension}px;
|
|
39
|
-
left: ${x}px;
|
|
40
|
-
top: ${y}px;
|
|
41
|
-
animation-name: ${RIPPLE_ON};
|
|
42
|
-
`);
|
|
36
|
+
renderer.setAttribute(ripple, `style`, `width: ${tuiPx(dimension)}; height: ${tuiPx(dimension)}; left: ${tuiPx(x)}; top: ${tuiPx(y)}; animation-name: ${RIPPLE_ON};`);
|
|
43
37
|
return ripple;
|
|
44
38
|
}));
|
|
45
39
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["../../../projects/addon-mobile/directives/ripple/ripple.providers.ts","../../../projects/addon-mobile/directives/ripple/ripple-styles.component.ts","../../../projects/addon-mobile/directives/ripple/ripple.directive.ts","../../../projects/addon-mobile/directives/ripple/ripple.module.ts","../../../projects/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = `tuiRippleOn`;\nexport const RIPPLE_OFF = `tuiRippleOff`;\n\n/**\n * Stream of ripple elements to add\n */\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_START]`,\n);\n\n/**\n * Stream of ripple elements to remove\n */\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_END]`,\n);\n\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n ): Observable<HTMLElement> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `touchstart`).pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement(`div`);\n\n renderer.addClass(ripple, `tui-ripple`);\n renderer.setAttribute(\n ripple,\n `style`,\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n },\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n ): Observable<EventTarget> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `animationend`).pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(tuiIsPresent),\n takeUntil(destroy$),\n );\n },\n },\n];\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'tui-ripple',\n template: '',\n styleUrls: ['./ripple.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiRippleStylesComponent {}\n","import {Directive, ElementRef, Inject, Input, Renderer2, Self} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n TuiDestroyService,\n TuiDirectiveStylesService,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, mergeMap, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\nconst TOUCH_MOVE_DELAY = 100;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string | '';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addComponent(TuiRippleStylesComponent);\n\n const touchEnd$ = tuiTypedFromEvent(nativeElement, 'touchend');\n const touchMove$ = tuiTypedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = tuiTypedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(map(ALWAYS_FALSE_HANDLER)),\n touchEnd$.pipe(map(ALWAYS_TRUE_HANDLER)),\n ).pipe(\n take(1),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race(\n touchEnd$.pipe(switchMap(() => animationEndOn$)),\n animationEndOn$.pipe(switchMap(() => touchEnd$)),\n ),\n ),\n map(() => ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\n@NgModule({\n declarations: [TuiRippleDirective, TuiRippleStylesComponent],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAWO,MAAM,SAAS,GAAG,cAAc;AAChC,MAAM,UAAU,GAAG,eAAe;AAEzC;;AAEG;MACU,gBAAgB,GAAG,IAAI,cAAc,CAC9C,CAAoB,kBAAA,CAAA,EACtB;AAEF;;AAEG;MACU,cAAc,GAAG,IAAI,cAAc,CAC5C,CAAkB,gBAAA,CAAA,EACpB;AAEW,MAAA,oBAAoB,GAAe;IAC5C,iBAAiB;AACjB,IAAA;AACI,QAAA,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;AAC9D,QAAA,UAAU,EAAE,CACR,cAAuB,EACvB,KAAc,EACd,EAAC,aAAa,EAA0B,EACxC,QAAmB,KACM;YACzB,OAAO,KAAK,IAAI,CAAC,cAAc;AAC3B,kBAAE,KAAK;AACP,kBAAE,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAC/C,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAI;AACd,oBAAA,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvD,oBAAA,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAC,GAC5B,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAC1C,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAC1D,oBAAA,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;AAC7B,oBAAA,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAClC,oBAAA,MAAM,CAAC,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC;oBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA,GAAA,CAAK,CAAC,CAAC;AAE7C,oBAAA,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA,UAAA,CAAY,CAAC,CAAC;AACxC,oBAAA,QAAQ,CAAC,YAAY,CACjB,MAAM,EACN,OAAO,EACP,CAAA;iCACG,SAAS,CAAA;kCACR,SAAS,CAAA;gCACX,CAAC,CAAA;+BACF,CAAC,CAAA;0CACU,SAAS,CAAA;AAC9B,oBAAA,CAAA,CACM,CAAC;AAEF,oBAAA,OAAO,MAAM,CAAC;iBACjB,CAAC,CACL,CAAC;SACX;AACJ,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;AACtE,QAAA,UAAU,EAAE,CACR,cAAuB,EACvB,KAAc,EACd,EAAC,aAAa,EAA0B,EACxC,QAA0B,KACD;YACzB,OAAO,KAAK,IAAI,CAAC,cAAc;AAC3B,kBAAE,KAAK;kBACL,iBAAiB,CAAC,aAAa,EAAE,CAAc,YAAA,CAAA,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,EAAC,aAAa,EAAC,KAAK,aAAa,KAAK,UAAU,CAAC,EACzD,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,MAAM,CAAC,EACzB,MAAM,CAAC,YAAY,CAAC,EACpB,SAAS,CAAC,QAAQ,CAAC,CACtB,CAAC;SACX;AACJ,KAAA;;;MC/EQ,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,kDALvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+YAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAKH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,CAAC,qBAAqB,CAAC;oBAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;;ACWD,MAAM,gBAAgB,GAAG,GAAG,CAAC;MAMhB,kBAAkB,CAAA;AAI3B,IAAA,WAAA,CACwB,EAAC,aAAa,EAA0B,EACzB,eAA0C,EAC1D,QAAmB,EACH,QAA2B,EACpC,MAA+B,EACjC,IAA6B,EAAA;AAErD,QAAA,eAAe,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAEjE,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,IAAG;AACrB,YAAA,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;QACH,MAAM;AACD,aAAA,IAAI,CACD,QAAQ,CAAC,MAAM,IAAG;YACd,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAElE,YAAA,OAAO,IAAI,CACP,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,EACvD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAC3C,CAAC,IAAI,CACF,IAAI,CAAC,CAAC,CAAC;;AAEP,YAAA,SAAS,CAAC,UAAU,CAAC,EACrB,GAAG,CAAC,MAAK;AACL,gBAAA,QAAQ,CAAC,QAAQ,CACb,MAAM,EACN,YAAY,EACZ,IAAI,CAAC,SAAS,IAAI,IAAI,CACzB,CAAC;AACF,gBAAA,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;aAC/C,CAAC,EACF,SAAS,CAAC,KAAK,IACX,KAAK;AACD,kBAAE,eAAe;AACjB,kBAAE,IAAI,CACA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,eAAe,CAAC,CAAC,EAChD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC,CACnD,CACV,EACD,GAAG,CAAC,MAAM,MAAM,CAAC,CACpB,CAAC;AACN,SAAC,CAAC,EACF,SAAS,CAAC,QAAQ,CAAC,CACtB;aACA,SAAS,CAAC,OAAO,IAAG;YACjB,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;KACV;;gHAxDQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAKf,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,yBAAyB,EAAA,EAAA,EAAA,KAAA,EACzB,SAAS,EAAA,EAAA,EAAA,KAAA,EACD,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACzB,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,cAAc,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAVjB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,0EAFhB,oBAAoB,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEtB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE,oBAAoB;AAClC,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,yBAAyB,CAAA;;0BAChC,MAAM;2BAAC,SAAS,CAAA;;0BAChB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,cAAc,CAAA;4CAR1B,SAAS,EAAA,CAAA;sBADR,KAAK;;;MCjBG,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHT,YAAA,EAAA,CAAA,kBAAkB,EAAE,wBAAwB,aACjD,kBAAkB,CAAA,EAAA,CAAA,CAAA;8GAEnB,eAAe,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;oBAC5D,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["../../../projects/addon-mobile/directives/ripple/ripple.providers.ts","../../../projects/addon-mobile/directives/ripple/ripple-styles.component.ts","../../../projects/addon-mobile/directives/ripple/ripple.directive.ts","../../../projects/addon-mobile/directives/ripple/ripple.module.ts","../../../projects/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n tuiIsPresent,\n tuiPx,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = `tuiRippleOn`;\nexport const RIPPLE_OFF = `tuiRippleOff`;\n\n/**\n * Stream of ripple elements to add\n */\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_START]`,\n);\n\n/**\n * Stream of ripple elements to remove\n */\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_END]`,\n);\n\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n ): Observable<HTMLElement> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `touchstart`).pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement(`div`);\n\n renderer.addClass(ripple, `tui-ripple`);\n renderer.setAttribute(\n ripple,\n `style`,\n `width: ${tuiPx(dimension)}; height: ${tuiPx(\n dimension,\n )}; left: ${tuiPx(x)}; top: ${tuiPx(\n y,\n )}; animation-name: ${RIPPLE_ON};`,\n );\n\n return ripple;\n }),\n );\n },\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n ): Observable<EventTarget> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `animationend`).pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(tuiIsPresent),\n takeUntil(destroy$),\n );\n },\n },\n];\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'tui-ripple',\n template: '',\n styleUrls: ['./ripple.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiRippleStylesComponent {}\n","import {Directive, ElementRef, Inject, Input, Renderer2, Self} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n TuiDestroyService,\n TuiDirectiveStylesService,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, mergeMap, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\nconst TOUCH_MOVE_DELAY = 100;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string | '';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addComponent(TuiRippleStylesComponent);\n\n const touchEnd$ = tuiTypedFromEvent(nativeElement, 'touchend');\n const touchMove$ = tuiTypedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = tuiTypedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(map(ALWAYS_FALSE_HANDLER)),\n touchEnd$.pipe(map(ALWAYS_TRUE_HANDLER)),\n ).pipe(\n take(1),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race(\n touchEnd$.pipe(switchMap(() => animationEndOn$)),\n animationEndOn$.pipe(switchMap(() => touchEnd$)),\n ),\n ),\n map(() => ripple),\n );\n }),\n takeUntil(destroy$),\n )\n .subscribe(element => {\n renderer.setStyle(element, 'animationName', RIPPLE_OFF);\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRippleDirective} from './ripple.directive';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\n@NgModule({\n declarations: [TuiRippleDirective, TuiRippleStylesComponent],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-mobile",
|
|
3
|
-
"version": "3.24.0-dev.main-
|
|
3
|
+
"version": "3.24.0-dev.main-ec053ae",
|
|
4
4
|
"description": "Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|