@tetacom/ng-components 1.0.36 → 1.0.39

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 (110) hide show
  1. package/assets/icons.svg +503 -657
  2. package/component/dropdown/dropdown/dropdown.component.d.ts +1 -1
  3. package/component/expand-card/expand-card/expand-card.component.d.ts +13 -0
  4. package/component/expand-card/expand-card.module.d.ts +12 -0
  5. package/component/expand-card/public-api.d.ts +2 -0
  6. package/component/file-upload/file-upload.module.d.ts +2 -1
  7. package/component/modal/modal-container/modal-container.component.d.ts +1 -1
  8. package/component/modal/modal.service.d.ts +1 -1
  9. package/component/modal/model/i-modal-result.d.ts +2 -1
  10. package/component/modal/model/modal-instance.d.ts +2 -2
  11. package/component/public-api.d.ts +2 -0
  12. package/component/resize-panel/resize-panel/resize-panel.component.d.ts +1 -0
  13. package/component/table/enum/select-type.enum.d.ts +2 -2
  14. package/directive/context-menu/context-menu.directive.d.ts +4 -1
  15. package/directive/drag-drop/drag-container.directive.d.ts +32 -0
  16. package/directive/drag-drop/drag-drop.module.d.ts +11 -0
  17. package/directive/drag-drop/drag-drop.service.d.ts +40 -0
  18. package/directive/drag-drop/drag-placeholder.directive.d.ts +6 -0
  19. package/directive/drag-drop/drag-preview.directive.d.ts +8 -0
  20. package/directive/drag-drop/drag.directive.d.ts +31 -0
  21. package/directive/drag-drop/model/drag-container-instance.d.ts +11 -0
  22. package/directive/drag-drop/model/drag-instance.d.ts +9 -0
  23. package/directive/drag-drop/model/drag-process.d.ts +4 -0
  24. package/directive/drag-drop/model/drag-selection.d.ts +6 -0
  25. package/directive/drag-drop/model/drop-event.d.ts +8 -0
  26. package/directive/drag-drop/model/drop-target.d.ts +3 -0
  27. package/directive/drag-drop/model/point.d.ts +4 -0
  28. package/directive/drag-drop/model/public-api.d.ts +7 -0
  29. package/directive/drag-drop/public-api.d.ts +7 -0
  30. package/directive/let/let.directive.d.ts +18 -0
  31. package/directive/let/let.module.d.ts +8 -0
  32. package/directive/let/public-api.d.ts +2 -0
  33. package/directive/public-api.d.ts +3 -1
  34. package/directive/scroll-into-view/public-api.d.ts +2 -0
  35. package/directive/scroll-into-view/scroll-into-view.directive.d.ts +13 -0
  36. package/directive/scroll-into-view/scroll-into-view.module.d.ts +8 -0
  37. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +3 -3
  38. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +1 -1
  39. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +1 -1
  40. package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +3 -3
  41. package/esm2020/component/dropdown/dropdown-base.mjs +3 -4
  42. package/esm2020/component/expand-card/expand-card/expand-card.component.mjs +36 -0
  43. package/esm2020/component/expand-card/expand-card.module.mjs +42 -0
  44. package/esm2020/component/expand-card/public-api.mjs +3 -0
  45. package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
  46. package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +4 -3
  47. package/esm2020/component/file-upload/file-upload.module.mjs +5 -4
  48. package/esm2020/component/modal/modal-container/modal-container.component.mjs +7 -7
  49. package/esm2020/component/modal/modal.service.mjs +1 -1
  50. package/esm2020/component/modal/model/i-modal-result.mjs +1 -1
  51. package/esm2020/component/modal/model/modal-instance.mjs +4 -2
  52. package/esm2020/component/public-api.mjs +5 -1
  53. package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +6 -3
  54. package/esm2020/component/select/select/select.component.mjs +1 -1
  55. package/esm2020/component/table/enum/select-type.enum.mjs +3 -3
  56. package/esm2020/component/table/head-cell/head-cell.component.mjs +1 -1
  57. package/esm2020/component/table/service/table.service.mjs +5 -20
  58. package/esm2020/component/table/table/table.component.mjs +7 -4
  59. package/esm2020/component/table/table-body/table-body.component.mjs +4 -4
  60. package/esm2020/component/table/table-head/table-head.component.mjs +4 -4
  61. package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +3 -3
  62. package/esm2020/directive/context-menu/context-menu.directive.mjs +36 -11
  63. package/esm2020/directive/drag-drop/drag-container.directive.mjs +92 -0
  64. package/esm2020/directive/drag-drop/drag-drop.module.mjs +41 -0
  65. package/esm2020/directive/drag-drop/drag-drop.service.mjs +140 -0
  66. package/esm2020/directive/drag-drop/drag-placeholder.directive.mjs +14 -0
  67. package/esm2020/directive/drag-drop/drag-preview.directive.mjs +16 -0
  68. package/esm2020/directive/drag-drop/drag.directive.mjs +128 -0
  69. package/esm2020/directive/drag-drop/model/drag-container-instance.mjs +8 -0
  70. package/esm2020/directive/drag-drop/model/drag-instance.mjs +7 -0
  71. package/esm2020/directive/drag-drop/model/drag-process.mjs +2 -0
  72. package/esm2020/directive/drag-drop/model/drag-selection.mjs +2 -0
  73. package/esm2020/directive/drag-drop/model/drop-event.mjs +2 -0
  74. package/esm2020/directive/drag-drop/model/drop-target.mjs +2 -0
  75. package/esm2020/directive/drag-drop/model/point.mjs +2 -0
  76. package/esm2020/directive/drag-drop/model/public-api.mjs +8 -0
  77. package/esm2020/directive/drag-drop/public-api.mjs +8 -0
  78. package/esm2020/directive/let/let.directive.mjs +38 -0
  79. package/esm2020/directive/let/let.module.mjs +25 -0
  80. package/esm2020/directive/let/public-api.mjs +3 -0
  81. package/esm2020/directive/public-api.mjs +4 -2
  82. package/esm2020/directive/scroll-into-view/public-api.mjs +3 -0
  83. package/esm2020/directive/scroll-into-view/scroll-into-view.directive.mjs +40 -0
  84. package/esm2020/directive/scroll-into-view/scroll-into-view.module.mjs +25 -0
  85. package/esm2020/observable/public-api.mjs +2 -0
  86. package/esm2020/observable/zoneObservable.mjs +15 -0
  87. package/esm2020/public-api.mjs +3 -1
  88. package/esm2020/util/forms-util.mjs +7 -1
  89. package/fesm2015/tetacom-ng-components.mjs +992 -344
  90. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  91. package/fesm2020/tetacom-ng-components.mjs +975 -341
  92. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  93. package/observable/public-api.d.ts +1 -0
  94. package/observable/zoneObservable.d.ts +5 -0
  95. package/package.json +6 -2
  96. package/public-api.d.ts +1 -0
  97. package/style/button.scss +1 -1
  98. package/style/input.scss +1 -1
  99. package/style/layout.scss +30 -2
  100. package/style/list.scss +9 -4
  101. package/style/modal.scss +2 -0
  102. package/style/presets/color-presets.scss +77 -79
  103. package/style/presets/font-presets.scss +21 -21
  104. package/style/presets/shadow-presets.scss +6 -6
  105. package/style/radio.scss +2 -2
  106. package/style/switch.scss +3 -3
  107. package/style/table.scss +1 -1
  108. package/style/toolbar.scss +1 -1
  109. package/style/util/button-util.scss +2 -2
  110. package/util/forms-util.d.ts +1 -0
@@ -11,5 +11,5 @@ export declare class DropdownComponent extends DropdownBase implements OnInit, O
11
11
  ngOnInit(): void;
12
12
  ngOnDestroy(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "teta-dropdown", never, {}, {}, never, ["[tetaDropdownHead]"]>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "teta-dropdown", ["dropdown"], {}, {}, never, ["[tetaDropdownHead]"]>;
15
15
  }
@@ -0,0 +1,13 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ExpandCardComponent implements OnInit {
4
+ open: boolean;
5
+ openChange: EventEmitter<boolean>;
6
+ showCross: boolean;
7
+ crossClick: EventEmitter<MouseEvent>;
8
+ constructor();
9
+ ngOnInit(): void;
10
+ setOpen(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExpandCardComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExpandCardComponent, "teta-expand-card", ["expand-card"], { "open": "open"; "showCross": "showCross"; }, { "openChange": "openChange"; "crossClick": "crossClick"; }, never, ["head", "*"]>;
13
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./expand-card/expand-card.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "../toolbar/toolbar.module";
5
+ import * as i4 from "../button/button.module";
6
+ import * as i5 from "../icon/icon.module";
7
+ import * as i6 from "../delimiter/delimiter.module";
8
+ export declare class ExpandCardModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExpandCardModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ExpandCardModule, [typeof i1.ExpandCardComponent], [typeof i2.CommonModule, typeof i3.ToolbarModule, typeof i4.ButtonModule, typeof i5.IconModule, typeof i6.DelimiterModule], [typeof i1.ExpandCardComponent]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<ExpandCardModule>;
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from './expand-card.module';
2
+ export * from './expand-card/expand-card.component';
@@ -4,8 +4,9 @@ import * as i2 from "./file-item/file-item.component";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "../button/button.module";
6
6
  import * as i5 from "../icon/icon.module";
7
+ import * as i6 from "@ngneat/transloco";
7
8
  export declare class FileUploadModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<FileUploadModule, [typeof i1.FileUploadAreaComponent, typeof i2.FileItemComponent], [typeof i3.CommonModule, typeof i4.ButtonModule, typeof i5.IconModule], [typeof i1.FileUploadAreaComponent, typeof i2.FileItemComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FileUploadModule, [typeof i1.FileUploadAreaComponent, typeof i2.FileItemComponent], [typeof i3.CommonModule, typeof i4.ButtonModule, typeof i5.IconModule, typeof i6.TranslocoModule], [typeof i1.FileUploadAreaComponent, typeof i2.FileItemComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<FileUploadModule>;
11
12
  }
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class ModalContainerComponent {
6
6
  private elRef$;
7
7
  config: IModalConfig;
8
- closeEvent: EventEmitter<IModalResult>;
8
+ closeEvent: EventEmitter<IModalResult<any>>;
9
9
  tabindex: number;
10
10
  dialog: boolean;
11
11
  get classList(): string;
@@ -12,7 +12,7 @@ export declare class ModalService {
12
12
  private readonly _container;
13
13
  constructor(_document: any, _injector: Injector, _factory: DynamicComponentService);
14
14
  closeAll(): void;
15
- create(content: string | TemplateRef<any> | Type<any>, data?: any, config?: IModalConfig, injector?: Injector): ModalInstance;
15
+ create<T = any>(content: string | TemplateRef<any> | Type<any>, data?: any, config?: IModalConfig, injector?: Injector): ModalInstance<T>;
16
16
  private getContext;
17
17
  private getInjector;
18
18
  private register;
@@ -1,9 +1,10 @@
1
1
  import { ModalCloseReason } from './modal-close-reason.enum';
2
- export interface IModalResult {
2
+ export interface IModalResult<T = any> {
3
3
  /**
4
4
  * Любые другие данные которые пользователь желает вернуть при закрытии окна
5
5
  */
6
6
  [key: string]: any;
7
+ data?: T;
7
8
  /**
8
9
  * Причина закрытия окна
9
10
  */
@@ -3,10 +3,10 @@ import { IModalResult } from './i-modal-result';
3
3
  import { ComponentRef } from '@angular/core';
4
4
  import { TetaContentRef } from '../../../common/contract/teta-content-ref';
5
5
  import { ModalContainerComponent } from '../modal-container/modal-container.component';
6
- export declare class ModalInstance {
6
+ export declare class ModalInstance<T = any> {
7
7
  private _window;
8
8
  private _content;
9
- onClose: Observable<IModalResult>;
9
+ onClose: Observable<IModalResult<T>>;
10
10
  private _onClose;
11
11
  constructor(_window: ComponentRef<ModalContainerComponent>, _content: TetaContentRef);
12
12
  get window(): ComponentRef<ModalContainerComponent>;
@@ -5,6 +5,7 @@ export * from './date-picker/public-api';
5
5
  export * from './delimiter/public-api';
6
6
  export * from './dropdown/public-api';
7
7
  export * from './dynamic-component/public-api';
8
+ export * from './expand-card/public-api';
8
9
  export * from './expand-panel/public-api';
9
10
  export * from './file-upload/public-api';
10
11
  export * from './filter/public-api';
@@ -27,3 +28,4 @@ export * from './toggle/public-api';
27
28
  export * from './toolbar/public-api';
28
29
  export * from './tree/public-api';
29
30
  export * from './chart-3d/public-api';
31
+ export * from './resize-panel/public-api';
@@ -6,6 +6,7 @@ export declare class ResizePanelComponent implements OnInit, OnDestroy {
6
6
  private _document;
7
7
  set direction(val: 'vertical' | 'horizontal');
8
8
  get direction(): 'vertical' | 'horizontal';
9
+ get icon(): "moreHorizontal" | "moreVertical";
9
10
  set grabPosition(val: 'top' | 'left' | 'bottom' | 'right');
10
11
  get grabPosition(): 'top' | 'left' | 'bottom' | 'right';
11
12
  name: string;
@@ -1,5 +1,5 @@
1
1
  export declare enum SelectType {
2
2
  none = 0,
3
- multiple = 1,
4
- single = 2
3
+ checkBox = 1,
4
+ mouse = 2
5
5
  }
@@ -2,6 +2,7 @@ import { ChangeDetectorRef, ElementRef, Injector, NgZone, OnDestroy, OnInit, Tem
2
2
  import { DynamicComponentService } from '../../common/service/dynamic-component.service';
3
3
  import { DynamicContentBaseDirective } from '../dynamic-content-base.directive';
4
4
  import { ClickService } from '../../common/service/click.service';
5
+ import { AutoCloseIgnoreCase } from '../../common/contract/auto-close-ignore-case';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class ContextMenuDirective extends DynamicContentBaseDirective implements OnDestroy, OnInit {
7
8
  protected _document: any;
@@ -15,15 +16,17 @@ export declare class ContextMenuDirective extends DynamicContentBaseDirective im
15
16
  * Строка, шаблон или компонент для создания контекстного меню
16
17
  */
17
18
  tetaContextMenu: string | TemplateRef<any> | Type<any>;
19
+ autoCloseIgnore: AutoCloseIgnoreCase[];
18
20
  get _dynamicContent(): string | Type<any> | TemplateRef<any>;
19
21
  private _eventPoint;
20
22
  constructor(_document: any, _elementRef: ElementRef, _service: DynamicComponentService, _injector: Injector, _zone: NgZone, _cdr: ChangeDetectorRef, _click: ClickService);
21
23
  showContent(event: MouseEvent): void;
22
24
  click(event: MouseEvent): void;
25
+ documentClick(event: MouseEvent): void;
23
26
  ngOnInit(): void;
24
27
  ngOnDestroy(): void;
25
28
  protected setPosition(): void;
26
29
  private createMenu;
27
30
  static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuDirective, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<ContextMenuDirective, "[tetaContextMenu]", never, { "tetaContextMenu": "tetaContextMenu"; }, {}, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContextMenuDirective, "[tetaContextMenu]", never, { "tetaContextMenu": "tetaContextMenu"; "autoCloseIgnore": "autoCloseIgnore"; }, {}, never>;
29
32
  }
@@ -0,0 +1,32 @@
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
2
+ import { DragContainerInstance } from './model/drag-container-instance';
3
+ import { DragDropService } from './drag-drop.service';
4
+ import { DropTarget } from './model/drop-target';
5
+ import { DropEvent } from './model/drop-event';
6
+ import { DragInstance } from './model/drag-instance';
7
+ import * as i0 from "@angular/core";
8
+ export declare class DragContainerDirective<T> implements OnInit, OnDestroy {
9
+ private _dragService;
10
+ private _elementRef;
11
+ private _viewContainerRef;
12
+ private _zone;
13
+ private _cdr;
14
+ data: T[];
15
+ multiple: boolean;
16
+ allowDrop: boolean;
17
+ tetaDrop: EventEmitter<DropEvent<T>>;
18
+ tetaDragEnter: EventEmitter<DragInstance<T>>;
19
+ private _previewTemplate;
20
+ instance: DragContainerInstance<T>;
21
+ dropTarget: DropTarget<T>;
22
+ private _alive;
23
+ get isDropTarget(): boolean;
24
+ mouseleave(event: any): void;
25
+ mouseover(event: any): void;
26
+ escape(event: any): void;
27
+ constructor(_dragService: DragDropService<T>, _elementRef: ElementRef, _viewContainerRef: ViewContainerRef, _zone: NgZone, _cdr: ChangeDetectorRef);
28
+ ngOnInit(): void;
29
+ ngOnDestroy(): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragContainerDirective<any>, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragContainerDirective<any>, "[tetaDragContainer]", ["dragContainer"], { "data": "tetaDragContainer"; "multiple": "multiple"; "allowDrop": "allowDrop"; }, { "tetaDrop": "tetaDrop"; "tetaDragEnter": "tetaDragEnter"; }, ["_previewTemplate"]>;
32
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./drag-container.directive";
3
+ import * as i2 from "./drag.directive";
4
+ import * as i3 from "./drag-preview.directive";
5
+ import * as i4 from "./drag-placeholder.directive";
6
+ import * as i5 from "@angular/common";
7
+ export declare class DragDropModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragDropModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DragDropModule, [typeof i1.DragContainerDirective, typeof i2.DragDirective, typeof i3.DragPreviewDirective, typeof i4.DragPlaceholderDirective], [typeof i5.CommonModule], [typeof i1.DragContainerDirective, typeof i2.DragDirective, typeof i3.DragPreviewDirective, typeof i4.DragPlaceholderDirective]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<DragDropModule>;
11
+ }
@@ -0,0 +1,40 @@
1
+ import { RendererFactory2 } from '@angular/core';
2
+ import { DragInstance } from './model/drag-instance';
3
+ import { DragSelection } from './model/drag-selection';
4
+ import { DragContainerInstance } from './model/drag-container-instance';
5
+ import { Point } from './model/point';
6
+ import { Observable } from 'rxjs';
7
+ import { DragProcess } from './model/drag-process';
8
+ import { DropTarget } from './model/drop-target';
9
+ import { DropEvent } from './model/drop-event';
10
+ import * as i0 from "@angular/core";
11
+ export declare class DragDropService<T> {
12
+ private _document;
13
+ private _rendererFactory;
14
+ selection: DragSelection<T>;
15
+ startPosition: Point;
16
+ dragProcess: DragProcess<T>;
17
+ dropTarget: Observable<DropTarget<T>>;
18
+ dropped: Observable<DropEvent<T>>;
19
+ private dropTarget$;
20
+ private _delta;
21
+ private _renderer;
22
+ private _preview;
23
+ private _previewRef;
24
+ private dropped$;
25
+ constructor(_document: any, _rendererFactory: RendererFactory2);
26
+ setDropTarget(target: DropTarget<T>): void;
27
+ setStartPosition(point: Point): void;
28
+ setSelection(instance: DragInstance<T>, container: DragContainerInstance<T>): void;
29
+ addSelection(instance: DragInstance<T>, container: DragContainerInstance<T>): void;
30
+ clearSelection(): void;
31
+ cancelDrag(): void;
32
+ startProcess(): void;
33
+ stopProcess(): void;
34
+ private getDelta;
35
+ private createPreview;
36
+ private movePreview;
37
+ private destroyPreview;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragDropService<any>, never>;
39
+ static ɵprov: i0.ɵɵInjectableDeclaration<DragDropService<any>>;
40
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DragPlaceholderDirective {
3
+ constructor();
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragPlaceholderDirective, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragPlaceholderDirective, "[tetaDragPlaceholder]", never, {}, {}, never>;
6
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DragPreviewDirective {
4
+ templateRef: TemplateRef<any>;
5
+ constructor(templateRef: TemplateRef<any>);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragPreviewDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragPreviewDirective, "[tetaDragPreview]", never, {}, {}, never>;
8
+ }
@@ -0,0 +1,31 @@
1
+ import { ChangeDetectorRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
2
+ import { DragInstance } from './model/drag-instance';
3
+ import { DragContainerDirective } from './drag-container.directive';
4
+ import { DragDropService } from './drag-drop.service';
5
+ import { DropTarget } from './model/drop-target';
6
+ import { DropEvent } from './model/drop-event';
7
+ import * as i0 from "@angular/core";
8
+ export declare class DragDirective<T> implements OnInit, OnDestroy {
9
+ private _container;
10
+ private _dragService;
11
+ private _zone;
12
+ private _cdr;
13
+ data: T;
14
+ allowDrag: boolean;
15
+ allowDrop: boolean;
16
+ tetaDragEnter: EventEmitter<DragInstance<T>>;
17
+ tetaDrop: EventEmitter<DropEvent<T>>;
18
+ dropTarget: DropTarget<T>;
19
+ instance: DragInstance<T>;
20
+ get selection(): boolean;
21
+ get isDropTarget(): boolean;
22
+ private _alive;
23
+ mousedown(event: any): void;
24
+ mouseenter(event: MouseEvent): void;
25
+ mouseleave(event: any): void;
26
+ constructor(_container: DragContainerDirective<T>, _dragService: DragDropService<T>, _zone: NgZone, _cdr: ChangeDetectorRef);
27
+ ngOnInit(): void;
28
+ ngOnDestroy(): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragDirective<any>, [{ optional: true; skipSelf: true; }, null, null, null]>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragDirective<any>, "[tetaDrag]", ["drag"], { "data": "tetaDrag"; "allowDrag": "allowDrag"; "allowDrop": "allowDrop"; }, { "tetaDragEnter": "tetaDragEnter"; "tetaDrop": "tetaDrop"; }, never>;
31
+ }
@@ -0,0 +1,11 @@
1
+ import { TemplateRef, ViewContainerRef } from '@angular/core';
2
+ export declare class DragContainerInstance<T> {
3
+ data: T[];
4
+ previewTemplate: TemplateRef<any>;
5
+ viewContainer: ViewContainerRef;
6
+ constructor(options: {
7
+ data: T[];
8
+ previewTemplate: TemplateRef<any>;
9
+ viewContainer: ViewContainerRef;
10
+ });
11
+ }
@@ -0,0 +1,9 @@
1
+ import { DragContainerInstance } from './drag-container-instance';
2
+ export declare class DragInstance<T> {
3
+ container: DragContainerInstance<T>;
4
+ data: T;
5
+ constructor(options?: {
6
+ container: DragContainerInstance<T>;
7
+ data: T;
8
+ });
9
+ }
@@ -0,0 +1,4 @@
1
+ import { DragSelection } from './drag-selection';
2
+ export interface DragProcess<T> {
3
+ selection: DragSelection<T>;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { DragContainerInstance } from './drag-container-instance';
2
+ import { DragInstance } from './drag-instance';
3
+ export interface DragSelection<T> {
4
+ container: DragContainerInstance<T>;
5
+ items: DragInstance<T>[];
6
+ }
@@ -0,0 +1,8 @@
1
+ import { DropTarget } from './drop-target';
2
+ import { DragInstance } from './drag-instance';
3
+ import { DragContainerInstance } from './drag-container-instance';
4
+ export interface DropEvent<T> {
5
+ container: DragContainerInstance<T>;
6
+ target: DropTarget<T>;
7
+ data: DragInstance<T>[];
8
+ }
@@ -0,0 +1,3 @@
1
+ import { DragInstance } from './drag-instance';
2
+ import { DragContainerInstance } from './drag-container-instance';
3
+ export declare type DropTarget<T> = DragInstance<T> | DragContainerInstance<T>;
@@ -0,0 +1,4 @@
1
+ export interface Point {
2
+ x: number;
3
+ y: number;
4
+ }
@@ -0,0 +1,7 @@
1
+ export * from './drag-container-instance';
2
+ export * from './drag-instance';
3
+ export * from './drag-process';
4
+ export * from './drag-selection';
5
+ export * from './drop-event';
6
+ export * from './drop-target';
7
+ export * from './point';
@@ -0,0 +1,7 @@
1
+ export * from './drag.directive';
2
+ export * from './drag-container.directive';
3
+ export * from './drag-drop.module';
4
+ export * from './drag-placeholder.directive';
5
+ export * from './drag-preview.directive';
6
+ export * from './drag-drop.service';
7
+ export * from './model/public-api';
@@ -0,0 +1,18 @@
1
+ import { TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LetDirective<T> {
4
+ tetaLet: T;
5
+ constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>);
6
+ static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: any): _ctx is LetDirective<Exclude<T, null | undefined>>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<LetDirective<any>, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LetDirective<any>, "[tetaLet]", never, { "tetaLet": "tetaLet"; }, {}, never>;
9
+ }
10
+ export declare class LetContext<T> implements ContextWithImplicit<T> {
11
+ private readonly internalDirectiveInstance;
12
+ constructor(internalDirectiveInstance: LetDirective<T>);
13
+ get $implicit(): T;
14
+ get tetaLet(): T;
15
+ }
16
+ export interface ContextWithImplicit<T> {
17
+ $implicit: T;
18
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./let.directive";
3
+ import * as i2 from "@angular/common";
4
+ export declare class LetModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<LetModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LetModule, [typeof i1.LetDirective], [typeof i2.CommonModule], [typeof i1.LetDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<LetModule>;
8
+ }
@@ -0,0 +1,2 @@
1
+ export * from './let.module';
2
+ export * from './let.directive';
@@ -1,14 +1,16 @@
1
1
  export * from './click-outside/public-api';
2
2
  export * from './context-menu/public-api';
3
3
  export * from './disable-control/public-api';
4
+ export * from './drag-drop/public-api';
4
5
  export * from './drag-sort/public-api';
5
6
  export * from './dynamic-content-base.directive';
6
7
  export * from './highlight/public-api';
7
8
  export * from './hint/public-api';
8
9
  export * from './loader/public-api';
9
10
  export * from './only-number/public-api';
10
- export * from '../component/resize-panel/public-api';
11
11
  export * from './teta-template/public-api';
12
12
  export * from './tooltip/public-api';
13
13
  export * from './no-autofill/public-api';
14
14
  export * from './resize-drag/public-api';
15
+ export * from './let/public-api';
16
+ export * from './scroll-into-view/public-api';
@@ -0,0 +1,2 @@
1
+ export * from './scroll-into-view.module';
2
+ export * from './scroll-into-view.directive';
@@ -0,0 +1,13 @@
1
+ import { ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ScrollIntoViewDirective implements OnChanges {
4
+ private platformId;
5
+ private elementRef;
6
+ tetaScrollIntoView: boolean | undefined;
7
+ behavior: ScrollBehavior;
8
+ block: ScrollLogicalPosition;
9
+ constructor(platformId: any, elementRef: ElementRef);
10
+ ngOnChanges(simpleChange: SimpleChanges): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollIntoViewDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollIntoViewDirective, "[tetaScrollIntoView]", never, { "tetaScrollIntoView": "tetaScrollIntoView"; "behavior": "behavior"; "block": "block"; }, {}, never>;
13
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./scroll-into-view.directive";
3
+ import * as i2 from "@angular/common";
4
+ export declare class ScrollIntoViewModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollIntoViewModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScrollIntoViewModule, [typeof i1.ScrollIntoViewDirective], [typeof i2.CommonModule], [typeof i1.ScrollIntoViewDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScrollIntoViewModule>;
8
+ }
@@ -100,10 +100,10 @@ export class CheckboxComponent {
100
100
  }
101
101
  }
102
102
  CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
103
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: CheckboxComponent, selector: "teta-checkbox", inputs: { class: "class", palette: "palette", noLabel: "noLabel", disabled: "disabled", value: "value", binary: "binary", allowNull: "allowNull" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class": "this.getClass", "class.checkbox_disabled": "this.disabled" } }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""], components: [{ type: i1.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: CheckboxComponent, selector: "teta-checkbox", inputs: { class: "class", palette: "palette", noLabel: "noLabel", disabled: "disabled", value: "value", binary: "binary", allowNull: "allowNull" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class": "this.getClass", "class.checkbox_disabled": "this.disabled" } }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'dash'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""], components: [{ type: i1.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
105
105
  type: Component,
106
- args: [{ selector: 'teta-checkbox', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""] }]
106
+ args: [{ selector: 'teta-checkbox', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'dash'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""] }]
107
107
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabindex: [{
108
108
  type: HostBinding,
109
109
  args: ['attr.tabindex']
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
131
131
  type: HostListener,
132
132
  args: ['click']
133
133
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9jaGVja2JveC9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFekUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQVE7SUFDbEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxpQkFBaUI7SUFvRDVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkRaLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFhbEMsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQXNCN0I7O1dBRUc7UUFDSyxXQUFNLEdBQVEsSUFBSSxDQUFDO0lBYWtCLENBQUM7SUEvQzlDLElBQ1ksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFH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LGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQTFIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1V0FIakIsQ0FBQywrQkFBK0IsQ0FBQywwQkN0QjlDLDhRQU1BOzJGRG1CYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxhQUdkLENBQUMsK0JBQStCLENBQUMsbUJBQzNCLHVCQUF1QixDQUFDLE1BQU07d0dBR2pCLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFbkIsS0FBSztzQkFBYixLQUFLO2dCQUdNLFFBQVE7c0JBRG5CLFdBQVc7dUJBQUMsT0FBTztnQkFTWCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQU9OLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkF1Qk4sV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NIRUNLQk9YX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAwO1xuXG4gIEBJbnB1dCgpIGNsYXNzO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBnZXRDbGFzcygpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbdGhpcy5jbGFzcywgJ2NoZWNrYm94J107XG4gICAgaWYgKHRoaXMucGFsZXR0ZSkge1xuICAgICAgcmVzdWx0LnB1c2goYGNoZWNrYm94LSR7dGhpcy5wYWxldHRlfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJyAnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHBhbGV0dGUgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIG5vTGFiZWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqINC60L7QvNC/0L7QvdC10L3RgiDQvdC10LDQutGC0LjQstC10L1cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2hlY2tib3hfZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIHRydWUvZmFsc2Ug0LjQu9C4IGxpc3RcbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIC8qKlxuICAgKiB0cnVlL2ZhbHNlINC40LvQuCBsaXN0XG4gICAqL1xuICBASW5wdXQoKSBiaW5hcnk6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgYWxsb3dOdWxsOiBib29sZWFuO1xuXG4gIGNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqINCX0L3QsNGH0LXQvdC40LVcbiAgICovXG4gIHByaXZhdGUgbW9kZWwkOiBhbnkgPSBudWxsO1xuXG4gIGdldCBtb2RlbCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsJDtcbiAgfVxuXG4gIHNldCBtb2RlbCh2OiBhbnkpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5tb2RlbCQpIHtcbiAgICAgIHRoaXMubW9kZWwkID0gdjtcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgY2hhbmdlVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmluYXJ5KSB7XG4gICAgICB0aGlzLm1vZGVsID0gIXRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5pc0NoZWNrZWQoKSkge1xuICAgICAgICB0aGlzLmFkZFZhbHVlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbHVlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaXNDaGVja2VkKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBhbnkpIHtcbiAgICBpZiAodGhpcy5iaW5hcnkpIHtcbiAgICAgIHRoaXMubW9kZWwkID0gbW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtb2RlbCAmJiBtb2RlbCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHRoaXMubW9kZWwkID0gbW9kZWw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGVsJCA9IFtdO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmlzQ2hlY2tlZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGlzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5iaW5hcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFsbG93TnVsbCA/IHRoaXMubW9kZWwgOiAhIXRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsICYmIHRoaXMubW9kZWwuaW5kZXhPZih0aGlzLnZhbHVlKSA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbHVlKCkge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsLmZpbHRlcigodmFsOiBhbnkpID0+IHZhbCAhPT0gdGhpcy52YWx1ZSk7XG4gIH1cblxuICBhZGRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IFsuLi50aGlzLm1vZGVsLCB0aGlzLnZhbHVlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbCA9IFt0aGlzLnZhbHVlXTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7fVxuXG4gIG9uVG91Y2hlZCgpIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveF9fdGlja1wiIFtjbGFzcy5jaGVja2JveF9fdGlja19hY3RpdmVdPVwiY2hlY2tlZCAhPSBmYWxzZVwiPlxuICA8dGV0YS1pY29uIFtuYW1lXT1cImNoZWNrZWQgPyAndGljaycgOiBjaGVja2VkID09PSBmYWxzZSA/ICcnIDogJ21pbnVzJ1wiPjwvdGV0YS1pY29uPlxuPC9kaXY+XG48c3BhbiBjbGFzcz1cImZvbnQtYm9keS0zXCIgKm5nSWY9XCIhbm9MYWJlbFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9jaGVja2JveC9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFekUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQVE7SUFDbEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxpQkFBaUI7SUFvRDVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkRaLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFhbEMsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQXNCN0I7O1dBRUc7UUFDSyxXQUFNLEdBQVEsSUFBSSxDQUFDO0lBYWtCLENBQUM7SUEvQzlDLElBQ1ksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFH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LGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQTFIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1V0FIakIsQ0FBQywrQkFBK0IsQ0FBQywwQkN0QjlDLDZRQU1BOzJGRG1CYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxhQUdkLENBQUMsK0JBQStCLENBQUMsbUJBQzNCLHVCQUF1QixDQUFDLE1BQU07d0dBR2pCLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFbkIsS0FBSztzQkFBYixLQUFLO2dCQUdNLFFBQVE7c0JBRG5CLFdBQVc7dUJBQUMsT0FBTztnQkFTWCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQU9OLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkF1Qk4sV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NIRUNLQk9YX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAwO1xuXG4gIEBJbnB1dCgpIGNsYXNzO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBnZXRDbGFzcygpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbdGhpcy5jbGFzcywgJ2NoZWNrYm94J107XG4gICAgaWYgKHRoaXMucGFsZXR0ZSkge1xuICAgICAgcmVzdWx0LnB1c2goYGNoZWNrYm94LSR7dGhpcy5wYWxldHRlfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJyAnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHBhbGV0dGUgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIG5vTGFiZWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqINC60L7QvNC/0L7QvdC10L3RgiDQvdC10LDQutGC0LjQstC10L1cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2hlY2tib3hfZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIHRydWUvZmFsc2Ug0LjQu9C4IGxpc3RcbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIC8qKlxuICAgKiB0cnVlL2ZhbHNlINC40LvQuCBsaXN0XG4gICAqL1xuICBASW5wdXQoKSBiaW5hcnk6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgYWxsb3dOdWxsOiBib29sZWFuO1xuXG4gIGNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqINCX0L3QsNGH0LXQvdC40LVcbiAgICovXG4gIHByaXZhdGUgbW9kZWwkOiBhbnkgPSBudWxsO1xuXG4gIGdldCBtb2RlbCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsJDtcbiAgfVxuXG4gIHNldCBtb2RlbCh2OiBhbnkpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5tb2RlbCQpIHtcbiAgICAgIHRoaXMubW9kZWwkID0gdjtcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgY2hhbmdlVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmluYXJ5KSB7XG4gICAgICB0aGlzLm1vZGVsID0gIXRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5pc0NoZWNrZWQoKSkge1xuICAgICAgICB0aGlzLmFkZFZhbHVlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbHVlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaXNDaGVja2VkKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBhbnkpIHtcbiAgICBpZiAodGhpcy5iaW5hcnkpIHtcbiAgICAgIHRoaXMubW9kZWwkID0gbW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtb2RlbCAmJiBtb2RlbCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHRoaXMubW9kZWwkID0gbW9kZWw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGVsJCA9IFtdO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmlzQ2hlY2tlZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGlzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5iaW5hcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFsbG93TnVsbCA/IHRoaXMubW9kZWwgOiAhIXRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsICYmIHRoaXMubW9kZWwuaW5kZXhPZih0aGlzLnZhbHVlKSA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbHVlKCkge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsLmZpbHRlcigodmFsOiBhbnkpID0+IHZhbCAhPT0gdGhpcy52YWx1ZSk7XG4gIH1cblxuICBhZGRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IFsuLi50aGlzLm1vZGVsLCB0aGlzLnZhbHVlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbCA9IFt0aGlzLnZhbHVlXTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7fVxuXG4gIG9uVG91Y2hlZCgpIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveF9fdGlja1wiIFtjbGFzcy5jaGVja2JveF9fdGlja19hY3RpdmVdPVwiY2hlY2tlZCAhPSBmYWxzZVwiPlxuICA8dGV0YS1pY29uIFtuYW1lXT1cImNoZWNrZWQgPyAndGljaycgOiBjaGVja2VkID09PSBmYWxzZSA/ICcnIDogJ2Rhc2gnXCI+PC90ZXRhLWljb24+XG48L2Rpdj5cbjxzcGFuIGNsYXNzPVwiZm9udC1ib2R5LTNcIiAqbmdJZj1cIiFub0xhYmVsXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cbiJdfQ==
@@ -231,7 +231,7 @@ export class DatePickerComponent {
231
231
  }
232
232
  }
233
233
  DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.TetaConfigService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
234
- DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DatePickerComponent, selector: "teta-date-picker", inputs: { disabled: "disabled", invalid: "invalid", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", minYearDate: "minYearDate", maxYearDate: "maxYearDate", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", allowNull: "allowNull", backdrop: "backdrop", showTime: "showTime", format: "format" }, host: { listeners: { "window:keyup": "keyUp($event)" }, properties: { "class.datepicker-wide": "this.showTime", "class.datepicker_open": "this.open", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""], components: [{ type: i2.DropdownComponent, selector: "teta-dropdown" }, { type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: i4.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: i5.YearSelectComponent, selector: "teta-year-select", inputs: ["currentYear", "today", "size", "minDate", "maxDate", "allowableRange"], outputs: ["yearSelected", "yearApplied"] }, { type: i6.MonthSelectComponent, selector: "teta-month-select", inputs: ["locale", "minDate", "maxDate", "size", "currentMonth", "currentYear"], outputs: ["monthSelected", "monthApplied"] }, { type: i7.DaySelectComponent, selector: "teta-day-select", inputs: ["firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "disabled"], outputs: ["dateSelected", "monthSelected", "yearSelected"] }, { type: i8.TimePartControlComponent, selector: "teta-time-part-control", inputs: ["min", "max", "disabled"] }], directives: [{ type: i9.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i10.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
234
+ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DatePickerComponent, selector: "teta-date-picker", inputs: { disabled: "disabled", invalid: "invalid", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", minYearDate: "minYearDate", maxYearDate: "maxYearDate", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", allowNull: "allowNull", backdrop: "backdrop", showTime: "showTime", format: "format" }, host: { listeners: { "window:keyup": "keyUp($event)" }, properties: { "class.datepicker-wide": "this.showTime", "class.datepicker_open": "this.open", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""], components: [{ type: i2.DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: i4.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: i5.YearSelectComponent, selector: "teta-year-select", inputs: ["currentYear", "today", "size", "minDate", "maxDate", "allowableRange"], outputs: ["yearSelected", "yearApplied"] }, { type: i6.MonthSelectComponent, selector: "teta-month-select", inputs: ["locale", "minDate", "maxDate", "size", "currentMonth", "currentYear"], outputs: ["monthSelected", "monthApplied"] }, { type: i7.DaySelectComponent, selector: "teta-day-select", inputs: ["firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "disabled"], outputs: ["dateSelected", "monthSelected", "yearSelected"] }, { type: i8.TimePartControlComponent, selector: "teta-time-part-control", inputs: ["min", "max", "disabled"] }], directives: [{ type: i9.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i10.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
235
235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, decorators: [{
236
236
  type: Component,
237
237
  args: [{ selector: 'teta-date-picker', providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""] }]