ngx-tethys 22.0.0 → 22.0.2

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 (56) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/fesm2022/ngx-tethys-alert.mjs +34 -13
  3. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  4. package/fesm2022/ngx-tethys-button.mjs +17 -8
  5. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  6. package/fesm2022/ngx-tethys-calendar.mjs +1 -1
  7. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  8. package/fesm2022/ngx-tethys-carousel.mjs +1 -1
  9. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  10. package/fesm2022/ngx-tethys-cascader.mjs +1 -1
  11. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  12. package/fesm2022/ngx-tethys-collapse.mjs +19 -8
  13. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  14. package/fesm2022/ngx-tethys-date-picker.mjs +6 -6
  15. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  16. package/fesm2022/ngx-tethys-dialog.mjs +1 -1
  17. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  18. package/fesm2022/ngx-tethys-dot.mjs +18 -7
  19. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  20. package/fesm2022/ngx-tethys-form.mjs +1 -1
  21. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  22. package/fesm2022/ngx-tethys-input-number.mjs +1 -1
  23. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  24. package/fesm2022/ngx-tethys-input.mjs +9 -9
  25. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  26. package/fesm2022/ngx-tethys-nav.mjs +23 -15
  27. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  28. package/fesm2022/ngx-tethys-select.mjs +2 -2
  29. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  30. package/fesm2022/ngx-tethys-shared.mjs +1 -1
  31. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  32. package/fesm2022/ngx-tethys-tabs.mjs +17 -23
  33. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  34. package/fesm2022/ngx-tethys-time-picker.mjs +2 -2
  35. package/fesm2022/ngx-tethys-time-picker.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/form/styles/forms.scss +9 -0
  41. package/input/styles/input-group.scss +4 -0
  42. package/nav/examples/pulled/pulled.component.scss +6 -0
  43. package/package.json +1 -1
  44. package/schematics/ng-update/update-22/button-appearance-migration.js +14 -6
  45. package/schematics/ng-update/update-22/button-appearance-migration.spec.js +6 -1
  46. package/schematics/ng-update/update-22/index.spec.js +263 -0
  47. package/schematics/ng-update/update-22/update-data.js +53 -0
  48. package/schematics/version.d.ts +1 -1
  49. package/schematics/version.js +1 -1
  50. package/types/ngx-tethys-alert.d.ts +28 -8
  51. package/types/ngx-tethys-button.d.ts +17 -7
  52. package/types/ngx-tethys-collapse.d.ts +18 -5
  53. package/types/ngx-tethys-dot.d.ts +25 -13
  54. package/types/ngx-tethys-input.d.ts +4 -4
  55. package/types/ngx-tethys-nav.d.ts +16 -7
  56. package/types/ngx-tethys-tabs.d.ts +17 -8
@@ -108,10 +108,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
108
108
  class ThyCollapse {
109
109
  constructor() {
110
110
  /**
111
- * 折叠面板主题,支持 `divided` | `bordered` | `ghost`
111
+ * 折叠面板外观,支持 `divided` | `bordered` | `ghost`
112
+ * @type divided | bordered | ghost
113
+ * @default divided
112
114
  */
113
- this.thyTheme = input('divided', /* @ts-ignore */
114
- ...(ngDevMode ? [{ debugName: "thyTheme" }] : /* istanbul ignore next */ []));
115
+ this.thyAppearance = input(/* @ts-ignore */
116
+ ...(ngDevMode ? [undefined, { debugName: "thyAppearance" }] : /* istanbul ignore next */ []));
117
+ /**
118
+ * 折叠面板主题(已废弃),请使用 thyAppearance
119
+ * @deprecated please use thyAppearance
120
+ * @type divided | bordered | ghost
121
+ */
122
+ this.thyTheme = input(/* @ts-ignore */
123
+ ...(ngDevMode ? [undefined, { debugName: "thyTheme" }] : /* istanbul ignore next */ []));
124
+ this.appearance = computed(() => this.thyAppearance() || this.thyTheme() || 'divided', /* @ts-ignore */
125
+ ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
115
126
  /**
116
127
  * 是否为手风琴模式,手风琴模式下,只能展开一个面板
117
128
  */
@@ -145,7 +156,7 @@ class ThyCollapse {
145
156
  collapseItem.thyActiveChange.emit({ active: collapseItem.thyActive(), event });
146
157
  }
147
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ThyCollapse, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: ThyCollapse, isStandalone: true, selector: "thy-collapse", inputs: { thyTheme: { classPropertyName: "thyTheme", publicName: "thyTheme", isSignal: true, isRequired: false, transformFunction: null }, thyAccordion: { classPropertyName: "thyAccordion", publicName: "thyAccordion", isSignal: true, isRequired: false, transformFunction: null }, thyArrowIconPosition: { classPropertyName: "thyArrowIconPosition", publicName: "thyArrowIconPosition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-collapse-divided": "thyTheme() === 'divided'", "class.thy-collapse-bordered": "thyTheme() === 'bordered'", "class.thy-collapse-ghost": "thyTheme() === 'ghost'", "class.thy-collapse-icon-position-right": "thyArrowIconPosition() === 'right'", "class.thy-collapse-icon-position-left": "thyArrowIconPosition() === 'left'" }, classAttribute: "thy-collapse" }, providers: [
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: ThyCollapse, isStandalone: true, selector: "thy-collapse", inputs: { thyAppearance: { classPropertyName: "thyAppearance", publicName: "thyAppearance", isSignal: true, isRequired: false, transformFunction: null }, thyTheme: { classPropertyName: "thyTheme", publicName: "thyTheme", isSignal: true, isRequired: false, transformFunction: null }, thyAccordion: { classPropertyName: "thyAccordion", publicName: "thyAccordion", isSignal: true, isRequired: false, transformFunction: null }, thyArrowIconPosition: { classPropertyName: "thyArrowIconPosition", publicName: "thyArrowIconPosition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-collapse-divided": "appearance() === 'divided'", "class.thy-collapse-bordered": "appearance() === 'bordered'", "class.thy-collapse-ghost": "appearance() === 'ghost'", "class.thy-collapse-icon-position-right": "thyArrowIconPosition() === 'right'", "class.thy-collapse-icon-position-left": "thyArrowIconPosition() === 'left'" }, classAttribute: "thy-collapse" }, providers: [
149
160
  {
150
161
  provide: THY_COLLAPSE_COMPONENT,
151
162
  useExisting: ThyCollapse
@@ -167,9 +178,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
167
178
  `,
168
179
  host: {
169
180
  class: 'thy-collapse',
170
- '[class.thy-collapse-divided]': `thyTheme() === 'divided'`,
171
- '[class.thy-collapse-bordered]': `thyTheme() === 'bordered'`,
172
- '[class.thy-collapse-ghost]': `thyTheme() === 'ghost'`,
181
+ '[class.thy-collapse-divided]': `appearance() === 'divided'`,
182
+ '[class.thy-collapse-bordered]': `appearance() === 'bordered'`,
183
+ '[class.thy-collapse-ghost]': `appearance() === 'ghost'`,
173
184
  '[class.thy-collapse-icon-position-right]': `thyArrowIconPosition() === 'right'`,
174
185
  '[class.thy-collapse-icon-position-left]': `thyArrowIconPosition() === 'left'`
175
186
  },
@@ -180,7 +191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
180
191
  }
181
192
  ]
182
193
  }]
183
- }], propDecorators: { thyTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTheme", required: false }] }], thyAccordion: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAccordion", required: false }] }], thyArrowIconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyArrowIconPosition", required: false }] }] } });
194
+ }], propDecorators: { thyAppearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAppearance", required: false }] }], thyTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTheme", required: false }] }], thyAccordion: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAccordion", required: false }] }], thyArrowIconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyArrowIconPosition", required: false }] }] } });
184
195
 
185
196
  class ThyCollapseModule {
186
197
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ThyCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-collapse.mjs","sources":["../../../src/collapse/collapse.token.ts","../../../src/collapse/collapse-item.component.ts","../../../src/collapse/collapse-item.component.html","../../../src/collapse/collapse.component.ts","../../../src/collapse/module.ts","../../../src/collapse/ngx-tethys-collapse.ts"],"sourcesContent":["import { InjectionToken, OutputEmitterRef, WritableSignal } from '@angular/core';\n\nexport interface IThyCollapseItemComponent {\n thyActive: WritableSignal<boolean>;\n thyActiveChange: OutputEmitterRef<{ active: boolean; event: Event }>;\n markForCheck: () => void;\n}\n\nexport interface IThyCollapseComponent {\n addPanel: (value: IThyCollapseItemComponent) => void;\n removePanel: (value: IThyCollapseItemComponent) => void;\n click: (collapseItem: IThyCollapseItemComponent, event: Event) => void;\n}\n\nexport const THY_COLLAPSE_COMPONENT = new InjectionToken<IThyCollapseComponent>('THY_COLLAPSE_COMPONENT');\n","import {\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n TemplateRef,\n inject,\n input,\n output,\n computed,\n model,\n linkedSignal\n} from '@angular/core';\n\nimport { IThyCollapseItemComponent, THY_COLLAPSE_COMPONENT } from './collapse.token';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty, isString } from 'ngx-tethys/util';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ThyAnimationCollapseDirective } from 'ngx-tethys/core';\n\nconst DEFAULT_ARROW_ICON = 'angle-right';\n\n/**\n * 折叠面板项组件\n * @name thy-collapse-panel,thy-collapse-item\n * @order 20\n */\n@Component({\n selector: 'thy-collapse-panel, thy-collapse-item',\n templateUrl: './collapse-item.component.html',\n exportAs: 'ThyCollapseComponent',\n host: {\n '[class.thy-collapse-item]': 'true',\n '[class.thy-collapse-no-arrow]': '!showArrow()',\n '[class.thy-collapse-item-active]': 'thyActive()',\n '[class.thy-collapse-item-disabled]': 'thyDisabled()'\n },\n imports: [NgTemplateOutlet, ThyIcon, ThyAnimationCollapseDirective]\n})\nexport class ThyCollapseItem implements IThyCollapseItemComponent, OnInit, OnDestroy {\n private cdr = inject(ChangeDetectorRef);\n private thyCollapseComponent = inject(THY_COLLAPSE_COMPONENT, { host: true })!;\n\n /**\n * 标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 是否处于激活展开状态\n */\n readonly thyActiveInput = input<boolean>(false, { alias: 'thyActive' });\n\n readonly thyActive = linkedSignal(this.thyActiveInput);\n\n /**\n * 是否禁用当前面板\n */\n readonly thyDisabled = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 自定义面板头\n */\n readonly thyHeaderTemplate = input<TemplateRef<SafeAny>>();\n\n /**\n * 自定义箭头(展开收起)图标,设置为 false 表示隐藏图标\n */\n thyArrowIcon = model<string | TemplateRef<SafeAny> | boolean>(DEFAULT_ARROW_ICON);\n\n readonly arrowIconTemplate = computed(() => {\n const arrowIcon = this.thyArrowIcon();\n return arrowIcon instanceof TemplateRef ? arrowIcon : null;\n });\n\n readonly arrowIcon = computed(() => {\n const arrowIcon = this.thyArrowIcon();\n return isString(arrowIcon) ? arrowIcon : DEFAULT_ARROW_ICON;\n });\n\n readonly showArrow = computed(() => {\n const arrowIcon = this.thyArrowIcon();\n if (!(arrowIcon instanceof TemplateRef) && !isString(arrowIcon)) {\n return this.thyArrowIcon();\n }\n return true;\n });\n\n /**\n * 额外附加模板\n */\n readonly thyExtra = input<TemplateRef<SafeAny>>();\n\n /**\n * 展开收起事件\n */\n readonly thyActiveChange = output<{ active: boolean; event: Event }>();\n\n ngOnInit() {\n this.thyCollapseComponent.addPanel(this);\n }\n\n markForCheck(): void {\n this.cdr.markForCheck();\n }\n\n activeChange(event: Event) {\n if (!this.thyDisabled()) {\n this.thyCollapseComponent.click(this, event);\n }\n }\n\n ngOnDestroy(): void {\n this.thyCollapseComponent.removePanel(this);\n }\n}\n","<div class=\"thy-collapse-header\" (click)=\"activeChange($event)\">\n @if (showArrow()) {\n @if (arrowIconTemplate()) {\n <ng-template [ngTemplateOutlet]=\"arrowIconTemplate()\"></ng-template>\n } @else {\n <thy-icon [thyIconName]=\"arrowIcon() || 'angle-right'\" class=\"thy-collapse-icon\" [thyIconRotate]=\"thyActive() ? -90 : 0\"></thy-icon>\n }\n }\n\n @if (thyHeaderTemplate()) {\n <ng-template [ngTemplateOutlet]=\"thyHeaderTemplate()\"></ng-template>\n } @else {\n <ng-container>\n <span class=\"d-flex thy-collapse-title\">{{ thyTitle() }}</span></ng-container\n >\n }\n\n @if (thyExtra()) {\n <div class=\"thy-collapse-extra\">\n <ng-template [ngTemplateOutlet]=\"thyExtra()\"></ng-template>\n </div>\n }\n</div>\n<div class=\"thy-collapse-content\" thyAnimationCollapse [thyOpen]=\"thyActive()\" [thyLeavedClassName]=\"'thy-collapse-content-leaved'\">\n <div class=\"thy-collapse-content-box\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, input } from '@angular/core';\nimport { IThyCollapseItemComponent, IThyCollapseComponent, THY_COLLAPSE_COMPONENT } from './collapse.token';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyCollapseTheme = 'divided' | 'bordered' | 'ghost';\n\nexport type ThyCollapsedIconPosition = 'left' | 'right';\n\n/**\n * 折叠面板组件\n * @name thy-collapse\n * @order 10\n */\n@Component({\n selector: 'thy-collapse',\n template: `\n <ng-container>\n <ng-content></ng-content>\n </ng-container>\n `,\n host: {\n class: 'thy-collapse',\n '[class.thy-collapse-divided]': `thyTheme() === 'divided'`,\n '[class.thy-collapse-bordered]': `thyTheme() === 'bordered'`,\n '[class.thy-collapse-ghost]': `thyTheme() === 'ghost'`,\n '[class.thy-collapse-icon-position-right]': `thyArrowIconPosition() === 'right'`,\n '[class.thy-collapse-icon-position-left]': `thyArrowIconPosition() === 'left'`\n },\n providers: [\n {\n provide: THY_COLLAPSE_COMPONENT,\n useExisting: ThyCollapse\n }\n ]\n})\nexport class ThyCollapse implements IThyCollapseComponent {\n /**\n * 折叠面板主题,支持 `divided` | `bordered` | `ghost`\n */\n readonly thyTheme = input<ThyCollapseTheme>('divided');\n\n /**\n * 是否为手风琴模式,手风琴模式下,只能展开一个面板\n */\n readonly thyAccordion = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 展开收起图标的位置,支持 `left` | `right`\n */\n readonly thyArrowIconPosition = input<ThyCollapsedIconPosition>('left');\n\n private listOfCollapsePanelComponent: IThyCollapseItemComponent[] = [];\n\n addPanel(value: IThyCollapseItemComponent): void {\n this.listOfCollapsePanelComponent.push(value);\n }\n\n removePanel(value: IThyCollapseItemComponent): void {\n this.listOfCollapsePanelComponent.splice(this.listOfCollapsePanelComponent.indexOf(value), 1);\n }\n\n click(collapseItem: IThyCollapseItemComponent, event: Event): void {\n if (this.thyAccordion() && !collapseItem.thyActive()) {\n this.listOfCollapsePanelComponent\n .filter(item => item !== collapseItem)\n .forEach(item => {\n if (item.thyActive()) {\n item.thyActive.set(false);\n item.thyActiveChange.emit({ active: collapseItem.thyActive(), event });\n item.markForCheck();\n }\n });\n }\n collapseItem.thyActive.set(!collapseItem.thyActive());\n collapseItem.thyActiveChange.emit({ active: collapseItem.thyActive(), event });\n }\n}\n","import { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ThyCollapseItem } from './collapse-item.component';\nimport { ThyCollapse } from './collapse.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapse, ThyCollapseItem],\n exports: [ThyCollapse, ThyCollapseItem]\n})\nexport class ThyCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-collapse.mjs","sources":["../../../src/collapse/collapse.token.ts","../../../src/collapse/collapse-item.component.ts","../../../src/collapse/collapse-item.component.html","../../../src/collapse/collapse.component.ts","../../../src/collapse/module.ts","../../../src/collapse/ngx-tethys-collapse.ts"],"sourcesContent":["import { InjectionToken, OutputEmitterRef, WritableSignal } from '@angular/core';\n\nexport interface IThyCollapseItemComponent {\n thyActive: WritableSignal<boolean>;\n thyActiveChange: OutputEmitterRef<{ active: boolean; event: Event }>;\n markForCheck: () => void;\n}\n\nexport interface IThyCollapseComponent {\n addPanel: (value: IThyCollapseItemComponent) => void;\n removePanel: (value: IThyCollapseItemComponent) => void;\n click: (collapseItem: IThyCollapseItemComponent, event: Event) => void;\n}\n\nexport const THY_COLLAPSE_COMPONENT = new InjectionToken<IThyCollapseComponent>('THY_COLLAPSE_COMPONENT');\n","import {\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n TemplateRef,\n inject,\n input,\n output,\n computed,\n model,\n linkedSignal\n} from '@angular/core';\n\nimport { IThyCollapseItemComponent, THY_COLLAPSE_COMPONENT } from './collapse.token';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty, isString } from 'ngx-tethys/util';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ThyAnimationCollapseDirective } from 'ngx-tethys/core';\n\nconst DEFAULT_ARROW_ICON = 'angle-right';\n\n/**\n * 折叠面板项组件\n * @name thy-collapse-panel,thy-collapse-item\n * @order 20\n */\n@Component({\n selector: 'thy-collapse-panel, thy-collapse-item',\n templateUrl: './collapse-item.component.html',\n exportAs: 'ThyCollapseComponent',\n host: {\n '[class.thy-collapse-item]': 'true',\n '[class.thy-collapse-no-arrow]': '!showArrow()',\n '[class.thy-collapse-item-active]': 'thyActive()',\n '[class.thy-collapse-item-disabled]': 'thyDisabled()'\n },\n imports: [NgTemplateOutlet, ThyIcon, ThyAnimationCollapseDirective]\n})\nexport class ThyCollapseItem implements IThyCollapseItemComponent, OnInit, OnDestroy {\n private cdr = inject(ChangeDetectorRef);\n private thyCollapseComponent = inject(THY_COLLAPSE_COMPONENT, { host: true })!;\n\n /**\n * 标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 是否处于激活展开状态\n */\n readonly thyActiveInput = input<boolean>(false, { alias: 'thyActive' });\n\n readonly thyActive = linkedSignal(this.thyActiveInput);\n\n /**\n * 是否禁用当前面板\n */\n readonly thyDisabled = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 自定义面板头\n */\n readonly thyHeaderTemplate = input<TemplateRef<SafeAny>>();\n\n /**\n * 自定义箭头(展开收起)图标,设置为 false 表示隐藏图标\n */\n thyArrowIcon = model<string | TemplateRef<SafeAny> | boolean>(DEFAULT_ARROW_ICON);\n\n readonly arrowIconTemplate = computed(() => {\n const arrowIcon = this.thyArrowIcon();\n return arrowIcon instanceof TemplateRef ? arrowIcon : null;\n });\n\n readonly arrowIcon = computed(() => {\n const arrowIcon = this.thyArrowIcon();\n return isString(arrowIcon) ? arrowIcon : DEFAULT_ARROW_ICON;\n });\n\n readonly showArrow = computed(() => {\n const arrowIcon = this.thyArrowIcon();\n if (!(arrowIcon instanceof TemplateRef) && !isString(arrowIcon)) {\n return this.thyArrowIcon();\n }\n return true;\n });\n\n /**\n * 额外附加模板\n */\n readonly thyExtra = input<TemplateRef<SafeAny>>();\n\n /**\n * 展开收起事件\n */\n readonly thyActiveChange = output<{ active: boolean; event: Event }>();\n\n ngOnInit() {\n this.thyCollapseComponent.addPanel(this);\n }\n\n markForCheck(): void {\n this.cdr.markForCheck();\n }\n\n activeChange(event: Event) {\n if (!this.thyDisabled()) {\n this.thyCollapseComponent.click(this, event);\n }\n }\n\n ngOnDestroy(): void {\n this.thyCollapseComponent.removePanel(this);\n }\n}\n","<div class=\"thy-collapse-header\" (click)=\"activeChange($event)\">\n @if (showArrow()) {\n @if (arrowIconTemplate()) {\n <ng-template [ngTemplateOutlet]=\"arrowIconTemplate()\"></ng-template>\n } @else {\n <thy-icon [thyIconName]=\"arrowIcon() || 'angle-right'\" class=\"thy-collapse-icon\" [thyIconRotate]=\"thyActive() ? -90 : 0\"></thy-icon>\n }\n }\n\n @if (thyHeaderTemplate()) {\n <ng-template [ngTemplateOutlet]=\"thyHeaderTemplate()\"></ng-template>\n } @else {\n <ng-container>\n <span class=\"d-flex thy-collapse-title\">{{ thyTitle() }}</span></ng-container\n >\n }\n\n @if (thyExtra()) {\n <div class=\"thy-collapse-extra\">\n <ng-template [ngTemplateOutlet]=\"thyExtra()\"></ng-template>\n </div>\n }\n</div>\n<div class=\"thy-collapse-content\" thyAnimationCollapse [thyOpen]=\"thyActive()\" [thyLeavedClassName]=\"'thy-collapse-content-leaved'\">\n <div class=\"thy-collapse-content-box\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, computed, input } from '@angular/core';\nimport { IThyCollapseItemComponent, IThyCollapseComponent, THY_COLLAPSE_COMPONENT } from './collapse.token';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyCollapseAppearance = 'divided' | 'bordered' | 'ghost';\n\n/**\n * @deprecated please use ThyCollapseAppearance\n */\nexport type ThyCollapseTheme = ThyCollapseAppearance;\n\nexport type ThyCollapsedIconPosition = 'left' | 'right';\n\n/**\n * 折叠面板组件\n * @name thy-collapse\n * @order 10\n */\n@Component({\n selector: 'thy-collapse',\n template: `\n <ng-container>\n <ng-content></ng-content>\n </ng-container>\n `,\n host: {\n class: 'thy-collapse',\n '[class.thy-collapse-divided]': `appearance() === 'divided'`,\n '[class.thy-collapse-bordered]': `appearance() === 'bordered'`,\n '[class.thy-collapse-ghost]': `appearance() === 'ghost'`,\n '[class.thy-collapse-icon-position-right]': `thyArrowIconPosition() === 'right'`,\n '[class.thy-collapse-icon-position-left]': `thyArrowIconPosition() === 'left'`\n },\n providers: [\n {\n provide: THY_COLLAPSE_COMPONENT,\n useExisting: ThyCollapse\n }\n ]\n})\nexport class ThyCollapse implements IThyCollapseComponent {\n /**\n * 折叠面板外观,支持 `divided` | `bordered` | `ghost`\n * @type divided | bordered | ghost\n * @default divided\n */\n readonly thyAppearance = input<ThyCollapseAppearance>();\n\n /**\n * 折叠面板主题(已废弃),请使用 thyAppearance\n * @deprecated please use thyAppearance\n * @type divided | bordered | ghost\n */\n readonly thyTheme = input<ThyCollapseAppearance>();\n\n readonly appearance = computed(() => this.thyAppearance() || this.thyTheme() || 'divided');\n\n /**\n * 是否为手风琴模式,手风琴模式下,只能展开一个面板\n */\n readonly thyAccordion = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 展开收起图标的位置,支持 `left` | `right`\n */\n readonly thyArrowIconPosition = input<ThyCollapsedIconPosition>('left');\n\n private listOfCollapsePanelComponent: IThyCollapseItemComponent[] = [];\n\n addPanel(value: IThyCollapseItemComponent): void {\n this.listOfCollapsePanelComponent.push(value);\n }\n\n removePanel(value: IThyCollapseItemComponent): void {\n this.listOfCollapsePanelComponent.splice(this.listOfCollapsePanelComponent.indexOf(value), 1);\n }\n\n click(collapseItem: IThyCollapseItemComponent, event: Event): void {\n if (this.thyAccordion() && !collapseItem.thyActive()) {\n this.listOfCollapsePanelComponent\n .filter(item => item !== collapseItem)\n .forEach(item => {\n if (item.thyActive()) {\n item.thyActive.set(false);\n item.thyActiveChange.emit({ active: collapseItem.thyActive(), event });\n item.markForCheck();\n }\n });\n }\n collapseItem.thyActive.set(!collapseItem.thyActive());\n collapseItem.thyActiveChange.emit({ active: collapseItem.thyActive(), event });\n }\n}\n","import { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ThyCollapseItem } from './collapse-item.component';\nimport { ThyCollapse } from './collapse.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapse, ThyCollapseItem],\n exports: [ThyCollapse, ThyCollapseItem]\n})\nexport class ThyCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -217,7 +217,7 @@ class CalendarFooter {
217
217
  }
218
218
  }
219
219
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CalendarFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: CalendarFooter, isStandalone: true, selector: "calendar-footer", inputs: { showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, mustShowTime: { classPropertyName: "mustShowTime", publicName: "mustShowTime", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, disableTimeConfirm: { classPropertyName: "disableTimeConfirm", publicName: "disableTimeConfirm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", selectTime: "selectTime", clickOk: "clickOk", clickRemove: "clickRemove", showTimePickerChange: "showTimePickerChange" }, exportAs: ["calendarFooter"], ngImport: i0, template: "@let showTime = isShowTime();\n@let canTime = isCanTime();\n\n@if (showTime || canTime) {\n <div class=\"time-picker-section\" (click)=\"$event.stopPropagation()\">\n @if (canTime) {\n <a href=\"javascript:;\" class=\"link-has-icon time-picker-set-btn\" (click)=\"changeTimeShowMode('show')\">\n <thy-icon thyIconName=\"clock-circle\"></thy-icon>{{ locale().setTime }}\n </a>\n }\n @if (showTime) {\n <thy-inner-time-picker\n class=\"time-picker-wrap\"\n [showMeridian]=\"false\"\n [timeZone]=\"timeZone()\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"onSelectTime($event)\"></thy-inner-time-picker>\n }\n <div class=\"time-picker-btn-wrap\">\n @if (!canTime) {\n <button [disabled]=\"disableTimeConfirm()\" class=\"time-picker-ok-btn\" thyButton=\"primary\" thySize=\"sm\" (click)=\"onTimeOk()\">\n {{ locale().ok }}\n </button>\n }\n <button class=\"time-picker-clear-btn\" thyButton=\"default\" thyAppearance=\"link\" thySize=\"sm\" (click)=\"onClear()\">\n {{ locale().clear }}\n </button>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInnerTimePicker, selector: "thy-inner-time-picker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowKeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder", "timeZone"], outputs: ["disabledChange", "isValid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyAppearance", "thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }] }); }
220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: CalendarFooter, isStandalone: true, selector: "calendar-footer", inputs: { showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, mustShowTime: { classPropertyName: "mustShowTime", publicName: "mustShowTime", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, disableTimeConfirm: { classPropertyName: "disableTimeConfirm", publicName: "disableTimeConfirm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", selectTime: "selectTime", clickOk: "clickOk", clickRemove: "clickRemove", showTimePickerChange: "showTimePickerChange" }, exportAs: ["calendarFooter"], ngImport: i0, template: "@let showTime = isShowTime();\n@let canTime = isCanTime();\n\n@if (showTime || canTime) {\n <div class=\"time-picker-section\" (click)=\"$event.stopPropagation()\">\n @if (canTime) {\n <a href=\"javascript:;\" class=\"link-has-icon time-picker-set-btn\" (click)=\"changeTimeShowMode('show')\">\n <thy-icon thyIconName=\"clock-circle\"></thy-icon>{{ locale().setTime }}\n </a>\n }\n @if (showTime) {\n <thy-inner-time-picker\n class=\"time-picker-wrap\"\n [showMeridian]=\"false\"\n [timeZone]=\"timeZone()\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"onSelectTime($event)\"></thy-inner-time-picker>\n }\n <div class=\"time-picker-btn-wrap\">\n @if (!canTime) {\n <button [disabled]=\"disableTimeConfirm()\" class=\"time-picker-ok-btn\" thyButton=\"primary\" thySize=\"sm\" (click)=\"onTimeOk()\">\n {{ locale().ok }}\n </button>\n }\n <button class=\"time-picker-clear-btn\" thyButton=\"default\" thyAppearance=\"link\" thySize=\"sm\" (click)=\"onClear()\">\n {{ locale().clear }}\n </button>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInnerTimePicker, selector: "thy-inner-time-picker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowKeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder", "timeZone"], outputs: ["disabledChange", "isValid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyAppearance", "thyButton", "thyColor", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }] }); }
221
221
  }
222
222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CalendarFooter, decorators: [{
223
223
  type: Component,
@@ -1061,7 +1061,7 @@ class DateCarousel {
1061
1061
  multi: true,
1062
1062
  useExisting: forwardRef(() => DateCarousel)
1063
1063
  }
1064
- ], ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"carouselItem; context: { title: locale().yearText, type: 'year', selectableData: selectableData.year }\"></ng-container>\n\n<ng-container\n *ngTemplateOutlet=\"\n carouselItem;\n context: { title: locale().quarterText, type: 'quarter', selectableData: selectableData.quarter }\n \"></ng-container>\n\n<ng-container\n *ngTemplateOutlet=\"\n carouselItem;\n context: { title: locale().monthText, type: 'month', selectableData: selectableData.month }\n \"></ng-container>\n\n<ng-template #carouselItem let-title=\"title\" let-selectableData=\"selectableData\" let-type=\"type\">\n <div class=\"carousel-item carousel-item-{{ type }}\">\n <p class=\"carousel-item-title\">{{ title }}</p>\n <div class=\"carousel-item-content\">\n <button thyButton=\"default\" thyAppearance=\"outline\" thySize=\"sm\" class=\"right-space\" (click)=\"prevClick(type)\">\n <thy-icon thyIconName=\"angle-left\"></thy-icon>\n </button>\n @for (item of selectableData; track $index) {\n <div\n class=\"selectable-button right-space\"\n (click)=\"selectDate(type, item)\"\n (mouseenter)=\"onMouseenter($event, type, item)\"\n (mouseleave)=\"onMouseleave($event, type, item)\"\n [ngClass]=\"item.classMap\">\n @if (item | showYearTip: type) {\n <span class=\"year-tip\">{{ item?.startValue?.getYear() }}</span>\n }\n @if (item.isInRange && isSelected(item)) {\n <thy-icon thyIconName=\"close\"></thy-icon>\n }\n @if (item.isInRange && !isSelected(item)) {\n <thy-icon thyIconName=\"plus\"></thy-icon>\n }\n @if (!item.isInRange) {\n <span>{{ item?.content }}</span>\n }\n </div>\n }\n <button thyButton=\"default\" thyAppearance=\"outline\" thySize=\"sm\" (click)=\"nextClick(type)\">\n <thy-icon thyIconName=\"angle-right\"></thy-icon>\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyAppearance", "thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: DatePickerAdvancedShowYearTipPipe, name: "showYearTip" }] }); }
1064
+ ], ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"carouselItem; context: { title: locale().yearText, type: 'year', selectableData: selectableData.year }\"></ng-container>\n\n<ng-container\n *ngTemplateOutlet=\"\n carouselItem;\n context: { title: locale().quarterText, type: 'quarter', selectableData: selectableData.quarter }\n \"></ng-container>\n\n<ng-container\n *ngTemplateOutlet=\"\n carouselItem;\n context: { title: locale().monthText, type: 'month', selectableData: selectableData.month }\n \"></ng-container>\n\n<ng-template #carouselItem let-title=\"title\" let-selectableData=\"selectableData\" let-type=\"type\">\n <div class=\"carousel-item carousel-item-{{ type }}\">\n <p class=\"carousel-item-title\">{{ title }}</p>\n <div class=\"carousel-item-content\">\n <button thyButton=\"default\" thyAppearance=\"outline\" thySize=\"sm\" class=\"right-space\" (click)=\"prevClick(type)\">\n <thy-icon thyIconName=\"angle-left\"></thy-icon>\n </button>\n @for (item of selectableData; track $index) {\n <div\n class=\"selectable-button right-space\"\n (click)=\"selectDate(type, item)\"\n (mouseenter)=\"onMouseenter($event, type, item)\"\n (mouseleave)=\"onMouseleave($event, type, item)\"\n [ngClass]=\"item.classMap\">\n @if (item | showYearTip: type) {\n <span class=\"year-tip\">{{ item?.startValue?.getYear() }}</span>\n }\n @if (item.isInRange && isSelected(item)) {\n <thy-icon thyIconName=\"close\"></thy-icon>\n }\n @if (item.isInRange && !isSelected(item)) {\n <thy-icon thyIconName=\"plus\"></thy-icon>\n }\n @if (!item.isInRange) {\n <span>{{ item?.content }}</span>\n }\n </div>\n }\n <button thyButton=\"default\" thyAppearance=\"outline\" thySize=\"sm\" (click)=\"nextClick(type)\">\n <thy-icon thyIconName=\"angle-right\"></thy-icon>\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyAppearance", "thyButton", "thyColor", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: DatePickerAdvancedShowYearTipPipe, name: "showYearTip" }] }); }
1065
1065
  }
1066
1066
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DateCarousel, decorators: [{
1067
1067
  type: Component,
@@ -2511,11 +2511,11 @@ class DatePopup {
2511
2511
  return TinyDate.createDateInTimeZone(date.getYear(), date.getMonth(), date.getDate(), hours, minutes, seconds, this.timeZone());
2512
2512
  }
2513
2513
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DatePopup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2514
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DatePopup, isStandalone: true, selector: "date-popup", inputs: { isRange: { classPropertyName: "isRange", publicName: "isRange", isSignal: true, isRequired: false, transformFunction: null }, showWeek: { classPropertyName: "showWeek", publicName: "showWeek", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, showToday: { classPropertyName: "showToday", publicName: "showToday", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, mustShowTime: { classPropertyName: "mustShowTime", publicName: "mustShowTime", isSignal: true, isRequired: false, transformFunction: null }, dateRender: { classPropertyName: "dateRender", publicName: "dateRender", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, panelMode: { classPropertyName: "panelMode", publicName: "panelMode", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultPickerValue: { classPropertyName: "defaultPickerValue", publicName: "defaultPickerValue", isSignal: true, isRequired: false, transformFunction: null }, showShortcut: { classPropertyName: "showShortcut", publicName: "showShortcut", isSignal: true, isRequired: false, transformFunction: null }, shortcutPresets: { classPropertyName: "shortcutPresets", publicName: "shortcutPresets", isSignal: true, isRequired: false, transformFunction: null }, shortcutPosition: { classPropertyName: "shortcutPosition", publicName: "shortcutPosition", isSignal: true, isRequired: false, transformFunction: null }, flexible: { classPropertyName: "flexible", publicName: "flexible", isSignal: true, isRequired: false, transformFunction: null }, flexibleDateGranularity: { classPropertyName: "flexibleDateGranularity", publicName: "flexibleDateGranularity", isSignal: true, isRequired: false, transformFunction: null }, timestampPrecision: { classPropertyName: "timestampPrecision", publicName: "timestampPrecision", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabledDate: "disabledDateChange", panelMode: "panelModeChange", showShortcut: "showShortcutChange", shortcutPresets: "shortcutPresetsChange", flexibleDateGranularity: "flexibleDateGranularityChange", calendarChange: "calendarChange", valueChange: "valueChange", resultOk: "resultOk", showTimePickerChange: "showTimePickerChange", dateValueChange: "dateValueChange" }, exportAs: ["datePopup"], usesOnChanges: true, ngImport: i0, template: "<div class=\"{{ prefixCls }}-picker-container {{ className() }}\">\n <div\n class=\"{{ prefixCls }} {{ showWeek() ? prefixCls + '-week-number' : '' }}\n {{ isRange() ? prefixCls + '-range' : '' }} {{ prefixCls }}-picker-shortcut-{{ shortcutPosition() === 'left' ? 'left' : 'bottom' }}\">\n @if (showShortcut()) {\n <div class=\"{{ prefixCls }}-picker-shortcut\">\n @for (item of innerShortcutPresets; track $index) {\n <div class=\"{{ prefixCls }}-picker-shortcut-item\" [class.disabled]=\"item.disabled\" (click)=\"shortcutSetValue(item)\">\n {{ item.title }}\n </div>\n }\n </div>\n }\n <div class=\"{{ prefixCls }}-panel\">\n <div class=\"{{ prefixCls }}-date-panel\">\n @if (flexible()) {\n <div class=\"{{ prefixCls }}-date-panel-flexible\">\n <div class=\"{{ prefixCls }}-date-panel-flexible-tab\">\n <thy-nav thyType=\"pulled\" thySize=\"sm\">\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'advanced'\" (click)=\"selectTab('advanced')\">{{\n locale().advance\n }}</a>\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'custom'\" (click)=\"selectTab('custom')\">{{\n locale().custom\n }}</a>\n </thy-nav>\n <button thyButtonIcon=\"sweep\" thySize=\"sm\" class=\"clear-date-button\" (click)=\"clearFlexibleValue()\"></button>\n </div>\n <ng-container>\n <div class=\"{{ prefixCls }}-date-panel-advanced\" [hidden]=\"flexibleActiveTab !== 'advanced'\">\n <date-carousel\n name=\"dateCarousel\"\n (ngModelChange)=\"changeValueFromAdvancedSelect($event)\"\n [(ngModel)]=\"advancedSelectedValue\"\n [ngModelOptions]=\"{ standalone: true }\"\n [activeDate]=\"selectedValue[0]\"></date-carousel>\n </div>\n </ng-container>\n <div [hidden]=\"flexibleActiveTab !== 'custom'\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isRange()) {\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'left' }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'right' }\"></ng-container>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n }\n @if (!isRange()) {\n <ng-container *ngTemplateOutlet=\"tplFooter\"></ng-container>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplInnerPopup let-partType=\"partType\">\n <inner-popup\n [showWeek]=\"showWeek()\"\n [isRange]=\"isRange()\"\n [panelMode]=\"getPanelMode(panelMode(), partType)\"\n [endPanelMode]=\"getPanelMode(endPanelMode(), partType)\"\n [partType]=\"partType\"\n [showDateRangeInput]=\"flexible() && flexibleActiveTab === 'custom'\"\n (panelModeChange)=\"onPanelModeChange($event, partType)\"\n [value]=\"getValueBySelector(partType)\"\n [selectedValue]=\"selectedValue\"\n [activeDate]=\"getActiveDate(partType)\"\n [rangeActiveDate]=\"activeDate\"\n [disabledDate]=\"disabledDate()\"\n [dateRender]=\"dateRender()\"\n [hoverValue]=\"hoverValue\"\n [timeZone]=\"timeZone()\"\n (dayHover)=\"onDayHover($event)\"\n (selectDate)=\"changeValueFromSelect($event, partType)\"\n (headerChange)=\"onHeaderChange($event, partType)\"></inner-popup>\n</ng-template>\n\n<ng-template #tplFooter>\n <calendar-footer\n [showTime]=\"showTime()\"\n [mustShowTime]=\"mustShowTime()\"\n [value]=\"value()\"\n [timeZone]=\"timeZone()\"\n [disableTimeConfirm]=\"disableTimeConfirm()\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n (selectTime)=\"onSelectTime($event)\"\n (clickOk)=\"onClickOk()\"\n (clickRemove)=\"onClickRemove()\"></calendar-footer>\n</ng-template>\n\n<!-- Single ONLY -->\n\n<!-- Range ONLY -->\n<ng-template #tplRangePart let-partType=\"partType\">\n <div class=\"{{ prefixCls }}-range-part {{ prefixCls }}-range-{{ partType }}\">\n <div style=\"outline: none\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup; context: { partType: partType }\"></ng-container>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyPauseReCalculate", "thyPopoverOptions", "thyExtra"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyButtonIcon, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: ["thySize", "thyIcon", "thyButtonIcon", "thyShape", "thyLight", "thyActive", "thyTheme", "thyColor"] }, { kind: "component", type: DateCarousel, selector: "date-carousel", inputs: ["activeDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InnerPopup, selector: "inner-popup", inputs: ["showWeek", "isRange", "activeDate", "rangeActiveDate", "disabledDate", "dateRender", "selectedValue", "hoverValue", "panelMode", "timeZone", "showDateRangeInput", "partType", "endPanelMode", "value"], outputs: ["activeDateChange", "valueChange", "panelModeChange", "headerChange", "selectDate", "dayHover"], exportAs: ["innerPopup"] }, { kind: "component", type: CalendarFooter, selector: "calendar-footer", inputs: ["showTime", "mustShowTime", "value", "timeZone", "disableTimeConfirm"], outputs: ["valueChange", "selectTime", "clickOk", "clickRemove", "showTimePickerChange"], exportAs: ["calendarFooter"] }] }); }
2514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DatePopup, isStandalone: true, selector: "date-popup", inputs: { isRange: { classPropertyName: "isRange", publicName: "isRange", isSignal: true, isRequired: false, transformFunction: null }, showWeek: { classPropertyName: "showWeek", publicName: "showWeek", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, showToday: { classPropertyName: "showToday", publicName: "showToday", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, mustShowTime: { classPropertyName: "mustShowTime", publicName: "mustShowTime", isSignal: true, isRequired: false, transformFunction: null }, dateRender: { classPropertyName: "dateRender", publicName: "dateRender", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, panelMode: { classPropertyName: "panelMode", publicName: "panelMode", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultPickerValue: { classPropertyName: "defaultPickerValue", publicName: "defaultPickerValue", isSignal: true, isRequired: false, transformFunction: null }, showShortcut: { classPropertyName: "showShortcut", publicName: "showShortcut", isSignal: true, isRequired: false, transformFunction: null }, shortcutPresets: { classPropertyName: "shortcutPresets", publicName: "shortcutPresets", isSignal: true, isRequired: false, transformFunction: null }, shortcutPosition: { classPropertyName: "shortcutPosition", publicName: "shortcutPosition", isSignal: true, isRequired: false, transformFunction: null }, flexible: { classPropertyName: "flexible", publicName: "flexible", isSignal: true, isRequired: false, transformFunction: null }, flexibleDateGranularity: { classPropertyName: "flexibleDateGranularity", publicName: "flexibleDateGranularity", isSignal: true, isRequired: false, transformFunction: null }, timestampPrecision: { classPropertyName: "timestampPrecision", publicName: "timestampPrecision", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabledDate: "disabledDateChange", panelMode: "panelModeChange", showShortcut: "showShortcutChange", shortcutPresets: "shortcutPresetsChange", flexibleDateGranularity: "flexibleDateGranularityChange", calendarChange: "calendarChange", valueChange: "valueChange", resultOk: "resultOk", showTimePickerChange: "showTimePickerChange", dateValueChange: "dateValueChange" }, exportAs: ["datePopup"], usesOnChanges: true, ngImport: i0, template: "<div class=\"{{ prefixCls }}-picker-container {{ className() }}\">\n <div\n class=\"{{ prefixCls }} {{ showWeek() ? prefixCls + '-week-number' : '' }}\n {{ isRange() ? prefixCls + '-range' : '' }} {{ prefixCls }}-picker-shortcut-{{ shortcutPosition() === 'left' ? 'left' : 'bottom' }}\">\n @if (showShortcut()) {\n <div class=\"{{ prefixCls }}-picker-shortcut\">\n @for (item of innerShortcutPresets; track $index) {\n <div class=\"{{ prefixCls }}-picker-shortcut-item\" [class.disabled]=\"item.disabled\" (click)=\"shortcutSetValue(item)\">\n {{ item.title }}\n </div>\n }\n </div>\n }\n <div class=\"{{ prefixCls }}-panel\">\n <div class=\"{{ prefixCls }}-date-panel\">\n @if (flexible()) {\n <div class=\"{{ prefixCls }}-date-panel-flexible\">\n <div class=\"{{ prefixCls }}-date-panel-flexible-tab\">\n <thy-nav thyVariant=\"pulled\" thySize=\"sm\">\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'advanced'\" (click)=\"selectTab('advanced')\">{{\n locale().advance\n }}</a>\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'custom'\" (click)=\"selectTab('custom')\">{{\n locale().custom\n }}</a>\n </thy-nav>\n <button thyButtonIcon=\"sweep\" thySize=\"sm\" class=\"clear-date-button\" (click)=\"clearFlexibleValue()\"></button>\n </div>\n <ng-container>\n <div class=\"{{ prefixCls }}-date-panel-advanced\" [hidden]=\"flexibleActiveTab !== 'advanced'\">\n <date-carousel\n name=\"dateCarousel\"\n (ngModelChange)=\"changeValueFromAdvancedSelect($event)\"\n [(ngModel)]=\"advancedSelectedValue\"\n [ngModelOptions]=\"{ standalone: true }\"\n [activeDate]=\"selectedValue[0]\"></date-carousel>\n </div>\n </ng-container>\n <div [hidden]=\"flexibleActiveTab !== 'custom'\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isRange()) {\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'left' }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'right' }\"></ng-container>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n }\n @if (!isRange()) {\n <ng-container *ngTemplateOutlet=\"tplFooter\"></ng-container>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplInnerPopup let-partType=\"partType\">\n <inner-popup\n [showWeek]=\"showWeek()\"\n [isRange]=\"isRange()\"\n [panelMode]=\"getPanelMode(panelMode(), partType)\"\n [endPanelMode]=\"getPanelMode(endPanelMode(), partType)\"\n [partType]=\"partType\"\n [showDateRangeInput]=\"flexible() && flexibleActiveTab === 'custom'\"\n (panelModeChange)=\"onPanelModeChange($event, partType)\"\n [value]=\"getValueBySelector(partType)\"\n [selectedValue]=\"selectedValue\"\n [activeDate]=\"getActiveDate(partType)\"\n [rangeActiveDate]=\"activeDate\"\n [disabledDate]=\"disabledDate()\"\n [dateRender]=\"dateRender()\"\n [hoverValue]=\"hoverValue\"\n [timeZone]=\"timeZone()\"\n (dayHover)=\"onDayHover($event)\"\n (selectDate)=\"changeValueFromSelect($event, partType)\"\n (headerChange)=\"onHeaderChange($event, partType)\"></inner-popup>\n</ng-template>\n\n<ng-template #tplFooter>\n <calendar-footer\n [showTime]=\"showTime()\"\n [mustShowTime]=\"mustShowTime()\"\n [value]=\"value()\"\n [timeZone]=\"timeZone()\"\n [disableTimeConfirm]=\"disableTimeConfirm()\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n (selectTime)=\"onSelectTime($event)\"\n (clickOk)=\"onClickOk()\"\n (clickRemove)=\"onClickRemove()\"></calendar-footer>\n</ng-template>\n\n<!-- Single ONLY -->\n\n<!-- Range ONLY -->\n<ng-template #tplRangePart let-partType=\"partType\">\n <div class=\"{{ prefixCls }}-range-part {{ prefixCls }}-range-{{ partType }}\">\n <div style=\"outline: none\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup; context: { partType: partType }\"></ng-container>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyVariant", "thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyPauseReCalculate", "thyPopoverOptions", "thyExtra"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyButtonIcon, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: ["thySize", "thyIcon", "thyButtonIcon", "thyShape", "thyLight", "thyActive", "thyTheme", "thyColor"] }, { kind: "component", type: DateCarousel, selector: "date-carousel", inputs: ["activeDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InnerPopup, selector: "inner-popup", inputs: ["showWeek", "isRange", "activeDate", "rangeActiveDate", "disabledDate", "dateRender", "selectedValue", "hoverValue", "panelMode", "timeZone", "showDateRangeInput", "partType", "endPanelMode", "value"], outputs: ["activeDateChange", "valueChange", "panelModeChange", "headerChange", "selectDate", "dayHover"], exportAs: ["innerPopup"] }, { kind: "component", type: CalendarFooter, selector: "calendar-footer", inputs: ["showTime", "mustShowTime", "value", "timeZone", "disableTimeConfirm"], outputs: ["valueChange", "selectTime", "clickOk", "clickRemove", "showTimePickerChange"], exportAs: ["calendarFooter"] }] }); }
2515
2515
  }
2516
2516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DatePopup, decorators: [{
2517
2517
  type: Component,
2518
- args: [{ selector: 'date-popup', exportAs: 'datePopup', imports: [ThyNav, ThyNavItemDirective, ThyButtonIcon, DateCarousel, FormsModule, NgTemplateOutlet, InnerPopup, CalendarFooter], template: "<div class=\"{{ prefixCls }}-picker-container {{ className() }}\">\n <div\n class=\"{{ prefixCls }} {{ showWeek() ? prefixCls + '-week-number' : '' }}\n {{ isRange() ? prefixCls + '-range' : '' }} {{ prefixCls }}-picker-shortcut-{{ shortcutPosition() === 'left' ? 'left' : 'bottom' }}\">\n @if (showShortcut()) {\n <div class=\"{{ prefixCls }}-picker-shortcut\">\n @for (item of innerShortcutPresets; track $index) {\n <div class=\"{{ prefixCls }}-picker-shortcut-item\" [class.disabled]=\"item.disabled\" (click)=\"shortcutSetValue(item)\">\n {{ item.title }}\n </div>\n }\n </div>\n }\n <div class=\"{{ prefixCls }}-panel\">\n <div class=\"{{ prefixCls }}-date-panel\">\n @if (flexible()) {\n <div class=\"{{ prefixCls }}-date-panel-flexible\">\n <div class=\"{{ prefixCls }}-date-panel-flexible-tab\">\n <thy-nav thyType=\"pulled\" thySize=\"sm\">\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'advanced'\" (click)=\"selectTab('advanced')\">{{\n locale().advance\n }}</a>\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'custom'\" (click)=\"selectTab('custom')\">{{\n locale().custom\n }}</a>\n </thy-nav>\n <button thyButtonIcon=\"sweep\" thySize=\"sm\" class=\"clear-date-button\" (click)=\"clearFlexibleValue()\"></button>\n </div>\n <ng-container>\n <div class=\"{{ prefixCls }}-date-panel-advanced\" [hidden]=\"flexibleActiveTab !== 'advanced'\">\n <date-carousel\n name=\"dateCarousel\"\n (ngModelChange)=\"changeValueFromAdvancedSelect($event)\"\n [(ngModel)]=\"advancedSelectedValue\"\n [ngModelOptions]=\"{ standalone: true }\"\n [activeDate]=\"selectedValue[0]\"></date-carousel>\n </div>\n </ng-container>\n <div [hidden]=\"flexibleActiveTab !== 'custom'\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isRange()) {\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'left' }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'right' }\"></ng-container>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n }\n @if (!isRange()) {\n <ng-container *ngTemplateOutlet=\"tplFooter\"></ng-container>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplInnerPopup let-partType=\"partType\">\n <inner-popup\n [showWeek]=\"showWeek()\"\n [isRange]=\"isRange()\"\n [panelMode]=\"getPanelMode(panelMode(), partType)\"\n [endPanelMode]=\"getPanelMode(endPanelMode(), partType)\"\n [partType]=\"partType\"\n [showDateRangeInput]=\"flexible() && flexibleActiveTab === 'custom'\"\n (panelModeChange)=\"onPanelModeChange($event, partType)\"\n [value]=\"getValueBySelector(partType)\"\n [selectedValue]=\"selectedValue\"\n [activeDate]=\"getActiveDate(partType)\"\n [rangeActiveDate]=\"activeDate\"\n [disabledDate]=\"disabledDate()\"\n [dateRender]=\"dateRender()\"\n [hoverValue]=\"hoverValue\"\n [timeZone]=\"timeZone()\"\n (dayHover)=\"onDayHover($event)\"\n (selectDate)=\"changeValueFromSelect($event, partType)\"\n (headerChange)=\"onHeaderChange($event, partType)\"></inner-popup>\n</ng-template>\n\n<ng-template #tplFooter>\n <calendar-footer\n [showTime]=\"showTime()\"\n [mustShowTime]=\"mustShowTime()\"\n [value]=\"value()\"\n [timeZone]=\"timeZone()\"\n [disableTimeConfirm]=\"disableTimeConfirm()\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n (selectTime)=\"onSelectTime($event)\"\n (clickOk)=\"onClickOk()\"\n (clickRemove)=\"onClickRemove()\"></calendar-footer>\n</ng-template>\n\n<!-- Single ONLY -->\n\n<!-- Range ONLY -->\n<ng-template #tplRangePart let-partType=\"partType\">\n <div class=\"{{ prefixCls }}-range-part {{ prefixCls }}-range-{{ partType }}\">\n <div style=\"outline: none\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup; context: { partType: partType }\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
2518
+ args: [{ selector: 'date-popup', exportAs: 'datePopup', imports: [ThyNav, ThyNavItemDirective, ThyButtonIcon, DateCarousel, FormsModule, NgTemplateOutlet, InnerPopup, CalendarFooter], template: "<div class=\"{{ prefixCls }}-picker-container {{ className() }}\">\n <div\n class=\"{{ prefixCls }} {{ showWeek() ? prefixCls + '-week-number' : '' }}\n {{ isRange() ? prefixCls + '-range' : '' }} {{ prefixCls }}-picker-shortcut-{{ shortcutPosition() === 'left' ? 'left' : 'bottom' }}\">\n @if (showShortcut()) {\n <div class=\"{{ prefixCls }}-picker-shortcut\">\n @for (item of innerShortcutPresets; track $index) {\n <div class=\"{{ prefixCls }}-picker-shortcut-item\" [class.disabled]=\"item.disabled\" (click)=\"shortcutSetValue(item)\">\n {{ item.title }}\n </div>\n }\n </div>\n }\n <div class=\"{{ prefixCls }}-panel\">\n <div class=\"{{ prefixCls }}-date-panel\">\n @if (flexible()) {\n <div class=\"{{ prefixCls }}-date-panel-flexible\">\n <div class=\"{{ prefixCls }}-date-panel-flexible-tab\">\n <thy-nav thyVariant=\"pulled\" thySize=\"sm\">\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'advanced'\" (click)=\"selectTab('advanced')\">{{\n locale().advance\n }}</a>\n <a href=\"javascript:;\" thyNavItem [thyNavItemActive]=\"flexibleActiveTab === 'custom'\" (click)=\"selectTab('custom')\">{{\n locale().custom\n }}</a>\n </thy-nav>\n <button thyButtonIcon=\"sweep\" thySize=\"sm\" class=\"clear-date-button\" (click)=\"clearFlexibleValue()\"></button>\n </div>\n <ng-container>\n <div class=\"{{ prefixCls }}-date-panel-advanced\" [hidden]=\"flexibleActiveTab !== 'advanced'\">\n <date-carousel\n name=\"dateCarousel\"\n (ngModelChange)=\"changeValueFromAdvancedSelect($event)\"\n [(ngModel)]=\"advancedSelectedValue\"\n [ngModelOptions]=\"{ standalone: true }\"\n [activeDate]=\"selectedValue[0]\"></date-carousel>\n </div>\n </ng-container>\n <div [hidden]=\"flexibleActiveTab !== 'custom'\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isRange()) {\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'left' }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tplRangePart; context: { partType: 'right' }\"></ng-container>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"tplInnerPopup\"></ng-container>\n </div>\n }\n @if (!isRange()) {\n <ng-container *ngTemplateOutlet=\"tplFooter\"></ng-container>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplInnerPopup let-partType=\"partType\">\n <inner-popup\n [showWeek]=\"showWeek()\"\n [isRange]=\"isRange()\"\n [panelMode]=\"getPanelMode(panelMode(), partType)\"\n [endPanelMode]=\"getPanelMode(endPanelMode(), partType)\"\n [partType]=\"partType\"\n [showDateRangeInput]=\"flexible() && flexibleActiveTab === 'custom'\"\n (panelModeChange)=\"onPanelModeChange($event, partType)\"\n [value]=\"getValueBySelector(partType)\"\n [selectedValue]=\"selectedValue\"\n [activeDate]=\"getActiveDate(partType)\"\n [rangeActiveDate]=\"activeDate\"\n [disabledDate]=\"disabledDate()\"\n [dateRender]=\"dateRender()\"\n [hoverValue]=\"hoverValue\"\n [timeZone]=\"timeZone()\"\n (dayHover)=\"onDayHover($event)\"\n (selectDate)=\"changeValueFromSelect($event, partType)\"\n (headerChange)=\"onHeaderChange($event, partType)\"></inner-popup>\n</ng-template>\n\n<ng-template #tplFooter>\n <calendar-footer\n [showTime]=\"showTime()\"\n [mustShowTime]=\"mustShowTime()\"\n [value]=\"value()\"\n [timeZone]=\"timeZone()\"\n [disableTimeConfirm]=\"disableTimeConfirm()\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n (selectTime)=\"onSelectTime($event)\"\n (clickOk)=\"onClickOk()\"\n (clickRemove)=\"onClickRemove()\"></calendar-footer>\n</ng-template>\n\n<!-- Single ONLY -->\n\n<!-- Range ONLY -->\n<ng-template #tplRangePart let-partType=\"partType\">\n <div class=\"{{ prefixCls }}-range-part {{ prefixCls }}-range-{{ partType }}\">\n <div style=\"outline: none\">\n <ng-container *ngTemplateOutlet=\"tplInnerPopup; context: { partType: partType }\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
2519
2519
  }], propDecorators: { isRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "isRange", required: false }] }], showWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "showWeek", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], disabledDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledDate", required: false }] }, { type: i0.Output, args: ["disabledDateChange"] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], showToday: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToday", required: false }] }], showTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTime", required: false }] }], mustShowTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "mustShowTime", required: false }] }], dateRender: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRender", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], panelMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelMode", required: false }] }, { type: i0.Output, args: ["panelModeChange"] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultPickerValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPickerValue", required: false }] }], showShortcut: [{ type: i0.Input, args: [{ isSignal: true, alias: "showShortcut", required: false }] }, { type: i0.Output, args: ["showShortcutChange"] }], shortcutPresets: [{ type: i0.Input, args: [{ isSignal: true, alias: "shortcutPresets", required: false }] }, { type: i0.Output, args: ["shortcutPresetsChange"] }], shortcutPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "shortcutPosition", required: false }] }], flexible: [{ type: i0.Input, args: [{ isSignal: true, alias: "flexible", required: false }] }], flexibleDateGranularity: [{ type: i0.Input, args: [{ isSignal: true, alias: "flexibleDateGranularity", required: false }] }, { type: i0.Output, args: ["flexibleDateGranularityChange"] }], timestampPrecision: [{ type: i0.Input, args: [{ isSignal: true, alias: "timestampPrecision", required: false }] }], timeZone: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeZone", required: false }] }], calendarChange: [{ type: i0.Output, args: ["calendarChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], resultOk: [{ type: i0.Output, args: ["resultOk"] }], showTimePickerChange: [{ type: i0.Output, args: ["showTimePickerChange"] }], dateValueChange: [{ type: i0.Output, args: ["dateValueChange"] }] } });
2520
2520
 
2521
2521
  class LibPackerModule {
@@ -2644,7 +2644,7 @@ class ThyPicker {
2644
2644
  this.autoFocus = input(false, { ...(ngDevMode ? { debugName: "autoFocus" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
2645
2645
  this.className = input(/* @ts-ignore */
2646
2646
  ...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
2647
- this.size = input('md', { ...(ngDevMode ? { debugName: "size" } : /* istanbul ignore next */ {}), transform: (value) => value ?? 'md' });
2647
+ this.size = input('md', { ...(ngDevMode ? { debugName: "size" } : /* istanbul ignore next */ {}), transform: value => value ?? 'md' });
2648
2648
  this.suffixIcon = input(/* @ts-ignore */
2649
2649
  ...(ngDevMode ? [undefined, { debugName: "suffixIcon" }] : /* istanbul ignore next */ []));
2650
2650
  this.placement = input('bottomLeft', /* @ts-ignore */
@@ -2983,7 +2983,7 @@ class AbstractPickerComponent extends TabIndexDisabledControlValueAccessorMixin
2983
2983
  /**
2984
2984
  * 输入框的大小
2985
2985
  */
2986
- this.thySize = input('md', { ...(ngDevMode ? { debugName: "thySize" } : /* istanbul ignore next */ {}), transform: (value) => value ?? 'md' });
2986
+ this.thySize = input('md', { ...(ngDevMode ? { debugName: "thySize" } : /* istanbul ignore next */ {}), transform: value => value ?? 'md' });
2987
2987
  /**
2988
2988
  * 设置时间戳精度
2989
2989
  * @default seconds 10位