@taiga-ui/addon-mobile 3.14.0-dev.main-3f74fe5 → 3.14.0-dev.main-49a682e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.js +3 -3
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js +20 -20
- package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js +4 -4
- package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js +9 -9
- package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js +47 -47
- package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.js +4 -4
- package/bundles/taiga-ui-addon-mobile-components-theme-android.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.js +4 -4
- package/bundles/taiga-ui-addon-mobile-components-theme-ios.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js +2 -2
- package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-mobile-tabs.umd.js +7 -7
- package/bundles/taiga-ui-addon-mobile-directives-mobile-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js +9 -9
- package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js +12 -12
- package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.js +15 -15
- package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.js +4 -4
- package/bundles/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.umd.js.map +1 -1
- package/esm2015/components/mobile-calendar/mobile-calendar.component.js +21 -21
- package/esm2015/components/mobile-calendar-dialog/mobile-calendar-dialog.component.js +4 -4
- package/esm2015/components/mobile-dialog/mobile-dialog.component.js +5 -5
- package/esm2015/components/pull-to-refresh/loader-android/loader-android.component.js +5 -5
- package/esm2015/components/pull-to-refresh/loader-ios/loader-ios.component.js +3 -3
- package/esm2015/components/pull-to-refresh/pull-to-refresh.component.js +4 -4
- package/esm2015/components/sheet/components/sheet/sheet.component.js +15 -15
- package/esm2015/components/sheet/components/sheet-bar/sheet-bar.component.js +4 -4
- package/esm2015/components/sheet/components/sheet-heading/sheet-heading.component.js +6 -6
- package/esm2015/components/sheet/components/sheets-host/sheets-host.component.js +4 -4
- package/esm2015/components/sheet/directives/sheet-close/sheet-close.directive.js +2 -2
- package/esm2015/components/sheet/directives/sheet-stop/sheet-stop.directive.js +5 -5
- package/esm2015/components/sheet/directives/sheet-top/sheet-top.directive.js +9 -9
- package/esm2015/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.js +8 -8
- package/esm2015/components/sheet/sheet.directive.js +3 -3
- package/esm2015/components/theme-android/theme-android.component.js +5 -5
- package/esm2015/components/theme-ios/theme-ios.component.js +5 -5
- package/esm2015/directives/elastic-sticky/elastic-sticky.directive.js +3 -3
- package/esm2015/directives/mobile-tabs/mobile-tabs.component.js +4 -4
- package/esm2015/directives/mobile-tabs/mobile-tabs.directive.js +5 -5
- package/esm2015/directives/ripple/ripple-styles.component.js +4 -4
- package/esm2015/directives/ripple/ripple.directive.js +7 -7
- package/esm2015/directives/sidebar/sidebar.component.js +9 -9
- package/esm2015/directives/sidebar/sidebar.directive.js +5 -5
- package/esm2015/directives/touchable/touchable.directive.js +15 -15
- package/esm2015/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.js +5 -5
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar-dialog.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 +20 -20
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js +4 -4
- package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js +9 -9
- package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js +47 -47
- package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-theme-android.js +4 -4
- package/fesm2015/taiga-ui-addon-mobile-components-theme-android.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-components-theme-ios.js +4 -4
- package/fesm2015/taiga-ui-addon-mobile-components-theme-ios.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js +2 -2
- package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-mobile-tabs.js +7 -7
- package/fesm2015/taiga-ui-addon-mobile-directives-mobile-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js +9 -9
- package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js +12 -12
- package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-directives-touchable.js +14 -14
- package/fesm2015/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
- package/fesm2015/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js +4 -4
- package/fesm2015/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-elastic-sticky.js","sources":["../../../projects/addon-mobile/directives/elastic-sticky/elastic-sticky.service.ts","../../../projects/addon-mobile/directives/elastic-sticky/elastic-sticky.directive.ts","../../../projects/addon-mobile/directives/elastic-sticky/elastic-sticky.module.ts","../../../projects/addon-mobile/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone, Optional, Self} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TuiDestroyService,\n tuiGetElementOffset,\n tuiTypedFromEvent,\n tuiZoneOptimized,\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@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 @Self() @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 tuiTypedFromEvent(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 skip(1),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n private getInitialOffset(host: Element | Window, element: HTMLElement): number {\n return `nodeType` in host\n ? tuiGetElementOffset(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:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-elastic-sticky.js","sources":["../../../projects/addon-mobile/directives/elastic-sticky/elastic-sticky.service.ts","../../../projects/addon-mobile/directives/elastic-sticky/elastic-sticky.directive.ts","../../../projects/addon-mobile/directives/elastic-sticky/elastic-sticky.module.ts","../../../projects/addon-mobile/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone, Optional, Self} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TuiDestroyService,\n tuiGetElementOffset,\n tuiTypedFromEvent,\n tuiZoneOptimized,\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@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 @Self() @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 tuiTypedFromEvent(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 skip(1),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n private getInitialOffset(host: Element | Window, element: HTMLElement): number {\n return `nodeType` in host\n ? tuiGetElementOffset(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":";;;;;;;;;AAqBM,MAAO,uBAAwB,SAAQ,UAAkB,CAAA;IAC3D,WAGI,CAAA,SAAyC,EACrB,EAAC,aAAa,EAA0B,EAC5C,MAAc,EACd,SAAiB,EACE,QAA2B,EAAA;AAE9D,QAAA,KAAK,CAAC,UAAU,IACZ,MAAM,CAAC,QAAQ;aACV,IAAI,CACD,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,MAAK;YACX,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC3D,YAAA,MAAM,IAAI,GAAG,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,aAAa,KAAI,OAAO,CAAC;AACjD,YAAA,MAAM,EAAC,YAAY,EAAC,GAAG,aAAa,CAAC;AACrC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CACnC,IAAI,IAAI,SAAS,EACjB,aAAa,CAChB,CAAC;YAEF,OAAO,iBAAiB,CAAC,IAAI,IAAI,SAAS,EAAE,CAAA,MAAA,CAAQ,CAAC,CAAC,IAAI,CACtD,GAAG,CAAC,MACA,IAAI,CAAC,GAAG,CACJ,CAAC;AACG,gBAAA,IAAI,CAAC,GAAG,CACJ,IAAI,CAAC,KAAK,CACN,IAAI;sBACE,IAAI,CAAC,SAAS;sBACd,SAAS,CAAC,WAAW,CAC9B,GAAG,SAAS,EACb,CAAC,CACJ;AACG,oBAAA,YAAY,EACpB,CAAC,CACJ,CACJ,CACJ,CAAC;SACL,CAAC,EACF,SAAS,CAAC,CAAC,CAAC,EACZ,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,EACP,gBAAgB,CAAC,MAAM,CAAC,EACxB,SAAS,CAAC,QAAQ,CAAC,CACtB;AACA,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B,CAAC;KACL;IAEO,gBAAgB,CAAC,IAAsB,EAAE,OAAoB,EAAA;QACjE,OAAO,CAAA,QAAA,CAAU,IAAI,IAAI;cACnB,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS;AAC9C,cAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;KAC7C;;qHAvDQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAGpB,cAAc,EAEd,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,UAAU,aACV,MAAM,EAAA,EAAA,EAAA,KAAA,EACN,MAAM,EAAA,EAAA,EAAA,KAAA,EACE,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;yHAR5B,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;0BAGF,QAAQ;;0BACR,MAAM;2BAAC,cAAc,CAAA;;0BAErB,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,MAAM,CAAA;8BACa,MAAM,EAAA,UAAA,EAAA,CAAA;0BAAhC,MAAM;2BAAC,MAAM,CAAA;;0BACb,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;;MClB5B,yBAAyB,CAAA;AAIlC,IAAA,WAAA,CACqC,oBAA6C,EAAA;AAE9E,QAAA,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;KAChD;;AARQ,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAKtB,uBAAuB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAL1B,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAFvB,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE9C,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;AAC1D,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,uBAAuB,CAAA;4CAH1B,gBAAgB,EAAA,CAAA;sBADxB,MAAM;;;MCJE,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHhB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAC9B,yBAAyB,CAAA,EAAA,CAAA,CAAA;qHAE1B,sBAAsB,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACvC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -7,12 +7,12 @@ import { TUI_TAB_MARGIN } from '@taiga-ui/kit';
|
|
|
7
7
|
class TuiMobileTabsComponent {
|
|
8
8
|
}
|
|
9
9
|
TuiMobileTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMobileTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
TuiMobileTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiMobileTabsComponent, selector: "ng-component", ngImport: i0, template:
|
|
10
|
+
TuiMobileTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiMobileTabsComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: ["tui-tabs[tuiMobileTabs][data-platform=android],[tuiMobileTabs] tui-tabs[data-platform=android]{height:auto}tui-tabs[tuiMobileTabs][data-platform=android] tui-underline,[tuiMobileTabs] tui-tabs[data-platform=android] tui-underline{box-shadow:inset 0 -.1875rem var(--tui-link)}tui-tabs[tuiMobileTabs][data-platform=android] [tuiTab],[tuiMobileTabs] tui-tabs[data-platform=android] [tuiTab]{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}tui-tabs[tuiMobileTabs][data-platform=android] [tuiTab]:hover,[tuiMobileTabs] tui-tabs[data-platform=android] [tuiTab]:hover{box-shadow:none}tui-tabs[tuiMobileTabs][data-platform=android] [tuiTab]._active,[tuiMobileTabs] tui-tabs[data-platform=android] [tuiTab]._active{opacity:1;color:var(--tui-base-09)}tui-tabs[tuiMobileTabs][data-platform=ios],[tuiMobileTabs] tui-tabs[data-platform=ios]{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}tui-tabs[tuiMobileTabs][data-platform=ios] tui-underline,[tuiMobileTabs] tui-tabs[data-platform=ios] tui-underline{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}tui-tabs[tuiMobileTabs][data-platform=ios] [tuiTab],[tuiMobileTabs] tui-tabs[data-platform=ios] [tuiTab]{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}tui-tabs[tuiMobileTabs][data-platform=ios] [tuiTab]:hover,[tuiMobileTabs] tui-tabs[data-platform=ios] [tuiTab]:hover{box-shadow:none}tui-tabs[tuiMobileTabs][data-platform=ios] [tuiTab]._active,[tuiMobileTabs] tui-tabs[data-platform=ios] [tuiTab]._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMobileTabsComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{
|
|
14
|
-
template:
|
|
15
|
-
styleUrls: [
|
|
14
|
+
template: '',
|
|
15
|
+
styleUrls: ['mobile-tabs.style.less'],
|
|
16
16
|
encapsulation: ViewEncapsulation.None,
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
@@ -25,10 +25,10 @@ class TuiMobileTabsDirective {
|
|
|
25
25
|
}
|
|
26
26
|
get platform() {
|
|
27
27
|
if (this.isIos) {
|
|
28
|
-
return
|
|
28
|
+
return 'ios';
|
|
29
29
|
}
|
|
30
30
|
if (this.isAndroid) {
|
|
31
|
-
return
|
|
31
|
+
return 'android';
|
|
32
32
|
}
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
@@ -43,7 +43,7 @@ TuiMobileTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0",
|
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMobileTabsDirective, decorators: [{
|
|
44
44
|
type: Directive,
|
|
45
45
|
args: [{
|
|
46
|
-
selector:
|
|
46
|
+
selector: '[tuiMobileTabs]',
|
|
47
47
|
providers: [
|
|
48
48
|
{
|
|
49
49
|
provide: TUI_TAB_MARGIN,
|
|
@@ -62,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
62
62
|
args: [TuiDirectiveStylesService]
|
|
63
63
|
}] }]; }, propDecorators: { platform: [{
|
|
64
64
|
type: HostBinding,
|
|
65
|
-
args: [
|
|
65
|
+
args: ['attr.data-platform']
|
|
66
66
|
}] } });
|
|
67
67
|
|
|
68
68
|
class TuiMobileTabsModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-mobile-tabs.js","sources":["../../../projects/addon-mobile/directives/mobile-tabs/mobile-tabs.component.ts","../../../projects/addon-mobile/directives/mobile-tabs/mobile-tabs.directive.ts","../../../projects/addon-mobile/directives/mobile-tabs/mobile-tabs.module.ts","../../../projects/addon-mobile/directives/mobile-tabs/taiga-ui-addon-mobile-directives-mobile-tabs.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-mobile-tabs.js","sources":["../../../projects/addon-mobile/directives/mobile-tabs/mobile-tabs.component.ts","../../../projects/addon-mobile/directives/mobile-tabs/mobile-tabs.directive.ts","../../../projects/addon-mobile/directives/mobile-tabs/mobile-tabs.module.ts","../../../projects/addon-mobile/directives/mobile-tabs/taiga-ui-addon-mobile-directives-mobile-tabs.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: '',\n styleUrls: ['mobile-tabs.style.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiMobileTabsComponent {}\n","import {Directive, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_ANDROID, TUI_IS_IOS, TuiDirectiveStylesService} from '@taiga-ui/cdk';\nimport {TUI_TAB_MARGIN} from '@taiga-ui/kit';\n\nimport {TuiMobileTabsComponent} from './mobile-tabs.component';\n\n@Directive({\n selector: '[tuiMobileTabs]',\n providers: [\n {\n provide: TUI_TAB_MARGIN,\n useValue: 0,\n },\n ],\n})\nexport class TuiMobileTabsDirective {\n constructor(\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(TUI_IS_ANDROID) private readonly isAndroid: boolean,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiMobileTabsComponent);\n }\n\n @HostBinding('attr.data-platform')\n get platform(): 'android' | 'ios' | null {\n if (this.isIos) {\n return 'ios';\n }\n\n if (this.isAndroid) {\n return 'android';\n }\n\n return null;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMobileTabsComponent} from './mobile-tabs.component';\nimport {TuiMobileTabsDirective} from './mobile-tabs.directive';\n\n@NgModule({\n declarations: [TuiMobileTabsDirective, TuiMobileTabsComponent],\n exports: [TuiMobileTabsDirective, TuiMobileTabsComponent],\n})\nexport class TuiMobileTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -52,12 +52,12 @@ const TUI_RIPPLE_PROVIDERS = [
|
|
|
52
52
|
class TuiRippleStylesComponent {
|
|
53
53
|
}
|
|
54
54
|
TuiRippleStylesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRippleStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
TuiRippleStylesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRippleStylesComponent, selector: "ng-component", ngImport: i0, template:
|
|
55
|
+
TuiRippleStylesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRippleStylesComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiRippleOn{0%{transform:scale(0);opacity:.12}to{transform:none;opacity:.12}}@keyframes tuiRippleOff{0%{transform:none;opacity:.12}to{transform:none;opacity:0}}*[tuiRipple]{position:relative;overflow:hidden}.tui-ripple{position:absolute;z-index:100;border-radius:100%;background:currentColor;transform:scale(0);animation-duration:.45s;animation-fill-mode:forwards;pointer-events:none}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRippleStylesComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{
|
|
59
|
-
template:
|
|
60
|
-
styleUrls: [
|
|
59
|
+
template: '',
|
|
60
|
+
styleUrls: ['./ripple.style.less'],
|
|
61
61
|
encapsulation: ViewEncapsulation.None,
|
|
62
62
|
}]
|
|
63
63
|
}] });
|
|
@@ -66,25 +66,25 @@ const TOUCH_MOVE_DELAY = 100;
|
|
|
66
66
|
class TuiRippleDirective {
|
|
67
67
|
constructor({ nativeElement }, directiveStyles, renderer, destroy$, start$, end$) {
|
|
68
68
|
directiveStyles.addComponent(TuiRippleStylesComponent);
|
|
69
|
-
const touchEnd$ = tuiTypedFromEvent(nativeElement,
|
|
70
|
-
const touchMove$ = tuiTypedFromEvent(nativeElement,
|
|
69
|
+
const touchEnd$ = tuiTypedFromEvent(nativeElement, 'touchend');
|
|
70
|
+
const touchMove$ = tuiTypedFromEvent(nativeElement, 'touchmove');
|
|
71
71
|
end$.subscribe(element => {
|
|
72
72
|
renderer.removeChild(nativeElement, element);
|
|
73
73
|
});
|
|
74
74
|
start$
|
|
75
75
|
.pipe(mergeMap(ripple => {
|
|
76
|
-
const animationEndOn$ = tuiTypedFromEvent(ripple,
|
|
76
|
+
const animationEndOn$ = tuiTypedFromEvent(ripple, 'animationend');
|
|
77
77
|
return race(timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)), touchEnd$.pipe(mapTo(true))).pipe(take(1),
|
|
78
78
|
// eslint-disable-next-line rxjs/no-unsafe-takeuntil
|
|
79
79
|
takeUntil(touchMove$), tap(() => {
|
|
80
|
-
renderer.setStyle(ripple,
|
|
80
|
+
renderer.setStyle(ripple, 'background', this.tuiRipple || null);
|
|
81
81
|
renderer.appendChild(nativeElement, ripple);
|
|
82
82
|
}), switchMap(isTap => isTap
|
|
83
83
|
? animationEndOn$
|
|
84
84
|
: race(touchEnd$.pipe(switchMapTo(animationEndOn$)), animationEndOn$.pipe(switchMapTo(touchEnd$)))), mapTo(ripple));
|
|
85
85
|
}), takeUntil(destroy$))
|
|
86
86
|
.subscribe(element => {
|
|
87
|
-
renderer.setStyle(element,
|
|
87
|
+
renderer.setStyle(element, 'animationName', RIPPLE_OFF);
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -93,7 +93,7 @@ TuiRippleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", ver
|
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRippleDirective, decorators: [{
|
|
94
94
|
type: Directive,
|
|
95
95
|
args: [{
|
|
96
|
-
selector:
|
|
96
|
+
selector: '[tuiRipple]',
|
|
97
97
|
providers: TUI_RIPPLE_PROVIDERS,
|
|
98
98
|
}]
|
|
99
99
|
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["../../../projects/addon-mobile/directives/ripple/ripple.providers.ts","../../../projects/addon-mobile/directives/ripple/ripple-styles.component.ts","../../../projects/addon-mobile/directives/ripple/ripple.directive.ts","../../../projects/addon-mobile/directives/ripple/ripple.module.ts","../../../projects/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = `tuiRippleOn`;\nexport const RIPPLE_OFF = `tuiRippleOff`;\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_START]: Stream of ripple elements to add`,\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_END]: Stream of ripple elements to remove`,\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n ): Observable<HTMLElement> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `touchstart`).pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement(`div`);\n\n renderer.addClass(ripple, `tui-ripple`);\n renderer.setAttribute(\n ripple,\n `style`,\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n },\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n ): Observable<EventTarget> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `animationend`).pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(tuiIsPresent),\n takeUntil(destroy$),\n );\n },\n },\n];\n","import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: ``,\n styleUrls: [`./ripple.style.less`],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiRippleStylesComponent {}\n","import {Directive, ElementRef, Inject, Input, Renderer2, Self} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n tuiTypedFromEvent,\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 TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\nconst TOUCH_MOVE_DELAY = 100;\n\n@Directive({\n selector: `[tuiRipple]`,\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addComponent(TuiRippleStylesComponent);\n\n const touchEnd$ = tuiTypedFromEvent(nativeElement, `touchend`);\n const touchMove$ = tuiTypedFromEvent(nativeElement, `touchmove`);\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = tuiTypedFromEvent(ripple, `animationend`);\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n `background`,\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<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';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\n@NgModule({\n declarations: [TuiRippleDirective, TuiRippleStylesComponent],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAWO,MAAM,SAAS,GAAG,cAAc;AAChC,MAAM,UAAU,GAAG,eAAe;MAC5B,gBAAgB,GAAG,IAAI,cAAc,CAC9C,CAAsD,oDAAA,CAAA,EACxD;MACW,cAAc,GAAG,IAAI,cAAc,CAC5C,CAAuD,qDAAA,CAAA,EACzD;AACW,MAAA,oBAAoB,GAAe;IAC5C,iBAAiB;AACjB,IAAA;AACI,QAAA,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;AAC9D,QAAA,UAAU,EAAE,CACR,cAAuB,EACvB,KAAc,EACd,EAAC,aAAa,EAA0B,EACxC,QAAmB,KACM;YACzB,OAAO,KAAK,IAAI,CAAC,cAAc;AAC3B,kBAAE,KAAK;AACP,kBAAE,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAC/C,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAI;AACd,oBAAA,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvD,oBAAA,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAC,GAC5B,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAC1C,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAC1D,oBAAA,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;AAC7B,oBAAA,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAClC,oBAAA,MAAM,CAAC,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC;oBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA,GAAA,CAAK,CAAC,CAAC;AAE7C,oBAAA,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA,UAAA,CAAY,CAAC,CAAC;AACxC,oBAAA,QAAQ,CAAC,YAAY,CACjB,MAAM,EACN,OAAO,EACP,CAAA;iCACG,SAAS,CAAA;kCACR,SAAS,CAAA;gCACX,CAAC,CAAA;+BACF,CAAC,CAAA;0CACU,SAAS,CAAA;AAC9B,oBAAA,CAAA,CACM,CAAC;AAEF,oBAAA,OAAO,MAAM,CAAC;iBACjB,CAAC,CACL,CAAC;SACX;AACJ,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;AACtE,QAAA,UAAU,EAAE,CACR,cAAuB,EACvB,KAAc,EACd,EAAC,aAAa,EAA0B,EACxC,QAA0B,KACD;YACzB,OAAO,KAAK,IAAI,CAAC,cAAc;AAC3B,kBAAE,KAAK;kBACL,iBAAiB,CAAC,aAAa,EAAE,CAAc,YAAA,CAAA,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,EAAC,aAAa,EAAC,KAAK,aAAa,KAAK,UAAU,CAAC,EACzD,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,MAAM,CAAC,EACzB,MAAM,CAAC,YAAY,CAAC,EACpB,SAAS,CAAC,QAAQ,CAAC,CACtB,CAAC;SACX;AACJ,KAAA;;;MCxEQ,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,oDAJvB,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+YAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAIH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,SAAS,EAAE,CAAC,CAAA,mBAAA,CAAqB,CAAC;oBAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACxC,iBAAA,CAAA;;;ACmBD,MAAM,gBAAgB,GAAG,GAAG,CAAC;MAMhB,kBAAkB,CAAA;AAI3B,IAAA,WAAA,CACwB,EAAC,aAAa,EAA0B,EACzB,eAA0C,EAC1D,QAAmB,EACH,QAA2B,EACpC,MAA+B,EACjC,IAA6B,EAAA;AAErD,QAAA,eAAe,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAA,QAAA,CAAU,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC;AAEjE,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,IAAG;AACrB,YAAA,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;QACH,MAAM;AACD,aAAA,IAAI,CACD,QAAQ,CAAC,MAAM,IAAG;YACd,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAA,YAAA,CAAc,CAAC,CAAC;AAElE,YAAA,OAAO,IAAI,CACP,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC1C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC9B,CAAC,IAAI,CACF,IAAI,CAAC,CAAC,CAAC;;AAEP,YAAA,SAAS,CAAC,UAAU,CAAC,EACrB,GAAG,CAAC,MAAK;AACL,gBAAA,QAAQ,CAAC,QAAQ,CACb,MAAM,EACN,CAAA,UAAA,CAAY,EACZ,IAAI,CAAC,SAAS,IAAI,IAAI,CACzB,CAAC;AACF,gBAAA,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;aAC/C,CAAC,EACF,SAAS,CAAC,KAAK,IACX,KAAK;AACD,kBAAE,eAAe;AACjB,kBAAE,IAAI,CACA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,EAC5C,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAC/C,CACV,EACD,KAAK,CAAC,MAAM,CAAC,CAChB,CAAC;AACN,SAAC,CAAC,EACF,SAAS,CAAC,QAAQ,CAAC,CACtB;aACA,SAAS,CAAC,OAAO,IAAG;YACjB,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAe,aAAA,CAAA,EAAE,UAAU,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;KACV;;gHAxDQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAKf,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,yBAAyB,EAAA,EAAA,EAAA,KAAA,EACzB,SAAS,EAAA,EAAA,EAAA,KAAA,EACD,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACzB,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,cAAc,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAVjB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,0EAFhB,oBAAoB,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEtB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAa,WAAA,CAAA;AACvB,oBAAA,SAAS,EAAE,oBAAoB;AAClC,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,yBAAyB,CAAA;;0BAChC,MAAM;2BAAC,SAAS,CAAA;;0BAChB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,cAAc,CAAA;4CAR1B,SAAS,EAAA,CAAA;sBADR,KAAK;;;MCvBG,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHT,YAAA,EAAA,CAAA,kBAAkB,EAAE,wBAAwB,aACjD,kBAAkB,CAAA,EAAA,CAAA,CAAA;8GAEnB,eAAe,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;oBAC5D,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-ripple.js","sources":["../../../projects/addon-mobile/directives/ripple/ripple.providers.ts","../../../projects/addon-mobile/directives/ripple/ripple-styles.component.ts","../../../projects/addon-mobile/directives/ripple/ripple.directive.ts","../../../projects/addon-mobile/directives/ripple/ripple.module.ts","../../../projects/addon-mobile/directives/ripple/taiga-ui-addon-mobile-directives-ripple.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider, Renderer2} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TUI_TOUCH_SUPPORTED,\n TuiDestroyService,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, map, takeUntil} from 'rxjs/operators';\n\nexport const RIPPLE_ON = `tuiRippleOn`;\nexport const RIPPLE_OFF = `tuiRippleOff`;\nexport const TUI_RIPPLE_START = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_START]: Stream of ripple elements to add`,\n);\nexport const TUI_RIPPLE_END = new InjectionToken<Observable<HTMLElement>>(\n `[TUI_RIPPLE_END]: Stream of ripple elements to remove`,\n);\nexport const TUI_RIPPLE_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_RIPPLE_START,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, Renderer2],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n renderer: Renderer2,\n ): Observable<HTMLElement> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `touchstart`).pipe(\n map(({touches}) => {\n const {clientX, clientY} = touches[touches.length - 1];\n const {width, height, top, left} =\n nativeElement.getBoundingClientRect();\n const radius = Math.sqrt(width * width + height * height);\n const dimension = radius * 2;\n const x = clientX - left - radius;\n const y = clientY - top - radius;\n const ripple = renderer.createElement(`div`);\n\n renderer.addClass(ripple, `tui-ripple`);\n renderer.setAttribute(\n ripple,\n `style`,\n `\n width: ${dimension}px;\n height: ${dimension}px;\n left: ${x}px;\n top: ${y}px;\n animation-name: ${RIPPLE_ON};\n `,\n );\n\n return ripple;\n }),\n );\n },\n },\n {\n provide: TUI_RIPPLE_END,\n deps: [TUI_TOUCH_SUPPORTED, TUI_IS_IOS, ElementRef, TuiDestroyService],\n useFactory: (\n touchSupported: boolean,\n isIOS: boolean,\n {nativeElement}: ElementRef<HTMLElement>,\n destroy$: Observable<void>,\n ): Observable<EventTarget> => {\n return isIOS || !touchSupported\n ? EMPTY\n : tuiTypedFromEvent(nativeElement, `animationend`).pipe(\n filter(({animationName}) => animationName === RIPPLE_OFF),\n map(({target}) => target),\n filter(tuiIsPresent),\n takeUntil(destroy$),\n );\n },\n },\n];\n","import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: '',\n styleUrls: ['./ripple.style.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiRippleStylesComponent {}\n","import {Directive, ElementRef, Inject, Input, Renderer2, Self} from '@angular/core';\nimport {\n TuiDestroyService,\n TuiDirectiveStylesService,\n tuiTypedFromEvent,\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 TUI_RIPPLE_END,\n TUI_RIPPLE_PROVIDERS,\n TUI_RIPPLE_START,\n} from './ripple.providers';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\nconst TOUCH_MOVE_DELAY = 100;\n\n@Directive({\n selector: '[tuiRipple]',\n providers: TUI_RIPPLE_PROVIDERS,\n})\nexport class TuiRippleDirective {\n @Input()\n tuiRipple?: string;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_RIPPLE_START) start$: Observable<HTMLElement>,\n @Inject(TUI_RIPPLE_END) end$: Observable<EventTarget>,\n ) {\n directiveStyles.addComponent(TuiRippleStylesComponent);\n\n const touchEnd$ = tuiTypedFromEvent(nativeElement, 'touchend');\n const touchMove$ = tuiTypedFromEvent(nativeElement, 'touchmove');\n\n end$.subscribe(element => {\n renderer.removeChild(nativeElement, element);\n });\n start$\n .pipe(\n mergeMap(ripple => {\n const animationEndOn$ = tuiTypedFromEvent(ripple, 'animationend');\n\n return race(\n timer(TOUCH_MOVE_DELAY).pipe(mapTo(false)),\n touchEnd$.pipe(mapTo(true)),\n ).pipe(\n take(1),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(touchMove$),\n tap(() => {\n renderer.setStyle(\n ripple,\n 'background',\n this.tuiRipple || null,\n );\n renderer.appendChild(nativeElement, ripple);\n }),\n switchMap(isTap =>\n isTap\n ? animationEndOn$\n : race<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';\nimport {TuiRippleStylesComponent} from './ripple-styles.component';\n\n@NgModule({\n declarations: [TuiRippleDirective, TuiRippleStylesComponent],\n exports: [TuiRippleDirective],\n})\nexport class TuiRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ class TuiSidebarDirective extends PolymorpheusTemplate {
|
|
|
14
14
|
this.portalService = portalService;
|
|
15
15
|
this.component = new PolymorpheusComponent(TuiSidebarComponent, this.injector);
|
|
16
16
|
this.sidebarRef = null;
|
|
17
|
-
this.direction =
|
|
17
|
+
this.direction = 'left';
|
|
18
18
|
this.autoWidth = false;
|
|
19
19
|
}
|
|
20
20
|
set tuiSidebar(open) {
|
|
@@ -48,7 +48,7 @@ TuiSidebarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", ve
|
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSidebarDirective, decorators: [{
|
|
49
49
|
type: Directive,
|
|
50
50
|
args: [{
|
|
51
|
-
selector:
|
|
51
|
+
selector: '[tuiSidebar]',
|
|
52
52
|
}]
|
|
53
53
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
|
|
54
54
|
type: Inject,
|
|
@@ -64,10 +64,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
64
64
|
args: [ChangeDetectorRef]
|
|
65
65
|
}] }]; }, propDecorators: { direction: [{
|
|
66
66
|
type: Input,
|
|
67
|
-
args: [
|
|
67
|
+
args: ['tuiSidebarDirection']
|
|
68
68
|
}], autoWidth: [{
|
|
69
69
|
type: Input,
|
|
70
|
-
args: [
|
|
70
|
+
args: ['tuiSidebarAutoWidth']
|
|
71
71
|
}], tuiSidebar: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}] } });
|
|
@@ -76,11 +76,11 @@ class TuiSidebarComponent {
|
|
|
76
76
|
constructor(options, directive) {
|
|
77
77
|
this.options = options;
|
|
78
78
|
this.directive = directive;
|
|
79
|
-
this.left = Object.assign({ value:
|
|
80
|
-
this.right = Object.assign({ value:
|
|
79
|
+
this.left = Object.assign({ value: 'left' }, this.options);
|
|
80
|
+
this.right = Object.assign({ value: 'right' }, this.options);
|
|
81
81
|
}
|
|
82
82
|
get animation() {
|
|
83
|
-
return this.direction ===
|
|
83
|
+
return this.direction === 'left' ? this.left : this.right;
|
|
84
84
|
}
|
|
85
85
|
get directionHostClass() {
|
|
86
86
|
return `t-${this.directive.direction}`;
|
|
@@ -103,9 +103,9 @@ TuiSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSidebarComponent, decorators: [{
|
|
104
104
|
type: Component,
|
|
105
105
|
args: [{
|
|
106
|
-
selector:
|
|
107
|
-
templateUrl:
|
|
108
|
-
styleUrls: [
|
|
106
|
+
selector: 'aside[tuiSidebar]',
|
|
107
|
+
templateUrl: './sidebar.template.html',
|
|
108
|
+
styleUrls: ['./sidebar.style.less'],
|
|
109
109
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
110
110
|
animations: [tuiSlideIn],
|
|
111
111
|
}]
|
|
@@ -117,10 +117,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
117
117
|
args: [TuiSidebarDirective]
|
|
118
118
|
}] }]; }, propDecorators: { animation: [{
|
|
119
119
|
type: HostBinding,
|
|
120
|
-
args: [
|
|
120
|
+
args: ['@tuiSlideIn']
|
|
121
121
|
}], directionHostClass: [{
|
|
122
122
|
type: HostBinding,
|
|
123
|
-
args: [
|
|
123
|
+
args: ['class']
|
|
124
124
|
}] } });
|
|
125
125
|
|
|
126
126
|
class TuiSidebarModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-sidebar.js","sources":["../../../projects/addon-mobile/directives/sidebar/sidebar.directive.ts","../../../projects/addon-mobile/directives/sidebar/sidebar.component.ts","../../../projects/addon-mobile/directives/sidebar/sidebar.template.html","../../../projects/addon-mobile/directives/sidebar/sidebar.module.ts","../../../projects/addon-mobile/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n Inject,\n Injector,\n Input,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDropdownPortalService} from '@taiga-ui/cdk';\nimport {TuiHorizontalDirection} from '@taiga-ui/core';\nimport {PolymorpheusComponent, PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSidebarComponent} from './sidebar.component';\n\n@Directive({\n selector: `[tuiSidebar]`,\n})\nexport class TuiSidebarDirective<T = Record<string, unknown>>\n extends PolymorpheusTemplate<T>\n implements OnDestroy\n{\n private readonly component = new PolymorpheusComponent(\n TuiSidebarComponent,\n this.injector,\n );\n\n private sidebarRef: ComponentRef<TuiSidebarComponent> | null = null;\n\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 constructor(\n @Inject(TemplateRef) readonly content: TemplateRef<T>,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(TuiDropdownPortalService)\n private readonly portalService: TuiDropdownPortalService,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(content, changeDetectorRef);\n }\n\n ngOnDestroy(): void {\n this.hide();\n }\n\n private show(): void {\n if (this.sidebarRef !== null) {\n return;\n }\n\n this.sidebarRef = this.portalService.add(this.component);\n this.sidebarRef.changeDetectorRef.detectChanges();\n }\n\n private hide(): void {\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\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSidebarDirective} from './sidebar.directive';\n\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 directionHostClass(): string {\n return `t-${this.directive.direction}`;\n }\n\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(): void {\n this.directive.check();\n }\n}\n","<div\n tuiActiveZone\n class=\"t-wrapper\"\n [class.t-wrapper_auto-width]=\"autoWidth\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n</div>\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 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
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-sidebar.js","sources":["../../../projects/addon-mobile/directives/sidebar/sidebar.directive.ts","../../../projects/addon-mobile/directives/sidebar/sidebar.component.ts","../../../projects/addon-mobile/directives/sidebar/sidebar.template.html","../../../projects/addon-mobile/directives/sidebar/sidebar.module.ts","../../../projects/addon-mobile/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n Inject,\n Injector,\n Input,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDropdownPortalService} from '@taiga-ui/cdk';\nimport {TuiHorizontalDirection} from '@taiga-ui/core';\nimport {PolymorpheusComponent, PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSidebarComponent} from './sidebar.component';\n\n@Directive({\n selector: '[tuiSidebar]',\n})\nexport class TuiSidebarDirective<T = Record<string, unknown>>\n extends PolymorpheusTemplate<T>\n implements OnDestroy\n{\n private readonly component = new PolymorpheusComponent(\n TuiSidebarComponent,\n this.injector,\n );\n\n private sidebarRef: ComponentRef<TuiSidebarComponent> | null = null;\n\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 constructor(\n @Inject(TemplateRef) readonly content: TemplateRef<T>,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(TuiDropdownPortalService)\n private readonly portalService: TuiDropdownPortalService,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(content, changeDetectorRef);\n }\n\n ngOnDestroy(): void {\n this.hide();\n }\n\n private show(): void {\n if (this.sidebarRef !== null) {\n return;\n }\n\n this.sidebarRef = this.portalService.add(this.component);\n this.sidebarRef.changeDetectorRef.detectChanges();\n }\n\n private hide(): void {\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\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSidebarDirective} from './sidebar.directive';\n\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 directionHostClass(): string {\n return `t-${this.directive.direction}`;\n }\n\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(): void {\n this.directive.check();\n }\n}\n","<div\n tuiActiveZone\n class=\"t-wrapper\"\n [class.t-wrapper_auto-width]=\"autoWidth\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n</div>\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 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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"}
|
|
@@ -9,29 +9,29 @@ import { race } from 'rxjs';
|
|
|
9
9
|
import { tap, map, switchMap, filter, take, takeUntil } from 'rxjs/operators';
|
|
10
10
|
|
|
11
11
|
const STYLE = {
|
|
12
|
-
transform:
|
|
13
|
-
opacity:
|
|
14
|
-
background:
|
|
12
|
+
transform: 'scale(0.95)',
|
|
13
|
+
opacity: '0.6',
|
|
14
|
+
background: 'rgba(146, 153, 162, 0.12)',
|
|
15
15
|
};
|
|
16
16
|
class TuiTouchableDirective {
|
|
17
17
|
constructor(elementRef, isIos, { nativeElement }, renderer, destroy$) {
|
|
18
|
-
this.tuiTouchable =
|
|
18
|
+
this.tuiTouchable = '';
|
|
19
19
|
if (!isIos) {
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
const element = elementRef ? elementRef.nativeElement : nativeElement;
|
|
23
|
-
tuiTypedFromEvent(element,
|
|
23
|
+
tuiTypedFromEvent(element, 'touchstart', { passive: true })
|
|
24
24
|
.pipe(tap(() => {
|
|
25
25
|
this.onTouchStart(renderer, element);
|
|
26
|
-
}), map(({ touches }) => touches[touches.length - 1].identifier), switchMap(identifier => race(tuiTypedFromEvent(element,
|
|
26
|
+
}), map(({ touches }) => touches[touches.length - 1].identifier), switchMap(identifier => race(tuiTypedFromEvent(element, 'touchmove', { passive: true }).pipe(filter(({ touches }) => this.hasTouchLeft(element, touches, identifier))), tuiTypedFromEvent(element, 'touchend')).pipe(take(1))), takeUntil(destroy$))
|
|
27
27
|
.subscribe(() => {
|
|
28
|
-
renderer.removeStyle(element,
|
|
29
|
-
renderer.removeStyle(element,
|
|
30
|
-
renderer.removeStyle(element,
|
|
28
|
+
renderer.removeStyle(element, 'transform');
|
|
29
|
+
renderer.removeStyle(element, 'opacity');
|
|
30
|
+
renderer.removeStyle(element, 'background');
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
get style() {
|
|
34
|
-
return this.tuiTouchable ||
|
|
34
|
+
return this.tuiTouchable || 'transform';
|
|
35
35
|
}
|
|
36
36
|
hasTouchLeft(element, touches, identifier) {
|
|
37
37
|
const { ownerDocument } = element;
|
|
@@ -43,11 +43,11 @@ class TuiTouchableDirective {
|
|
|
43
43
|
return !element.contains(ownerDocument.elementFromPoint(clientX, clientY));
|
|
44
44
|
}
|
|
45
45
|
onTouchStart(renderer, element) {
|
|
46
|
-
if (this.style !==
|
|
47
|
-
renderer.removeStyle(element,
|
|
46
|
+
if (this.style !== 'transform') {
|
|
47
|
+
renderer.removeStyle(element, 'transition');
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
|
-
renderer.setStyle(element,
|
|
50
|
+
renderer.setStyle(element, 'transition', 'transform 0.2s');
|
|
51
51
|
}
|
|
52
52
|
renderer.setStyle(element, this.style, STYLE[this.style]);
|
|
53
53
|
}
|
|
@@ -60,7 +60,7 @@ __decorate([
|
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTouchableDirective, decorators: [{
|
|
61
61
|
type: Directive,
|
|
62
62
|
args: [{
|
|
63
|
-
selector:
|
|
63
|
+
selector: '[tuiTouchable]',
|
|
64
64
|
providers: [TuiDestroyService],
|
|
65
65
|
}]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-directives-touchable.js","sources":["../../../projects/addon-mobile/directives/touchable/touchable.directive.ts","../../../projects/addon-mobile/directives/touchable/touchable.module.ts","../../../projects/addon-mobile/directives/touchable/taiga-ui-addon-mobile-directives-touchable.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {TuiTouchMode} from '@taiga-ui/addon-mobile/types';\nimport {tuiFindTouchIndex} from '@taiga-ui/addon-mobile/utils';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n tuiTypedFromEvent,\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:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-directives-touchable.js","sources":["../../../projects/addon-mobile/directives/touchable/touchable.directive.ts","../../../projects/addon-mobile/directives/touchable/touchable.module.ts","../../../projects/addon-mobile/directives/touchable/taiga-ui-addon-mobile-directives-touchable.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {TuiTouchMode} from '@taiga-ui/addon-mobile/types';\nimport {tuiFindTouchIndex} from '@taiga-ui/addon-mobile/utils';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n tuiTypedFromEvent,\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: TuiTouchMode | '' = '';\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 @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!isIos) {\n return;\n }\n\n const element = elementRef ? elementRef.nativeElement : nativeElement;\n\n tuiTypedFromEvent(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 tuiTypedFromEvent(element, 'touchmove', {passive: true}).pipe(\n filter(({touches}) =>\n this.hasTouchLeft(element, touches, identifier),\n ),\n ),\n tuiTypedFromEvent(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(): TuiTouchMode {\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 = tuiFindTouchIndex(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): void {\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":";;;;;;;;;;AAqBA,MAAM,KAAK,GAAG;AACV,IAAA,SAAS,EAAE,aAAa;AACxB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,UAAU,EAAE,2BAA2B;CACjC,CAAC;MAME,qBAAqB,CAAA;IAK9B,WACyC,CAAA,UAA0C,EAC3D,KAAc,EACd,EAAC,aAAa,EAA0B,EACzC,QAAmB,EACH,QAA2B,EAAA;QAPlE,IAAY,CAAA,YAAA,GAAsB,EAAE,CAAC;QASjC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;AACV,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;QAEtE,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;AACpD,aAAA,IAAI,CACD,GAAG,CAAC,MAAK;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAC1D,SAAS,CAAC,UAAU,IAChB,IAAI,CACA,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CACzD,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KACb,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAClD,CACJ,EACD,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAClB,EACD,SAAS,CAAC,QAAQ,CAAC,CACtB;aACA,SAAS,CAAC,MAAK;AACZ,YAAA,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC3C,YAAA,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACzC,YAAA,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;KACV;AAED,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC;KAC3C;AAEO,IAAA,YAAY,CAChB,OAAoB,EACpB,OAAkB,EAClB,UAAkB,EAAA;AAElB,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;QAChC,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAElD,QAAA,IAAI,CAAC,aAAa,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAEvC,QAAA,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;KAC9E;IAEO,YAAY,CAAC,QAAmB,EAAE,OAAoB,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAC5B,YAAA,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;YACH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7D;;mHAxEQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAMN,eAAe,EAC3B,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,UAAU,aACV,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,SAAS,EAAA,EAAA,EAAA,KAAA,EACD,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAV5B,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAFnB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAK9B,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACoB,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAH5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;;0BAOQ,QAAQ;;0BAAI,MAAM;2BAAC,eAAe,CAAA;;0BAClC,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,SAAS,CAAA;;0BAChB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;4CAPrC,YAAY,EAAA,CAAA;sBAFX,KAAK;;;MCxBG,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;iHAEtB,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -21,12 +21,12 @@ TuiPrimitiveCalendarMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersi
|
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPrimitiveCalendarMobileComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
|
-
selector:
|
|
25
|
-
templateUrl:
|
|
26
|
-
styleUrls: [
|
|
24
|
+
selector: 'tui-primitive-calendar-mobile',
|
|
25
|
+
templateUrl: './primitive-calendar-mobile.template.html',
|
|
26
|
+
styleUrls: ['./primitive-calendar-mobile.style.less'],
|
|
27
27
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28
28
|
host: {
|
|
29
|
-
'[class._ios]':
|
|
29
|
+
'[class._ios]': 'isIOS',
|
|
30
30
|
},
|
|
31
31
|
}]
|
|
32
32
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js","sources":["../../../projects/addon-mobile/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.ts","../../../projects/addon-mobile/internal/primitive-calendar-mobile/primitive-calendar-mobile.template.html","../../../projects/addon-mobile/internal/primitive-calendar-mobile/primitive-calendar-mobile.module.ts","../../../projects/addon-mobile/internal/primitive-calendar-mobile/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_IS_IOS, TuiDay, TuiHandler, TuiInjectionTokenType} from '@taiga-ui/cdk';\nimport {\n TUI_DAY_TYPE_HANDLER,\n TUI_SHORT_WEEK_DAYS,\n TuiPrimitiveCalendarComponent,\n} from '@taiga-ui/core';\n\n/**\n * @internal\n */\n@Component({\n selector:
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-internal-primitive-calendar-mobile.js","sources":["../../../projects/addon-mobile/internal/primitive-calendar-mobile/primitive-calendar-mobile.component.ts","../../../projects/addon-mobile/internal/primitive-calendar-mobile/primitive-calendar-mobile.template.html","../../../projects/addon-mobile/internal/primitive-calendar-mobile/primitive-calendar-mobile.module.ts","../../../projects/addon-mobile/internal/primitive-calendar-mobile/taiga-ui-addon-mobile-internal-primitive-calendar-mobile.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_IS_IOS, TuiDay, TuiHandler, TuiInjectionTokenType} from '@taiga-ui/cdk';\nimport {\n TUI_DAY_TYPE_HANDLER,\n TUI_SHORT_WEEK_DAYS,\n TuiPrimitiveCalendarComponent,\n} from '@taiga-ui/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'tui-primitive-calendar-mobile',\n templateUrl: './primitive-calendar-mobile.template.html',\n styleUrls: ['./primitive-calendar-mobile.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiPrimitiveCalendarMobileComponent extends TuiPrimitiveCalendarComponent {\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_SHORT_WEEK_DAYS)\n unorderedWeekDays$: TuiInjectionTokenType<typeof TUI_SHORT_WEEK_DAYS>,\n @Inject(TUI_DAY_TYPE_HANDLER) dayType: TuiHandler<TuiDay, string>,\n ) {\n super(unorderedWeekDays$, dayType);\n }\n}\n","<ng-container *tuiLet=\"month | tuiCalendarSheet as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar-mobile__row\"\n class=\"t-row\"\n >\n <div\n *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\"\n automation-id=\"tui-primitive-calendar-mobile__cell\"\n tuiRipple\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(sheet[rowIndex][colIndex])\"\n [class.t-cell_interval]=\"itemIsInterval(sheet[rowIndex][colIndex])\"\n [attr.data-state]=\"getItemState(sheet[rowIndex][colIndex])\"\n [attr.data-range]=\"getItemRange(sheet[rowIndex][colIndex])\"\n (click)=\"onItemClick(sheet[rowIndex][colIndex])\"\n >\n {{ sheet[rowIndex][colIndex].day }}\n </div>\n </div>\n</ng-container>\n","import {NgModule} from '@angular/core';\nimport {TuiRippleModule} from '@taiga-ui/addon-mobile/directives/ripple';\nimport {TuiLetModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiCalendarSheetPipeModule} from '@taiga-ui/core';\n\nimport {TuiPrimitiveCalendarMobileComponent} from './primitive-calendar-mobile.component';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [\n TuiRepeatTimesModule,\n TuiCalendarSheetPipeModule,\n TuiRippleModule,\n TuiLetModule,\n ],\n declarations: [TuiPrimitiveCalendarMobileComponent],\n exports: [TuiPrimitiveCalendarMobileComponent],\n})\nexport class TuiPrimitiveCalendarMobileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-mobile",
|
|
3
|
-
"version": "3.14.0-dev.main-
|
|
3
|
+
"version": "3.14.0-dev.main-49a682e",
|
|
4
4
|
"description": "Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|