slide.component.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { Component, HostBinding, Input } from '@angular/core';
  6. import { CarouselComponent } from './carousel.component';
  7. export class SlideComponent {
  8. /**
  9. * @param {?} carousel
  10. */
  11. constructor(carousel) {
  12. this.itemWidth = '100%';
  13. this.order = 0;
  14. /**
  15. * Wraps element by appropriate CSS classes
  16. */
  17. this.addClass = true;
  18. this.carousel = carousel;
  19. }
  20. /**
  21. * Fires changes in container collection after adding a new slide instance
  22. * @return {?}
  23. */
  24. ngOnInit() {
  25. this.carousel.addSlide(this);
  26. this.itemWidth = `${100 / this.carousel.itemsPerSlide}%`;
  27. }
  28. /**
  29. * Fires changes in container collection after removing of this slide instance
  30. * @return {?}
  31. */
  32. ngOnDestroy() {
  33. this.carousel.removeSlide(this);
  34. }
  35. }
  36. SlideComponent.decorators = [
  37. { type: Component, args: [{
  38. selector: 'slide',
  39. template: `
  40. <div [class.active]="active" class="item">
  41. <ng-content></ng-content>
  42. </div>
  43. `,
  44. host: {
  45. '[attr.aria-hidden]': '!active'
  46. }
  47. }] }
  48. ];
  49. /** @nocollapse */
  50. SlideComponent.ctorParameters = () => [
  51. { type: CarouselComponent }
  52. ];
  53. SlideComponent.propDecorators = {
  54. active: [{ type: HostBinding, args: ['class.active',] }, { type: Input }],
  55. itemWidth: [{ type: HostBinding, args: ['style.width',] }],
  56. order: [{ type: HostBinding, args: ['style.order',] }],
  57. addClass: [{ type: HostBinding, args: ['class.item',] }, { type: HostBinding, args: ['class.carousel-item',] }]
  58. };
  59. if (false) {
  60. /**
  61. * Is current slide active
  62. * @type {?}
  63. */
  64. SlideComponent.prototype.active;
  65. /** @type {?} */
  66. SlideComponent.prototype.itemWidth;
  67. /** @type {?} */
  68. SlideComponent.prototype.order;
  69. /**
  70. * Wraps element by appropriate CSS classes
  71. * @type {?}
  72. */
  73. SlideComponent.prototype.addClass;
  74. /**
  75. * Link to Parent(container-collection) component
  76. * @type {?}
  77. * @protected
  78. */
  79. SlideComponent.prototype.carousel;
  80. }
  81. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9jYXJvdXNlbC8iLCJzb3VyY2VzIjpbInNsaWRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBRVgsS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBYXpELE1BQU0sT0FBTyxjQUFjOzs7O0lBaUJ6QixZQUFZLFFBQTJCO1FBWFgsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixVQUFLLEdBQUcsQ0FBQyxDQUFDOzs7O1FBS3RDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFNZCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7OztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLENBQUM7SUFDM0QsQ0FBQzs7Ozs7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7O1lBekNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFOzs7O0dBSVQ7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLG9CQUFvQixFQUFFLFNBQVM7aUJBQ2hDO2FBQ0Y7Ozs7WUFaUSxpQkFBaUI7OztxQkFldkIsV0FBVyxTQUFDLGNBQWMsY0FDMUIsS0FBSzt3QkFHTCxXQUFXLFNBQUMsYUFBYTtvQkFDekIsV0FBVyxTQUFDLGFBQWE7dUJBR3pCLFdBQVcsU0FBQyxZQUFZLGNBQ3hCLFdBQVcsU0FBQyxxQkFBcUI7Ozs7Ozs7SUFUbEMsZ0NBRWdCOztJQUVoQixtQ0FBK0M7O0lBQy9DLCtCQUFzQzs7Ozs7SUFHdEMsa0NBRWdCOzs7Ozs7SUFHaEIsa0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBJbnB1dCxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vY2Fyb3VzZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2xpZGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVcIiBjbGFzcz1cIml0ZW1cIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWhpZGRlbl0nOiAnIWFjdGl2ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTbGlkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqIElzIGN1cnJlbnQgc2xpZGUgYWN0aXZlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgQElucHV0KClcbiAgYWN0aXZlOiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBpdGVtV2lkdGggPSAnMTAwJSc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUub3JkZXInKSBvcmRlciA9IDA7XG5cbiAgLyoqIFdyYXBzIGVsZW1lbnQgYnkgYXBwcm9wcmlhdGUgQ1NTIGNsYXNzZXMgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pdGVtJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jYXJvdXNlbC1pdGVtJylcbiAgYWRkQ2xhc3MgPSB0cnVlO1xuXG4gIC8qKiBMaW5rIHRvIFBhcmVudChjb250YWluZXItY29sbGVjdGlvbikgY29tcG9uZW50ICovXG4gIHByb3RlY3RlZCBjYXJvdXNlbDogQ2Fyb3VzZWxDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoY2Fyb3VzZWw6IENhcm91c2VsQ29tcG9uZW50KSB7XG4gICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICB9XG5cbiAgLyoqIEZpcmVzIGNoYW5nZXMgaW4gY29udGFpbmVyIGNvbGxlY3Rpb24gYWZ0ZXIgYWRkaW5nIGEgbmV3IHNsaWRlIGluc3RhbmNlICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2Fyb3VzZWwuYWRkU2xpZGUodGhpcyk7XG4gICAgdGhpcy5pdGVtV2lkdGggPSBgJHsxMDAgLyB0aGlzLmNhcm91c2VsLml0ZW1zUGVyU2xpZGV9JWA7XG4gIH1cblxuICAvKiogRmlyZXMgY2hhbmdlcyBpbiBjb250YWluZXIgY29sbGVjdGlvbiBhZnRlciByZW1vdmluZyBvZiB0aGlzIHNsaWRlIGluc3RhbmNlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2Fyb3VzZWwucmVtb3ZlU2xpZGUodGhpcyk7XG4gIH1cbn1cbiJdfQ==