@ai-table/grid 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, input, EventEmitter, inject, ElementRef, effect, Output, ChangeDetectionStrategy, Component, signal, computed, output, Renderer2, Input, ChangeDetectorRef, ViewChild, model, untracked, Pipe, booleanAttribute, viewChild, ViewContainerRef, DestroyRef, Injectable, NgZone, afterNextRender } from '@angular/core';
2
+ import { InjectionToken, input, EventEmitter, inject, ElementRef, effect, Output, ChangeDetectionStrategy, Component, signal, computed, output, Renderer2, Input, ChangeDetectorRef, ViewChild, model, untracked, Pipe, booleanAttribute, viewChild, ViewContainerRef, linkedSignal, DestroyRef, Injectable, NgZone, afterNextRender } from '@angular/core';
3
3
  import Konva from 'konva';
4
4
  import { Shape } from 'konva/lib/Shape';
5
5
  import { Sprite } from 'konva/lib/shapes/Sprite';
@@ -195,7 +195,8 @@ function createListener(instance) {
195
195
 
196
196
  class KoShape {
197
197
  constructor() {
198
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
198
+ this.config = input(/* @ts-ignore */
199
+ ...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
199
200
  this.koMouseover = new EventEmitter();
200
201
  this.koMousemove = new EventEmitter();
201
202
  this.koMouseout = new EventEmitter();
@@ -277,10 +278,10 @@ class KoShape {
277
278
  ngOnDestroy() {
278
279
  this._node?.destroy();
279
280
  }
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
281
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
282
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
282
283
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoShape, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: KoShape, decorators: [{
284
285
  type: Component,
285
286
  args: [{
286
287
  selector: 'ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer',
@@ -328,15 +329,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
328
329
  }] } });
329
330
 
330
331
  class KoContainer extends KoShape {
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
333
334
  {
334
335
  provide: KO_CONTAINER_TOKEN,
335
336
  useExisting: KoContainer
336
337
  }
337
338
  ], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
338
339
  }
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoContainer, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: KoContainer, decorators: [{
340
341
  type: Component,
341
342
  args: [{
342
343
  selector: 'ko-layer, ko-fastlayer, ko-group',
@@ -353,7 +354,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
353
354
 
354
355
  class KoStage {
355
356
  constructor() {
356
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
357
+ this.config = input(/* @ts-ignore */
358
+ ...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
357
359
  this.koMouseover = new EventEmitter();
358
360
  this.koMousemove = new EventEmitter();
359
361
  this.koMouseout = new EventEmitter();
@@ -407,15 +409,15 @@ class KoStage {
407
409
  ngOnDestroy() {
408
410
  this._stage?.destroy();
409
411
  }
410
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
413
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
412
414
  {
413
415
  provide: KO_CONTAINER_TOKEN,
414
416
  useExisting: KoStage
415
417
  }
416
418
  ], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
417
419
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoStage, decorators: [{
420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: KoStage, decorators: [{
419
421
  type: Component,
420
422
  args: [{
421
423
  selector: 'ko-stage',
@@ -1677,15 +1679,18 @@ class RendererContext {
1677
1679
 
1678
1680
  class AbstractEditCellEditor {
1679
1681
  constructor() {
1680
- this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low, ...(ngDevMode ? [{ debugName: "recordHeight" }] : []));
1681
- this.autoFocus = input(true, ...(ngDevMode ? [{ debugName: "autoFocus", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
1682
+ this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low, /* @ts-ignore */
1683
+ ...(ngDevMode ? [{ debugName: "recordHeight" }] : /* istanbul ignore next */ []));
1684
+ this.autoFocus = input(true, { ...(ngDevMode ? { debugName: "autoFocus" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
1682
1685
  this.updateFieldValues = output();
1683
1686
  this.field = computed(() => {
1684
1687
  return this.aiTable.fieldsMap()[this.fieldId];
1685
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
1688
+ }, /* @ts-ignore */
1689
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
1686
1690
  this.record = computed(() => {
1687
1691
  return this.aiTable.recordsMap()[this.recordId];
1688
- }, ...(ngDevMode ? [{ debugName: "record" }] : []));
1692
+ }, /* @ts-ignore */
1693
+ ...(ngDevMode ? [{ debugName: "record" }] : /* istanbul ignore next */ []));
1689
1694
  this.elementRef = inject((ElementRef));
1690
1695
  this.thyPopoverRef = inject((ThyPopoverRef), { optional: true });
1691
1696
  this.render2 = inject(Renderer2);
@@ -1739,10 +1744,10 @@ class AbstractEditCellEditor {
1739
1744
  });
1740
1745
  }
1741
1746
  }
1742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1743
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: false, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: false, isRequired: true, transformFunction: null }, recordHeight: { classPropertyName: "recordHeight", publicName: "recordHeight", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1747
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1748
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: false, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: false, isRequired: true, transformFunction: null }, recordHeight: { classPropertyName: "recordHeight", publicName: "recordHeight", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1744
1749
  }
1745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
1750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
1746
1751
  type: Component,
1747
1752
  args: [{
1748
1753
  selector: 'abstract-edit-cell',
@@ -1795,8 +1800,8 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
1795
1800
  this.closePopover();
1796
1801
  }
1797
1802
  }
1798
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1799
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
1803
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1804
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
1800
1805
  <thy-date-picker
1801
1806
  class="h-100"
1802
1807
  thyTimestampPrecision="seconds"
@@ -1814,7 +1819,7 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
1814
1819
  </thy-date-picker>
1815
1820
  `, isInline: true, dependencies: [{ 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: ThyDatePicker, selector: "thy-date-picker", exportAs: ["thyDatePicker"] }, { kind: "ngmodule", type: ThyTimePickerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1816
1821
  }
1817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DateCellEditorComponent, decorators: [{
1822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DateCellEditorComponent, decorators: [{
1818
1823
  type: Component,
1819
1824
  args: [{
1820
1825
  selector: 'date-cell-editor',
@@ -1851,7 +1856,8 @@ class LinkEditComponent {
1851
1856
  this.thyPopoverRef = thyPopoverRef;
1852
1857
  this.url = '';
1853
1858
  this.text = '';
1854
- this.aiTable = input(...(ngDevMode ? [undefined, { debugName: "aiTable" }] : []));
1859
+ this.aiTable = input(/* @ts-ignore */
1860
+ ...(ngDevMode ? [undefined, { debugName: "aiTable" }] : /* istanbul ignore next */ []));
1855
1861
  this.confirm = new EventEmitter();
1856
1862
  this.i18nTexts = computed(() => {
1857
1863
  return {
@@ -1862,7 +1868,8 @@ class LinkEditComponent {
1862
1868
  cancel: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.cancel),
1863
1869
  apply: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.apply)
1864
1870
  };
1865
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
1871
+ }, /* @ts-ignore */
1872
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
1866
1873
  this.validatorConfig = computed(() => {
1867
1874
  return {
1868
1875
  validationMessages: {
@@ -1871,7 +1878,8 @@ class LinkEditComponent {
1871
1878
  }
1872
1879
  }
1873
1880
  };
1874
- }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : []));
1881
+ }, /* @ts-ignore */
1882
+ ...(ngDevMode ? [{ debugName: "validatorConfig" }] : /* istanbul ignore next */ []));
1875
1883
  }
1876
1884
  ngOnInit() { }
1877
1885
  close() {
@@ -1892,12 +1900,12 @@ class LinkEditComponent {
1892
1900
  const link = url ? { text: text || url, url: url } : undefined;
1893
1901
  this.confirm.emit(link);
1894
1902
  }
1895
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
1896
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
1903
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
1904
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1897
1905
  }
1898
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkEditComponent, decorators: [{
1906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkEditComponent, decorators: [{
1899
1907
  type: Component,
1900
- args: [{ selector: 'link-edit', imports: [FormsModule, ThyStopPropagationDirective, ThyInputDirective, ThyButton, ThyFormSubmitDirective, ThyFormModule], template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n" }]
1908
+ args: [{ selector: 'link-edit', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, ThyStopPropagationDirective, ThyInputDirective, ThyButton, ThyFormSubmitDirective, ThyFormModule], template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n" }]
1901
1909
  }], ctorParameters: () => [{ type: i1$1.ThyPopoverRef }], propDecorators: { url: [{
1902
1910
  type: Input
1903
1911
  }], text: [{
@@ -1918,7 +1926,8 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
1918
1926
  this.isOpened = false;
1919
1927
  this.linkTooltip = computed(() => {
1920
1928
  return getI18nTextByKey(this.aiTable, AITableGridI18nKey.linkTooltip);
1921
- }, ...(ngDevMode ? [{ debugName: "linkTooltip" }] : []));
1929
+ }, /* @ts-ignore */
1930
+ ...(ngDevMode ? [{ debugName: "linkTooltip" }] : /* istanbul ignore next */ []));
1922
1931
  }
1923
1932
  isValidLink(link) {
1924
1933
  if (!link.text) {
@@ -1987,10 +1996,10 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
1987
1996
  });
1988
1997
  }
1989
1998
  }
1990
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1991
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"autoFocus()\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n [thyTooltip]=\"linkTooltip()\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1999
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2000
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"autoFocus()\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n [thyTooltip]=\"linkTooltip()\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { 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: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyAppearance", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1992
2001
  }
1993
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
2002
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
1994
2003
  type: Component,
1995
2004
  args: [{ selector: 'link-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1996
2005
  FormsModule,
@@ -4177,7 +4186,8 @@ const isCellMatchKeywords = (aiTable, field, recordId, keywords, references) =>
4177
4186
 
4178
4187
  class AITableTextComponent {
4179
4188
  constructor() {
4180
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
4189
+ this.config = input.required(/* @ts-ignore */
4190
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
4181
4191
  // @Output() koClick = new EventEmitter<KoEventObject<MouseEvent>>();
4182
4192
  this.koClick = output();
4183
4193
  this.koMouseMove = output();
@@ -4204,7 +4214,8 @@ class AITableTextComponent {
4204
4214
  ...rest
4205
4215
  };
4206
4216
  return result;
4207
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
4217
+ }, /* @ts-ignore */
4218
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
4208
4219
  }
4209
4220
  onClick(e) {
4210
4221
  this.koClick.emit(e);
@@ -4212,10 +4223,10 @@ class AITableTextComponent {
4212
4223
  onMousemove(e) {
4213
4224
  this.koMouseMove.emit(e);
4214
4225
  }
4215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableTextComponent, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4227
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableTextComponent, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4217
4228
  }
4218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableTextComponent, decorators: [{
4229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableTextComponent, decorators: [{
4219
4230
  type: Component,
4220
4231
  args: [{
4221
4232
  selector: 'ai-table-text',
@@ -5247,17 +5258,20 @@ const drawer = new Drawer();
5247
5258
 
5248
5259
  class CoverCellBase {
5249
5260
  constructor() {
5250
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
5251
- this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : []));
5261
+ this.config = input(/* @ts-ignore */
5262
+ ...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
5263
+ this.onlyDisplayBorder = input(false, /* @ts-ignore */
5264
+ ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : /* istanbul ignore next */ []));
5252
5265
  this.isExpand = computed(() => {
5253
5266
  const { isExpand } = this.config();
5254
5267
  return isExpand;
5255
- }, ...(ngDevMode ? [{ debugName: "isExpand" }] : []));
5268
+ }, /* @ts-ignore */
5269
+ ...(ngDevMode ? [{ debugName: "isExpand" }] : /* istanbul ignore next */ []));
5256
5270
  }
5257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: CoverCellBase, isStandalone: true, selector: "ai-table-cover-cell-base", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: CoverCellBase, isStandalone: true, selector: "ai-table-cover-cell-base", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5259
5273
  }
5260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CoverCellBase, decorators: [{
5274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CoverCellBase, decorators: [{
5261
5275
  type: Component,
5262
5276
  args: [{
5263
5277
  selector: 'ai-table-cover-cell-base',
@@ -5270,9 +5284,12 @@ class AITableCellLink extends CoverCellBase {
5270
5284
  constructor() {
5271
5285
  super(...arguments);
5272
5286
  this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
5273
- this.render = computed(() => this.config()?.render, ...(ngDevMode ? [{ debugName: "render" }] : []));
5274
- this.transformValue = computed(() => this.render()?.transformValue, ...(ngDevMode ? [{ debugName: "transformValue" }] : []));
5275
- this.showLink = computed(() => !!this.transformValue()?.text, ...(ngDevMode ? [{ debugName: "showLink" }] : []));
5287
+ this.render = computed(() => this.config()?.render, /* @ts-ignore */
5288
+ ...(ngDevMode ? [{ debugName: "render" }] : /* istanbul ignore next */ []));
5289
+ this.transformValue = computed(() => this.render()?.transformValue, /* @ts-ignore */
5290
+ ...(ngDevMode ? [{ debugName: "transformValue" }] : /* istanbul ignore next */ []));
5291
+ this.showLink = computed(() => !!this.transformValue()?.text, /* @ts-ignore */
5292
+ ...(ngDevMode ? [{ debugName: "showLink" }] : /* istanbul ignore next */ []));
5276
5293
  this.textConfig = computed(() => {
5277
5294
  const render = this.config()?.render;
5278
5295
  if (render) {
@@ -5307,7 +5324,8 @@ class AITableCellLink extends CoverCellBase {
5307
5324
  };
5308
5325
  }
5309
5326
  return;
5310
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
5327
+ }, /* @ts-ignore */
5328
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
5311
5329
  }
5312
5330
  static { this.fieldType = AITableFieldType.link; }
5313
5331
  linkClick(e) {
@@ -5327,14 +5345,14 @@ class AITableCellLink extends CoverCellBase {
5327
5345
  const curMousePosition = getMousePosition(aiTable, x, y, coordinate, AITable.getVisibleFields(aiTable), context, targetName);
5328
5346
  handleMouseStyle(AI_TABLE_FIELD_HEAD_MORE, curMousePosition.areaType, coordinate.container);
5329
5347
  }
5330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5331
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", usesInheritance: true, ngImport: i0, template: `
5348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5349
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", usesInheritance: true, ngImport: i0, template: `
5332
5350
  @if (showLink()) {
5333
5351
  <ai-table-text [config]="textConfig()!" (koClick)="linkClick($event)" (koMouseMove)="linkMouseMove($event)"></ai-table-text>
5334
5352
  }
5335
5353
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5336
5354
  }
5337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellLink, decorators: [{
5355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellLink, decorators: [{
5338
5356
  type: Component,
5339
5357
  args: [{
5340
5358
  selector: 'ai-table-link',
@@ -5354,12 +5372,15 @@ class AITableActionIcon {
5354
5372
  this.onMousemove = output();
5355
5373
  this.onMouseenter = output();
5356
5374
  this.onMouseleave = output();
5357
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
5358
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
5375
+ this.config = input.required(/* @ts-ignore */
5376
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
5377
+ this.isHover = signal(false, /* @ts-ignore */
5378
+ ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
5359
5379
  this.groupConfig = computed(() => {
5360
5380
  const { x, y, listening } = this.config();
5361
5381
  return { x, y, listening };
5362
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
5382
+ }, /* @ts-ignore */
5383
+ ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
5363
5384
  this.squareShapeConfig = computed(() => {
5364
5385
  const { name, backgroundWidth, backgroundHeight, hoverFill: coverFill, size = DEFAULT_ICON_SIZE, strokeWidth = 1, cornerRadius, source } = this.config();
5365
5386
  return {
@@ -5372,7 +5393,8 @@ class AITableActionIcon {
5372
5393
  cornerRadius,
5373
5394
  source
5374
5395
  };
5375
- }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : []));
5396
+ }, /* @ts-ignore */
5397
+ ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : /* istanbul ignore next */ []));
5376
5398
  this.iconGroupConfig = computed(() => {
5377
5399
  let { backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, scaleX, scaleY, offsetX, offsetY } = this.config();
5378
5400
  return {
@@ -5383,7 +5405,8 @@ class AITableActionIcon {
5383
5405
  scaleX: scaleX || size / DEFAULT_ICON_SIZE,
5384
5406
  scaleY: scaleY || size / DEFAULT_ICON_SIZE
5385
5407
  };
5386
- }, ...(ngDevMode ? [{ debugName: "iconGroupConfig" }] : []));
5408
+ }, /* @ts-ignore */
5409
+ ...(ngDevMode ? [{ debugName: "iconGroupConfig" }] : /* istanbul ignore next */ []));
5387
5410
  this.iconConfig = computed(() => {
5388
5411
  let { type, data, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill, hoverFill: hoverFill, transformsEnabled = DEFAULT_TEXT_TRANSFORMS_ENABLED } = this.config();
5389
5412
  fill = fill || Colors.gray600;
@@ -5412,7 +5435,8 @@ class AITableActionIcon {
5412
5435
  perfectDrawEnabled: false,
5413
5436
  listening: false
5414
5437
  };
5415
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5438
+ }, /* @ts-ignore */
5439
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
5416
5440
  }
5417
5441
  koClick(e) {
5418
5442
  this.onClick.emit(e);
@@ -5432,8 +5456,8 @@ class AITableActionIcon {
5432
5456
  const { coordinate } = this.config();
5433
5457
  setMouseStyle('default', coordinate.container);
5434
5458
  }
5435
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5436
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableActionIcon, isStandalone: true, selector: "ai-table-action-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onMousemove: "onMousemove", onMouseenter: "onMouseenter", onMouseleave: "onMouseleave" }, ngImport: i0, template: `
5459
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5460
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableActionIcon, isStandalone: true, selector: "ai-table-action-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onMousemove: "onMousemove", onMouseenter: "onMouseenter", onMouseleave: "onMouseleave" }, ngImport: i0, template: `
5437
5461
  <ko-group
5438
5462
  [config]="groupConfig()"
5439
5463
  (koClick)="koClick($event)"
@@ -5448,7 +5472,7 @@ class AITableActionIcon {
5448
5472
  </ko-group>
5449
5473
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5450
5474
  }
5451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableActionIcon, decorators: [{
5475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableActionIcon, decorators: [{
5452
5476
  type: Component,
5453
5477
  args: [{
5454
5478
  selector: 'ai-table-action-icon',
@@ -5720,7 +5744,8 @@ class AITableCellAttachment extends CoverCellBase {
5720
5744
  });
5721
5745
  }
5722
5746
  return [];
5723
- }, ...(ngDevMode ? [{ debugName: "attachments" }] : []));
5747
+ }, /* @ts-ignore */
5748
+ ...(ngDevMode ? [{ debugName: "attachments" }] : /* istanbul ignore next */ []));
5724
5749
  this.iconConfig = computed(() => {
5725
5750
  const { coordinate, render, field, recordId, readonly } = this.config();
5726
5751
  const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
@@ -5745,18 +5770,19 @@ class AITableCellAttachment extends CoverCellBase {
5745
5770
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
5746
5771
  listening: true
5747
5772
  };
5748
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5773
+ }, /* @ts-ignore */
5774
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
5749
5775
  }
5750
5776
  static { this.fieldType = AITableFieldType.attachment; }
5751
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5752
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", usesInheritance: true, ngImport: i0, template: `
5777
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5778
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", usesInheritance: true, ngImport: i0, template: `
5753
5779
  @for (attachment of attachments(); track attachment.attachmentInfo._id) {
5754
5780
  <ko-image [config]="attachment"></ko-image>
5755
5781
  }
5756
5782
  <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
5757
5783
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5758
5784
  }
5759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellAttachment, decorators: [{
5785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellAttachment, decorators: [{
5760
5786
  type: Component,
5761
5787
  args: [{
5762
5788
  selector: 'ai-table-attachments',
@@ -5800,7 +5826,8 @@ class AITableCellRichText extends CoverCellBase {
5800
5826
  };
5801
5827
  }
5802
5828
  return;
5803
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
5829
+ }, /* @ts-ignore */
5830
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
5804
5831
  this.iconConfig = computed(() => {
5805
5832
  const { coordinate, render, field, recordId, readonly } = this.config();
5806
5833
  const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
@@ -5825,18 +5852,19 @@ class AITableCellRichText extends CoverCellBase {
5825
5852
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
5826
5853
  listening: true
5827
5854
  };
5828
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5855
+ }, /* @ts-ignore */
5856
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
5829
5857
  }
5830
5858
  static { this.fieldType = AITableFieldType.richText; }
5831
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5832
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", usesInheritance: true, ngImport: i0, template: `
5859
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5860
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", usesInheritance: true, ngImport: i0, template: `
5833
5861
  @if (textConfig()) {
5834
5862
  <ai-table-text [config]="textConfig()!"></ai-table-text>
5835
5863
  }
5836
5864
  <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
5837
5865
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5838
5866
  }
5839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRichText, decorators: [{
5867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellRichText, decorators: [{
5840
5868
  type: Component,
5841
5869
  args: [{
5842
5870
  selector: 'ai-table-rich-text',
@@ -7318,12 +7346,14 @@ const isHoverRecord = (isHover, targetName) => {
7318
7346
 
7319
7347
  class AITableIcon {
7320
7348
  constructor() {
7321
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7349
+ this.config = input.required(/* @ts-ignore */
7350
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7322
7351
  this.koClick = output();
7323
7352
  this.groupConfig = computed(() => {
7324
7353
  const { x, y, listening } = this.config();
7325
7354
  return { x, y, listening };
7326
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
7355
+ }, /* @ts-ignore */
7356
+ ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
7327
7357
  this.squareShapeConfig = computed(() => {
7328
7358
  const { name, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, strokeWidth = 1, background, cornerRadius, opacity } = this.config();
7329
7359
  return {
@@ -7335,7 +7365,8 @@ class AITableIcon {
7335
7365
  cornerRadius,
7336
7366
  opacity
7337
7367
  };
7338
- }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : []));
7368
+ }, /* @ts-ignore */
7369
+ ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : /* istanbul ignore next */ []));
7339
7370
  this.iconConfig = computed(() => {
7340
7371
  const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = DEFAULT_TEXT_TRANSFORMS_ENABLED, disabled } = this.config();
7341
7372
  let pathData = data;
@@ -7368,17 +7399,18 @@ class AITableIcon {
7368
7399
  perfectDrawEnabled: false,
7369
7400
  listening: false
7370
7401
  };
7371
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7402
+ }, /* @ts-ignore */
7403
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7372
7404
  }
7373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick" }, ngImport: i0, template: `
7405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7406
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick" }, ngImport: i0, template: `
7375
7407
  <ko-group [config]="groupConfig()" (koClick)="koClick.emit($event)">
7376
7408
  <ko-rect [config]="squareShapeConfig()"></ko-rect>
7377
7409
  <ko-path [config]="iconConfig()"></ko-path>
7378
7410
  </ko-group>
7379
7411
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7380
7412
  }
7381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableIcon, decorators: [{
7413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableIcon, decorators: [{
7382
7414
  type: Component,
7383
7415
  args: [{
7384
7416
  selector: 'ai-table-icon',
@@ -7395,13 +7427,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7395
7427
 
7396
7428
  class AITableAddField {
7397
7429
  constructor() {
7398
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7430
+ this.config = input.required(/* @ts-ignore */
7431
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7399
7432
  this.btnWidth = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
7400
7433
  this.x = computed(() => {
7401
7434
  const lastColumnWidth = this.config().coordinate.getColumnWidth(this.config().columnStopIndex);
7402
7435
  const lastColumnOffset = this.config().coordinate.getColumnOffset(this.config().columnStopIndex);
7403
7436
  return lastColumnWidth + lastColumnOffset;
7404
- }, ...(ngDevMode ? [{ debugName: "x" }] : []));
7437
+ }, /* @ts-ignore */
7438
+ ...(ngDevMode ? [{ debugName: "x" }] : /* istanbul ignore next */ []));
7405
7439
  this.rectConfig = computed(() => {
7406
7440
  const { pointPosition: { targetName }, readonly, maxFields, aiTable } = this.config();
7407
7441
  const fill = targetName === AI_TABLE_FIELD_ADD_BUTTON ? Colors.gray80 : Colors.white;
@@ -7426,7 +7460,8 @@ class AITableAddField {
7426
7460
  listening: true,
7427
7461
  fill
7428
7462
  };
7429
- }, ...(ngDevMode ? [{ debugName: "rectConfig" }] : []));
7463
+ }, /* @ts-ignore */
7464
+ ...(ngDevMode ? [{ debugName: "rectConfig" }] : /* istanbul ignore next */ []));
7430
7465
  this.addIconConfig = computed(() => {
7431
7466
  const { readonly, maxFields, aiTable } = this.config();
7432
7467
  const offsetY = (AI_TABLE_FIELD_HEAD_HEIGHT - AI_TABLE_ICON_COMMON_SIZE) / 2;
@@ -7439,10 +7474,11 @@ class AITableAddField {
7439
7474
  visible: !readonly,
7440
7475
  disabled: maxFields ? aiTable.fields().length >= maxFields : false
7441
7476
  };
7442
- }, ...(ngDevMode ? [{ debugName: "addIconConfig" }] : []));
7477
+ }, /* @ts-ignore */
7478
+ ...(ngDevMode ? [{ debugName: "addIconConfig" }] : /* istanbul ignore next */ []));
7443
7479
  }
7444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7481
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7446
7482
  <ko-group [config]="{ x: x() }">
7447
7483
  <ko-group>
7448
7484
  <ko-rect [config]="rectConfig()"></ko-rect>
@@ -7455,7 +7491,7 @@ class AITableAddField {
7455
7491
  </ko-group>
7456
7492
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7457
7493
  }
7458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableAddField, decorators: [{
7494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableAddField, decorators: [{
7459
7495
  type: Component,
7460
7496
  args: [{
7461
7497
  selector: 'ai-table-add-field',
@@ -7478,7 +7514,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7478
7514
 
7479
7515
  class AITableCells {
7480
7516
  constructor() {
7481
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7517
+ this.config = input.required(/* @ts-ignore */
7518
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7482
7519
  this.cellsShapeConfig = computed(() => {
7483
7520
  const { coordinate, columnStartIndex } = this.config();
7484
7521
  const { frozenColumnCount } = coordinate;
@@ -7491,12 +7528,13 @@ class AITableCells {
7491
7528
  columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
7492
7529
  })
7493
7530
  };
7494
- }, ...(ngDevMode ? [{ debugName: "cellsShapeConfig" }] : []));
7531
+ }, /* @ts-ignore */
7532
+ ...(ngDevMode ? [{ debugName: "cellsShapeConfig" }] : /* istanbul ignore next */ []));
7495
7533
  }
7496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7497
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableCells, isStandalone: true, selector: "ai-table-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7535
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableCells, isStandalone: true, selector: "ai-table-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7498
7536
  }
7499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCells, decorators: [{
7537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCells, decorators: [{
7500
7538
  type: Component,
7501
7539
  args: [{
7502
7540
  selector: 'ai-table-cells',
@@ -7508,7 +7546,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7508
7546
 
7509
7547
  class AITableFieldIcon {
7510
7548
  constructor() {
7511
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7549
+ this.config = input.required(/* @ts-ignore */
7550
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7512
7551
  this.iconConfig = computed(() => {
7513
7552
  const { field, x, y, width, height, fill, path } = this.config();
7514
7553
  const data = getFieldIconPath(field) || path;
@@ -7521,12 +7560,13 @@ class AITableFieldIcon {
7521
7560
  data,
7522
7561
  fill
7523
7562
  };
7524
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7563
+ }, /* @ts-ignore */
7564
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7525
7565
  }
7526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7527
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableFieldIcon, isStandalone: true, selector: "ai-table-field-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7566
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7567
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableFieldIcon, isStandalone: true, selector: "ai-table-field-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7528
7568
  }
7529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIcon, decorators: [{
7569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldIcon, decorators: [{
7530
7570
  type: Component,
7531
7571
  args: [{
7532
7572
  selector: 'ai-table-field-icon',
@@ -7538,7 +7578,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7538
7578
 
7539
7579
  class AITableFieldHead {
7540
7580
  constructor() {
7541
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7581
+ this.config = input.required(/* @ts-ignore */
7582
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7542
7583
  this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
7543
7584
  this.textMeasure = TextMeasure();
7544
7585
  this.availableTextWidth = computed(() => {
@@ -7547,7 +7588,8 @@ class AITableFieldHead {
7547
7588
  (iconVisible
7548
7589
  ? 2 * (AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE)
7549
7590
  : 2 * AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE));
7550
- }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : []));
7591
+ }, /* @ts-ignore */
7592
+ ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : /* istanbul ignore next */ []));
7551
7593
  this.textData = computed(() => {
7552
7594
  const fieldName = this.config().field.name.replace(/\r|\n/g, ' ');
7553
7595
  this.textMeasure.setFont({ fontSize: DEFAULT_FONT_SIZE });
@@ -7557,13 +7599,15 @@ class AITableFieldHead {
7557
7599
  height,
7558
7600
  isOverflow
7559
7601
  };
7560
- }, ...(ngDevMode ? [{ debugName: "textData" }] : []));
7602
+ }, /* @ts-ignore */
7603
+ ...(ngDevMode ? [{ debugName: "textData" }] : /* istanbul ignore next */ []));
7561
7604
  this.groupConfig = computed(() => {
7562
7605
  return {
7563
7606
  x: this.config().x,
7564
7607
  y: this.config().y
7565
7608
  };
7566
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
7609
+ }, /* @ts-ignore */
7610
+ ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
7567
7611
  this.bgConfig = computed(() => {
7568
7612
  const { field, width, height, stroke, isSelected, iconVisible, isFirstHead, showExpandIcon } = this.config();
7569
7613
  const shouldExtendLeft = isFirstHead && showExpandIcon && !isSelected;
@@ -7583,7 +7627,8 @@ class AITableFieldHead {
7583
7627
  strokeWidth: 1,
7584
7628
  opacity: 1
7585
7629
  };
7586
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
7630
+ }, /* @ts-ignore */
7631
+ ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
7587
7632
  this.fieldIconConfig = computed(() => {
7588
7633
  const { field, height } = this.config();
7589
7634
  return {
@@ -7595,7 +7640,8 @@ class AITableFieldHead {
7595
7640
  fill: Colors.gray600,
7596
7641
  path: IconPathMap[field.icon]
7597
7642
  };
7598
- }, ...(ngDevMode ? [{ debugName: "fieldIconConfig" }] : []));
7643
+ }, /* @ts-ignore */
7644
+ ...(ngDevMode ? [{ debugName: "fieldIconConfig" }] : /* istanbul ignore next */ []));
7599
7645
  this.textConfig = computed(() => {
7600
7646
  const { field, height } = this.config();
7601
7647
  return {
@@ -7606,7 +7652,8 @@ class AITableFieldHead {
7606
7652
  text: field.name,
7607
7653
  lineHeight: AI_TABLE_TEXT_LINE_HEIGHT
7608
7654
  };
7609
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
7655
+ }, /* @ts-ignore */
7656
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
7610
7657
  this.moreIconConfig = computed(() => {
7611
7658
  const { field, width, height, isHoverIcon, isSelected } = this.config();
7612
7659
  const commonIconOffsetY = (height - AI_TABLE_ACTION_COMMON_SIZE) / 2;
@@ -7624,7 +7671,8 @@ class AITableFieldHead {
7624
7671
  backgroundHeight: AI_TABLE_ACTION_COMMON_SIZE,
7625
7672
  cornerRadius: 4
7626
7673
  };
7627
- }, ...(ngDevMode ? [{ debugName: "moreIconConfig" }] : []));
7674
+ }, /* @ts-ignore */
7675
+ ...(ngDevMode ? [{ debugName: "moreIconConfig" }] : /* istanbul ignore next */ []));
7628
7676
  this.fieldOpacityLineConfig = computed(() => {
7629
7677
  const { field, width, height } = this.config();
7630
7678
  return {
@@ -7638,10 +7686,11 @@ class AITableFieldHead {
7638
7686
  stroke: Colors.transparent,
7639
7687
  strokeWidth: 6
7640
7688
  };
7641
- }, ...(ngDevMode ? [{ debugName: "fieldOpacityLineConfig" }] : []));
7689
+ }, /* @ts-ignore */
7690
+ ...(ngDevMode ? [{ debugName: "fieldOpacityLineConfig" }] : /* istanbul ignore next */ []));
7642
7691
  }
7643
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldHead, isStandalone: true, selector: "ai-table-field-head", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7692
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7693
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFieldHead, isStandalone: true, selector: "ai-table-field-head", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7645
7694
  <ko-group [config]="groupConfig()">
7646
7695
  <ko-rect [config]="bgConfig()"></ko-rect>
7647
7696
  <ko-group>
@@ -7655,7 +7704,7 @@ class AITableFieldHead {
7655
7704
  </ko-group>
7656
7705
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldIcon, selector: "ai-table-field-icon", inputs: ["config"] }, { kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7657
7706
  }
7658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldHead, decorators: [{
7707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldHead, decorators: [{
7659
7708
  type: Component,
7660
7709
  args: [{
7661
7710
  selector: 'ai-table-field-head',
@@ -7679,7 +7728,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7679
7728
 
7680
7729
  class AITableFrozenCells {
7681
7730
  constructor() {
7682
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7731
+ this.config = input.required(/* @ts-ignore */
7732
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7683
7733
  this.frozenCellsConfig = computed(() => {
7684
7734
  const { coordinate } = this.config();
7685
7735
  const { frozenColumnCount } = coordinate;
@@ -7693,12 +7743,13 @@ class AITableFrozenCells {
7693
7743
  columnStopIndex: frozenColumnCount - 1
7694
7744
  })
7695
7745
  };
7696
- }, ...(ngDevMode ? [{ debugName: "frozenCellsConfig" }] : []));
7746
+ }, /* @ts-ignore */
7747
+ ...(ngDevMode ? [{ debugName: "frozenCellsConfig" }] : /* istanbul ignore next */ []));
7697
7748
  }
7698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7699
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableFrozenCells, isStandalone: true, selector: "ai-table-frozen-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7749
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7750
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableFrozenCells, isStandalone: true, selector: "ai-table-frozen-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7700
7751
  }
7701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenCells, decorators: [{
7752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenCells, decorators: [{
7702
7753
  type: Component,
7703
7754
  args: [{
7704
7755
  selector: 'ai-table-frozen-cells',
@@ -7762,31 +7813,37 @@ const createColumnHeads = (config) => {
7762
7813
 
7763
7814
  class AITableFrozenColumnHeads {
7764
7815
  constructor() {
7765
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7816
+ this.config = input.required(/* @ts-ignore */
7817
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7766
7818
  this.textMeasure = TextMeasure();
7767
- this.emptyRecordsSelectAllStatus = signal(AITableSelectAllState.none, ...(ngDevMode ? [{ debugName: "emptyRecordsSelectAllStatus" }] : []));
7819
+ this.emptyRecordsSelectAllStatus = signal(AITableSelectAllState.none, /* @ts-ignore */
7820
+ ...(ngDevMode ? [{ debugName: "emptyRecordsSelectAllStatus" }] : /* istanbul ignore next */ []));
7768
7821
  this.coordinate = computed(() => {
7769
7822
  const config = this.config();
7770
7823
  if (!config)
7771
7824
  return null;
7772
7825
  return config.coordinate;
7773
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
7826
+ }, /* @ts-ignore */
7827
+ ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
7774
7828
  this.hiddenIndexColumn = computed(() => {
7775
7829
  const context = this.context();
7776
7830
  if (!context)
7777
7831
  return false;
7778
7832
  return context?.aiFieldConfig()?.hiddenIndexColumn;
7779
- }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : []));
7833
+ }, /* @ts-ignore */
7834
+ ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : /* istanbul ignore next */ []));
7780
7835
  this.context = computed(() => {
7781
7836
  const config = this.config();
7782
7837
  if (!config)
7783
7838
  return null;
7784
7839
  return config?.aiTable.context;
7785
- }, ...(ngDevMode ? [{ debugName: "context" }] : []));
7840
+ }, /* @ts-ignore */
7841
+ ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
7786
7842
  this.readonly = computed(() => {
7787
7843
  const context = this.context();
7788
7844
  return !!context?.readonly?.();
7789
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
7845
+ }, /* @ts-ignore */
7846
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
7790
7847
  this.isChecked = computed(() => {
7791
7848
  const config = this.config();
7792
7849
  if (!config) {
@@ -7802,14 +7859,16 @@ class AITableFrozenColumnHeads {
7802
7859
  ? AITableSelectAllState.none
7803
7860
  : AITableSelectAllState.partial;
7804
7861
  return selectedAllState === AITableSelectAllState.all;
7805
- }, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
7862
+ }, /* @ts-ignore */
7863
+ ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
7806
7864
  this.fieldHeadHeight = computed(() => {
7807
7865
  const coord = this.coordinate();
7808
7866
  if (!coord)
7809
7867
  return 0;
7810
7868
  // return coord.rowInitSize;
7811
7869
  return AI_TABLE_FIELD_HEAD_HEIGHT;
7812
- }, ...(ngDevMode ? [{ debugName: "fieldHeadHeight" }] : []));
7870
+ }, /* @ts-ignore */
7871
+ ...(ngDevMode ? [{ debugName: "fieldHeadHeight" }] : /* istanbul ignore next */ []));
7813
7872
  this.headConfigs = computed(() => {
7814
7873
  const coord = this.coordinate();
7815
7874
  if (!coord)
@@ -7819,7 +7878,8 @@ class AITableFrozenColumnHeads {
7819
7878
  columnStartIndex: 0,
7820
7879
  columnStopIndex: coord.frozenColumnCount - 1
7821
7880
  });
7822
- }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
7881
+ }, /* @ts-ignore */
7882
+ ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
7823
7883
  this.dragHeadBgConfig = computed(() => {
7824
7884
  return {
7825
7885
  x: AI_TABLE_OFFSET,
@@ -7829,7 +7889,8 @@ class AITableFrozenColumnHeads {
7829
7889
  fill: Colors.white,
7830
7890
  listening: false
7831
7891
  };
7832
- }, ...(ngDevMode ? [{ debugName: "dragHeadBgConfig" }] : []));
7892
+ }, /* @ts-ignore */
7893
+ ...(ngDevMode ? [{ debugName: "dragHeadBgConfig" }] : /* istanbul ignore next */ []));
7833
7894
  this.numberHeadBgConfig = computed(() => {
7834
7895
  const ctx = this.context();
7835
7896
  if (!ctx)
@@ -7842,7 +7903,8 @@ class AITableFrozenColumnHeads {
7842
7903
  fill: Colors.white,
7843
7904
  listening: false
7844
7905
  };
7845
- }, ...(ngDevMode ? [{ debugName: "numberHeadBgConfig" }] : []));
7906
+ }, /* @ts-ignore */
7907
+ ...(ngDevMode ? [{ debugName: "numberHeadBgConfig" }] : /* istanbul ignore next */ []));
7846
7908
  this.topLineConfig = computed(() => {
7847
7909
  const ctx = this.context();
7848
7910
  if (!ctx)
@@ -7855,7 +7917,8 @@ class AITableFrozenColumnHeads {
7855
7917
  strokeWidth: 1,
7856
7918
  listening: false
7857
7919
  };
7858
- }, ...(ngDevMode ? [{ debugName: "topLineConfig" }] : []));
7920
+ }, /* @ts-ignore */
7921
+ ...(ngDevMode ? [{ debugName: "topLineConfig" }] : /* istanbul ignore next */ []));
7859
7922
  this.bottomLineConfig = computed(() => {
7860
7923
  const ctx = this.context();
7861
7924
  if (!ctx)
@@ -7868,7 +7931,8 @@ class AITableFrozenColumnHeads {
7868
7931
  strokeWidth: 1,
7869
7932
  listening: false
7870
7933
  };
7871
- }, ...(ngDevMode ? [{ debugName: "bottomLineConfig" }] : []));
7934
+ }, /* @ts-ignore */
7935
+ ...(ngDevMode ? [{ debugName: "bottomLineConfig" }] : /* istanbul ignore next */ []));
7872
7936
  this.iconConfig = computed(() => {
7873
7937
  return {
7874
7938
  name: AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX,
@@ -7879,7 +7943,8 @@ class AITableFrozenColumnHeads {
7879
7943
  ? Colors.primary
7880
7944
  : Colors.gray300
7881
7945
  };
7882
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7946
+ }, /* @ts-ignore */
7947
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7883
7948
  this.textConfig = computed(() => {
7884
7949
  const text = AI_TABLE_INDEX_FIELD_TEXT;
7885
7950
  const lineHeight = AI_TABLE_TEXT_LINE_HEIGHT;
@@ -7892,7 +7957,8 @@ class AITableFrozenColumnHeads {
7892
7957
  text,
7893
7958
  lineHeight
7894
7959
  };
7895
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
7960
+ }, /* @ts-ignore */
7961
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
7896
7962
  this.headBgConfig = computed(() => {
7897
7963
  const coord = this.coordinate();
7898
7964
  const ctx = this.context();
@@ -7909,7 +7975,8 @@ class AITableFrozenColumnHeads {
7909
7975
  listening: false,
7910
7976
  zIndex: 10
7911
7977
  };
7912
- }, ...(ngDevMode ? [{ debugName: "headBgConfig" }] : []));
7978
+ }, /* @ts-ignore */
7979
+ ...(ngDevMode ? [{ debugName: "headBgConfig" }] : /* istanbul ignore next */ []));
7913
7980
  this.cellLinesConfig = computed(() => {
7914
7981
  const coord = this.coordinate();
7915
7982
  const ctx = this.context();
@@ -7971,15 +8038,16 @@ class AITableFrozenColumnHeads {
7971
8038
  });
7972
8039
  }
7973
8040
  return lines;
7974
- }, ...(ngDevMode ? [{ debugName: "cellLinesConfig" }] : []));
8041
+ }, /* @ts-ignore */
8042
+ ...(ngDevMode ? [{ debugName: "cellLinesConfig" }] : /* istanbul ignore next */ []));
7975
8043
  }
7976
8044
  selectAllClick(e) {
7977
8045
  if (this.config()?.aiTable?.records().length === 0) {
7978
8046
  this.emptyRecordsSelectAllStatus.set(this.emptyRecordsSelectAllStatus() === AITableSelectAllState.all ? AITableSelectAllState.none : AITableSelectAllState.all);
7979
8047
  }
7980
8048
  }
7981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7982
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8049
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8050
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7983
8051
  @if (!hiddenIndexColumn()) {
7984
8052
  <ko-group>
7985
8053
  @if (!readonly()) {
@@ -7998,7 +8066,7 @@ class AITableFrozenColumnHeads {
7998
8066
  }
7999
8067
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8000
8068
  }
8001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
8069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
8002
8070
  type: Component,
8003
8071
  args: [{
8004
8072
  selector: 'ai-table-frozen-column-heads',
@@ -8027,7 +8095,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8027
8095
 
8028
8096
  class AITableFrozenPlaceholderCells {
8029
8097
  constructor() {
8030
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8098
+ this.config = input.required(/* @ts-ignore */
8099
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8031
8100
  this.frozenPlaceHolderCellsConfig = computed(() => {
8032
8101
  const { coordinate } = this.config();
8033
8102
  return getPlaceHolderCellsConfigs({
@@ -8035,16 +8104,17 @@ class AITableFrozenPlaceholderCells {
8035
8104
  columnStartIndex: 0,
8036
8105
  columnStopIndex: coordinate.frozenColumnCount - 1
8037
8106
  });
8038
- }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : []));
8107
+ }, /* @ts-ignore */
8108
+ ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : /* istanbul ignore next */ []));
8039
8109
  }
8040
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8041
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8042
8112
  @for (item of frozenPlaceHolderCellsConfig(); track $index) {
8043
8113
  <ko-rect [config]="item"></ko-rect>
8044
8114
  }
8045
8115
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8046
8116
  }
8047
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
8117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
8048
8118
  type: Component,
8049
8119
  args: [{
8050
8120
  selector: 'ai-table-frozen-placeholder-cells',
@@ -8060,7 +8130,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8060
8130
 
8061
8131
  class AITableColumnHeads {
8062
8132
  constructor() {
8063
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8133
+ this.config = input.required(/* @ts-ignore */
8134
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8064
8135
  this.headConfigs = computed(() => {
8065
8136
  const { coordinate, columnStartIndex } = this.config();
8066
8137
  const { frozenColumnCount } = coordinate;
@@ -8068,16 +8139,17 @@ class AITableColumnHeads {
8068
8139
  ...this.config(),
8069
8140
  columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
8070
8141
  });
8071
- }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8142
+ }, /* @ts-ignore */
8143
+ ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
8072
8144
  }
8073
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8074
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8075
8147
  @for (config of headConfigs(); track $index) {
8076
8148
  <ai-table-field-head [config]="config"></ai-table-field-head>
8077
8149
  }
8078
8150
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8079
8151
  }
8080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableColumnHeads, decorators: [{
8152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableColumnHeads, decorators: [{
8081
8153
  type: Component,
8082
8154
  args: [{
8083
8155
  selector: 'ai-table-column-heads',
@@ -8093,19 +8165,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8093
8165
 
8094
8166
  class AITableHoverRowHeads {
8095
8167
  constructor() {
8096
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8168
+ this.config = input.required(/* @ts-ignore */
8169
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8097
8170
  this.pointPosition = computed(() => {
8098
8171
  return this.config().aiTable.context.pointPosition();
8099
- }, ...(ngDevMode ? [{ debugName: "pointPosition" }] : []));
8172
+ }, /* @ts-ignore */
8173
+ ...(ngDevMode ? [{ debugName: "pointPosition" }] : /* istanbul ignore next */ []));
8100
8174
  this.headConfigs = computed(() => {
8101
8175
  return this.createHoverRowHeads(this.pointPosition());
8102
- }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8176
+ }, /* @ts-ignore */
8177
+ ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
8103
8178
  this.readonly = computed(() => {
8104
8179
  return this.config().readonly;
8105
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
8180
+ }, /* @ts-ignore */
8181
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
8106
8182
  this.hiddenRowDrag = computed(() => {
8107
8183
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenRowDrag;
8108
- }, ...(ngDevMode ? [{ debugName: "hiddenRowDrag" }] : []));
8184
+ }, /* @ts-ignore */
8185
+ ...(ngDevMode ? [{ debugName: "hiddenRowDrag" }] : /* istanbul ignore next */ []));
8109
8186
  this.createHoverRowHeads = (pointPosition) => {
8110
8187
  const { coordinate, rowStartIndex, rowStopIndex, aiTable } = this.config();
8111
8188
  const context = aiTable.context;
@@ -8175,8 +8252,8 @@ class AITableHoverRowHeads {
8175
8252
  return headConfigs;
8176
8253
  };
8177
8254
  }
8178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8180
8257
  @for (config of headConfigs(); track config.recordId) {
8181
8258
  <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
8182
8259
  @if (config.bgConfig) {
@@ -8192,7 +8269,7 @@ class AITableHoverRowHeads {
8192
8269
  }
8193
8270
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8194
8271
  }
8195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
8272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
8196
8273
  type: Component,
8197
8274
  args: [{
8198
8275
  selector: 'ai-table-hover-row-heads',
@@ -8218,11 +8295,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8218
8295
 
8219
8296
  class AITableOtherRows {
8220
8297
  constructor() {
8221
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8298
+ this.config = input.required(/* @ts-ignore */
8299
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8222
8300
  this.AITableRowType = AITableRowType;
8223
8301
  this.otherConfigs = computed(() => {
8224
8302
  return this.createOtherRows(this.config());
8225
- }, ...(ngDevMode ? [{ debugName: "otherConfigs" }] : []));
8303
+ }, /* @ts-ignore */
8304
+ ...(ngDevMode ? [{ debugName: "otherConfigs" }] : /* istanbul ignore next */ []));
8226
8305
  this.createOtherRows = (config) => {
8227
8306
  const { coordinate, rowStartIndex, rowStopIndex, aiTable, maxRecords } = config;
8228
8307
  const otherRowConfigs = [];
@@ -8255,8 +8334,8 @@ class AITableOtherRows {
8255
8334
  return otherRowConfigs;
8256
8335
  };
8257
8336
  }
8258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8260
8339
  @for (config of otherConfigs(); track $index) {
8261
8340
  @switch (config.type) {
8262
8341
  @case (AITableRowType.add) {
@@ -8266,7 +8345,7 @@ class AITableOtherRows {
8266
8345
  }
8267
8346
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8268
8347
  }
8269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableOtherRows, decorators: [{
8348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableOtherRows, decorators: [{
8270
8349
  type: Component,
8271
8350
  args: [{
8272
8351
  selector: 'ai-table-other-rows',
@@ -8286,19 +8365,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8286
8365
 
8287
8366
  class AITablePlaceholderCells {
8288
8367
  constructor() {
8289
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8368
+ this.config = input.required(/* @ts-ignore */
8369
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8290
8370
  this.frozenPlaceHolderCellsConfig = computed(() => {
8291
8371
  return getPlaceHolderCellsConfigs(this.config());
8292
- }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : []));
8372
+ }, /* @ts-ignore */
8373
+ ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : /* istanbul ignore next */ []));
8293
8374
  }
8294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8376
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8296
8377
  @for (item of frozenPlaceHolderCellsConfig(); track $index) {
8297
8378
  <ko-rect [config]="item"></ko-rect>
8298
8379
  }
8299
8380
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8300
8381
  }
8301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
8382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
8302
8383
  type: Component,
8303
8384
  args: [{
8304
8385
  selector: 'ai-table-placeholder-cells',
@@ -8314,7 +8395,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8314
8395
 
8315
8396
  class AITableExpandRecord {
8316
8397
  constructor() {
8317
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8398
+ this.config = input.required(/* @ts-ignore */
8399
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8318
8400
  this.backgroundConfig = computed(() => {
8319
8401
  const { coordinate, aiTable } = this.config();
8320
8402
  const context = aiTable.context;
@@ -8340,7 +8422,8 @@ class AITableExpandRecord {
8340
8422
  hoverFill: Colors.transparent,
8341
8423
  listening: true
8342
8424
  };
8343
- }, ...(ngDevMode ? [{ debugName: "backgroundConfig" }] : []));
8425
+ }, /* @ts-ignore */
8426
+ ...(ngDevMode ? [{ debugName: "backgroundConfig" }] : /* istanbul ignore next */ []));
8344
8427
  this.shouldShowIcon = computed(() => {
8345
8428
  const { aiTable, rowStartIndex, rowStopIndex } = this.config();
8346
8429
  const context = aiTable.context;
@@ -8351,7 +8434,8 @@ class AITableExpandRecord {
8351
8434
  const { rowIndex: pointRowIndex } = context.pointPosition();
8352
8435
  const row = context.linearRows()[pointRowIndex];
8353
8436
  return pointRowIndex >= rowStartIndex && pointRowIndex <= rowStopIndex && row && row.type === AITableRowType.record;
8354
- }, ...(ngDevMode ? [{ debugName: "shouldShowIcon" }] : []));
8437
+ }, /* @ts-ignore */
8438
+ ...(ngDevMode ? [{ debugName: "shouldShowIcon" }] : /* istanbul ignore next */ []));
8355
8439
  this.expandIconConfig = computed(() => {
8356
8440
  const { coordinate, aiTable } = this.config();
8357
8441
  const context = aiTable.context;
@@ -8377,10 +8461,11 @@ class AITableExpandRecord {
8377
8461
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
8378
8462
  listening: true
8379
8463
  };
8380
- }, ...(ngDevMode ? [{ debugName: "expandIconConfig" }] : []));
8464
+ }, /* @ts-ignore */
8465
+ ...(ngDevMode ? [{ debugName: "expandIconConfig" }] : /* istanbul ignore next */ []));
8381
8466
  }
8382
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8383
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableExpandRecord, isStandalone: true, selector: "ai-table-expand-record", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8467
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8468
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableExpandRecord, isStandalone: true, selector: "ai-table-expand-record", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8384
8469
  <ko-group>
8385
8470
  @if (shouldShowIcon()) {
8386
8471
  <ai-table-action-icon [config]="expandIconConfig()"></ai-table-action-icon>
@@ -8388,7 +8473,7 @@ class AITableExpandRecord {
8388
8473
  </ko-group>
8389
8474
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8390
8475
  }
8391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableExpandRecord, decorators: [{
8476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableExpandRecord, decorators: [{
8392
8477
  type: Component,
8393
8478
  args: [{
8394
8479
  selector: 'ai-table-expand-record',
@@ -8406,8 +8491,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8406
8491
 
8407
8492
  class AITableBackground {
8408
8493
  constructor() {
8409
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8410
- this.isActive = input(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
8494
+ this.config = input.required(/* @ts-ignore */
8495
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8496
+ this.isActive = input(false, /* @ts-ignore */
8497
+ ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
8411
8498
  this.koClick = output();
8412
8499
  this.hover = output();
8413
8500
  this.koMouseenter = output();
@@ -8415,14 +8502,17 @@ class AITableBackground {
8415
8502
  this.groupConfig = computed(() => {
8416
8503
  const { x, y } = this.config();
8417
8504
  return { x, y, listening: false };
8418
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
8419
- this.isHover = model(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
8505
+ }, /* @ts-ignore */
8506
+ ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
8507
+ this.isHover = model(false, /* @ts-ignore */
8508
+ ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
8420
8509
  this.isShowSpecialBorderConfig = computed(() => {
8421
8510
  const { borders } = this.config();
8422
8511
  const stroke = this.stroke();
8423
8512
  const strokeWidth = this.strokeWidth();
8424
8513
  return borders && stroke && strokeWidth && ___default.some(borders, (item) => !item) && ___default.some(borders, (item) => !!item);
8425
- }, ...(ngDevMode ? [{ debugName: "isShowSpecialBorderConfig" }] : []));
8514
+ }, /* @ts-ignore */
8515
+ ...(ngDevMode ? [{ debugName: "isShowSpecialBorderConfig" }] : /* istanbul ignore next */ []));
8426
8516
  this.borderLinesConfig = computed(() => {
8427
8517
  const { borders, height, width } = this.config();
8428
8518
  const stroke = this.stroke();
@@ -8470,21 +8560,25 @@ class AITableBackground {
8470
8560
  });
8471
8561
  }
8472
8562
  return result;
8473
- }, ...(ngDevMode ? [{ debugName: "borderLinesConfig" }] : []));
8563
+ }, /* @ts-ignore */
8564
+ ...(ngDevMode ? [{ debugName: "borderLinesConfig" }] : /* istanbul ignore next */ []));
8474
8565
  this.stroke = computed(() => {
8475
8566
  const { stroke, hoverStroke } = this.config();
8476
8567
  const active = this.isHover() || this.isActive();
8477
8568
  return active ? hoverStroke || stroke : stroke;
8478
- }, ...(ngDevMode ? [{ debugName: "stroke" }] : []));
8569
+ }, /* @ts-ignore */
8570
+ ...(ngDevMode ? [{ debugName: "stroke" }] : /* istanbul ignore next */ []));
8479
8571
  this.strokeWidth = computed(() => {
8480
8572
  const { strokeWidth, hoverStrokeWidth } = this.config();
8481
8573
  const active = this.isHover() || this.isActive();
8482
8574
  return active ? hoverStrokeWidth || strokeWidth : strokeWidth;
8483
- }, ...(ngDevMode ? [{ debugName: "strokeWidth" }] : []));
8575
+ }, /* @ts-ignore */
8576
+ ...(ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []));
8484
8577
  this.containerConfig = computed(() => {
8485
8578
  const { x, y } = this.config();
8486
8579
  return { x, y };
8487
- }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : []));
8580
+ }, /* @ts-ignore */
8581
+ ...(ngDevMode ? [{ debugName: "containerConfig" }] : /* istanbul ignore next */ []));
8488
8582
  this.bgConfig = computed(() => {
8489
8583
  const { name, width, height, fill = Colors.transparent, opacity, hoverFill, hoverOpacity, listening, borders } = this.config();
8490
8584
  const [top, right, bottom, left] = borders || [false, false, false, false];
@@ -8505,7 +8599,8 @@ class AITableBackground {
8505
8599
  result.strokeWidth = this.strokeWidth();
8506
8600
  }
8507
8601
  return result;
8508
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
8602
+ }, /* @ts-ignore */
8603
+ ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
8509
8604
  }
8510
8605
  onClick(e) {
8511
8606
  this.koClick.emit(e);
@@ -8527,8 +8622,8 @@ class AITableBackground {
8527
8622
  this.koMouseleave.emit(e);
8528
8623
  this.hover.emit(this.isHover());
8529
8624
  }
8530
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8531
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableBackground, isStandalone: true, selector: "ai-table-background", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHover: { classPropertyName: "isHover", publicName: "isHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koClick: "koClick", hover: "hover", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", isHover: "isHoverChange" }, ngImport: i0, template: `
8625
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8626
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableBackground, isStandalone: true, selector: "ai-table-background", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHover: { classPropertyName: "isHover", publicName: "isHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koClick: "koClick", hover: "hover", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", isHover: "isHoverChange" }, ngImport: i0, template: `
8532
8627
  <ko-group [config]="containerConfig()">
8533
8628
  <ko-group>
8534
8629
  <ko-rect
@@ -8547,7 +8642,7 @@ class AITableBackground {
8547
8642
  </ko-group>
8548
8643
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8549
8644
  }
8550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableBackground, decorators: [{
8645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableBackground, decorators: [{
8551
8646
  type: Component,
8552
8647
  args: [{
8553
8648
  selector: 'ai-table-background',
@@ -8576,7 +8671,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8576
8671
 
8577
8672
  class AITableShadow {
8578
8673
  constructor() {
8579
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8674
+ this.config = input.required(/* @ts-ignore */
8675
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8580
8676
  this.shadowConfig = computed(() => {
8581
8677
  const { visible, x, y, width = AI_TABLE_SHADOW_DEFAULT_WIDTH, height } = this.config();
8582
8678
  return {
@@ -8589,12 +8685,13 @@ class AITableShadow {
8589
8685
  fillLinearGradientEndPoint: { x: width, y: 0 },
8590
8686
  fillLinearGradientColorStops: [0, 'rgba(0,0,0,0.05)', 1, Colors.transparent]
8591
8687
  };
8592
- }, ...(ngDevMode ? [{ debugName: "shadowConfig" }] : []));
8688
+ }, /* @ts-ignore */
8689
+ ...(ngDevMode ? [{ debugName: "shadowConfig" }] : /* istanbul ignore next */ []));
8593
8690
  }
8594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8595
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableShadow, isStandalone: true, selector: "ai-table-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-rect [config]="shadowConfig()"></ko-rect>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8691
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8692
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableShadow, isStandalone: true, selector: "ai-table-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-rect [config]="shadowConfig()"></ko-rect>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8596
8693
  }
8597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableShadow, decorators: [{
8694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableShadow, decorators: [{
8598
8695
  type: Component,
8599
8696
  args: [{
8600
8697
  selector: 'ai-table-shadow',
@@ -8606,16 +8703,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8606
8703
 
8607
8704
  class AITableScrollableGroup {
8608
8705
  constructor() {
8609
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8610
- this.contentTemplate = input.required(...(ngDevMode ? [{ debugName: "contentTemplate" }] : []));
8611
- this.parentContainer = input(...(ngDevMode ? [undefined, { debugName: "parentContainer" }] : []));
8706
+ this.config = input.required(/* @ts-ignore */
8707
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8708
+ this.contentTemplate = input.required(/* @ts-ignore */
8709
+ ...(ngDevMode ? [{ debugName: "contentTemplate" }] : /* istanbul ignore next */ []));
8710
+ this.parentContainer = input(/* @ts-ignore */
8711
+ ...(ngDevMode ? [undefined, { debugName: "parentContainer" }] : /* istanbul ignore next */ []));
8612
8712
  this.scrollPosition = output();
8613
- this.displayScrollbarTime = signal(null, ...(ngDevMode ? [{ debugName: "displayScrollbarTime" }] : []));
8614
- this.hiddenScrollbar = signal(true, ...(ngDevMode ? [{ debugName: "hiddenScrollbar" }] : []));
8615
- this.isHoverScrollbar = signal(false, ...(ngDevMode ? [{ debugName: "isHoverScrollbar" }] : []));
8713
+ this.displayScrollbarTime = signal(null, /* @ts-ignore */
8714
+ ...(ngDevMode ? [{ debugName: "displayScrollbarTime" }] : /* istanbul ignore next */ []));
8715
+ this.hiddenScrollbar = signal(true, /* @ts-ignore */
8716
+ ...(ngDevMode ? [{ debugName: "hiddenScrollbar" }] : /* istanbul ignore next */ []));
8717
+ this.isHoverScrollbar = signal(false, /* @ts-ignore */
8718
+ ...(ngDevMode ? [{ debugName: "isHoverScrollbar" }] : /* istanbul ignore next */ []));
8616
8719
  // 滚动位置信号
8617
- this.scrollX = signal(0, ...(ngDevMode ? [{ debugName: "scrollX" }] : []));
8618
- this.scrollY = signal(0, ...(ngDevMode ? [{ debugName: "scrollY" }] : []));
8720
+ this.scrollX = signal(0, /* @ts-ignore */
8721
+ ...(ngDevMode ? [{ debugName: "scrollX" }] : /* istanbul ignore next */ []));
8722
+ this.scrollY = signal(0, /* @ts-ignore */
8723
+ ...(ngDevMode ? [{ debugName: "scrollY" }] : /* istanbul ignore next */ []));
8619
8724
  // 容器配置
8620
8725
  this.containerConfig = computed(() => {
8621
8726
  const { x = 0, y = 0, width, height } = this.config();
@@ -8632,7 +8737,8 @@ class AITableScrollableGroup {
8632
8737
  clipHeight: height,
8633
8738
  name: 'scrollable-group'
8634
8739
  };
8635
- }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : []));
8740
+ }, /* @ts-ignore */
8741
+ ...(ngDevMode ? [{ debugName: "containerConfig" }] : /* istanbul ignore next */ []));
8636
8742
  this.bgConfig = computed(() => {
8637
8743
  const { x = 0, y = 0, width, height, bgName } = this.config();
8638
8744
  const config = {
@@ -8647,7 +8753,8 @@ class AITableScrollableGroup {
8647
8753
  config.name = bgName;
8648
8754
  }
8649
8755
  return config;
8650
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
8756
+ }, /* @ts-ignore */
8757
+ ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
8651
8758
  // 内容区域配置
8652
8759
  this.contentConfig = computed(() => {
8653
8760
  if (this.config().contentNotScrollbar) {
@@ -8660,17 +8767,20 @@ class AITableScrollableGroup {
8660
8767
  offsetX: this.scrollX(),
8661
8768
  offsetY: this.scrollY()
8662
8769
  };
8663
- }, ...(ngDevMode ? [{ debugName: "contentConfig" }] : []));
8770
+ }, /* @ts-ignore */
8771
+ ...(ngDevMode ? [{ debugName: "contentConfig" }] : /* istanbul ignore next */ []));
8664
8772
  // 是否显示竖向滚动条
8665
8773
  this.showVerticalScrollbar = computed(() => {
8666
8774
  const { height, contentHeight, verticalScrollbar } = this.config();
8667
8775
  return verticalScrollbar && contentHeight > height;
8668
- }, ...(ngDevMode ? [{ debugName: "showVerticalScrollbar" }] : []));
8776
+ }, /* @ts-ignore */
8777
+ ...(ngDevMode ? [{ debugName: "showVerticalScrollbar" }] : /* istanbul ignore next */ []));
8669
8778
  // 是否显示横向滚动条
8670
8779
  this.showHorizontalScrollbar = computed(() => {
8671
8780
  const { width, contentWidth, horizontalScrollbar } = this.config();
8672
8781
  return horizontalScrollbar && contentWidth > width;
8673
- }, ...(ngDevMode ? [{ debugName: "showHorizontalScrollbar" }] : []));
8782
+ }, /* @ts-ignore */
8783
+ ...(ngDevMode ? [{ debugName: "showHorizontalScrollbar" }] : /* istanbul ignore next */ []));
8674
8784
  // 竖向滚动条配置
8675
8785
  this.verticalScrollbarConfig = computed(() => {
8676
8786
  const { width, scrollbarSize = 12 } = this.config();
@@ -8680,7 +8790,8 @@ class AITableScrollableGroup {
8680
8790
  width: scrollbarSize,
8681
8791
  height: this.verticalScrollbarHeight()
8682
8792
  };
8683
- }, ...(ngDevMode ? [{ debugName: "verticalScrollbarConfig" }] : []));
8793
+ }, /* @ts-ignore */
8794
+ ...(ngDevMode ? [{ debugName: "verticalScrollbarConfig" }] : /* istanbul ignore next */ []));
8684
8795
  // 横向滚动条配置
8685
8796
  this.horizontalScrollbarConfig = computed(() => {
8686
8797
  const { height, scrollbarSize = 12 } = this.config();
@@ -8690,7 +8801,8 @@ class AITableScrollableGroup {
8690
8801
  width: this.horizontalScrollbarHeight(),
8691
8802
  height: scrollbarSize
8692
8803
  };
8693
- }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarConfig" }] : []));
8804
+ }, /* @ts-ignore */
8805
+ ...(ngDevMode ? [{ debugName: "horizontalScrollbarConfig" }] : /* istanbul ignore next */ []));
8694
8806
  // 竖向滚动条轨道配置
8695
8807
  this.verticalTrackConfig = computed(() => {
8696
8808
  const { scrollbarSize = 12, scrollbarTrackColor, height } = this.config();
@@ -8702,7 +8814,8 @@ class AITableScrollableGroup {
8702
8814
  fill: scrollbarTrackColor,
8703
8815
  cornerRadius: 2
8704
8816
  };
8705
- }, ...(ngDevMode ? [{ debugName: "verticalTrackConfig" }] : []));
8817
+ }, /* @ts-ignore */
8818
+ ...(ngDevMode ? [{ debugName: "verticalTrackConfig" }] : /* istanbul ignore next */ []));
8706
8819
  // 横向滚动条轨道配置
8707
8820
  this.horizontalTrackConfig = computed(() => {
8708
8821
  const { scrollbarSize = 12, scrollbarTrackColor } = this.config();
@@ -8714,40 +8827,47 @@ class AITableScrollableGroup {
8714
8827
  fill: scrollbarTrackColor,
8715
8828
  cornerRadius: 2
8716
8829
  };
8717
- }, ...(ngDevMode ? [{ debugName: "horizontalTrackConfig" }] : []));
8830
+ }, /* @ts-ignore */
8831
+ ...(ngDevMode ? [{ debugName: "horizontalTrackConfig" }] : /* istanbul ignore next */ []));
8718
8832
  this.verticalThumbMinY = computed(() => {
8719
8833
  const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
8720
8834
  return getAbsolutePositionY;
8721
- }, ...(ngDevMode ? [{ debugName: "verticalThumbMinY" }] : []));
8835
+ }, /* @ts-ignore */
8836
+ ...(ngDevMode ? [{ debugName: "verticalThumbMinY" }] : /* istanbul ignore next */ []));
8722
8837
  // 垂直滚动条滑块的最大Y坐标
8723
8838
  this.verticalThumbMaxY = computed(() => {
8724
8839
  const { height, contentHeight } = this.config();
8725
8840
  const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
8726
8841
  return getAbsolutePositionY + height - this.verticalThumbHeight();
8727
- }, ...(ngDevMode ? [{ debugName: "verticalThumbMaxY" }] : []));
8842
+ }, /* @ts-ignore */
8843
+ ...(ngDevMode ? [{ debugName: "verticalThumbMaxY" }] : /* istanbul ignore next */ []));
8728
8844
  // 横向滚动条滑块的最小X坐标
8729
8845
  this.horizontalThumbMinX = computed(() => {
8730
8846
  const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
8731
8847
  return getAbsolutePositionX;
8732
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbMinX" }] : []));
8848
+ }, /* @ts-ignore */
8849
+ ...(ngDevMode ? [{ debugName: "horizontalThumbMinX" }] : /* istanbul ignore next */ []));
8733
8850
  // 横向滚动条滑块的最大X坐标
8734
8851
  this.horizontalThumbMaxX = computed(() => {
8735
8852
  const { width } = this.config();
8736
8853
  const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
8737
8854
  return getAbsolutePositionX + width - this.horizontalThumbWidth();
8738
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbMaxX" }] : []));
8855
+ }, /* @ts-ignore */
8856
+ ...(ngDevMode ? [{ debugName: "horizontalThumbMaxX" }] : /* istanbul ignore next */ []));
8739
8857
  // 竖向滚动条滑块高度
8740
8858
  this.verticalThumbHeight = computed(() => {
8741
8859
  const { height, contentHeight } = this.config();
8742
8860
  const thumbHeight = Math.max(20, (height / contentHeight) * this.verticalScrollbarHeight());
8743
8861
  return thumbHeight;
8744
- }, ...(ngDevMode ? [{ debugName: "verticalThumbHeight" }] : []));
8862
+ }, /* @ts-ignore */
8863
+ ...(ngDevMode ? [{ debugName: "verticalThumbHeight" }] : /* istanbul ignore next */ []));
8745
8864
  // 横向滚动条滑块宽度
8746
8865
  this.horizontalThumbWidth = computed(() => {
8747
8866
  const { width, contentWidth } = this.config();
8748
8867
  const thumbWidth = Math.max(20, (width / contentWidth) * this.horizontalScrollbarHeight());
8749
8868
  return thumbWidth;
8750
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbWidth" }] : []));
8869
+ }, /* @ts-ignore */
8870
+ ...(ngDevMode ? [{ debugName: "horizontalThumbWidth" }] : /* istanbul ignore next */ []));
8751
8871
  // 竖向滚动条滑块配置
8752
8872
  this.verticalConfig = computed(() => {
8753
8873
  const { scrollbarSize = 12, scrollbarColor = Colors.black, scrollbarOpacity = 0.8 } = this.config();
@@ -8779,7 +8899,8 @@ class AITableScrollableGroup {
8779
8899
  };
8780
8900
  }
8781
8901
  };
8782
- }, ...(ngDevMode ? [{ debugName: "verticalConfig" }] : []));
8902
+ }, /* @ts-ignore */
8903
+ ...(ngDevMode ? [{ debugName: "verticalConfig" }] : /* istanbul ignore next */ []));
8783
8904
  // 横向滚动条滑块配置
8784
8905
  this.horizontalThumbConfig = computed(() => {
8785
8906
  const { scrollbarSize = 12, scrollbarColor = Colors.black, scrollbarOpacity = 0.8 } = this.config();
@@ -8811,17 +8932,20 @@ class AITableScrollableGroup {
8811
8932
  };
8812
8933
  }
8813
8934
  };
8814
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbConfig" }] : []));
8935
+ }, /* @ts-ignore */
8936
+ ...(ngDevMode ? [{ debugName: "horizontalThumbConfig" }] : /* istanbul ignore next */ []));
8815
8937
  // 横向滚动条滑块配置
8816
8938
  this.verticalScrollbarHeight = computed(() => {
8817
8939
  const { height } = this.config();
8818
8940
  return height;
8819
- }, ...(ngDevMode ? [{ debugName: "verticalScrollbarHeight" }] : []));
8941
+ }, /* @ts-ignore */
8942
+ ...(ngDevMode ? [{ debugName: "verticalScrollbarHeight" }] : /* istanbul ignore next */ []));
8820
8943
  // 获取横向滚动条宽度
8821
8944
  this.horizontalScrollbarHeight = computed(() => {
8822
8945
  const { width } = this.config();
8823
8946
  return width;
8824
- }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarHeight" }] : []));
8947
+ }, /* @ts-ignore */
8948
+ ...(ngDevMode ? [{ debugName: "horizontalScrollbarHeight" }] : /* istanbul ignore next */ []));
8825
8949
  // 滚动条延迟隐藏
8826
8950
  effect(() => {
8827
8951
  const displayScrollbarTime = this.displayScrollbarTime();
@@ -8943,8 +9067,8 @@ class AITableScrollableGroup {
8943
9067
  const { width, contentWidth } = this.config();
8944
9068
  this.scrollX.set(Math.max(0, contentWidth - width));
8945
9069
  }
8946
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8947
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableScrollableGroup, isStandalone: true, selector: "ai-table-scrollable-group", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null }, parentContainer: { classPropertyName: "parentContainer", publicName: "parentContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollPosition: "scrollPosition" }, viewQueries: [{ propertyName: "verticalTrack", first: true, predicate: ["verticalTrack"], descendants: true }, { propertyName: "verticalThumb", first: true, predicate: ["verticalThumb"], descendants: true }, { propertyName: "horizontalTrack", first: true, predicate: ["horizontalTrack"], descendants: true }, { propertyName: "contentGroup", first: true, predicate: ["contentGroup"], descendants: true }, { propertyName: "rootGroup", first: true, predicate: ["rootGroup"], descendants: true }], ngImport: i0, template: `
9070
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9071
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableScrollableGroup, isStandalone: true, selector: "ai-table-scrollable-group", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null }, parentContainer: { classPropertyName: "parentContainer", publicName: "parentContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollPosition: "scrollPosition" }, viewQueries: [{ propertyName: "verticalTrack", first: true, predicate: ["verticalTrack"], descendants: true }, { propertyName: "verticalThumb", first: true, predicate: ["verticalThumb"], descendants: true }, { propertyName: "horizontalTrack", first: true, predicate: ["horizontalTrack"], descendants: true }, { propertyName: "contentGroup", first: true, predicate: ["contentGroup"], descendants: true }, { propertyName: "rootGroup", first: true, predicate: ["rootGroup"], descendants: true }], ngImport: i0, template: `
8948
9072
  <ko-group #rootGroup [config]="containerConfig()" (koWheel)="stageWheel($event)">
8949
9073
  <ko-group>
8950
9074
  <ko-rect [config]="bgConfig()"></ko-rect>
@@ -8992,7 +9116,7 @@ class AITableScrollableGroup {
8992
9116
  </ko-group>
8993
9117
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8994
9118
  }
8995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollableGroup, decorators: [{
9119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableScrollableGroup, decorators: [{
8996
9120
  type: Component,
8997
9121
  args: [{
8998
9122
  selector: 'ai-table-scrollable-group',
@@ -9180,11 +9304,15 @@ const createGroupFieldStats = (config) => {
9180
9304
  class AITableStatTypeMenu extends ThyDropdownAbstractMenu {
9181
9305
  constructor() {
9182
9306
  super(...arguments);
9183
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
9184
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
9185
- this.statMenus = input.required(...(ngDevMode ? [{ debugName: "statMenus" }] : []));
9307
+ this.field = input.required(/* @ts-ignore */
9308
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
9309
+ this.aiTable = input.required(/* @ts-ignore */
9310
+ ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
9311
+ this.statMenus = input.required(/* @ts-ignore */
9312
+ ...(ngDevMode ? [{ debugName: "statMenus" }] : /* istanbul ignore next */ []));
9186
9313
  this.menuClick = output();
9187
- this.selectStatType = computed(() => this.field().stat_type || AITableStatType.None, ...(ngDevMode ? [{ debugName: "selectStatType" }] : []));
9314
+ this.selectStatType = computed(() => this.field().stat_type || AITableStatType.None, /* @ts-ignore */
9315
+ ...(ngDevMode ? [{ debugName: "selectStatType" }] : /* istanbul ignore next */ []));
9188
9316
  }
9189
9317
  execute(menu) {
9190
9318
  this.menuClick.emit({
@@ -9192,10 +9320,10 @@ class AITableStatTypeMenu extends ThyDropdownAbstractMenu {
9192
9320
  field: this.field()
9193
9321
  });
9194
9322
  }
9195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9196
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableStatTypeMenu, isStandalone: true, selector: "ai-table-stat-type-menu", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, statMenus: { classPropertyName: "statMenus", publicName: "statMenus", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { menuClick: "menuClick" }, host: { classAttribute: "stat-type-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of statMenus(); track index; let index = $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: selectStatType() === menu.type\n }\"\n (click)=\"execute(menu)\"\n >\n <span>{{ menu.name }}</span>\n </a>\n }\n}\n", dependencies: [{ kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9324
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableStatTypeMenu, isStandalone: true, selector: "ai-table-stat-type-menu", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, statMenus: { classPropertyName: "statMenus", publicName: "statMenus", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { menuClick: "menuClick" }, host: { classAttribute: "stat-type-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of statMenus(); track index; let index = $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: selectStatType() === menu.type\n }\"\n (click)=\"execute(menu)\"\n >\n <span>{{ menu.name }}</span>\n </a>\n }\n}\n", dependencies: [{ kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9197
9325
  }
9198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableStatTypeMenu, decorators: [{
9326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableStatTypeMenu, decorators: [{
9199
9327
  type: Component,
9200
9328
  args: [{ selector: 'ai-table-stat-type-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
9201
9329
  class: 'stat-type-menu'
@@ -9205,28 +9333,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9205
9333
  class AITableFieldStat {
9206
9334
  constructor() {
9207
9335
  this.thyPopover = inject(ThyPopover);
9208
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9336
+ this.config = input.required(/* @ts-ignore */
9337
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9209
9338
  this.hover = output();
9210
- this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
9211
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
9339
+ this.isActive = signal(false, /* @ts-ignore */
9340
+ ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
9341
+ this.isHover = signal(false, /* @ts-ignore */
9342
+ ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
9212
9343
  this.isShowSelectedCount = false;
9213
9344
  this.availableTextWidth = computed(() => {
9214
9345
  const { width } = this.config();
9215
9346
  return width - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_CELL_PADDING;
9216
- }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : []));
9347
+ }, /* @ts-ignore */
9348
+ ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : /* istanbul ignore next */ []));
9217
9349
  this.groupConfig = computed(() => {
9218
9350
  return {
9219
9351
  x: this.config().x,
9220
9352
  y: this.config().y
9221
9353
  };
9222
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
9354
+ }, /* @ts-ignore */
9355
+ ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
9223
9356
  this.isGroupStat = computed(() => {
9224
9357
  return this.config().isGroupStat;
9225
- }, ...(ngDevMode ? [{ debugName: "isGroupStat" }] : []));
9358
+ }, /* @ts-ignore */
9359
+ ...(ngDevMode ? [{ debugName: "isGroupStat" }] : /* istanbul ignore next */ []));
9226
9360
  this.groupStatContainerWidthMap = computed(() => {
9227
9361
  const { aiTable } = this.config();
9228
9362
  return aiTable.context?.groupStatContainerWidthMap();
9229
- }, ...(ngDevMode ? [{ debugName: "groupStatContainerWidthMap" }] : []));
9363
+ }, /* @ts-ignore */
9364
+ ...(ngDevMode ? [{ debugName: "groupStatContainerWidthMap" }] : /* istanbul ignore next */ []));
9230
9365
  this.bgConfig = computed(() => {
9231
9366
  const { field, width, height, coordinate, readonly, aiTable, isGroupStat, columnIndex, groupRow } = this.config();
9232
9367
  const rowHeadWidth = aiTable.context.rowHeadWidth();
@@ -9289,21 +9424,27 @@ class AITableFieldStat {
9289
9424
  }
9290
9425
  }
9291
9426
  return config;
9292
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
9427
+ }, /* @ts-ignore */
9428
+ ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
9293
9429
  this.field = computed(() => {
9294
9430
  const { field } = this.config();
9295
9431
  return field;
9296
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
9432
+ }, /* @ts-ignore */
9433
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
9297
9434
  this.linearRows = computed(() => {
9298
9435
  const { aiTable } = this.config();
9299
9436
  return aiTable.context?.linearRows();
9300
- }, ...(ngDevMode ? [{ debugName: "linearRows" }] : []));
9437
+ }, /* @ts-ignore */
9438
+ ...(ngDevMode ? [{ debugName: "linearRows" }] : /* istanbul ignore next */ []));
9301
9439
  this.recordsMap = computed(() => {
9302
9440
  const { aiTable } = this.config();
9303
9441
  return aiTable.recordsMap();
9304
- }, ...(ngDevMode ? [{ debugName: "recordsMap" }] : []));
9305
- this.groupRow = computed(() => this.config().groupRow, ...(ngDevMode ? [{ debugName: "groupRow" }] : []));
9306
- this.gridData = computed(() => this.config().aiTable.gridData(), ...(ngDevMode ? [{ debugName: "gridData" }] : []));
9442
+ }, /* @ts-ignore */
9443
+ ...(ngDevMode ? [{ debugName: "recordsMap" }] : /* istanbul ignore next */ []));
9444
+ this.groupRow = computed(() => this.config().groupRow, /* @ts-ignore */
9445
+ ...(ngDevMode ? [{ debugName: "groupRow" }] : /* istanbul ignore next */ []));
9446
+ this.gridData = computed(() => this.config().aiTable.gridData(), /* @ts-ignore */
9447
+ ...(ngDevMode ? [{ debugName: "gridData" }] : /* istanbul ignore next */ []));
9307
9448
  this.records = computed(() => {
9308
9449
  let records = [];
9309
9450
  const groupRow = this.groupRow();
@@ -9316,15 +9457,18 @@ class AITableFieldStat {
9316
9457
  records = this.gridData().records;
9317
9458
  }
9318
9459
  return records;
9319
- }, ...(ngDevMode ? [{ debugName: "records" }] : []));
9460
+ }, /* @ts-ignore */
9461
+ ...(ngDevMode ? [{ debugName: "records" }] : /* istanbul ignore next */ []));
9320
9462
  this.aiFieldConfig = computed(() => {
9321
9463
  const { aiTable } = this.config();
9322
9464
  return aiTable.context?.aiFieldConfig;
9323
- }, ...(ngDevMode ? [{ debugName: "aiFieldConfig" }] : []));
9465
+ }, /* @ts-ignore */
9466
+ ...(ngDevMode ? [{ debugName: "aiFieldConfig" }] : /* istanbul ignore next */ []));
9324
9467
  this.aiTable = computed(() => {
9325
9468
  const { aiTable } = this.config();
9326
9469
  return aiTable;
9327
- }, ...(ngDevMode ? [{ debugName: "aiTable" }] : []));
9470
+ }, /* @ts-ignore */
9471
+ ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
9328
9472
  this.options = computed(() => {
9329
9473
  const aiTable = this.aiTable();
9330
9474
  return {
@@ -9335,18 +9479,22 @@ class AITableFieldStat {
9335
9479
  return AITableQueries.getFieldValue(aiTable, [record._id, field._id]);
9336
9480
  }
9337
9481
  };
9338
- }, ...(ngDevMode ? [{ debugName: "options" }] : []));
9482
+ }, /* @ts-ignore */
9483
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
9339
9484
  this.isActiveOrHover = computed(() => {
9340
9485
  return this.isActive() || this.isHover();
9341
- }, ...(ngDevMode ? [{ debugName: "isActiveOrHover" }] : []));
9486
+ }, /* @ts-ignore */
9487
+ ...(ngDevMode ? [{ debugName: "isActiveOrHover" }] : /* istanbul ignore next */ []));
9342
9488
  this.containerBoxHeight = computed(() => {
9343
9489
  const { height } = this.config();
9344
9490
  return height;
9345
- }, ...(ngDevMode ? [{ debugName: "containerBoxHeight" }] : []));
9491
+ }, /* @ts-ignore */
9492
+ ...(ngDevMode ? [{ debugName: "containerBoxHeight" }] : /* istanbul ignore next */ []));
9346
9493
  this.containerBoxWidth = computed(() => {
9347
9494
  const { width } = this.config();
9348
9495
  return width;
9349
- }, ...(ngDevMode ? [{ debugName: "containerBoxWidth" }] : []));
9496
+ }, /* @ts-ignore */
9497
+ ...(ngDevMode ? [{ debugName: "containerBoxWidth" }] : /* istanbul ignore next */ []));
9350
9498
  this.noneStatWidth = computed(() => {
9351
9499
  const noneStatString = getI18nTextByKey(this.aiTable(), AITableGridI18nKey.stat);
9352
9500
  const { text, textWidth } = drawer.textEllipsis({
@@ -9355,7 +9503,8 @@ class AITableFieldStat {
9355
9503
  fontWeight: DEFAULT_FONT_WEIGHT
9356
9504
  });
9357
9505
  return textWidth + AI_TABLE_ACTION_COMMON_SIZE + AI_TABLE_OFFSET;
9358
- }, ...(ngDevMode ? [{ debugName: "noneStatWidth" }] : []));
9506
+ }, /* @ts-ignore */
9507
+ ...(ngDevMode ? [{ debugName: "noneStatWidth" }] : /* istanbul ignore next */ []));
9359
9508
  this.renderTexts = computed(() => {
9360
9509
  const width = this.containerBoxWidth();
9361
9510
  const field = this.field();
@@ -9405,10 +9554,12 @@ class AITableFieldStat {
9405
9554
  totalWidth: textWidth,
9406
9555
  statValue: statValue || ''
9407
9556
  };
9408
- }, ...(ngDevMode ? [{ debugName: "renderTexts" }] : []));
9557
+ }, /* @ts-ignore */
9558
+ ...(ngDevMode ? [{ debugName: "renderTexts" }] : /* istanbul ignore next */ []));
9409
9559
  this.fontSize = computed(() => {
9410
9560
  return this.isGroupStat() ? GROUP_STAT_DEFAULT_FONT_SIZE : DEFAULT_FONT_SIZE;
9411
- }, ...(ngDevMode ? [{ debugName: "fontSize" }] : []));
9561
+ }, /* @ts-ignore */
9562
+ ...(ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []));
9412
9563
  this.textsConfig = computed(() => {
9413
9564
  const height = this.containerBoxHeight();
9414
9565
  const width = this.containerBoxWidth();
@@ -9470,17 +9621,20 @@ class AITableFieldStat {
9470
9621
  return result;
9471
9622
  }
9472
9623
  return null;
9473
- }, ...(ngDevMode ? [{ debugName: "textsConfig" }] : []));
9624
+ }, /* @ts-ignore */
9625
+ ...(ngDevMode ? [{ debugName: "textsConfig" }] : /* istanbul ignore next */ []));
9474
9626
  this.selectedRecordCount = computed(() => {
9475
9627
  const aiTable = this.aiTable();
9476
9628
  const selectedRecords = aiTable.selection().selectedRecords;
9477
9629
  return selectedRecords.size;
9478
- }, ...(ngDevMode ? [{ debugName: "selectedRecordCount" }] : []));
9630
+ }, /* @ts-ignore */
9631
+ ...(ngDevMode ? [{ debugName: "selectedRecordCount" }] : /* istanbul ignore next */ []));
9479
9632
  this.selectedCellCount = computed(() => {
9480
9633
  const aiTable = this.aiTable();
9481
9634
  const selectedCells = aiTable.selection().selectedCells;
9482
9635
  return selectedCells.size;
9483
- }, ...(ngDevMode ? [{ debugName: "selectedCellCount" }] : []));
9636
+ }, /* @ts-ignore */
9637
+ ...(ngDevMode ? [{ debugName: "selectedCellCount" }] : /* istanbul ignore next */ []));
9484
9638
  this.selectedInfo = computed(() => {
9485
9639
  const selectedRecordCount = this.selectedRecordCount();
9486
9640
  const selectedCellCount = this.selectedCellCount();
@@ -9493,15 +9647,18 @@ class AITableFieldStat {
9493
9647
  selectedCount
9494
9648
  };
9495
9649
  return result;
9496
- }, ...(ngDevMode ? [{ debugName: "selectedInfo" }] : []));
9650
+ }, /* @ts-ignore */
9651
+ ...(ngDevMode ? [{ debugName: "selectedInfo" }] : /* istanbul ignore next */ []));
9497
9652
  this.isFirstColumn = computed(() => {
9498
9653
  const { columnIndex } = this.config();
9499
9654
  return columnIndex === 0;
9500
- }, ...(ngDevMode ? [{ debugName: "isFirstColumn" }] : []));
9655
+ }, /* @ts-ignore */
9656
+ ...(ngDevMode ? [{ debugName: "isFirstColumn" }] : /* istanbul ignore next */ []));
9501
9657
  this.isLastFrozenColumn = computed(() => {
9502
9658
  const { columnIndex, coordinate } = this.config();
9503
9659
  return columnIndex === coordinate.frozenColumnCount - 1;
9504
- }, ...(ngDevMode ? [{ debugName: "isLastFrozenColumn" }] : []));
9660
+ }, /* @ts-ignore */
9661
+ ...(ngDevMode ? [{ debugName: "isLastFrozenColumn" }] : /* istanbul ignore next */ []));
9505
9662
  this.iconConfig = computed(() => {
9506
9663
  const { field, width, height } = this.config();
9507
9664
  const commonIconOffsetY = (height - AI_TABLE_ACTION_COMMON_SIZE) / 2;
@@ -9516,7 +9673,8 @@ class AITableFieldStat {
9516
9673
  cornerRadius: 4,
9517
9674
  listening: false
9518
9675
  };
9519
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
9676
+ }, /* @ts-ignore */
9677
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
9520
9678
  effect(() => {
9521
9679
  const isGroupStat = this.isGroupStat();
9522
9680
  const bgConfigWidth = this.bgConfig().width;
@@ -9597,8 +9755,8 @@ class AITableFieldStat {
9597
9755
  });
9598
9756
  }
9599
9757
  }
9600
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9601
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldStat, isStandalone: true, selector: "ai-table-field-stat", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
9758
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9759
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFieldStat, isStandalone: true, selector: "ai-table-field-stat", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
9602
9760
  <ko-group [config]="groupConfig()">
9603
9761
  <ai-table-background
9604
9762
  [config]="bgConfig()"
@@ -9620,7 +9778,7 @@ class AITableFieldStat {
9620
9778
  </ko-group>
9621
9779
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9622
9780
  }
9623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStat, decorators: [{
9781
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldStat, decorators: [{
9624
9782
  type: Component,
9625
9783
  args: [{
9626
9784
  selector: 'ai-table-field-stat',
@@ -9652,24 +9810,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9652
9810
 
9653
9811
  class AITableGroups {
9654
9812
  constructor() {
9655
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9813
+ this.config = input.required(/* @ts-ignore */
9814
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9656
9815
  this.trackBy = (groupStat) => {
9657
9816
  return groupStat.groupRow._id + groupStat.columnIndex;
9658
9817
  };
9659
9818
  this.frozenColumnCount = computed(() => {
9660
9819
  const { coordinate } = this.config();
9661
9820
  return coordinate.frozenColumnCount ?? 0;
9662
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
9821
+ }, /* @ts-ignore */
9822
+ ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
9663
9823
  this.columnStartIndex = computed(() => {
9664
9824
  const { columnStartIndex } = this.config();
9665
9825
  return Math.max(columnStartIndex, this.frozenColumnCount());
9666
- }, ...(ngDevMode ? [{ debugName: "columnStartIndex" }] : []));
9826
+ }, /* @ts-ignore */
9827
+ ...(ngDevMode ? [{ debugName: "columnStartIndex" }] : /* istanbul ignore next */ []));
9667
9828
  this.groups = computed(() => {
9668
9829
  return createGroupCells({
9669
9830
  ...this.config(),
9670
9831
  columnStartIndex: this.columnStartIndex()
9671
9832
  });
9672
- }, ...(ngDevMode ? [{ debugName: "groups" }] : []));
9833
+ }, /* @ts-ignore */
9834
+ ...(ngDevMode ? [{ debugName: "groups" }] : /* istanbul ignore next */ []));
9673
9835
  this.groupCells = computed(() => {
9674
9836
  const groups = this.groups();
9675
9837
  const groupCells = [];
@@ -9687,16 +9849,17 @@ class AITableGroups {
9687
9849
  });
9688
9850
  });
9689
9851
  return groupCells;
9690
- }, ...(ngDevMode ? [{ debugName: "groupCells" }] : []));
9852
+ }, /* @ts-ignore */
9853
+ ...(ngDevMode ? [{ debugName: "groupCells" }] : /* istanbul ignore next */ []));
9691
9854
  }
9692
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableGroups, isStandalone: true, selector: "ai-table-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9855
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9856
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableGroups, isStandalone: true, selector: "ai-table-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9694
9857
  @for (groupCell of groupCells(); track trackBy(groupCell.groupStat!)) {
9695
9858
  <ai-table-field-stat [config]="groupCell.groupStat!"></ai-table-field-stat>
9696
9859
  }
9697
9860
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9698
9861
  }
9699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGroups, decorators: [{
9862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGroups, decorators: [{
9700
9863
  type: Component,
9701
9864
  args: [{
9702
9865
  selector: 'ai-table-groups',
@@ -9712,25 +9875,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9712
9875
 
9713
9876
  class AITableFrozenGroups {
9714
9877
  constructor() {
9715
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9878
+ this.config = input.required(/* @ts-ignore */
9879
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9716
9880
  this.frozenColumnCount = computed(() => {
9717
9881
  const { coordinate } = this.config();
9718
9882
  return coordinate.frozenColumnCount ?? 0;
9719
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
9883
+ }, /* @ts-ignore */
9884
+ ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
9720
9885
  this.columnStopIndex = computed(() => {
9721
9886
  return this.frozenColumnCount() - 1;
9722
- }, ...(ngDevMode ? [{ debugName: "columnStopIndex" }] : []));
9887
+ }, /* @ts-ignore */
9888
+ ...(ngDevMode ? [{ debugName: "columnStopIndex" }] : /* istanbul ignore next */ []));
9723
9889
  this.groups = computed(() => {
9724
9890
  return createGroupCells({
9725
9891
  ...this.config(),
9726
9892
  columnStartIndex: 0,
9727
9893
  columnStopIndex: this.columnStopIndex()
9728
9894
  });
9729
- }, ...(ngDevMode ? [{ debugName: "groups" }] : []));
9895
+ }, /* @ts-ignore */
9896
+ ...(ngDevMode ? [{ debugName: "groups" }] : /* istanbul ignore next */ []));
9730
9897
  this.groupCollapseDisabled = computed(() => {
9731
9898
  const { aiTable } = this.config();
9732
9899
  return aiTable.context.groupCollapseDisabled();
9733
- }, ...(ngDevMode ? [{ debugName: "groupCollapseDisabled" }] : []));
9900
+ }, /* @ts-ignore */
9901
+ ...(ngDevMode ? [{ debugName: "groupCollapseDisabled" }] : /* istanbul ignore next */ []));
9734
9902
  this.groupCells = computed(() => {
9735
9903
  const groups = this.groups();
9736
9904
  const groupCells = [];
@@ -9769,15 +9937,16 @@ class AITableFrozenGroups {
9769
9937
  });
9770
9938
  });
9771
9939
  return groupCells;
9772
- }, ...(ngDevMode ? [{ debugName: "groupCells" }] : []));
9940
+ }, /* @ts-ignore */
9941
+ ...(ngDevMode ? [{ debugName: "groupCells" }] : /* istanbul ignore next */ []));
9773
9942
  }
9774
9943
  collapseClick(e) {
9775
9944
  if (this.groupCollapseDisabled()) {
9776
9945
  e.event.cancelBubble = true;
9777
9946
  }
9778
9947
  }
9779
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9780
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFrozenGroups, isStandalone: true, selector: "ai-table-frozen-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9948
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9949
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFrozenGroups, isStandalone: true, selector: "ai-table-frozen-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9781
9950
  @for (groupCell of groupCells(); track $index) {
9782
9951
  @if (groupCell.collapsedIcon) {
9783
9952
  <ai-table-icon [config]="groupCell.collapsedIcon" (koClick)="collapseClick($event)"></ai-table-icon>
@@ -9786,7 +9955,7 @@ class AITableFrozenGroups {
9786
9955
  }
9787
9956
  `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9788
9957
  }
9789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenGroups, decorators: [{
9958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFrozenGroups, decorators: [{
9790
9959
  type: Component,
9791
9960
  args: [{
9792
9961
  selector: 'ai-table-frozen-groups',
@@ -9805,14 +9974,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9805
9974
 
9806
9975
  class AITableFillHandle {
9807
9976
  constructor() {
9808
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9977
+ this.config = input.required(/* @ts-ignore */
9978
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9809
9979
  this.showFillHandle = computed(() => {
9810
9980
  const { aiTable, readonly } = this.config();
9811
9981
  const selection = aiTable.selection();
9812
9982
  const hasSelectedCells = selection.selectedCells.size > 0;
9813
9983
  const isEditingCell = !!aiTable.editingCell()?.path;
9814
9984
  return hasSelectedCells && !readonly && !isEditingCell;
9815
- }, ...(ngDevMode ? [{ debugName: "showFillHandle" }] : []));
9985
+ }, /* @ts-ignore */
9986
+ ...(ngDevMode ? [{ debugName: "showFillHandle" }] : /* istanbul ignore next */ []));
9816
9987
  this.handleConfig = computed(() => {
9817
9988
  const { aiTable, coordinate } = this.config();
9818
9989
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -9846,16 +10017,17 @@ class AITableFillHandle {
9846
10017
  recordId
9847
10018
  })
9848
10019
  };
9849
- }, ...(ngDevMode ? [{ debugName: "handleConfig" }] : []));
10020
+ }, /* @ts-ignore */
10021
+ ...(ngDevMode ? [{ debugName: "handleConfig" }] : /* istanbul ignore next */ []));
9850
10022
  }
9851
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9852
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFillHandle, isStandalone: true, selector: "ai-table-fill-handle", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10023
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10024
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFillHandle, isStandalone: true, selector: "ai-table-fill-handle", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9853
10025
  @if (showFillHandle()) {
9854
10026
  <ko-rect [config]="handleConfig()"></ko-rect>
9855
10027
  }
9856
- `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }] }); }
10028
+ `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9857
10029
  }
9858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFillHandle, decorators: [{
10030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFillHandle, decorators: [{
9859
10031
  type: Component,
9860
10032
  args: [{
9861
10033
  selector: 'ai-table-fill-handle',
@@ -9864,14 +10036,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9864
10036
  <ko-rect [config]="handleConfig()"></ko-rect>
9865
10037
  }
9866
10038
  `,
10039
+ changeDetection: ChangeDetectionStrategy.OnPush,
9867
10040
  imports: [KoShape]
9868
10041
  }]
9869
10042
  }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
9870
10043
 
9871
10044
  class AITableCoverCellEntry {
9872
10045
  constructor() {
9873
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9874
- this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : []));
10046
+ this.config = input.required(/* @ts-ignore */
10047
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
10048
+ this.onlyDisplayBorder = input(false, /* @ts-ignore */
10049
+ ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : /* istanbul ignore next */ []));
9875
10050
  this.componentMap = {};
9876
10051
  this.groupConfig = computed(() => {
9877
10052
  return {
@@ -9879,7 +10054,8 @@ class AITableCoverCellEntry {
9879
10054
  y: this.coverCellConfig()?.y,
9880
10055
  listening: true
9881
10056
  };
9882
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
10057
+ }, /* @ts-ignore */
10058
+ ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
9883
10059
  this.coverCellConfig = computed(() => {
9884
10060
  const { aiTable, coordinate, references, readonly, actions } = this.config();
9885
10061
  const coverCell = this.coverCell();
@@ -9943,11 +10119,13 @@ class AITableCoverCellEntry {
9943
10119
  }
9944
10120
  };
9945
10121
  return result;
9946
- }, ...(ngDevMode ? [{ debugName: "coverCellConfig" }] : []));
9947
- this.coverCell = computed(() => getCoverCell(this.config().aiTable), ...(ngDevMode ? [{ debugName: "coverCell" }] : []));
10122
+ }, /* @ts-ignore */
10123
+ ...(ngDevMode ? [{ debugName: "coverCellConfig" }] : /* istanbul ignore next */ []));
10124
+ this.coverCell = computed(() => getCoverCell(this.config().aiTable), /* @ts-ignore */
10125
+ ...(ngDevMode ? [{ debugName: "coverCell" }] : /* istanbul ignore next */ []));
9948
10126
  }
9949
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCoverCellEntry, isStandalone: true, selector: "ai-table-cover-cell-entry", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
10127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCoverCellEntry, isStandalone: true, selector: "ai-table-cover-cell-entry", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
9951
10129
  @if (coverCell()) {
9952
10130
  <ko-group #rootGroup [config]="groupConfig()">
9953
10131
  <ng-container
@@ -9959,9 +10137,9 @@ class AITableCoverCellEntry {
9959
10137
  </ng-container>
9960
10138
  </ko-group>
9961
10139
  }
9962
- `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10140
+ `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9963
10141
  }
9964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
10142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
9965
10143
  type: Component,
9966
10144
  args: [{
9967
10145
  selector: 'ai-table-cover-cell-entry',
@@ -9985,13 +10163,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9985
10163
 
9986
10164
  class AITableFieldStats {
9987
10165
  constructor() {
9988
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
10166
+ this.config = input.required(/* @ts-ignore */
10167
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9989
10168
  this.hover = output();
9990
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
10169
+ this.isHover = signal(false, /* @ts-ignore */
10170
+ ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
9991
10171
  this.trackBy = (groupStat) => {
9992
10172
  return groupStat.columnIndex;
9993
10173
  };
9994
- this.statConfigs = computed(() => createFieldStats(this.config()), ...(ngDevMode ? [{ debugName: "statConfigs" }] : []));
10174
+ this.statConfigs = computed(() => createFieldStats(this.config()), /* @ts-ignore */
10175
+ ...(ngDevMode ? [{ debugName: "statConfigs" }] : /* istanbul ignore next */ []));
9995
10176
  }
9996
10177
  onMouseenter(e) {
9997
10178
  this.isHover.set(true);
@@ -9999,8 +10180,8 @@ class AITableFieldStats {
9999
10180
  onMouseleave(e) {
10000
10181
  this.isHover.set(false);
10001
10182
  }
10002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldStats, isStandalone: true, selector: "ai-table-column-stats", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
10183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10184
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFieldStats, isStandalone: true, selector: "ai-table-column-stats", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
10004
10185
  <ko-group>
10005
10186
  @for (config of statConfigs(); track trackBy(config)) {
10006
10187
  <ai-table-field-stat [config]="config" (hover)="hover.emit($event)"></ai-table-field-stat>
@@ -10008,7 +10189,7 @@ class AITableFieldStats {
10008
10189
  </ko-group>
10009
10190
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10010
10191
  }
10011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStats, decorators: [{
10192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldStats, decorators: [{
10012
10193
  type: Component,
10013
10194
  args: [{
10014
10195
  selector: 'ai-table-column-stats',
@@ -10027,7 +10208,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
10027
10208
  Konva.pixelRatio = 2;
10028
10209
  class AITableRenderer {
10029
10210
  constructor() {
10030
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
10211
+ this.config = input.required(/* @ts-ignore */
10212
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
10031
10213
  this.koMousemove = output();
10032
10214
  this.koMousedown = output();
10033
10215
  this.koMouseup = output();
@@ -10040,49 +10222,64 @@ class AITableRenderer {
10040
10222
  this.koTouchmove = output();
10041
10223
  this.koTouchend = output();
10042
10224
  this.onScrollPosition = output();
10043
- this.isHoverStatContainer = signal(false, ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : []));
10225
+ this.isHoverStatContainer = signal(false, /* @ts-ignore */
10226
+ ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : /* istanbul ignore next */ []));
10044
10227
  this.fields = computed(() => {
10045
10228
  return AITable.getVisibleFields(this.config().aiTable);
10046
- }, ...(ngDevMode ? [{ debugName: "fields" }] : []));
10229
+ }, /* @ts-ignore */
10230
+ ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
10047
10231
  this.readonly = computed(() => {
10048
10232
  return this.config()?.readonly;
10049
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10233
+ }, /* @ts-ignore */
10234
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10050
10235
  this.hiddenIndexColumn = computed(() => {
10051
10236
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenIndexColumn;
10052
- }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : []));
10237
+ }, /* @ts-ignore */
10238
+ ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : /* istanbul ignore next */ []));
10053
10239
  this.showExpandIcon = computed(() => {
10054
10240
  return !!this.config()?.aiTable.context?.recordDetailConfig?.()?.showExpandIcon;
10055
- }, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : []));
10241
+ }, /* @ts-ignore */
10242
+ ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
10056
10243
  this.coordinate = computed(() => {
10057
10244
  return this.config()?.coordinate;
10058
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
10245
+ }, /* @ts-ignore */
10246
+ ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
10059
10247
  this.containerWidth = computed(() => {
10060
10248
  return this.config().containerWidth;
10061
- }, ...(ngDevMode ? [{ debugName: "containerWidth" }] : []));
10249
+ }, /* @ts-ignore */
10250
+ ...(ngDevMode ? [{ debugName: "containerWidth" }] : /* istanbul ignore next */ []));
10062
10251
  this.containerHeight = computed(() => {
10063
10252
  return this.config().containerHeight;
10064
- }, ...(ngDevMode ? [{ debugName: "containerHeight" }] : []));
10253
+ }, /* @ts-ignore */
10254
+ ...(ngDevMode ? [{ debugName: "containerHeight" }] : /* istanbul ignore next */ []));
10065
10255
  this.gridContainerHeight = computed(() => {
10066
10256
  return this.containerHeight() - AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT;
10067
- }, ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : []));
10257
+ }, /* @ts-ignore */
10258
+ ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : /* istanbul ignore next */ []));
10068
10259
  this.scrollState = computed(() => {
10069
10260
  return this.config()?.aiTable.context.scrollState();
10070
- }, ...(ngDevMode ? [{ debugName: "scrollState" }] : []));
10261
+ }, /* @ts-ignore */
10262
+ ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
10071
10263
  this.visibleRangeInfo = computed(() => {
10072
10264
  return getVisibleRangeInfo(this.coordinate(), this.scrollState());
10073
- }, ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : []));
10265
+ }, /* @ts-ignore */
10266
+ ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : /* istanbul ignore next */ []));
10074
10267
  this.frozenAreaWidth = computed(() => {
10075
10268
  return this.config().aiTable.context.rowHeadWidth() + this.coordinate().frozenColumnWidth;
10076
- }, ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : []));
10269
+ }, /* @ts-ignore */
10270
+ ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : /* istanbul ignore next */ []));
10077
10271
  this.lastColumnWidth = computed(() => {
10078
10272
  return this.coordinate().getColumnWidth(this.visibleRangeInfo().columnStopIndex);
10079
- }, ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : []));
10273
+ }, /* @ts-ignore */
10274
+ ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : /* istanbul ignore next */ []));
10080
10275
  this.lastColumnOffset = computed(() => {
10081
10276
  return this.coordinate().getColumnOffset(this.visibleRangeInfo().columnStopIndex);
10082
- }, ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : []));
10277
+ }, /* @ts-ignore */
10278
+ ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : /* istanbul ignore next */ []));
10083
10279
  this.cellGroupClipWidth = computed(() => {
10084
10280
  return this.containerWidth() - this.frozenAreaWidth();
10085
- }, ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : []));
10281
+ }, /* @ts-ignore */
10282
+ ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : /* istanbul ignore next */ []));
10086
10283
  this.stageConfig = computed(() => {
10087
10284
  const { isScrolling } = this.scrollState();
10088
10285
  return {
@@ -10090,7 +10287,8 @@ class AITableRenderer {
10090
10287
  height: this.containerHeight(),
10091
10288
  listening: isScrolling ? false : true
10092
10289
  };
10093
- }, ...(ngDevMode ? [{ debugName: "stageConfig" }] : []));
10290
+ }, /* @ts-ignore */
10291
+ ...(ngDevMode ? [{ debugName: "stageConfig" }] : /* istanbul ignore next */ []));
10094
10292
  this.gridGroupConfig = computed(() => {
10095
10293
  return {
10096
10294
  clipX: 0,
@@ -10098,7 +10296,8 @@ class AITableRenderer {
10098
10296
  clipWidth: this.containerWidth(),
10099
10297
  clipHeight: this.gridContainerHeight()
10100
10298
  };
10101
- }, ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : []));
10299
+ }, /* @ts-ignore */
10300
+ ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : /* istanbul ignore next */ []));
10102
10301
  this.statGroupConfig = computed(() => {
10103
10302
  return {
10104
10303
  x: 0,
@@ -10106,13 +10305,16 @@ class AITableRenderer {
10106
10305
  width: this.containerWidth(),
10107
10306
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT
10108
10307
  };
10109
- }, ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : []));
10308
+ }, /* @ts-ignore */
10309
+ ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : /* istanbul ignore next */ []));
10110
10310
  this.scrollTotalHeight = computed(() => {
10111
10311
  return Math.max(this.coordinate().totalHeight, this.containerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT);
10112
- }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : []));
10312
+ }, /* @ts-ignore */
10313
+ ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
10113
10314
  this.scrollTotalWidth = computed(() => {
10114
10315
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
10115
- }, ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : []));
10316
+ }, /* @ts-ignore */
10317
+ ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : /* istanbul ignore next */ []));
10116
10318
  this.frozenCommonGroupConfig = computed(() => {
10117
10319
  return {
10118
10320
  clipX: 0,
@@ -10120,7 +10322,8 @@ class AITableRenderer {
10120
10322
  clipWidth: this.containerWidth(),
10121
10323
  clipHeight: this.gridContainerHeight()
10122
10324
  };
10123
- }, ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : []));
10325
+ }, /* @ts-ignore */
10326
+ ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : /* istanbul ignore next */ []));
10124
10327
  this.commonGroupConfig = computed(() => {
10125
10328
  return {
10126
10329
  clipX: this.frozenAreaWidth() + 1,
@@ -10128,7 +10331,8 @@ class AITableRenderer {
10128
10331
  clipWidth: this.cellGroupClipWidth(),
10129
10332
  clipHeight: this.gridContainerHeight()
10130
10333
  };
10131
- }, ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : []));
10334
+ }, /* @ts-ignore */
10335
+ ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : /* istanbul ignore next */ []));
10132
10336
  this.statCommonGroupConfig = computed(() => {
10133
10337
  return {
10134
10338
  x: AI_TABLE_OFFSET,
@@ -10137,7 +10341,8 @@ class AITableRenderer {
10137
10341
  clipWidth: this.cellGroupClipWidth(),
10138
10342
  clipHeight: this.gridContainerHeight()
10139
10343
  };
10140
- }, ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : []));
10344
+ }, /* @ts-ignore */
10345
+ ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : /* istanbul ignore next */ []));
10141
10346
  this.attachGroupConfig = computed(() => {
10142
10347
  return {
10143
10348
  clipX: this.frozenAreaWidth() - 1,
@@ -10145,7 +10350,8 @@ class AITableRenderer {
10145
10350
  clipWidth: this.containerWidth() - this.frozenAreaWidth(),
10146
10351
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10147
10352
  };
10148
- }, ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : []));
10353
+ }, /* @ts-ignore */
10354
+ ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : /* istanbul ignore next */ []));
10149
10355
  this.frozenAttachGroupConfig = computed(() => {
10150
10356
  return {
10151
10357
  clipX: 0,
@@ -10153,7 +10359,8 @@ class AITableRenderer {
10153
10359
  clipWidth: this.frozenAreaWidth() + 10,
10154
10360
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10155
10361
  };
10156
- }, ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : []));
10362
+ }, /* @ts-ignore */
10363
+ ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : /* istanbul ignore next */ []));
10157
10364
  this.frozenCoverAttachGroupConfig = computed(() => {
10158
10365
  return {
10159
10366
  clipX: 0,
@@ -10161,26 +10368,30 @@ class AITableRenderer {
10161
10368
  clipWidth: this.frozenAreaWidth(),
10162
10369
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10163
10370
  };
10164
- }, ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : []));
10371
+ }, /* @ts-ignore */
10372
+ ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : /* istanbul ignore next */ []));
10165
10373
  this.offsetYConfig = computed(() => {
10166
10374
  const { scrollTop } = this.scrollState();
10167
10375
  return {
10168
10376
  offsetY: scrollTop
10169
10377
  };
10170
- }, ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : []));
10378
+ }, /* @ts-ignore */
10379
+ ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : /* istanbul ignore next */ []));
10171
10380
  this.offsetXConfig = computed(() => {
10172
10381
  const { scrollLeft } = this.scrollState();
10173
10382
  return {
10174
10383
  offsetX: scrollLeft
10175
10384
  };
10176
- }, ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : []));
10385
+ }, /* @ts-ignore */
10386
+ ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : /* istanbul ignore next */ []));
10177
10387
  this.offsetConfig = computed(() => {
10178
10388
  const { scrollLeft, scrollTop } = this.scrollState();
10179
10389
  return {
10180
10390
  offsetX: scrollLeft,
10181
10391
  offsetY: scrollTop
10182
10392
  };
10183
- }, ...(ngDevMode ? [{ debugName: "offsetConfig" }] : []));
10393
+ }, /* @ts-ignore */
10394
+ ...(ngDevMode ? [{ debugName: "offsetConfig" }] : /* istanbul ignore next */ []));
10184
10395
  this.columnFrozenHeadFieldConfig = computed(() => {
10185
10396
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10186
10397
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10197,7 +10408,8 @@ class AITableRenderer {
10197
10408
  readonly,
10198
10409
  maxFields
10199
10410
  };
10200
- }, ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : []));
10411
+ }, /* @ts-ignore */
10412
+ ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : /* istanbul ignore next */ []));
10201
10413
  this.columnHeadFieldConfig = computed(() => {
10202
10414
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10203
10415
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10214,7 +10426,8 @@ class AITableRenderer {
10214
10426
  readonly,
10215
10427
  maxFields
10216
10428
  };
10217
- }, ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : []));
10429
+ }, /* @ts-ignore */
10430
+ ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : /* istanbul ignore next */ []));
10218
10431
  this.columnFieldStatsConfig = computed(() => {
10219
10432
  return {
10220
10433
  ...this.columnHeadFieldConfig(),
@@ -10224,10 +10437,12 @@ class AITableRenderer {
10224
10437
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10225
10438
  isHoverStatContainer: this.isHoverStatContainer()
10226
10439
  };
10227
- }, ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : []));
10440
+ }, /* @ts-ignore */
10441
+ ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : /* istanbul ignore next */ []));
10228
10442
  this.xIsScroll = computed(() => {
10229
10443
  return this.scrollState().scrollLeft > 0;
10230
- }, ...(ngDevMode ? [{ debugName: "xIsScroll" }] : []));
10444
+ }, /* @ts-ignore */
10445
+ ...(ngDevMode ? [{ debugName: "xIsScroll" }] : /* istanbul ignore next */ []));
10231
10446
  this.statShadowConfig = computed(() => {
10232
10447
  return {
10233
10448
  width: 8,
@@ -10236,7 +10451,8 @@ class AITableRenderer {
10236
10451
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10237
10452
  visible: this.xIsScroll()
10238
10453
  };
10239
- }, ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : []));
10454
+ }, /* @ts-ignore */
10455
+ ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : /* istanbul ignore next */ []));
10240
10456
  this.fieldHeadShadowConfig = computed(() => {
10241
10457
  return {
10242
10458
  width: AI_TABLE_SHADOW_DEFAULT_WIDTH,
@@ -10245,7 +10461,8 @@ class AITableRenderer {
10245
10461
  height: AI_TABLE_FIELD_HEAD_HEIGHT,
10246
10462
  visible: this.xIsScroll()
10247
10463
  };
10248
- }, ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : []));
10464
+ }, /* @ts-ignore */
10465
+ ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : /* istanbul ignore next */ []));
10249
10466
  this.columnFieldStatsBgConfig = computed(() => {
10250
10467
  return {
10251
10468
  x: 0,
@@ -10260,7 +10477,8 @@ class AITableRenderer {
10260
10477
  listening: true,
10261
10478
  coordinate: this.coordinate()
10262
10479
  };
10263
- }, ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : []));
10480
+ }, /* @ts-ignore */
10481
+ ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : /* istanbul ignore next */ []));
10264
10482
  this.columnFrozenFieldStatsConfig = computed(() => {
10265
10483
  return {
10266
10484
  ...this.columnHeadFieldConfig(),
@@ -10272,7 +10490,8 @@ class AITableRenderer {
10272
10490
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10273
10491
  isHoverStatContainer: this.isHoverStatContainer()
10274
10492
  };
10275
- }, ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : []));
10493
+ }, /* @ts-ignore */
10494
+ ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : /* istanbul ignore next */ []));
10276
10495
  this.cellsConfig = computed(() => {
10277
10496
  const { aiTable, readonly, coordinate, references, actions, maxRecords } = this.config();
10278
10497
  const keywordsMatchedCells = aiTable.keywordsMatchedCells();
@@ -10290,7 +10509,8 @@ class AITableRenderer {
10290
10509
  maxRecords,
10291
10510
  keywordsMatchedCells
10292
10511
  };
10293
- }, ...(ngDevMode ? [{ debugName: "cellsConfig" }] : []));
10512
+ }, /* @ts-ignore */
10513
+ ...(ngDevMode ? [{ debugName: "cellsConfig" }] : /* istanbul ignore next */ []));
10294
10514
  this.expandRecordConfig = computed(() => {
10295
10515
  const { aiTable, coordinate } = this.config();
10296
10516
  const { rowStartIndex, rowStopIndex } = this.visibleRangeInfo();
@@ -10300,14 +10520,16 @@ class AITableRenderer {
10300
10520
  rowStartIndex,
10301
10521
  rowStopIndex
10302
10522
  };
10303
- }, ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : []));
10523
+ }, /* @ts-ignore */
10524
+ ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : /* istanbul ignore next */ []));
10304
10525
  this.fillHandleConfig = computed(() => {
10305
10526
  return {
10306
10527
  aiTable: this.config().aiTable,
10307
10528
  coordinate: this.coordinate(),
10308
10529
  readonly: this.readonly()
10309
10530
  };
10310
- }, ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : []));
10531
+ }, /* @ts-ignore */
10532
+ ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : /* istanbul ignore next */ []));
10311
10533
  this.isLastSelectedCellInFrozenColumn = computed(() => {
10312
10534
  const { aiTable } = this.config();
10313
10535
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -10317,10 +10539,12 @@ class AITableRenderer {
10317
10539
  const [, fieldId] = lastCell.split(':');
10318
10540
  const columnIndex = aiTable.context.visibleColumnsIndexMap().get(fieldId);
10319
10541
  return AITable.isFrozenColumn(aiTable, columnIndex);
10320
- }, ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : []));
10542
+ }, /* @ts-ignore */
10543
+ ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : /* istanbul ignore next */ []));
10321
10544
  this.activeCellBorderConfig = computed(() => {
10322
10545
  return createActiveCellBorder(this.cellsConfig());
10323
- }, ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : []));
10546
+ }, /* @ts-ignore */
10547
+ ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : /* istanbul ignore next */ []));
10324
10548
  this.showExpandCellBorder = computed(() => {
10325
10549
  let expandCellBorder = false;
10326
10550
  let frozenExpandCellBorder = false;
@@ -10343,7 +10567,8 @@ class AITableRenderer {
10343
10567
  expandCellBorder,
10344
10568
  frozenExpandCellBorder
10345
10569
  };
10346
- }, ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : []));
10570
+ }, /* @ts-ignore */
10571
+ ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : /* istanbul ignore next */ []));
10347
10572
  }
10348
10573
  stageMousemove(e) {
10349
10574
  this.koMousemove.emit(e);
@@ -10381,10 +10606,10 @@ class AITableRenderer {
10381
10606
  onStatContainerHover(isHover) {
10382
10607
  this.isHoverStatContainer.set(isHover);
10383
10608
  }
10384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", onScrollPosition: "onScrollPosition" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n (koTouchstart)=\"stageTouchstart($event)\"\n (koTouchmove)=\"stageTouchmove($event)\"\n (koTouchend)=\"stageTouchend($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <!-- \u53F3\u4FA7\u975E\u56FA\u5B9A\u5217\u7684\u533A\u57DF -->\n <ko-group [config]=\"commonGroupConfig()\">\n <!-- \u53F3\u4FA7x,y\u6EDA\u52A8\u533A\u57DF\u7684 cell -->\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n <ai-table-groups [config]=\"cellsConfig()\"></ai-table-groups>\n </ko-group>\n\n <!-- \u53F3\u4FA7\u8868\u5934head \u548C \u65B0\u589E\u5217 + \u533A\u57DF -->\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 y\u6EDA\u52A8\u533A\u57DF\u7684cell -->\n <ko-group [config]=\"frozenCommonGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-groups [config]=\"cellsConfig()\"></ai-table-frozen-groups>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ko-group>\n @if (showExpandIcon()) {\n <ai-table-expand-record [config]=\"expandRecordConfig()\"></ai-table-expand-record>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 \u8868\u5934 + \u8868\u5934\u53F3\u4FA7\u5206\u5272\u9634\u5F71 -->\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n <ai-table-shadow [config]=\"fieldHeadShadowConfig()\"></ai-table-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-shadow [config]=\"statShadowConfig()\"></ai-table-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableCoverCellEntry, selector: "ai-table-cover-cell-entry", inputs: ["config", "onlyDisplayBorder"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }, { kind: "component", type: AITableFillHandle, selector: "ai-table-fill-handle", inputs: ["config"] }, { kind: "component", type: AITableFieldStats, selector: "ai-table-column-stats", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }, { kind: "component", type: AITableFrozenGroups, selector: "ai-table-frozen-groups", inputs: ["config"] }, { kind: "component", type: AITableGroups, selector: "ai-table-groups", inputs: ["config"] }, { kind: "component", type: AITableShadow, selector: "ai-table-shadow", inputs: ["config"] }, { kind: "component", type: AITableExpandRecord, selector: "ai-table-expand-record", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10609
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10610
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", onScrollPosition: "onScrollPosition" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n (koTouchstart)=\"stageTouchstart($event)\"\n (koTouchmove)=\"stageTouchmove($event)\"\n (koTouchend)=\"stageTouchend($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <!-- \u53F3\u4FA7\u975E\u56FA\u5B9A\u5217\u7684\u533A\u57DF -->\n <ko-group [config]=\"commonGroupConfig()\">\n <!-- \u53F3\u4FA7x,y\u6EDA\u52A8\u533A\u57DF\u7684 cell -->\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n <ai-table-groups [config]=\"cellsConfig()\"></ai-table-groups>\n </ko-group>\n\n <!-- \u53F3\u4FA7\u8868\u5934head \u548C \u65B0\u589E\u5217 + \u533A\u57DF -->\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 y\u6EDA\u52A8\u533A\u57DF\u7684cell -->\n <ko-group [config]=\"frozenCommonGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-groups [config]=\"cellsConfig()\"></ai-table-frozen-groups>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ko-group>\n @if (showExpandIcon()) {\n <ai-table-expand-record [config]=\"expandRecordConfig()\"></ai-table-expand-record>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 \u8868\u5934 + \u8868\u5934\u53F3\u4FA7\u5206\u5272\u9634\u5F71 -->\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n <ai-table-shadow [config]=\"fieldHeadShadowConfig()\"></ai-table-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-shadow [config]=\"statShadowConfig()\"></ai-table-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableCoverCellEntry, selector: "ai-table-cover-cell-entry", inputs: ["config", "onlyDisplayBorder"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }, { kind: "component", type: AITableFillHandle, selector: "ai-table-fill-handle", inputs: ["config"] }, { kind: "component", type: AITableFieldStats, selector: "ai-table-column-stats", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }, { kind: "component", type: AITableFrozenGroups, selector: "ai-table-frozen-groups", inputs: ["config"] }, { kind: "component", type: AITableGroups, selector: "ai-table-groups", inputs: ["config"] }, { kind: "component", type: AITableShadow, selector: "ai-table-shadow", inputs: ["config"] }, { kind: "component", type: AITableExpandRecord, selector: "ai-table-expand-record", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10386
10611
  }
10387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableRenderer, decorators: [{
10612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableRenderer, decorators: [{
10388
10613
  type: Component,
10389
10614
  args: [{ selector: 'ai-table-renderer', imports: [
10390
10615
  KoContainer,
@@ -10414,12 +10639,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
10414
10639
  class AITableCellRate extends CoverCellBase {
10415
10640
  constructor() {
10416
10641
  super(...arguments);
10417
- this.pointerX = signal(0, ...(ngDevMode ? [{ debugName: "pointerX" }] : []));
10418
- this.pointerY = signal(0, ...(ngDevMode ? [{ debugName: "pointerY" }] : []));
10419
- this.resetStatus = signal(false, ...(ngDevMode ? [{ debugName: "resetStatus" }] : []));
10642
+ this.pointerX = signal(0, /* @ts-ignore */
10643
+ ...(ngDevMode ? [{ debugName: "pointerX" }] : /* istanbul ignore next */ []));
10644
+ this.pointerY = signal(0, /* @ts-ignore */
10645
+ ...(ngDevMode ? [{ debugName: "pointerY" }] : /* istanbul ignore next */ []));
10646
+ this.resetStatus = signal(false, /* @ts-ignore */
10647
+ ...(ngDevMode ? [{ debugName: "resetStatus" }] : /* istanbul ignore next */ []));
10420
10648
  this.readonly = computed(() => {
10421
10649
  return this.config()?.readonly;
10422
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10650
+ }, /* @ts-ignore */
10651
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10423
10652
  this.whiteBgConfig = computed(() => {
10424
10653
  const { aiTable, render, field, recordId, coordinate } = this.config();
10425
10654
  const pointPosition = aiTable.context.pointPosition();
@@ -10443,7 +10672,8 @@ class AITableCellRate extends CoverCellBase {
10443
10672
  recordId
10444
10673
  })
10445
10674
  };
10446
- }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : []));
10675
+ }, /* @ts-ignore */
10676
+ ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10447
10677
  this.starConfigs = computed(() => {
10448
10678
  const { render, field, recordId, readonly, aiTable, coordinate } = this.config();
10449
10679
  const { x, columnWidth, transformValue } = render;
@@ -10497,7 +10727,8 @@ class AITableCellRate extends CoverCellBase {
10497
10727
  })
10498
10728
  };
10499
10729
  });
10500
- }, ...(ngDevMode ? [{ debugName: "starConfigs" }] : []));
10730
+ }, /* @ts-ignore */
10731
+ ...(ngDevMode ? [{ debugName: "starConfigs" }] : /* istanbul ignore next */ []));
10501
10732
  }
10502
10733
  static { this.fieldType = AITableFieldType.rate; }
10503
10734
  koMousemove(e) {
@@ -10535,8 +10766,8 @@ class AITableCellRate extends CoverCellBase {
10535
10766
  ]);
10536
10767
  }
10537
10768
  }
10538
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10539
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", usesInheritance: true, ngImport: i0, template: `
10769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10770
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", usesInheritance: true, ngImport: i0, template: `
10540
10771
  @if (!readonly()) {
10541
10772
  <ko-rect [config]="whiteBgConfig()" (koMousemove)="koMousemove($event)"></ko-rect>
10542
10773
  }
@@ -10545,7 +10776,7 @@ class AITableCellRate extends CoverCellBase {
10545
10776
  }
10546
10777
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10547
10778
  }
10548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRate, decorators: [{
10779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellRate, decorators: [{
10549
10780
  type: Component,
10550
10781
  args: [{
10551
10782
  selector: 'ai-table-rate',
@@ -10567,18 +10798,23 @@ class AITableCellProgress extends CoverCellBase {
10567
10798
  super(...arguments);
10568
10799
  this.readonly = computed(() => {
10569
10800
  return this.config()?.readonly;
10570
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10571
- this.dragPointerX = signal(null, ...(ngDevMode ? [{ debugName: "dragPointerX" }] : []));
10801
+ }, /* @ts-ignore */
10802
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10803
+ this.dragPointerX = signal(null, /* @ts-ignore */
10804
+ ...(ngDevMode ? [{ debugName: "dragPointerX" }] : /* istanbul ignore next */ []));
10572
10805
  this.railWidth = computed(() => {
10573
10806
  const { columnWidth } = this.config().render;
10574
10807
  return columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_WIDTH;
10575
- }, ...(ngDevMode ? [{ debugName: "railWidth" }] : []));
10808
+ }, /* @ts-ignore */
10809
+ ...(ngDevMode ? [{ debugName: "railWidth" }] : /* istanbul ignore next */ []));
10576
10810
  this.trackWidth = computed(() => {
10577
10811
  return (this.progressValue() / 100) * this.railWidth();
10578
- }, ...(ngDevMode ? [{ debugName: "trackWidth" }] : []));
10812
+ }, /* @ts-ignore */
10813
+ ...(ngDevMode ? [{ debugName: "trackWidth" }] : /* istanbul ignore next */ []));
10579
10814
  this.pointerWidth = AI_TABLE_PROGRESS_BAR_POINTER_WIDTH;
10580
10815
  this.progressOffsetY = (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_PROGRESS_BAR_HEIGHT) / 2 + AI_TABLE_OFFSET;
10581
- this.dragProgressValue = signal(null, ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : []));
10816
+ this.dragProgressValue = signal(null, /* @ts-ignore */
10817
+ ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : /* istanbul ignore next */ []));
10582
10818
  this.progressValue = computed(() => {
10583
10819
  const dragValue = this.dragProgressValue();
10584
10820
  if (dragValue !== null) {
@@ -10590,7 +10826,8 @@ class AITableCellProgress extends CoverCellBase {
10590
10826
  return 0;
10591
10827
  }
10592
10828
  return transformValue;
10593
- }, ...(ngDevMode ? [{ debugName: "progressValue" }] : []));
10829
+ }, /* @ts-ignore */
10830
+ ...(ngDevMode ? [{ debugName: "progressValue" }] : /* istanbul ignore next */ []));
10594
10831
  this.whiteBgConfig = computed(() => {
10595
10832
  const { aiTable, render, field, recordId, coordinate } = this.config();
10596
10833
  const pointPosition = aiTable.context.pointPosition();
@@ -10613,7 +10850,8 @@ class AITableCellProgress extends CoverCellBase {
10613
10850
  recordId
10614
10851
  })
10615
10852
  };
10616
- }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : []));
10853
+ }, /* @ts-ignore */
10854
+ ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10617
10855
  this.railConfig = computed(() => {
10618
10856
  const { render, field, recordId } = this.config();
10619
10857
  const { x } = render;
@@ -10631,7 +10869,8 @@ class AITableCellProgress extends CoverCellBase {
10631
10869
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10632
10870
  })
10633
10871
  };
10634
- }, ...(ngDevMode ? [{ debugName: "railConfig" }] : []));
10872
+ }, /* @ts-ignore */
10873
+ ...(ngDevMode ? [{ debugName: "railConfig" }] : /* istanbul ignore next */ []));
10635
10874
  this.trackConfig = computed(() => {
10636
10875
  const { render, field, recordId } = this.config();
10637
10876
  const { x } = render;
@@ -10649,7 +10888,8 @@ class AITableCellProgress extends CoverCellBase {
10649
10888
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10650
10889
  })
10651
10890
  };
10652
- }, ...(ngDevMode ? [{ debugName: "trackConfig" }] : []));
10891
+ }, /* @ts-ignore */
10892
+ ...(ngDevMode ? [{ debugName: "trackConfig" }] : /* istanbul ignore next */ []));
10653
10893
  this.pointerConfig = computed(() => {
10654
10894
  const { render, field, recordId } = this.config();
10655
10895
  const { x } = render;
@@ -10688,7 +10928,8 @@ class AITableCellProgress extends CoverCellBase {
10688
10928
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10689
10929
  })
10690
10930
  };
10691
- }, ...(ngDevMode ? [{ debugName: "pointerConfig" }] : []));
10931
+ }, /* @ts-ignore */
10932
+ ...(ngDevMode ? [{ debugName: "pointerConfig" }] : /* istanbul ignore next */ []));
10692
10933
  this.textConfig = computed(() => {
10693
10934
  const { render, field, recordId } = this.config();
10694
10935
  const { x } = render;
@@ -10707,7 +10948,8 @@ class AITableCellProgress extends CoverCellBase {
10707
10948
  recordId
10708
10949
  })
10709
10950
  };
10710
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
10951
+ }, /* @ts-ignore */
10952
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
10711
10953
  }
10712
10954
  static { this.fieldType = AITableFieldType.progress; }
10713
10955
  calculatePercentage(clickX) {
@@ -10790,8 +11032,8 @@ class AITableCellProgress extends CoverCellBase {
10790
11032
  ]);
10791
11033
  }
10792
11034
  }
10793
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10794
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", usesInheritance: true, ngImport: i0, template: `
11035
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11036
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", usesInheritance: true, ngImport: i0, template: `
10795
11037
  @if (!readonly()) {
10796
11038
  <ko-rect [config]="whiteBgConfig()"></ko-rect>
10797
11039
  }
@@ -10806,7 +11048,7 @@ class AITableCellProgress extends CoverCellBase {
10806
11048
  <ko-text [config]="textConfig()"></ko-text>
10807
11049
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10808
11050
  }
10809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellProgress, decorators: [{
11051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellProgress, decorators: [{
10810
11052
  type: Component,
10811
11053
  args: [{
10812
11054
  selector: 'ai-table-progress',
@@ -10836,7 +11078,8 @@ class AITableCellCheckbox extends CoverCellBase {
10836
11078
  const { render } = this.config();
10837
11079
  const { transformValue } = render;
10838
11080
  return !isEmpty(transformValue) && !!transformValue;
10839
- }, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
11081
+ }, /* @ts-ignore */
11082
+ ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
10840
11083
  this.checkbox = computed(() => {
10841
11084
  const { render, field, recordId, readonly } = this.config();
10842
11085
  if (render) {
@@ -10860,7 +11103,8 @@ class AITableCellCheckbox extends CoverCellBase {
10860
11103
  };
10861
11104
  }
10862
11105
  return null;
10863
- }, ...(ngDevMode ? [{ debugName: "checkbox" }] : []));
11106
+ }, /* @ts-ignore */
11107
+ ...(ngDevMode ? [{ debugName: "checkbox" }] : /* istanbul ignore next */ []));
10864
11108
  }
10865
11109
  static { this.fieldType = AITableFieldType.checkbox; }
10866
11110
  switchChecked() {
@@ -10872,14 +11116,14 @@ class AITableCellCheckbox extends CoverCellBase {
10872
11116
  }
10873
11117
  ]);
10874
11118
  }
10875
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10876
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: AITableCellCheckbox, isStandalone: true, selector: "ai-table-checkbox", usesInheritance: true, ngImport: i0, template: `
11119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: AITableCellCheckbox, isStandalone: true, selector: "ai-table-checkbox", usesInheritance: true, ngImport: i0, template: `
10877
11121
  <ko-group>
10878
11122
  <ai-table-icon [config]="checkbox()" (koClick)="switchChecked()"></ai-table-icon>
10879
11123
  </ko-group>
10880
11124
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10881
11125
  }
10882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellCheckbox, decorators: [{
11126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellCheckbox, decorators: [{
10883
11127
  type: Component,
10884
11128
  args: [{
10885
11129
  selector: 'ai-table-checkbox',
@@ -10904,7 +11148,8 @@ class AITableCellText extends CoverCellBase {
10904
11148
  fieldId: field._id,
10905
11149
  recordId
10906
11150
  });
10907
- }, ...(ngDevMode ? [{ debugName: "cellName" }] : []));
11151
+ }, /* @ts-ignore */
11152
+ ...(ngDevMode ? [{ debugName: "cellName" }] : /* istanbul ignore next */ []));
10908
11153
  this.expandBorderConfig = computed(() => {
10909
11154
  const { render, field, recordId, readonly, isExpand } = this.config();
10910
11155
  const { columnWidth } = render;
@@ -10923,7 +11168,8 @@ class AITableCellText extends CoverCellBase {
10923
11168
  };
10924
11169
  }
10925
11170
  return null;
10926
- }, ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : []));
11171
+ }, /* @ts-ignore */
11172
+ ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : /* istanbul ignore next */ []));
10927
11173
  this.scrollConfig = computed(() => {
10928
11174
  const { render, field, recordId, readonly, isExpand, coordinate } = this.config();
10929
11175
  const { columnWidth } = render;
@@ -10943,7 +11189,8 @@ class AITableCellText extends CoverCellBase {
10943
11189
  contentNotScrollbar: false,
10944
11190
  bgName: this.cellName()
10945
11191
  };
10946
- }, ...(ngDevMode ? [{ debugName: "scrollConfig" }] : []));
11192
+ }, /* @ts-ignore */
11193
+ ...(ngDevMode ? [{ debugName: "scrollConfig" }] : /* istanbul ignore next */ []));
10947
11194
  this.expandTextBounds = computed(() => {
10948
11195
  const textRender = this.textString();
10949
11196
  const render = this.config()?.render;
@@ -10970,11 +11217,13 @@ class AITableCellText extends CoverCellBase {
10970
11217
  ...text,
10971
11218
  height: text.height + AI_TABLE_CELL_PADDING + AI_TABLE_CELL_LINE_BORDER
10972
11219
  };
10973
- }, ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : []));
11220
+ }, /* @ts-ignore */
11221
+ ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : /* istanbul ignore next */ []));
10974
11222
  this.textMaxWidth = computed(() => {
10975
11223
  const { columnWidth } = this.config()?.render;
10976
11224
  return columnWidth - AI_TABLE_CELL_PADDING - AI_TABLE_CELL_PADDING;
10977
- }, ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : []));
11225
+ }, /* @ts-ignore */
11226
+ ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : /* istanbul ignore next */ []));
10978
11227
  this.textString = computed(() => {
10979
11228
  const { transformValue } = this.config()?.render;
10980
11229
  let textRender = transformValue;
@@ -10982,18 +11231,21 @@ class AITableCellText extends CoverCellBase {
10982
11231
  return;
10983
11232
  }
10984
11233
  return textRender.replace(/\r|\n/g, ' ');
10985
- }, ...(ngDevMode ? [{ debugName: "textString" }] : []));
11234
+ }, /* @ts-ignore */
11235
+ ...(ngDevMode ? [{ debugName: "textString" }] : /* istanbul ignore next */ []));
10986
11236
  this.height = computed(() => {
10987
11237
  const { height } = this.expandTextBounds() || { height: 0 };
10988
11238
  return Math.min(Math.max(height, this.config().render.rowHeight - AI_TABLE_CELL_LINE_BORDER || AI_TABLE_ROW_BLANK_HEIGHT), 146);
10989
- }, ...(ngDevMode ? [{ debugName: "height" }] : []));
11239
+ }, /* @ts-ignore */
11240
+ ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
10990
11241
  this.startY = computed(() => {
10991
11242
  const { y, rowHeight } = this.config()?.render;
10992
11243
  return (y +
10993
11244
  (AI_TABLE_ROW_HEIGHT - DEFAULT_FONT_SIZE) / 2 -
10994
11245
  (DEFAULT_FONT_SIZE * (AI_TABLE_TEXT_LINE_HEIGHT - 1)) / 2 +
10995
11246
  AI_TABLE_CELL_LINE_BORDER);
10996
- }, ...(ngDevMode ? [{ debugName: "startY" }] : []));
11247
+ }, /* @ts-ignore */
11248
+ ...(ngDevMode ? [{ debugName: "startY" }] : /* istanbul ignore next */ []));
10997
11249
  this.expandTextConfig = computed(() => {
10998
11250
  const render = this.config()?.render;
10999
11251
  if (render) {
@@ -11030,7 +11282,8 @@ class AITableCellText extends CoverCellBase {
11030
11282
  };
11031
11283
  }
11032
11284
  return;
11033
- }, ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : []));
11285
+ }, /* @ts-ignore */
11286
+ ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : /* istanbul ignore next */ []));
11034
11287
  this.textConfig = computed(() => {
11035
11288
  const render = this.config()?.render;
11036
11289
  if (render) {
@@ -11055,7 +11308,8 @@ class AITableCellText extends CoverCellBase {
11055
11308
  };
11056
11309
  }
11057
11310
  return;
11058
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
11311
+ }, /* @ts-ignore */
11312
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
11059
11313
  effect(() => {
11060
11314
  const height = this.height();
11061
11315
  if (this.isExpand()) {
@@ -11067,8 +11321,8 @@ class AITableCellText extends CoverCellBase {
11067
11321
  }
11068
11322
  });
11069
11323
  }
11070
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11071
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellText, isStandalone: true, selector: "ai-table-single-text", usesInheritance: true, ngImport: i0, template: `
11324
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11325
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableCellText, isStandalone: true, selector: "ai-table-single-text", usesInheritance: true, ngImport: i0, template: `
11072
11326
  <ko-group>
11073
11327
  @if (isExpand()) {
11074
11328
  <ko-group>
@@ -11093,7 +11347,7 @@ class AITableCellText extends CoverCellBase {
11093
11347
  </ko-group>
11094
11348
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableScrollableGroup, selector: "ai-table-scrollable-group", inputs: ["config", "contentTemplate", "parentContainer"], outputs: ["scrollPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11095
11349
  }
11096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellText, decorators: [{
11350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellText, decorators: [{
11097
11351
  type: Component,
11098
11352
  args: [{
11099
11353
  selector: 'ai-table-single-text',
@@ -11914,8 +12168,8 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
11914
12168
  super.update();
11915
12169
  this.closePopover();
11916
12170
  }
11917
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11918
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
12171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
11919
12173
  class="h-100"
11920
12174
  [thyAutoFocus]="autoFocus()"
11921
12175
  [thyShowStepControls]="false"
@@ -11924,7 +12178,7 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
11924
12178
  (thyBlur)="updateValue()"
11925
12179
  /> `, isInline: true, dependencies: [{ 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: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11926
12180
  }
11927
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
12181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
11928
12182
  type: Component,
11929
12183
  args: [{
11930
12184
  selector: 'number-cell-editor',
@@ -11946,17 +12200,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
11946
12200
 
11947
12201
  class SelectOptionComponent {
11948
12202
  constructor() {
11949
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
11950
- this.displayOption = input.required(...(ngDevMode ? [{ debugName: "displayOption" }] : []));
12203
+ this.field = input.required(/* @ts-ignore */
12204
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12205
+ this.displayOption = input.required(/* @ts-ignore */
12206
+ ...(ngDevMode ? [{ debugName: "displayOption" }] : /* istanbul ignore next */ []));
11951
12207
  this.optionStyle = computed(() => {
11952
12208
  return this.field().settings.option_style || AITableSelectOptionStyle.text;
11953
- }, ...(ngDevMode ? [{ debugName: "optionStyle" }] : []));
12209
+ }, /* @ts-ignore */
12210
+ ...(ngDevMode ? [{ debugName: "optionStyle" }] : /* istanbul ignore next */ []));
11954
12211
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
11955
12212
  }
11956
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11957
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.select-option-tag": "optionStyle() === AITableSelectOptionStyle.tag" }, classAttribute: "select-option thy-text" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12214
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.select-option-tag": "optionStyle() === AITableSelectOptionStyle.tag" }, classAttribute: "select-option thy-text" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyAppearance", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11958
12215
  }
11959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionComponent, decorators: [{
12216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionComponent, decorators: [{
11960
12217
  type: Component,
11961
12218
  args: [{ selector: 'select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
11962
12219
  class: 'select-option thy-text',
@@ -11972,10 +12229,12 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
11972
12229
  super();
11973
12230
  this.selectOptions = computed(() => {
11974
12231
  return this.field().settings.options;
11975
- }, ...(ngDevMode ? [{ debugName: "selectOptions" }] : []));
12232
+ }, /* @ts-ignore */
12233
+ ...(ngDevMode ? [{ debugName: "selectOptions" }] : /* istanbul ignore next */ []));
11976
12234
  this.preset = computed(() => {
11977
12235
  return this.field().settings.is_multiple && this.field().settings.option_style === AITableSelectOptionStyle.tag ? 'tag' : '';
11978
- }, ...(ngDevMode ? [{ debugName: "preset" }] : []));
12236
+ }, /* @ts-ignore */
12237
+ ...(ngDevMode ? [{ debugName: "preset" }] : /* istanbul ignore next */ []));
11979
12238
  }
11980
12239
  ngOnInit() {
11981
12240
  super.ngOnInit();
@@ -12021,10 +12280,10 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
12021
12280
  this.thyPopoverRef?.updatePosition();
12022
12281
  });
12023
12282
  }
12024
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12025
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"autoFocus()\"\n [thyAllowClear]=\"true\"\n [thyPlaceHolder]=\"''\"\n [thyPreset]=\"preset()\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n (ngModelChange)=\"onModelChange($event)\"\n (thyOnExpandStatusChange)=\"onOpenChange($event)\"\n>\n <ng-template #selectedDisplay let-option>\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option\n [thyValue]=\"option._id\"\n [hidden]=\"!!option.is_disabled\"\n [thyRawValue]=\"option\"\n [thyShowOptionCustom]=\"true\"\n [thyLabelText]=\"option.text\"\n >\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "ngmodule", type: ThyFormModule }, { 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: "ngmodule", type: ThySelectModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12284
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"autoFocus()\"\n [thyAllowClear]=\"true\"\n [thyPlaceHolder]=\"''\"\n [thyPreset]=\"preset()\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n (ngModelChange)=\"onModelChange($event)\"\n (thyOnExpandStatusChange)=\"onOpenChange($event)\"\n>\n <ng-template #selectedDisplay let-option>\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option\n [thyValue]=\"option._id\"\n [hidden]=\"!!option.is_disabled\"\n [thyRawValue]=\"option\"\n [thyShowOptionCustom]=\"true\"\n [thyLabelText]=\"option.text\"\n >\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyItemSize", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyVirtualScroll", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "ngmodule", type: ThyFormModule }, { 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: "ngmodule", type: ThySelectModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12026
12285
  }
12027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12028
12287
  type: Component,
12029
12288
  args: [{ selector: 'select-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12030
12289
  class: 'd-block h-100 select-cell-editor'
@@ -12043,7 +12302,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12043
12302
  class TextCellEditorComponent extends AbstractEditCellEditor {
12044
12303
  constructor() {
12045
12304
  super();
12046
- this.isSelectAll = input(false, ...(ngDevMode ? [{ debugName: "isSelectAll" }] : []));
12305
+ this.isSelectAll = input(false, /* @ts-ignore */
12306
+ ...(ngDevMode ? [{ debugName: "isSelectAll" }] : /* istanbul ignore next */ []));
12047
12307
  }
12048
12308
  ngOnInit() {
12049
12309
  super.ngOnInit();
@@ -12072,8 +12332,8 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12072
12332
  super.update();
12073
12333
  this.closePopover();
12074
12334
  }
12075
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12076
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", inputs: { isSelectAll: { classPropertyName: "isSelectAll", publicName: "isSelectAll", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
12335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12336
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", inputs: { isSelectAll: { classPropertyName: "isSelectAll", publicName: "isSelectAll", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
12077
12337
  <textarea
12078
12338
  #textarea
12079
12339
  placeholder=""
@@ -12085,9 +12345,9 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12085
12345
  (thyEnter)="updateValue()"
12086
12346
  (blur)="updateValue()"
12087
12347
  ></textarea>
12088
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12348
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { 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: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12089
12349
  }
12090
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12091
12351
  type: Component,
12092
12352
  args: [{
12093
12353
  selector: 'text-cell-editor',
@@ -12116,10 +12376,10 @@ class SelectOptionPipe {
12116
12376
  transform(_id, options) {
12117
12377
  return options?.length && options.find((item) => item._id === _id);
12118
12378
  }
12119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12120
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
12379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12380
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
12121
12381
  }
12122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionPipe, decorators: [{
12382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionPipe, decorators: [{
12123
12383
  type: Pipe,
12124
12384
  args: [{
12125
12385
  name: 'selectOption'
@@ -12133,10 +12393,10 @@ class SelectOptionsPipe {
12133
12393
  })) ||
12134
12394
  []);
12135
12395
  }
12136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12137
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
12396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12397
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
12138
12398
  }
12139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12140
12400
  type: Pipe,
12141
12401
  args: [{
12142
12402
  name: 'selectOptions'
@@ -12146,10 +12406,10 @@ class IsSelectRecordPipe {
12146
12406
  transform(recordId, selection) {
12147
12407
  return selection.selectedRecords.has(recordId);
12148
12408
  }
12149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12150
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
12409
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12410
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
12151
12411
  }
12152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12153
12413
  type: Pipe,
12154
12414
  args: [{
12155
12415
  name: 'isSelectRecord'
@@ -12163,10 +12423,10 @@ class UserPipe {
12163
12423
  })) ||
12164
12424
  []);
12165
12425
  }
12166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12167
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
12426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12427
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
12168
12428
  }
12169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: UserPipe, decorators: [{
12429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UserPipe, decorators: [{
12170
12430
  type: Pipe,
12171
12431
  args: [{
12172
12432
  name: 'user'
@@ -12176,10 +12436,10 @@ class SelectSettingPipe {
12176
12436
  transform(settings) {
12177
12437
  return settings;
12178
12438
  }
12179
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12180
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
12439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12440
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
12181
12441
  }
12182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectSettingPipe, decorators: [{
12442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectSettingPipe, decorators: [{
12183
12443
  type: Pipe,
12184
12444
  args: [{
12185
12445
  name: 'selectSetting'
@@ -12189,10 +12449,10 @@ class MemberSettingPipe {
12189
12449
  transform(settings) {
12190
12450
  return settings;
12191
12451
  }
12192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12193
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
12452
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12453
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
12194
12454
  }
12195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: MemberSettingPipe, decorators: [{
12455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: MemberSettingPipe, decorators: [{
12196
12456
  type: Pipe,
12197
12457
  args: [{
12198
12458
  name: 'memberSetting'
@@ -12202,10 +12462,10 @@ class AITableFieldIsSameOptionPipe {
12202
12462
  transform(fieldOption, field) {
12203
12463
  return isSameFieldOption(fieldOption, field);
12204
12464
  }
12205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12206
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
12465
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12466
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
12207
12467
  }
12208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12209
12469
  type: Pipe,
12210
12470
  args: [{
12211
12471
  name: 'fieldIsSameOption'
@@ -12214,10 +12474,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12214
12474
 
12215
12475
  class AITableFieldSettingBase {
12216
12476
  constructor() {
12217
- this.aiEditField = model.required(...(ngDevMode ? [{ debugName: "aiEditField" }] : []));
12218
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12219
- this.aiReferences = input(...(ngDevMode ? [undefined, { debugName: "aiReferences" }] : []));
12220
- this.isUpdate = input(false, ...(ngDevMode ? [{ debugName: "isUpdate", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
12477
+ this.aiEditField = model.required(/* @ts-ignore */
12478
+ ...(ngDevMode ? [{ debugName: "aiEditField" }] : /* istanbul ignore next */ []));
12479
+ this.aiTable = input.required(/* @ts-ignore */
12480
+ ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12481
+ this.aiReferences = input(/* @ts-ignore */
12482
+ ...(ngDevMode ? [undefined, { debugName: "aiReferences" }] : /* istanbul ignore next */ []));
12483
+ this.isUpdate = input(false, { ...(ngDevMode ? { debugName: "isUpdate" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12221
12484
  this.addField = output();
12222
12485
  this.setField = output();
12223
12486
  this.thyPopoverRef = inject((ThyPopoverRef));
@@ -12244,10 +12507,10 @@ class AITableFieldSettingBase {
12244
12507
  cancel() {
12245
12508
  this.thyPopoverRef.close();
12246
12509
  }
12247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSettingBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12248
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableFieldSettingBase, isStandalone: true, selector: "ai-table-field-setting-base", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiEditField: "aiEditFieldChange", addField: "addField", setField: "setField" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldSettingBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableFieldSettingBase, isStandalone: true, selector: "ai-table-field-setting-base", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiEditField: "aiEditFieldChange", addField: "addField", setField: "setField" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12249
12512
  }
12250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSettingBase, decorators: [{
12513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldSettingBase, decorators: [{
12251
12514
  type: Component,
12252
12515
  args: [{
12253
12516
  selector: 'ai-table-field-setting-base',
@@ -12259,10 +12522,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12259
12522
  class AITableFieldSetting extends AITableFieldSettingBase {
12260
12523
  constructor() {
12261
12524
  super(...arguments);
12262
- this.aiExternalTemplate = input(null, ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : []));
12525
+ this.aiExternalTemplate = input(null, /* @ts-ignore */
12526
+ ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : /* istanbul ignore next */ []));
12263
12527
  this.selectedFieldOption = computed(() => {
12264
12528
  return getFieldOptionByField(this.aiTable(), this.aiEditField());
12265
- }, ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : []));
12529
+ }, /* @ts-ignore */
12530
+ ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : /* istanbul ignore next */ []));
12266
12531
  this.fieldMaxLength = 32;
12267
12532
  this.validatorConfig = computed(() => {
12268
12533
  return {
@@ -12273,14 +12538,17 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12273
12538
  }
12274
12539
  }
12275
12540
  };
12276
- }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : []));
12541
+ }, /* @ts-ignore */
12542
+ ...(ngDevMode ? [{ debugName: "validatorConfig" }] : /* istanbul ignore next */ []));
12277
12543
  this.fieldOptions = computed(() => {
12278
12544
  const fieldOptions = getFieldOptions(this.aiTable());
12279
12545
  return _.groupBy(fieldOptions, 'group');
12280
- }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : []));
12546
+ }, /* @ts-ignore */
12547
+ ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
12281
12548
  this.aITableFieldType = AITableFieldType;
12282
12549
  this.isMultipleMember = false;
12283
- this.isManualInputName = signal(false, ...(ngDevMode ? [{ debugName: "isManualInputName" }] : []));
12550
+ this.isManualInputName = signal(false, /* @ts-ignore */
12551
+ ...(ngDevMode ? [{ debugName: "isManualInputName" }] : /* istanbul ignore next */ []));
12284
12552
  this.checkUniqueName = (fieldName) => {
12285
12553
  fieldName = fieldName?.trim();
12286
12554
  return of(!!this.aiTable()
@@ -12298,7 +12566,8 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12298
12566
  base: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupBase),
12299
12567
  advanced: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupAdvanced)
12300
12568
  };
12301
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
12569
+ }, /* @ts-ignore */
12570
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12302
12571
  }
12303
12572
  ngOnInit() {
12304
12573
  super.ngOnInit();
@@ -12344,10 +12613,10 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12344
12613
  nameChange(event) {
12345
12614
  this.isManualInputName.set(true);
12346
12615
  }
12347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSetting, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12348
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", inputs: { aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-setting d-block pl-5 pr-5 pb-5 pt-4" }, usesInheritance: true, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span thyDropdownMenuItem [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" (click)=\"fieldTypeClick($event)\">\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n <div class=\"ai-table-field-type-menu\">\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().base\">\n @for (item of fieldOptions().base; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().advanced\">\n @for (item of fieldOptions().advanced; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n </div>\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "pipe", type: AITableFieldIsSameOptionPipe, name: "fieldIsSameOption" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldSetting, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12617
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", inputs: { aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-setting d-block pl-5 pr-5 pb-5 pt-4" }, usesInheritance: true, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span thyDropdownMenuItem [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" (click)=\"fieldTypeClick($event)\">\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n <div class=\"ai-table-field-type-menu\">\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().base\">\n @for (item of fieldOptions().base; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().advanced\">\n @for (item of fieldOptions().advanced; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n </div>\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "pipe", type: AITableFieldIsSameOptionPipe, name: "fieldIsSameOption" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12349
12618
  }
12350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSetting, decorators: [{
12619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldSetting, decorators: [{
12351
12620
  type: Component,
12352
12621
  args: [{ selector: 'ai-table-field-setting', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12353
12622
  NgClass,
@@ -12380,11 +12649,16 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12380
12649
  super(...arguments);
12381
12650
  this.notifyService = inject(ThyNotifyService);
12382
12651
  this.thyPopoverRef = inject(ThyPopoverRef);
12383
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12384
- this.menuItems = input.required(...(ngDevMode ? [{ debugName: "menuItems" }] : []));
12385
- this.targetName = input.required(...(ngDevMode ? [{ debugName: "targetName" }] : []));
12386
- this.position = input.required(...(ngDevMode ? [{ debugName: "position" }] : []));
12387
- this.maxCount = computed(() => this.aiTable().context?.maxRecords() - this.aiTable().records().length, ...(ngDevMode ? [{ debugName: "maxCount" }] : []));
12652
+ this.aiTable = input.required(/* @ts-ignore */
12653
+ ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12654
+ this.menuItems = input.required(/* @ts-ignore */
12655
+ ...(ngDevMode ? [{ debugName: "menuItems" }] : /* istanbul ignore next */ []));
12656
+ this.targetName = input.required(/* @ts-ignore */
12657
+ ...(ngDevMode ? [{ debugName: "targetName" }] : /* istanbul ignore next */ []));
12658
+ this.position = input.required(/* @ts-ignore */
12659
+ ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
12660
+ this.maxCount = computed(() => this.aiTable().context?.maxRecords() - this.aiTable().records().length, /* @ts-ignore */
12661
+ ...(ngDevMode ? [{ debugName: "maxCount" }] : /* istanbul ignore next */ []));
12388
12662
  }
12389
12663
  execute(menu) {
12390
12664
  if ((menu.disabled && !menu.disabled(this.aiTable(), this.targetName(), this.position())) || !menu.disabled) {
@@ -12398,10 +12672,10 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12398
12672
  this.execute(menu);
12399
12673
  this.thyPopoverRef.close();
12400
12674
  }
12401
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12402
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableContextMenu, isStandalone: true, selector: "ai-table-context-menu", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: true, transformFunction: null }, targetName: { classPropertyName: "targetName", publicName: "targetName", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "context-menu" }, usesInheritance: true, ngImport: i0, template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection =\n menu.type === 'copyCells' ||\n menu.type === 'pasteCells' ||\n menu.type === 'removeRecords' ||\n menu.type === 'insertUpwardRecords' ||\n menu.type === 'insertDownwardRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n draggable=\"false\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n @if (menu?.isInputNumber) {\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ menu.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"menu.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n [thyMax]=\"maxCount()\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, menu)\"\n thyStopPropagation\n ></thy-input-number>\n {{ menu.nameSuffix }}\n </span>\n } @else {\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n }\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }, { 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: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemMetaDirective, selector: "[thyDropdownMenuItemMeta]" }, { 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: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12675
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12676
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableContextMenu, isStandalone: true, selector: "ai-table-context-menu", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: true, transformFunction: null }, targetName: { classPropertyName: "targetName", publicName: "targetName", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "context-menu" }, usesInheritance: true, ngImport: i0, template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection =\n menu.type === 'copyCells' ||\n menu.type === 'pasteCells' ||\n menu.type === 'removeRecords' ||\n menu.type === 'insertUpwardRecords' ||\n menu.type === 'insertDownwardRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n draggable=\"false\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n @if (menu?.isInputNumber) {\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ menu.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"menu.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n [thyMax]=\"maxCount()\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, menu)\"\n thyStopPropagation\n ></thy-input-number>\n {{ menu.nameSuffix }}\n </span>\n } @else {\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n }\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }, { 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: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemMetaDirective, selector: "[thyDropdownMenuItemMeta]" }, { 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: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12403
12677
  }
12404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableContextMenu, decorators: [{
12678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableContextMenu, decorators: [{
12405
12679
  type: Component,
12406
12680
  args: [{ selector: 'ai-table-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12407
12681
  class: 'context-menu'
@@ -12422,8 +12696,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12422
12696
 
12423
12697
  class CheckboxMenuSort {
12424
12698
  constructor() {
12425
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
12426
- this.menu = input.required(...(ngDevMode ? [{ debugName: "menu" }] : []));
12699
+ this.field = input.required(/* @ts-ignore */
12700
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12701
+ this.menu = input.required(/* @ts-ignore */
12702
+ ...(ngDevMode ? [{ debugName: "menu" }] : /* istanbul ignore next */ []));
12427
12703
  this.Direction = {
12428
12704
  ascending: 'ascending',
12429
12705
  descending: 'descending'
@@ -12439,8 +12715,8 @@ class CheckboxMenuSort {
12439
12715
  }
12440
12716
  return '按 Z → A 排序';
12441
12717
  }
12442
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12443
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: CheckboxMenuSort, isStandalone: true, selector: "checkbox-menu-sort", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "checkbox-menu-sort" }, ngImport: i0, template: `
12718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12719
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: CheckboxMenuSort, isStandalone: true, selector: "checkbox-menu-sort", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "checkbox-menu-sort" }, ngImport: i0, template: `
12444
12720
  <thy-icon class="sort-icon" [thyIconName]="menu().icon!"></thy-icon>
12445
12721
  <div class="sort-state">
12446
12722
  @if (menu().type === 'sortByAsc') {
@@ -12455,7 +12731,7 @@ class CheckboxMenuSort {
12455
12731
  </div>
12456
12732
  `, isInline: true, dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12457
12733
  }
12458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12459
12735
  type: Component,
12460
12736
  args: [{
12461
12737
  selector: 'checkbox-menu-sort',
@@ -12484,10 +12760,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12484
12760
  class AITableFieldMenu extends ThyDropdownAbstractMenu {
12485
12761
  constructor() {
12486
12762
  super(...arguments);
12487
- this.execMenuCallback = input(...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : []));
12763
+ this.execMenuCallback = input(/* @ts-ignore */
12764
+ ...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : /* istanbul ignore next */ []));
12488
12765
  this.field = computed(() => {
12489
12766
  return this.aiTable.fields().find((item) => item._id === this.fieldId);
12490
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
12767
+ }, /* @ts-ignore */
12768
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12491
12769
  }
12492
12770
  getCustomComponent(menu) {
12493
12771
  return menu.customComponent?.(this.aiTable, this.field());
@@ -12506,10 +12784,10 @@ class AITableFieldMenu extends ThyDropdownAbstractMenu {
12506
12784
  }
12507
12785
  return menu.name || '';
12508
12786
  }
12509
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12510
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldMenus: { classPropertyName: "fieldMenus", publicName: "fieldMenus", isSignal: false, isRequired: true, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: false, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, execMenuCallback: { classPropertyName: "execMenuCallback", publicName: "execMenuCallback", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n @let customComponent = getCustomComponent(menu);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n @if (customComponent) {\n <ng-container *ngComponentOutlet=\"customComponent; inputs: { field: field(), menu: menu }\"> </ng-container>\n } @else {\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n }\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12788
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldMenus: { classPropertyName: "fieldMenus", publicName: "fieldMenus", isSignal: false, isRequired: true, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: false, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, execMenuCallback: { classPropertyName: "execMenuCallback", publicName: "execMenuCallback", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n @let customComponent = getCustomComponent(menu);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n @if (customComponent) {\n <ng-container *ngComponentOutlet=\"customComponent; inputs: { field: field(), menu: menu }\"> </ng-container>\n } @else {\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n }\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12511
12789
  }
12512
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldMenu, decorators: [{
12790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldMenu, decorators: [{
12513
12791
  type: Component,
12514
12792
  args: [{ selector: 'ai-table-field-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12515
12793
  class: 'field-menu'
@@ -12540,18 +12818,24 @@ const GRID_CELL_EDITOR_MAP = {
12540
12818
 
12541
12819
  class DynamicCellEditorComponent {
12542
12820
  constructor() {
12543
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12544
- this.fieldId = input.required(...(ngDevMode ? [{ debugName: "fieldId" }] : []));
12545
- this.recordId = input.required(...(ngDevMode ? [{ debugName: "recordId" }] : []));
12546
- this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : []));
12821
+ this.aiTable = input.required(/* @ts-ignore */
12822
+ ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12823
+ this.fieldId = input.required(/* @ts-ignore */
12824
+ ...(ngDevMode ? [{ debugName: "fieldId" }] : /* istanbul ignore next */ []));
12825
+ this.recordId = input.required(/* @ts-ignore */
12826
+ ...(ngDevMode ? [{ debugName: "recordId" }] : /* istanbul ignore next */ []));
12827
+ this.references = input.required(/* @ts-ignore */
12828
+ ...(ngDevMode ? [{ debugName: "references" }] : /* istanbul ignore next */ []));
12547
12829
  this.updateFieldValues = output();
12548
- this.editorHost = viewChild('editorHost', ...(ngDevMode ? [{ debugName: "editorHost", read: ViewContainerRef }] : [{ read: ViewContainerRef }]));
12830
+ this.editorHost = viewChild('editorHost', { ...(ngDevMode ? { debugName: "editorHost" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
12549
12831
  this.field = computed(() => {
12550
12832
  return this.aiTable().fieldsMap()[this.fieldId()];
12551
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
12833
+ }, /* @ts-ignore */
12834
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12552
12835
  this.cellValue = computed(() => {
12553
12836
  return AITableQueries.getFieldValue(this.aiTable(), [this.recordId(), this.fieldId()]);
12554
- }, ...(ngDevMode ? [{ debugName: "cellValue" }] : []));
12837
+ }, /* @ts-ignore */
12838
+ ...(ngDevMode ? [{ debugName: "cellValue" }] : /* istanbul ignore next */ []));
12555
12839
  effect(() => {
12556
12840
  this.recordId();
12557
12841
  this.fieldId();
@@ -12601,14 +12885,14 @@ class DynamicCellEditorComponent {
12601
12885
  }
12602
12886
  return GRID_CELL_EDITOR_MAP[fieldType];
12603
12887
  }
12604
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12605
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", type: DynamicCellEditorComponent, isStandalone: true, selector: "ai-dynamic-cell-editor", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, viewQueries: [{ propertyName: "editorHost", first: true, predicate: ["editorHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12888
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12889
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.4", type: DynamicCellEditorComponent, isStandalone: true, selector: "ai-dynamic-cell-editor", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, viewQueries: [{ propertyName: "editorHost", first: true, predicate: ["editorHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12606
12890
  <div class="ai-dynamic-cell-editor-wrapper">
12607
12891
  <ng-container #editorHost></ng-container>
12608
12892
  </div>
12609
12893
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12610
12894
  }
12611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12612
12896
  type: Component,
12613
12897
  args: [{
12614
12898
  selector: 'ai-dynamic-cell-editor',
@@ -12626,39 +12910,53 @@ class RecordDetailComponent {
12626
12910
  return getFieldIconPath(field) || IconPathMap[field.icon];
12627
12911
  }
12628
12912
  constructor() {
12629
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12630
- this.recordId = model.required(...(ngDevMode ? [{ debugName: "recordId" }] : []));
12631
- this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : []));
12632
- this.actions = input(...(ngDevMode ? [undefined, { debugName: "actions" }] : []));
12913
+ this.aiTable = input.required(/* @ts-ignore */
12914
+ ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12915
+ this.recordIdInput = input.required({ ...(ngDevMode ? { debugName: "recordIdInput" } : /* istanbul ignore next */ {}), alias: 'recordId' });
12916
+ this.recordId = linkedSignal(this.recordIdInput, /* @ts-ignore */
12917
+ ...(ngDevMode ? [{ debugName: "recordId" }] : /* istanbul ignore next */ []));
12918
+ this.references = input.required(/* @ts-ignore */
12919
+ ...(ngDevMode ? [{ debugName: "references" }] : /* istanbul ignore next */ []));
12920
+ this.actions = input(/* @ts-ignore */
12921
+ ...(ngDevMode ? [undefined, { debugName: "actions" }] : /* istanbul ignore next */ []));
12633
12922
  this.recordIdChange = output();
12634
- this.internalRecordId = signal('', ...(ngDevMode ? [{ debugName: "internalRecordId" }] : []));
12923
+ this.internalRecordId = signal('', /* @ts-ignore */
12924
+ ...(ngDevMode ? [{ debugName: "internalRecordId" }] : /* istanbul ignore next */ []));
12635
12925
  this.readonly = computed(() => {
12636
12926
  return this.aiTable()?.context?.readonly?.();
12637
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
12927
+ }, /* @ts-ignore */
12928
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
12638
12929
  this.currentRecordId = computed(() => {
12639
12930
  const inputId = this.recordId();
12640
12931
  const internalId = this.internalRecordId();
12641
12932
  return internalId || inputId;
12642
- }, ...(ngDevMode ? [{ debugName: "currentRecordId" }] : []));
12643
- this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : []));
12933
+ }, /* @ts-ignore */
12934
+ ...(ngDevMode ? [{ debugName: "currentRecordId" }] : /* istanbul ignore next */ []));
12935
+ this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', /* @ts-ignore */
12936
+ ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : /* istanbul ignore next */ []));
12644
12937
  this.record = computed(() => {
12645
12938
  return this.aiTable().recordsMap()[this.currentRecordId()];
12646
- }, ...(ngDevMode ? [{ debugName: "record" }] : []));
12939
+ }, /* @ts-ignore */
12940
+ ...(ngDevMode ? [{ debugName: "record" }] : /* istanbul ignore next */ []));
12647
12941
  this.fields = computed(() => {
12648
12942
  return this.aiTable().gridData().fields;
12649
- }, ...(ngDevMode ? [{ debugName: "fields" }] : []));
12943
+ }, /* @ts-ignore */
12944
+ ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
12650
12945
  this.firstField = computed(() => {
12651
12946
  return this.aiTable().gridData().fields[0];
12652
- }, ...(ngDevMode ? [{ debugName: "firstField" }] : []));
12947
+ }, /* @ts-ignore */
12948
+ ...(ngDevMode ? [{ debugName: "firstField" }] : /* istanbul ignore next */ []));
12653
12949
  this.lastField = computed(() => {
12654
12950
  const fields = this.aiTable().gridData().fields;
12655
12951
  return fields[fields.length - 1];
12656
- }, ...(ngDevMode ? [{ debugName: "lastField" }] : []));
12952
+ }, /* @ts-ignore */
12953
+ ...(ngDevMode ? [{ debugName: "lastField" }] : /* istanbul ignore next */ []));
12657
12954
  this.i18nTexts = computed(() => ({
12658
12955
  recordUntitled: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.recordUntitled),
12659
12956
  deleteRecord: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.deleteRecord),
12660
12957
  addField: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.addField)
12661
- }), ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
12958
+ }), /* @ts-ignore */
12959
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12662
12960
  this.recordTitle = computed(() => {
12663
12961
  let title = this.i18nTexts().recordUntitled;
12664
12962
  const field = this.firstField();
@@ -12674,19 +12972,23 @@ class RecordDetailComponent {
12674
12972
  }
12675
12973
  }
12676
12974
  return title;
12677
- }, ...(ngDevMode ? [{ debugName: "recordTitle" }] : []));
12975
+ }, /* @ts-ignore */
12976
+ ...(ngDevMode ? [{ debugName: "recordTitle" }] : /* istanbul ignore next */ []));
12678
12977
  this.recordNavigation = computed(() => {
12679
12978
  return getRecordNavigationInfo(this.aiTable(), this.currentRecordId());
12680
- }, ...(ngDevMode ? [{ debugName: "recordNavigation" }] : []));
12979
+ }, /* @ts-ignore */
12980
+ ...(ngDevMode ? [{ debugName: "recordNavigation" }] : /* istanbul ignore next */ []));
12681
12981
  this.fieldMenus = computed(() => {
12682
12982
  const fieldMenusFn = this.aiTable()?.context?.aiFieldConfig()?.recordDetailFieldMenus;
12683
12983
  if (fieldMenusFn && this.aiTable()) {
12684
12984
  return fieldMenusFn(this.aiTable());
12685
12985
  }
12686
12986
  return [];
12687
- }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : []));
12987
+ }, /* @ts-ignore */
12988
+ ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
12688
12989
  this.activeFieldId = null;
12689
- this.fieldMenuActive = signal({}, ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : []));
12990
+ this.fieldMenuActive = signal({}, /* @ts-ignore */
12991
+ ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : /* istanbul ignore next */ []));
12690
12992
  this.fieldMenuPopoverRef = null;
12691
12993
  this.currentPopoverFieldId = null;
12692
12994
  this.slideRef = inject(ThySlideRef);
@@ -12825,10 +13127,10 @@ class RecordDetailComponent {
12825
13127
  return (Array.isArray(value) && value.length === 0) || isUndefinedOrNull(value);
12826
13128
  }
12827
13129
  }
12828
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12829
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: RecordDetailComponent, isStandalone: true, selector: "ai-record-detail", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordId: "recordIdChange", recordIdChange: "recordIdChange" }, viewQueries: [{ propertyName: "fieldOperationsMenuTemplate", first: true, predicate: ["fieldOperationsMenuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between pl-8 pr-5 record-detail-header\">\n <span class=\"record-title\" thyFlexibleText [thyTooltipContent]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasPrevious\" (click)=\"previousRecord()\"\n ><thy-icon thyIconName=\"angle-up\"></thy-icon\n ></a>\n\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\"\n ><thy-icon thyIconName=\"angle-down\"></thy-icon\n ></a>\n </div>\n <thy-divider [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <div class=\"header-operations\">\n <a\n thyAction\n thyActiveClass=\"active\"\n href=\"javascript:;\"\n [thyDropdown]=\"headerMoreMenu\"\n thyTrigger=\"click\"\n thyPlacement=\"bottomRight\"\n ><thy-icon thyIconName=\"list\"></thy-icon\n ></a>\n\n <thy-dropdown-menu #headerMoreMenu>\n <a\n class=\"ai-table-record-detail-remove\"\n thyDropdownMenuItem\n [thyDisabled]=\"readonly()\"\n href=\"javascript:;\"\n (click)=\"deleteRecord()\"\n >\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>{{ i18nTexts().deleteRecord }}</span>\n </a>\n </thy-dropdown-menu>\n\n <a thyAction href=\"javascript:;\" (click)=\"close()\"><thy-icon thyIconName=\"close\"></thy-icon></a>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"px-8 cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div class=\"pt-4 cell-item\" [class.active]=\"activeFieldId === field._id\">\n <div #fieldMenuOrigin class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base\">\n {{ field.name }}\n </span>\n </div>\n @if (!readonly()) {\n <a\n class=\"field-action\"\n thyAction\n [thyActionActive]=\"fieldMenuActive()[field._id]\"\n href=\"javascript:;\"\n (click)=\"fieldMenuMoreClick($event, field._id, fieldMenuOrigin)\"\n ><thy-icon thyIconName=\"more-vertical\"></thy-icon\n ></a>\n }\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"cellClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n @if (!readonly()) {\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>{{ i18nTexts().addField }}</span>\n </button>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: DynamicCellEditorComponent, selector: "ai-dynamic-cell-editor", inputs: ["aiTable", "fieldId", "recordId", "references"], outputs: ["updateFieldValues"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: RecordDetailComponent, isStandalone: true, selector: "ai-record-detail", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, recordIdInput: { classPropertyName: "recordIdInput", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordIdChange: "recordIdChange" }, viewQueries: [{ propertyName: "fieldOperationsMenuTemplate", first: true, predicate: ["fieldOperationsMenuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between pl-8 pr-5 record-detail-header\">\n <span class=\"record-title\" thyFlexibleText [thyTooltipContent]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasPrevious\" (click)=\"previousRecord()\"\n ><thy-icon thyIconName=\"angle-up\"></thy-icon\n ></a>\n\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\"\n ><thy-icon thyIconName=\"angle-down\"></thy-icon\n ></a>\n </div>\n <thy-divider [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <div class=\"header-operations\">\n <a\n thyAction\n thyActiveClass=\"active\"\n href=\"javascript:;\"\n [thyDropdown]=\"headerMoreMenu\"\n thyTrigger=\"click\"\n thyPlacement=\"bottomRight\"\n ><thy-icon thyIconName=\"list\"></thy-icon\n ></a>\n\n <thy-dropdown-menu #headerMoreMenu>\n <a\n class=\"ai-table-record-detail-remove\"\n thyDropdownMenuItem\n [thyDisabled]=\"readonly()\"\n href=\"javascript:;\"\n (click)=\"deleteRecord()\"\n >\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>{{ i18nTexts().deleteRecord }}</span>\n </a>\n </thy-dropdown-menu>\n\n <a thyAction href=\"javascript:;\" (click)=\"close()\"><thy-icon thyIconName=\"close\"></thy-icon></a>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"px-8 cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div class=\"pt-4 cell-item\" [class.active]=\"activeFieldId === field._id\">\n <div #fieldMenuOrigin class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base\">\n {{ field.name }}\n </span>\n </div>\n @if (!readonly()) {\n <a\n class=\"field-action\"\n thyAction\n [thyActionActive]=\"fieldMenuActive()[field._id]\"\n href=\"javascript:;\"\n (click)=\"fieldMenuMoreClick($event, field._id, fieldMenuOrigin)\"\n ><thy-icon thyIconName=\"more-vertical\"></thy-icon\n ></a>\n }\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"cellClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n @if (!readonly()) {\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>{{ i18nTexts().addField }}</span>\n </button>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock", "thyDisabled"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyAppearance", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: DynamicCellEditorComponent, selector: "ai-dynamic-cell-editor", inputs: ["aiTable", "fieldId", "recordId", "references"], outputs: ["updateFieldValues"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12830
13132
  }
12831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailComponent, decorators: [{
13133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailComponent, decorators: [{
12832
13134
  type: Component,
12833
13135
  args: [{ selector: 'ai-record-detail', imports: [
12834
13136
  ThyButton,
@@ -12841,7 +13143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12841
13143
  DynamicCellEditorComponent,
12842
13144
  ThyFlexibleText
12843
13145
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between pl-8 pr-5 record-detail-header\">\n <span class=\"record-title\" thyFlexibleText [thyTooltipContent]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasPrevious\" (click)=\"previousRecord()\"\n ><thy-icon thyIconName=\"angle-up\"></thy-icon\n ></a>\n\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\"\n ><thy-icon thyIconName=\"angle-down\"></thy-icon\n ></a>\n </div>\n <thy-divider [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <div class=\"header-operations\">\n <a\n thyAction\n thyActiveClass=\"active\"\n href=\"javascript:;\"\n [thyDropdown]=\"headerMoreMenu\"\n thyTrigger=\"click\"\n thyPlacement=\"bottomRight\"\n ><thy-icon thyIconName=\"list\"></thy-icon\n ></a>\n\n <thy-dropdown-menu #headerMoreMenu>\n <a\n class=\"ai-table-record-detail-remove\"\n thyDropdownMenuItem\n [thyDisabled]=\"readonly()\"\n href=\"javascript:;\"\n (click)=\"deleteRecord()\"\n >\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>{{ i18nTexts().deleteRecord }}</span>\n </a>\n </thy-dropdown-menu>\n\n <a thyAction href=\"javascript:;\" (click)=\"close()\"><thy-icon thyIconName=\"close\"></thy-icon></a>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"px-8 cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div class=\"pt-4 cell-item\" [class.active]=\"activeFieldId === field._id\">\n <div #fieldMenuOrigin class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base\">\n {{ field.name }}\n </span>\n </div>\n @if (!readonly()) {\n <a\n class=\"field-action\"\n thyAction\n [thyActionActive]=\"fieldMenuActive()[field._id]\"\n href=\"javascript:;\"\n (click)=\"fieldMenuMoreClick($event, field._id, fieldMenuOrigin)\"\n ><thy-icon thyIconName=\"more-vertical\"></thy-icon\n ></a>\n }\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"cellClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n @if (!readonly()) {\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>{{ i18nTexts().addField }}</span>\n </button>\n }\n </div>\n </div>\n</div>\n" }]
12844
- }], ctorParameters: () => [], propDecorators: { aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], recordId: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordId", required: true }] }, { type: i0.Output, args: ["recordIdChange"] }], references: [{ type: i0.Input, args: [{ isSignal: true, alias: "references", required: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], recordIdChange: [{ type: i0.Output, args: ["recordIdChange"] }], fieldOperationsMenuTemplate: [{ type: i0.ViewChild, args: ['fieldOperationsMenuTemplate', { isSignal: true }] }] } });
13146
+ }], ctorParameters: () => [], propDecorators: { aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], recordIdInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordId", required: true }] }], references: [{ type: i0.Input, args: [{ isSignal: true, alias: "references", required: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], recordIdChange: [{ type: i0.Output, args: ["recordIdChange"] }], fieldOperationsMenuTemplate: [{ type: i0.ViewChild, args: ['fieldOperationsMenuTemplate', { isSignal: true }] }] } });
12845
13147
 
12846
13148
  class AITableGridEventService {
12847
13149
  constructor() {
@@ -13073,10 +13375,10 @@ class AITableGridEventService {
13073
13375
  });
13074
13376
  return ref;
13075
13377
  }
13076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13077
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridEventService }); }
13378
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13379
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridEventService }); }
13078
13380
  }
13079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridEventService, decorators: [{
13381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridEventService, decorators: [{
13080
13382
  type: Injectable
13081
13383
  }] });
13082
13384
 
@@ -13125,38 +13427,57 @@ class AITableGridFieldService {
13125
13427
  });
13126
13428
  return ref;
13127
13429
  }
13128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
13129
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridFieldService }); }
13430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
13431
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridFieldService }); }
13130
13432
  }
13131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridFieldService, decorators: [{
13433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridFieldService, decorators: [{
13132
13434
  type: Injectable
13133
13435
  }], ctorParameters: () => [{ type: i1$1.ThyPopover }] });
13134
13436
 
13135
13437
  class AITableGridBase {
13136
13438
  constructor() {
13137
- this.aiRecords = model.required(...(ngDevMode ? [{ debugName: "aiRecords" }] : []));
13138
- this.aiFields = model.required(...(ngDevMode ? [{ debugName: "aiFields" }] : []));
13139
- this.aiContextMenuItems = input(...(ngDevMode ? [undefined, { debugName: "aiContextMenuItems" }] : []));
13140
- this.aiFieldConfig = input(...(ngDevMode ? [undefined, { debugName: "aiFieldConfig" }] : []));
13141
- this.aiReadonly = input(false, ...(ngDevMode ? [{ debugName: "aiReadonly" }] : []));
13142
- this.aiPlugins = input(...(ngDevMode ? [undefined, { debugName: "aiPlugins" }] : []));
13143
- this.aiMaxFields = input(...(ngDevMode ? [undefined, { debugName: "aiMaxFields" }] : []));
13144
- this.aiMaxRecords = input(...(ngDevMode ? [undefined, { debugName: "aiMaxRecords" }] : []));
13145
- this.aiMaxSelectOptions = input(...(ngDevMode ? [undefined, { debugName: "aiMaxSelectOptions" }] : []));
13146
- this.aiReferences = input.required(...(ngDevMode ? [{ debugName: "aiReferences" }] : []));
13147
- this.aiBuildRenderDataFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildRenderDataFn" }] : []));
13148
- this.aiBuildGroupLinearRowsFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildGroupLinearRowsFn" }] : []));
13149
- this.aiSortKeysMap = input(...(ngDevMode ? [undefined, { debugName: "aiSortKeysMap" }] : []));
13150
- this.aiGetI18nTextByKey = input(...(ngDevMode ? [undefined, { debugName: "aiGetI18nTextByKey" }] : []));
13151
- this.aiKeywords = input(...(ngDevMode ? [undefined, { debugName: "aiKeywords" }] : []));
13152
- this.aiFrozenColumnCountFn = input(...(ngDevMode ? [undefined, { debugName: "aiFrozenColumnCountFn" }] : []));
13153
- this.aiRecordHeight = input(AITableRecordHeightType.low, ...(ngDevMode ? [{ debugName: "aiRecordHeight" }] : []));
13154
- this.aiRecordDetailConfig = input(...(ngDevMode ? [undefined, { debugName: "aiRecordDetailConfig" }] : []));
13439
+ this.aiRecords = model.required(/* @ts-ignore */
13440
+ ...(ngDevMode ? [{ debugName: "aiRecords" }] : /* istanbul ignore next */ []));
13441
+ this.aiFields = model.required(/* @ts-ignore */
13442
+ ...(ngDevMode ? [{ debugName: "aiFields" }] : /* istanbul ignore next */ []));
13443
+ this.aiContextMenuItems = input(/* @ts-ignore */
13444
+ ...(ngDevMode ? [undefined, { debugName: "aiContextMenuItems" }] : /* istanbul ignore next */ []));
13445
+ this.aiFieldConfig = input(/* @ts-ignore */
13446
+ ...(ngDevMode ? [undefined, { debugName: "aiFieldConfig" }] : /* istanbul ignore next */ []));
13447
+ this.aiReadonly = input(false, /* @ts-ignore */
13448
+ ...(ngDevMode ? [{ debugName: "aiReadonly" }] : /* istanbul ignore next */ []));
13449
+ this.aiPlugins = input(/* @ts-ignore */
13450
+ ...(ngDevMode ? [undefined, { debugName: "aiPlugins" }] : /* istanbul ignore next */ []));
13451
+ this.aiMaxFields = input(/* @ts-ignore */
13452
+ ...(ngDevMode ? [undefined, { debugName: "aiMaxFields" }] : /* istanbul ignore next */ []));
13453
+ this.aiMaxRecords = input(/* @ts-ignore */
13454
+ ...(ngDevMode ? [undefined, { debugName: "aiMaxRecords" }] : /* istanbul ignore next */ []));
13455
+ this.aiMaxSelectOptions = input(/* @ts-ignore */
13456
+ ...(ngDevMode ? [undefined, { debugName: "aiMaxSelectOptions" }] : /* istanbul ignore next */ []));
13457
+ this.aiReferences = input.required(/* @ts-ignore */
13458
+ ...(ngDevMode ? [{ debugName: "aiReferences" }] : /* istanbul ignore next */ []));
13459
+ this.aiBuildRenderDataFn = input(/* @ts-ignore */
13460
+ ...(ngDevMode ? [undefined, { debugName: "aiBuildRenderDataFn" }] : /* istanbul ignore next */ []));
13461
+ this.aiBuildGroupLinearRowsFn = input(/* @ts-ignore */
13462
+ ...(ngDevMode ? [undefined, { debugName: "aiBuildGroupLinearRowsFn" }] : /* istanbul ignore next */ []));
13463
+ this.aiSortKeysMap = input(/* @ts-ignore */
13464
+ ...(ngDevMode ? [undefined, { debugName: "aiSortKeysMap" }] : /* istanbul ignore next */ []));
13465
+ this.aiGetI18nTextByKey = input(/* @ts-ignore */
13466
+ ...(ngDevMode ? [undefined, { debugName: "aiGetI18nTextByKey" }] : /* istanbul ignore next */ []));
13467
+ this.aiKeywords = input(/* @ts-ignore */
13468
+ ...(ngDevMode ? [undefined, { debugName: "aiKeywords" }] : /* istanbul ignore next */ []));
13469
+ this.aiFrozenColumnCountFn = input(/* @ts-ignore */
13470
+ ...(ngDevMode ? [undefined, { debugName: "aiFrozenColumnCountFn" }] : /* istanbul ignore next */ []));
13471
+ this.aiRecordHeight = input(AITableRecordHeightType.low, /* @ts-ignore */
13472
+ ...(ngDevMode ? [{ debugName: "aiRecordHeight" }] : /* istanbul ignore next */ []));
13473
+ this.aiRecordDetailConfig = input(/* @ts-ignore */
13474
+ ...(ngDevMode ? [undefined, { debugName: "aiRecordDetailConfig" }] : /* istanbul ignore next */ []));
13155
13475
  this.AITableFieldType = AITableFieldType;
13156
13476
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
13157
13477
  this.isSelectedAll = computed(() => {
13158
13478
  return this.aiTable.selection().selectedRecords.size === this.aiRecords().length;
13159
- }, ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : []));
13479
+ }, /* @ts-ignore */
13480
+ ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : /* istanbul ignore next */ []));
13160
13481
  this.aiTableInitialized = output();
13161
13482
  this.aiAddRecord = output();
13162
13483
  this.aiRemoveRecord = output();
@@ -13177,7 +13498,8 @@ class AITableGridBase {
13177
13498
  return fieldMenusFn(this.aiTable);
13178
13499
  }
13179
13500
  return [];
13180
- }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : []));
13501
+ }, /* @ts-ignore */
13502
+ ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
13181
13503
  this.gridData = computed(() => {
13182
13504
  this.aiTable.recordsWillHidden();
13183
13505
  if (this.aiBuildRenderDataFn && this.aiBuildRenderDataFn() && this.aiTable) {
@@ -13187,7 +13509,8 @@ class AITableGridBase {
13187
13509
  records: this.aiRecords(),
13188
13510
  fields: this.aiFields()
13189
13511
  };
13190
- }, ...(ngDevMode ? [{ debugName: "gridData" }] : []));
13512
+ }, /* @ts-ignore */
13513
+ ...(ngDevMode ? [{ debugName: "gridData" }] : /* istanbul ignore next */ []));
13191
13514
  this.ngZone = inject(NgZone);
13192
13515
  this.elementRef = inject(ElementRef);
13193
13516
  this.destroyRef = inject(DestroyRef);
@@ -13276,10 +13599,10 @@ class AITableGridBase {
13276
13599
  this.aiTableGridEventService.openEdit(cellDom);
13277
13600
  }
13278
13601
  }
13279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13280
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableGridBase, isStandalone: true, selector: "ai-table-grid-base", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiContextMenuItems: { classPropertyName: "aiContextMenuItems", publicName: "aiContextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiMaxFields: { classPropertyName: "aiMaxFields", publicName: "aiMaxFields", isSignal: true, isRequired: false, transformFunction: null }, aiMaxRecords: { classPropertyName: "aiMaxRecords", publicName: "aiMaxRecords", isSignal: true, isRequired: false, transformFunction: null }, aiMaxSelectOptions: { classPropertyName: "aiMaxSelectOptions", publicName: "aiMaxSelectOptions", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: true, transformFunction: null }, aiBuildRenderDataFn: { classPropertyName: "aiBuildRenderDataFn", publicName: "aiBuildRenderDataFn", isSignal: true, isRequired: false, transformFunction: null }, aiBuildGroupLinearRowsFn: { classPropertyName: "aiBuildGroupLinearRowsFn", publicName: "aiBuildGroupLinearRowsFn", isSignal: true, isRequired: false, transformFunction: null }, aiSortKeysMap: { classPropertyName: "aiSortKeysMap", publicName: "aiSortKeysMap", isSignal: true, isRequired: false, transformFunction: null }, aiGetI18nTextByKey: { classPropertyName: "aiGetI18nTextByKey", publicName: "aiGetI18nTextByKey", isSignal: true, isRequired: false, transformFunction: null }, aiKeywords: { classPropertyName: "aiKeywords", publicName: "aiKeywords", isSignal: true, isRequired: false, transformFunction: null }, aiFrozenColumnCountFn: { classPropertyName: "aiFrozenColumnCountFn", publicName: "aiFrozenColumnCountFn", isSignal: true, isRequired: false, transformFunction: null }, aiRecordHeight: { classPropertyName: "aiRecordHeight", publicName: "aiRecordHeight", isSignal: true, isRequired: false, transformFunction: null }, aiRecordDetailConfig: { classPropertyName: "aiRecordDetailConfig", publicName: "aiRecordDetailConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", aiTableInitialized: "aiTableInitialized", aiAddRecord: "aiAddRecord", aiRemoveRecord: "aiRemoveRecord", aiAddField: "aiAddField", aiCopyRecords: "aiCopyRecords", aiMoveField: "aiMoveField", aiUpdateFieldValues: "aiUpdateFieldValues", aiSetField: "aiSetField", aiSetFieldWidth: "aiSetFieldWidth", aiSetFieldStatType: "aiSetFieldStatType", aiMoveRecords: "aiMoveRecords", aiClick: "aiClick", aiDbClick: "aiDbClick", aiRowGroupCollapseClick: "aiRowGroupCollapseClick" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13603
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableGridBase, isStandalone: true, selector: "ai-table-grid-base", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiContextMenuItems: { classPropertyName: "aiContextMenuItems", publicName: "aiContextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiMaxFields: { classPropertyName: "aiMaxFields", publicName: "aiMaxFields", isSignal: true, isRequired: false, transformFunction: null }, aiMaxRecords: { classPropertyName: "aiMaxRecords", publicName: "aiMaxRecords", isSignal: true, isRequired: false, transformFunction: null }, aiMaxSelectOptions: { classPropertyName: "aiMaxSelectOptions", publicName: "aiMaxSelectOptions", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: true, transformFunction: null }, aiBuildRenderDataFn: { classPropertyName: "aiBuildRenderDataFn", publicName: "aiBuildRenderDataFn", isSignal: true, isRequired: false, transformFunction: null }, aiBuildGroupLinearRowsFn: { classPropertyName: "aiBuildGroupLinearRowsFn", publicName: "aiBuildGroupLinearRowsFn", isSignal: true, isRequired: false, transformFunction: null }, aiSortKeysMap: { classPropertyName: "aiSortKeysMap", publicName: "aiSortKeysMap", isSignal: true, isRequired: false, transformFunction: null }, aiGetI18nTextByKey: { classPropertyName: "aiGetI18nTextByKey", publicName: "aiGetI18nTextByKey", isSignal: true, isRequired: false, transformFunction: null }, aiKeywords: { classPropertyName: "aiKeywords", publicName: "aiKeywords", isSignal: true, isRequired: false, transformFunction: null }, aiFrozenColumnCountFn: { classPropertyName: "aiFrozenColumnCountFn", publicName: "aiFrozenColumnCountFn", isSignal: true, isRequired: false, transformFunction: null }, aiRecordHeight: { classPropertyName: "aiRecordHeight", publicName: "aiRecordHeight", isSignal: true, isRequired: false, transformFunction: null }, aiRecordDetailConfig: { classPropertyName: "aiRecordDetailConfig", publicName: "aiRecordDetailConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", aiTableInitialized: "aiTableInitialized", aiAddRecord: "aiAddRecord", aiRemoveRecord: "aiRemoveRecord", aiAddField: "aiAddField", aiCopyRecords: "aiCopyRecords", aiMoveField: "aiMoveField", aiUpdateFieldValues: "aiUpdateFieldValues", aiSetField: "aiSetField", aiSetFieldWidth: "aiSetFieldWidth", aiSetFieldStatType: "aiSetFieldStatType", aiMoveRecords: "aiMoveRecords", aiClick: "aiClick", aiDbClick: "aiDbClick", aiRowGroupCollapseClick: "aiRowGroupCollapseClick" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13281
13604
  }
13282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridBase, decorators: [{
13605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridBase, decorators: [{
13283
13606
  type: Component,
13284
13607
  args: [{
13285
13608
  selector: 'ai-table-grid-base',
@@ -13302,10 +13625,10 @@ class AITableDomGrid extends AITableGridBase {
13302
13625
  fieldMenus: this.fieldMenus()
13303
13626
  });
13304
13627
  }
13305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { 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: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyValue", "currentValue", "hasHalf", "thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyValueChange", "currentValueChange", "hasHalfChange", "thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i2$2.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i3$1.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "component", type: i3$1.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13628
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13629
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"$safeNavigationMigration(record.values[field._id]?.url)\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"$safeNavigationMigration(record.values[field._id]?.text)\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { 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: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyAppearance", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyValue", "currentValue", "hasHalf", "thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyValueChange", "currentValueChange", "hasHalfChange", "thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyAppearance", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i2$2.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i3$1.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "component", type: i3$1.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13307
13630
  }
13308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDomGrid, decorators: [{
13631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableDomGrid, decorators: [{
13309
13632
  type: Component,
13310
13633
  args: [{ selector: 'ai-table-dom-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
13311
13634
  class: 'ai-table-grid ai-table-dom-grid'
@@ -13331,7 +13654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
13331
13654
  UserPipe,
13332
13655
  SelectSettingPipe,
13333
13656
  MemberSettingPipe
13334
- ], providers: [AITableGridEventService, AITableGridFieldService], template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n" }]
13657
+ ], providers: [AITableGridEventService, AITableGridFieldService], template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"$safeNavigationMigration(record.values[field._id]?.url)\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"$safeNavigationMigration(record.values[field._id]?.text)\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n" }]
13335
13658
  }] });
13336
13659
 
13337
13660
  class AITableScrollControllerService {
@@ -13525,10 +13848,10 @@ class AITableScrollControllerService {
13525
13848
  this.mouseUpSubscription = null;
13526
13849
  }
13527
13850
  }
13528
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollControllerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
13529
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollControllerService }); }
13851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableScrollControllerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
13852
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableScrollControllerService }); }
13530
13853
  }
13531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13532
13855
  type: Injectable
13533
13856
  }], ctorParameters: () => [{ type: i0.NgZone }] });
13534
13857
 
@@ -13617,17 +13940,19 @@ class RecordDetailService {
13617
13940
  }
13618
13941
  });
13619
13942
  }
13620
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13621
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailService }); }
13943
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13944
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailService }); }
13622
13945
  }
13623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailService, decorators: [{
13946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailService, decorators: [{
13624
13947
  type: Injectable
13625
13948
  }] });
13626
13949
 
13627
13950
  class AITableDragComponent {
13628
13951
  constructor() {
13629
- this.horizontalBar = input(...(ngDevMode ? [undefined, { debugName: "horizontalBar" }] : []));
13630
- this.verticalBar = input(...(ngDevMode ? [undefined, { debugName: "verticalBar" }] : []));
13952
+ this.horizontalBar = input(/* @ts-ignore */
13953
+ ...(ngDevMode ? [undefined, { debugName: "horizontalBar" }] : /* istanbul ignore next */ []));
13954
+ this.verticalBar = input(/* @ts-ignore */
13955
+ ...(ngDevMode ? [undefined, { debugName: "verticalBar" }] : /* istanbul ignore next */ []));
13631
13956
  this.dragEnd = output();
13632
13957
  this.aiTableGridEventService = inject(AITableGridEventService);
13633
13958
  this.render2 = inject(Renderer2);
@@ -14066,10 +14391,10 @@ class AITableDragComponent {
14066
14391
  }
14067
14392
  this.scrollControllerService.destroy();
14068
14393
  }
14069
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14070
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", inputs: { horizontalBar: { classPropertyName: "horizontalBar", publicName: "horizontalBar", isSignal: true, isRequired: false, transformFunction: null }, verticalBar: { classPropertyName: "verticalBar", publicName: "verticalBar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14394
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14395
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", inputs: { horizontalBar: { classPropertyName: "horizontalBar", publicName: "horizontalBar", isSignal: true, isRequired: false, transformFunction: null }, verticalBar: { classPropertyName: "verticalBar", publicName: "verticalBar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14071
14396
  }
14072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDragComponent, decorators: [{
14397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableDragComponent, decorators: [{
14073
14398
  type: Component,
14074
14399
  args: [{ selector: 'ai-table-drag', changeDetection: ChangeDetectionStrategy.OnPush, host: {
14075
14400
  class: 'ai-table-drag-container'
@@ -14112,7 +14437,8 @@ class AITableGrid extends AITableGridBase {
14112
14437
  this.recordDetailService = inject(RecordDetailService);
14113
14438
  this.isPopoverOpen = false;
14114
14439
  this.fieldHeadHeight = AI_TABLE_FIELD_HEAD_HEIGHT;
14115
- this.containerRect = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "containerRect" }] : []));
14440
+ this.containerRect = signal({ width: 0, height: 0 }, /* @ts-ignore */
14441
+ ...(ngDevMode ? [{ debugName: "containerRect" }] : /* istanbul ignore next */ []));
14116
14442
  this.frozenColumnCount = computed(() => {
14117
14443
  const containerWidth = this.containerRect().width;
14118
14444
  const aiFrozenColumnCountFn = this.aiFrozenColumnCountFn();
@@ -14120,17 +14446,24 @@ class AITableGrid extends AITableGridBase {
14120
14446
  return aiFrozenColumnCountFn(containerWidth);
14121
14447
  }
14122
14448
  return AI_TABLE_MIN_FROZEN_COLUMN_COUNT;
14123
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
14124
- this.showExpandIcon = computed(() => !!this.aiRecordDetailConfig()?.showExpandIcon, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : []));
14449
+ }, /* @ts-ignore */
14450
+ ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
14451
+ this.showExpandIcon = computed(() => !!this.aiRecordDetailConfig()?.showExpandIcon, /* @ts-ignore */
14452
+ ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
14125
14453
  this.hasContainerRect = computed(() => {
14126
14454
  return this.containerRect().width > 0 && this.containerRect().height > 0;
14127
- }, ...(ngDevMode ? [{ debugName: "hasContainerRect" }] : []));
14128
- this.container = viewChild('container', ...(ngDevMode ? [{ debugName: "container" }] : []));
14129
- this.verticalBarRef = viewChild('verticalBar', ...(ngDevMode ? [{ debugName: "verticalBarRef" }] : []));
14130
- this.horizontalBarRef = viewChild('horizontalBar', ...(ngDevMode ? [{ debugName: "horizontalBarRef" }] : []));
14455
+ }, /* @ts-ignore */
14456
+ ...(ngDevMode ? [{ debugName: "hasContainerRect" }] : /* istanbul ignore next */ []));
14457
+ this.container = viewChild('container', /* @ts-ignore */
14458
+ ...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
14459
+ this.verticalBarRef = viewChild('verticalBar', /* @ts-ignore */
14460
+ ...(ngDevMode ? [{ debugName: "verticalBarRef" }] : /* istanbul ignore next */ []));
14461
+ this.horizontalBarRef = viewChild('horizontalBar', /* @ts-ignore */
14462
+ ...(ngDevMode ? [{ debugName: "horizontalBarRef" }] : /* istanbul ignore next */ []));
14131
14463
  this.linearRows = computed(() => {
14132
14464
  return buildGridLinearRows(this.gridData().records, !this.aiReadonly(), this.aiTable, this.aiBuildGroupLinearRowsFn?.());
14133
- }, ...(ngDevMode ? [{ debugName: "linearRows" }] : []));
14465
+ }, /* @ts-ignore */
14466
+ ...(ngDevMode ? [{ debugName: "linearRows" }] : /* istanbul ignore next */ []));
14134
14467
  this.domToolTips = computed(() => {
14135
14468
  const scrollTop = this.aiTable.context.scrollState().scrollTop;
14136
14469
  const rowIndices = this.toolTipRowIndices();
@@ -14143,7 +14476,8 @@ class AITableGrid extends AITableGridBase {
14143
14476
  tooltip
14144
14477
  };
14145
14478
  });
14146
- }, ...(ngDevMode ? [{ debugName: "domToolTips" }] : []));
14479
+ }, /* @ts-ignore */
14480
+ ...(ngDevMode ? [{ debugName: "domToolTips" }] : /* istanbul ignore next */ []));
14147
14481
  this.toolTipRowIndices = computed(() => {
14148
14482
  const hiddenRows = this.aiTable.recordsWillHidden() || [];
14149
14483
  const moveRows = this.aiTable.recordsWillMove() || [];
@@ -14160,11 +14494,13 @@ class AITableGrid extends AITableGridBase {
14160
14494
  });
14161
14495
  });
14162
14496
  return toolTipRowIndices;
14163
- }, ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : []));
14497
+ }, /* @ts-ignore */
14498
+ ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : /* istanbul ignore next */ []));
14164
14499
  this.visibleColumnsIndexMap = computed(() => {
14165
14500
  const columns = AITable.getVisibleFields(this.aiTable);
14166
14501
  return new Map(columns?.map((item, index) => [item._id, index]));
14167
- }, ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : []));
14502
+ }, /* @ts-ignore */
14503
+ ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : /* istanbul ignore next */ []));
14168
14504
  this.fieldOptions = computed(() => {
14169
14505
  let allFieldOptions = getDefaultFieldOptions().map((fieldOption) => {
14170
14506
  const name = getI18nTextByKey(this.aiTable, fieldOption.name);
@@ -14180,16 +14516,20 @@ class AITableGrid extends AITableGridBase {
14180
14516
  allFieldOptions = filterFieldOptions(allFieldOptions);
14181
14517
  }
14182
14518
  return allFieldOptions;
14183
- }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : []));
14519
+ }, /* @ts-ignore */
14520
+ ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
14184
14521
  this.fieldOptionMap = computed(() => {
14185
14522
  return new Map(this.fieldOptions().map((fieldOption) => [fieldOption.type, fieldOption]));
14186
- }, ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : []));
14523
+ }, /* @ts-ignore */
14524
+ ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : /* istanbul ignore next */ []));
14187
14525
  this.visibleRowsIndexMap = computed(() => {
14188
14526
  return new Map(this.linearRows().map((row, index) => [row._id, index]));
14189
- }, ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : []));
14527
+ }, /* @ts-ignore */
14528
+ ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : /* istanbul ignore next */ []));
14190
14529
  this.containerElement = computed(() => {
14191
14530
  return this.container().nativeElement;
14192
- }, ...(ngDevMode ? [{ debugName: "containerElement" }] : []));
14531
+ }, /* @ts-ignore */
14532
+ ...(ngDevMode ? [{ debugName: "containerElement" }] : /* istanbul ignore next */ []));
14193
14533
  this.trackBy = (index, item) => {
14194
14534
  return item.sort_by ?? index;
14195
14535
  };
@@ -14221,25 +14561,31 @@ class AITableGrid extends AITableGridBase {
14221
14561
  maxRecords: this.aiMaxRecords(),
14222
14562
  maxSelectOptions: this.aiMaxSelectOptions()
14223
14563
  };
14224
- }, ...(ngDevMode ? [{ debugName: "rendererConfig" }] : []));
14564
+ }, /* @ts-ignore */
14565
+ ...(ngDevMode ? [{ debugName: "rendererConfig" }] : /* istanbul ignore next */ []));
14225
14566
  this.coordinate = computed(() => {
14226
14567
  return this.rendererConfig().coordinate;
14227
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
14568
+ }, /* @ts-ignore */
14569
+ ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
14228
14570
  this.scrollState = computed(() => {
14229
14571
  return this.aiTable.context.scrollState();
14230
- }, ...(ngDevMode ? [{ debugName: "scrollState" }] : []));
14572
+ }, /* @ts-ignore */
14573
+ ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
14231
14574
  this.scrollTotalHeight = computed(() => {
14232
14575
  return Math.max(this.coordinate().totalHeight, this.containerRect().height - this.fieldHeadHeight);
14233
- }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : []));
14576
+ }, /* @ts-ignore */
14577
+ ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
14234
14578
  this.scrollbarWidth = computed(() => {
14235
14579
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
14236
- }, ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : []));
14580
+ }, /* @ts-ignore */
14581
+ ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : /* istanbul ignore next */ []));
14237
14582
  this.i18nTexts = computed(() => {
14238
14583
  this.aiGetI18nTextByKey();
14239
14584
  return {
14240
14585
  rowAddFilterTooltip: getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip)
14241
14586
  };
14242
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
14587
+ }, /* @ts-ignore */
14588
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
14243
14589
  // rowAddFilterTooltip = getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip);
14244
14590
  this.rowIndicesMap = computed(() => {
14245
14591
  const rowIndicesMap = {};
@@ -14252,7 +14598,8 @@ class AITableGrid extends AITableGridBase {
14252
14598
  }
14253
14599
  });
14254
14600
  return rowIndicesMap;
14255
- }, ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : []));
14601
+ }, /* @ts-ignore */
14602
+ ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : /* istanbul ignore next */ []));
14256
14603
  this.actions = {
14257
14604
  updateFieldValues: (data) => {
14258
14605
  this.aiUpdateFieldValues.emit(data);
@@ -15265,10 +15612,10 @@ class AITableGrid extends AITableGridBase {
15265
15612
  }
15266
15613
  });
15267
15614
  }
15268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15269
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n (koTouchstart)=\"stageTouchstart($event)\"\n (koTouchmove)=\"stageTouchmove($event)\"\n (koTouchend)=\"stageTouchend($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"domToolTip.tooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n [style.height.px]=\"domToolTip.height\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\n }\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave", "koTouchstart", "koTouchmove", "koTouchend", "onScrollPosition"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", inputs: ["horizontalBar", "verticalBar"], outputs: ["dragEnd"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15615
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15616
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n (koTouchstart)=\"stageTouchstart($event)\"\n (koTouchmove)=\"stageTouchmove($event)\"\n (koTouchend)=\"stageTouchend($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"domToolTip.tooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n [style.height.px]=\"domToolTip.height\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\n }\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave", "koTouchstart", "koTouchmove", "koTouchend", "onScrollPosition"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", inputs: ["horizontalBar", "verticalBar"], outputs: ["dragEnd"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15270
15617
  }
15271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGrid, decorators: [{
15618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGrid, decorators: [{
15272
15619
  type: Component,
15273
15620
  args: [{ selector: 'ai-table-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
15274
15621
  class: 'ai-table-grid'