ngx-tethys 19.1.0-next.6 → 19.1.0-next.8

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 (53) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/color-picker/coordinates.directive.d.ts +1 -2
  3. package/date-picker/abstract-picker.component.d.ts +1 -1
  4. package/date-picker/base-picker.component.d.ts +1 -0
  5. package/date-picker/picker.component.d.ts +4 -5
  6. package/dropdown/dropdown-menu.component.d.ts +1 -1
  7. package/dropdown/dropdown.directive.d.ts +2 -2
  8. package/fesm2022/ngx-tethys-cascader.mjs +1 -1
  9. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  10. package/fesm2022/ngx-tethys-color-picker.mjs +4 -6
  11. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  12. package/fesm2022/ngx-tethys-copy.mjs +2 -2
  13. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  14. package/fesm2022/ngx-tethys-date-picker.mjs +32 -32
  15. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  16. package/fesm2022/ngx-tethys-dropdown.mjs +7 -10
  17. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  18. package/fesm2022/ngx-tethys-flexible-text.mjs +4 -5
  19. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  20. package/fesm2022/ngx-tethys-image.mjs +5 -7
  21. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  22. package/fesm2022/ngx-tethys-list.mjs +140 -160
  23. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  24. package/fesm2022/ngx-tethys-message.mjs +1 -2
  25. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  26. package/fesm2022/ngx-tethys-select.mjs +1 -1
  27. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  28. package/fesm2022/ngx-tethys-shared.mjs +97 -123
  29. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  30. package/fesm2022/ngx-tethys-skeleton.mjs +1 -2
  31. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  32. package/fesm2022/ngx-tethys-table.mjs +1 -2
  33. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  34. package/fesm2022/ngx-tethys-tooltip.mjs +109 -93
  35. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  36. package/fesm2022/ngx-tethys-tree-select.mjs +1 -1
  37. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  38. package/fesm2022/ngx-tethys.mjs +1 -1
  39. package/fesm2022/ngx-tethys.mjs.map +1 -1
  40. package/image/preview/image-preview.component.d.ts +2 -2
  41. package/list/selection/selection-list.d.ts +33 -46
  42. package/package.json +54 -54
  43. package/schematics/version.d.ts +1 -1
  44. package/schematics/version.js +1 -1
  45. package/shared/directives/thy-contextmenu.directive.d.ts +2 -2
  46. package/shared/directives/thy-ctrl-enter.directive.d.ts +2 -2
  47. package/shared/directives/thy-enter.directive.d.ts +2 -2
  48. package/shared/directives/thy-show.d.ts +2 -2
  49. package/shared/option/list-option/list-option.component.d.ts +5 -5
  50. package/shared/option/option.token.d.ts +4 -3
  51. package/shared/select/select-control/select-control.component.d.ts +8 -7
  52. package/table/table-column.component.d.ts +15 -5
  53. package/tooltip/tooltip.directive.d.ts +20 -22
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ # [19.1.0-next.8](https://github.com/atinc/ngx-tethys/compare/19.1.0-next.7...19.1.0-next.8) (2025-08-19)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **shared:** this.inputElement() to this.inputElement()? ([1904d80](https://github.com/atinc/ngx-tethys/commit/1904d80cabd870dce8c7b9c26eca716f6011702e))
11
+
12
+
13
+
14
+ # [19.1.0-next.7](https://github.com/atinc/ngx-tethys/compare/19.1.0-next.6...19.1.0-next.7) (2025-08-15)
15
+
16
+
17
+ ### Features
18
+
19
+ * **date-picker:** rename open to opened and add open method #TINFR-1463 ([#3532](https://github.com/atinc/ngx-tethys/issues/3532)) ([67ba3f5](https://github.com/atinc/ngx-tethys/commit/67ba3f55e68781181c28992c1c4c421d603fb3f6)), closes [#TINFR-1463](https://github.com/atinc/ngx-tethys/issues/TINFR-1463)
20
+ * migrate tooltip signal and related component ([#3518](https://github.com/atinc/ngx-tethys/issues/3518)) ([58189df](https://github.com/atinc/ngx-tethys/commit/58189df326aee2d2c0e449d53ebe6b46c08a3a10))
21
+
22
+
23
+
5
24
  # [19.1.0-next.6](https://github.com/atinc/ngx-tethys/compare/19.1.0-next.5...19.1.0-next.6) (2025-08-14)
6
25
 
7
26
 
@@ -1,12 +1,11 @@
1
1
  import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
2
  import * as i0 from "@angular/core";
4
3
  /**
5
4
  * @internal
6
5
  */
7
6
  export declare class ThyCoordinatesDirective implements OnInit, OnDestroy {
8
7
  el: ElementRef<any>;
9
- coordinatesChange: Subject<{
8
+ readonly coordinatesChange: import("@angular/core").OutputEmitterRef<{
10
9
  x: number;
11
10
  y: number;
12
11
  left: number;
@@ -33,8 +33,8 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
33
33
  * 是否自动获取焦点
34
34
  */
35
35
  readonly thyAutoFocus: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
36
- readonly open: import("@angular/core").WritableSignal<any>;
37
36
  readonly thyOpen: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
37
+ readonly opened: import("@angular/core").WritableSignal<boolean>;
38
38
  readonly thyDisabledDate: import("@angular/core").InputSignal<DisabledDateFn>;
39
39
  /**
40
40
  * 最小值
@@ -31,6 +31,7 @@ export declare class BasePicker extends AbstractPickerComponent implements OnIni
31
31
  thyClickDispatcher: ThyClickDispatcher;
32
32
  platformId: Object;
33
33
  ngZone: NgZone;
34
+ open(): void;
34
35
  ngOnInit(): void;
35
36
  onValueChange(value: CompatibleValue | RangeAdvancedValue): void;
36
37
  onInputValueChange(formatDate: string | null | Array<null>): void;
@@ -1,19 +1,19 @@
1
1
  import { ThyPlacement } from 'ngx-tethys/core';
2
2
  import { TinyDate } from 'ngx-tethys/util';
3
3
  import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';
4
- import { AfterViewInit, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
4
+ import { AfterViewInit, ElementRef } from '@angular/core';
5
5
  import { CompatibleValue, RangePartType } from './inner-types';
6
6
  import { ThyDateGranularity } from './standard-types';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
9
9
  * @private
10
10
  */
11
- export declare class ThyPicker implements OnChanges, AfterViewInit {
11
+ export declare class ThyPicker implements AfterViewInit {
12
12
  private changeDetector;
13
13
  private dateHelper;
14
14
  private i18n;
15
15
  readonly isRange: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16
- readonly open: import("@angular/core").InputSignal<boolean>;
16
+ readonly opened: import("@angular/core").InputSignal<boolean>;
17
17
  readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
18
  readonly placeholder: import("@angular/core").InputSignal<string | string[]>;
19
19
  readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
@@ -50,7 +50,6 @@ export declare class ThyPicker implements OnChanges, AfterViewInit {
50
50
  get realOpenState(): boolean;
51
51
  get readonlyState(): boolean;
52
52
  constructor();
53
- ngOnChanges(changes: SimpleChanges): void;
54
53
  ngAfterViewInit(): void;
55
54
  focus(): void;
56
55
  onBlur(event: FocusEvent): void;
@@ -73,5 +72,5 @@ export declare class ThyPicker implements OnChanges, AfterViewInit {
73
72
  getPlaceholder(): string;
74
73
  private updateReadableDate;
75
74
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyPicker, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<ThyPicker, "thy-picker", ["thyPicker"], { "isRange": { "alias": "isRange"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "allowClear": { "alias": "allowClear"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "flexible": { "alias": "flexible"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "timeZone": { "alias": "timeZone"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "blur": "blur"; "valueChange": "valueChange"; "openChange": "openChange"; "inputChange": "inputChange"; }, never, ["*"], true, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<ThyPicker, "thy-picker", ["thyPicker"], { "isRange": { "alias": "isRange"; "required": false; "isSignal": true; }; "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "allowClear": { "alias": "allowClear"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "flexible": { "alias": "flexible"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "timeZone": { "alias": "timeZone"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "blur": "blur"; "valueChange": "valueChange"; "openChange": "openChange"; "inputChange": "inputChange"; }, never, ["*"], true, never>;
77
76
  }
@@ -20,7 +20,7 @@ export declare class ThyDropdownMenuComponent {
20
20
  /**
21
21
  * 设置菜单宽度
22
22
  */
23
- readonly thyWidth: import("@angular/core").InputSignalWithTransform<string, any>;
23
+ readonly thyWidth: import("@angular/core").InputSignalWithTransform<string, string | number>;
24
24
  /**
25
25
  * 是否直接渲染 dropdown-menu 中的元素
26
26
  */
@@ -1,5 +1,5 @@
1
1
  import { ComponentType, OverlayRef } from '@angular/cdk/overlay';
2
- import { EventEmitter, OnInit, Signal, TemplateRef } from '@angular/core';
2
+ import { OnInit, Signal, TemplateRef } from '@angular/core';
3
3
  import { ThyOverlayDirectiveBase, ThyPlacement } from 'ngx-tethys/core';
4
4
  import { ThyPopoverConfig } from 'ngx-tethys/popover';
5
5
  import { SafeAny } from 'ngx-tethys/types';
@@ -65,7 +65,7 @@ export declare class ThyDropdownDirective extends ThyOverlayDirectiveBase implem
65
65
  /**
66
66
  * 菜单 Active 事件,打开菜单返回 true,关闭返回 false
67
67
  */
68
- thyActiveChange: EventEmitter<boolean>;
68
+ readonly thyActiveChange: import("@angular/core").OutputEmitterRef<boolean>;
69
69
  constructor();
70
70
  ngOnInit(): void;
71
71
  createOverlay(): OverlayRef;
@@ -1259,7 +1259,7 @@ class ThyCascader extends TabIndexDisabledControlValueAccessorMixin {
1259
1259
  multi: true
1260
1260
  },
1261
1261
  ThyCascaderService
1262
- ], viewQueries: [{ propertyName: "cascaderOptions", predicate: ["cascaderOptions"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "cascaderOptionContainers", predicate: ["cascaderOptionContainers"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" #trigger>\n @if (thyShowInput()) {\n <div\n thySelectControl\n [thyShowSearch]=\"thyShowSearch()\"\n [thySize]=\"thySize()\"\n [thyAllowClear]=\"true\"\n [thySelectedOptions]=\"selected\"\n [thyMaxTagCount]=\"thyMaxTagCount()\"\n (thyOnRemove)=\"removeSelectedItem($event)\"\n (thyOnClear)=\"clearSelection($event)\"\n (thyOnBlur)=\"onBlur($event)\"\n (thyOnSearch)=\"searchFilter($event)\"\n [thyDisabled]=\"disabled\"\n [thyIsMultiple]=\"thyMultiple()\"\n [thyPanelOpened]=\"menuVisible\"\n [thyPlaceholder]=\"thyPlaceholder()\"\n [customDisplayTemplate]=\"customDisplayTemplate\"\n [thyPreset]=\"thyPreset()\">\n <ng-template #customDisplayTemplate let-value>\n @if (!isLabelRenderTemplate()) {\n <span [ngClass]=\"labelCls\">{{ value.labelText }}</span>\n } @else {\n <span [ngClass]=\"labelCls\">\n <ng-template [ngTemplateOutlet]=\"thyLabelRender()\" [ngTemplateOutletContext]=\"value.labelRenderContext\"></ng-template>\n </span>\n }\n </ng-template>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"thyHasBackdrop()\"\n cdkConnectedOverlayBackdropClass=\"thy-cascader-backdrop\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"menuMinWidth\"\n cdkConnectedOverlayTransformOriginOn=\".thy-cascader-menus\"\n (backdropClick)=\"closeMenu()\"\n (detach)=\"closeMenu()\"\n (attach)=\"attached()\"\n (positionChange)=\"positionChange($event)\"\n [cdkConnectedOverlayOpen]=\"menuVisible\">\n <div\n [attr.tabindex]=\"-1\"\n #menu\n [ngClass]=\"menuCls\"\n [ngStyle]=\"thyMenuStyle()\"\n (mouseleave)=\"toggleMouseLeave($event)\"\n [@scaleYMotion]=\"'enter'\">\n @if (!isShowSearchPanel) {\n @if (columns.length > 0) {\n @for (options of columns; track $index; let i = $index; let isFirst = $first) {\n <ul #cascaderOptionContainers [ngClass]=\"menuColumnCls()\">\n @if (thyCascaderService.customOptions && thyCascaderService.customOptions.length > 0 && isFirst) {\n @for (customOpt of thyCascaderService.customOptions; track trackByFn($index, customOpt)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"customOpt\"\n [multiple]=\"thyMultiple()\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf()\"\n [labelProperty]=\"thyLabelProperty()\"\n [active]=\"isActivatedOption(customOpt, 0)\"\n [halfSelected]=\"isHalfSelectedOption(customOpt, 0)\"\n [selected]=\"isSelectedOption(customOpt, 0)\"\n (toggleSelectChange)=\"clickCustomOption(customOpt, 0, $event)\"\n (click)=\"clickCustomOption(customOpt, 0, $event)\"\n (mouseover)=\"mouseoverOption(customOpt, 0, $event)\"></li>\n }\n <thy-divider class=\"my-1 mx-4\"></thy-divider>\n }\n @for (option of options; track trackByFn($index, option)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"option\"\n [multiple]=\"thyMultiple()\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf()\"\n [labelProperty]=\"thyLabelProperty()\"\n [active]=\"isActivatedOption(option, i)\"\n [halfSelected]=\"isHalfSelectedOption(option, i)\"\n [selected]=\"isSelectedOption(option, i)\"\n [optionRender]=\"thyOptionRender()\"\n (toggleSelectChange)=\"clickOption(option, i, $event)\"\n (click)=\"clickOption(option, i, $event)\"\n (mouseover)=\"mouseoverOption(option, i, $event)\"></li>\n }\n </ul>\n }\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty\n class=\"thy-select-empty-content\"\n thySize=\"sm\"\n [thyMessage]=\"thyEmptyStateText()\"\n [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n @if (isShowSearchPanel) {\n @if (searchResultList.length) {\n <ul class=\"thy-cascader-search-list py-3\" [ngStyle]=\"thySearchListStyle()\">\n @for (item of searchResultList; track $index) {\n <li\n thy-cascader-search-option\n [multiple]=\"thyMultiple()\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf()\"\n [option]=\"item\"\n [active]=\"item.selected\"\n [optionRender]=\"thyOptionRender()\"\n (toggleSelectChange)=\"selectSearchResult($event)\"></li>\n }\n </ul>\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty\n class=\"thy-select-empty-content\"\n thySize=\"sm\"\n [thyMessage]=\"thyEmptyStateText()\"\n [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ThySelectControl, selector: "thy-select-control,[thySelectControl]", inputs: ["thyPanelOpened", "thyIsMultiple", "thyShowSearch", "thySelectedOptions", "thyDisabled", "customDisplayTemplate", "thyAllowClear", "thyPlaceholder", "thySize", "thyMaxTagCount", "thyBorderless", "thyPreset"], outputs: ["thyOnSearch", "thyOnRemove", "thyOnClear", "thyOnBlur"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyCascaderOptionComponent, selector: "[thy-cascader-option]", inputs: ["option", "multiple", "isOnlySelectLeaf", "optionRender", "active", "halfSelected", "selected", "labelProperty"], outputs: ["toggleSelectChange"] }, { kind: "component", type: ThyCascaderSearchOptionComponent, selector: "[thy-cascader-search-option]", inputs: ["option", "multiple", "isOnlySelectLeaf", "active", "optionRender"], outputs: ["toggleSelectChange"] }, { kind: "component", type: ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], animations: [scaleYMotion] }); }
1262
+ ], viewQueries: [{ propertyName: "cascaderOptions", predicate: ["cascaderOptions"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "cascaderOptionContainers", predicate: ["cascaderOptionContainers"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" #trigger>\n @if (thyShowInput()) {\n <div\n thySelectControl\n [thyShowSearch]=\"thyShowSearch()\"\n [thySize]=\"thySize()\"\n [thyAllowClear]=\"true\"\n [thySelectedOptions]=\"selected\"\n [thyMaxTagCount]=\"thyMaxTagCount()\"\n (thyOnRemove)=\"removeSelectedItem($event)\"\n (thyOnClear)=\"clearSelection($event)\"\n (thyOnBlur)=\"onBlur($event)\"\n (thyOnSearch)=\"searchFilter($event)\"\n [thyDisabled]=\"disabled\"\n [thyIsMultiple]=\"thyMultiple()\"\n [thyPanelOpened]=\"menuVisible\"\n [thyPlaceholder]=\"thyPlaceholder()\"\n [customDisplayTemplate]=\"customDisplayTemplate\"\n [thyPreset]=\"thyPreset()\">\n <ng-template #customDisplayTemplate let-value>\n @if (!isLabelRenderTemplate()) {\n <span [ngClass]=\"labelCls\">{{ value.labelText }}</span>\n } @else {\n <span [ngClass]=\"labelCls\">\n <ng-template [ngTemplateOutlet]=\"thyLabelRender()\" [ngTemplateOutletContext]=\"value.labelRenderContext\"></ng-template>\n </span>\n }\n </ng-template>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"thyHasBackdrop()\"\n cdkConnectedOverlayBackdropClass=\"thy-cascader-backdrop\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"menuMinWidth\"\n cdkConnectedOverlayTransformOriginOn=\".thy-cascader-menus\"\n (backdropClick)=\"closeMenu()\"\n (detach)=\"closeMenu()\"\n (attach)=\"attached()\"\n (positionChange)=\"positionChange($event)\"\n [cdkConnectedOverlayOpen]=\"menuVisible\">\n <div\n [attr.tabindex]=\"-1\"\n #menu\n [ngClass]=\"menuCls\"\n [ngStyle]=\"thyMenuStyle()\"\n (mouseleave)=\"toggleMouseLeave($event)\"\n [@scaleYMotion]=\"'enter'\">\n @if (!isShowSearchPanel) {\n @if (columns.length > 0) {\n @for (options of columns; track $index; let i = $index; let isFirst = $first) {\n <ul #cascaderOptionContainers [ngClass]=\"menuColumnCls()\">\n @if (thyCascaderService.customOptions && thyCascaderService.customOptions.length > 0 && isFirst) {\n @for (customOpt of thyCascaderService.customOptions; track trackByFn($index, customOpt)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"customOpt\"\n [multiple]=\"thyMultiple()\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf()\"\n [labelProperty]=\"thyLabelProperty()\"\n [active]=\"isActivatedOption(customOpt, 0)\"\n [halfSelected]=\"isHalfSelectedOption(customOpt, 0)\"\n [selected]=\"isSelectedOption(customOpt, 0)\"\n (toggleSelectChange)=\"clickCustomOption(customOpt, 0, $event)\"\n (click)=\"clickCustomOption(customOpt, 0, $event)\"\n (mouseover)=\"mouseoverOption(customOpt, 0, $event)\"></li>\n }\n <thy-divider class=\"my-1 mx-4\"></thy-divider>\n }\n @for (option of options; track trackByFn($index, option)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"option\"\n [multiple]=\"thyMultiple()\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf()\"\n [labelProperty]=\"thyLabelProperty()\"\n [active]=\"isActivatedOption(option, i)\"\n [halfSelected]=\"isHalfSelectedOption(option, i)\"\n [selected]=\"isSelectedOption(option, i)\"\n [optionRender]=\"thyOptionRender()\"\n (toggleSelectChange)=\"clickOption(option, i, $event)\"\n (click)=\"clickOption(option, i, $event)\"\n (mouseover)=\"mouseoverOption(option, i, $event)\"></li>\n }\n </ul>\n }\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty\n class=\"thy-select-empty-content\"\n thySize=\"sm\"\n [thyMessage]=\"thyEmptyStateText()\"\n [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n @if (isShowSearchPanel) {\n @if (searchResultList.length) {\n <ul class=\"thy-cascader-search-list py-3\" [ngStyle]=\"thySearchListStyle()\">\n @for (item of searchResultList; track $index) {\n <li\n thy-cascader-search-option\n [multiple]=\"thyMultiple()\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf()\"\n [option]=\"item\"\n [active]=\"item.selected\"\n [optionRender]=\"thyOptionRender()\"\n (toggleSelectChange)=\"selectSearchResult($event)\"></li>\n }\n </ul>\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty\n class=\"thy-select-empty-content\"\n thySize=\"sm\"\n [thyMessage]=\"thyEmptyStateText()\"\n [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ThySelectControl, selector: "thy-select-control,[thySelectControl]", inputs: ["inputValue", "thyPanelOpened", "thyIsMultiple", "thyShowSearch", "thySelectedOptions", "thyDisabled", "customDisplayTemplate", "thyAllowClear", "thyPlaceholder", "thySize", "thyMaxTagCount", "thyBorderless", "thyPreset"], outputs: ["inputValueChange", "thyOnSearch", "thyOnRemove", "thyOnClear", "thyOnBlur"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyCascaderOptionComponent, selector: "[thy-cascader-option]", inputs: ["option", "multiple", "isOnlySelectLeaf", "optionRender", "active", "halfSelected", "selected", "labelProperty"], outputs: ["toggleSelectChange"] }, { kind: "component", type: ThyCascaderSearchOptionComponent, selector: "[thy-cascader-search-option]", inputs: ["option", "multiple", "isOnlySelectLeaf", "active", "optionRender"], outputs: ["toggleSelectChange"] }, { kind: "component", type: ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], animations: [scaleYMotion] }); }
1263
1263
  }
1264
1264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCascader, decorators: [{
1265
1265
  type: Component,