@theseam/ui-common 0.2.17 → 0.3.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.
Files changed (33) hide show
  1. package/bundles/theseam-ui-common-framework.umd.js +1 -1
  2. package/bundles/theseam-ui-common-framework.umd.js.map +1 -1
  3. package/bundles/theseam-ui-common-scrollbar.umd.js +1 -1
  4. package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -1
  5. package/bundles/theseam-ui-common-tel-input.umd.js +59 -7
  6. package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -1
  7. package/bundles/theseam-ui-common-viewers.umd.js +269 -4
  8. package/bundles/theseam-ui-common-viewers.umd.js.map +1 -1
  9. package/esm2015/framework/top-bar/top-bar.component.js +2 -2
  10. package/esm2015/scrollbar/overlay-scrollbar.directive.js +2 -2
  11. package/esm2015/tel-input/tel-input/tel-input.component.js +10 -2
  12. package/esm2015/tel-input/tel-input.directive.js +50 -5
  13. package/esm2015/viewers/html-template-viewer/html-template-viewer.component.js +219 -0
  14. package/esm2015/viewers/html-template-viewer/html-template-viewer.module.js +23 -0
  15. package/esm2015/viewers/html-template-viewer/index.js +3 -0
  16. package/esm2015/viewers/public-api.js +2 -1
  17. package/fesm2015/theseam-ui-common-framework.js +1 -1
  18. package/fesm2015/theseam-ui-common-framework.js.map +1 -1
  19. package/fesm2015/theseam-ui-common-scrollbar.js +1 -1
  20. package/fesm2015/theseam-ui-common-scrollbar.js.map +1 -1
  21. package/fesm2015/theseam-ui-common-tel-input.js +58 -6
  22. package/fesm2015/theseam-ui-common-tel-input.js.map +1 -1
  23. package/fesm2015/theseam-ui-common-viewers.js +237 -2
  24. package/fesm2015/theseam-ui-common-viewers.js.map +1 -1
  25. package/framework/theseam-ui-common-framework.metadata.json +1 -1
  26. package/package.json +1 -1
  27. package/tel-input/tel-input.directive.d.ts +7 -3
  28. package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -1
  29. package/viewers/html-template-viewer/html-template-viewer.component.d.ts +67 -0
  30. package/viewers/html-template-viewer/html-template-viewer.module.d.ts +2 -0
  31. package/viewers/html-template-viewer/index.d.ts +2 -0
  32. package/viewers/public-api.d.ts +1 -0
  33. package/viewers/theseam-ui-common-viewers.metadata.json +1 -1
@@ -142,7 +142,7 @@
142
142
  set: function (value) {
143
143
  this._disabled = !coercion.coerceBooleanProperty(value);
144
144
  if (!this._disabled) {
145
- this._scrollbars.initializeInstance(this._ref.nativeElement);
145
+ this._scrollbars.initializeInstance(this._ref.nativeElement, this._options);
146
146
  }
147
147
  else {
148
148
  this._scrollbars.destroyInstance(this._ref.nativeElement);
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-scrollbar.umd.js","sources":["../../../projects/ui-common/scrollbar/overlay-scrollbars-config.ts","../../../projects/ui-common/scrollbar/overlay-scrollbars.service.ts","../../../projects/ui-common/scrollbar/overlay-scrollbar.directive.ts","../../../projects/ui-common/scrollbar/scrollbar.module.ts","../../../projects/ui-common/scrollbar/theseam-ui-common-scrollbar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\nexport const _OverlayScrollbarDefaults: IOverlayScrollbarsConfig = {\n className: 'os-theme-dark os-theme-no-hover',\n sizeAutoCapable: false,\n paddingAbsolute: true,\n autoUpdate: true\n}\n\nexport function mergeOverlayScrollbarsConfigs(a: IOverlayScrollbarsConfig, b: IOverlayScrollbarsConfig) {\n return { ...a, ...b }\n}\n\n/** Injection token that can be used to specify overlayscrollbars options. */\nexport const LIB_OVERLAY_SCROLLBARS_CONFIG = new InjectionToken<IOverlayScrollbarsConfig>('seamOverlayScrollbarsConfig')\n","import { Platform } from '@angular/cdk/platform'\nimport { forwardRef, inject, Injectable, InjectionToken, Injector, INJECTOR, NgZone } from '@angular/core'\nimport { fromEvent, Subscription } from 'rxjs'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG } from './overlay-scrollbars-config'\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OverlayScrollbarsService {\n\n private _inputEventSubscription = Subscription.EMPTY\n\n constructor(\n private _ngZone: NgZone,\n private injector: Injector,\n private _platform: Platform\n ) { }\n\n public initializeInstance(element: HTMLElement, options?: IOverlayScrollbarsConfig): void {\n if (!this.isInstanceEnabled(element) &&\n // The 'overlayscrollbars' library is causing an issue on iOS. Since iOS\n // already has native overlay scrollbars it shouldn't really effect the\n // app layout.\n !(this._isTextarea(element) && this._platform.IOS)\n ) {\n this._ngZone.runOutsideAngular(() => {\n OverlayScrollbars(element, this._applyConfigDefaults(options))\n\n if (this._isTextarea(element)) {\n // TODO: Make this more accurate. Right now this is just relying on\n // the fact that timing out for 100ms is usually enough time to wait\n // for update to correctly calculate.\n // NOTE: This may be fixed in a newer version to not need this hack.\n fromEvent(element, 'change').subscribe(_ => {\n this._ngZone.run(() => {\n setTimeout(() => {\n if (this.isInstanceEnabled(element)) {\n this.getInstance(element).update()\n }\n }, 100)\n })\n })\n }\n })\n }\n }\n\n public destroyInstance(element: HTMLElement): void {\n if (this.isInstanceEnabled(element)) {\n this._ngZone.runOutsideAngular(() => {\n this.getInstance(element).destroy()\n if (this._inputEventSubscription && !this._inputEventSubscription.closed) {\n this._inputEventSubscription.unsubscribe()\n }\n })\n }\n }\n\n public getInstance(element: HTMLElement): OverlayScrollbars {\n return OverlayScrollbars(element) as OverlayScrollbars\n }\n\n public isInstanceEnabled(element: HTMLElement): boolean {\n return !!this.getInstance(element)\n }\n\n public setOptions(element: HTMLElement, options: IOverlayScrollbarsConfig): boolean {\n if (!this.isInstanceEnabled(element)) { return false }\n\n this.getInstance(element).options(this._applyConfigDefaults(options))\n\n return true\n }\n\n public getOptions(element: HTMLElement): IOverlayScrollbarsConfig {\n return this.getInstance(element).options()\n }\n\n private _applyConfigDefaults(config?: IOverlayScrollbarsConfig): IOverlayScrollbarsConfig {\n const _config: IOverlayScrollbarsConfig = this.injector.get(LIB_OVERLAY_SCROLLBARS_CONFIG)\n return {..._config, ...config}\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'textarea'\n }\n\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { OverlayScrollbarsService } from './overlay-scrollbars.service'\n\nimport type { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Directive({\n selector: '[seamOverlayScrollbar]',\n exportAs: 'seamOverlayScrollbar'\n})\nexport class OverlayScrollbarDirective implements OnInit, AfterViewInit, OnDestroy {\n static ngAcceptInputType_seamOverlayScrollbar: IOverlayScrollbarsConfig | undefined | null | ''\n\n private _disabled = false\n\n @Input()\n set seamOverlayScrollbar(value: IOverlayScrollbarsConfig | undefined | null) { this.options = value }\n\n @Input()\n get overlayScrollbarEnabled(): boolean {\n return this._scrollbars.isInstanceEnabled(this._ref.nativeElement)\n }\n set overlayScrollbarEnabled(value: boolean) {\n this._disabled = !coerceBooleanProperty(value)\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement)\n } else {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n }\n\n set options(value: IOverlayScrollbarsConfig | undefined | null) {\n this._options = value || {}\n this._scrollbars.setOptions(this._ref.nativeElement, this._options)\n }\n get options() {\n if (this._scrollbars.isInstanceEnabled(this._ref.nativeElement)) {\n return this._scrollbars.getOptions(this._ref.nativeElement)\n }\n return this._options\n }\n private _options: IOverlayScrollbarsConfig = {}\n\n constructor(\n private _ref: ElementRef,\n private _scrollbars: OverlayScrollbarsService\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement, this._options)\n }\n }\n\n ngOnDestroy() {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n\n get instance(): OverlayScrollbars {\n return this._scrollbars.getInstance(this._ref.nativeElement)\n }\n\n}\n","import { PlatformModule } from '@angular/cdk/platform'\nimport { NgModule } from '@angular/core'\n\nimport { OverlayScrollbarDirective } from './overlay-scrollbar.directive'\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG, _OverlayScrollbarDefaults } from './overlay-scrollbars-config'\n\n@NgModule({\n declarations: [\n OverlayScrollbarDirective\n ],\n imports: [\n PlatformModule\n ],\n providers: [\n { provide: LIB_OVERLAY_SCROLLBARS_CONFIG, useValue: _OverlayScrollbarDefaults }\n ],\n exports: [\n OverlayScrollbarDirective\n ]\n})\nexport class TheSeamScrollbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Subscription","OverlayScrollbars","fromEvent","Injectable","NgZone","Injector","Platform","coerceBooleanProperty","Directive","ElementRef","Input","NgModule","PlatformModule"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-scrollbar.umd.js","sources":["../../../projects/ui-common/scrollbar/overlay-scrollbars-config.ts","../../../projects/ui-common/scrollbar/overlay-scrollbars.service.ts","../../../projects/ui-common/scrollbar/overlay-scrollbar.directive.ts","../../../projects/ui-common/scrollbar/scrollbar.module.ts","../../../projects/ui-common/scrollbar/theseam-ui-common-scrollbar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\nexport const _OverlayScrollbarDefaults: IOverlayScrollbarsConfig = {\n className: 'os-theme-dark os-theme-no-hover',\n sizeAutoCapable: false,\n paddingAbsolute: true,\n autoUpdate: true\n}\n\nexport function mergeOverlayScrollbarsConfigs(a: IOverlayScrollbarsConfig, b: IOverlayScrollbarsConfig) {\n return { ...a, ...b }\n}\n\n/** Injection token that can be used to specify overlayscrollbars options. */\nexport const LIB_OVERLAY_SCROLLBARS_CONFIG = new InjectionToken<IOverlayScrollbarsConfig>('seamOverlayScrollbarsConfig')\n","import { Platform } from '@angular/cdk/platform'\nimport { forwardRef, inject, Injectable, InjectionToken, Injector, INJECTOR, NgZone } from '@angular/core'\nimport { fromEvent, Subscription } from 'rxjs'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG } from './overlay-scrollbars-config'\nimport { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OverlayScrollbarsService {\n\n private _inputEventSubscription = Subscription.EMPTY\n\n constructor(\n private _ngZone: NgZone,\n private injector: Injector,\n private _platform: Platform\n ) { }\n\n public initializeInstance(element: HTMLElement, options?: IOverlayScrollbarsConfig): void {\n if (!this.isInstanceEnabled(element) &&\n // The 'overlayscrollbars' library is causing an issue on iOS. Since iOS\n // already has native overlay scrollbars it shouldn't really effect the\n // app layout.\n !(this._isTextarea(element) && this._platform.IOS)\n ) {\n this._ngZone.runOutsideAngular(() => {\n OverlayScrollbars(element, this._applyConfigDefaults(options))\n\n if (this._isTextarea(element)) {\n // TODO: Make this more accurate. Right now this is just relying on\n // the fact that timing out for 100ms is usually enough time to wait\n // for update to correctly calculate.\n // NOTE: This may be fixed in a newer version to not need this hack.\n fromEvent(element, 'change').subscribe(_ => {\n this._ngZone.run(() => {\n setTimeout(() => {\n if (this.isInstanceEnabled(element)) {\n this.getInstance(element).update()\n }\n }, 100)\n })\n })\n }\n })\n }\n }\n\n public destroyInstance(element: HTMLElement): void {\n if (this.isInstanceEnabled(element)) {\n this._ngZone.runOutsideAngular(() => {\n this.getInstance(element).destroy()\n if (this._inputEventSubscription && !this._inputEventSubscription.closed) {\n this._inputEventSubscription.unsubscribe()\n }\n })\n }\n }\n\n public getInstance(element: HTMLElement): OverlayScrollbars {\n return OverlayScrollbars(element) as OverlayScrollbars\n }\n\n public isInstanceEnabled(element: HTMLElement): boolean {\n return !!this.getInstance(element)\n }\n\n public setOptions(element: HTMLElement, options: IOverlayScrollbarsConfig): boolean {\n if (!this.isInstanceEnabled(element)) { return false }\n\n this.getInstance(element).options(this._applyConfigDefaults(options))\n\n return true\n }\n\n public getOptions(element: HTMLElement): IOverlayScrollbarsConfig {\n return this.getInstance(element).options()\n }\n\n private _applyConfigDefaults(config?: IOverlayScrollbarsConfig): IOverlayScrollbarsConfig {\n const _config: IOverlayScrollbarsConfig = this.injector.get(LIB_OVERLAY_SCROLLBARS_CONFIG)\n return {..._config, ...config}\n }\n\n /** Determines if the component host is a textarea. */\n protected _isTextarea(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'textarea'\n }\n\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core'\n\nimport OverlayScrollbars from 'overlayscrollbars'\n\nimport { OverlayScrollbarsService } from './overlay-scrollbars.service'\n\nimport type { IOverlayScrollbarsConfig } from './overlay-scrollbars-config-model'\n\n@Directive({\n selector: '[seamOverlayScrollbar]',\n exportAs: 'seamOverlayScrollbar'\n})\nexport class OverlayScrollbarDirective implements OnInit, AfterViewInit, OnDestroy {\n static ngAcceptInputType_seamOverlayScrollbar: IOverlayScrollbarsConfig | undefined | null | ''\n\n private _disabled = false\n\n @Input()\n set seamOverlayScrollbar(value: IOverlayScrollbarsConfig | undefined | null) { this.options = value }\n\n @Input()\n get overlayScrollbarEnabled(): boolean {\n return this._scrollbars.isInstanceEnabled(this._ref.nativeElement)\n }\n set overlayScrollbarEnabled(value: boolean) {\n this._disabled = !coerceBooleanProperty(value)\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement, this._options)\n } else {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n }\n\n set options(value: IOverlayScrollbarsConfig | undefined | null) {\n this._options = value || {}\n this._scrollbars.setOptions(this._ref.nativeElement, this._options)\n }\n get options() {\n if (this._scrollbars.isInstanceEnabled(this._ref.nativeElement)) {\n return this._scrollbars.getOptions(this._ref.nativeElement)\n }\n return this._options\n }\n private _options: IOverlayScrollbarsConfig = {}\n\n constructor(\n private _ref: ElementRef,\n private _scrollbars: OverlayScrollbarsService\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n if (!this._disabled) {\n this._scrollbars.initializeInstance(this._ref.nativeElement, this._options)\n }\n }\n\n ngOnDestroy() {\n this._scrollbars.destroyInstance(this._ref.nativeElement)\n }\n\n get instance(): OverlayScrollbars {\n return this._scrollbars.getInstance(this._ref.nativeElement)\n }\n\n}\n","import { PlatformModule } from '@angular/cdk/platform'\nimport { NgModule } from '@angular/core'\n\nimport { OverlayScrollbarDirective } from './overlay-scrollbar.directive'\nimport { LIB_OVERLAY_SCROLLBARS_CONFIG, _OverlayScrollbarDefaults } from './overlay-scrollbars-config'\n\n@NgModule({\n declarations: [\n OverlayScrollbarDirective\n ],\n imports: [\n PlatformModule\n ],\n providers: [\n { provide: LIB_OVERLAY_SCROLLBARS_CONFIG, useValue: _OverlayScrollbarDefaults }\n ],\n exports: [\n OverlayScrollbarDirective\n ]\n})\nexport class TheSeamScrollbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Subscription","OverlayScrollbars","fromEvent","Injectable","NgZone","Injector","Platform","coerceBooleanProperty","Directive","ElementRef","Input","NgModule","PlatformModule"],"mappings":"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"}
@@ -572,12 +572,13 @@
572
572
  }
573
573
 
574
574
  var TheSeamTelInputDirective = /** @class */ (function () {
575
- function TheSeamTelInputDirective(_elementRef, _assetLoader, _ngZone, _document) {
575
+ function TheSeamTelInputDirective(_elementRef, _assetLoader, _ngZone, _document, _ngControl) {
576
576
  var _this = this;
577
577
  this._elementRef = _elementRef;
578
578
  this._assetLoader = _assetLoader;
579
579
  this._ngZone = _ngZone;
580
580
  this._document = _document;
581
+ this._ngControl = _ngControl;
581
582
  this._ngUnsubscribe = new rxjs.Subject();
582
583
  this._loadedAssetRefs = [];
583
584
  this._attrType = 'tel';
@@ -630,31 +631,56 @@
630
631
  // TODO: Add initialCountry support.
631
632
  // initialCountry: 'auto'
632
633
  });
634
+ _this._tryUpdateDropdownAttributes();
633
635
  return _this._instance.promise;
634
636
  }),
635
637
  // tap(() => console.log('%c_instance ready', 'color:green', this._instance, this._elementRef.nativeElement.value)),
636
638
  operators.tap(function () { return _this._initDropdownListener(); }), operators.tap(function () { return _this.value = _this._value; }), operators.tap(this._formatIntlTelInput), operators.switchMap(function () { return rxjs.merge(rxjs.fromEvent(_this._elementRef.nativeElement, 'keyup'), rxjs.fromEvent(_this._elementRef.nativeElement, 'change')); }), operators.tap(this._formatIntlTelInput), operators.takeUntil(this._ngUnsubscribe)).subscribe();
637
639
  };
638
640
  TheSeamTelInputDirective.prototype.ngOnDestroy = function () {
639
- var e_1, _c;
641
+ var e_1, _d;
640
642
  var _a;
641
643
  (_a = this._instance) === null || _a === void 0 ? void 0 : _a.destroy();
642
644
  try {
643
- for (var _d = __values(this._loadedAssetRefs), _e = _d.next(); !_e.done; _e = _d.next()) {
644
- var ref = _e.value;
645
+ for (var _e = __values(this._loadedAssetRefs), _f = _e.next(); !_f.done; _f = _e.next()) {
646
+ var ref = _f.value;
645
647
  ref.destroy();
646
648
  }
647
649
  }
648
650
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
649
651
  finally {
650
652
  try {
651
- if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
653
+ if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
652
654
  }
653
655
  finally { if (e_1) throw e_1.error; }
654
656
  }
655
657
  this._ngUnsubscribe.next();
656
658
  this._ngUnsubscribe.complete();
657
659
  };
660
+ TheSeamTelInputDirective.prototype.ngDoCheck = function () {
661
+ this._tryUpdateDropdownAttributes();
662
+ };
663
+ TheSeamTelInputDirective.prototype._tryUpdateDropdownAttributes = function () {
664
+ var _a, _b, _c;
665
+ var control = this._ngControl;
666
+ if (control) {
667
+ var flagsContainer = (_a = this._instance) === null || _a === void 0 ? void 0 : _a.selectedFlag;
668
+ if (flagsContainer) {
669
+ utils.toggleAttribute(flagsContainer, 'aria-disabled', (_b = control.disabled) !== null && _b !== void 0 ? _b : false);
670
+ var disabled = (_c = control.disabled) !== null && _c !== void 0 ? _c : false;
671
+ if (!disabled) {
672
+ if (utils.getAttribute(flagsContainer, 'tabindex') !== '0') {
673
+ flagsContainer.setAttribute('tabindex', '0');
674
+ }
675
+ }
676
+ else {
677
+ if (utils.hasAttribute(flagsContainer, 'tabindex')) {
678
+ flagsContainer.removeAttribute('tabindex');
679
+ }
680
+ }
681
+ }
682
+ }
683
+ };
658
684
  TheSeamTelInputDirective.prototype.updateValue = function () {
659
685
  var _a, _b;
660
686
  // console.log('%cupdateValue START', 'color:cyan', typeof intlTelInputUtils !== 'undefined')
@@ -687,6 +713,7 @@
687
713
  return;
688
714
  }
689
715
  this._ngZone.runOutsideAngular(function () {
716
+ var _a;
690
717
  var openDropdown$ = rxjs.fromEvent(_this._elementRef.nativeElement, 'open:countrydropdown');
691
718
  var closeDropdown$ = rxjs.fromEvent(_this._elementRef.nativeElement, 'close:countrydropdown');
692
719
  var instance = _this._instance;
@@ -706,6 +733,22 @@
706
733
  }));
707
734
  return rxjs.merge(pressDown$, flagBtnClick$).pipe(operators.takeUntil(closeDropdown$));
708
735
  }), operators.takeUntil(_this._ngUnsubscribe)).subscribe();
736
+ var flagsContainer = (_a = _this._instance) === null || _a === void 0 ? void 0 : _a.selectedFlag;
737
+ if (flagsContainer) {
738
+ rxjs.fromEvent(flagsContainer, 'keydown', { capture: true }).pipe(operators.tap(function (e) {
739
+ var _a;
740
+ var control = _this._ngControl;
741
+ if (control) {
742
+ var disabled = (_a = control.disabled) !== null && _a !== void 0 ? _a : false;
743
+ if (disabled && ['ArrowUp', 'Up', 'ArrowDown', 'Down', ' ', 'Enter'].indexOf(e.key) !== -1) {
744
+ // prevent form from being submitted if "ENTER" was pressed
745
+ e.preventDefault();
746
+ // prevent event from being handled again by document
747
+ e.stopPropagation();
748
+ }
749
+ }
750
+ }), operators.takeUntil(_this._ngUnsubscribe)).subscribe();
751
+ }
709
752
  });
710
753
  };
711
754
  TheSeamTelInputDirective.prototype.isDropdownVisible = function () {
@@ -738,7 +781,8 @@
738
781
  { type: core.ElementRef },
739
782
  { type: services.AssetLoaderService },
740
783
  { type: core.NgZone },
741
- { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [common.DOCUMENT,] }] }
784
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [common.DOCUMENT,] }] },
785
+ { type: forms.NgControl, decorators: [{ type: core.Optional }, { type: core.Self }] }
742
786
  ]; };
743
787
  TheSeamTelInputDirective.propDecorators = {
744
788
  _attrType: [{ type: core.HostBinding, args: ['attr.type',] }],
@@ -792,6 +836,14 @@
792
836
  get: function () { return this._disabled; },
793
837
  set: function (value) {
794
838
  var newValue = coercion.coerceBooleanProperty(value);
839
+ if (this._control.disabled !== newValue) {
840
+ if (newValue) {
841
+ this._control.disable();
842
+ }
843
+ else {
844
+ this._control.enable();
845
+ }
846
+ }
795
847
  if (newValue !== this.disabled) {
796
848
  this._disabled = newValue;
797
849
  this._changeDetectorRef.markForCheck();
@@ -894,7 +946,7 @@
894
946
  multi: true
895
947
  }],
896
948
  changeDetection: core.ChangeDetectionStrategy.OnPush,
897
- styles: [":host{display:block}\n"]
949
+ styles: [":host{display:block}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover,:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover{cursor:default}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag,:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:transparent}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__arrow{display:none}\n"]
898
950
  },] }
899
951
  ];
900
952
  TheSeamTelInputComponent.ctorParameters = function () { return [