@ai-table/grid 0.6.0 → 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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
328
329
  }] } });
329
330
 
330
331
  class KoContainer extends KoShape {
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
353
354
 
354
355
  class KoStage {
355
356
  constructor() {
356
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
1682
+ this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low, /* @ts-ignore */
1683
+ ...(ngDevMode ? [{ debugName: "recordHeight" }] : /* istanbul ignore next */ []));
1681
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1743
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1799
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
1896
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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],[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"] }, { 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1991
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
5251
- this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
5268
+ }, /* @ts-ignore */
5269
+ ...(ngDevMode ? [{ debugName: "isExpand" }] : /* istanbul ignore next */ []));
5256
5270
  }
5257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
5274
- this.transformValue = computed(() => this.render()?.transformValue, ...(ngDevMode ? [{ debugName: "transformValue" }] : /* istanbul ignore next */ []));
5275
- this.showLink = computed(() => !!this.transformValue()?.text, ...(ngDevMode ? [{ debugName: "showLink" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5331
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
5358
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5436
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5752
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5832
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
7402
+ }, /* @ts-ignore */
7403
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7372
7404
  }
7373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
7395
7427
 
7396
7428
  class AITableAddField {
7397
7429
  constructor() {
7398
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
7477
+ }, /* @ts-ignore */
7478
+ ...(ngDevMode ? [{ debugName: "addIconConfig" }] : /* istanbul ignore next */ []));
7443
7479
  }
7444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
7478
7514
 
7479
7515
  class AITableCells {
7480
7516
  constructor() {
7481
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
7531
+ }, /* @ts-ignore */
7532
+ ...(ngDevMode ? [{ debugName: "cellsShapeConfig" }] : /* istanbul ignore next */ []));
7495
7533
  }
7496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7497
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
7508
7546
 
7509
7547
  class AITableFieldIcon {
7510
7548
  constructor() {
7511
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
7563
+ }, /* @ts-ignore */
7564
+ ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7525
7565
  }
7526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7527
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
7538
7578
 
7539
7579
  class AITableFieldHead {
7540
7580
  constructor() {
7541
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
7689
+ }, /* @ts-ignore */
7690
+ ...(ngDevMode ? [{ debugName: "fieldOpacityLineConfig" }] : /* istanbul ignore next */ []));
7642
7691
  }
7643
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
7679
7728
 
7680
7729
  class AITableFrozenCells {
7681
7730
  constructor() {
7682
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
7746
+ }, /* @ts-ignore */
7747
+ ...(ngDevMode ? [{ debugName: "frozenCellsConfig" }] : /* istanbul ignore next */ []));
7697
7748
  }
7698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7699
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7982
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8027
8095
 
8028
8096
  class AITableFrozenPlaceholderCells {
8029
8097
  constructor() {
8030
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8107
+ }, /* @ts-ignore */
8108
+ ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : /* istanbul ignore next */ []));
8039
8109
  }
8040
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8041
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8060
8130
 
8061
8131
  class AITableColumnHeads {
8062
8132
  constructor() {
8063
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8142
+ }, /* @ts-ignore */
8143
+ ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
8072
8144
  }
8073
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8074
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8093
8165
 
8094
8166
  class AITableHoverRowHeads {
8095
8167
  constructor() {
8096
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8218
8295
 
8219
8296
  class AITableOtherRows {
8220
8297
  constructor() {
8221
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8286
8365
 
8287
8366
  class AITablePlaceholderCells {
8288
8367
  constructor() {
8289
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8372
+ }, /* @ts-ignore */
8373
+ ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : /* istanbul ignore next */ []));
8293
8374
  }
8294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8314
8395
 
8315
8396
  class AITableExpandRecord {
8316
8397
  constructor() {
8317
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8464
+ }, /* @ts-ignore */
8465
+ ...(ngDevMode ? [{ debugName: "expandIconConfig" }] : /* istanbul ignore next */ []));
8381
8466
  }
8382
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8383
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8406
8491
 
8407
8492
  class AITableBackground {
8408
8493
  constructor() {
8409
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8410
- this.isActive = input(false, ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8419
- this.isHover = model(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8531
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8576
8671
 
8577
8672
  class AITableShadow {
8578
8673
  constructor() {
8579
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8688
+ }, /* @ts-ignore */
8689
+ ...(ngDevMode ? [{ debugName: "shadowConfig" }] : /* istanbul ignore next */ []));
8593
8690
  }
8594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8595
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
8606
8703
 
8607
8704
  class AITableScrollableGroup {
8608
8705
  constructor() {
8609
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8610
- this.contentTemplate = input.required(...(ngDevMode ? [{ debugName: "contentTemplate" }] : /* istanbul ignore next */ []));
8611
- this.parentContainer = input(...(ngDevMode ? [undefined, { debugName: "parentContainer" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8614
- this.hiddenScrollbar = signal(true, ...(ngDevMode ? [{ debugName: "hiddenScrollbar" }] : /* istanbul ignore next */ []));
8615
- this.isHoverScrollbar = signal(false, ...(ngDevMode ? [{ debugName: "isHoverScrollbar" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
8618
- this.scrollY = signal(0, ...(ngDevMode ? [{ debugName: "scrollY" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8947
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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" }] : /* istanbul ignore next */ []));
9184
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
9185
- this.statMenus = input.required(...(ngDevMode ? [{ debugName: "statMenus" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9196
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
9205
9333
  class AITableFieldStat {
9206
9334
  constructor() {
9207
9335
  this.thyPopover = inject(ThyPopover);
9208
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
9211
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
9305
- this.groupRow = computed(() => this.config().groupRow, ...(ngDevMode ? [{ debugName: "groupRow" }] : /* istanbul ignore next */ []));
9306
- this.gridData = computed(() => this.config().aiTable.gridData(), ...(ngDevMode ? [{ debugName: "gridData" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9601
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
9652
9810
 
9653
9811
  class AITableGroups {
9654
9812
  constructor() {
9655
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
9852
+ }, /* @ts-ignore */
9853
+ ...(ngDevMode ? [{ debugName: "groupCells" }] : /* istanbul ignore next */ []));
9691
9854
  }
9692
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
9712
9875
 
9713
9876
  class AITableFrozenGroups {
9714
9877
  constructor() {
9715
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9780
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
9805
9974
 
9806
9975
  class AITableFillHandle {
9807
9976
  constructor() {
9808
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
10020
+ }, /* @ts-ignore */
10021
+ ...(ngDevMode ? [{ debugName: "handleConfig" }] : /* istanbul ignore next */ []));
9850
10022
  }
9851
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9852
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
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" }] : /* istanbul ignore next */ []));
9874
- this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
9947
- this.coverCell = computed(() => getCoverCell(this.config().aiTable), ...(ngDevMode ? [{ debugName: "coverCell" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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
@@ -9961,7 +10139,7 @@ class AITableCoverCellEntry {
9961
10139
  }
9962
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: "21.2.8", 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: "21.2.8", ngImpor
9985
10163
 
9986
10164
  class AITableFieldStats {
9987
10165
  constructor() {
9988
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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" }] : /* istanbul ignore next */ []));
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: "21.2.8", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: "21.2.8", 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: "21.2.8", ngImpor
10027
10208
  Konva.pixelRatio = 2;
10028
10209
  class AITableRenderer {
10029
10210
  constructor() {
10030
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
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();
@@ -10036,50 +10218,68 @@ class AITableRenderer {
10036
10218
  this.koClick = output();
10037
10219
  this.koDblclick = output();
10038
10220
  this.koMouseleave = output();
10221
+ this.koTouchstart = output();
10222
+ this.koTouchmove = output();
10223
+ this.koTouchend = output();
10039
10224
  this.onScrollPosition = output();
10040
- this.isHoverStatContainer = signal(false, ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : /* istanbul ignore next */ []));
10225
+ this.isHoverStatContainer = signal(false, /* @ts-ignore */
10226
+ ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : /* istanbul ignore next */ []));
10041
10227
  this.fields = computed(() => {
10042
10228
  return AITable.getVisibleFields(this.config().aiTable);
10043
- }, ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
10229
+ }, /* @ts-ignore */
10230
+ ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
10044
10231
  this.readonly = computed(() => {
10045
10232
  return this.config()?.readonly;
10046
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10233
+ }, /* @ts-ignore */
10234
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10047
10235
  this.hiddenIndexColumn = computed(() => {
10048
10236
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenIndexColumn;
10049
- }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : /* istanbul ignore next */ []));
10237
+ }, /* @ts-ignore */
10238
+ ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : /* istanbul ignore next */ []));
10050
10239
  this.showExpandIcon = computed(() => {
10051
10240
  return !!this.config()?.aiTable.context?.recordDetailConfig?.()?.showExpandIcon;
10052
- }, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
10241
+ }, /* @ts-ignore */
10242
+ ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
10053
10243
  this.coordinate = computed(() => {
10054
10244
  return this.config()?.coordinate;
10055
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
10245
+ }, /* @ts-ignore */
10246
+ ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
10056
10247
  this.containerWidth = computed(() => {
10057
10248
  return this.config().containerWidth;
10058
- }, ...(ngDevMode ? [{ debugName: "containerWidth" }] : /* istanbul ignore next */ []));
10249
+ }, /* @ts-ignore */
10250
+ ...(ngDevMode ? [{ debugName: "containerWidth" }] : /* istanbul ignore next */ []));
10059
10251
  this.containerHeight = computed(() => {
10060
10252
  return this.config().containerHeight;
10061
- }, ...(ngDevMode ? [{ debugName: "containerHeight" }] : /* istanbul ignore next */ []));
10253
+ }, /* @ts-ignore */
10254
+ ...(ngDevMode ? [{ debugName: "containerHeight" }] : /* istanbul ignore next */ []));
10062
10255
  this.gridContainerHeight = computed(() => {
10063
10256
  return this.containerHeight() - AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT;
10064
- }, ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : /* istanbul ignore next */ []));
10257
+ }, /* @ts-ignore */
10258
+ ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : /* istanbul ignore next */ []));
10065
10259
  this.scrollState = computed(() => {
10066
10260
  return this.config()?.aiTable.context.scrollState();
10067
- }, ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
10261
+ }, /* @ts-ignore */
10262
+ ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
10068
10263
  this.visibleRangeInfo = computed(() => {
10069
10264
  return getVisibleRangeInfo(this.coordinate(), this.scrollState());
10070
- }, ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : /* istanbul ignore next */ []));
10265
+ }, /* @ts-ignore */
10266
+ ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : /* istanbul ignore next */ []));
10071
10267
  this.frozenAreaWidth = computed(() => {
10072
10268
  return this.config().aiTable.context.rowHeadWidth() + this.coordinate().frozenColumnWidth;
10073
- }, ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : /* istanbul ignore next */ []));
10269
+ }, /* @ts-ignore */
10270
+ ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : /* istanbul ignore next */ []));
10074
10271
  this.lastColumnWidth = computed(() => {
10075
10272
  return this.coordinate().getColumnWidth(this.visibleRangeInfo().columnStopIndex);
10076
- }, ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : /* istanbul ignore next */ []));
10273
+ }, /* @ts-ignore */
10274
+ ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : /* istanbul ignore next */ []));
10077
10275
  this.lastColumnOffset = computed(() => {
10078
10276
  return this.coordinate().getColumnOffset(this.visibleRangeInfo().columnStopIndex);
10079
- }, ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : /* istanbul ignore next */ []));
10277
+ }, /* @ts-ignore */
10278
+ ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : /* istanbul ignore next */ []));
10080
10279
  this.cellGroupClipWidth = computed(() => {
10081
10280
  return this.containerWidth() - this.frozenAreaWidth();
10082
- }, ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : /* istanbul ignore next */ []));
10281
+ }, /* @ts-ignore */
10282
+ ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : /* istanbul ignore next */ []));
10083
10283
  this.stageConfig = computed(() => {
10084
10284
  const { isScrolling } = this.scrollState();
10085
10285
  return {
@@ -10087,7 +10287,8 @@ class AITableRenderer {
10087
10287
  height: this.containerHeight(),
10088
10288
  listening: isScrolling ? false : true
10089
10289
  };
10090
- }, ...(ngDevMode ? [{ debugName: "stageConfig" }] : /* istanbul ignore next */ []));
10290
+ }, /* @ts-ignore */
10291
+ ...(ngDevMode ? [{ debugName: "stageConfig" }] : /* istanbul ignore next */ []));
10091
10292
  this.gridGroupConfig = computed(() => {
10092
10293
  return {
10093
10294
  clipX: 0,
@@ -10095,7 +10296,8 @@ class AITableRenderer {
10095
10296
  clipWidth: this.containerWidth(),
10096
10297
  clipHeight: this.gridContainerHeight()
10097
10298
  };
10098
- }, ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : /* istanbul ignore next */ []));
10299
+ }, /* @ts-ignore */
10300
+ ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : /* istanbul ignore next */ []));
10099
10301
  this.statGroupConfig = computed(() => {
10100
10302
  return {
10101
10303
  x: 0,
@@ -10103,13 +10305,16 @@ class AITableRenderer {
10103
10305
  width: this.containerWidth(),
10104
10306
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT
10105
10307
  };
10106
- }, ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : /* istanbul ignore next */ []));
10308
+ }, /* @ts-ignore */
10309
+ ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : /* istanbul ignore next */ []));
10107
10310
  this.scrollTotalHeight = computed(() => {
10108
10311
  return Math.max(this.coordinate().totalHeight, this.containerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT);
10109
- }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
10312
+ }, /* @ts-ignore */
10313
+ ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
10110
10314
  this.scrollTotalWidth = computed(() => {
10111
10315
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
10112
- }, ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : /* istanbul ignore next */ []));
10316
+ }, /* @ts-ignore */
10317
+ ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : /* istanbul ignore next */ []));
10113
10318
  this.frozenCommonGroupConfig = computed(() => {
10114
10319
  return {
10115
10320
  clipX: 0,
@@ -10117,7 +10322,8 @@ class AITableRenderer {
10117
10322
  clipWidth: this.containerWidth(),
10118
10323
  clipHeight: this.gridContainerHeight()
10119
10324
  };
10120
- }, ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : /* istanbul ignore next */ []));
10325
+ }, /* @ts-ignore */
10326
+ ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : /* istanbul ignore next */ []));
10121
10327
  this.commonGroupConfig = computed(() => {
10122
10328
  return {
10123
10329
  clipX: this.frozenAreaWidth() + 1,
@@ -10125,7 +10331,8 @@ class AITableRenderer {
10125
10331
  clipWidth: this.cellGroupClipWidth(),
10126
10332
  clipHeight: this.gridContainerHeight()
10127
10333
  };
10128
- }, ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : /* istanbul ignore next */ []));
10334
+ }, /* @ts-ignore */
10335
+ ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : /* istanbul ignore next */ []));
10129
10336
  this.statCommonGroupConfig = computed(() => {
10130
10337
  return {
10131
10338
  x: AI_TABLE_OFFSET,
@@ -10134,7 +10341,8 @@ class AITableRenderer {
10134
10341
  clipWidth: this.cellGroupClipWidth(),
10135
10342
  clipHeight: this.gridContainerHeight()
10136
10343
  };
10137
- }, ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : /* istanbul ignore next */ []));
10344
+ }, /* @ts-ignore */
10345
+ ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : /* istanbul ignore next */ []));
10138
10346
  this.attachGroupConfig = computed(() => {
10139
10347
  return {
10140
10348
  clipX: this.frozenAreaWidth() - 1,
@@ -10142,7 +10350,8 @@ class AITableRenderer {
10142
10350
  clipWidth: this.containerWidth() - this.frozenAreaWidth(),
10143
10351
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10144
10352
  };
10145
- }, ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : /* istanbul ignore next */ []));
10353
+ }, /* @ts-ignore */
10354
+ ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : /* istanbul ignore next */ []));
10146
10355
  this.frozenAttachGroupConfig = computed(() => {
10147
10356
  return {
10148
10357
  clipX: 0,
@@ -10150,7 +10359,8 @@ class AITableRenderer {
10150
10359
  clipWidth: this.frozenAreaWidth() + 10,
10151
10360
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10152
10361
  };
10153
- }, ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : /* istanbul ignore next */ []));
10362
+ }, /* @ts-ignore */
10363
+ ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : /* istanbul ignore next */ []));
10154
10364
  this.frozenCoverAttachGroupConfig = computed(() => {
10155
10365
  return {
10156
10366
  clipX: 0,
@@ -10158,26 +10368,30 @@ class AITableRenderer {
10158
10368
  clipWidth: this.frozenAreaWidth(),
10159
10369
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10160
10370
  };
10161
- }, ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : /* istanbul ignore next */ []));
10371
+ }, /* @ts-ignore */
10372
+ ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : /* istanbul ignore next */ []));
10162
10373
  this.offsetYConfig = computed(() => {
10163
10374
  const { scrollTop } = this.scrollState();
10164
10375
  return {
10165
10376
  offsetY: scrollTop
10166
10377
  };
10167
- }, ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : /* istanbul ignore next */ []));
10378
+ }, /* @ts-ignore */
10379
+ ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : /* istanbul ignore next */ []));
10168
10380
  this.offsetXConfig = computed(() => {
10169
10381
  const { scrollLeft } = this.scrollState();
10170
10382
  return {
10171
10383
  offsetX: scrollLeft
10172
10384
  };
10173
- }, ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : /* istanbul ignore next */ []));
10385
+ }, /* @ts-ignore */
10386
+ ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : /* istanbul ignore next */ []));
10174
10387
  this.offsetConfig = computed(() => {
10175
10388
  const { scrollLeft, scrollTop } = this.scrollState();
10176
10389
  return {
10177
10390
  offsetX: scrollLeft,
10178
10391
  offsetY: scrollTop
10179
10392
  };
10180
- }, ...(ngDevMode ? [{ debugName: "offsetConfig" }] : /* istanbul ignore next */ []));
10393
+ }, /* @ts-ignore */
10394
+ ...(ngDevMode ? [{ debugName: "offsetConfig" }] : /* istanbul ignore next */ []));
10181
10395
  this.columnFrozenHeadFieldConfig = computed(() => {
10182
10396
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10183
10397
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10194,7 +10408,8 @@ class AITableRenderer {
10194
10408
  readonly,
10195
10409
  maxFields
10196
10410
  };
10197
- }, ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : /* istanbul ignore next */ []));
10411
+ }, /* @ts-ignore */
10412
+ ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : /* istanbul ignore next */ []));
10198
10413
  this.columnHeadFieldConfig = computed(() => {
10199
10414
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10200
10415
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10211,7 +10426,8 @@ class AITableRenderer {
10211
10426
  readonly,
10212
10427
  maxFields
10213
10428
  };
10214
- }, ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : /* istanbul ignore next */ []));
10429
+ }, /* @ts-ignore */
10430
+ ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : /* istanbul ignore next */ []));
10215
10431
  this.columnFieldStatsConfig = computed(() => {
10216
10432
  return {
10217
10433
  ...this.columnHeadFieldConfig(),
@@ -10221,10 +10437,12 @@ class AITableRenderer {
10221
10437
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10222
10438
  isHoverStatContainer: this.isHoverStatContainer()
10223
10439
  };
10224
- }, ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : /* istanbul ignore next */ []));
10440
+ }, /* @ts-ignore */
10441
+ ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : /* istanbul ignore next */ []));
10225
10442
  this.xIsScroll = computed(() => {
10226
10443
  return this.scrollState().scrollLeft > 0;
10227
- }, ...(ngDevMode ? [{ debugName: "xIsScroll" }] : /* istanbul ignore next */ []));
10444
+ }, /* @ts-ignore */
10445
+ ...(ngDevMode ? [{ debugName: "xIsScroll" }] : /* istanbul ignore next */ []));
10228
10446
  this.statShadowConfig = computed(() => {
10229
10447
  return {
10230
10448
  width: 8,
@@ -10233,7 +10451,8 @@ class AITableRenderer {
10233
10451
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10234
10452
  visible: this.xIsScroll()
10235
10453
  };
10236
- }, ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : /* istanbul ignore next */ []));
10454
+ }, /* @ts-ignore */
10455
+ ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : /* istanbul ignore next */ []));
10237
10456
  this.fieldHeadShadowConfig = computed(() => {
10238
10457
  return {
10239
10458
  width: AI_TABLE_SHADOW_DEFAULT_WIDTH,
@@ -10242,7 +10461,8 @@ class AITableRenderer {
10242
10461
  height: AI_TABLE_FIELD_HEAD_HEIGHT,
10243
10462
  visible: this.xIsScroll()
10244
10463
  };
10245
- }, ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : /* istanbul ignore next */ []));
10464
+ }, /* @ts-ignore */
10465
+ ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : /* istanbul ignore next */ []));
10246
10466
  this.columnFieldStatsBgConfig = computed(() => {
10247
10467
  return {
10248
10468
  x: 0,
@@ -10257,7 +10477,8 @@ class AITableRenderer {
10257
10477
  listening: true,
10258
10478
  coordinate: this.coordinate()
10259
10479
  };
10260
- }, ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : /* istanbul ignore next */ []));
10480
+ }, /* @ts-ignore */
10481
+ ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : /* istanbul ignore next */ []));
10261
10482
  this.columnFrozenFieldStatsConfig = computed(() => {
10262
10483
  return {
10263
10484
  ...this.columnHeadFieldConfig(),
@@ -10269,7 +10490,8 @@ class AITableRenderer {
10269
10490
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10270
10491
  isHoverStatContainer: this.isHoverStatContainer()
10271
10492
  };
10272
- }, ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : /* istanbul ignore next */ []));
10493
+ }, /* @ts-ignore */
10494
+ ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : /* istanbul ignore next */ []));
10273
10495
  this.cellsConfig = computed(() => {
10274
10496
  const { aiTable, readonly, coordinate, references, actions, maxRecords } = this.config();
10275
10497
  const keywordsMatchedCells = aiTable.keywordsMatchedCells();
@@ -10287,7 +10509,8 @@ class AITableRenderer {
10287
10509
  maxRecords,
10288
10510
  keywordsMatchedCells
10289
10511
  };
10290
- }, ...(ngDevMode ? [{ debugName: "cellsConfig" }] : /* istanbul ignore next */ []));
10512
+ }, /* @ts-ignore */
10513
+ ...(ngDevMode ? [{ debugName: "cellsConfig" }] : /* istanbul ignore next */ []));
10291
10514
  this.expandRecordConfig = computed(() => {
10292
10515
  const { aiTable, coordinate } = this.config();
10293
10516
  const { rowStartIndex, rowStopIndex } = this.visibleRangeInfo();
@@ -10297,14 +10520,16 @@ class AITableRenderer {
10297
10520
  rowStartIndex,
10298
10521
  rowStopIndex
10299
10522
  };
10300
- }, ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : /* istanbul ignore next */ []));
10523
+ }, /* @ts-ignore */
10524
+ ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : /* istanbul ignore next */ []));
10301
10525
  this.fillHandleConfig = computed(() => {
10302
10526
  return {
10303
10527
  aiTable: this.config().aiTable,
10304
10528
  coordinate: this.coordinate(),
10305
10529
  readonly: this.readonly()
10306
10530
  };
10307
- }, ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : /* istanbul ignore next */ []));
10531
+ }, /* @ts-ignore */
10532
+ ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : /* istanbul ignore next */ []));
10308
10533
  this.isLastSelectedCellInFrozenColumn = computed(() => {
10309
10534
  const { aiTable } = this.config();
10310
10535
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -10314,10 +10539,12 @@ class AITableRenderer {
10314
10539
  const [, fieldId] = lastCell.split(':');
10315
10540
  const columnIndex = aiTable.context.visibleColumnsIndexMap().get(fieldId);
10316
10541
  return AITable.isFrozenColumn(aiTable, columnIndex);
10317
- }, ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : /* istanbul ignore next */ []));
10542
+ }, /* @ts-ignore */
10543
+ ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : /* istanbul ignore next */ []));
10318
10544
  this.activeCellBorderConfig = computed(() => {
10319
10545
  return createActiveCellBorder(this.cellsConfig());
10320
- }, ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : /* istanbul ignore next */ []));
10546
+ }, /* @ts-ignore */
10547
+ ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : /* istanbul ignore next */ []));
10321
10548
  this.showExpandCellBorder = computed(() => {
10322
10549
  let expandCellBorder = false;
10323
10550
  let frozenExpandCellBorder = false;
@@ -10340,7 +10567,8 @@ class AITableRenderer {
10340
10567
  expandCellBorder,
10341
10568
  frozenExpandCellBorder
10342
10569
  };
10343
- }, ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : /* istanbul ignore next */ []));
10570
+ }, /* @ts-ignore */
10571
+ ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : /* istanbul ignore next */ []));
10344
10572
  }
10345
10573
  stageMousemove(e) {
10346
10574
  this.koMousemove.emit(e);
@@ -10363,16 +10591,25 @@ class AITableRenderer {
10363
10591
  stageMouseleave(e) {
10364
10592
  this.koMouseleave.emit(e);
10365
10593
  }
10594
+ stageTouchstart(e) {
10595
+ this.koTouchstart.emit(e);
10596
+ }
10597
+ stageTouchmove(e) {
10598
+ this.koTouchmove.emit(e);
10599
+ }
10600
+ stageTouchend(e) {
10601
+ this.koTouchend.emit(e);
10602
+ }
10366
10603
  stageWheel(e) {
10367
10604
  this.koWheel.emit(e);
10368
10605
  }
10369
10606
  onStatContainerHover(isHover) {
10370
10607
  this.isHoverStatContainer.set(isHover);
10371
10608
  }
10372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10373
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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", 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>\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 }); }
10374
10611
  }
10375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableRenderer, decorators: [{
10612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableRenderer, decorators: [{
10376
10613
  type: Component,
10377
10614
  args: [{ selector: 'ai-table-renderer', imports: [
10378
10615
  KoContainer,
@@ -10396,18 +10633,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
10396
10633
  AITableShadow,
10397
10634
  AITableFrozenGroups,
10398
10635
  AITableExpandRecord
10399
- ], changeDetection: ChangeDetectionStrategy.OnPush, 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>\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" }]
10400
- }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], koMousemove: [{ type: i0.Output, args: ["koMousemove"] }], koMousedown: [{ type: i0.Output, args: ["koMousedown"] }], koMouseup: [{ type: i0.Output, args: ["koMouseup"] }], koContextmenu: [{ type: i0.Output, args: ["koContextmenu"] }], koWheel: [{ type: i0.Output, args: ["koWheel"] }], koClick: [{ type: i0.Output, args: ["koClick"] }], koDblclick: [{ type: i0.Output, args: ["koDblclick"] }], koMouseleave: [{ type: i0.Output, args: ["koMouseleave"] }], onScrollPosition: [{ type: i0.Output, args: ["onScrollPosition"] }] } });
10636
+ ], changeDetection: ChangeDetectionStrategy.OnPush, 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" }]
10637
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], koMousemove: [{ type: i0.Output, args: ["koMousemove"] }], koMousedown: [{ type: i0.Output, args: ["koMousedown"] }], koMouseup: [{ type: i0.Output, args: ["koMouseup"] }], koContextmenu: [{ type: i0.Output, args: ["koContextmenu"] }], koWheel: [{ type: i0.Output, args: ["koWheel"] }], koClick: [{ type: i0.Output, args: ["koClick"] }], koDblclick: [{ type: i0.Output, args: ["koDblclick"] }], koMouseleave: [{ type: i0.Output, args: ["koMouseleave"] }], koTouchstart: [{ type: i0.Output, args: ["koTouchstart"] }], koTouchmove: [{ type: i0.Output, args: ["koTouchmove"] }], koTouchend: [{ type: i0.Output, args: ["koTouchend"] }], onScrollPosition: [{ type: i0.Output, args: ["onScrollPosition"] }] } });
10401
10638
 
10402
10639
  class AITableCellRate extends CoverCellBase {
10403
10640
  constructor() {
10404
10641
  super(...arguments);
10405
- this.pointerX = signal(0, ...(ngDevMode ? [{ debugName: "pointerX" }] : /* istanbul ignore next */ []));
10406
- this.pointerY = signal(0, ...(ngDevMode ? [{ debugName: "pointerY" }] : /* istanbul ignore next */ []));
10407
- this.resetStatus = signal(false, ...(ngDevMode ? [{ debugName: "resetStatus" }] : /* istanbul ignore next */ []));
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 */ []));
10408
10648
  this.readonly = computed(() => {
10409
10649
  return this.config()?.readonly;
10410
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10650
+ }, /* @ts-ignore */
10651
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10411
10652
  this.whiteBgConfig = computed(() => {
10412
10653
  const { aiTable, render, field, recordId, coordinate } = this.config();
10413
10654
  const pointPosition = aiTable.context.pointPosition();
@@ -10431,7 +10672,8 @@ class AITableCellRate extends CoverCellBase {
10431
10672
  recordId
10432
10673
  })
10433
10674
  };
10434
- }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10675
+ }, /* @ts-ignore */
10676
+ ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10435
10677
  this.starConfigs = computed(() => {
10436
10678
  const { render, field, recordId, readonly, aiTable, coordinate } = this.config();
10437
10679
  const { x, columnWidth, transformValue } = render;
@@ -10485,7 +10727,8 @@ class AITableCellRate extends CoverCellBase {
10485
10727
  })
10486
10728
  };
10487
10729
  });
10488
- }, ...(ngDevMode ? [{ debugName: "starConfigs" }] : /* istanbul ignore next */ []));
10730
+ }, /* @ts-ignore */
10731
+ ...(ngDevMode ? [{ debugName: "starConfigs" }] : /* istanbul ignore next */ []));
10489
10732
  }
10490
10733
  static { this.fieldType = AITableFieldType.rate; }
10491
10734
  koMousemove(e) {
@@ -10523,8 +10766,8 @@ class AITableCellRate extends CoverCellBase {
10523
10766
  ]);
10524
10767
  }
10525
10768
  }
10526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10527
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: `
10528
10771
  @if (!readonly()) {
10529
10772
  <ko-rect [config]="whiteBgConfig()" (koMousemove)="koMousemove($event)"></ko-rect>
10530
10773
  }
@@ -10533,7 +10776,7 @@ class AITableCellRate extends CoverCellBase {
10533
10776
  }
10534
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 }); }
10535
10778
  }
10536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellRate, decorators: [{
10779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellRate, decorators: [{
10537
10780
  type: Component,
10538
10781
  args: [{
10539
10782
  selector: 'ai-table-rate',
@@ -10555,18 +10798,23 @@ class AITableCellProgress extends CoverCellBase {
10555
10798
  super(...arguments);
10556
10799
  this.readonly = computed(() => {
10557
10800
  return this.config()?.readonly;
10558
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10559
- this.dragPointerX = signal(null, ...(ngDevMode ? [{ debugName: "dragPointerX" }] : /* istanbul ignore next */ []));
10801
+ }, /* @ts-ignore */
10802
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10803
+ this.dragPointerX = signal(null, /* @ts-ignore */
10804
+ ...(ngDevMode ? [{ debugName: "dragPointerX" }] : /* istanbul ignore next */ []));
10560
10805
  this.railWidth = computed(() => {
10561
10806
  const { columnWidth } = this.config().render;
10562
10807
  return columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_WIDTH;
10563
- }, ...(ngDevMode ? [{ debugName: "railWidth" }] : /* istanbul ignore next */ []));
10808
+ }, /* @ts-ignore */
10809
+ ...(ngDevMode ? [{ debugName: "railWidth" }] : /* istanbul ignore next */ []));
10564
10810
  this.trackWidth = computed(() => {
10565
10811
  return (this.progressValue() / 100) * this.railWidth();
10566
- }, ...(ngDevMode ? [{ debugName: "trackWidth" }] : /* istanbul ignore next */ []));
10812
+ }, /* @ts-ignore */
10813
+ ...(ngDevMode ? [{ debugName: "trackWidth" }] : /* istanbul ignore next */ []));
10567
10814
  this.pointerWidth = AI_TABLE_PROGRESS_BAR_POINTER_WIDTH;
10568
10815
  this.progressOffsetY = (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_PROGRESS_BAR_HEIGHT) / 2 + AI_TABLE_OFFSET;
10569
- this.dragProgressValue = signal(null, ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : /* istanbul ignore next */ []));
10816
+ this.dragProgressValue = signal(null, /* @ts-ignore */
10817
+ ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : /* istanbul ignore next */ []));
10570
10818
  this.progressValue = computed(() => {
10571
10819
  const dragValue = this.dragProgressValue();
10572
10820
  if (dragValue !== null) {
@@ -10578,7 +10826,8 @@ class AITableCellProgress extends CoverCellBase {
10578
10826
  return 0;
10579
10827
  }
10580
10828
  return transformValue;
10581
- }, ...(ngDevMode ? [{ debugName: "progressValue" }] : /* istanbul ignore next */ []));
10829
+ }, /* @ts-ignore */
10830
+ ...(ngDevMode ? [{ debugName: "progressValue" }] : /* istanbul ignore next */ []));
10582
10831
  this.whiteBgConfig = computed(() => {
10583
10832
  const { aiTable, render, field, recordId, coordinate } = this.config();
10584
10833
  const pointPosition = aiTable.context.pointPosition();
@@ -10601,7 +10850,8 @@ class AITableCellProgress extends CoverCellBase {
10601
10850
  recordId
10602
10851
  })
10603
10852
  };
10604
- }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10853
+ }, /* @ts-ignore */
10854
+ ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10605
10855
  this.railConfig = computed(() => {
10606
10856
  const { render, field, recordId } = this.config();
10607
10857
  const { x } = render;
@@ -10619,7 +10869,8 @@ class AITableCellProgress extends CoverCellBase {
10619
10869
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10620
10870
  })
10621
10871
  };
10622
- }, ...(ngDevMode ? [{ debugName: "railConfig" }] : /* istanbul ignore next */ []));
10872
+ }, /* @ts-ignore */
10873
+ ...(ngDevMode ? [{ debugName: "railConfig" }] : /* istanbul ignore next */ []));
10623
10874
  this.trackConfig = computed(() => {
10624
10875
  const { render, field, recordId } = this.config();
10625
10876
  const { x } = render;
@@ -10637,7 +10888,8 @@ class AITableCellProgress extends CoverCellBase {
10637
10888
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10638
10889
  })
10639
10890
  };
10640
- }, ...(ngDevMode ? [{ debugName: "trackConfig" }] : /* istanbul ignore next */ []));
10891
+ }, /* @ts-ignore */
10892
+ ...(ngDevMode ? [{ debugName: "trackConfig" }] : /* istanbul ignore next */ []));
10641
10893
  this.pointerConfig = computed(() => {
10642
10894
  const { render, field, recordId } = this.config();
10643
10895
  const { x } = render;
@@ -10676,7 +10928,8 @@ class AITableCellProgress extends CoverCellBase {
10676
10928
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10677
10929
  })
10678
10930
  };
10679
- }, ...(ngDevMode ? [{ debugName: "pointerConfig" }] : /* istanbul ignore next */ []));
10931
+ }, /* @ts-ignore */
10932
+ ...(ngDevMode ? [{ debugName: "pointerConfig" }] : /* istanbul ignore next */ []));
10680
10933
  this.textConfig = computed(() => {
10681
10934
  const { render, field, recordId } = this.config();
10682
10935
  const { x } = render;
@@ -10695,7 +10948,8 @@ class AITableCellProgress extends CoverCellBase {
10695
10948
  recordId
10696
10949
  })
10697
10950
  };
10698
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
10951
+ }, /* @ts-ignore */
10952
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
10699
10953
  }
10700
10954
  static { this.fieldType = AITableFieldType.progress; }
10701
10955
  calculatePercentage(clickX) {
@@ -10778,8 +11032,8 @@ class AITableCellProgress extends CoverCellBase {
10778
11032
  ]);
10779
11033
  }
10780
11034
  }
10781
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10782
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: `
10783
11037
  @if (!readonly()) {
10784
11038
  <ko-rect [config]="whiteBgConfig()"></ko-rect>
10785
11039
  }
@@ -10794,7 +11048,7 @@ class AITableCellProgress extends CoverCellBase {
10794
11048
  <ko-text [config]="textConfig()"></ko-text>
10795
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 }); }
10796
11050
  }
10797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellProgress, decorators: [{
11051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellProgress, decorators: [{
10798
11052
  type: Component,
10799
11053
  args: [{
10800
11054
  selector: 'ai-table-progress',
@@ -10824,7 +11078,8 @@ class AITableCellCheckbox extends CoverCellBase {
10824
11078
  const { render } = this.config();
10825
11079
  const { transformValue } = render;
10826
11080
  return !isEmpty(transformValue) && !!transformValue;
10827
- }, ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
11081
+ }, /* @ts-ignore */
11082
+ ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
10828
11083
  this.checkbox = computed(() => {
10829
11084
  const { render, field, recordId, readonly } = this.config();
10830
11085
  if (render) {
@@ -10848,7 +11103,8 @@ class AITableCellCheckbox extends CoverCellBase {
10848
11103
  };
10849
11104
  }
10850
11105
  return null;
10851
- }, ...(ngDevMode ? [{ debugName: "checkbox" }] : /* istanbul ignore next */ []));
11106
+ }, /* @ts-ignore */
11107
+ ...(ngDevMode ? [{ debugName: "checkbox" }] : /* istanbul ignore next */ []));
10852
11108
  }
10853
11109
  static { this.fieldType = AITableFieldType.checkbox; }
10854
11110
  switchChecked() {
@@ -10860,14 +11116,14 @@ class AITableCellCheckbox extends CoverCellBase {
10860
11116
  }
10861
11117
  ]);
10862
11118
  }
10863
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10864
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", 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: `
10865
11121
  <ko-group>
10866
11122
  <ai-table-icon [config]="checkbox()" (koClick)="switchChecked()"></ai-table-icon>
10867
11123
  </ko-group>
10868
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 }); }
10869
11125
  }
10870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellCheckbox, decorators: [{
11126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellCheckbox, decorators: [{
10871
11127
  type: Component,
10872
11128
  args: [{
10873
11129
  selector: 'ai-table-checkbox',
@@ -10892,7 +11148,8 @@ class AITableCellText extends CoverCellBase {
10892
11148
  fieldId: field._id,
10893
11149
  recordId
10894
11150
  });
10895
- }, ...(ngDevMode ? [{ debugName: "cellName" }] : /* istanbul ignore next */ []));
11151
+ }, /* @ts-ignore */
11152
+ ...(ngDevMode ? [{ debugName: "cellName" }] : /* istanbul ignore next */ []));
10896
11153
  this.expandBorderConfig = computed(() => {
10897
11154
  const { render, field, recordId, readonly, isExpand } = this.config();
10898
11155
  const { columnWidth } = render;
@@ -10911,7 +11168,8 @@ class AITableCellText extends CoverCellBase {
10911
11168
  };
10912
11169
  }
10913
11170
  return null;
10914
- }, ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : /* istanbul ignore next */ []));
11171
+ }, /* @ts-ignore */
11172
+ ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : /* istanbul ignore next */ []));
10915
11173
  this.scrollConfig = computed(() => {
10916
11174
  const { render, field, recordId, readonly, isExpand, coordinate } = this.config();
10917
11175
  const { columnWidth } = render;
@@ -10931,7 +11189,8 @@ class AITableCellText extends CoverCellBase {
10931
11189
  contentNotScrollbar: false,
10932
11190
  bgName: this.cellName()
10933
11191
  };
10934
- }, ...(ngDevMode ? [{ debugName: "scrollConfig" }] : /* istanbul ignore next */ []));
11192
+ }, /* @ts-ignore */
11193
+ ...(ngDevMode ? [{ debugName: "scrollConfig" }] : /* istanbul ignore next */ []));
10935
11194
  this.expandTextBounds = computed(() => {
10936
11195
  const textRender = this.textString();
10937
11196
  const render = this.config()?.render;
@@ -10958,11 +11217,13 @@ class AITableCellText extends CoverCellBase {
10958
11217
  ...text,
10959
11218
  height: text.height + AI_TABLE_CELL_PADDING + AI_TABLE_CELL_LINE_BORDER
10960
11219
  };
10961
- }, ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : /* istanbul ignore next */ []));
11220
+ }, /* @ts-ignore */
11221
+ ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : /* istanbul ignore next */ []));
10962
11222
  this.textMaxWidth = computed(() => {
10963
11223
  const { columnWidth } = this.config()?.render;
10964
11224
  return columnWidth - AI_TABLE_CELL_PADDING - AI_TABLE_CELL_PADDING;
10965
- }, ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : /* istanbul ignore next */ []));
11225
+ }, /* @ts-ignore */
11226
+ ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : /* istanbul ignore next */ []));
10966
11227
  this.textString = computed(() => {
10967
11228
  const { transformValue } = this.config()?.render;
10968
11229
  let textRender = transformValue;
@@ -10970,18 +11231,21 @@ class AITableCellText extends CoverCellBase {
10970
11231
  return;
10971
11232
  }
10972
11233
  return textRender.replace(/\r|\n/g, ' ');
10973
- }, ...(ngDevMode ? [{ debugName: "textString" }] : /* istanbul ignore next */ []));
11234
+ }, /* @ts-ignore */
11235
+ ...(ngDevMode ? [{ debugName: "textString" }] : /* istanbul ignore next */ []));
10974
11236
  this.height = computed(() => {
10975
11237
  const { height } = this.expandTextBounds() || { height: 0 };
10976
11238
  return Math.min(Math.max(height, this.config().render.rowHeight - AI_TABLE_CELL_LINE_BORDER || AI_TABLE_ROW_BLANK_HEIGHT), 146);
10977
- }, ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
11239
+ }, /* @ts-ignore */
11240
+ ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
10978
11241
  this.startY = computed(() => {
10979
11242
  const { y, rowHeight } = this.config()?.render;
10980
11243
  return (y +
10981
11244
  (AI_TABLE_ROW_HEIGHT - DEFAULT_FONT_SIZE) / 2 -
10982
11245
  (DEFAULT_FONT_SIZE * (AI_TABLE_TEXT_LINE_HEIGHT - 1)) / 2 +
10983
11246
  AI_TABLE_CELL_LINE_BORDER);
10984
- }, ...(ngDevMode ? [{ debugName: "startY" }] : /* istanbul ignore next */ []));
11247
+ }, /* @ts-ignore */
11248
+ ...(ngDevMode ? [{ debugName: "startY" }] : /* istanbul ignore next */ []));
10985
11249
  this.expandTextConfig = computed(() => {
10986
11250
  const render = this.config()?.render;
10987
11251
  if (render) {
@@ -11018,7 +11282,8 @@ class AITableCellText extends CoverCellBase {
11018
11282
  };
11019
11283
  }
11020
11284
  return;
11021
- }, ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : /* istanbul ignore next */ []));
11285
+ }, /* @ts-ignore */
11286
+ ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : /* istanbul ignore next */ []));
11022
11287
  this.textConfig = computed(() => {
11023
11288
  const render = this.config()?.render;
11024
11289
  if (render) {
@@ -11043,7 +11308,8 @@ class AITableCellText extends CoverCellBase {
11043
11308
  };
11044
11309
  }
11045
11310
  return;
11046
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
11311
+ }, /* @ts-ignore */
11312
+ ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
11047
11313
  effect(() => {
11048
11314
  const height = this.height();
11049
11315
  if (this.isExpand()) {
@@ -11055,8 +11321,8 @@ class AITableCellText extends CoverCellBase {
11055
11321
  }
11056
11322
  });
11057
11323
  }
11058
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11059
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: `
11060
11326
  <ko-group>
11061
11327
  @if (isExpand()) {
11062
11328
  <ko-group>
@@ -11081,7 +11347,7 @@ class AITableCellText extends CoverCellBase {
11081
11347
  </ko-group>
11082
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 }); }
11083
11349
  }
11084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableCellText, decorators: [{
11350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableCellText, decorators: [{
11085
11351
  type: Component,
11086
11352
  args: [{
11087
11353
  selector: 'ai-table-single-text',
@@ -11902,8 +12168,8 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
11902
12168
  super.update();
11903
12169
  this.closePopover();
11904
12170
  }
11905
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11906
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", 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
11907
12173
  class="h-100"
11908
12174
  [thyAutoFocus]="autoFocus()"
11909
12175
  [thyShowStepControls]="false"
@@ -11912,7 +12178,7 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
11912
12178
  (thyBlur)="updateValue()"
11913
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 }); }
11914
12180
  }
11915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
12181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
11916
12182
  type: Component,
11917
12183
  args: [{
11918
12184
  selector: 'number-cell-editor',
@@ -11934,17 +12200,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
11934
12200
 
11935
12201
  class SelectOptionComponent {
11936
12202
  constructor() {
11937
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
11938
- this.displayOption = input.required(...(ngDevMode ? [{ debugName: "displayOption" }] : /* istanbul ignore next */ []));
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 */ []));
11939
12207
  this.optionStyle = computed(() => {
11940
12208
  return this.field().settings.option_style || AITableSelectOptionStyle.text;
11941
- }, ...(ngDevMode ? [{ debugName: "optionStyle" }] : /* istanbul ignore next */ []));
12209
+ }, /* @ts-ignore */
12210
+ ...(ngDevMode ? [{ debugName: "optionStyle" }] : /* istanbul ignore next */ []));
11942
12211
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
11943
12212
  }
11944
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11945
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 }); }
11946
12215
  }
11947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectOptionComponent, decorators: [{
12216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionComponent, decorators: [{
11948
12217
  type: Component,
11949
12218
  args: [{ selector: 'select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
11950
12219
  class: 'select-option thy-text',
@@ -11960,10 +12229,12 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
11960
12229
  super();
11961
12230
  this.selectOptions = computed(() => {
11962
12231
  return this.field().settings.options;
11963
- }, ...(ngDevMode ? [{ debugName: "selectOptions" }] : /* istanbul ignore next */ []));
12232
+ }, /* @ts-ignore */
12233
+ ...(ngDevMode ? [{ debugName: "selectOptions" }] : /* istanbul ignore next */ []));
11964
12234
  this.preset = computed(() => {
11965
12235
  return this.field().settings.is_multiple && this.field().settings.option_style === AITableSelectOptionStyle.tag ? 'tag' : '';
11966
- }, ...(ngDevMode ? [{ debugName: "preset" }] : /* istanbul ignore next */ []));
12236
+ }, /* @ts-ignore */
12237
+ ...(ngDevMode ? [{ debugName: "preset" }] : /* istanbul ignore next */ []));
11967
12238
  }
11968
12239
  ngOnInit() {
11969
12240
  super.ngOnInit();
@@ -12009,10 +12280,10 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
12009
12280
  this.thyPopoverRef?.updatePosition();
12010
12281
  });
12011
12282
  }
12012
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12013
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 }); }
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 }); }
12014
12285
  }
12015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12016
12287
  type: Component,
12017
12288
  args: [{ selector: 'select-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12018
12289
  class: 'd-block h-100 select-cell-editor'
@@ -12031,7 +12302,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
12031
12302
  class TextCellEditorComponent extends AbstractEditCellEditor {
12032
12303
  constructor() {
12033
12304
  super();
12034
- this.isSelectAll = input(false, ...(ngDevMode ? [{ debugName: "isSelectAll" }] : /* istanbul ignore next */ []));
12305
+ this.isSelectAll = input(false, /* @ts-ignore */
12306
+ ...(ngDevMode ? [{ debugName: "isSelectAll" }] : /* istanbul ignore next */ []));
12035
12307
  }
12036
12308
  ngOnInit() {
12037
12309
  super.ngOnInit();
@@ -12060,8 +12332,8 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12060
12332
  super.update();
12061
12333
  this.closePopover();
12062
12334
  }
12063
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12064
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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: `
12065
12337
  <textarea
12066
12338
  #textarea
12067
12339
  placeholder=""
@@ -12073,9 +12345,9 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12073
12345
  (thyEnter)="updateValue()"
12074
12346
  (blur)="updateValue()"
12075
12347
  ></textarea>
12076
- `, 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 }); }
12077
12349
  }
12078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12079
12351
  type: Component,
12080
12352
  args: [{
12081
12353
  selector: 'text-cell-editor',
@@ -12104,10 +12376,10 @@ class SelectOptionPipe {
12104
12376
  transform(_id, options) {
12105
12377
  return options?.length && options.find((item) => item._id === _id);
12106
12378
  }
12107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12108
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12109
12381
  }
12110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectOptionPipe, decorators: [{
12382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionPipe, decorators: [{
12111
12383
  type: Pipe,
12112
12384
  args: [{
12113
12385
  name: 'selectOption'
@@ -12121,10 +12393,10 @@ class SelectOptionsPipe {
12121
12393
  })) ||
12122
12394
  []);
12123
12395
  }
12124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12125
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12126
12398
  }
12127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12128
12400
  type: Pipe,
12129
12401
  args: [{
12130
12402
  name: 'selectOptions'
@@ -12134,10 +12406,10 @@ class IsSelectRecordPipe {
12134
12406
  transform(recordId, selection) {
12135
12407
  return selection.selectedRecords.has(recordId);
12136
12408
  }
12137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12138
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12139
12411
  }
12140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12141
12413
  type: Pipe,
12142
12414
  args: [{
12143
12415
  name: 'isSelectRecord'
@@ -12151,10 +12423,10 @@ class UserPipe {
12151
12423
  })) ||
12152
12424
  []);
12153
12425
  }
12154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12155
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12156
12428
  }
12157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: UserPipe, decorators: [{
12429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UserPipe, decorators: [{
12158
12430
  type: Pipe,
12159
12431
  args: [{
12160
12432
  name: 'user'
@@ -12164,10 +12436,10 @@ class SelectSettingPipe {
12164
12436
  transform(settings) {
12165
12437
  return settings;
12166
12438
  }
12167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12168
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12169
12441
  }
12170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SelectSettingPipe, decorators: [{
12442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectSettingPipe, decorators: [{
12171
12443
  type: Pipe,
12172
12444
  args: [{
12173
12445
  name: 'selectSetting'
@@ -12177,10 +12449,10 @@ class MemberSettingPipe {
12177
12449
  transform(settings) {
12178
12450
  return settings;
12179
12451
  }
12180
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12181
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12182
12454
  }
12183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MemberSettingPipe, decorators: [{
12455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: MemberSettingPipe, decorators: [{
12184
12456
  type: Pipe,
12185
12457
  args: [{
12186
12458
  name: 'memberSetting'
@@ -12190,10 +12462,10 @@ class AITableFieldIsSameOptionPipe {
12190
12462
  transform(fieldOption, field) {
12191
12463
  return isSameFieldOption(fieldOption, field);
12192
12464
  }
12193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12194
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", 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" }); }
12195
12467
  }
12196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12197
12469
  type: Pipe,
12198
12470
  args: [{
12199
12471
  name: 'fieldIsSameOption'
@@ -12202,9 +12474,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
12202
12474
 
12203
12475
  class AITableFieldSettingBase {
12204
12476
  constructor() {
12205
- this.aiEditField = model.required(...(ngDevMode ? [{ debugName: "aiEditField" }] : /* istanbul ignore next */ []));
12206
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12207
- this.aiReferences = input(...(ngDevMode ? [undefined, { debugName: "aiReferences" }] : /* istanbul ignore next */ []));
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 */ []));
12208
12483
  this.isUpdate = input(false, { ...(ngDevMode ? { debugName: "isUpdate" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12209
12484
  this.addField = output();
12210
12485
  this.setField = output();
@@ -12232,10 +12507,10 @@ class AITableFieldSettingBase {
12232
12507
  cancel() {
12233
12508
  this.thyPopoverRef.close();
12234
12509
  }
12235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldSettingBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12236
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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 }); }
12237
12512
  }
12238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldSettingBase, decorators: [{
12513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldSettingBase, decorators: [{
12239
12514
  type: Component,
12240
12515
  args: [{
12241
12516
  selector: 'ai-table-field-setting-base',
@@ -12247,10 +12522,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
12247
12522
  class AITableFieldSetting extends AITableFieldSettingBase {
12248
12523
  constructor() {
12249
12524
  super(...arguments);
12250
- this.aiExternalTemplate = input(null, ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : /* istanbul ignore next */ []));
12525
+ this.aiExternalTemplate = input(null, /* @ts-ignore */
12526
+ ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : /* istanbul ignore next */ []));
12251
12527
  this.selectedFieldOption = computed(() => {
12252
12528
  return getFieldOptionByField(this.aiTable(), this.aiEditField());
12253
- }, ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : /* istanbul ignore next */ []));
12529
+ }, /* @ts-ignore */
12530
+ ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : /* istanbul ignore next */ []));
12254
12531
  this.fieldMaxLength = 32;
12255
12532
  this.validatorConfig = computed(() => {
12256
12533
  return {
@@ -12261,14 +12538,17 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12261
12538
  }
12262
12539
  }
12263
12540
  };
12264
- }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : /* istanbul ignore next */ []));
12541
+ }, /* @ts-ignore */
12542
+ ...(ngDevMode ? [{ debugName: "validatorConfig" }] : /* istanbul ignore next */ []));
12265
12543
  this.fieldOptions = computed(() => {
12266
12544
  const fieldOptions = getFieldOptions(this.aiTable());
12267
12545
  return _.groupBy(fieldOptions, 'group');
12268
- }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
12546
+ }, /* @ts-ignore */
12547
+ ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
12269
12548
  this.aITableFieldType = AITableFieldType;
12270
12549
  this.isMultipleMember = false;
12271
- this.isManualInputName = signal(false, ...(ngDevMode ? [{ debugName: "isManualInputName" }] : /* istanbul ignore next */ []));
12550
+ this.isManualInputName = signal(false, /* @ts-ignore */
12551
+ ...(ngDevMode ? [{ debugName: "isManualInputName" }] : /* istanbul ignore next */ []));
12272
12552
  this.checkUniqueName = (fieldName) => {
12273
12553
  fieldName = fieldName?.trim();
12274
12554
  return of(!!this.aiTable()
@@ -12286,7 +12566,8 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12286
12566
  base: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupBase),
12287
12567
  advanced: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupAdvanced)
12288
12568
  };
12289
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12569
+ }, /* @ts-ignore */
12570
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12290
12571
  }
12291
12572
  ngOnInit() {
12292
12573
  super.ngOnInit();
@@ -12332,10 +12613,10 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12332
12613
  nameChange(event) {
12333
12614
  this.isManualInputName.set(true);
12334
12615
  }
12335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldSetting, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12336
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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],[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"] }, { 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 }); }
12337
12618
  }
12338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldSetting, decorators: [{
12619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldSetting, decorators: [{
12339
12620
  type: Component,
12340
12621
  args: [{ selector: 'ai-table-field-setting', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12341
12622
  NgClass,
@@ -12368,11 +12649,16 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12368
12649
  super(...arguments);
12369
12650
  this.notifyService = inject(ThyNotifyService);
12370
12651
  this.thyPopoverRef = inject(ThyPopoverRef);
12371
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12372
- this.menuItems = input.required(...(ngDevMode ? [{ debugName: "menuItems" }] : /* istanbul ignore next */ []));
12373
- this.targetName = input.required(...(ngDevMode ? [{ debugName: "targetName" }] : /* istanbul ignore next */ []));
12374
- this.position = input.required(...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
12375
- this.maxCount = computed(() => this.aiTable().context?.maxRecords() - this.aiTable().records().length, ...(ngDevMode ? [{ debugName: "maxCount" }] : /* istanbul ignore next */ []));
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 */ []));
12376
12662
  }
12377
12663
  execute(menu) {
12378
12664
  if ((menu.disabled && !menu.disabled(this.aiTable(), this.targetName(), this.position())) || !menu.disabled) {
@@ -12386,10 +12672,10 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12386
12672
  this.execute(menu);
12387
12673
  this.thyPopoverRef.close();
12388
12674
  }
12389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12390
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 }); }
12391
12677
  }
12392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableContextMenu, decorators: [{
12678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableContextMenu, decorators: [{
12393
12679
  type: Component,
12394
12680
  args: [{ selector: 'ai-table-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12395
12681
  class: 'context-menu'
@@ -12410,8 +12696,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
12410
12696
 
12411
12697
  class CheckboxMenuSort {
12412
12698
  constructor() {
12413
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12414
- this.menu = input.required(...(ngDevMode ? [{ debugName: "menu" }] : /* istanbul ignore next */ []));
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 */ []));
12415
12703
  this.Direction = {
12416
12704
  ascending: 'ascending',
12417
12705
  descending: 'descending'
@@ -12427,8 +12715,8 @@ class CheckboxMenuSort {
12427
12715
  }
12428
12716
  return '按 Z → A 排序';
12429
12717
  }
12430
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12431
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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: `
12432
12720
  <thy-icon class="sort-icon" [thyIconName]="menu().icon!"></thy-icon>
12433
12721
  <div class="sort-state">
12434
12722
  @if (menu().type === 'sortByAsc') {
@@ -12443,7 +12731,7 @@ class CheckboxMenuSort {
12443
12731
  </div>
12444
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 }); }
12445
12733
  }
12446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12447
12735
  type: Component,
12448
12736
  args: [{
12449
12737
  selector: 'checkbox-menu-sort',
@@ -12472,10 +12760,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
12472
12760
  class AITableFieldMenu extends ThyDropdownAbstractMenu {
12473
12761
  constructor() {
12474
12762
  super(...arguments);
12475
- this.execMenuCallback = input(...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : /* istanbul ignore next */ []));
12763
+ this.execMenuCallback = input(/* @ts-ignore */
12764
+ ...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : /* istanbul ignore next */ []));
12476
12765
  this.field = computed(() => {
12477
12766
  return this.aiTable.fields().find((item) => item._id === this.fieldId);
12478
- }, ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12767
+ }, /* @ts-ignore */
12768
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12479
12769
  }
12480
12770
  getCustomComponent(menu) {
12481
12771
  return menu.customComponent?.(this.aiTable, this.field());
@@ -12494,10 +12784,10 @@ class AITableFieldMenu extends ThyDropdownAbstractMenu {
12494
12784
  }
12495
12785
  return menu.name || '';
12496
12786
  }
12497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12498
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 }); }
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 }); }
12499
12789
  }
12500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableFieldMenu, decorators: [{
12790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableFieldMenu, decorators: [{
12501
12791
  type: Component,
12502
12792
  args: [{ selector: 'ai-table-field-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12503
12793
  class: 'field-menu'
@@ -12528,18 +12818,24 @@ const GRID_CELL_EDITOR_MAP = {
12528
12818
 
12529
12819
  class DynamicCellEditorComponent {
12530
12820
  constructor() {
12531
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12532
- this.fieldId = input.required(...(ngDevMode ? [{ debugName: "fieldId" }] : /* istanbul ignore next */ []));
12533
- this.recordId = input.required(...(ngDevMode ? [{ debugName: "recordId" }] : /* istanbul ignore next */ []));
12534
- this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : /* istanbul ignore next */ []));
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 */ []));
12535
12829
  this.updateFieldValues = output();
12536
12830
  this.editorHost = viewChild('editorHost', { ...(ngDevMode ? { debugName: "editorHost" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
12537
12831
  this.field = computed(() => {
12538
12832
  return this.aiTable().fieldsMap()[this.fieldId()];
12539
- }, ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12833
+ }, /* @ts-ignore */
12834
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12540
12835
  this.cellValue = computed(() => {
12541
12836
  return AITableQueries.getFieldValue(this.aiTable(), [this.recordId(), this.fieldId()]);
12542
- }, ...(ngDevMode ? [{ debugName: "cellValue" }] : /* istanbul ignore next */ []));
12837
+ }, /* @ts-ignore */
12838
+ ...(ngDevMode ? [{ debugName: "cellValue" }] : /* istanbul ignore next */ []));
12543
12839
  effect(() => {
12544
12840
  this.recordId();
12545
12841
  this.fieldId();
@@ -12589,14 +12885,14 @@ class DynamicCellEditorComponent {
12589
12885
  }
12590
12886
  return GRID_CELL_EDITOR_MAP[fieldType];
12591
12887
  }
12592
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12593
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.8", 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: `
12594
12890
  <div class="ai-dynamic-cell-editor-wrapper">
12595
12891
  <ng-container #editorHost></ng-container>
12596
12892
  </div>
12597
12893
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12598
12894
  }
12599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12600
12896
  type: Component,
12601
12897
  args: [{
12602
12898
  selector: 'ai-dynamic-cell-editor',
@@ -12614,39 +12910,53 @@ class RecordDetailComponent {
12614
12910
  return getFieldIconPath(field) || IconPathMap[field.icon];
12615
12911
  }
12616
12912
  constructor() {
12617
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
12618
- this.recordId = model.required(...(ngDevMode ? [{ debugName: "recordId" }] : /* istanbul ignore next */ []));
12619
- this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : /* istanbul ignore next */ []));
12620
- this.actions = input(...(ngDevMode ? [undefined, { debugName: "actions" }] : /* istanbul ignore next */ []));
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 */ []));
12621
12922
  this.recordIdChange = output();
12622
- this.internalRecordId = signal('', ...(ngDevMode ? [{ debugName: "internalRecordId" }] : /* istanbul ignore next */ []));
12923
+ this.internalRecordId = signal('', /* @ts-ignore */
12924
+ ...(ngDevMode ? [{ debugName: "internalRecordId" }] : /* istanbul ignore next */ []));
12623
12925
  this.readonly = computed(() => {
12624
12926
  return this.aiTable()?.context?.readonly?.();
12625
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
12927
+ }, /* @ts-ignore */
12928
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
12626
12929
  this.currentRecordId = computed(() => {
12627
12930
  const inputId = this.recordId();
12628
12931
  const internalId = this.internalRecordId();
12629
12932
  return internalId || inputId;
12630
- }, ...(ngDevMode ? [{ debugName: "currentRecordId" }] : /* istanbul ignore next */ []));
12631
- this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : /* istanbul ignore next */ []));
12933
+ }, /* @ts-ignore */
12934
+ ...(ngDevMode ? [{ debugName: "currentRecordId" }] : /* istanbul ignore next */ []));
12935
+ this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', /* @ts-ignore */
12936
+ ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : /* istanbul ignore next */ []));
12632
12937
  this.record = computed(() => {
12633
12938
  return this.aiTable().recordsMap()[this.currentRecordId()];
12634
- }, ...(ngDevMode ? [{ debugName: "record" }] : /* istanbul ignore next */ []));
12939
+ }, /* @ts-ignore */
12940
+ ...(ngDevMode ? [{ debugName: "record" }] : /* istanbul ignore next */ []));
12635
12941
  this.fields = computed(() => {
12636
12942
  return this.aiTable().gridData().fields;
12637
- }, ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
12943
+ }, /* @ts-ignore */
12944
+ ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
12638
12945
  this.firstField = computed(() => {
12639
12946
  return this.aiTable().gridData().fields[0];
12640
- }, ...(ngDevMode ? [{ debugName: "firstField" }] : /* istanbul ignore next */ []));
12947
+ }, /* @ts-ignore */
12948
+ ...(ngDevMode ? [{ debugName: "firstField" }] : /* istanbul ignore next */ []));
12641
12949
  this.lastField = computed(() => {
12642
12950
  const fields = this.aiTable().gridData().fields;
12643
12951
  return fields[fields.length - 1];
12644
- }, ...(ngDevMode ? [{ debugName: "lastField" }] : /* istanbul ignore next */ []));
12952
+ }, /* @ts-ignore */
12953
+ ...(ngDevMode ? [{ debugName: "lastField" }] : /* istanbul ignore next */ []));
12645
12954
  this.i18nTexts = computed(() => ({
12646
12955
  recordUntitled: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.recordUntitled),
12647
12956
  deleteRecord: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.deleteRecord),
12648
12957
  addField: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.addField)
12649
- }), ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12958
+ }), /* @ts-ignore */
12959
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12650
12960
  this.recordTitle = computed(() => {
12651
12961
  let title = this.i18nTexts().recordUntitled;
12652
12962
  const field = this.firstField();
@@ -12662,19 +12972,23 @@ class RecordDetailComponent {
12662
12972
  }
12663
12973
  }
12664
12974
  return title;
12665
- }, ...(ngDevMode ? [{ debugName: "recordTitle" }] : /* istanbul ignore next */ []));
12975
+ }, /* @ts-ignore */
12976
+ ...(ngDevMode ? [{ debugName: "recordTitle" }] : /* istanbul ignore next */ []));
12666
12977
  this.recordNavigation = computed(() => {
12667
12978
  return getRecordNavigationInfo(this.aiTable(), this.currentRecordId());
12668
- }, ...(ngDevMode ? [{ debugName: "recordNavigation" }] : /* istanbul ignore next */ []));
12979
+ }, /* @ts-ignore */
12980
+ ...(ngDevMode ? [{ debugName: "recordNavigation" }] : /* istanbul ignore next */ []));
12669
12981
  this.fieldMenus = computed(() => {
12670
12982
  const fieldMenusFn = this.aiTable()?.context?.aiFieldConfig()?.recordDetailFieldMenus;
12671
12983
  if (fieldMenusFn && this.aiTable()) {
12672
12984
  return fieldMenusFn(this.aiTable());
12673
12985
  }
12674
12986
  return [];
12675
- }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
12987
+ }, /* @ts-ignore */
12988
+ ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
12676
12989
  this.activeFieldId = null;
12677
- this.fieldMenuActive = signal({}, ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : /* istanbul ignore next */ []));
12990
+ this.fieldMenuActive = signal({}, /* @ts-ignore */
12991
+ ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : /* istanbul ignore next */ []));
12678
12992
  this.fieldMenuPopoverRef = null;
12679
12993
  this.currentPopoverFieldId = null;
12680
12994
  this.slideRef = inject(ThySlideRef);
@@ -12813,10 +13127,10 @@ class RecordDetailComponent {
12813
13127
  return (Array.isArray(value) && value.length === 0) || isUndefinedOrNull(value);
12814
13128
  }
12815
13129
  }
12816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12817
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 }); }
12818
13132
  }
12819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RecordDetailComponent, decorators: [{
13133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailComponent, decorators: [{
12820
13134
  type: Component,
12821
13135
  args: [{ selector: 'ai-record-detail', imports: [
12822
13136
  ThyButton,
@@ -12829,7 +13143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
12829
13143
  DynamicCellEditorComponent,
12830
13144
  ThyFlexibleText
12831
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" }]
12832
- }], 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 }] }] } });
12833
13147
 
12834
13148
  class AITableGridEventService {
12835
13149
  constructor() {
@@ -13061,10 +13375,10 @@ class AITableGridEventService {
13061
13375
  });
13062
13376
  return ref;
13063
13377
  }
13064
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13065
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", 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 }); }
13066
13380
  }
13067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGridEventService, decorators: [{
13381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridEventService, decorators: [{
13068
13382
  type: Injectable
13069
13383
  }] });
13070
13384
 
@@ -13113,38 +13427,57 @@ class AITableGridFieldService {
13113
13427
  });
13114
13428
  return ref;
13115
13429
  }
13116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
13117
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", 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 }); }
13118
13432
  }
13119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGridFieldService, decorators: [{
13433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridFieldService, decorators: [{
13120
13434
  type: Injectable
13121
13435
  }], ctorParameters: () => [{ type: i1$1.ThyPopover }] });
13122
13436
 
13123
13437
  class AITableGridBase {
13124
13438
  constructor() {
13125
- this.aiRecords = model.required(...(ngDevMode ? [{ debugName: "aiRecords" }] : /* istanbul ignore next */ []));
13126
- this.aiFields = model.required(...(ngDevMode ? [{ debugName: "aiFields" }] : /* istanbul ignore next */ []));
13127
- this.aiContextMenuItems = input(...(ngDevMode ? [undefined, { debugName: "aiContextMenuItems" }] : /* istanbul ignore next */ []));
13128
- this.aiFieldConfig = input(...(ngDevMode ? [undefined, { debugName: "aiFieldConfig" }] : /* istanbul ignore next */ []));
13129
- this.aiReadonly = input(false, ...(ngDevMode ? [{ debugName: "aiReadonly" }] : /* istanbul ignore next */ []));
13130
- this.aiPlugins = input(...(ngDevMode ? [undefined, { debugName: "aiPlugins" }] : /* istanbul ignore next */ []));
13131
- this.aiMaxFields = input(...(ngDevMode ? [undefined, { debugName: "aiMaxFields" }] : /* istanbul ignore next */ []));
13132
- this.aiMaxRecords = input(...(ngDevMode ? [undefined, { debugName: "aiMaxRecords" }] : /* istanbul ignore next */ []));
13133
- this.aiMaxSelectOptions = input(...(ngDevMode ? [undefined, { debugName: "aiMaxSelectOptions" }] : /* istanbul ignore next */ []));
13134
- this.aiReferences = input.required(...(ngDevMode ? [{ debugName: "aiReferences" }] : /* istanbul ignore next */ []));
13135
- this.aiBuildRenderDataFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildRenderDataFn" }] : /* istanbul ignore next */ []));
13136
- this.aiBuildGroupLinearRowsFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildGroupLinearRowsFn" }] : /* istanbul ignore next */ []));
13137
- this.aiSortKeysMap = input(...(ngDevMode ? [undefined, { debugName: "aiSortKeysMap" }] : /* istanbul ignore next */ []));
13138
- this.aiGetI18nTextByKey = input(...(ngDevMode ? [undefined, { debugName: "aiGetI18nTextByKey" }] : /* istanbul ignore next */ []));
13139
- this.aiKeywords = input(...(ngDevMode ? [undefined, { debugName: "aiKeywords" }] : /* istanbul ignore next */ []));
13140
- this.aiFrozenColumnCountFn = input(...(ngDevMode ? [undefined, { debugName: "aiFrozenColumnCountFn" }] : /* istanbul ignore next */ []));
13141
- this.aiRecordHeight = input(AITableRecordHeightType.low, ...(ngDevMode ? [{ debugName: "aiRecordHeight" }] : /* istanbul ignore next */ []));
13142
- this.aiRecordDetailConfig = input(...(ngDevMode ? [undefined, { debugName: "aiRecordDetailConfig" }] : /* istanbul ignore next */ []));
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 */ []));
13143
13475
  this.AITableFieldType = AITableFieldType;
13144
13476
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
13145
13477
  this.isSelectedAll = computed(() => {
13146
13478
  return this.aiTable.selection().selectedRecords.size === this.aiRecords().length;
13147
- }, ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : /* istanbul ignore next */ []));
13479
+ }, /* @ts-ignore */
13480
+ ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : /* istanbul ignore next */ []));
13148
13481
  this.aiTableInitialized = output();
13149
13482
  this.aiAddRecord = output();
13150
13483
  this.aiRemoveRecord = output();
@@ -13165,7 +13498,8 @@ class AITableGridBase {
13165
13498
  return fieldMenusFn(this.aiTable);
13166
13499
  }
13167
13500
  return [];
13168
- }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
13501
+ }, /* @ts-ignore */
13502
+ ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
13169
13503
  this.gridData = computed(() => {
13170
13504
  this.aiTable.recordsWillHidden();
13171
13505
  if (this.aiBuildRenderDataFn && this.aiBuildRenderDataFn() && this.aiTable) {
@@ -13175,7 +13509,8 @@ class AITableGridBase {
13175
13509
  records: this.aiRecords(),
13176
13510
  fields: this.aiFields()
13177
13511
  };
13178
- }, ...(ngDevMode ? [{ debugName: "gridData" }] : /* istanbul ignore next */ []));
13512
+ }, /* @ts-ignore */
13513
+ ...(ngDevMode ? [{ debugName: "gridData" }] : /* istanbul ignore next */ []));
13179
13514
  this.ngZone = inject(NgZone);
13180
13515
  this.elementRef = inject(ElementRef);
13181
13516
  this.destroyRef = inject(DestroyRef);
@@ -13264,10 +13599,10 @@ class AITableGridBase {
13264
13599
  this.aiTableGridEventService.openEdit(cellDom);
13265
13600
  }
13266
13601
  }
13267
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13268
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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 }); }
13269
13604
  }
13270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGridBase, decorators: [{
13605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGridBase, decorators: [{
13271
13606
  type: Component,
13272
13607
  args: [{
13273
13608
  selector: 'ai-table-grid-base',
@@ -13290,10 +13625,10 @@ class AITableDomGrid extends AITableGridBase {
13290
13625
  fieldMenus: this.fieldMenus()
13291
13626
  });
13292
13627
  }
13293
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13294
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 }); }
13295
13630
  }
13296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableDomGrid, decorators: [{
13631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableDomGrid, decorators: [{
13297
13632
  type: Component,
13298
13633
  args: [{ selector: 'ai-table-dom-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
13299
13634
  class: 'ai-table-grid ai-table-dom-grid'
@@ -13319,7 +13654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
13319
13654
  UserPipe,
13320
13655
  SelectSettingPipe,
13321
13656
  MemberSettingPipe
13322
- ], 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" }]
13323
13658
  }] });
13324
13659
 
13325
13660
  class AITableScrollControllerService {
@@ -13513,10 +13848,10 @@ class AITableScrollControllerService {
13513
13848
  this.mouseUpSubscription = null;
13514
13849
  }
13515
13850
  }
13516
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableScrollControllerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
13517
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", 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 }); }
13518
13853
  }
13519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13520
13855
  type: Injectable
13521
13856
  }], ctorParameters: () => [{ type: i0.NgZone }] });
13522
13857
 
@@ -13605,17 +13940,19 @@ class RecordDetailService {
13605
13940
  }
13606
13941
  });
13607
13942
  }
13608
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13609
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", 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 }); }
13610
13945
  }
13611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RecordDetailService, decorators: [{
13946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: RecordDetailService, decorators: [{
13612
13947
  type: Injectable
13613
13948
  }] });
13614
13949
 
13615
13950
  class AITableDragComponent {
13616
13951
  constructor() {
13617
- this.horizontalBar = input(...(ngDevMode ? [undefined, { debugName: "horizontalBar" }] : /* istanbul ignore next */ []));
13618
- this.verticalBar = input(...(ngDevMode ? [undefined, { debugName: "verticalBar" }] : /* istanbul ignore next */ []));
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 */ []));
13619
13956
  this.dragEnd = output();
13620
13957
  this.aiTableGridEventService = inject(AITableGridEventService);
13621
13958
  this.render2 = inject(Renderer2);
@@ -14054,10 +14391,10 @@ class AITableDragComponent {
14054
14391
  }
14055
14392
  this.scrollControllerService.destroy();
14056
14393
  }
14057
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14058
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", 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 }); }
14059
14396
  }
14060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableDragComponent, decorators: [{
14397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableDragComponent, decorators: [{
14061
14398
  type: Component,
14062
14399
  args: [{ selector: 'ai-table-drag', changeDetection: ChangeDetectionStrategy.OnPush, host: {
14063
14400
  class: 'ai-table-drag-container'
@@ -14065,10 +14402,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
14065
14402
  }], ctorParameters: () => [], propDecorators: { horizontalBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalBar", required: false }] }], verticalBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalBar", required: false }] }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }] } });
14066
14403
 
14067
14404
  class AITableGrid extends AITableGridBase {
14405
+ shouldIgnoreMouseEvents() {
14406
+ return this.ignoreMouseEventsUntil > Date.now();
14407
+ }
14408
+ ignoreMouseEventsFor(durationMs) {
14409
+ this.ignoreMouseEventsUntil = Date.now() + durationMs;
14410
+ }
14411
+ ignoreMouseEventsAfterTouchScroll() {
14412
+ this.ignoreMouseEventsFor(this.touchScrollMouseSuppressionMs);
14413
+ }
14068
14414
  constructor() {
14069
14415
  super();
14070
14416
  this.viewContainerRef = inject(ViewContainerRef);
14071
14417
  this.isDragSelectionAutoScrolling = false;
14418
+ this.touchPanState = {
14419
+ isTouching: false,
14420
+ lastClientX: 0,
14421
+ lastClientY: 0,
14422
+ hasMoved: false
14423
+ };
14424
+ this.touchScrollMouseSuppressionMs = 450;
14425
+ this.ignoreMouseEventsUntil = 0;
14072
14426
  this.dragSelectState = {
14073
14427
  isDragging: false,
14074
14428
  startCell: null
@@ -14083,7 +14437,8 @@ class AITableGrid extends AITableGridBase {
14083
14437
  this.recordDetailService = inject(RecordDetailService);
14084
14438
  this.isPopoverOpen = false;
14085
14439
  this.fieldHeadHeight = AI_TABLE_FIELD_HEAD_HEIGHT;
14086
- this.containerRect = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "containerRect" }] : /* istanbul ignore next */ []));
14440
+ this.containerRect = signal({ width: 0, height: 0 }, /* @ts-ignore */
14441
+ ...(ngDevMode ? [{ debugName: "containerRect" }] : /* istanbul ignore next */ []));
14087
14442
  this.frozenColumnCount = computed(() => {
14088
14443
  const containerWidth = this.containerRect().width;
14089
14444
  const aiFrozenColumnCountFn = this.aiFrozenColumnCountFn();
@@ -14091,17 +14446,24 @@ class AITableGrid extends AITableGridBase {
14091
14446
  return aiFrozenColumnCountFn(containerWidth);
14092
14447
  }
14093
14448
  return AI_TABLE_MIN_FROZEN_COLUMN_COUNT;
14094
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
14095
- this.showExpandIcon = computed(() => !!this.aiRecordDetailConfig()?.showExpandIcon, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
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 */ []));
14096
14453
  this.hasContainerRect = computed(() => {
14097
14454
  return this.containerRect().width > 0 && this.containerRect().height > 0;
14098
- }, ...(ngDevMode ? [{ debugName: "hasContainerRect" }] : /* istanbul ignore next */ []));
14099
- this.container = viewChild('container', ...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
14100
- this.verticalBarRef = viewChild('verticalBar', ...(ngDevMode ? [{ debugName: "verticalBarRef" }] : /* istanbul ignore next */ []));
14101
- this.horizontalBarRef = viewChild('horizontalBar', ...(ngDevMode ? [{ debugName: "horizontalBarRef" }] : /* istanbul ignore next */ []));
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 */ []));
14102
14463
  this.linearRows = computed(() => {
14103
14464
  return buildGridLinearRows(this.gridData().records, !this.aiReadonly(), this.aiTable, this.aiBuildGroupLinearRowsFn?.());
14104
- }, ...(ngDevMode ? [{ debugName: "linearRows" }] : /* istanbul ignore next */ []));
14465
+ }, /* @ts-ignore */
14466
+ ...(ngDevMode ? [{ debugName: "linearRows" }] : /* istanbul ignore next */ []));
14105
14467
  this.domToolTips = computed(() => {
14106
14468
  const scrollTop = this.aiTable.context.scrollState().scrollTop;
14107
14469
  const rowIndices = this.toolTipRowIndices();
@@ -14114,7 +14476,8 @@ class AITableGrid extends AITableGridBase {
14114
14476
  tooltip
14115
14477
  };
14116
14478
  });
14117
- }, ...(ngDevMode ? [{ debugName: "domToolTips" }] : /* istanbul ignore next */ []));
14479
+ }, /* @ts-ignore */
14480
+ ...(ngDevMode ? [{ debugName: "domToolTips" }] : /* istanbul ignore next */ []));
14118
14481
  this.toolTipRowIndices = computed(() => {
14119
14482
  const hiddenRows = this.aiTable.recordsWillHidden() || [];
14120
14483
  const moveRows = this.aiTable.recordsWillMove() || [];
@@ -14131,11 +14494,13 @@ class AITableGrid extends AITableGridBase {
14131
14494
  });
14132
14495
  });
14133
14496
  return toolTipRowIndices;
14134
- }, ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : /* istanbul ignore next */ []));
14497
+ }, /* @ts-ignore */
14498
+ ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : /* istanbul ignore next */ []));
14135
14499
  this.visibleColumnsIndexMap = computed(() => {
14136
14500
  const columns = AITable.getVisibleFields(this.aiTable);
14137
14501
  return new Map(columns?.map((item, index) => [item._id, index]));
14138
- }, ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : /* istanbul ignore next */ []));
14502
+ }, /* @ts-ignore */
14503
+ ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : /* istanbul ignore next */ []));
14139
14504
  this.fieldOptions = computed(() => {
14140
14505
  let allFieldOptions = getDefaultFieldOptions().map((fieldOption) => {
14141
14506
  const name = getI18nTextByKey(this.aiTable, fieldOption.name);
@@ -14151,16 +14516,20 @@ class AITableGrid extends AITableGridBase {
14151
14516
  allFieldOptions = filterFieldOptions(allFieldOptions);
14152
14517
  }
14153
14518
  return allFieldOptions;
14154
- }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
14519
+ }, /* @ts-ignore */
14520
+ ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
14155
14521
  this.fieldOptionMap = computed(() => {
14156
14522
  return new Map(this.fieldOptions().map((fieldOption) => [fieldOption.type, fieldOption]));
14157
- }, ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : /* istanbul ignore next */ []));
14523
+ }, /* @ts-ignore */
14524
+ ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : /* istanbul ignore next */ []));
14158
14525
  this.visibleRowsIndexMap = computed(() => {
14159
14526
  return new Map(this.linearRows().map((row, index) => [row._id, index]));
14160
- }, ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : /* istanbul ignore next */ []));
14527
+ }, /* @ts-ignore */
14528
+ ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : /* istanbul ignore next */ []));
14161
14529
  this.containerElement = computed(() => {
14162
14530
  return this.container().nativeElement;
14163
- }, ...(ngDevMode ? [{ debugName: "containerElement" }] : /* istanbul ignore next */ []));
14531
+ }, /* @ts-ignore */
14532
+ ...(ngDevMode ? [{ debugName: "containerElement" }] : /* istanbul ignore next */ []));
14164
14533
  this.trackBy = (index, item) => {
14165
14534
  return item.sort_by ?? index;
14166
14535
  };
@@ -14192,25 +14561,31 @@ class AITableGrid extends AITableGridBase {
14192
14561
  maxRecords: this.aiMaxRecords(),
14193
14562
  maxSelectOptions: this.aiMaxSelectOptions()
14194
14563
  };
14195
- }, ...(ngDevMode ? [{ debugName: "rendererConfig" }] : /* istanbul ignore next */ []));
14564
+ }, /* @ts-ignore */
14565
+ ...(ngDevMode ? [{ debugName: "rendererConfig" }] : /* istanbul ignore next */ []));
14196
14566
  this.coordinate = computed(() => {
14197
14567
  return this.rendererConfig().coordinate;
14198
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
14568
+ }, /* @ts-ignore */
14569
+ ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
14199
14570
  this.scrollState = computed(() => {
14200
14571
  return this.aiTable.context.scrollState();
14201
- }, ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
14572
+ }, /* @ts-ignore */
14573
+ ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
14202
14574
  this.scrollTotalHeight = computed(() => {
14203
14575
  return Math.max(this.coordinate().totalHeight, this.containerRect().height - this.fieldHeadHeight);
14204
- }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
14576
+ }, /* @ts-ignore */
14577
+ ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
14205
14578
  this.scrollbarWidth = computed(() => {
14206
14579
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
14207
- }, ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : /* istanbul ignore next */ []));
14580
+ }, /* @ts-ignore */
14581
+ ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : /* istanbul ignore next */ []));
14208
14582
  this.i18nTexts = computed(() => {
14209
14583
  this.aiGetI18nTextByKey();
14210
14584
  return {
14211
14585
  rowAddFilterTooltip: getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip)
14212
14586
  };
14213
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
14587
+ }, /* @ts-ignore */
14588
+ ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
14214
14589
  // rowAddFilterTooltip = getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip);
14215
14590
  this.rowIndicesMap = computed(() => {
14216
14591
  const rowIndicesMap = {};
@@ -14223,7 +14598,8 @@ class AITableGrid extends AITableGridBase {
14223
14598
  }
14224
14599
  });
14225
14600
  return rowIndicesMap;
14226
- }, ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : /* istanbul ignore next */ []));
14601
+ }, /* @ts-ignore */
14602
+ ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : /* istanbul ignore next */ []));
14227
14603
  this.actions = {
14228
14604
  updateFieldValues: (data) => {
14229
14605
  this.aiUpdateFieldValues.emit(data);
@@ -14434,6 +14810,9 @@ class AITableGrid extends AITableGridBase {
14434
14810
  }
14435
14811
  }
14436
14812
  stageMousemove(e) {
14813
+ if (this.shouldIgnoreMouseEvents()) {
14814
+ return;
14815
+ }
14437
14816
  if (this.timer) {
14438
14817
  cancelAnimationFrame(this.timer);
14439
14818
  }
@@ -14480,6 +14859,9 @@ class AITableGrid extends AITableGridBase {
14480
14859
  });
14481
14860
  }
14482
14861
  stageMousedown(e) {
14862
+ if (this.shouldIgnoreMouseEvents()) {
14863
+ return;
14864
+ }
14483
14865
  const mouseEvent = e.event.evt;
14484
14866
  const _targetName = e.event.target.name();
14485
14867
  const { targetName, fieldId, recordId } = getDetailByTargetName(_targetName);
@@ -14554,6 +14936,9 @@ class AITableGrid extends AITableGridBase {
14554
14936
  }
14555
14937
  }
14556
14938
  stageMouseup(e) {
14939
+ if (this.shouldIgnoreMouseEvents()) {
14940
+ return;
14941
+ }
14557
14942
  this.updateDragSelectState(false, null);
14558
14943
  if (this.dragFillState.isDragging) {
14559
14944
  this.performFill(e);
@@ -14591,11 +14976,58 @@ class AITableGrid extends AITableGridBase {
14591
14976
  });
14592
14977
  }
14593
14978
  stageWheel(e) {
14979
+ if (this.shouldIgnoreMouseEvents()) {
14980
+ return;
14981
+ }
14594
14982
  e.event.evt.preventDefault();
14595
14983
  this.aiTableGridEventService.closeCellEditor();
14596
14984
  this.scrollAction({ deltaX: e.event.evt.deltaX, deltaY: e.event.evt.deltaY, shiftKey: e.event.evt.shiftKey });
14597
14985
  }
14986
+ stageTouchstart(e) {
14987
+ const touch = e.event.evt.touches?.[0];
14988
+ if (!touch) {
14989
+ return;
14990
+ }
14991
+ this.touchPanState = {
14992
+ isTouching: true,
14993
+ lastClientX: touch.clientX,
14994
+ lastClientY: touch.clientY,
14995
+ hasMoved: false
14996
+ };
14997
+ }
14998
+ stageTouchmove(e) {
14999
+ const touch = e.event.evt.touches?.[0];
15000
+ if (!touch || !this.touchPanState.isTouching) {
15001
+ return;
15002
+ }
15003
+ const deltaX = this.touchPanState.lastClientX - touch.clientX;
15004
+ const deltaY = this.touchPanState.lastClientY - touch.clientY;
15005
+ this.touchPanState.lastClientX = touch.clientX;
15006
+ this.touchPanState.lastClientY = touch.clientY;
15007
+ if (Math.abs(deltaX) < 0.5 && Math.abs(deltaY) < 0.5) {
15008
+ return;
15009
+ }
15010
+ e.event.evt.preventDefault();
15011
+ this.aiTableGridEventService.closeCellEditor();
15012
+ if (!this.touchPanState.hasMoved && (Math.abs(deltaX) > 2 || Math.abs(deltaY) > 2)) {
15013
+ this.touchPanState.hasMoved = true;
15014
+ }
15015
+ if (this.touchPanState.hasMoved) {
15016
+ this.ignoreMouseEventsAfterTouchScroll();
15017
+ }
15018
+ this.scrollAction({ deltaX, deltaY, shiftKey: false });
15019
+ }
15020
+ stageTouchend(e) {
15021
+ if (this.touchPanState.hasMoved) {
15022
+ this.ignoreMouseEventsAfterTouchScroll();
15023
+ }
15024
+ this.touchPanState.isTouching = false;
15025
+ this.touchPanState.hasMoved = false;
15026
+ }
14598
15027
  stageContextmenu(e) {
15028
+ if (this.shouldIgnoreMouseEvents()) {
15029
+ return;
15030
+ }
14599
15031
  const mouseEvent = e.event.evt;
14600
15032
  mouseEvent.preventDefault();
14601
15033
  if (this.aiReadonly()) {
@@ -14626,6 +15058,9 @@ class AITableGrid extends AITableGridBase {
14626
15058
  });
14627
15059
  }
14628
15060
  stageClick(e) {
15061
+ if (this.shouldIgnoreMouseEvents()) {
15062
+ return;
15063
+ }
14629
15064
  const targetNameDetail = getDetailByTargetName(e.event.target.name());
14630
15065
  this.aiClick.emit({
14631
15066
  ...e,
@@ -14734,6 +15169,9 @@ class AITableGrid extends AITableGridBase {
14734
15169
  return;
14735
15170
  }
14736
15171
  stageDblclick(e) {
15172
+ if (this.shouldIgnoreMouseEvents()) {
15173
+ return;
15174
+ }
14737
15175
  const _targetName = e.event.target.name();
14738
15176
  const targetNameDetail = getDetailByTargetName(_targetName);
14739
15177
  this.aiDbClick.emit({
@@ -15174,14 +15612,14 @@ class AITableGrid extends AITableGridBase {
15174
15612
  }
15175
15613
  });
15176
15614
  }
15177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15178
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", 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 >\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", "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 }); }
15179
15617
  }
15180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AITableGrid, decorators: [{
15618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AITableGrid, decorators: [{
15181
15619
  type: Component,
15182
15620
  args: [{ selector: 'ai-table-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
15183
15621
  class: 'ai-table-grid'
15184
- }, imports: [AITableRenderer, AITableDragComponent, ThyTooltipDirective, ThyIcon], providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], 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 >\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" }]
15622
+ }, imports: [AITableRenderer, AITableDragComponent, ThyTooltipDirective, ThyIcon], providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], 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" }]
15185
15623
  }], ctorParameters: () => [], propDecorators: { container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], verticalBarRef: [{ type: i0.ViewChild, args: ['verticalBar', { isSignal: true }] }], horizontalBarRef: [{ type: i0.ViewChild, args: ['horizontalBar', { isSignal: true }] }] } });
15186
15624
 
15187
15625
  /**