@taiga-ui/cdk 2.36.0 → 2.38.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 (145) hide show
  1. package/abstract/control.d.ts +2 -2
  2. package/abstract/index.d.ts +2 -0
  3. package/abstract/interactive.d.ts +8 -0
  4. package/abstract/portal-host.d.ts +13 -0
  5. package/abstract/portal-service.d.ts +14 -0
  6. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  7. package/bundles/taiga-ui-cdk-abstract.umd.js +103 -6
  8. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-abstract.umd.min.js +2 -2
  10. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +280 -0
  12. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -0
  13. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +16 -0
  14. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -0
  15. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +10 -114
  16. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +2 -2
  18. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components.umd.js +12 -4
  20. package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-components.umd.min.js +1 -1
  22. package/bundles/taiga-ui-cdk-date-time.umd.js +2 -2
  23. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +78 -36
  26. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +2 -2
  28. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-directives-for.umd.js +3 -2
  30. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-for.umd.min.js +1 -1
  32. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-services.umd.js +17 -4
  34. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
  36. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-tokens.umd.js +1 -2
  38. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  40. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-utils-focus.umd.js +1 -1
  42. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  44. package/components/dropdown-host/dropdown-host.component.d.ts +8 -0
  45. package/components/dropdown-host/dropdown-host.module.d.ts +2 -0
  46. package/components/dropdown-host/index.d.ts +2 -0
  47. package/components/dropdown-host/package.json +13 -0
  48. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.d.ts +4 -0
  49. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.metadata.json +1 -0
  50. package/components/index.d.ts +1 -0
  51. package/components/portal-host/index.d.ts +0 -2
  52. package/components/portal-host/portal.service.d.ts +4 -11
  53. package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +1 -1
  54. package/components/taiga-ui-cdk-components.metadata.json +1 -1
  55. package/directives/auto-focus/autofocus.directive.d.ts +8 -4
  56. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  57. package/directives/for/for.directive.d.ts +4 -4
  58. package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
  59. package/esm2015/abstract/control.js +5 -3
  60. package/esm2015/abstract/index.js +3 -1
  61. package/esm2015/abstract/interactive.js +10 -1
  62. package/esm2015/abstract/portal-host.js +44 -0
  63. package/esm2015/abstract/portal-service.js +34 -0
  64. package/esm2015/components/dropdown-host/dropdown-host.component.js +36 -0
  65. package/esm2015/components/dropdown-host/dropdown-host.module.js +13 -0
  66. package/esm2015/components/dropdown-host/index.js +3 -0
  67. package/esm2015/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +5 -0
  68. package/esm2015/components/index.js +2 -1
  69. package/esm2015/components/portal-host/index.js +1 -3
  70. package/esm2015/components/portal-host/portal.service.js +6 -26
  71. package/esm2015/date-time/time.js +3 -3
  72. package/esm2015/directives/auto-focus/autofocus.directive.js +71 -39
  73. package/esm2015/directives/for/for.directive.js +6 -5
  74. package/esm2015/services/directive-styles.service.js +19 -6
  75. package/esm2015/tokens/is-ios.js +2 -3
  76. package/esm2015/utils/focus/get-closest-keyboard-focusable.js +2 -2
  77. package/esm5/abstract/control.js +5 -3
  78. package/esm5/abstract/index.js +3 -1
  79. package/esm5/abstract/interactive.js +10 -1
  80. package/esm5/abstract/portal-host.js +50 -0
  81. package/esm5/abstract/portal-service.js +42 -0
  82. package/esm5/components/dropdown-host/dropdown-host.component.js +41 -0
  83. package/esm5/components/dropdown-host/dropdown-host.module.js +16 -0
  84. package/esm5/components/dropdown-host/index.js +3 -0
  85. package/esm5/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +5 -0
  86. package/esm5/components/index.js +2 -1
  87. package/esm5/components/portal-host/index.js +1 -3
  88. package/esm5/components/portal-host/portal.service.js +10 -33
  89. package/esm5/date-time/time.js +3 -3
  90. package/esm5/directives/auto-focus/autofocus.directive.js +81 -39
  91. package/esm5/directives/for/for.directive.js +6 -5
  92. package/esm5/services/directive-styles.service.js +19 -6
  93. package/esm5/tokens/is-ios.js +2 -3
  94. package/esm5/utils/focus/get-closest-keyboard-focusable.js +2 -2
  95. package/fesm2015/taiga-ui-cdk-abstract.js +86 -4
  96. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  97. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +51 -0
  98. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -0
  99. package/fesm2015/taiga-ui-cdk-components-portal-host.js +7 -97
  100. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  101. package/fesm2015/taiga-ui-cdk-components.js +1 -0
  102. package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
  103. package/fesm2015/taiga-ui-cdk-date-time.js +2 -2
  104. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  105. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +70 -38
  106. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  107. package/fesm2015/taiga-ui-cdk-directives-for.js +5 -4
  108. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  109. package/fesm2015/taiga-ui-cdk-services.js +18 -5
  110. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  111. package/fesm2015/taiga-ui-cdk-tokens.js +1 -2
  112. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  113. package/fesm2015/taiga-ui-cdk-utils-focus.js +1 -1
  114. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  115. package/fesm5/taiga-ui-cdk-abstract.js +100 -4
  116. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  117. package/fesm5/taiga-ui-cdk-components-dropdown-host.js +59 -0
  118. package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +1 -0
  119. package/fesm5/taiga-ui-cdk-components-portal-host.js +10 -112
  120. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  121. package/fesm5/taiga-ui-cdk-components.js +1 -0
  122. package/fesm5/taiga-ui-cdk-components.js.map +1 -1
  123. package/fesm5/taiga-ui-cdk-date-time.js +2 -2
  124. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  125. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +80 -38
  126. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  127. package/fesm5/taiga-ui-cdk-directives-for.js +5 -4
  128. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  129. package/fesm5/taiga-ui-cdk-services.js +18 -5
  130. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  131. package/fesm5/taiga-ui-cdk-tokens.js +1 -2
  132. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  133. package/fesm5/taiga-ui-cdk-utils-focus.js +1 -1
  134. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  135. package/package.json +1 -1
  136. package/services/directive-styles.service.d.ts +7 -2
  137. package/services/taiga-ui-cdk-services.metadata.json +1 -1
  138. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  139. package/utils/focus/get-closest-keyboard-focusable.d.ts +1 -1
  140. package/components/portal-host/portal-host.component.d.ts +0 -15
  141. package/components/portal-host/portal-host.module.d.ts +0 -2
  142. package/esm2015/components/portal-host/portal-host.component.js +0 -65
  143. package/esm2015/components/portal-host/portal-host.module.js +0 -13
  144. package/esm5/components/portal-host/portal-host.component.js +0 -71
  145. package/esm5/components/portal-host/portal-host.module.js +0 -16
@@ -28,8 +28,8 @@ export declare abstract class AbstractTuiControl<T> extends AbstractTuiInteracti
28
28
  get disabled(): boolean;
29
29
  get interactive(): boolean;
30
30
  get control(): AbstractControl | null;
31
- get computedName(): string | number | null;
32
- protected get controlName(): string | number | null;
31
+ get computedName(): string | null;
32
+ protected get controlName(): string | null;
33
33
  private get rawValue();
34
34
  ngOnInit(): void;
35
35
  ngOnDestroy(): void;
@@ -5,4 +5,6 @@ export * from './dialog.service';
5
5
  export * from './interactive';
6
6
  export * from './multiple-control';
7
7
  export * from './nullable-control';
8
+ export * from './portal-host';
9
+ export * from './portal-service';
8
10
  export * from './theme-switcher';
@@ -19,21 +19,29 @@ export declare abstract class AbstractTuiInteractive {
19
19
  * Emits 'true' on focus and 'false' on blur.
20
20
  */
21
21
  readonly focusedChange: EventEmitter<boolean>;
22
+ /** @deprecated use `tuiPressedChange` directive */
22
23
  readonly pressedChange: EventEmitter<boolean>;
24
+ /** @deprecated use `tuiHoveredChange` directive */
23
25
  readonly hoveredChange: EventEmitter<boolean>;
24
26
  readonly focusVisibleChange: EventEmitter<boolean>;
27
+ /** @deprecated use `tuiHoveredChange` directive */
25
28
  hovered: boolean;
29
+ /** @deprecated use `tuiPressedChange` directive */
26
30
  pressed: boolean;
27
31
  focusVisible: boolean;
28
32
  protected constructor();
29
33
  get computedDisabled(): boolean;
34
+ /** @deprecated */
30
35
  get computedHovered(): boolean;
36
+ /** @deprecated */
31
37
  get computedPressed(): boolean;
32
38
  get computedFocusable(): boolean;
33
39
  get computedFocused(): boolean;
34
40
  get computedFocusVisible(): boolean;
35
41
  get id(): string;
42
+ /** @deprecated */
36
43
  protected updateHovered(hovered: boolean): void;
44
+ /** @deprecated */
37
45
  protected updatePressed(pressed: boolean): void;
38
46
  protected updateFocused(focused: boolean): void;
39
47
  protected updateFocusVisible(focusVisible: boolean): void;
@@ -0,0 +1,13 @@
1
+ import { ComponentFactory, ComponentRef, ElementRef, EmbeddedViewRef, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { AbstractTuiPortalService } from './portal-service';
3
+ /**
4
+ * Abstract class for host element for dynamically created portals.
5
+ */
6
+ export declare abstract class AbstractTuiPortalHostComponent {
7
+ readonly elementRef: ElementRef<HTMLElement>;
8
+ viewContainerRef: ViewContainerRef;
9
+ constructor(elementRef: ElementRef<HTMLElement>, portalService: AbstractTuiPortalService);
10
+ get clientRect(): ClientRect;
11
+ addComponentChild<C>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C>;
12
+ addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C>;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { ComponentFactory, ComponentRef, EmbeddedViewRef, Injector, TemplateRef } from '@angular/core';
2
+ import { AbstractTuiPortalHostComponent } from './portal-host';
3
+ /**
4
+ * Abstract service for displaying portals
5
+ */
6
+ export declare abstract class AbstractTuiPortalService {
7
+ protected host?: AbstractTuiPortalHostComponent;
8
+ protected get safeHost(): AbstractTuiPortalHostComponent;
9
+ attach(host: AbstractTuiPortalHostComponent): void;
10
+ add<C>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C>;
11
+ remove<C>({ hostView }: ComponentRef<C>): void;
12
+ addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C>;
13
+ removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void;
14
+ }
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"AbstractTuiControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"AbstractTuiInteractive"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":21,"character":1}}],"members":{"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":37,"character":5},"arguments":["class._readonly"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":38,"character":5}}]}],"pseudoInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":46,"character":36},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":46},{"__symbolic":"reference","name":"TuiControlValueTransformer","module":"@taiga-ui/cdk/interfaces","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":73,"context":{"typeName":"T"},"module":"./control"}]}]}],"getFallbackValue":[{"__symbolic":"method"}],"computedInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":65,"character":5},"arguments":["class._invalid"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"checkControlUpdate":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"updateFocused":[{"__symbolic":"method"}],"updateValue":[{"__symbolic":"method"}],"valueIdenticalComparator":[{"__symbolic":"method"}],"safeNgControlData":[{"__symbolic":"method"}],"controlMarkAsTouched":[{"__symbolic":"method"}],"controlSetValue":[{"__symbolic":"method"}],"refreshLocalValue":[{"__symbolic":"method"}],"fromControlValue":[{"__symbolic":"method"}],"toControlValue":[{"__symbolic":"method"}]}},"TuiController":{"__symbolic":"class","members":{"ngOnChanges":[{"__symbolic":"method"}]}},"AbstractTuiDialogDirective":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusTemplate","line":9,"character":60},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":31,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":9},"arguments":[{"__symbolic":"reference","name":"AbstractTuiDialogService"}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"TuiDialog","module":"@taiga-ui/cdk/types","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":43,"context":{"typeName":"T"},"module":"./dialog.directive"},{"__symbolic":"error","message":"Expression form not supported","line":32,"character":46,"module":"./dialog.directive"}]}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":54},{"__symbolic":"reference","name":"AbstractTuiDialogService"}]}]}},"AbstractTuiDialogService":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":8,"character":69},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk/services","name":"TuiIdService","line":18,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk/services","name":"TuiIdService","line":18,"character":58}]}],"open":[{"__symbolic":"method"}]}},"AbstractTuiInteractive":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1}}],"members":{"pseudoHovered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":19,"character":5}}]}],"pseudoPressed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":23,"character":5}}]}],"pseudoFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":27,"character":5}}]}],"focusable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":34,"character":5}}]}],"nativeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":38,"character":5}}]}],"focusedChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"pressedChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"hoveredChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":5}}]}],"focusVisibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor"}],"computedDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":66,"character":5},"arguments":["class._disabled"]}]}],"computedHovered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":71,"character":5},"arguments":["class._hovered"]}]}],"computedPressed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":76,"character":5},"arguments":["class._pressed"]}]}],"computedFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":85,"character":5},"arguments":["class._focused"]}]}],"computedFocusVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":90,"character":5},"arguments":["class._focus-visible"]}]}],"updateHovered":[{"__symbolic":"method"}],"updatePressed":[{"__symbolic":"method"}],"updateFocused":[{"__symbolic":"method"}],"updateFocusVisible":[{"__symbolic":"method"}]},"statics":{"autoId":0}},"AbstractTuiMultipleControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"AbstractTuiControl"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1}}],"members":{"clear":[{"__symbolic":"method"}],"getFallbackValue":[{"__symbolic":"method"}]}},"AbstractTuiNullableControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"AbstractTuiControl"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1}}],"members":{"getFallbackValue":[{"__symbolic":"method"}]}},"AbstractTuiThemeSwitcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":14,"character":24}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":14,"character":64,"context":{"typeName":"Document"},"module":"./theme-switcher"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"addTheme":[{"__symbolic":"method"}],"removeTheme":[{"__symbolic":"method"}]},"statics":{"style":null}}},"origins":{"AbstractTuiControl":"./control","TuiController":"./controller","AbstractTuiDialogDirective":"./dialog.directive","AbstractTuiDialogService":"./dialog.service","AbstractTuiInteractive":"./interactive","AbstractTuiMultipleControl":"./multiple-control","AbstractTuiNullableControl":"./nullable-control","AbstractTuiThemeSwitcher":"./theme-switcher"},"importAs":"@taiga-ui/cdk/abstract"}
1
+ {"__symbolic":"module","version":4,"metadata":{"AbstractTuiControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"AbstractTuiInteractive"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":21,"character":1}}],"members":{"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":37,"character":5},"arguments":["class._readonly"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":38,"character":5}}]}],"pseudoInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":46,"character":36},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":46},{"__symbolic":"reference","name":"TuiControlValueTransformer","module":"@taiga-ui/cdk/interfaces","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":73,"context":{"typeName":"T"},"module":"./control"}]}]}],"getFallbackValue":[{"__symbolic":"method"}],"computedInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":65,"character":5},"arguments":["class._invalid"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"checkControlUpdate":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"updateFocused":[{"__symbolic":"method"}],"updateValue":[{"__symbolic":"method"}],"valueIdenticalComparator":[{"__symbolic":"method"}],"safeNgControlData":[{"__symbolic":"method"}],"controlMarkAsTouched":[{"__symbolic":"method"}],"controlSetValue":[{"__symbolic":"method"}],"refreshLocalValue":[{"__symbolic":"method"}],"fromControlValue":[{"__symbolic":"method"}],"toControlValue":[{"__symbolic":"method"}]}},"TuiController":{"__symbolic":"class","members":{"ngOnChanges":[{"__symbolic":"method"}]}},"AbstractTuiDialogDirective":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusTemplate","line":9,"character":60},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":31,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":9},"arguments":[{"__symbolic":"reference","name":"AbstractTuiDialogService"}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"TuiDialog","module":"@taiga-ui/cdk/types","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":43,"context":{"typeName":"T"},"module":"./dialog.directive"},{"__symbolic":"error","message":"Expression form not supported","line":32,"character":46,"module":"./dialog.directive"}]}]},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":33,"character":54},{"__symbolic":"reference","name":"AbstractTuiDialogService"}]}]}},"AbstractTuiDialogService":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":8,"character":69},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk/services","name":"TuiIdService","line":18,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk/services","name":"TuiIdService","line":18,"character":58}]}],"open":[{"__symbolic":"method"}]}},"AbstractTuiInteractive":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1}}],"members":{"pseudoHovered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":19,"character":5}}]}],"pseudoPressed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":23,"character":5}}]}],"pseudoFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":27,"character":5}}]}],"focusable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":34,"character":5}}]}],"nativeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk/decorators","name":"tuiDefaultProp","line":38,"character":5}}]}],"focusedChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"pressedChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"hoveredChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":5}}]}],"focusVisibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor"}],"computedDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":70,"character":5},"arguments":["class._disabled"]}]}],"computedHovered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":76,"character":5},"arguments":["class._hovered"]}]}],"computedPressed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":82,"character":5},"arguments":["class._pressed"]}]}],"computedFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":91,"character":5},"arguments":["class._focused"]}]}],"computedFocusVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":96,"character":5},"arguments":["class._focus-visible"]}]}],"updateHovered":[{"__symbolic":"method"}],"updatePressed":[{"__symbolic":"method"}],"updateFocused":[{"__symbolic":"method"}],"updateFocusVisible":[{"__symbolic":"method"}]},"statics":{"autoId":0}},"AbstractTuiMultipleControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"AbstractTuiControl"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1}}],"members":{"clear":[{"__symbolic":"method"}],"getFallbackValue":[{"__symbolic":"method"}]}},"AbstractTuiNullableControl":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"AbstractTuiControl"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1}}],"members":{"getFallbackValue":[{"__symbolic":"method"}]}},"AbstractTuiPortalHostComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1}}],"members":{"viewContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":5},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":20,"character":39}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":24,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","name":"AbstractTuiPortalService"}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":40,"context":{"typeName":"HTMLElement"},"module":"./portal-host"}]},{"__symbolic":"reference","name":"AbstractTuiPortalService"}]}],"addComponentChild":[{"__symbolic":"method"}],"addTemplateChild":[{"__symbolic":"method"}]}},"AbstractTuiPortalService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1}}],"members":{"attach":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"addTemplate":[{"__symbolic":"method"}],"removeTemplate":[{"__symbolic":"method"}]}},"AbstractTuiThemeSwitcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":14,"character":24}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":14,"character":64,"context":{"typeName":"Document"},"module":"./theme-switcher"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"addTheme":[{"__symbolic":"method"}],"removeTheme":[{"__symbolic":"method"}]},"statics":{"style":null}}},"origins":{"AbstractTuiControl":"./control","TuiController":"./controller","AbstractTuiDialogDirective":"./dialog.directive","AbstractTuiDialogService":"./dialog.service","AbstractTuiInteractive":"./interactive","AbstractTuiMultipleControl":"./multiple-control","AbstractTuiNullableControl":"./nullable-control","AbstractTuiPortalHostComponent":"./portal-host","AbstractTuiPortalService":"./portal-service","AbstractTuiThemeSwitcher":"./theme-switcher"},"importAs":"@taiga-ui/cdk/abstract"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk/classes'), require('@taiga-ui/cdk/constants'), require('@taiga-ui/cdk/decorators'), require('rxjs'), require('rxjs/operators'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/cdk/services'), require('@angular/common')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/cdk/abstract', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk/classes', '@taiga-ui/cdk/constants', '@taiga-ui/cdk/decorators', 'rxjs', 'rxjs/operators', '@tinkoff/ng-polymorpheus', '@taiga-ui/cdk/services', '@angular/common'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].cdk = global['taiga-ui'].cdk || {}, global['taiga-ui'].cdk.abstract = {}), global.ng.core, global.ng.forms, global['taiga-ui'].cdk.classes, global['taiga-ui'].cdk.constants, global['taiga-ui'].cdk.decorators, global.rxjs, global.rxjs.operators, global.ngPolymorpheus, global['taiga-ui'].cdk.services, global.ng.common));
5
- }(this, (function (exports, core, forms, classes, constants, decorators, rxjs, operators, ngPolymorpheus, services, common) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk/classes'), require('@taiga-ui/cdk/constants'), require('@taiga-ui/cdk/decorators'), require('rxjs'), require('rxjs/operators'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/cdk/services'), require('@taiga-ui/cdk/exceptions'), require('@angular/common')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/cdk/abstract', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk/classes', '@taiga-ui/cdk/constants', '@taiga-ui/cdk/decorators', 'rxjs', 'rxjs/operators', '@tinkoff/ng-polymorpheus', '@taiga-ui/cdk/services', '@taiga-ui/cdk/exceptions', '@angular/common'], factory) :
4
+ (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].cdk = global['taiga-ui'].cdk || {}, global['taiga-ui'].cdk.abstract = {}), global.ng.core, global.ng.forms, global['taiga-ui'].cdk.classes, global['taiga-ui'].cdk.constants, global['taiga-ui'].cdk.decorators, global.rxjs, global.rxjs.operators, global.ngPolymorpheus, global['taiga-ui'].cdk.services, global['taiga-ui'].cdk.exceptions, global.ng.common));
5
+ }(this, (function (exports, core, forms, classes, constants, decorators, rxjs, operators, ngPolymorpheus, services, exceptions, common) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -241,10 +241,14 @@
241
241
  * Emits 'true' on focus and 'false' on blur.
242
242
  */
243
243
  this.focusedChange = new core.EventEmitter();
244
+ /** @deprecated use `tuiPressedChange` directive */
244
245
  this.pressedChange = new core.EventEmitter();
246
+ /** @deprecated use `tuiHoveredChange` directive */
245
247
  this.hoveredChange = new core.EventEmitter();
246
248
  this.focusVisibleChange = new core.EventEmitter();
249
+ /** @deprecated use `tuiHoveredChange` directive */
247
250
  this.hovered = false;
251
+ /** @deprecated use `tuiPressedChange` directive */
248
252
  this.pressed = false;
249
253
  this.focusVisible = false;
250
254
  this.autoIdString = "" + TUI + AbstractTuiInteractive_1.autoId++ + Date.now();
@@ -258,6 +262,7 @@
258
262
  configurable: true
259
263
  });
260
264
  Object.defineProperty(AbstractTuiInteractive.prototype, "computedHovered", {
265
+ /** @deprecated */
261
266
  get: function () {
262
267
  var _a;
263
268
  return !this.computedDisabled && ((_a = this.pseudoHovered) !== null && _a !== void 0 ? _a : this.hovered);
@@ -266,6 +271,7 @@
266
271
  configurable: true
267
272
  });
268
273
  Object.defineProperty(AbstractTuiInteractive.prototype, "computedPressed", {
274
+ /** @deprecated */
269
275
  get: function () {
270
276
  var _a;
271
277
  return !this.computedDisabled && ((_a = this.pseudoPressed) !== null && _a !== void 0 ? _a : this.pressed);
@@ -297,12 +303,14 @@
297
303
  configurable: true
298
304
  });
299
305
  Object.defineProperty(AbstractTuiInteractive.prototype, "id", {
306
+ // TODO: Consider removing since native input is exposed
300
307
  get: function () {
301
308
  return this.nativeId ? this.nativeId : this.autoIdString;
302
309
  },
303
310
  enumerable: true,
304
311
  configurable: true
305
312
  });
313
+ /** @deprecated */
306
314
  AbstractTuiInteractive.prototype.updateHovered = function (hovered) {
307
315
  if (this.hovered === hovered) {
308
316
  return;
@@ -310,6 +318,7 @@
310
318
  this.hovered = hovered;
311
319
  this.hoveredChange.emit(hovered);
312
320
  };
321
+ /** @deprecated */
313
322
  AbstractTuiInteractive.prototype.updatePressed = function (pressed) {
314
323
  if (this.pressed === pressed) {
315
324
  return;
@@ -491,14 +500,16 @@
491
500
  });
492
501
  Object.defineProperty(AbstractTuiControl.prototype, "computedName", {
493
502
  get: function () {
494
- return this.controlName;
503
+ var _a, _b;
504
+ return (_b = (_a = this.controlName) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : null;
495
505
  },
496
506
  enumerable: true,
497
507
  configurable: true
498
508
  });
499
509
  Object.defineProperty(AbstractTuiControl.prototype, "controlName", {
500
510
  get: function () {
501
- return this.ngControl && this.ngControl.name;
511
+ var _a, _b, _c;
512
+ return (_c = (_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : null;
502
513
  },
503
514
  enumerable: true,
504
515
  configurable: true
@@ -729,6 +740,90 @@
729
740
  return AbstractTuiNullableControl;
730
741
  }(AbstractTuiControl));
731
742
 
743
+ /**
744
+ * Abstract service for displaying portals
745
+ */
746
+ var AbstractTuiPortalService = /** @class */ (function () {
747
+ function AbstractTuiPortalService() {
748
+ }
749
+ Object.defineProperty(AbstractTuiPortalService.prototype, "safeHost", {
750
+ get: function () {
751
+ if (!this.host) {
752
+ throw new exceptions.TuiNoHostException();
753
+ }
754
+ return this.host;
755
+ },
756
+ enumerable: true,
757
+ configurable: true
758
+ });
759
+ AbstractTuiPortalService.prototype.attach = function (host) {
760
+ this.host = host;
761
+ };
762
+ AbstractTuiPortalService.prototype.add = function (componentFactory, injector) {
763
+ return this.safeHost.addComponentChild(componentFactory, injector);
764
+ };
765
+ AbstractTuiPortalService.prototype.remove = function (_a) {
766
+ var hostView = _a.hostView;
767
+ hostView.destroy();
768
+ };
769
+ AbstractTuiPortalService.prototype.addTemplate = function (templateRef, context) {
770
+ return this.safeHost.addTemplateChild(templateRef, context);
771
+ };
772
+ AbstractTuiPortalService.prototype.removeTemplate = function (viewRef) {
773
+ viewRef.destroy();
774
+ };
775
+ AbstractTuiPortalService = __decorate([
776
+ core.Injectable()
777
+ ], AbstractTuiPortalService);
778
+ return AbstractTuiPortalService;
779
+ }());
780
+
781
+ /**
782
+ * Abstract class for host element for dynamically created portals.
783
+ */
784
+ var AbstractTuiPortalHostComponent = /** @class */ (function () {
785
+ function AbstractTuiPortalHostComponent(elementRef, portalService) {
786
+ this.elementRef = elementRef;
787
+ portalService.attach(this);
788
+ }
789
+ AbstractTuiPortalHostComponent_1 = AbstractTuiPortalHostComponent;
790
+ Object.defineProperty(AbstractTuiPortalHostComponent.prototype, "clientRect", {
791
+ get: function () {
792
+ return this.elementRef.nativeElement.getBoundingClientRect();
793
+ },
794
+ enumerable: true,
795
+ configurable: true
796
+ });
797
+ AbstractTuiPortalHostComponent.prototype.addComponentChild = function (componentFactory, injector) {
798
+ return this.viewContainerRef.createComponent(componentFactory, undefined, core.Injector.create({
799
+ parent: injector,
800
+ providers: [
801
+ {
802
+ provide: AbstractTuiPortalHostComponent_1,
803
+ useValue: this,
804
+ },
805
+ ],
806
+ }));
807
+ };
808
+ AbstractTuiPortalHostComponent.prototype.addTemplateChild = function (templateRef, context) {
809
+ return this.viewContainerRef.createEmbeddedView(templateRef, context);
810
+ };
811
+ var AbstractTuiPortalHostComponent_1;
812
+ AbstractTuiPortalHostComponent.ctorParameters = function () { return [
813
+ { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] },
814
+ { type: AbstractTuiPortalService, decorators: [{ type: core.Inject, args: [AbstractTuiPortalService,] }] }
815
+ ]; };
816
+ __decorate([
817
+ core.ViewChild('viewContainer', { read: core.ViewContainerRef })
818
+ ], AbstractTuiPortalHostComponent.prototype, "viewContainerRef", void 0);
819
+ AbstractTuiPortalHostComponent = AbstractTuiPortalHostComponent_1 = __decorate([
820
+ core.Directive(),
821
+ __param(0, core.Inject(core.ElementRef)),
822
+ __param(1, core.Inject(AbstractTuiPortalService))
823
+ ], AbstractTuiPortalHostComponent);
824
+ return AbstractTuiPortalHostComponent;
825
+ }());
826
+
732
827
  /**
733
828
  * Use this abstract class to create your own toggleable themes.
734
829
  * A component extending this class must have CSS variables definitions
@@ -786,6 +881,8 @@
786
881
  exports.AbstractTuiInteractive = AbstractTuiInteractive;
787
882
  exports.AbstractTuiMultipleControl = AbstractTuiMultipleControl;
788
883
  exports.AbstractTuiNullableControl = AbstractTuiNullableControl;
884
+ exports.AbstractTuiPortalHostComponent = AbstractTuiPortalHostComponent;
885
+ exports.AbstractTuiPortalService = AbstractTuiPortalService;
789
886
  exports.AbstractTuiThemeSwitcher = AbstractTuiThemeSwitcher;
790
887
  exports.TuiController = TuiController;
791
888