@taiga-ui/addon-mobile 2.22.0 → 2.26.0
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/README.md +9 -4
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js +2 -2
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js +2 -2
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js +76 -76
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js +7 -7
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components.umd.js +10 -10
- package/bundles/taiga-ui-addon-mobile-components.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js +2 -2
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.js +2 -2
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.min.js.map +1 -1
- package/components/index.d.ts +1 -1
- package/components/mobile-calendar/index.d.ts +1 -1
- package/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.metadata.json +1 -1
- package/components/mobile-calendar-dialog/taiga-ui-addon-mobile-components-mobile-calendar-dialog.metadata.json +1 -1
- package/components/mobile-dialog/mobile-dialog.service.d.ts +1 -1
- package/components/mobile-dialog/taiga-ui-addon-mobile-components-mobile-dialog.metadata.json +1 -1
- package/components/pull-to-refresh/index.d.ts +2 -2
- package/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.metadata.json +1 -1
- package/components/sheet/index.d.ts +3 -3
- package/components/sheet/sheet.directive.d.ts +1 -1
- package/components/sheet/taiga-ui-addon-mobile-components-sheet.metadata.json +1 -1
- package/components/taiga-ui-addon-mobile-components.metadata.json +1 -1
- package/components/theme-android/taiga-ui-addon-mobile-components-theme-android.metadata.json +1 -1
- package/components/theme-ios/taiga-ui-addon-mobile-components-theme-ios.metadata.json +1 -1
- package/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.metadata.json +1 -1
- package/directives/ripple/taiga-ui-addon-mobile-directives-ripple.metadata.json +1 -1
- package/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.metadata.json +1 -1
- package/directives/touchable/taiga-ui-addon-mobile-directives-touchable.metadata.json +1 -1
- package/esm2015/components/index.js +2 -2
- package/esm2015/components/mobile-calendar/index.js +2 -2
- package/esm2015/components/mobile-calendar/mobile-calendar.component.js +3 -3
- package/esm2015/components/mobile-calendar/mobile-calendar.module.js +2 -3
- package/esm2015/components/mobile-calendar/mobile-calendar.providers.js +1 -1
- package/esm2015/components/mobile-calendar/mobile-calendar.strategy.js +1 -1
- package/esm2015/components/mobile-calendar-dialog/mobile-calendar-dialog.module.js +1 -1
- package/esm2015/components/mobile-dialog/mobile-dialog.component.js +2 -2
- package/esm2015/components/mobile-dialog/mobile-dialog.module.js +1 -1
- package/esm2015/components/mobile-dialog/mobile-dialog.service.js +1 -1
- package/esm2015/components/pull-to-refresh/index.js +3 -3
- package/esm2015/components/pull-to-refresh/loader-android/loader-android.component.js +1 -1
- package/esm2015/components/pull-to-refresh/pull-to-refresh.component.js +1 -1
- package/esm2015/components/pull-to-refresh/pull-to-refresh.module.js +1 -1
- package/esm2015/components/sheet/components/sheet/sheet.component.js +3 -3
- package/esm2015/components/sheet/components/sheet/sheet.providers.js +1 -1
- package/esm2015/components/sheet/components/sheet-bar/sheet-bar.component.js +3 -3
- package/esm2015/components/sheet/components/sheet-heading/sheet-heading.component.js +1 -1
- package/esm2015/components/sheet/components/sheets-host/sheets-host.component.js +3 -3
- package/esm2015/components/sheet/directives/sheet-close/sheet-close.directive.js +2 -2
- package/esm2015/components/sheet/directives/sheet-stop/sheet-stop.directive.js +1 -1
- package/esm2015/components/sheet/directives/sheet-top/sheet-top.directive.js +1 -1
- package/esm2015/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +1 -1
- package/esm2015/components/sheet/index.js +4 -4
- package/esm2015/components/sheet/sheet-options.js +1 -1
- package/esm2015/components/sheet/sheet.directive.js +1 -1
- package/esm2015/components/sheet/sheet.js +1 -1
- package/esm2015/components/sheet/sheet.module.js +2 -2
- package/esm2015/components/sheet/sheet.service.js +1 -1
- package/esm2015/components/theme-android/theme-android.module.js +1 -1
- package/esm2015/components/theme-ios/theme-ios.module.js +1 -1
- package/esm2015/directives/elastic-sticky/elastic-sticky.directive.js +1 -1
- package/esm2015/directives/elastic-sticky/elastic-sticky.module.js +1 -1
- package/esm2015/directives/ripple/ripple.directive.js +1 -1
- package/esm2015/directives/ripple/ripple.module.js +1 -1
- package/esm2015/directives/sidebar/sidebar.component.js +3 -3
- package/esm2015/directives/sidebar/sidebar.directive.js +1 -1
- package/esm2015/directives/sidebar/sidebar.module.js +1 -1
- package/esm2015/directives/touchable/touchable.module.js +1 -1
- package/esm2015/index.js +1 -1
- package/esm2015/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.js +3 -3
- package/esm5/components/index.js +2 -2
- package/esm5/components/mobile-calendar/index.js +2 -2
- package/esm5/components/mobile-calendar/mobile-calendar.component.js +3 -3
- package/esm5/components/mobile-calendar/mobile-calendar.module.js +2 -3
- package/esm5/components/mobile-calendar/mobile-calendar.providers.js +1 -1
- package/esm5/components/mobile-calendar/mobile-calendar.strategy.js +1 -1
- package/esm5/components/mobile-calendar-dialog/mobile-calendar-dialog.module.js +1 -1
- package/esm5/components/mobile-dialog/mobile-dialog.component.js +2 -2
- package/esm5/components/mobile-dialog/mobile-dialog.module.js +1 -1
- package/esm5/components/mobile-dialog/mobile-dialog.service.js +1 -1
- package/esm5/components/pull-to-refresh/index.js +3 -3
- package/esm5/components/pull-to-refresh/loader-android/loader-android.component.js +1 -1
- package/esm5/components/pull-to-refresh/pull-to-refresh.component.js +1 -1
- package/esm5/components/pull-to-refresh/pull-to-refresh.module.js +1 -1
- package/esm5/components/sheet/components/sheet/sheet.component.js +3 -3
- package/esm5/components/sheet/components/sheet/sheet.providers.js +1 -1
- package/esm5/components/sheet/components/sheet-bar/sheet-bar.component.js +3 -3
- package/esm5/components/sheet/components/sheet-heading/sheet-heading.component.js +1 -1
- package/esm5/components/sheet/components/sheets-host/sheets-host.component.js +3 -3
- package/esm5/components/sheet/directives/sheet-close/sheet-close.directive.js +2 -2
- package/esm5/components/sheet/directives/sheet-stop/sheet-stop.directive.js +1 -1
- package/esm5/components/sheet/directives/sheet-top/sheet-top.directive.js +1 -1
- package/esm5/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +1 -1
- package/esm5/components/sheet/index.js +4 -4
- package/esm5/components/sheet/sheet-options.js +1 -1
- package/esm5/components/sheet/sheet.directive.js +1 -1
- package/esm5/components/sheet/sheet.js +1 -1
- package/esm5/components/sheet/sheet.module.js +2 -2
- package/esm5/components/sheet/sheet.service.js +1 -1
- package/esm5/components/theme-android/theme-android.module.js +1 -1
- package/esm5/components/theme-ios/theme-ios.module.js +1 -1
- package/esm5/directives/elastic-sticky/elastic-sticky.directive.js +1 -1
- package/esm5/directives/elastic-sticky/elastic-sticky.module.js +1 -1
- package/esm5/directives/ripple/ripple.directive.js +1 -1
- package/esm5/directives/ripple/ripple.module.js +1 -1
- package/esm5/directives/sidebar/sidebar.component.js +3 -3
- package/esm5/directives/sidebar/sidebar.directive.js +1 -1
- package/esm5/directives/sidebar/sidebar.module.js +1 -1
- package/esm5/directives/touchable/touchable.module.js +1 -1
- package/esm5/index.js +1 -1
- package/esm5/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.js +3 -3
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js +65 -65
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js +7 -7
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-theme-android.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-theme-ios.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components.js +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar-dialog.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-dialog.js +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js +78 -78
- package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-sheet.js +7 -7
- package/fesm5/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-theme-android.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components-theme-ios.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-components.js +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
- package/fesm5/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js +2 -2
- package/fesm5/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js.map +1 -1
- package/index.d.ts +1 -1
- package/internal/primitive-calendar-mobile/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.metadata.json +1 -1
- package/package.json +6 -5
- package/taiga-ui-addon-mobile.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-pull-to-refresh.js","sources":["ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.providers.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-android/loader-android.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-iOS/loader-iOS.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.module.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_LOADED} from '@taiga-ui/addon-mobile/tokens';\nimport {TUI_IS_IOS, typedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {endWith, filter, map, mapTo, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const MICRO_OFFSET = 10 ** -6;\nexport const PULLED_DISTANCE = 50;\n\nexport const TUI_PULLING = new InjectionToken<Observable<number>>(\n 'Stream that emits content pulling',\n);\n\nexport const TUI_PULL_TO_REFRESH_PROVIDERS: Provider[] = [\n {\n provide: TUI_PULLING,\n deps: [TUI_IS_IOS, TUI_LOADED, ElementRef],\n useFactory: pullingFactory,\n },\n];\n\nexport function pullingFactory(\n isIOS: boolean,\n loaded$: Observable<unknown>,\n {nativeElement}: ElementRef<HTMLElement>,\n): Observable<number> {\n return merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(() => nativeElement.scrollTop === 0),\n switchMap(touchStart =>\n typedFromEvent(nativeElement, 'touchmove').pipe(\n map(\n touchMove =>\n touchMove.touches[0].clientY - touchStart.touches[0].clientY,\n ),\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n endWith(0),\n ),\n ),\n ),\n loaded$.pipe(mapTo(NaN)),\n ).pipe(\n scan((max, current) => {\n if (isNaN(current)) {\n return 0;\n }\n\n const androidLoading = !isIOS && max === PULLED_DISTANCE;\n const dropped = current === 0 && max > PULLED_DISTANCE;\n\n return androidLoading || dropped ? PULLED_DISTANCE : current + MICRO_OFFSET;\n }, 0),\n );\n}\n","import {ChangeDetectionStrategy, Component, Inject, Output} from '@angular/core';\nimport {TUI_IS_IOS, tuiPure} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo} from 'rxjs/operators';\nimport {\n MICRO_OFFSET,\n PULLED_DISTANCE,\n TUI_PULL_TO_REFRESH_PROVIDERS,\n TUI_PULLING,\n} from './pull-to-refresh.providers';\n\nconst IOS_LOADING_DISTANCE = PULLED_DISTANCE / 2;\nconst ANDROID_MAX_DISTANCE = PULLED_DISTANCE * 1.5;\n\nfunction translateY(distance: number): string {\n return `translateY(${distance}px)`;\n}\n\n@Component({\n selector: 'tui-pull-to-refresh',\n templateUrl: './pull-to-refresh.template.html',\n styleUrls: ['./pull-to-refresh.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_PULL_TO_REFRESH_PROVIDERS],\n})\nexport class TuiPullToRefreshComponent {\n @Output()\n readonly pulled: Observable<void> = this.pulling$.pipe(\n distinctUntilChanged(),\n filter(distance => distance === PULLED_DISTANCE),\n mapTo(undefined),\n );\n\n readonly pulledInPercent$: Observable<number> = this.pulling$.pipe(\n map(distance => (distance * 100) / PULLED_DISTANCE),\n );\n\n readonly dropped$: Observable<boolean> = this.pulling$.pipe(\n map(distance => distance <= MICRO_OFFSET || distance === PULLED_DISTANCE),\n distinctUntilChanged(),\n );\n\n readonly contentTransform$: Observable<string | null> = this.isIOS\n ? this.pulling$.pipe(\n map(distance =>\n distance === PULLED_DISTANCE ? IOS_LOADING_DISTANCE : distance,\n ),\n map(translateY),\n )\n : of(null);\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_PULLING) private readonly pulling$: Observable<number>,\n ) {}\n\n @tuiPure\n get loaderTransform$(): Observable<string> {\n return this.pulling$.pipe(\n map(distance => translateY(Math.min(distance, ANDROID_MAX_DISTANCE))),\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\n\nconst HIDDEN_DISTANCE = 2;\nconst ROTATE_X_DEFAULT = 180;\nconst ROTATE_X_MAX = 500;\nconst ROTATE_X_MULTIPLIER = 2.3;\n\n@Component({\n selector: 'tui-mobile-android-loader',\n templateUrl: './loader-android.template.html',\n styleUrls: ['./loader-android.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMobileLoaderAndroidComponent {\n @Input()\n pulled = 0;\n\n get transform(): string {\n const rotateX = Math.min(\n ROTATE_X_DEFAULT + this.pulled * ROTATE_X_MULTIPLIER,\n ROTATE_X_MAX,\n );\n\n return `rotate(${rotateX} 0 0)`;\n }\n\n @HostBinding('class._hidden')\n get hidden(): boolean {\n return this.pulled < HIDDEN_DISTANCE;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nconst LOADED_STEP = 8;\nconst ROTATE_X_STEP = 30;\n\n@Component({\n selector: 'tui-mobile-ios-loader',\n templateUrl: './loader-iOS.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiMobileLoaderIOSComponent {\n @Input()\n pulled = 0;\n\n readonly steps = 12;\n\n get finished(): boolean {\n return this.pulled >= 100;\n }\n\n isShown(index: number): boolean {\n return this.pulled > (index + 1) * LOADED_STEP;\n }\n\n calculateTransform(index: number): string {\n return `rotate(${index * ROTATE_X_STEP} 50 50)`;\n }\n\n calculateAnimationBegin(index: number): string {\n return `${(index * LOADED_STEP) / 100}s`;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiOverscrollModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiMobileLoaderAndroidComponent} from './loader-android/loader-android.component';\nimport {TuiMobileLoaderIOSComponent} from './loader-iOS/loader-iOS.component';\nimport {TuiPullToRefreshComponent} from './pull-to-refresh.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiOverscrollModule, TuiRepeatTimesModule],\n declarations: [\n TuiPullToRefreshComponent,\n TuiMobileLoaderAndroidComponent,\n TuiMobileLoaderIOSComponent,\n ],\n exports: [TuiPullToRefreshComponent],\n})\nexport class TuiPullToRefreshModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAMa,YAAY,GAAG,SAAA,EAAE,EAAI,CAAC,CAAC,EAAC;MACxB,eAAe,GAAG,GAAG;MAErB,WAAW,GAAG,IAAI,cAAc,CACzC,mCAAmC,EACrC;MAEW,6BAA6B,GAAe;IACrD;QACI,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;QAC1C,UAAU,EAAE,cAAc;KAC7B;EACH;SAEc,cAAc,CAC1B,KAAc,EACd,OAA4B,EAC5B,EAAC,aAAa,EAA0B;IAExC,OAAO,KAAK,CACR,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,MAAM,aAAa,CAAC,SAAS,KAAK,CAAC,CAAC,EAC3C,SAAS,CAAC,UAAU,IAChB,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3C,GAAG,CACC,SAAS,IACL,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CACnE,EACD,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,EACpD,OAAO,CAAC,CAAC,CAAC,CACb,CACJ,CACJ,EACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAC3B,CAAC,IAAI,CACF,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YAChB,OAAO,CAAC,CAAC;SACZ;QAED,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,GAAG,KAAK,eAAe,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,IAAI,GAAG,GAAG,eAAe,CAAC;QAEvD,OAAO,cAAc,IAAI,OAAO,GAAG,eAAe,GAAG,OAAO,GAAG,YAAY,CAAC;KAC/E,EAAE,CAAC,CAAC,CACR,CAAC;AACN;;AC1CA,MAAM,oBAAoB,GAAG,eAAe,GAAG,CAAC,CAAC;AACjD,MAAM,oBAAoB,GAAG,eAAe,GAAG,GAAG,CAAC;AAEnD,SAAS,UAAU,CAAC,QAAgB;IAChC,OAAO,cAAc,QAAQ,KAAK,CAAC;AACvC,CAAC;IASY,yBAAyB,GAAtC,MAAa,yBAAyB;IA0BlC,YACiC,KAAc,EACL,QAA4B;QADrC,UAAK,GAAL,KAAK,CAAS;QACL,aAAQ,GAAR,QAAQ,CAAoB;QA1B7D,WAAM,GAAqB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAClD,oBAAoB,EAAE,EACtB,MAAM,CAAC,QAAQ,IAAI,QAAQ,KAAK,eAAe,CAAC,EAChD,KAAK,CAAC,SAAS,CAAC,CACnB,CAAC;QAEO,qBAAgB,GAAuB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9D,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,eAAe,CAAC,CACtD,CAAC;QAEO,aAAQ,GAAwB,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvD,GAAG,CAAC,QAAQ,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,KAAK,eAAe,CAAC,EACzE,oBAAoB,EAAE,CACzB,CAAC;QAEO,sBAAiB,GAA8B,IAAI,CAAC,KAAK;cAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,GAAG,CAAC,QAAQ,IACR,QAAQ,KAAK,eAAe,GAAG,oBAAoB,GAAG,QAAQ,CACjE,EACD,GAAG,CAAC,UAAU,CAAC,CAClB;cACD,EAAE,CAAC,IAAI,CAAC,CAAC;KAKX;IAGJ,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrB,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CACxE,CAAC;KACL;EACJ;;0CAVQ,MAAM,SAAC,UAAU;YAC8B,UAAU,uBAAzD,MAAM,SAAC,WAAW;;AA1BvB;IADC,MAAM,EAAE;yDAKP;AA0BF;IADC,OAAO;iEAKP;AApCQ,yBAAyB;IAPrC,SAAS,CAAC;QACP,QAAQ,EAAE,qBAAqB;QAC/B,kpBAA8C;QAE9C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,6BAA6B,CAAC;;KAC7C,CAAC;IA4BO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GA5Bf,yBAAyB,CAqCrC;;AC5DD,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,mBAAmB,GAAG,GAAG,CAAC;IAQnB,+BAA+B,GAA5C,MAAa,+BAA+B;IAA5C;QAEI,WAAM,GAAG,CAAC,CAAC;KAed;IAbG,IAAI,SAAS;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACpB,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB,EACpD,YAAY,CACf,CAAC;QAEF,OAAO,UAAU,OAAO,OAAO,CAAC;KACnC;IAGD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;KACxC;EACJ;AAfG;IADC,KAAK,EAAE;+DACG;AAYX;IADC,WAAW,CAAC,eAAe,CAAC;6DAG5B;AAhBQ,+BAA+B;IAN3C,SAAS,CAAC;QACP,QAAQ,EAAE,2BAA2B;QACrC,26CAA6C;QAE7C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,+BAA+B,CAiB3C;;AC3BD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,EAAE,CAAC;IAQZ,2BAA2B,GAAxC,MAAa,2BAA2B;IAAxC;QAEI,WAAM,GAAG,CAAC,CAAC;QAEF,UAAK,GAAG,EAAE,CAAC;KAiBvB;IAfG,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;KAC7B;IAED,OAAO,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC;KAClD;IAED,kBAAkB,CAAC,KAAa;QAC5B,OAAO,UAAU,KAAK,GAAG,aAAa,SAAS,CAAC;KACnD;IAED,uBAAuB,CAAC,KAAa;QACjC,OAAO,GAAG,CAAC,KAAK,GAAG,WAAW,IAAI,GAAG,GAAG,CAAC;KAC5C;EACJ;AAnBG;IADC,KAAK,EAAE;2DACG;AAFF,2BAA2B;IANvC,SAAS,CAAC;QACP,QAAQ,EAAE,uBAAuB;QACjC,mgCAAyC;QACzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,iBAAiB,CAAC;KACjC,CAAC;GACW,2BAA2B,CAqBvC;;IChBY,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IATlC,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,CAAC;QAChF,YAAY,EAAE;YACV,yBAAyB;YACzB,+BAA+B;YAC/B,2BAA2B;SAC9B;QACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;GACW,sBAAsB,CAAG;;ACjBtC;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-pull-to-refresh.js","sources":["ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-android/loader-android.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/loader-iOS/loader-iOS.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.providers.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.component.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/pull-to-refresh.module.ts","ng://@taiga-ui/addon-mobile/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\n\nconst HIDDEN_DISTANCE = 2;\nconst ROTATE_X_DEFAULT = 180;\nconst ROTATE_X_MAX = 500;\nconst ROTATE_X_MULTIPLIER = 2.3;\n\n@Component({\n selector: 'tui-mobile-android-loader',\n templateUrl: './loader-android.template.html',\n styleUrls: ['./loader-android.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMobileLoaderAndroidComponent {\n @Input()\n pulled = 0;\n\n get transform(): string {\n const rotateX = Math.min(\n ROTATE_X_DEFAULT + this.pulled * ROTATE_X_MULTIPLIER,\n ROTATE_X_MAX,\n );\n\n return `rotate(${rotateX} 0 0)`;\n }\n\n @HostBinding('class._hidden')\n get hidden(): boolean {\n return this.pulled < HIDDEN_DISTANCE;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nconst LOADED_STEP = 8;\nconst ROTATE_X_STEP = 30;\n\n@Component({\n selector: 'tui-mobile-ios-loader',\n templateUrl: './loader-iOS.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiMobileLoaderIOSComponent {\n @Input()\n pulled = 0;\n\n readonly steps = 12;\n\n get finished(): boolean {\n return this.pulled >= 100;\n }\n\n isShown(index: number): boolean {\n return this.pulled > (index + 1) * LOADED_STEP;\n }\n\n calculateTransform(index: number): string {\n return `rotate(${index * ROTATE_X_STEP} 50 50)`;\n }\n\n calculateAnimationBegin(index: number): string {\n return `${(index * LOADED_STEP) / 100}s`;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_LOADED} from '@taiga-ui/addon-mobile/tokens';\nimport {TUI_IS_IOS, typedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {endWith, filter, map, mapTo, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const MICRO_OFFSET = 10 ** -6;\nexport const PULLED_DISTANCE = 50;\n\nexport const TUI_PULLING = new InjectionToken<Observable<number>>(\n 'Stream that emits content pulling',\n);\n\nexport const TUI_PULL_TO_REFRESH_PROVIDERS: Provider[] = [\n {\n provide: TUI_PULLING,\n deps: [TUI_IS_IOS, TUI_LOADED, ElementRef],\n useFactory: pullingFactory,\n },\n];\n\nexport function pullingFactory(\n isIOS: boolean,\n loaded$: Observable<unknown>,\n {nativeElement}: ElementRef<HTMLElement>,\n): Observable<number> {\n return merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n filter(() => nativeElement.scrollTop === 0),\n switchMap(touchStart =>\n typedFromEvent(nativeElement, 'touchmove').pipe(\n map(\n touchMove =>\n touchMove.touches[0].clientY - touchStart.touches[0].clientY,\n ),\n takeUntil(typedFromEvent(nativeElement, 'touchend')),\n endWith(0),\n ),\n ),\n ),\n loaded$.pipe(mapTo(NaN)),\n ).pipe(\n scan((max, current) => {\n if (isNaN(current)) {\n return 0;\n }\n\n const androidLoading = !isIOS && max === PULLED_DISTANCE;\n const dropped = current === 0 && max > PULLED_DISTANCE;\n\n return androidLoading || dropped ? PULLED_DISTANCE : current + MICRO_OFFSET;\n }, 0),\n );\n}\n","import {ChangeDetectionStrategy, Component, Inject, Output} from '@angular/core';\nimport {TUI_IS_IOS, tuiPure} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo} from 'rxjs/operators';\n\nimport {\n MICRO_OFFSET,\n PULLED_DISTANCE,\n TUI_PULL_TO_REFRESH_PROVIDERS,\n TUI_PULLING,\n} from './pull-to-refresh.providers';\n\nconst IOS_LOADING_DISTANCE = PULLED_DISTANCE / 2;\nconst ANDROID_MAX_DISTANCE = PULLED_DISTANCE * 1.5;\n\nfunction translateY(distance: number): string {\n return `translateY(${distance}px)`;\n}\n\n@Component({\n selector: 'tui-pull-to-refresh',\n templateUrl: './pull-to-refresh.template.html',\n styleUrls: ['./pull-to-refresh.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_PULL_TO_REFRESH_PROVIDERS],\n})\nexport class TuiPullToRefreshComponent {\n @Output()\n readonly pulled: Observable<void> = this.pulling$.pipe(\n distinctUntilChanged(),\n filter(distance => distance === PULLED_DISTANCE),\n mapTo(undefined),\n );\n\n readonly pulledInPercent$: Observable<number> = this.pulling$.pipe(\n map(distance => (distance * 100) / PULLED_DISTANCE),\n );\n\n readonly dropped$: Observable<boolean> = this.pulling$.pipe(\n map(distance => distance <= MICRO_OFFSET || distance === PULLED_DISTANCE),\n distinctUntilChanged(),\n );\n\n readonly contentTransform$: Observable<string | null> = this.isIOS\n ? this.pulling$.pipe(\n map(distance =>\n distance === PULLED_DISTANCE ? IOS_LOADING_DISTANCE : distance,\n ),\n map(translateY),\n )\n : of(null);\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_PULLING) private readonly pulling$: Observable<number>,\n ) {}\n\n @tuiPure\n get loaderTransform$(): Observable<string> {\n return this.pulling$.pipe(\n map(distance => translateY(Math.min(distance, ANDROID_MAX_DISTANCE))),\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiOverscrollModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiMobileLoaderAndroidComponent} from './loader-android/loader-android.component';\nimport {TuiMobileLoaderIOSComponent} from './loader-iOS/loader-iOS.component';\nimport {TuiPullToRefreshComponent} from './pull-to-refresh.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiOverscrollModule, TuiRepeatTimesModule],\n declarations: [\n TuiPullToRefreshComponent,\n TuiMobileLoaderAndroidComponent,\n TuiMobileLoaderIOSComponent,\n ],\n exports: [TuiPullToRefreshComponent],\n})\nexport class TuiPullToRefreshModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ TuiSheetHeadingComponent = __decorate([
|
|
|
65
65
|
selector: '[tuiSheetHeading]',
|
|
66
66
|
template: "<button\n tuiIconButton\n size=\"xs\"\n appearance=\"icon\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"onClick()\"\n></button>\n<span [id]=\"id\">\n <ng-content></ng-content>\n</span>\n",
|
|
67
67
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
68
|
-
styles: [":host{position:sticky;top:0;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;
|
|
68
|
+
styles: [":host{position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-base-01);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px rgba(255,255,255,.25)}:host:after{content:'';position:absolute;top:100%;left:0;right:0;height:1px;background:var(--tui-base-03);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:right;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}"]
|
|
69
69
|
}),
|
|
70
70
|
__param(0, Inject(TuiIdService)),
|
|
71
71
|
__param(1, Inject(ElementRef)),
|
|
@@ -185,7 +185,7 @@ __decorate([
|
|
|
185
185
|
TuiSheetComponent = __decorate([
|
|
186
186
|
Component({
|
|
187
187
|
selector: 'tui-sheet',
|
|
188
|
-
template: "<div class=\"t-bumpers\">\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div #sheet class=\"t-wrapper\" [class.t-wrapper_shadow]=\"!item.image\">\n <header\n *ngIf=\"item.image\"\n polymorpheus-outlet\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n [content]=\"item.image\"\n [context]=\"context\"\n >\n <ng-template let-content>\n <img
|
|
188
|
+
template: "<div class=\"t-bumpers\">\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div #sheet class=\"t-wrapper\" [class.t-wrapper_shadow]=\"!item.image\">\n <header\n *ngIf=\"item.image\"\n polymorpheus-outlet\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n [content]=\"item.image\"\n [context]=\"context\"\n >\n <ng-template let-content>\n <img alt=\"\" class=\"t-image\" [src]=\"content\" />\n </ng-template>\n </header>\n <section #content tuiSheetStop class=\"t-sheet\">\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div\n polymorpheus-outlet\n class=\"t-content\"\n [content]=\"item.content\"\n [context]=\"context\"\n >\n <ng-template let-content>\n <h2 tuiSheetHeading class=\"t-heading\">{{ content }}</h2>\n </ng-template>\n </div>\n </section>\n</div>\n",
|
|
189
189
|
providers: TUI_SHEET_PROVIDERS,
|
|
190
190
|
animations: [tuiSlideInTop],
|
|
191
191
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -196,7 +196,7 @@ TuiSheetComponent = __decorate([
|
|
|
196
196
|
'[$.class._stuck]': 'stuck$',
|
|
197
197
|
'($.class._stuck)': 'stuck$',
|
|
198
198
|
},
|
|
199
|
-
styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;box-shadow:0 4rem var(--tui-base-01);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);-webkit-clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._stuck{-ms-scroll-snap-type:none;scroll-snap-type:none}.t-bumpers{height:100%;
|
|
199
|
+
styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;box-shadow:0 4rem var(--tui-base-01);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);-webkit-clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._stuck{-ms-scroll-snap-type:none;scroll-snap-type:none}.t-bumpers{display:flex;height:100%;scroll-snap-align:start;scroll-margin:-1px}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;height:1rem}.t-wrapper{border-radius:inherit;pointer-events:auto;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12)}.t-top{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:sticky;top:0;pointer-events:auto;border-radius:.8rem .8rem 0 0;transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;width:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1);box-shadow:0 4rem var(--tui-base-01)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;height:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-base-01);box-shadow:inset 0 1px rgba(255,255,255,.25)}.t-button{position:absolute;top:0;height:1.5rem;width:3rem;padding:0;border:0;opacity:0}.t-content{padding:0 1rem 1rem;border-radius:inherit;background:var(--tui-base-01)}.t-heading{padding-bottom:.5rem}"]
|
|
200
200
|
}),
|
|
201
201
|
__param(0, Inject(TUI_SHEET_SCROLL)),
|
|
202
202
|
__param(1, Inject(ElementRef)),
|
|
@@ -225,9 +225,9 @@ TuiSheetBarComponent.ctorParameters = () => [
|
|
|
225
225
|
TuiSheetBarComponent = __decorate([
|
|
226
226
|
Component({
|
|
227
227
|
selector: 'tui-sheet-bar',
|
|
228
|
-
template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div
|
|
228
|
+
template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div style=\"transform: rotate(-{{ deg }}deg)\" class=\"t-bar\"></div>\n <ng-content *ngIf=\"deg\"></ng-content>\n <div style=\"transform: rotate({{ deg }}deg)\" class=\"t-bar\"></div>\n</ng-container>\n",
|
|
229
229
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
230
|
-
styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:sticky;top:0;height:1.25rem;
|
|
230
|
+
styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:2;display:flex;height:1.25rem;align-items:center;justify-content:center;opacity:.3}.t-bar{content:'';height:.25rem;width:1rem;background:var(--tui-base-09);pointer-events:none}:host-context(._ios:not(._dragged)) .t-bar{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-bar:first-child{border-radius:1rem 0 0 1rem;transform-origin:top right}.t-bar:last-child{border-radius:0 1rem 1rem 0;transform-origin:top left}"]
|
|
231
231
|
}),
|
|
232
232
|
__param(0, Inject(TuiSheetComponent)),
|
|
233
233
|
__param(1, Inject(TUI_SHEET_SCROLL)),
|
|
@@ -304,10 +304,10 @@ TuiSheetsHostComponent.ctorParameters = () => [
|
|
|
304
304
|
TuiSheetsHostComponent = __decorate([
|
|
305
305
|
Component({
|
|
306
306
|
selector: 'tui-sheets-host',
|
|
307
|
-
template: "<ng-container *ngIf=\"service.sheets$ | async as items\">\n <div\n *ngFor=\"let item of items\"\n tuiSheetWrapper\n class=\"t-wrapper\"\n [
|
|
307
|
+
template: "<ng-container *ngIf=\"service.sheets$ | async as items\">\n <div\n *ngFor=\"let item of items\"\n tuiSheetWrapper\n class=\"t-wrapper\"\n [@tuiSlideInTop]=\"options\"\n [@tuiFadeIn]=\"options\"\n [class.t-wrapper_overlay]=\"item.overlay\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n >\n <tui-sheet\n tuiScrollRef\n tuiOverscroll=\"all\"\n [style.height.px]=\"getHeight(height$ | async)\"\n [item]=\"item\"\n (close)=\"close(item)\"\n ></tui-sheet>\n </div>\n <div class=\"t-overlay\" (click)=\"close(items[0])\"></div>\n</ng-container>\n",
|
|
308
308
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
309
309
|
animations: [tuiSlideInTop, tuiFadeIn],
|
|
310
|
-
styles: [":host{position:sticky;bottom:0;height:0
|
|
310
|
+
styles: [":host{position:sticky;bottom:0;display:block;height:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;width:100%;z-index:-1;height:100vh;background:#000;opacity:.001;pointer-events:none}._overlay~.t-overlay,.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;width:100%;height:100vh;overflow:hidden}.t-wrapper._overlay,.t-wrapper._visible{overflow:visible}"]
|
|
311
311
|
}),
|
|
312
312
|
__param(0, Inject(TUI_SHEET_OFFSET)),
|
|
313
313
|
__param(1, Inject(TUI_ANIMATION_OPTIONS)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-sheet.js","sources":["ng://@taiga-ui/addon-mobile/components/sheet/ios.hacks.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-heading/sheet-heading.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.providers.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-bar/sheet-bar.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet-options.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.service.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheets-host/sheets-host.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-close/sheet-close.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-stop/sheet-stop.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-top/sheet-top.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.module.ts","ng://@taiga-ui/addon-mobile/components/sheet/taiga-ui-addon-mobile-components-sheet.ts"],"sourcesContent":["import {NgZone} from '@angular/core';\nimport {tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {concat, merge, Observable, race, timer, zip} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n map,\n mapTo,\n share,\n startWith,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nexport function iosScrollFactory(\n element: HTMLElement,\n documentRef: Document,\n ngZone: NgZone,\n): Observable<number> {\n const load$ = typedFromEvent(element, 'load', {capture: true});\n const touchstart$ = typedFromEvent(element, 'touchstart', {passive: true});\n const touchmove$ = typedFromEvent(documentRef, 'touchmove', {passive: true});\n const touchend$ = typedFromEvent(documentRef, 'touchend');\n const scroll$ = typedFromEvent(element, 'scroll').pipe(map(() => element.scrollTop));\n const result$ = merge(\n load$.pipe(\n delay(0),\n map(() => element.scrollTop),\n ),\n touchstart$.pipe(\n switchMap(({touches}) => {\n const {screenY} = touches[0];\n const {scrollTop} = element;\n\n return concat(\n // Sometimes touch is triggered without scroll in iOS, filter that\n zip(touchmove$, scroll$).pipe(\n map(([{touches}]) => scrollTop + screenY - touches[0].screenY),\n takeUntil(touchend$),\n ),\n scroll$,\n );\n }),\n ),\n );\n\n return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());\n}\n\nexport function processDragged(\n dragged$: Observable<boolean>,\n scroll$: Observable<unknown>,\n): Observable<boolean> {\n const touchstart$ = dragged$.pipe(filter(Boolean));\n const touchend$ = dragged$.pipe(filter(v => !v));\n const race$ = race(scroll$, timer(100)).pipe(\n debounceTime(200),\n take(1),\n mapTo(false),\n );\n\n return touchstart$.pipe(\n switchMapTo(touchend$.pipe(switchMapTo(race$), startWith(true))),\n startWith(false),\n );\n}\n\nexport function fakeSmoothScroll({style}: HTMLElement, offset: number) {\n style.transition = 'none';\n style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;\n\n setTimeout(() => {\n style.transition = '';\n style.transform = '';\n });\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nexport const TUI_SHEET_CLOSE = 'tui-sheet-close';\nexport const TUI_SHEET_ID = 'tui-sheet-id';\n\n@Component({\n selector: '[tuiSheetHeading]',\n templateUrl: 'sheet-heading.template.html',\n styleUrls: ['sheet-heading.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetHeadingComponent implements AfterViewInit {\n readonly id = this.idService.generate();\n\n constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {}\n\n ngAfterViewInit() {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_ID, {bubbles: true, detail: this.id}),\n );\n }\n\n onClick() {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_CLOSE, {bubbles: true}),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, NgZone, Provider} from '@angular/core';\nimport {TUI_IS_IOS, tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {merge, Observable} from 'rxjs';\nimport {map, mapTo, share} from 'rxjs/operators';\nimport {iosScrollFactory} from '../../ios.hacks';\n\nexport const TUI_SHEET_SCROLL = new InjectionToken<number>(\n 'Current scrollTop of a sheet',\n);\n\nexport const TUI_SHEET_DRAGGED = new InjectionToken<boolean>(\n 'The sheet is being dragged',\n);\n\nexport const TUI_SHEET_OFFSET = new InjectionToken<number>(\n 'Offset from the top at which the sheet stops',\n {\n factory: () => 16,\n },\n);\n\nexport const TUI_SHEET_PROVIDERS: Provider[] = [\n {\n provide: TUI_SHEET_DRAGGED,\n deps: [ElementRef],\n useFactory: sheetDraggedFactory,\n },\n {\n provide: TUI_SHEET_SCROLL,\n deps: [ElementRef, NgZone, DOCUMENT, TUI_IS_IOS],\n useFactory: sheetScrollFactory,\n },\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n];\n\nexport function sheetDraggedFactory({\n nativeElement,\n}: ElementRef<HTMLElement>): Observable<boolean> {\n return merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(mapTo(true)),\n typedFromEvent(nativeElement, 'touchend').pipe(mapTo(false)),\n );\n}\n\nexport function sheetScrollFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n ngZone: NgZone,\n documentRef: Document,\n isIos: boolean,\n): Observable<number> {\n return isIos\n ? iosScrollFactory(nativeElement, documentRef, ngZone)\n : merge(\n typedFromEvent(nativeElement, 'scroll'),\n typedFromEvent(nativeElement, 'load', {capture: true}),\n ).pipe(\n map(() => nativeElement.scrollTop),\n tuiZonefree(ngZone),\n share(),\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY, TUI_IS_IOS, tuiPure, tuiZonefull} from '@taiga-ui/cdk';\nimport {tuiSlideInTop} from '@taiga-ui/core';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {fakeSmoothScroll} from '../../ios.hacks';\nimport {TuiSheet} from '../../sheet';\nimport {TUI_SHEET_ID} from '../sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_PROVIDERS, TUI_SHEET_SCROLL} from './sheet.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-sheet',\n templateUrl: 'sheet.template.html',\n styleUrls: ['sheet.style.less'],\n providers: TUI_SHEET_PROVIDERS,\n animations: [tuiSlideInTop],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'dialog',\n '[attr.aria-labelledby]': 'id',\n '[class._ios]': 'isIos',\n '[$.class._stuck]': 'stuck$',\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiSheetComponent<T> implements AfterViewInit {\n @Input()\n item!: TuiSheet<T>;\n\n id = '';\n\n readonly stuck$ = this.scroll$.pipe(map(y => Math.floor(y) > this.contentTop));\n\n @ViewChild('sheet')\n private readonly sheet?: ElementRef<HTMLElement>;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChildren('stops')\n private readonly stopsRefs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_IS_IOS) readonly isIos: boolean,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get stops(): readonly number[] {\n return this.getStops(this.stopsRefs);\n }\n\n get imageStop(): number {\n return (this.item.imageSlide && this.stops[this.stops.length - 1]) || 0;\n }\n\n get imageHeight(): number {\n return this.contentTop - this.sheetTop;\n }\n\n @tuiPure\n get context(): TuiSheet<T> {\n return {\n ...this.item,\n scroll$: this.scroll$.pipe(tuiZonefull(this.ngZone)),\n };\n }\n\n ngAfterViewInit() {\n const stops = [...this.stops, this.sheetTop, this.contentTop];\n\n this.elementRef.nativeElement.scrollTop = stops[this.item.initial];\n }\n\n @HostListener(TUI_SHEET_ID, ['$event.detail'])\n onId(id: string) {\n this.id = id;\n }\n\n scrollTo(top: number = this.sheetTop) {\n const {nativeElement} = this.elementRef;\n\n if (this.isIos) {\n fakeSmoothScroll(nativeElement, top - nativeElement.scrollTop - 16);\n }\n\n nativeElement.scrollTo({top, behavior: 'smooth'});\n }\n\n private get contentTop(): number {\n return this.content?.nativeElement.offsetTop ?? Infinity;\n }\n\n private get sheetTop(): number {\n return this.sheet?.nativeElement.offsetTop ?? Infinity;\n }\n\n @tuiPure\n private getStops(stops: QueryList<ElementRef<HTMLElement>>): readonly number[] {\n return stops\n .toArray()\n .map(\n ({nativeElement}) => nativeElement.offsetTop + nativeElement.clientHeight,\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, NgZone} from '@angular/core';\nimport {clamp} from '@taiga-ui/cdk';\nimport {tuiZonefulMap} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {TuiSheetComponent} from '../sheet/sheet.component';\nimport {TUI_SHEET_SCROLL} from '../sheet/sheet.providers';\n\n@Component({\n selector: 'tui-sheet-bar',\n templateUrl: 'sheet-bar.template.html',\n styleUrls: ['sheet-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetBarComponent {\n readonly rotate$ = this.scroll$.pipe(\n tuiZonefulMap(y => clamp(10 - (y - this.stop) / 5, 0, 10), this.ngZone),\n );\n\n constructor(\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {}\n\n private get stop() {\n return this.sheet.stops[0] ?? 0;\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiSheet} from './sheet';\n\nexport interface TuiSheetOptions<I = undefined, O = unknown> {\n readonly image: PolymorpheusContent<TuiSheet<O, I>>;\n readonly imageSlide: boolean;\n readonly stops: readonly string[];\n readonly initial: number;\n readonly closeable: boolean;\n readonly overlay: boolean;\n readonly data: I;\n}\n\nexport const TUI_SHEET_DEFAULT_OPTIONS: Omit<TuiSheetOptions, 'data'> = {\n image: '',\n imageSlide: true,\n stops: [],\n initial: 0,\n closeable: true,\n overlay: false,\n};\n\nexport const TUI_SHEET_OPTIONS = new InjectionToken<Omit<TuiSheetOptions, 'data'>>(\n 'Default parameters for sheet component',\n {\n factory: () => TUI_SHEET_DEFAULT_OPTIONS,\n },\n);\n","import {Inject, Injectable} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, EMPTY, Observable} from 'rxjs';\nimport {TuiSheet} from './sheet';\nimport {TUI_SHEET_OPTIONS, TuiSheetOptions} from './sheet-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiSheetService {\n readonly sheets$ = new BehaviorSubject<TuiSheet<any, any>[]>([]);\n\n constructor(@Inject(TUI_SHEET_OPTIONS) private readonly options: TuiSheetOptions) {}\n\n open<G>(\n content: PolymorpheusContent<TuiSheet<G>>,\n options: Partial<TuiSheetOptions> = {},\n ): Observable<G> {\n return new Observable($implicit => {\n const completeWith = (result: G) => {\n $implicit.next(result);\n $implicit.complete();\n };\n const sheet: TuiSheet<any> = {\n ...this.options,\n ...options,\n content,\n completeWith,\n $implicit,\n scroll$: EMPTY,\n };\n\n this.sheets$.next([...this.sheets$.value, sheet]);\n\n return () => {\n this.sheets$.next(this.sheets$.value.filter(item => item !== sheet));\n };\n });\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_WINDOW_HEIGHT} from '@taiga-ui/cdk';\nimport {TUI_ANIMATION_OPTIONS, tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {TuiSheet} from '../../sheet';\nimport {TuiSheetService} from '../../sheet.service';\nimport {TUI_SHEET_OFFSET} from '../sheet/sheet.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-sheets-host',\n templateUrl: 'sheets-host.template.html',\n styleUrls: ['sheets-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiSheetsHostComponent {\n constructor(\n @Inject(TUI_SHEET_OFFSET) private readonly offset: number,\n @Inject(TUI_ANIMATION_OPTIONS) readonly options: AnimationOptions,\n @Inject(TuiSheetService) readonly service: TuiSheetService,\n @Inject(TUI_WINDOW_HEIGHT) readonly height$: Observable<number>,\n ) {}\n\n close({closeable, $implicit}: TuiSheet<unknown>) {\n if (closeable) {\n $implicit.complete();\n }\n }\n\n getHeight(height: number | null): number {\n return (height ?? 0) - this.offset;\n }\n}\n","import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, startWith, switchMap} from 'rxjs/operators';\nimport {TUI_SHEET_CLOSE} from '../../components/sheet-heading/sheet-heading.component';\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\n\n// @dynamic\n@Directive({\n selector: 'tui-sheet[close]',\n})\nexport class TuiSheetCloseDirective {\n @Output()\n readonly close: Observable<unknown> = merge(\n typedFromEvent(this.elementRef.nativeElement, TUI_SHEET_CLOSE),\n this.dragged$.pipe(\n startWith(false),\n switchMap(dragged =>\n dragged\n ? EMPTY\n : this.scroll$.pipe(\n startWith(this.elementRef.nativeElement.scrollTop),\n ),\n ),\n filter(y => this.sheet.item?.closeable && this.shouldClose(y)),\n ),\n );\n\n constructor(\n @Inject(TUI_SHEET_DRAGGED) private readonly dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n ) {}\n\n private shouldClose(scrollTop: number): boolean {\n const min = Math.min(\n this.elementRef.nativeElement.scrollHeight - this.windowRef.innerHeight,\n this.sheet.stops[0] || Infinity,\n );\n\n return scrollTop < min / 2;\n }\n}\n","import {Directive, ElementRef, Inject} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n takeUntil,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\n\n@Directive({\n selector: '[tuiSheetStop]',\n providers: [TuiDestroyService],\n})\nexport class TuiSheetStopDirective {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TUI_SHEET_DRAGGED) dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) scroll$: Observable<number>,\n @Inject(TUI_SCROLL_REF) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n scroll$\n .pipe(\n map(y => Math.floor(y) > elementRef.nativeElement.offsetTop),\n distinctUntilChanged(),\n withLatestFrom(dragged$),\n map(([above, dragged]) => !above && !dragged),\n filter(Boolean),\n throttleTime(100),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.style.overflow = 'hidden';\n nativeElement.classList.remove('_stuck'); // iOS\n nativeElement.scrollTop = elementRef.nativeElement.offsetTop;\n\n setTimeout(() => {\n nativeElement.style.overflow = '';\n }, 100);\n });\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TUI_SHEET_OFFSET, TUI_SHEET_SCROLL} from '../../components/sheet/sheet.providers';\n\n// So that borders get rounded when image is visible for at least 10px\nconst OFFSET = 10;\n\n// @dynamic\n@Directive({\n selector: '[tuiSheetTop]',\n host: {\n '[$.style.transform]': 'transform$',\n '($.style.transform)': 'transform$',\n '[$.class._rounded]': 'rounded$',\n '($.class._rounded)': 'rounded$',\n '[$.class._clickthrough]': 'clickthrough$',\n '($.class._clickthrough)': 'clickthrough$',\n },\n})\nexport class TuiSheetTopDirective {\n @Input('tuiSheetTop')\n @tuiDefaultProp()\n stop = 0;\n\n readonly transform$ = this.scroll$.pipe(\n map(y => `translateY(${this.getY(y)}%) scaleX(-1)`),\n );\n\n readonly rounded$ = this.scroll$.pipe(map(y => y < this.stop + OFFSET));\n\n readonly clickthrough$ = this.scroll$.pipe(map(y => !!Math.round(this.getY(y))));\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(TUI_SHEET_OFFSET) private readonly offset: number,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n private getY(scrollTop: number): number {\n const value = scrollTop - this.stop;\n const total = this.windowRef.innerHeight - this.offset - this.stop;\n\n return this.stop && clamp(100 - (value / total) * 100, 0, 100);\n }\n}\n","import {ContentChild, Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiPure} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_OFFSET,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {processDragged} from '../../ios.hacks';\n\n// Safety offset for shadow\nconst OFFSET = 16;\n\n// @dynamic\n@Directive({\n selector: '[tuiSheetWrapper]',\n host: {\n '[$.class._overlay]': 'overlay$',\n '($.class._overlay)': 'overlay$',\n '[$.class._visible]': 'visible$',\n '($.class._visible)': 'visible$',\n '[$.style.height.px]': 'height$',\n '($.style.height.px)': 'height$',\n },\n})\nexport class TuiSheetWrapperDirective {\n // Trying to get overflow: visible as early as possible for Safari\n touched = false;\n\n @ContentChild(TuiSheetComponent)\n private readonly sheet?: TuiSheetComponent<unknown>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_DRAGGED})\n private readonly dragged$!: Observable<boolean>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_SCROLL})\n private readonly scroll$!: Observable<number>;\n\n constructor(\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_SHEET_OFFSET) private readonly offset: number,\n ) {}\n\n @tuiPure\n get overlay$(): Observable<boolean> {\n return this.scroll$.pipe(\n map(y => y + 16 > this.windowRef.innerHeight - this.offset),\n );\n }\n\n @tuiPure\n get visible$(): Observable<boolean> {\n return processDragged(this.dragged$, this.scroll$);\n }\n\n @tuiPure\n get height$(): Observable<number> {\n return this.scroll$.pipe(map(this.getHeight.bind(this)));\n }\n\n private getHeight(value: number): number {\n return clamp(this.withImage(value) + OFFSET, OFFSET, this.windowRef.innerHeight);\n }\n\n private withImage(value: number): number {\n return !this.sheet?.imageStop || Math.floor(value) > this.sheet.imageStop\n ? value\n : value - this.sheet.imageHeight;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n Inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\nimport {TuiSheet} from './sheet';\nimport {TuiSheetOptions} from './sheet-options';\nimport {TuiSheetService} from './sheet.service';\n\n@Directive({\n selector: 'ng-template[tuiSheet]',\n})\nexport class TuiSheetDirective extends PolymorpheusTemplate<TuiSheet<never>> {\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiSheetOptions')\n @tuiDefaultProp()\n options: Partial<TuiSheetOptions> = {};\n\n @Input()\n @tuiRequiredSetter()\n set tuiSheet(open: boolean) {\n this.open$.next(open);\n }\n\n @Output()\n tuiSheetChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TemplateRef) templateRef: TemplateRef<TuiSheet<never>>,\n @Inject(TuiSheetService) private readonly service: TuiSheetService,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {TuiLetModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiScrollbarModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiSheetBarComponent} from './components/sheet-bar/sheet-bar.component';\nimport {TuiSheetHeadingComponent} from './components/sheet-heading/sheet-heading.component';\nimport {TuiSheetComponent} from './components/sheet/sheet.component';\nimport {TuiSheetsHostComponent} from './components/sheets-host/sheets-host.component';\nimport {TuiSheetCloseDirective} from './directives/sheet-close/sheet-close.directive';\nimport {TuiSheetStopDirective} from './directives/sheet-stop/sheet-stop.directive';\nimport {TuiSheetTopDirective} from './directives/sheet-top/sheet-top.directive';\nimport {TuiSheetWrapperDirective} from './directives/sheet-wrapper/sheet-wrapper.directive';\nimport {TuiSheetDirective} from './sheet.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiButtonModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n ],\n declarations: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetBarComponent,\n TuiSheetHeadingComponent,\n TuiSheetTopDirective,\n TuiSheetDirective,\n TuiSheetWrapperDirective,\n TuiSheetCloseDirective,\n TuiSheetStopDirective,\n ],\n exports: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetHeadingComponent,\n TuiSheetDirective,\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class TuiSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["OFFSET"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-sheet.js","sources":["ng://@taiga-ui/addon-mobile/components/sheet/ios.hacks.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-heading/sheet-heading.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.providers.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet/sheet.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheet-bar/sheet-bar.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet-options.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.service.ts","ng://@taiga-ui/addon-mobile/components/sheet/components/sheets-host/sheets-host.component.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-close/sheet-close.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-stop/sheet-stop.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-top/sheet-top.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.directive.ts","ng://@taiga-ui/addon-mobile/components/sheet/sheet.module.ts","ng://@taiga-ui/addon-mobile/components/sheet/taiga-ui-addon-mobile-components-sheet.ts"],"sourcesContent":["import {NgZone} from '@angular/core';\nimport {tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {concat, merge, Observable, race, timer, zip} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n map,\n mapTo,\n share,\n startWith,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nexport function iosScrollFactory(\n element: HTMLElement,\n documentRef: Document,\n ngZone: NgZone,\n): Observable<number> {\n const load$ = typedFromEvent(element, 'load', {capture: true});\n const touchstart$ = typedFromEvent(element, 'touchstart', {passive: true});\n const touchmove$ = typedFromEvent(documentRef, 'touchmove', {passive: true});\n const touchend$ = typedFromEvent(documentRef, 'touchend');\n const scroll$ = typedFromEvent(element, 'scroll').pipe(map(() => element.scrollTop));\n const result$ = merge(\n load$.pipe(\n delay(0),\n map(() => element.scrollTop),\n ),\n touchstart$.pipe(\n switchMap(({touches}) => {\n const {screenY} = touches[0];\n const {scrollTop} = element;\n\n return concat(\n // Sometimes touch is triggered without scroll in iOS, filter that\n zip(touchmove$, scroll$).pipe(\n map(([{touches}]) => scrollTop + screenY - touches[0].screenY),\n takeUntil(touchend$),\n ),\n scroll$,\n );\n }),\n ),\n );\n\n return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(ngZone), share());\n}\n\nexport function processDragged(\n dragged$: Observable<boolean>,\n scroll$: Observable<unknown>,\n): Observable<boolean> {\n const touchstart$ = dragged$.pipe(filter(Boolean));\n const touchend$ = dragged$.pipe(filter(v => !v));\n const race$ = race(scroll$, timer(100)).pipe(\n debounceTime(200),\n take(1),\n mapTo(false),\n );\n\n return touchstart$.pipe(\n switchMapTo(touchend$.pipe(switchMapTo(race$), startWith(true))),\n startWith(false),\n );\n}\n\nexport function fakeSmoothScroll({style}: HTMLElement, offset: number) {\n style.transition = 'none';\n style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;\n\n setTimeout(() => {\n style.transition = '';\n style.transform = '';\n });\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nexport const TUI_SHEET_CLOSE = 'tui-sheet-close';\nexport const TUI_SHEET_ID = 'tui-sheet-id';\n\n@Component({\n selector: '[tuiSheetHeading]',\n templateUrl: 'sheet-heading.template.html',\n styleUrls: ['sheet-heading.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetHeadingComponent implements AfterViewInit {\n readonly id = this.idService.generate();\n\n constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {}\n\n ngAfterViewInit() {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_ID, {bubbles: true, detail: this.id}),\n );\n }\n\n onClick() {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SHEET_CLOSE, {bubbles: true}),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, NgZone, Provider} from '@angular/core';\nimport {TUI_IS_IOS, tuiZonefree, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {merge, Observable} from 'rxjs';\nimport {map, mapTo, share} from 'rxjs/operators';\n\nimport {iosScrollFactory} from '../../ios.hacks';\n\nexport const TUI_SHEET_SCROLL = new InjectionToken<number>(\n 'Current scrollTop of a sheet',\n);\n\nexport const TUI_SHEET_DRAGGED = new InjectionToken<boolean>(\n 'The sheet is being dragged',\n);\n\nexport const TUI_SHEET_OFFSET = new InjectionToken<number>(\n 'Offset from the top at which the sheet stops',\n {\n factory: () => 16,\n },\n);\n\nexport const TUI_SHEET_PROVIDERS: Provider[] = [\n {\n provide: TUI_SHEET_DRAGGED,\n deps: [ElementRef],\n useFactory: sheetDraggedFactory,\n },\n {\n provide: TUI_SHEET_SCROLL,\n deps: [ElementRef, NgZone, DOCUMENT, TUI_IS_IOS],\n useFactory: sheetScrollFactory,\n },\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n];\n\nexport function sheetDraggedFactory({\n nativeElement,\n}: ElementRef<HTMLElement>): Observable<boolean> {\n return merge(\n typedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(mapTo(true)),\n typedFromEvent(nativeElement, 'touchend').pipe(mapTo(false)),\n );\n}\n\nexport function sheetScrollFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n ngZone: NgZone,\n documentRef: Document,\n isIos: boolean,\n): Observable<number> {\n return isIos\n ? iosScrollFactory(nativeElement, documentRef, ngZone)\n : merge(\n typedFromEvent(nativeElement, 'scroll'),\n typedFromEvent(nativeElement, 'load', {capture: true}),\n ).pipe(\n map(() => nativeElement.scrollTop),\n tuiZonefree(ngZone),\n share(),\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY, TUI_IS_IOS, tuiPure, tuiZonefull} from '@taiga-ui/cdk';\nimport {tuiSlideInTop} from '@taiga-ui/core';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {fakeSmoothScroll} from '../../ios.hacks';\nimport {TuiSheet} from '../../sheet';\nimport {TUI_SHEET_ID} from '../sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_PROVIDERS, TUI_SHEET_SCROLL} from './sheet.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-sheet',\n templateUrl: 'sheet.template.html',\n styleUrls: ['sheet.style.less'],\n providers: TUI_SHEET_PROVIDERS,\n animations: [tuiSlideInTop],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'dialog',\n '[attr.aria-labelledby]': 'id',\n '[class._ios]': 'isIos',\n '[$.class._stuck]': 'stuck$',\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiSheetComponent<T> implements AfterViewInit {\n @Input()\n item!: TuiSheet<T>;\n\n id = '';\n\n readonly stuck$ = this.scroll$.pipe(map(y => Math.floor(y) > this.contentTop));\n\n @ViewChild('sheet')\n private readonly sheet?: ElementRef<HTMLElement>;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChildren('stops')\n private readonly stopsRefs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TUI_IS_IOS) readonly isIos: boolean,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get stops(): readonly number[] {\n return this.getStops(this.stopsRefs);\n }\n\n get imageStop(): number {\n return (this.item.imageSlide && this.stops[this.stops.length - 1]) || 0;\n }\n\n get imageHeight(): number {\n return this.contentTop - this.sheetTop;\n }\n\n @tuiPure\n get context(): TuiSheet<T> {\n return {\n ...this.item,\n scroll$: this.scroll$.pipe(tuiZonefull(this.ngZone)),\n };\n }\n\n ngAfterViewInit() {\n const stops = [...this.stops, this.sheetTop, this.contentTop];\n\n this.elementRef.nativeElement.scrollTop = stops[this.item.initial];\n }\n\n @HostListener(TUI_SHEET_ID, ['$event.detail'])\n onId(id: string) {\n this.id = id;\n }\n\n scrollTo(top: number = this.sheetTop) {\n const {nativeElement} = this.elementRef;\n\n if (this.isIos) {\n fakeSmoothScroll(nativeElement, top - nativeElement.scrollTop - 16);\n }\n\n nativeElement.scrollTo({top, behavior: 'smooth'});\n }\n\n private get contentTop(): number {\n return this.content?.nativeElement.offsetTop ?? Infinity;\n }\n\n private get sheetTop(): number {\n return this.sheet?.nativeElement.offsetTop ?? Infinity;\n }\n\n @tuiPure\n private getStops(stops: QueryList<ElementRef<HTMLElement>>): readonly number[] {\n return stops\n .toArray()\n .map(\n ({nativeElement}) => nativeElement.offsetTop + nativeElement.clientHeight,\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, NgZone} from '@angular/core';\nimport {clamp} from '@taiga-ui/cdk';\nimport {tuiZonefulMap} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiSheetComponent} from '../sheet/sheet.component';\nimport {TUI_SHEET_SCROLL} from '../sheet/sheet.providers';\n\n@Component({\n selector: 'tui-sheet-bar',\n templateUrl: 'sheet-bar.template.html',\n styleUrls: ['sheet-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSheetBarComponent {\n readonly rotate$ = this.scroll$.pipe(\n tuiZonefulMap(y => clamp(10 - (y - this.stop) / 5, 0, 10), this.ngZone),\n );\n\n constructor(\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n ) {}\n\n private get stop() {\n return this.sheet.stops[0] ?? 0;\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSheet} from './sheet';\n\nexport interface TuiSheetOptions<I = undefined, O = unknown> {\n readonly image: PolymorpheusContent<TuiSheet<O, I>>;\n readonly imageSlide: boolean;\n readonly stops: readonly string[];\n readonly initial: number;\n readonly closeable: boolean;\n readonly overlay: boolean;\n readonly data: I;\n}\n\nexport const TUI_SHEET_DEFAULT_OPTIONS: Omit<TuiSheetOptions, 'data'> = {\n image: '',\n imageSlide: true,\n stops: [],\n initial: 0,\n closeable: true,\n overlay: false,\n};\n\nexport const TUI_SHEET_OPTIONS = new InjectionToken<Omit<TuiSheetOptions, 'data'>>(\n 'Default parameters for sheet component',\n {\n factory: () => TUI_SHEET_DEFAULT_OPTIONS,\n },\n);\n","import {Inject, Injectable} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, EMPTY, Observable} from 'rxjs';\n\nimport {TuiSheet} from './sheet';\nimport {TUI_SHEET_OPTIONS, TuiSheetOptions} from './sheet-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiSheetService {\n readonly sheets$ = new BehaviorSubject<TuiSheet<any, any>[]>([]);\n\n constructor(@Inject(TUI_SHEET_OPTIONS) private readonly options: TuiSheetOptions) {}\n\n open<G>(\n content: PolymorpheusContent<TuiSheet<G>>,\n options: Partial<TuiSheetOptions> = {},\n ): Observable<G> {\n return new Observable($implicit => {\n const completeWith = (result: G) => {\n $implicit.next(result);\n $implicit.complete();\n };\n const sheet: TuiSheet<any> = {\n ...this.options,\n ...options,\n content,\n completeWith,\n $implicit,\n scroll$: EMPTY,\n };\n\n this.sheets$.next([...this.sheets$.value, sheet]);\n\n return () => {\n this.sheets$.next(this.sheets$.value.filter(item => item !== sheet));\n };\n });\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_WINDOW_HEIGHT} from '@taiga-ui/cdk';\nimport {TUI_ANIMATION_OPTIONS, tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiSheet} from '../../sheet';\nimport {TuiSheetService} from '../../sheet.service';\nimport {TUI_SHEET_OFFSET} from '../sheet/sheet.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-sheets-host',\n templateUrl: 'sheets-host.template.html',\n styleUrls: ['sheets-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiSheetsHostComponent {\n constructor(\n @Inject(TUI_SHEET_OFFSET) private readonly offset: number,\n @Inject(TUI_ANIMATION_OPTIONS) readonly options: AnimationOptions,\n @Inject(TuiSheetService) readonly service: TuiSheetService,\n @Inject(TUI_WINDOW_HEIGHT) readonly height$: Observable<number>,\n ) {}\n\n close({closeable, $implicit}: TuiSheet<unknown>) {\n if (closeable) {\n $implicit.complete();\n }\n }\n\n getHeight(height: number | null): number {\n return (height ?? 0) - this.offset;\n }\n}\n","import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, startWith, switchMap} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {TUI_SHEET_CLOSE} from '../../components/sheet-heading/sheet-heading.component';\n\n// @dynamic\n@Directive({\n selector: 'tui-sheet[close]',\n})\nexport class TuiSheetCloseDirective {\n @Output()\n readonly close: Observable<unknown> = merge(\n typedFromEvent(this.elementRef.nativeElement, TUI_SHEET_CLOSE),\n this.dragged$.pipe(\n startWith(false),\n switchMap(dragged =>\n dragged\n ? EMPTY\n : this.scroll$.pipe(\n startWith(this.elementRef.nativeElement.scrollTop),\n ),\n ),\n filter(y => this.sheet.item?.closeable && this.shouldClose(y)),\n ),\n );\n\n constructor(\n @Inject(TUI_SHEET_DRAGGED) private readonly dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiSheetComponent) private readonly sheet: TuiSheetComponent<unknown>,\n ) {}\n\n private shouldClose(scrollTop: number): boolean {\n const min = Math.min(\n this.elementRef.nativeElement.scrollHeight - this.windowRef.innerHeight,\n this.sheet.stops[0] || Infinity,\n );\n\n return scrollTop < min / 2;\n }\n}\n","import {Directive, ElementRef, Inject} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n takeUntil,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\n\n@Directive({\n selector: '[tuiSheetStop]',\n providers: [TuiDestroyService],\n})\nexport class TuiSheetStopDirective {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TUI_SHEET_DRAGGED) dragged$: Observable<boolean>,\n @Inject(TUI_SHEET_SCROLL) scroll$: Observable<number>,\n @Inject(TUI_SCROLL_REF) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n scroll$\n .pipe(\n map(y => Math.floor(y) > elementRef.nativeElement.offsetTop),\n distinctUntilChanged(),\n withLatestFrom(dragged$),\n map(([above, dragged]) => !above && !dragged),\n filter(Boolean),\n throttleTime(100),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.style.overflow = 'hidden';\n nativeElement.classList.remove('_stuck'); // iOS\n nativeElement.scrollTop = elementRef.nativeElement.offsetTop;\n\n setTimeout(() => {\n nativeElement.style.overflow = '';\n }, 100);\n });\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_SHEET_OFFSET, TUI_SHEET_SCROLL} from '../../components/sheet/sheet.providers';\n\n// So that borders get rounded when image is visible for at least 10px\nconst OFFSET = 10;\n\n// @dynamic\n@Directive({\n selector: '[tuiSheetTop]',\n host: {\n '[$.style.transform]': 'transform$',\n '($.style.transform)': 'transform$',\n '[$.class._rounded]': 'rounded$',\n '($.class._rounded)': 'rounded$',\n '[$.class._clickthrough]': 'clickthrough$',\n '($.class._clickthrough)': 'clickthrough$',\n },\n})\nexport class TuiSheetTopDirective {\n @Input('tuiSheetTop')\n @tuiDefaultProp()\n stop = 0;\n\n readonly transform$ = this.scroll$.pipe(\n map(y => `translateY(${this.getY(y)}%) scaleX(-1)`),\n );\n\n readonly rounded$ = this.scroll$.pipe(map(y => y < this.stop + OFFSET));\n\n readonly clickthrough$ = this.scroll$.pipe(map(y => !!Math.round(this.getY(y))));\n\n constructor(\n @Inject(TUI_SHEET_SCROLL) private readonly scroll$: Observable<number>,\n @Inject(TUI_SHEET_OFFSET) private readonly offset: number,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n private getY(scrollTop: number): number {\n const value = scrollTop - this.stop;\n const total = this.windowRef.innerHeight - this.offset - this.stop;\n\n return this.stop && clamp(100 - (value / total) * 100, 0, 100);\n }\n}\n","import {ContentChild, Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {clamp, tuiPure} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {\n TUI_SHEET_DRAGGED,\n TUI_SHEET_OFFSET,\n TUI_SHEET_SCROLL,\n} from '../../components/sheet/sheet.providers';\nimport {processDragged} from '../../ios.hacks';\n\n// Safety offset for shadow\nconst OFFSET = 16;\n\n// @dynamic\n@Directive({\n selector: '[tuiSheetWrapper]',\n host: {\n '[$.class._overlay]': 'overlay$',\n '($.class._overlay)': 'overlay$',\n '[$.class._visible]': 'visible$',\n '($.class._visible)': 'visible$',\n '[$.style.height.px]': 'height$',\n '($.style.height.px)': 'height$',\n },\n})\nexport class TuiSheetWrapperDirective {\n // Trying to get overflow: visible as early as possible for Safari\n touched = false;\n\n @ContentChild(TuiSheetComponent)\n private readonly sheet?: TuiSheetComponent<unknown>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_DRAGGED})\n private readonly dragged$!: Observable<boolean>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_SCROLL})\n private readonly scroll$!: Observable<number>;\n\n constructor(\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_SHEET_OFFSET) private readonly offset: number,\n ) {}\n\n @tuiPure\n get overlay$(): Observable<boolean> {\n return this.scroll$.pipe(\n map(y => y + 16 > this.windowRef.innerHeight - this.offset),\n );\n }\n\n @tuiPure\n get visible$(): Observable<boolean> {\n return processDragged(this.dragged$, this.scroll$);\n }\n\n @tuiPure\n get height$(): Observable<number> {\n return this.scroll$.pipe(map(this.getHeight.bind(this)));\n }\n\n private getHeight(value: number): number {\n return clamp(this.withImage(value) + OFFSET, OFFSET, this.windowRef.innerHeight);\n }\n\n private withImage(value: number): number {\n return !this.sheet?.imageStop || Math.floor(value) > this.sheet.imageStop\n ? value\n : value - this.sheet.imageHeight;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n Inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {TuiSheet} from './sheet';\nimport {TuiSheetService} from './sheet.service';\nimport {TuiSheetOptions} from './sheet-options';\n\n@Directive({\n selector: 'ng-template[tuiSheet]',\n})\nexport class TuiSheetDirective extends PolymorpheusTemplate<TuiSheet<never>> {\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiSheetOptions')\n @tuiDefaultProp()\n options: Partial<TuiSheetOptions> = {};\n\n @Input()\n @tuiRequiredSetter()\n set tuiSheet(open: boolean) {\n this.open$.next(open);\n }\n\n @Output()\n tuiSheetChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TemplateRef) templateRef: TemplateRef<TuiSheet<never>>,\n @Inject(TuiSheetService) private readonly service: TuiSheetService,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {TuiLetModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiScrollbarModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSheetComponent} from './components/sheet/sheet.component';\nimport {TuiSheetBarComponent} from './components/sheet-bar/sheet-bar.component';\nimport {TuiSheetHeadingComponent} from './components/sheet-heading/sheet-heading.component';\nimport {TuiSheetsHostComponent} from './components/sheets-host/sheets-host.component';\nimport {TuiSheetCloseDirective} from './directives/sheet-close/sheet-close.directive';\nimport {TuiSheetStopDirective} from './directives/sheet-stop/sheet-stop.directive';\nimport {TuiSheetTopDirective} from './directives/sheet-top/sheet-top.directive';\nimport {TuiSheetWrapperDirective} from './directives/sheet-wrapper/sheet-wrapper.directive';\nimport {TuiSheetDirective} from './sheet.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiButtonModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n ],\n declarations: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetBarComponent,\n TuiSheetHeadingComponent,\n TuiSheetTopDirective,\n TuiSheetDirective,\n TuiSheetWrapperDirective,\n TuiSheetCloseDirective,\n TuiSheetStopDirective,\n ],\n exports: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetHeadingComponent,\n TuiSheetDirective,\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class TuiSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["OFFSET"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-android.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.component.ts","ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.module.ts","ng://@taiga-ui/addon-mobile/components/theme-android/taiga-ui-addon-mobile-components-theme-android.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-android',\n styleUrls: ['./theme-android.style.less'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThemeAndroidComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\nimport {TuiThemeAndroidComponent} from './theme-android.component';\n\n@NgModule({\n declarations: [TuiThemeAndroidComponent],\n exports: [TuiThemeAndroidComponent],\n})\nexport class TuiThemeAndroidModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;IAQa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,wBAAwB;EAAG;AAA5D,wBAAwB;IAPpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAE7B,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;QACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,wBAAwB,CAAoC;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-android.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.component.ts","ng://@taiga-ui/addon-mobile/components/theme-android/theme-android.module.ts","ng://@taiga-ui/addon-mobile/components/theme-android/taiga-ui-addon-mobile-components-theme-android.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-android',\n styleUrls: ['./theme-android.style.less'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThemeAndroidComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\n\nimport {TuiThemeAndroidComponent} from './theme-android.component';\n\n@NgModule({\n declarations: [TuiThemeAndroidComponent],\n exports: [TuiThemeAndroidComponent],\n})\nexport class TuiThemeAndroidModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;IAQa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,wBAAwB;EAAG;AAA5D,wBAAwB;IAPpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAE7B,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;QACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,wBAAwB,CAAoC;;ICH5D,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IAJjC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;KACtC,CAAC;GACW,qBAAqB,CAAG;;ACRrC;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-ios.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.component.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.module.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/taiga-ui-addon-mobile-components-theme-ios.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-ios',\n styleUrls: ['./theme-ios.style.less'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThemeIosComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\nimport {TuiThemeIosComponent} from './theme-ios.component';\n\n@NgModule({\n declarations: [TuiThemeIosComponent],\n exports: [TuiThemeIosComponent],\n})\nexport class TuiThemeIosModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;IAQa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,wBAAwB;EAAG;AAAxD,oBAAoB;IAPhC,SAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QAEzB,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;QACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,oBAAoB,CAAoC;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-theme-ios.js","sources":["ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.component.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/theme-ios.module.ts","ng://@taiga-ui/addon-mobile/components/theme-ios/taiga-ui-addon-mobile-components-theme-ios.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-ios',\n styleUrls: ['./theme-ios.style.less'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThemeIosComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\n\nimport {TuiThemeIosComponent} from './theme-ios.component';\n\n@NgModule({\n declarations: [TuiThemeIosComponent],\n exports: [TuiThemeIosComponent],\n})\nexport class TuiThemeIosModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;IAQa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,wBAAwB;EAAG;AAAxD,oBAAoB;IAPhC,SAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QAEzB,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;QACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,oBAAoB,CAAoC;;ICHxD,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAJ7B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;QACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;KAClC,CAAC;GACW,iBAAiB,CAAG;;ACRjC;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from '@taiga-ui/addon-mobile/components/mobile-dialog';
|
|
2
1
|
export * from '@taiga-ui/addon-mobile/components/mobile-calendar';
|
|
3
2
|
export * from '@taiga-ui/addon-mobile/components/mobile-calendar-dialog';
|
|
3
|
+
export * from '@taiga-ui/addon-mobile/components/mobile-dialog';
|
|
4
4
|
export * from '@taiga-ui/addon-mobile/components/pull-to-refresh';
|
|
5
5
|
export * from '@taiga-ui/addon-mobile/components/sheet';
|
|
6
6
|
export * from '@taiga-ui/addon-mobile/components/theme-android';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-elastic-sticky.js","sources":["ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.service.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.directive.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.module.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n getElementOffset,\n TuiDestroyService,\n tuiZoneOptimized,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {SCROLL_REF_SELECTOR, TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable()\nexport class TuiElasticStickyService extends Observable<number> {\n constructor(\n @Optional()\n @Inject(TUI_SCROLL_REF)\n scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n super(subscriber =>\n ngZone.onStable\n .pipe(\n take(1),\n switchMap(() => {\n const closest = nativeElement.closest(SCROLL_REF_SELECTOR);\n const host = scrollRef?.nativeElement ?? closest;\n const {offsetHeight} = nativeElement;\n const offsetTop = this.getInitialOffset(\n host || windowRef,\n nativeElement,\n );\n\n return typedFromEvent(host || windowRef, 'scroll').pipe(\n map(() =>\n Math.max(\n 1 -\n Math.max(\n Math.round(\n host\n ? host.scrollTop\n : windowRef.pageYOffset,\n ) - offsetTop,\n 0,\n ) /\n offsetHeight,\n 0,\n ),\n ),\n );\n }),\n startWith(1),\n distinctUntilChanged(),\n takeUntil(destroy$),\n skip(1),\n tuiZoneOptimized(ngZone),\n )\n .subscribe(subscriber),\n );\n }\n\n private getInitialOffset(host: Element | Window, element: HTMLElement): number {\n // TODO: iframe warning\n return host instanceof Element\n ? getElementOffset(host, element).offsetTop\n : element.getBoundingClientRect().top;\n }\n}\n","import {Directive, Inject, Output} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {TuiElasticStickyService} from './elastic-sticky.service';\n\n@Directive({\n selector: '[tuiElasticSticky]',\n exportAs: 'tuiElasticSticky',\n providers: [TuiElasticStickyService, TuiDestroyService],\n})\nexport class TuiElasticStickyDirective {\n @Output()\n readonly tuiElasticSticky: Observable<number>;\n\n constructor(\n @Inject(TuiElasticStickyService) elasticStickyService: TuiElasticStickyService,\n ) {\n this.tuiElasticSticky = elasticStickyService;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiElasticStickyDirective} from './elastic-sticky.directive';\n\n@NgModule({\n declarations: [TuiElasticStickyDirective],\n exports: [TuiElasticStickyDirective],\n})\nexport class TuiElasticStickyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAoBA;IAEa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,UAAkB;IAC3D,YAGI,SAAyC,EACrB,EAAC,aAAa,EAA0B,EAC5C,MAAc,EACd,SAAiB,EACN,QAA2B;QAEtD,KAAK,CAAC,UAAU,IACZ,MAAM,CAAC,QAAQ;aACV,IAAI,CACD,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC;;YACN,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,IAAI,SAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,mCAAI,OAAO,CAAC;YACjD,MAAM,EAAC,YAAY,EAAC,GAAG,aAAa,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CACnC,IAAI,IAAI,SAAS,EACjB,aAAa,CAChB,CAAC;YAEF,OAAO,cAAc,CAAC,IAAI,IAAI,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,CACnD,GAAG,CAAC,MACA,IAAI,CAAC,GAAG,CACJ,CAAC;gBACG,IAAI,CAAC,GAAG,CACJ,IAAI,CAAC,KAAK,CACN,IAAI;sBACE,IAAI,CAAC,SAAS;sBACd,SAAS,CAAC,WAAW,CAC9B,GAAG,SAAS,EACb,CAAC,CACJ;oBACG,YAAY,EACpB,CAAC,CACJ,CACJ,CACJ,CAAC;SACL,CAAC,EACF,SAAS,CAAC,CAAC,CAAC,EACZ,oBAAoB,EAAE,EACtB,SAAS,CAAC,QAAQ,CAAC,EACnB,IAAI,CAAC,CAAC,CAAC,EACP,gBAAgB,CAAC,MAAM,CAAC,CAC3B;aACA,SAAS,CAAC,UAAU,CAAC,CAC7B,CAAC;KACL;IAEO,gBAAgB,CAAC,IAAsB,EAAE,OAAoB;;QAEjE,OAAO,IAAI,YAAY,OAAO;cACxB,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS;cACzC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;KAC7C;EACJ;;YArDkB,UAAU,uBAFpB,QAAQ,YACR,MAAM,SAAC,cAAc;YAEe,UAAU,uBAA9C,MAAM,SAAC,UAAU;YACM,MAAM,uBAA7B,MAAM,SAAC,MAAM;YACa,MAAM,uBAAhC,MAAM,SAAC,MAAM;YACuB,iBAAiB,uBAArD,MAAM,SAAC,iBAAiB;;AARpB,uBAAuB;IADnC,UAAU,EAAE;IAGJ,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GARrB,uBAAuB,CAyDnC;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-elastic-sticky.js","sources":["ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.service.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.directive.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/elastic-sticky.module.ts","ng://@taiga-ui/addon-mobile/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n getElementOffset,\n TuiDestroyService,\n tuiZoneOptimized,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {SCROLL_REF_SELECTOR, TUI_SCROLL_REF} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\n// @dynamic\n@Injectable()\nexport class TuiElasticStickyService extends Observable<number> {\n constructor(\n @Optional()\n @Inject(TUI_SCROLL_REF)\n scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n super(subscriber =>\n ngZone.onStable\n .pipe(\n take(1),\n switchMap(() => {\n const closest = nativeElement.closest(SCROLL_REF_SELECTOR);\n const host = scrollRef?.nativeElement ?? closest;\n const {offsetHeight} = nativeElement;\n const offsetTop = this.getInitialOffset(\n host || windowRef,\n nativeElement,\n );\n\n return typedFromEvent(host || windowRef, 'scroll').pipe(\n map(() =>\n Math.max(\n 1 -\n Math.max(\n Math.round(\n host\n ? host.scrollTop\n : windowRef.pageYOffset,\n ) - offsetTop,\n 0,\n ) /\n offsetHeight,\n 0,\n ),\n ),\n );\n }),\n startWith(1),\n distinctUntilChanged(),\n takeUntil(destroy$),\n skip(1),\n tuiZoneOptimized(ngZone),\n )\n .subscribe(subscriber),\n );\n }\n\n private getInitialOffset(host: Element | Window, element: HTMLElement): number {\n // TODO: iframe warning\n return host instanceof Element\n ? getElementOffset(host, element).offsetTop\n : element.getBoundingClientRect().top;\n }\n}\n","import {Directive, Inject, Output} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nimport {TuiElasticStickyService} from './elastic-sticky.service';\n\n@Directive({\n selector: '[tuiElasticSticky]',\n exportAs: 'tuiElasticSticky',\n providers: [TuiElasticStickyService, TuiDestroyService],\n})\nexport class TuiElasticStickyDirective {\n @Output()\n readonly tuiElasticSticky: Observable<number>;\n\n constructor(\n @Inject(TuiElasticStickyService) elasticStickyService: TuiElasticStickyService,\n ) {\n this.tuiElasticSticky = elasticStickyService;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiElasticStickyDirective} from './elastic-sticky.directive';\n\n@NgModule({\n declarations: [TuiElasticStickyDirective],\n exports: [TuiElasticStickyDirective],\n})\nexport class TuiElasticStickyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts","ng://@taiga-ui/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_ANDROID,\n TuiDestroyService,\n typedFromEvent,\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';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_IS_ANDROID, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(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\nexport function rippleEndFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\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 @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\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<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(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';\nimport {TuiRippleDirective} from './ripple.directive';\n\n@NgModule({\n declarations: [TuiRippleDirective],\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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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["ng://@taiga-ui/addon-mobile/directives/ripple/ripple.providers.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.directive.ts","ng://@taiga-ui/addon-mobile/directives/ripple/ripple.module.ts","ng://@taiga-ui/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n isPresent,\n TUI_IS_ANDROID,\n TuiDestroyService,\n typedFromEvent,\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';\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to add',\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n 'Stream of ripple elements to remove',\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_IS_ANDROID, ElementRef, Renderer2],\n useFactory: rippleStartFactory,\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_IS_ANDROID, ElementRef, TuiDestroyService],\n useFactory: rippleEndFactory,\n },\n];\n\nexport function rippleStartFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n): Observable<HTMLElement> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(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\nexport function rippleEndFactory(\n isAndroid: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n): Observable<EventTarget> {\n return !isAndroid\n ? EMPTY\n : typedFromEvent(nativeElement, 'animationend').pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(isPresent),\n takeUntil(destroy$),\n );\n}\n","import {Directive, ElementRef, Inject, Input, Renderer2} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {Observable, race, timer} from 'rxjs';\nimport {\n mapTo,\n mergeMap,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nimport {\n RIPPLE_OFF,\n RIPPLE_ON,\n TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\n\nconst TOUCH_MOVE_DELAY = 100;\nconst STYLE = `\n@keyframes ${RIPPLE_ON} {\n from {\n transform: scale(0);\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0.12;\n }\n}\n\n@keyframes ${RIPPLE_OFF} {\n from {\n transform: none;\n opacity: 0.12;\n }\n\n to {\n transform: none;\n opacity: 0;\n }\n}\n\n*[tuiRipple] {\n position: relative;\n overflow: hidden;\n}\n\n.tui-ripple {\n position: absolute;\n border-radius: 100%;\n background: currentColor;\n z-index: 100;\n transform: scale(0);\n animation-duration: 450ms;\n animation-fill-mode: forwards;\n pointer-events: none;\n}\n`;\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 @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiRippleDirective');\n\n const touchEnd$ = typedFromEvent(nativeElement, 'touchend');\n const touchMove$ = typedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = typedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\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<unknown>(\n touchEnd$.pipe(switchMapTo(animationEndOn$)),\n animationEndOn$.pipe(switchMapTo(touchEnd$)),\n ),\n ),\n mapTo(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';\n\n@NgModule({\n declarations: [TuiRippleDirective],\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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"}
|
|
@@ -106,10 +106,10 @@ __decorate([
|
|
|
106
106
|
TuiSidebarComponent = __decorate([
|
|
107
107
|
Component({
|
|
108
108
|
selector: 'aside[tuiSidebar]',
|
|
109
|
-
template: "<div\n polymorpheus-outlet\n class=\"t-wrapper\"\n
|
|
109
|
+
template: "<div\n polymorpheus-outlet\n tuiActiveZone\n class=\"t-wrapper\"\n [content]=\"content\"\n [class.t-wrapper_auto-width]=\"autoWidth\"\n></div>\n",
|
|
110
110
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
111
111
|
animations: [tuiSlideIn],
|
|
112
|
-
styles: [":host{position:fixed;top:0;left:0;width:100%;height:100%;display:flex}:host:after,:host:before{position:absolute;top:0;left:0;width:100%;
|
|
112
|
+
styles: [":host{position:fixed;top:0;left:0;width:100%;height:100%;display:flex}:host:after,:host:before{position:absolute;top:0;left:0;width:100%;content:'';height:100vh;background:rgba(0,0,0,.38);-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:before{left:-100%;width:200%}:host:after{left:100%}:host.ng-animating:after,:host.ng-animating:before{opacity:0;transition:opacity var(--tui-duration)}:host.right{justify-content:flex-end}:host.left{justify-content:flex-start}.t-wrapper{position:relative;display:flex;flex-direction:column;background:var(--tui-base-01);box-shadow:0 10rem var(--tui-base-01);width:17.25rem}.t-wrapper_auto-width{width:auto}"]
|
|
113
113
|
}),
|
|
114
114
|
__param(0, Inject(TUI_ANIMATION_OPTIONS)),
|
|
115
115
|
__param(1, Inject(TuiSidebarDirective))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-sidebar.js","sources":["ng://@taiga-ui/addon-mobile/directives/sidebar/sidebar.directive.ts","ng://@taiga-ui/addon-mobile/directives/sidebar/sidebar.component.ts","ng://@taiga-ui/addon-mobile/directives/sidebar/sidebar.module.ts","ng://@taiga-ui/addon-mobile/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Inject,\n Injector,\n Input,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk';\nimport {TuiHorizontalDirection} from '@taiga-ui/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {TuiSidebarComponent} from './sidebar.component';\n\n@Directive({\n selector: '[tuiSidebar]',\n})\nexport class TuiSidebarDirective extends PolymorpheusTemplate<{}> implements OnDestroy {\n @Input('tuiSidebarDirection')\n direction: TuiHorizontalDirection = 'left';\n\n @Input('tuiSidebarAutoWidth')\n autoWidth = false;\n\n @Input()\n set tuiSidebar(open: boolean) {\n if (open) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n private sidebarRef: ComponentRef<TuiSidebarComponent> | null = null;\n\n constructor(\n @Inject(TemplateRef) readonly content: TemplateRef<{}>,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(ComponentFactoryResolver)\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n @Inject(TuiPortalService) private readonly portalService: TuiPortalService,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(content, changeDetectorRef);\n }\n\n ngOnDestroy() {\n this.hide();\n }\n\n private show() {\n if (this.sidebarRef !== null) {\n return;\n }\n\n const componentFactory =\n this.componentFactoryResolver.resolveComponentFactory(TuiSidebarComponent);\n\n this.sidebarRef = this.portalService.add(componentFactory, this.injector);\n this.sidebarRef.changeDetectorRef.detectChanges();\n }\n\n private hide() {\n if (this.sidebarRef === null) {\n return;\n }\n\n this.portalService.remove(this.sidebarRef);\n this.sidebarRef = null;\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {\n TUI_ANIMATION_OPTIONS,\n TuiAnimationOptions,\n TuiHorizontalDirection,\n tuiSlideIn,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiSidebarDirective} from './sidebar.directive';\n\n// @dynamic\n@Component({\n selector: 'aside[tuiSidebar]',\n templateUrl: './sidebar.template.html',\n styleUrls: ['./sidebar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideIn],\n})\nexport class TuiSidebarComponent implements DoCheck {\n private readonly left = {\n value: 'left',\n ...this.options,\n } as const;\n\n private readonly right = {\n value: 'right',\n ...this.options,\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(TuiSidebarDirective) private readonly directive: TuiSidebarDirective,\n ) {}\n\n @HostBinding('@tuiSlideIn')\n get animation(): TuiAnimationOptions {\n return this.direction === 'left' ? this.left : this.right;\n }\n\n @HostBinding('class')\n get direction(): TuiHorizontalDirection {\n return this.directive.direction;\n }\n\n get content(): PolymorpheusContent {\n return this.directive.content;\n }\n\n get autoWidth(): boolean {\n return this.directive.autoWidth;\n }\n\n ngDoCheck() {\n this.directive.check();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiSidebarComponent} from './sidebar.component';\nimport {TuiSidebarDirective} from './sidebar.directive';\n\n@NgModule({\n imports: [TuiActiveZoneModule, PolymorpheusModule],\n declarations: [TuiSidebarDirective, TuiSidebarComponent],\n entryComponents: [TuiSidebarComponent],\n exports: [TuiSidebarDirective],\n})\nexport class TuiSidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-sidebar.js","sources":["ng://@taiga-ui/addon-mobile/directives/sidebar/sidebar.directive.ts","ng://@taiga-ui/addon-mobile/directives/sidebar/sidebar.component.ts","ng://@taiga-ui/addon-mobile/directives/sidebar/sidebar.module.ts","ng://@taiga-ui/addon-mobile/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Inject,\n Injector,\n Input,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk';\nimport {TuiHorizontalDirection} from '@taiga-ui/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSidebarComponent} from './sidebar.component';\n\n@Directive({\n selector: '[tuiSidebar]',\n})\nexport class TuiSidebarDirective extends PolymorpheusTemplate<{}> implements OnDestroy {\n @Input('tuiSidebarDirection')\n direction: TuiHorizontalDirection = 'left';\n\n @Input('tuiSidebarAutoWidth')\n autoWidth = false;\n\n @Input()\n set tuiSidebar(open: boolean) {\n if (open) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n private sidebarRef: ComponentRef<TuiSidebarComponent> | null = null;\n\n constructor(\n @Inject(TemplateRef) readonly content: TemplateRef<{}>,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(ComponentFactoryResolver)\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n @Inject(TuiPortalService) private readonly portalService: TuiPortalService,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(content, changeDetectorRef);\n }\n\n ngOnDestroy() {\n this.hide();\n }\n\n private show() {\n if (this.sidebarRef !== null) {\n return;\n }\n\n const componentFactory =\n this.componentFactoryResolver.resolveComponentFactory(TuiSidebarComponent);\n\n this.sidebarRef = this.portalService.add(componentFactory, this.injector);\n this.sidebarRef.changeDetectorRef.detectChanges();\n }\n\n private hide() {\n if (this.sidebarRef === null) {\n return;\n }\n\n this.portalService.remove(this.sidebarRef);\n this.sidebarRef = null;\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {\n TUI_ANIMATION_OPTIONS,\n TuiAnimationOptions,\n TuiHorizontalDirection,\n tuiSlideIn,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSidebarDirective} from './sidebar.directive';\n\n// @dynamic\n@Component({\n selector: 'aside[tuiSidebar]',\n templateUrl: './sidebar.template.html',\n styleUrls: ['./sidebar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideIn],\n})\nexport class TuiSidebarComponent implements DoCheck {\n private readonly left = {\n value: 'left',\n ...this.options,\n } as const;\n\n private readonly right = {\n value: 'right',\n ...this.options,\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(TuiSidebarDirective) private readonly directive: TuiSidebarDirective,\n ) {}\n\n @HostBinding('@tuiSlideIn')\n get animation(): TuiAnimationOptions {\n return this.direction === 'left' ? this.left : this.right;\n }\n\n @HostBinding('class')\n get direction(): TuiHorizontalDirection {\n return this.directive.direction;\n }\n\n get content(): PolymorpheusContent {\n return this.directive.content;\n }\n\n get autoWidth(): boolean {\n return this.directive.autoWidth;\n }\n\n ngDoCheck() {\n this.directive.check();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSidebarComponent} from './sidebar.component';\nimport {TuiSidebarDirective} from './sidebar.directive';\n\n@NgModule({\n imports: [TuiActiveZoneModule, PolymorpheusModule],\n declarations: [TuiSidebarDirective, TuiSidebarComponent],\n entryComponents: [TuiSidebarComponent],\n exports: [TuiSidebarDirective],\n})\nexport class TuiSidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-touchable.js","sources":["ng://@taiga-ui/addon-mobile/directives/touchable/touchable.directive.ts","ng://@taiga-ui/addon-mobile/directives/touchable/touchable.module.ts","ng://@taiga-ui/addon-mobile/directives/touchable/taiga-ui-addon-mobile-directives-touchable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Input, Optional, Renderer2} from '@angular/core';\nimport {TuiTouchModeT} from '@taiga-ui/addon-mobile/types';\nimport {findTouchIndex} from '@taiga-ui/addon-mobile/utils';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {race} from 'rxjs';\nimport {filter, map, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nconst STYLE = {\n transform: 'scale(0.95)',\n opacity: '0.6',\n background: 'rgba(146, 153, 162, 0.12)',\n} as const;\n\n@Directive({\n selector: '[tuiTouchable]',\n providers: [TuiDestroyService],\n})\nexport class TuiTouchableDirective {\n @Input()\n @tuiDefaultProp()\n tuiTouchable: TuiTouchModeT | '' = '';\n\n constructor(\n @Optional() @Inject(TUI_ELEMENT_REF) elementRef: ElementRef<HTMLElement> | null,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!isIos) {\n return;\n }\n\n const element = elementRef ? elementRef.nativeElement : nativeElement;\n\n typedFromEvent(element, 'touchstart', {passive: true})\n .pipe(\n tap(() => {\n this.onTouchStart(renderer, element);\n }),\n map(({touches}) => touches[touches.length - 1].identifier),\n switchMap(identifier =>\n race(\n typedFromEvent(element, 'touchmove', {passive: true}).pipe(\n filter(({touches}) =>\n this.hasTouchLeft(element, touches, identifier),\n ),\n ),\n typedFromEvent(element, 'touchend'),\n ).pipe(take(1)),\n ),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n renderer.removeStyle(element, 'transform');\n renderer.removeStyle(element, 'opacity');\n renderer.removeStyle(element, 'background');\n });\n }\n\n get style(): TuiTouchModeT {\n return this.tuiTouchable || 'transform';\n }\n\n private hasTouchLeft(\n element: HTMLElement,\n touches: TouchList,\n identifier: number,\n ): boolean {\n const {ownerDocument} = element;\n const id = findTouchIndex(touches, identifier);\n\n if (!ownerDocument || id === -1) {\n return true;\n }\n\n const {clientX, clientY} = touches[id];\n\n return !element.contains(ownerDocument.elementFromPoint(clientX, clientY));\n }\n\n private onTouchStart(renderer: Renderer2, element: HTMLElement) {\n if (this.style !== 'transform') {\n renderer.removeStyle(element, 'transition');\n } else {\n renderer.setStyle(element, 'transition', 'transform 0.2s');\n }\n\n renderer.setStyle(element, this.style, STYLE[this.style]);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiTouchableDirective} from './touchable.directive';\n\n@NgModule({\n declarations: [TuiTouchableDirective],\n exports: [TuiTouchableDirective],\n})\nexport class TuiTouchableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-touchable.js","sources":["ng://@taiga-ui/addon-mobile/directives/touchable/touchable.directive.ts","ng://@taiga-ui/addon-mobile/directives/touchable/touchable.module.ts","ng://@taiga-ui/addon-mobile/directives/touchable/taiga-ui-addon-mobile-directives-touchable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Input, Optional, Renderer2} from '@angular/core';\nimport {TuiTouchModeT} from '@taiga-ui/addon-mobile/types';\nimport {findTouchIndex} from '@taiga-ui/addon-mobile/utils';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {race} from 'rxjs';\nimport {filter, map, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nconst STYLE = {\n transform: 'scale(0.95)',\n opacity: '0.6',\n background: 'rgba(146, 153, 162, 0.12)',\n} as const;\n\n@Directive({\n selector: '[tuiTouchable]',\n providers: [TuiDestroyService],\n})\nexport class TuiTouchableDirective {\n @Input()\n @tuiDefaultProp()\n tuiTouchable: TuiTouchModeT | '' = '';\n\n constructor(\n @Optional() @Inject(TUI_ELEMENT_REF) elementRef: ElementRef<HTMLElement> | null,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!isIos) {\n return;\n }\n\n const element = elementRef ? elementRef.nativeElement : nativeElement;\n\n typedFromEvent(element, 'touchstart', {passive: true})\n .pipe(\n tap(() => {\n this.onTouchStart(renderer, element);\n }),\n map(({touches}) => touches[touches.length - 1].identifier),\n switchMap(identifier =>\n race(\n typedFromEvent(element, 'touchmove', {passive: true}).pipe(\n filter(({touches}) =>\n this.hasTouchLeft(element, touches, identifier),\n ),\n ),\n typedFromEvent(element, 'touchend'),\n ).pipe(take(1)),\n ),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n renderer.removeStyle(element, 'transform');\n renderer.removeStyle(element, 'opacity');\n renderer.removeStyle(element, 'background');\n });\n }\n\n get style(): TuiTouchModeT {\n return this.tuiTouchable || 'transform';\n }\n\n private hasTouchLeft(\n element: HTMLElement,\n touches: TouchList,\n identifier: number,\n ): boolean {\n const {ownerDocument} = element;\n const id = findTouchIndex(touches, identifier);\n\n if (!ownerDocument || id === -1) {\n return true;\n }\n\n const {clientX, clientY} = touches[id];\n\n return !element.contains(ownerDocument.elementFromPoint(clientX, clientY));\n }\n\n private onTouchStart(renderer: Renderer2, element: HTMLElement) {\n if (this.style !== 'transform') {\n renderer.removeStyle(element, 'transition');\n } else {\n renderer.setStyle(element, 'transition', 'transform 0.2s');\n }\n\n renderer.setStyle(element, this.style, STYLE[this.style]);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiTouchableDirective} from './touchable.directive';\n\n@NgModule({\n declarations: [TuiTouchableDirective],\n exports: [TuiTouchableDirective],\n})\nexport class TuiTouchableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|