@ai-table/grid 0.5.9 → 0.6.0-next.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.
@@ -195,7 +195,7 @@ function createListener(instance) {
195
195
 
196
196
  class KoShape {
197
197
  constructor() {
198
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
198
+ this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
199
199
  this.koMouseover = new EventEmitter();
200
200
  this.koMousemove = new EventEmitter();
201
201
  this.koMouseout = new EventEmitter();
@@ -277,10 +277,10 @@ class KoShape {
277
277
  ngOnDestroy() {
278
278
  this._node?.destroy();
279
279
  }
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
282
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoShape, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: KoShape, decorators: [{
284
284
  type: Component,
285
285
  args: [{
286
286
  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 +328,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
328
328
  }] } });
329
329
 
330
330
  class KoContainer extends KoShape {
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
331
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
333
333
  {
334
334
  provide: KO_CONTAINER_TOKEN,
335
335
  useExisting: KoContainer
336
336
  }
337
337
  ], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
338
338
  }
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoContainer, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: KoContainer, decorators: [{
340
340
  type: Component,
341
341
  args: [{
342
342
  selector: 'ko-layer, ko-fastlayer, ko-group',
@@ -353,7 +353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
353
353
 
354
354
  class KoStage {
355
355
  constructor() {
356
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
356
+ this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
357
357
  this.koMouseover = new EventEmitter();
358
358
  this.koMousemove = new EventEmitter();
359
359
  this.koMouseout = new EventEmitter();
@@ -407,15 +407,15 @@ class KoStage {
407
407
  ngOnDestroy() {
408
408
  this._stage?.destroy();
409
409
  }
410
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
412
  {
413
413
  provide: KO_CONTAINER_TOKEN,
414
414
  useExisting: KoStage
415
415
  }
416
416
  ], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
417
417
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: KoStage, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: KoStage, decorators: [{
419
419
  type: Component,
420
420
  args: [{
421
421
  selector: 'ko-stage',
@@ -1677,15 +1677,15 @@ class RendererContext {
1677
1677
 
1678
1678
  class AbstractEditCellEditor {
1679
1679
  constructor() {
1680
- this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low, ...(ngDevMode ? [{ debugName: "recordHeight" }] : []));
1681
- this.autoFocus = input(true, ...(ngDevMode ? [{ debugName: "autoFocus", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
1680
+ this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low, ...(ngDevMode ? [{ debugName: "recordHeight" }] : /* istanbul ignore next */ []));
1681
+ this.autoFocus = input(true, { ...(ngDevMode ? { debugName: "autoFocus" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
1682
1682
  this.updateFieldValues = output();
1683
1683
  this.field = computed(() => {
1684
1684
  return this.aiTable.fieldsMap()[this.fieldId];
1685
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
1685
+ }, ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
1686
1686
  this.record = computed(() => {
1687
1687
  return this.aiTable.recordsMap()[this.recordId];
1688
- }, ...(ngDevMode ? [{ debugName: "record" }] : []));
1688
+ }, ...(ngDevMode ? [{ debugName: "record" }] : /* istanbul ignore next */ []));
1689
1689
  this.elementRef = inject((ElementRef));
1690
1690
  this.thyPopoverRef = inject((ThyPopoverRef), { optional: true });
1691
1691
  this.render2 = inject(Renderer2);
@@ -1739,10 +1739,10 @@ class AbstractEditCellEditor {
1739
1739
  });
1740
1740
  }
1741
1741
  }
1742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1743
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: false, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: false, isRequired: true, transformFunction: null }, recordHeight: { classPropertyName: "recordHeight", publicName: "recordHeight", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1742
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1743
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
1744
  }
1745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
1745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
1746
1746
  type: Component,
1747
1747
  args: [{
1748
1748
  selector: 'abstract-edit-cell',
@@ -1795,8 +1795,8 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
1795
1795
  this.closePopover();
1796
1796
  }
1797
1797
  }
1798
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1799
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
1798
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1799
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
1800
1800
  <thy-date-picker
1801
1801
  class="h-100"
1802
1802
  thyTimestampPrecision="seconds"
@@ -1814,7 +1814,7 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
1814
1814
  </thy-date-picker>
1815
1815
  `, 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
1816
  }
1817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DateCellEditorComponent, decorators: [{
1817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: DateCellEditorComponent, decorators: [{
1818
1818
  type: Component,
1819
1819
  args: [{
1820
1820
  selector: 'date-cell-editor',
@@ -1851,7 +1851,7 @@ class LinkEditComponent {
1851
1851
  this.thyPopoverRef = thyPopoverRef;
1852
1852
  this.url = '';
1853
1853
  this.text = '';
1854
- this.aiTable = input(...(ngDevMode ? [undefined, { debugName: "aiTable" }] : []));
1854
+ this.aiTable = input(...(ngDevMode ? [undefined, { debugName: "aiTable" }] : /* istanbul ignore next */ []));
1855
1855
  this.confirm = new EventEmitter();
1856
1856
  this.i18nTexts = computed(() => {
1857
1857
  return {
@@ -1862,7 +1862,7 @@ class LinkEditComponent {
1862
1862
  cancel: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.cancel),
1863
1863
  apply: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.apply)
1864
1864
  };
1865
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
1865
+ }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
1866
1866
  this.validatorConfig = computed(() => {
1867
1867
  return {
1868
1868
  validationMessages: {
@@ -1871,7 +1871,7 @@ class LinkEditComponent {
1871
1871
  }
1872
1872
  }
1873
1873
  };
1874
- }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : []));
1874
+ }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : /* istanbul ignore next */ []));
1875
1875
  }
1876
1876
  ngOnInit() { }
1877
1877
  close() {
@@ -1892,10 +1892,10 @@ class LinkEditComponent {
1892
1892
  const link = url ? { text: text || url, url: url } : undefined;
1893
1893
  this.confirm.emit(link);
1894
1894
  }
1895
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
1896
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
1895
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", 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.7", 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"] }] }); }
1897
1897
  }
1898
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkEditComponent, decorators: [{
1898
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: LinkEditComponent, decorators: [{
1899
1899
  type: Component,
1900
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" }]
1901
1901
  }], ctorParameters: () => [{ type: i1$1.ThyPopoverRef }], propDecorators: { url: [{
@@ -1918,7 +1918,7 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
1918
1918
  this.isOpened = false;
1919
1919
  this.linkTooltip = computed(() => {
1920
1920
  return getI18nTextByKey(this.aiTable, AITableGridI18nKey.linkTooltip);
1921
- }, ...(ngDevMode ? [{ debugName: "linkTooltip" }] : []));
1921
+ }, ...(ngDevMode ? [{ debugName: "linkTooltip" }] : /* istanbul ignore next */ []));
1922
1922
  }
1923
1923
  isValidLink(link) {
1924
1924
  if (!link.text) {
@@ -1987,10 +1987,10 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
1987
1987
  });
1988
1988
  }
1989
1989
  }
1990
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1991
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"autoFocus()\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n [thyTooltip]=\"linkTooltip()\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1990
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1991
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", 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 }); }
1992
1992
  }
1993
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
1993
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
1994
1994
  type: Component,
1995
1995
  args: [{ selector: 'link-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1996
1996
  FormsModule,
@@ -4177,7 +4177,7 @@ const isCellMatchKeywords = (aiTable, field, recordId, keywords, references) =>
4177
4177
 
4178
4178
  class AITableTextComponent {
4179
4179
  constructor() {
4180
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
4180
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
4181
4181
  // @Output() koClick = new EventEmitter<KoEventObject<MouseEvent>>();
4182
4182
  this.koClick = output();
4183
4183
  this.koMouseMove = output();
@@ -4204,7 +4204,7 @@ class AITableTextComponent {
4204
4204
  ...rest
4205
4205
  };
4206
4206
  return result;
4207
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
4207
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
4208
4208
  }
4209
4209
  onClick(e) {
4210
4210
  this.koClick.emit(e);
@@ -4212,10 +4212,10 @@ class AITableTextComponent {
4212
4212
  onMousemove(e) {
4213
4213
  this.koMouseMove.emit(e);
4214
4214
  }
4215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableTextComponent, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
4217
  }
4218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableTextComponent, decorators: [{
4218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableTextComponent, decorators: [{
4219
4219
  type: Component,
4220
4220
  args: [{
4221
4221
  selector: 'ai-table-text',
@@ -5247,17 +5247,17 @@ const drawer = new Drawer();
5247
5247
 
5248
5248
  class CoverCellBase {
5249
5249
  constructor() {
5250
- this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
5251
- this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : []));
5250
+ this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
5251
+ this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : /* istanbul ignore next */ []));
5252
5252
  this.isExpand = computed(() => {
5253
5253
  const { isExpand } = this.config();
5254
5254
  return isExpand;
5255
- }, ...(ngDevMode ? [{ debugName: "isExpand" }] : []));
5255
+ }, ...(ngDevMode ? [{ debugName: "isExpand" }] : /* istanbul ignore next */ []));
5256
5256
  }
5257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: CoverCellBase, isStandalone: true, selector: "ai-table-cover-cell-base", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
5259
  }
5260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CoverCellBase, decorators: [{
5260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CoverCellBase, decorators: [{
5261
5261
  type: Component,
5262
5262
  args: [{
5263
5263
  selector: 'ai-table-cover-cell-base',
@@ -5270,9 +5270,9 @@ class AITableCellLink extends CoverCellBase {
5270
5270
  constructor() {
5271
5271
  super(...arguments);
5272
5272
  this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
5273
- this.render = computed(() => this.config()?.render, ...(ngDevMode ? [{ debugName: "render" }] : []));
5274
- this.transformValue = computed(() => this.render()?.transformValue, ...(ngDevMode ? [{ debugName: "transformValue" }] : []));
5275
- this.showLink = computed(() => !!this.transformValue()?.text, ...(ngDevMode ? [{ debugName: "showLink" }] : []));
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 */ []));
5276
5276
  this.textConfig = computed(() => {
5277
5277
  const render = this.config()?.render;
5278
5278
  if (render) {
@@ -5307,7 +5307,7 @@ class AITableCellLink extends CoverCellBase {
5307
5307
  };
5308
5308
  }
5309
5309
  return;
5310
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
5310
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
5311
5311
  }
5312
5312
  static { this.fieldType = AITableFieldType.link; }
5313
5313
  linkClick(e) {
@@ -5327,14 +5327,14 @@ class AITableCellLink extends CoverCellBase {
5327
5327
  const curMousePosition = getMousePosition(aiTable, x, y, coordinate, AITable.getVisibleFields(aiTable), context, targetName);
5328
5328
  handleMouseStyle(AI_TABLE_FIELD_HEAD_MORE, curMousePosition.areaType, coordinate.container);
5329
5329
  }
5330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5331
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", usesInheritance: true, ngImport: i0, template: `
5330
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5331
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", usesInheritance: true, ngImport: i0, template: `
5332
5332
  @if (showLink()) {
5333
5333
  <ai-table-text [config]="textConfig()!" (koClick)="linkClick($event)" (koMouseMove)="linkMouseMove($event)"></ai-table-text>
5334
5334
  }
5335
5335
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5336
5336
  }
5337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellLink, decorators: [{
5337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellLink, decorators: [{
5338
5338
  type: Component,
5339
5339
  args: [{
5340
5340
  selector: 'ai-table-link',
@@ -5354,12 +5354,12 @@ class AITableActionIcon {
5354
5354
  this.onMousemove = output();
5355
5355
  this.onMouseenter = output();
5356
5356
  this.onMouseleave = output();
5357
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
5358
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
5357
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
5358
+ this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
5359
5359
  this.groupConfig = computed(() => {
5360
5360
  const { x, y, listening } = this.config();
5361
5361
  return { x, y, listening };
5362
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
5362
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
5363
5363
  this.squareShapeConfig = computed(() => {
5364
5364
  const { name, backgroundWidth, backgroundHeight, hoverFill: coverFill, size = DEFAULT_ICON_SIZE, strokeWidth = 1, cornerRadius, source } = this.config();
5365
5365
  return {
@@ -5372,7 +5372,7 @@ class AITableActionIcon {
5372
5372
  cornerRadius,
5373
5373
  source
5374
5374
  };
5375
- }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : []));
5375
+ }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : /* istanbul ignore next */ []));
5376
5376
  this.iconGroupConfig = computed(() => {
5377
5377
  let { backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, scaleX, scaleY, offsetX, offsetY } = this.config();
5378
5378
  return {
@@ -5383,7 +5383,7 @@ class AITableActionIcon {
5383
5383
  scaleX: scaleX || size / DEFAULT_ICON_SIZE,
5384
5384
  scaleY: scaleY || size / DEFAULT_ICON_SIZE
5385
5385
  };
5386
- }, ...(ngDevMode ? [{ debugName: "iconGroupConfig" }] : []));
5386
+ }, ...(ngDevMode ? [{ debugName: "iconGroupConfig" }] : /* istanbul ignore next */ []));
5387
5387
  this.iconConfig = computed(() => {
5388
5388
  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
5389
  fill = fill || Colors.gray600;
@@ -5412,7 +5412,7 @@ class AITableActionIcon {
5412
5412
  perfectDrawEnabled: false,
5413
5413
  listening: false
5414
5414
  };
5415
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5415
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
5416
5416
  }
5417
5417
  koClick(e) {
5418
5418
  this.onClick.emit(e);
@@ -5432,8 +5432,8 @@ class AITableActionIcon {
5432
5432
  const { coordinate } = this.config();
5433
5433
  setMouseStyle('default', coordinate.container);
5434
5434
  }
5435
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5436
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableActionIcon, isStandalone: true, selector: "ai-table-action-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onMousemove: "onMousemove", onMouseenter: "onMouseenter", onMouseleave: "onMouseleave" }, ngImport: i0, template: `
5435
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5436
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
5437
  <ko-group
5438
5438
  [config]="groupConfig()"
5439
5439
  (koClick)="koClick($event)"
@@ -5448,7 +5448,7 @@ class AITableActionIcon {
5448
5448
  </ko-group>
5449
5449
  `, 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
5450
  }
5451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableActionIcon, decorators: [{
5451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableActionIcon, decorators: [{
5452
5452
  type: Component,
5453
5453
  args: [{
5454
5454
  selector: 'ai-table-action-icon',
@@ -5720,7 +5720,7 @@ class AITableCellAttachment extends CoverCellBase {
5720
5720
  });
5721
5721
  }
5722
5722
  return [];
5723
- }, ...(ngDevMode ? [{ debugName: "attachments" }] : []));
5723
+ }, ...(ngDevMode ? [{ debugName: "attachments" }] : /* istanbul ignore next */ []));
5724
5724
  this.iconConfig = computed(() => {
5725
5725
  const { coordinate, render, field, recordId, readonly } = this.config();
5726
5726
  const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
@@ -5745,18 +5745,18 @@ class AITableCellAttachment extends CoverCellBase {
5745
5745
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
5746
5746
  listening: true
5747
5747
  };
5748
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5748
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
5749
5749
  }
5750
5750
  static { this.fieldType = AITableFieldType.attachment; }
5751
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5752
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", usesInheritance: true, ngImport: i0, template: `
5751
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5752
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", usesInheritance: true, ngImport: i0, template: `
5753
5753
  @for (attachment of attachments(); track attachment.attachmentInfo._id) {
5754
5754
  <ko-image [config]="attachment"></ko-image>
5755
5755
  }
5756
5756
  <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
5757
5757
  `, 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
5758
  }
5759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellAttachment, decorators: [{
5759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellAttachment, decorators: [{
5760
5760
  type: Component,
5761
5761
  args: [{
5762
5762
  selector: 'ai-table-attachments',
@@ -5800,7 +5800,7 @@ class AITableCellRichText extends CoverCellBase {
5800
5800
  };
5801
5801
  }
5802
5802
  return;
5803
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
5803
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
5804
5804
  this.iconConfig = computed(() => {
5805
5805
  const { coordinate, render, field, recordId, readonly } = this.config();
5806
5806
  const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
@@ -5825,18 +5825,18 @@ class AITableCellRichText extends CoverCellBase {
5825
5825
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
5826
5826
  listening: true
5827
5827
  };
5828
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5828
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
5829
5829
  }
5830
5830
  static { this.fieldType = AITableFieldType.richText; }
5831
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5832
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", usesInheritance: true, ngImport: i0, template: `
5831
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5832
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", usesInheritance: true, ngImport: i0, template: `
5833
5833
  @if (textConfig()) {
5834
5834
  <ai-table-text [config]="textConfig()!"></ai-table-text>
5835
5835
  }
5836
5836
  <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
5837
5837
  `, 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
5838
  }
5839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRichText, decorators: [{
5839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellRichText, decorators: [{
5840
5840
  type: Component,
5841
5841
  args: [{
5842
5842
  selector: 'ai-table-rich-text',
@@ -7318,12 +7318,12 @@ const isHoverRecord = (isHover, targetName) => {
7318
7318
 
7319
7319
  class AITableIcon {
7320
7320
  constructor() {
7321
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7321
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7322
7322
  this.koClick = output();
7323
7323
  this.groupConfig = computed(() => {
7324
7324
  const { x, y, listening } = this.config();
7325
7325
  return { x, y, listening };
7326
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
7326
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
7327
7327
  this.squareShapeConfig = computed(() => {
7328
7328
  const { name, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, strokeWidth = 1, background, cornerRadius, opacity } = this.config();
7329
7329
  return {
@@ -7335,7 +7335,7 @@ class AITableIcon {
7335
7335
  cornerRadius,
7336
7336
  opacity
7337
7337
  };
7338
- }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : []));
7338
+ }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : /* istanbul ignore next */ []));
7339
7339
  this.iconConfig = computed(() => {
7340
7340
  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
7341
  let pathData = data;
@@ -7368,17 +7368,17 @@ class AITableIcon {
7368
7368
  perfectDrawEnabled: false,
7369
7369
  listening: false
7370
7370
  };
7371
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7371
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7372
7372
  }
7373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick" }, ngImport: i0, template: `
7373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
7375
  <ko-group [config]="groupConfig()" (koClick)="koClick.emit($event)">
7376
7376
  <ko-rect [config]="squareShapeConfig()"></ko-rect>
7377
7377
  <ko-path [config]="iconConfig()"></ko-path>
7378
7378
  </ko-group>
7379
7379
  `, 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
7380
  }
7381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableIcon, decorators: [{
7381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableIcon, decorators: [{
7382
7382
  type: Component,
7383
7383
  args: [{
7384
7384
  selector: 'ai-table-icon',
@@ -7395,13 +7395,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7395
7395
 
7396
7396
  class AITableAddField {
7397
7397
  constructor() {
7398
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7398
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7399
7399
  this.btnWidth = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
7400
7400
  this.x = computed(() => {
7401
7401
  const lastColumnWidth = this.config().coordinate.getColumnWidth(this.config().columnStopIndex);
7402
7402
  const lastColumnOffset = this.config().coordinate.getColumnOffset(this.config().columnStopIndex);
7403
7403
  return lastColumnWidth + lastColumnOffset;
7404
- }, ...(ngDevMode ? [{ debugName: "x" }] : []));
7404
+ }, ...(ngDevMode ? [{ debugName: "x" }] : /* istanbul ignore next */ []));
7405
7405
  this.rectConfig = computed(() => {
7406
7406
  const { pointPosition: { targetName }, readonly, maxFields, aiTable } = this.config();
7407
7407
  const fill = targetName === AI_TABLE_FIELD_ADD_BUTTON ? Colors.gray80 : Colors.white;
@@ -7426,7 +7426,7 @@ class AITableAddField {
7426
7426
  listening: true,
7427
7427
  fill
7428
7428
  };
7429
- }, ...(ngDevMode ? [{ debugName: "rectConfig" }] : []));
7429
+ }, ...(ngDevMode ? [{ debugName: "rectConfig" }] : /* istanbul ignore next */ []));
7430
7430
  this.addIconConfig = computed(() => {
7431
7431
  const { readonly, maxFields, aiTable } = this.config();
7432
7432
  const offsetY = (AI_TABLE_FIELD_HEAD_HEIGHT - AI_TABLE_ICON_COMMON_SIZE) / 2;
@@ -7439,10 +7439,10 @@ class AITableAddField {
7439
7439
  visible: !readonly,
7440
7440
  disabled: maxFields ? aiTable.fields().length >= maxFields : false
7441
7441
  };
7442
- }, ...(ngDevMode ? [{ debugName: "addIconConfig" }] : []));
7442
+ }, ...(ngDevMode ? [{ debugName: "addIconConfig" }] : /* istanbul ignore next */ []));
7443
7443
  }
7444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7444
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
7446
  <ko-group [config]="{ x: x() }">
7447
7447
  <ko-group>
7448
7448
  <ko-rect [config]="rectConfig()"></ko-rect>
@@ -7455,7 +7455,7 @@ class AITableAddField {
7455
7455
  </ko-group>
7456
7456
  `, 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
7457
  }
7458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableAddField, decorators: [{
7458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableAddField, decorators: [{
7459
7459
  type: Component,
7460
7460
  args: [{
7461
7461
  selector: 'ai-table-add-field',
@@ -7478,7 +7478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7478
7478
 
7479
7479
  class AITableCells {
7480
7480
  constructor() {
7481
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7481
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7482
7482
  this.cellsShapeConfig = computed(() => {
7483
7483
  const { coordinate, columnStartIndex } = this.config();
7484
7484
  const { frozenColumnCount } = coordinate;
@@ -7491,12 +7491,12 @@ class AITableCells {
7491
7491
  columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
7492
7492
  })
7493
7493
  };
7494
- }, ...(ngDevMode ? [{ debugName: "cellsShapeConfig" }] : []));
7494
+ }, ...(ngDevMode ? [{ debugName: "cellsShapeConfig" }] : /* istanbul ignore next */ []));
7495
7495
  }
7496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7497
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableCells, isStandalone: true, selector: "ai-table-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7496
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7497
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
7498
  }
7499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCells, decorators: [{
7499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCells, decorators: [{
7500
7500
  type: Component,
7501
7501
  args: [{
7502
7502
  selector: 'ai-table-cells',
@@ -7508,7 +7508,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7508
7508
 
7509
7509
  class AITableFieldIcon {
7510
7510
  constructor() {
7511
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7511
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7512
7512
  this.iconConfig = computed(() => {
7513
7513
  const { field, x, y, width, height, fill, path } = this.config();
7514
7514
  const data = getFieldIconPath(field) || path;
@@ -7521,12 +7521,12 @@ class AITableFieldIcon {
7521
7521
  data,
7522
7522
  fill
7523
7523
  };
7524
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7524
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7525
7525
  }
7526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7527
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableFieldIcon, isStandalone: true, selector: "ai-table-field-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7526
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7527
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
7528
  }
7529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIcon, decorators: [{
7529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldIcon, decorators: [{
7530
7530
  type: Component,
7531
7531
  args: [{
7532
7532
  selector: 'ai-table-field-icon',
@@ -7538,7 +7538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7538
7538
 
7539
7539
  class AITableFieldHead {
7540
7540
  constructor() {
7541
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7541
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7542
7542
  this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
7543
7543
  this.textMeasure = TextMeasure();
7544
7544
  this.availableTextWidth = computed(() => {
@@ -7547,7 +7547,7 @@ class AITableFieldHead {
7547
7547
  (iconVisible
7548
7548
  ? 2 * (AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE)
7549
7549
  : 2 * AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE));
7550
- }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : []));
7550
+ }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : /* istanbul ignore next */ []));
7551
7551
  this.textData = computed(() => {
7552
7552
  const fieldName = this.config().field.name.replace(/\r|\n/g, ' ');
7553
7553
  this.textMeasure.setFont({ fontSize: DEFAULT_FONT_SIZE });
@@ -7557,13 +7557,13 @@ class AITableFieldHead {
7557
7557
  height,
7558
7558
  isOverflow
7559
7559
  };
7560
- }, ...(ngDevMode ? [{ debugName: "textData" }] : []));
7560
+ }, ...(ngDevMode ? [{ debugName: "textData" }] : /* istanbul ignore next */ []));
7561
7561
  this.groupConfig = computed(() => {
7562
7562
  return {
7563
7563
  x: this.config().x,
7564
7564
  y: this.config().y
7565
7565
  };
7566
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
7566
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
7567
7567
  this.bgConfig = computed(() => {
7568
7568
  const { field, width, height, stroke, isSelected, iconVisible, isFirstHead, showExpandIcon } = this.config();
7569
7569
  const shouldExtendLeft = isFirstHead && showExpandIcon && !isSelected;
@@ -7583,7 +7583,7 @@ class AITableFieldHead {
7583
7583
  strokeWidth: 1,
7584
7584
  opacity: 1
7585
7585
  };
7586
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
7586
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
7587
7587
  this.fieldIconConfig = computed(() => {
7588
7588
  const { field, height } = this.config();
7589
7589
  return {
@@ -7595,7 +7595,7 @@ class AITableFieldHead {
7595
7595
  fill: Colors.gray600,
7596
7596
  path: IconPathMap[field.icon]
7597
7597
  };
7598
- }, ...(ngDevMode ? [{ debugName: "fieldIconConfig" }] : []));
7598
+ }, ...(ngDevMode ? [{ debugName: "fieldIconConfig" }] : /* istanbul ignore next */ []));
7599
7599
  this.textConfig = computed(() => {
7600
7600
  const { field, height } = this.config();
7601
7601
  return {
@@ -7606,7 +7606,7 @@ class AITableFieldHead {
7606
7606
  text: field.name,
7607
7607
  lineHeight: AI_TABLE_TEXT_LINE_HEIGHT
7608
7608
  };
7609
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
7609
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
7610
7610
  this.moreIconConfig = computed(() => {
7611
7611
  const { field, width, height, isHoverIcon, isSelected } = this.config();
7612
7612
  const commonIconOffsetY = (height - AI_TABLE_ACTION_COMMON_SIZE) / 2;
@@ -7624,7 +7624,7 @@ class AITableFieldHead {
7624
7624
  backgroundHeight: AI_TABLE_ACTION_COMMON_SIZE,
7625
7625
  cornerRadius: 4
7626
7626
  };
7627
- }, ...(ngDevMode ? [{ debugName: "moreIconConfig" }] : []));
7627
+ }, ...(ngDevMode ? [{ debugName: "moreIconConfig" }] : /* istanbul ignore next */ []));
7628
7628
  this.fieldOpacityLineConfig = computed(() => {
7629
7629
  const { field, width, height } = this.config();
7630
7630
  return {
@@ -7638,10 +7638,10 @@ class AITableFieldHead {
7638
7638
  stroke: Colors.transparent,
7639
7639
  strokeWidth: 6
7640
7640
  };
7641
- }, ...(ngDevMode ? [{ debugName: "fieldOpacityLineConfig" }] : []));
7641
+ }, ...(ngDevMode ? [{ debugName: "fieldOpacityLineConfig" }] : /* istanbul ignore next */ []));
7642
7642
  }
7643
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldHead, isStandalone: true, selector: "ai-table-field-head", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7643
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7644
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
7645
  <ko-group [config]="groupConfig()">
7646
7646
  <ko-rect [config]="bgConfig()"></ko-rect>
7647
7647
  <ko-group>
@@ -7655,7 +7655,7 @@ class AITableFieldHead {
7655
7655
  </ko-group>
7656
7656
  `, 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
7657
  }
7658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldHead, decorators: [{
7658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldHead, decorators: [{
7659
7659
  type: Component,
7660
7660
  args: [{
7661
7661
  selector: 'ai-table-field-head',
@@ -7679,7 +7679,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
7679
7679
 
7680
7680
  class AITableFrozenCells {
7681
7681
  constructor() {
7682
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7682
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7683
7683
  this.frozenCellsConfig = computed(() => {
7684
7684
  const { coordinate } = this.config();
7685
7685
  const { frozenColumnCount } = coordinate;
@@ -7693,12 +7693,12 @@ class AITableFrozenCells {
7693
7693
  columnStopIndex: frozenColumnCount - 1
7694
7694
  })
7695
7695
  };
7696
- }, ...(ngDevMode ? [{ debugName: "frozenCellsConfig" }] : []));
7696
+ }, ...(ngDevMode ? [{ debugName: "frozenCellsConfig" }] : /* istanbul ignore next */ []));
7697
7697
  }
7698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7699
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableFrozenCells, isStandalone: true, selector: "ai-table-frozen-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7699
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
7700
  }
7701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenCells, decorators: [{
7701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenCells, decorators: [{
7702
7702
  type: Component,
7703
7703
  args: [{
7704
7704
  selector: 'ai-table-frozen-cells',
@@ -7762,31 +7762,31 @@ const createColumnHeads = (config) => {
7762
7762
 
7763
7763
  class AITableFrozenColumnHeads {
7764
7764
  constructor() {
7765
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7765
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
7766
7766
  this.textMeasure = TextMeasure();
7767
- this.emptyRecordsSelectAllStatus = signal(AITableSelectAllState.none, ...(ngDevMode ? [{ debugName: "emptyRecordsSelectAllStatus" }] : []));
7767
+ this.emptyRecordsSelectAllStatus = signal(AITableSelectAllState.none, ...(ngDevMode ? [{ debugName: "emptyRecordsSelectAllStatus" }] : /* istanbul ignore next */ []));
7768
7768
  this.coordinate = computed(() => {
7769
7769
  const config = this.config();
7770
7770
  if (!config)
7771
7771
  return null;
7772
7772
  return config.coordinate;
7773
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
7773
+ }, ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
7774
7774
  this.hiddenIndexColumn = computed(() => {
7775
7775
  const context = this.context();
7776
7776
  if (!context)
7777
7777
  return false;
7778
7778
  return context?.aiFieldConfig()?.hiddenIndexColumn;
7779
- }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : []));
7779
+ }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : /* istanbul ignore next */ []));
7780
7780
  this.context = computed(() => {
7781
7781
  const config = this.config();
7782
7782
  if (!config)
7783
7783
  return null;
7784
7784
  return config?.aiTable.context;
7785
- }, ...(ngDevMode ? [{ debugName: "context" }] : []));
7785
+ }, ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
7786
7786
  this.readonly = computed(() => {
7787
7787
  const context = this.context();
7788
7788
  return !!context?.readonly?.();
7789
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
7789
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
7790
7790
  this.isChecked = computed(() => {
7791
7791
  const config = this.config();
7792
7792
  if (!config) {
@@ -7802,14 +7802,14 @@ class AITableFrozenColumnHeads {
7802
7802
  ? AITableSelectAllState.none
7803
7803
  : AITableSelectAllState.partial;
7804
7804
  return selectedAllState === AITableSelectAllState.all;
7805
- }, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
7805
+ }, ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
7806
7806
  this.fieldHeadHeight = computed(() => {
7807
7807
  const coord = this.coordinate();
7808
7808
  if (!coord)
7809
7809
  return 0;
7810
7810
  // return coord.rowInitSize;
7811
7811
  return AI_TABLE_FIELD_HEAD_HEIGHT;
7812
- }, ...(ngDevMode ? [{ debugName: "fieldHeadHeight" }] : []));
7812
+ }, ...(ngDevMode ? [{ debugName: "fieldHeadHeight" }] : /* istanbul ignore next */ []));
7813
7813
  this.headConfigs = computed(() => {
7814
7814
  const coord = this.coordinate();
7815
7815
  if (!coord)
@@ -7819,7 +7819,7 @@ class AITableFrozenColumnHeads {
7819
7819
  columnStartIndex: 0,
7820
7820
  columnStopIndex: coord.frozenColumnCount - 1
7821
7821
  });
7822
- }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
7822
+ }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
7823
7823
  this.dragHeadBgConfig = computed(() => {
7824
7824
  return {
7825
7825
  x: AI_TABLE_OFFSET,
@@ -7829,7 +7829,7 @@ class AITableFrozenColumnHeads {
7829
7829
  fill: Colors.white,
7830
7830
  listening: false
7831
7831
  };
7832
- }, ...(ngDevMode ? [{ debugName: "dragHeadBgConfig" }] : []));
7832
+ }, ...(ngDevMode ? [{ debugName: "dragHeadBgConfig" }] : /* istanbul ignore next */ []));
7833
7833
  this.numberHeadBgConfig = computed(() => {
7834
7834
  const ctx = this.context();
7835
7835
  if (!ctx)
@@ -7842,7 +7842,7 @@ class AITableFrozenColumnHeads {
7842
7842
  fill: Colors.white,
7843
7843
  listening: false
7844
7844
  };
7845
- }, ...(ngDevMode ? [{ debugName: "numberHeadBgConfig" }] : []));
7845
+ }, ...(ngDevMode ? [{ debugName: "numberHeadBgConfig" }] : /* istanbul ignore next */ []));
7846
7846
  this.topLineConfig = computed(() => {
7847
7847
  const ctx = this.context();
7848
7848
  if (!ctx)
@@ -7855,7 +7855,7 @@ class AITableFrozenColumnHeads {
7855
7855
  strokeWidth: 1,
7856
7856
  listening: false
7857
7857
  };
7858
- }, ...(ngDevMode ? [{ debugName: "topLineConfig" }] : []));
7858
+ }, ...(ngDevMode ? [{ debugName: "topLineConfig" }] : /* istanbul ignore next */ []));
7859
7859
  this.bottomLineConfig = computed(() => {
7860
7860
  const ctx = this.context();
7861
7861
  if (!ctx)
@@ -7868,7 +7868,7 @@ class AITableFrozenColumnHeads {
7868
7868
  strokeWidth: 1,
7869
7869
  listening: false
7870
7870
  };
7871
- }, ...(ngDevMode ? [{ debugName: "bottomLineConfig" }] : []));
7871
+ }, ...(ngDevMode ? [{ debugName: "bottomLineConfig" }] : /* istanbul ignore next */ []));
7872
7872
  this.iconConfig = computed(() => {
7873
7873
  return {
7874
7874
  name: AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX,
@@ -7879,7 +7879,7 @@ class AITableFrozenColumnHeads {
7879
7879
  ? Colors.primary
7880
7880
  : Colors.gray300
7881
7881
  };
7882
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7882
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
7883
7883
  this.textConfig = computed(() => {
7884
7884
  const text = AI_TABLE_INDEX_FIELD_TEXT;
7885
7885
  const lineHeight = AI_TABLE_TEXT_LINE_HEIGHT;
@@ -7892,7 +7892,7 @@ class AITableFrozenColumnHeads {
7892
7892
  text,
7893
7893
  lineHeight
7894
7894
  };
7895
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
7895
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
7896
7896
  this.headBgConfig = computed(() => {
7897
7897
  const coord = this.coordinate();
7898
7898
  const ctx = this.context();
@@ -7909,7 +7909,7 @@ class AITableFrozenColumnHeads {
7909
7909
  listening: false,
7910
7910
  zIndex: 10
7911
7911
  };
7912
- }, ...(ngDevMode ? [{ debugName: "headBgConfig" }] : []));
7912
+ }, ...(ngDevMode ? [{ debugName: "headBgConfig" }] : /* istanbul ignore next */ []));
7913
7913
  this.cellLinesConfig = computed(() => {
7914
7914
  const coord = this.coordinate();
7915
7915
  const ctx = this.context();
@@ -7971,15 +7971,15 @@ class AITableFrozenColumnHeads {
7971
7971
  });
7972
7972
  }
7973
7973
  return lines;
7974
- }, ...(ngDevMode ? [{ debugName: "cellLinesConfig" }] : []));
7974
+ }, ...(ngDevMode ? [{ debugName: "cellLinesConfig" }] : /* istanbul ignore next */ []));
7975
7975
  }
7976
7976
  selectAllClick(e) {
7977
7977
  if (this.config()?.aiTable?.records().length === 0) {
7978
7978
  this.emptyRecordsSelectAllStatus.set(this.emptyRecordsSelectAllStatus() === AITableSelectAllState.all ? AITableSelectAllState.none : AITableSelectAllState.all);
7979
7979
  }
7980
7980
  }
7981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7982
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
7983
  @if (!hiddenIndexColumn()) {
7984
7984
  <ko-group>
7985
7985
  @if (!readonly()) {
@@ -7998,7 +7998,7 @@ class AITableFrozenColumnHeads {
7998
7998
  }
7999
7999
  `, 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
8000
  }
8001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
8001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
8002
8002
  type: Component,
8003
8003
  args: [{
8004
8004
  selector: 'ai-table-frozen-column-heads',
@@ -8027,7 +8027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8027
8027
 
8028
8028
  class AITableFrozenPlaceholderCells {
8029
8029
  constructor() {
8030
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8030
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8031
8031
  this.frozenPlaceHolderCellsConfig = computed(() => {
8032
8032
  const { coordinate } = this.config();
8033
8033
  return getPlaceHolderCellsConfigs({
@@ -8035,16 +8035,16 @@ class AITableFrozenPlaceholderCells {
8035
8035
  columnStartIndex: 0,
8036
8036
  columnStopIndex: coordinate.frozenColumnCount - 1
8037
8037
  });
8038
- }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : []));
8038
+ }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : /* istanbul ignore next */ []));
8039
8039
  }
8040
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8041
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8040
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8041
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8042
  @for (item of frozenPlaceHolderCellsConfig(); track $index) {
8043
8043
  <ko-rect [config]="item"></ko-rect>
8044
8044
  }
8045
8045
  `, 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
8046
  }
8047
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
8047
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
8048
8048
  type: Component,
8049
8049
  args: [{
8050
8050
  selector: 'ai-table-frozen-placeholder-cells',
@@ -8060,7 +8060,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8060
8060
 
8061
8061
  class AITableColumnHeads {
8062
8062
  constructor() {
8063
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8063
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8064
8064
  this.headConfigs = computed(() => {
8065
8065
  const { coordinate, columnStartIndex } = this.config();
8066
8066
  const { frozenColumnCount } = coordinate;
@@ -8068,16 +8068,16 @@ class AITableColumnHeads {
8068
8068
  ...this.config(),
8069
8069
  columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
8070
8070
  });
8071
- }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8071
+ }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
8072
8072
  }
8073
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8074
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8073
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8074
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8075
  @for (config of headConfigs(); track $index) {
8076
8076
  <ai-table-field-head [config]="config"></ai-table-field-head>
8077
8077
  }
8078
8078
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8079
8079
  }
8080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableColumnHeads, decorators: [{
8080
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableColumnHeads, decorators: [{
8081
8081
  type: Component,
8082
8082
  args: [{
8083
8083
  selector: 'ai-table-column-heads',
@@ -8093,19 +8093,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8093
8093
 
8094
8094
  class AITableHoverRowHeads {
8095
8095
  constructor() {
8096
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8096
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8097
8097
  this.pointPosition = computed(() => {
8098
8098
  return this.config().aiTable.context.pointPosition();
8099
- }, ...(ngDevMode ? [{ debugName: "pointPosition" }] : []));
8099
+ }, ...(ngDevMode ? [{ debugName: "pointPosition" }] : /* istanbul ignore next */ []));
8100
8100
  this.headConfigs = computed(() => {
8101
8101
  return this.createHoverRowHeads(this.pointPosition());
8102
- }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8102
+ }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : /* istanbul ignore next */ []));
8103
8103
  this.readonly = computed(() => {
8104
8104
  return this.config().readonly;
8105
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
8105
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
8106
8106
  this.hiddenRowDrag = computed(() => {
8107
8107
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenRowDrag;
8108
- }, ...(ngDevMode ? [{ debugName: "hiddenRowDrag" }] : []));
8108
+ }, ...(ngDevMode ? [{ debugName: "hiddenRowDrag" }] : /* istanbul ignore next */ []));
8109
8109
  this.createHoverRowHeads = (pointPosition) => {
8110
8110
  const { coordinate, rowStartIndex, rowStopIndex, aiTable } = this.config();
8111
8111
  const context = aiTable.context;
@@ -8175,8 +8175,8 @@ class AITableHoverRowHeads {
8175
8175
  return headConfigs;
8176
8176
  };
8177
8177
  }
8178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8180
  @for (config of headConfigs(); track config.recordId) {
8181
8181
  <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
8182
8182
  @if (config.bgConfig) {
@@ -8192,7 +8192,7 @@ class AITableHoverRowHeads {
8192
8192
  }
8193
8193
  `, 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
8194
  }
8195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
8195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
8196
8196
  type: Component,
8197
8197
  args: [{
8198
8198
  selector: 'ai-table-hover-row-heads',
@@ -8218,11 +8218,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8218
8218
 
8219
8219
  class AITableOtherRows {
8220
8220
  constructor() {
8221
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8221
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8222
8222
  this.AITableRowType = AITableRowType;
8223
8223
  this.otherConfigs = computed(() => {
8224
8224
  return this.createOtherRows(this.config());
8225
- }, ...(ngDevMode ? [{ debugName: "otherConfigs" }] : []));
8225
+ }, ...(ngDevMode ? [{ debugName: "otherConfigs" }] : /* istanbul ignore next */ []));
8226
8226
  this.createOtherRows = (config) => {
8227
8227
  const { coordinate, rowStartIndex, rowStopIndex, aiTable, maxRecords } = config;
8228
8228
  const otherRowConfigs = [];
@@ -8255,8 +8255,8 @@ class AITableOtherRows {
8255
8255
  return otherRowConfigs;
8256
8256
  };
8257
8257
  }
8258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8260
  @for (config of otherConfigs(); track $index) {
8261
8261
  @switch (config.type) {
8262
8262
  @case (AITableRowType.add) {
@@ -8266,7 +8266,7 @@ class AITableOtherRows {
8266
8266
  }
8267
8267
  `, 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
8268
  }
8269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableOtherRows, decorators: [{
8269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableOtherRows, decorators: [{
8270
8270
  type: Component,
8271
8271
  args: [{
8272
8272
  selector: 'ai-table-other-rows',
@@ -8286,19 +8286,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8286
8286
 
8287
8287
  class AITablePlaceholderCells {
8288
8288
  constructor() {
8289
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8289
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8290
8290
  this.frozenPlaceHolderCellsConfig = computed(() => {
8291
8291
  return getPlaceHolderCellsConfigs(this.config());
8292
- }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : []));
8292
+ }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : /* istanbul ignore next */ []));
8293
8293
  }
8294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8294
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8295
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8296
  @for (item of frozenPlaceHolderCellsConfig(); track $index) {
8297
8297
  <ko-rect [config]="item"></ko-rect>
8298
8298
  }
8299
8299
  `, 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
8300
  }
8301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
8301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
8302
8302
  type: Component,
8303
8303
  args: [{
8304
8304
  selector: 'ai-table-placeholder-cells',
@@ -8314,7 +8314,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8314
8314
 
8315
8315
  class AITableExpandRecord {
8316
8316
  constructor() {
8317
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8317
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8318
8318
  this.backgroundConfig = computed(() => {
8319
8319
  const { coordinate, aiTable } = this.config();
8320
8320
  const context = aiTable.context;
@@ -8340,7 +8340,7 @@ class AITableExpandRecord {
8340
8340
  hoverFill: Colors.transparent,
8341
8341
  listening: true
8342
8342
  };
8343
- }, ...(ngDevMode ? [{ debugName: "backgroundConfig" }] : []));
8343
+ }, ...(ngDevMode ? [{ debugName: "backgroundConfig" }] : /* istanbul ignore next */ []));
8344
8344
  this.shouldShowIcon = computed(() => {
8345
8345
  const { aiTable, rowStartIndex, rowStopIndex } = this.config();
8346
8346
  const context = aiTable.context;
@@ -8351,7 +8351,7 @@ class AITableExpandRecord {
8351
8351
  const { rowIndex: pointRowIndex } = context.pointPosition();
8352
8352
  const row = context.linearRows()[pointRowIndex];
8353
8353
  return pointRowIndex >= rowStartIndex && pointRowIndex <= rowStopIndex && row && row.type === AITableRowType.record;
8354
- }, ...(ngDevMode ? [{ debugName: "shouldShowIcon" }] : []));
8354
+ }, ...(ngDevMode ? [{ debugName: "shouldShowIcon" }] : /* istanbul ignore next */ []));
8355
8355
  this.expandIconConfig = computed(() => {
8356
8356
  const { coordinate, aiTable } = this.config();
8357
8357
  const context = aiTable.context;
@@ -8377,10 +8377,10 @@ class AITableExpandRecord {
8377
8377
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
8378
8378
  listening: true
8379
8379
  };
8380
- }, ...(ngDevMode ? [{ debugName: "expandIconConfig" }] : []));
8380
+ }, ...(ngDevMode ? [{ debugName: "expandIconConfig" }] : /* istanbul ignore next */ []));
8381
8381
  }
8382
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8383
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableExpandRecord, isStandalone: true, selector: "ai-table-expand-record", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8384
  <ko-group>
8385
8385
  @if (shouldShowIcon()) {
8386
8386
  <ai-table-action-icon [config]="expandIconConfig()"></ai-table-action-icon>
@@ -8388,7 +8388,7 @@ class AITableExpandRecord {
8388
8388
  </ko-group>
8389
8389
  `, 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
8390
  }
8391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableExpandRecord, decorators: [{
8391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableExpandRecord, decorators: [{
8392
8392
  type: Component,
8393
8393
  args: [{
8394
8394
  selector: 'ai-table-expand-record',
@@ -8406,8 +8406,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8406
8406
 
8407
8407
  class AITableBackground {
8408
8408
  constructor() {
8409
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8410
- this.isActive = input(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
8409
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8410
+ this.isActive = input(false, ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
8411
8411
  this.koClick = output();
8412
8412
  this.hover = output();
8413
8413
  this.koMouseenter = output();
@@ -8415,14 +8415,14 @@ class AITableBackground {
8415
8415
  this.groupConfig = computed(() => {
8416
8416
  const { x, y } = this.config();
8417
8417
  return { x, y, listening: false };
8418
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
8419
- this.isHover = model(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
8418
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
8419
+ this.isHover = model(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
8420
8420
  this.isShowSpecialBorderConfig = computed(() => {
8421
8421
  const { borders } = this.config();
8422
8422
  const stroke = this.stroke();
8423
8423
  const strokeWidth = this.strokeWidth();
8424
8424
  return borders && stroke && strokeWidth && ___default.some(borders, (item) => !item) && ___default.some(borders, (item) => !!item);
8425
- }, ...(ngDevMode ? [{ debugName: "isShowSpecialBorderConfig" }] : []));
8425
+ }, ...(ngDevMode ? [{ debugName: "isShowSpecialBorderConfig" }] : /* istanbul ignore next */ []));
8426
8426
  this.borderLinesConfig = computed(() => {
8427
8427
  const { borders, height, width } = this.config();
8428
8428
  const stroke = this.stroke();
@@ -8470,21 +8470,21 @@ class AITableBackground {
8470
8470
  });
8471
8471
  }
8472
8472
  return result;
8473
- }, ...(ngDevMode ? [{ debugName: "borderLinesConfig" }] : []));
8473
+ }, ...(ngDevMode ? [{ debugName: "borderLinesConfig" }] : /* istanbul ignore next */ []));
8474
8474
  this.stroke = computed(() => {
8475
8475
  const { stroke, hoverStroke } = this.config();
8476
8476
  const active = this.isHover() || this.isActive();
8477
8477
  return active ? hoverStroke || stroke : stroke;
8478
- }, ...(ngDevMode ? [{ debugName: "stroke" }] : []));
8478
+ }, ...(ngDevMode ? [{ debugName: "stroke" }] : /* istanbul ignore next */ []));
8479
8479
  this.strokeWidth = computed(() => {
8480
8480
  const { strokeWidth, hoverStrokeWidth } = this.config();
8481
8481
  const active = this.isHover() || this.isActive();
8482
8482
  return active ? hoverStrokeWidth || strokeWidth : strokeWidth;
8483
- }, ...(ngDevMode ? [{ debugName: "strokeWidth" }] : []));
8483
+ }, ...(ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []));
8484
8484
  this.containerConfig = computed(() => {
8485
8485
  const { x, y } = this.config();
8486
8486
  return { x, y };
8487
- }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : []));
8487
+ }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : /* istanbul ignore next */ []));
8488
8488
  this.bgConfig = computed(() => {
8489
8489
  const { name, width, height, fill = Colors.transparent, opacity, hoverFill, hoverOpacity, listening, borders } = this.config();
8490
8490
  const [top, right, bottom, left] = borders || [false, false, false, false];
@@ -8505,7 +8505,7 @@ class AITableBackground {
8505
8505
  result.strokeWidth = this.strokeWidth();
8506
8506
  }
8507
8507
  return result;
8508
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
8508
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
8509
8509
  }
8510
8510
  onClick(e) {
8511
8511
  this.koClick.emit(e);
@@ -8527,8 +8527,8 @@ class AITableBackground {
8527
8527
  this.koMouseleave.emit(e);
8528
8528
  this.hover.emit(this.isHover());
8529
8529
  }
8530
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8531
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableBackground, isStandalone: true, selector: "ai-table-background", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHover: { classPropertyName: "isHover", publicName: "isHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koClick: "koClick", hover: "hover", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", isHover: "isHoverChange" }, ngImport: i0, template: `
8530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8531
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8532
  <ko-group [config]="containerConfig()">
8533
8533
  <ko-group>
8534
8534
  <ko-rect
@@ -8547,7 +8547,7 @@ class AITableBackground {
8547
8547
  </ko-group>
8548
8548
  `, 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
8549
  }
8550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableBackground, decorators: [{
8550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableBackground, decorators: [{
8551
8551
  type: Component,
8552
8552
  args: [{
8553
8553
  selector: 'ai-table-background',
@@ -8576,7 +8576,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8576
8576
 
8577
8577
  class AITableShadow {
8578
8578
  constructor() {
8579
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8579
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
8580
8580
  this.shadowConfig = computed(() => {
8581
8581
  const { visible, x, y, width = AI_TABLE_SHADOW_DEFAULT_WIDTH, height } = this.config();
8582
8582
  return {
@@ -8589,12 +8589,12 @@ class AITableShadow {
8589
8589
  fillLinearGradientEndPoint: { x: width, y: 0 },
8590
8590
  fillLinearGradientColorStops: [0, 'rgba(0,0,0,0.05)', 1, Colors.transparent]
8591
8591
  };
8592
- }, ...(ngDevMode ? [{ debugName: "shadowConfig" }] : []));
8592
+ }, ...(ngDevMode ? [{ debugName: "shadowConfig" }] : /* istanbul ignore next */ []));
8593
8593
  }
8594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8595
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableShadow, isStandalone: true, selector: "ai-table-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-rect [config]="shadowConfig()"></ko-rect>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8594
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8595
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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
8596
  }
8597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableShadow, decorators: [{
8597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableShadow, decorators: [{
8598
8598
  type: Component,
8599
8599
  args: [{
8600
8600
  selector: 'ai-table-shadow',
@@ -8606,16 +8606,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
8606
8606
 
8607
8607
  class AITableScrollableGroup {
8608
8608
  constructor() {
8609
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8610
- this.contentTemplate = input.required(...(ngDevMode ? [{ debugName: "contentTemplate" }] : []));
8611
- this.parentContainer = input(...(ngDevMode ? [undefined, { debugName: "parentContainer" }] : []));
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 */ []));
8612
8612
  this.scrollPosition = output();
8613
- this.displayScrollbarTime = signal(null, ...(ngDevMode ? [{ debugName: "displayScrollbarTime" }] : []));
8614
- this.hiddenScrollbar = signal(true, ...(ngDevMode ? [{ debugName: "hiddenScrollbar" }] : []));
8615
- this.isHoverScrollbar = signal(false, ...(ngDevMode ? [{ debugName: "isHoverScrollbar" }] : []));
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 */ []));
8616
8616
  // 滚动位置信号
8617
- this.scrollX = signal(0, ...(ngDevMode ? [{ debugName: "scrollX" }] : []));
8618
- this.scrollY = signal(0, ...(ngDevMode ? [{ debugName: "scrollY" }] : []));
8617
+ this.scrollX = signal(0, ...(ngDevMode ? [{ debugName: "scrollX" }] : /* istanbul ignore next */ []));
8618
+ this.scrollY = signal(0, ...(ngDevMode ? [{ debugName: "scrollY" }] : /* istanbul ignore next */ []));
8619
8619
  // 容器配置
8620
8620
  this.containerConfig = computed(() => {
8621
8621
  const { x = 0, y = 0, width, height } = this.config();
@@ -8632,7 +8632,7 @@ class AITableScrollableGroup {
8632
8632
  clipHeight: height,
8633
8633
  name: 'scrollable-group'
8634
8634
  };
8635
- }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : []));
8635
+ }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : /* istanbul ignore next */ []));
8636
8636
  this.bgConfig = computed(() => {
8637
8637
  const { x = 0, y = 0, width, height, bgName } = this.config();
8638
8638
  const config = {
@@ -8647,7 +8647,7 @@ class AITableScrollableGroup {
8647
8647
  config.name = bgName;
8648
8648
  }
8649
8649
  return config;
8650
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
8650
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
8651
8651
  // 内容区域配置
8652
8652
  this.contentConfig = computed(() => {
8653
8653
  if (this.config().contentNotScrollbar) {
@@ -8660,17 +8660,17 @@ class AITableScrollableGroup {
8660
8660
  offsetX: this.scrollX(),
8661
8661
  offsetY: this.scrollY()
8662
8662
  };
8663
- }, ...(ngDevMode ? [{ debugName: "contentConfig" }] : []));
8663
+ }, ...(ngDevMode ? [{ debugName: "contentConfig" }] : /* istanbul ignore next */ []));
8664
8664
  // 是否显示竖向滚动条
8665
8665
  this.showVerticalScrollbar = computed(() => {
8666
8666
  const { height, contentHeight, verticalScrollbar } = this.config();
8667
8667
  return verticalScrollbar && contentHeight > height;
8668
- }, ...(ngDevMode ? [{ debugName: "showVerticalScrollbar" }] : []));
8668
+ }, ...(ngDevMode ? [{ debugName: "showVerticalScrollbar" }] : /* istanbul ignore next */ []));
8669
8669
  // 是否显示横向滚动条
8670
8670
  this.showHorizontalScrollbar = computed(() => {
8671
8671
  const { width, contentWidth, horizontalScrollbar } = this.config();
8672
8672
  return horizontalScrollbar && contentWidth > width;
8673
- }, ...(ngDevMode ? [{ debugName: "showHorizontalScrollbar" }] : []));
8673
+ }, ...(ngDevMode ? [{ debugName: "showHorizontalScrollbar" }] : /* istanbul ignore next */ []));
8674
8674
  // 竖向滚动条配置
8675
8675
  this.verticalScrollbarConfig = computed(() => {
8676
8676
  const { width, scrollbarSize = 12 } = this.config();
@@ -8680,7 +8680,7 @@ class AITableScrollableGroup {
8680
8680
  width: scrollbarSize,
8681
8681
  height: this.verticalScrollbarHeight()
8682
8682
  };
8683
- }, ...(ngDevMode ? [{ debugName: "verticalScrollbarConfig" }] : []));
8683
+ }, ...(ngDevMode ? [{ debugName: "verticalScrollbarConfig" }] : /* istanbul ignore next */ []));
8684
8684
  // 横向滚动条配置
8685
8685
  this.horizontalScrollbarConfig = computed(() => {
8686
8686
  const { height, scrollbarSize = 12 } = this.config();
@@ -8690,7 +8690,7 @@ class AITableScrollableGroup {
8690
8690
  width: this.horizontalScrollbarHeight(),
8691
8691
  height: scrollbarSize
8692
8692
  };
8693
- }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarConfig" }] : []));
8693
+ }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarConfig" }] : /* istanbul ignore next */ []));
8694
8694
  // 竖向滚动条轨道配置
8695
8695
  this.verticalTrackConfig = computed(() => {
8696
8696
  const { scrollbarSize = 12, scrollbarTrackColor, height } = this.config();
@@ -8702,7 +8702,7 @@ class AITableScrollableGroup {
8702
8702
  fill: scrollbarTrackColor,
8703
8703
  cornerRadius: 2
8704
8704
  };
8705
- }, ...(ngDevMode ? [{ debugName: "verticalTrackConfig" }] : []));
8705
+ }, ...(ngDevMode ? [{ debugName: "verticalTrackConfig" }] : /* istanbul ignore next */ []));
8706
8706
  // 横向滚动条轨道配置
8707
8707
  this.horizontalTrackConfig = computed(() => {
8708
8708
  const { scrollbarSize = 12, scrollbarTrackColor } = this.config();
@@ -8714,40 +8714,40 @@ class AITableScrollableGroup {
8714
8714
  fill: scrollbarTrackColor,
8715
8715
  cornerRadius: 2
8716
8716
  };
8717
- }, ...(ngDevMode ? [{ debugName: "horizontalTrackConfig" }] : []));
8717
+ }, ...(ngDevMode ? [{ debugName: "horizontalTrackConfig" }] : /* istanbul ignore next */ []));
8718
8718
  this.verticalThumbMinY = computed(() => {
8719
8719
  const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
8720
8720
  return getAbsolutePositionY;
8721
- }, ...(ngDevMode ? [{ debugName: "verticalThumbMinY" }] : []));
8721
+ }, ...(ngDevMode ? [{ debugName: "verticalThumbMinY" }] : /* istanbul ignore next */ []));
8722
8722
  // 垂直滚动条滑块的最大Y坐标
8723
8723
  this.verticalThumbMaxY = computed(() => {
8724
8724
  const { height, contentHeight } = this.config();
8725
8725
  const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
8726
8726
  return getAbsolutePositionY + height - this.verticalThumbHeight();
8727
- }, ...(ngDevMode ? [{ debugName: "verticalThumbMaxY" }] : []));
8727
+ }, ...(ngDevMode ? [{ debugName: "verticalThumbMaxY" }] : /* istanbul ignore next */ []));
8728
8728
  // 横向滚动条滑块的最小X坐标
8729
8729
  this.horizontalThumbMinX = computed(() => {
8730
8730
  const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
8731
8731
  return getAbsolutePositionX;
8732
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbMinX" }] : []));
8732
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbMinX" }] : /* istanbul ignore next */ []));
8733
8733
  // 横向滚动条滑块的最大X坐标
8734
8734
  this.horizontalThumbMaxX = computed(() => {
8735
8735
  const { width } = this.config();
8736
8736
  const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
8737
8737
  return getAbsolutePositionX + width - this.horizontalThumbWidth();
8738
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbMaxX" }] : []));
8738
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbMaxX" }] : /* istanbul ignore next */ []));
8739
8739
  // 竖向滚动条滑块高度
8740
8740
  this.verticalThumbHeight = computed(() => {
8741
8741
  const { height, contentHeight } = this.config();
8742
8742
  const thumbHeight = Math.max(20, (height / contentHeight) * this.verticalScrollbarHeight());
8743
8743
  return thumbHeight;
8744
- }, ...(ngDevMode ? [{ debugName: "verticalThumbHeight" }] : []));
8744
+ }, ...(ngDevMode ? [{ debugName: "verticalThumbHeight" }] : /* istanbul ignore next */ []));
8745
8745
  // 横向滚动条滑块宽度
8746
8746
  this.horizontalThumbWidth = computed(() => {
8747
8747
  const { width, contentWidth } = this.config();
8748
8748
  const thumbWidth = Math.max(20, (width / contentWidth) * this.horizontalScrollbarHeight());
8749
8749
  return thumbWidth;
8750
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbWidth" }] : []));
8750
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbWidth" }] : /* istanbul ignore next */ []));
8751
8751
  // 竖向滚动条滑块配置
8752
8752
  this.verticalConfig = computed(() => {
8753
8753
  const { scrollbarSize = 12, scrollbarColor = Colors.black, scrollbarOpacity = 0.8 } = this.config();
@@ -8779,7 +8779,7 @@ class AITableScrollableGroup {
8779
8779
  };
8780
8780
  }
8781
8781
  };
8782
- }, ...(ngDevMode ? [{ debugName: "verticalConfig" }] : []));
8782
+ }, ...(ngDevMode ? [{ debugName: "verticalConfig" }] : /* istanbul ignore next */ []));
8783
8783
  // 横向滚动条滑块配置
8784
8784
  this.horizontalThumbConfig = computed(() => {
8785
8785
  const { scrollbarSize = 12, scrollbarColor = Colors.black, scrollbarOpacity = 0.8 } = this.config();
@@ -8811,17 +8811,17 @@ class AITableScrollableGroup {
8811
8811
  };
8812
8812
  }
8813
8813
  };
8814
- }, ...(ngDevMode ? [{ debugName: "horizontalThumbConfig" }] : []));
8814
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbConfig" }] : /* istanbul ignore next */ []));
8815
8815
  // 横向滚动条滑块配置
8816
8816
  this.verticalScrollbarHeight = computed(() => {
8817
8817
  const { height } = this.config();
8818
8818
  return height;
8819
- }, ...(ngDevMode ? [{ debugName: "verticalScrollbarHeight" }] : []));
8819
+ }, ...(ngDevMode ? [{ debugName: "verticalScrollbarHeight" }] : /* istanbul ignore next */ []));
8820
8820
  // 获取横向滚动条宽度
8821
8821
  this.horizontalScrollbarHeight = computed(() => {
8822
8822
  const { width } = this.config();
8823
8823
  return width;
8824
- }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarHeight" }] : []));
8824
+ }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarHeight" }] : /* istanbul ignore next */ []));
8825
8825
  // 滚动条延迟隐藏
8826
8826
  effect(() => {
8827
8827
  const displayScrollbarTime = this.displayScrollbarTime();
@@ -8943,8 +8943,8 @@ class AITableScrollableGroup {
8943
8943
  const { width, contentWidth } = this.config();
8944
8944
  this.scrollX.set(Math.max(0, contentWidth - width));
8945
8945
  }
8946
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8947
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableScrollableGroup, isStandalone: true, selector: "ai-table-scrollable-group", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null }, parentContainer: { classPropertyName: "parentContainer", publicName: "parentContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollPosition: "scrollPosition" }, viewQueries: [{ propertyName: "verticalTrack", first: true, predicate: ["verticalTrack"], descendants: true }, { propertyName: "verticalThumb", first: true, predicate: ["verticalThumb"], descendants: true }, { propertyName: "horizontalTrack", first: true, predicate: ["horizontalTrack"], descendants: true }, { propertyName: "contentGroup", first: true, predicate: ["contentGroup"], descendants: true }, { propertyName: "rootGroup", first: true, predicate: ["rootGroup"], descendants: true }], ngImport: i0, template: `
8946
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8947
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
8948
  <ko-group #rootGroup [config]="containerConfig()" (koWheel)="stageWheel($event)">
8949
8949
  <ko-group>
8950
8950
  <ko-rect [config]="bgConfig()"></ko-rect>
@@ -8992,7 +8992,7 @@ class AITableScrollableGroup {
8992
8992
  </ko-group>
8993
8993
  `, 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
8994
  }
8995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollableGroup, decorators: [{
8995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableScrollableGroup, decorators: [{
8996
8996
  type: Component,
8997
8997
  args: [{
8998
8998
  selector: 'ai-table-scrollable-group',
@@ -9180,11 +9180,11 @@ const createGroupFieldStats = (config) => {
9180
9180
  class AITableStatTypeMenu extends ThyDropdownAbstractMenu {
9181
9181
  constructor() {
9182
9182
  super(...arguments);
9183
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
9184
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
9185
- this.statMenus = input.required(...(ngDevMode ? [{ debugName: "statMenus" }] : []));
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 */ []));
9186
9186
  this.menuClick = output();
9187
- this.selectStatType = computed(() => this.field().stat_type || AITableStatType.None, ...(ngDevMode ? [{ debugName: "selectStatType" }] : []));
9187
+ this.selectStatType = computed(() => this.field().stat_type || AITableStatType.None, ...(ngDevMode ? [{ debugName: "selectStatType" }] : /* istanbul ignore next */ []));
9188
9188
  }
9189
9189
  execute(menu) {
9190
9190
  this.menuClick.emit({
@@ -9192,10 +9192,10 @@ class AITableStatTypeMenu extends ThyDropdownAbstractMenu {
9192
9192
  field: this.field()
9193
9193
  });
9194
9194
  }
9195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9196
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableStatTypeMenu, isStandalone: true, selector: "ai-table-stat-type-menu", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, statMenus: { classPropertyName: "statMenus", publicName: "statMenus", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { menuClick: "menuClick" }, host: { classAttribute: "stat-type-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of statMenus(); track index; let index = $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: selectStatType() === menu.type\n }\"\n (click)=\"execute(menu)\"\n >\n <span>{{ menu.name }}</span>\n </a>\n }\n}\n", dependencies: [{ kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
9197
  }
9198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableStatTypeMenu, decorators: [{
9198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableStatTypeMenu, decorators: [{
9199
9199
  type: Component,
9200
9200
  args: [{ selector: 'ai-table-stat-type-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
9201
9201
  class: 'stat-type-menu'
@@ -9205,28 +9205,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9205
9205
  class AITableFieldStat {
9206
9206
  constructor() {
9207
9207
  this.thyPopover = inject(ThyPopover);
9208
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9208
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9209
9209
  this.hover = output();
9210
- this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
9211
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
9210
+ this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
9211
+ this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
9212
9212
  this.isShowSelectedCount = false;
9213
9213
  this.availableTextWidth = computed(() => {
9214
9214
  const { width } = this.config();
9215
9215
  return width - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_CELL_PADDING;
9216
- }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : []));
9216
+ }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : /* istanbul ignore next */ []));
9217
9217
  this.groupConfig = computed(() => {
9218
9218
  return {
9219
9219
  x: this.config().x,
9220
9220
  y: this.config().y
9221
9221
  };
9222
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
9222
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
9223
9223
  this.isGroupStat = computed(() => {
9224
9224
  return this.config().isGroupStat;
9225
- }, ...(ngDevMode ? [{ debugName: "isGroupStat" }] : []));
9225
+ }, ...(ngDevMode ? [{ debugName: "isGroupStat" }] : /* istanbul ignore next */ []));
9226
9226
  this.groupStatContainerWidthMap = computed(() => {
9227
9227
  const { aiTable } = this.config();
9228
9228
  return aiTable.context?.groupStatContainerWidthMap();
9229
- }, ...(ngDevMode ? [{ debugName: "groupStatContainerWidthMap" }] : []));
9229
+ }, ...(ngDevMode ? [{ debugName: "groupStatContainerWidthMap" }] : /* istanbul ignore next */ []));
9230
9230
  this.bgConfig = computed(() => {
9231
9231
  const { field, width, height, coordinate, readonly, aiTable, isGroupStat, columnIndex, groupRow } = this.config();
9232
9232
  const rowHeadWidth = aiTable.context.rowHeadWidth();
@@ -9289,21 +9289,21 @@ class AITableFieldStat {
9289
9289
  }
9290
9290
  }
9291
9291
  return config;
9292
- }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
9292
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : /* istanbul ignore next */ []));
9293
9293
  this.field = computed(() => {
9294
9294
  const { field } = this.config();
9295
9295
  return field;
9296
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
9296
+ }, ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
9297
9297
  this.linearRows = computed(() => {
9298
9298
  const { aiTable } = this.config();
9299
9299
  return aiTable.context?.linearRows();
9300
- }, ...(ngDevMode ? [{ debugName: "linearRows" }] : []));
9300
+ }, ...(ngDevMode ? [{ debugName: "linearRows" }] : /* istanbul ignore next */ []));
9301
9301
  this.recordsMap = computed(() => {
9302
9302
  const { aiTable } = this.config();
9303
9303
  return aiTable.recordsMap();
9304
- }, ...(ngDevMode ? [{ debugName: "recordsMap" }] : []));
9305
- this.groupRow = computed(() => this.config().groupRow, ...(ngDevMode ? [{ debugName: "groupRow" }] : []));
9306
- this.gridData = computed(() => this.config().aiTable.gridData(), ...(ngDevMode ? [{ debugName: "gridData" }] : []));
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 */ []));
9307
9307
  this.records = computed(() => {
9308
9308
  let records = [];
9309
9309
  const groupRow = this.groupRow();
@@ -9316,15 +9316,15 @@ class AITableFieldStat {
9316
9316
  records = this.gridData().records;
9317
9317
  }
9318
9318
  return records;
9319
- }, ...(ngDevMode ? [{ debugName: "records" }] : []));
9319
+ }, ...(ngDevMode ? [{ debugName: "records" }] : /* istanbul ignore next */ []));
9320
9320
  this.aiFieldConfig = computed(() => {
9321
9321
  const { aiTable } = this.config();
9322
9322
  return aiTable.context?.aiFieldConfig;
9323
- }, ...(ngDevMode ? [{ debugName: "aiFieldConfig" }] : []));
9323
+ }, ...(ngDevMode ? [{ debugName: "aiFieldConfig" }] : /* istanbul ignore next */ []));
9324
9324
  this.aiTable = computed(() => {
9325
9325
  const { aiTable } = this.config();
9326
9326
  return aiTable;
9327
- }, ...(ngDevMode ? [{ debugName: "aiTable" }] : []));
9327
+ }, ...(ngDevMode ? [{ debugName: "aiTable" }] : /* istanbul ignore next */ []));
9328
9328
  this.options = computed(() => {
9329
9329
  const aiTable = this.aiTable();
9330
9330
  return {
@@ -9335,18 +9335,18 @@ class AITableFieldStat {
9335
9335
  return AITableQueries.getFieldValue(aiTable, [record._id, field._id]);
9336
9336
  }
9337
9337
  };
9338
- }, ...(ngDevMode ? [{ debugName: "options" }] : []));
9338
+ }, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
9339
9339
  this.isActiveOrHover = computed(() => {
9340
9340
  return this.isActive() || this.isHover();
9341
- }, ...(ngDevMode ? [{ debugName: "isActiveOrHover" }] : []));
9341
+ }, ...(ngDevMode ? [{ debugName: "isActiveOrHover" }] : /* istanbul ignore next */ []));
9342
9342
  this.containerBoxHeight = computed(() => {
9343
9343
  const { height } = this.config();
9344
9344
  return height;
9345
- }, ...(ngDevMode ? [{ debugName: "containerBoxHeight" }] : []));
9345
+ }, ...(ngDevMode ? [{ debugName: "containerBoxHeight" }] : /* istanbul ignore next */ []));
9346
9346
  this.containerBoxWidth = computed(() => {
9347
9347
  const { width } = this.config();
9348
9348
  return width;
9349
- }, ...(ngDevMode ? [{ debugName: "containerBoxWidth" }] : []));
9349
+ }, ...(ngDevMode ? [{ debugName: "containerBoxWidth" }] : /* istanbul ignore next */ []));
9350
9350
  this.noneStatWidth = computed(() => {
9351
9351
  const noneStatString = getI18nTextByKey(this.aiTable(), AITableGridI18nKey.stat);
9352
9352
  const { text, textWidth } = drawer.textEllipsis({
@@ -9355,7 +9355,7 @@ class AITableFieldStat {
9355
9355
  fontWeight: DEFAULT_FONT_WEIGHT
9356
9356
  });
9357
9357
  return textWidth + AI_TABLE_ACTION_COMMON_SIZE + AI_TABLE_OFFSET;
9358
- }, ...(ngDevMode ? [{ debugName: "noneStatWidth" }] : []));
9358
+ }, ...(ngDevMode ? [{ debugName: "noneStatWidth" }] : /* istanbul ignore next */ []));
9359
9359
  this.renderTexts = computed(() => {
9360
9360
  const width = this.containerBoxWidth();
9361
9361
  const field = this.field();
@@ -9405,10 +9405,10 @@ class AITableFieldStat {
9405
9405
  totalWidth: textWidth,
9406
9406
  statValue: statValue || ''
9407
9407
  };
9408
- }, ...(ngDevMode ? [{ debugName: "renderTexts" }] : []));
9408
+ }, ...(ngDevMode ? [{ debugName: "renderTexts" }] : /* istanbul ignore next */ []));
9409
9409
  this.fontSize = computed(() => {
9410
9410
  return this.isGroupStat() ? GROUP_STAT_DEFAULT_FONT_SIZE : DEFAULT_FONT_SIZE;
9411
- }, ...(ngDevMode ? [{ debugName: "fontSize" }] : []));
9411
+ }, ...(ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []));
9412
9412
  this.textsConfig = computed(() => {
9413
9413
  const height = this.containerBoxHeight();
9414
9414
  const width = this.containerBoxWidth();
@@ -9470,17 +9470,17 @@ class AITableFieldStat {
9470
9470
  return result;
9471
9471
  }
9472
9472
  return null;
9473
- }, ...(ngDevMode ? [{ debugName: "textsConfig" }] : []));
9473
+ }, ...(ngDevMode ? [{ debugName: "textsConfig" }] : /* istanbul ignore next */ []));
9474
9474
  this.selectedRecordCount = computed(() => {
9475
9475
  const aiTable = this.aiTable();
9476
9476
  const selectedRecords = aiTable.selection().selectedRecords;
9477
9477
  return selectedRecords.size;
9478
- }, ...(ngDevMode ? [{ debugName: "selectedRecordCount" }] : []));
9478
+ }, ...(ngDevMode ? [{ debugName: "selectedRecordCount" }] : /* istanbul ignore next */ []));
9479
9479
  this.selectedCellCount = computed(() => {
9480
9480
  const aiTable = this.aiTable();
9481
9481
  const selectedCells = aiTable.selection().selectedCells;
9482
9482
  return selectedCells.size;
9483
- }, ...(ngDevMode ? [{ debugName: "selectedCellCount" }] : []));
9483
+ }, ...(ngDevMode ? [{ debugName: "selectedCellCount" }] : /* istanbul ignore next */ []));
9484
9484
  this.selectedInfo = computed(() => {
9485
9485
  const selectedRecordCount = this.selectedRecordCount();
9486
9486
  const selectedCellCount = this.selectedCellCount();
@@ -9493,15 +9493,15 @@ class AITableFieldStat {
9493
9493
  selectedCount
9494
9494
  };
9495
9495
  return result;
9496
- }, ...(ngDevMode ? [{ debugName: "selectedInfo" }] : []));
9496
+ }, ...(ngDevMode ? [{ debugName: "selectedInfo" }] : /* istanbul ignore next */ []));
9497
9497
  this.isFirstColumn = computed(() => {
9498
9498
  const { columnIndex } = this.config();
9499
9499
  return columnIndex === 0;
9500
- }, ...(ngDevMode ? [{ debugName: "isFirstColumn" }] : []));
9500
+ }, ...(ngDevMode ? [{ debugName: "isFirstColumn" }] : /* istanbul ignore next */ []));
9501
9501
  this.isLastFrozenColumn = computed(() => {
9502
9502
  const { columnIndex, coordinate } = this.config();
9503
9503
  return columnIndex === coordinate.frozenColumnCount - 1;
9504
- }, ...(ngDevMode ? [{ debugName: "isLastFrozenColumn" }] : []));
9504
+ }, ...(ngDevMode ? [{ debugName: "isLastFrozenColumn" }] : /* istanbul ignore next */ []));
9505
9505
  this.iconConfig = computed(() => {
9506
9506
  const { field, width, height } = this.config();
9507
9507
  const commonIconOffsetY = (height - AI_TABLE_ACTION_COMMON_SIZE) / 2;
@@ -9516,7 +9516,7 @@ class AITableFieldStat {
9516
9516
  cornerRadius: 4,
9517
9517
  listening: false
9518
9518
  };
9519
- }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
9519
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : /* istanbul ignore next */ []));
9520
9520
  effect(() => {
9521
9521
  const isGroupStat = this.isGroupStat();
9522
9522
  const bgConfigWidth = this.bgConfig().width;
@@ -9597,8 +9597,8 @@ class AITableFieldStat {
9597
9597
  });
9598
9598
  }
9599
9599
  }
9600
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9601
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldStat, isStandalone: true, selector: "ai-table-field-stat", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
9600
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9601
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
9602
  <ko-group [config]="groupConfig()">
9603
9603
  <ai-table-background
9604
9604
  [config]="bgConfig()"
@@ -9620,7 +9620,7 @@ class AITableFieldStat {
9620
9620
  </ko-group>
9621
9621
  `, 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
9622
  }
9623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStat, decorators: [{
9623
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldStat, decorators: [{
9624
9624
  type: Component,
9625
9625
  args: [{
9626
9626
  selector: 'ai-table-field-stat',
@@ -9652,24 +9652,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9652
9652
 
9653
9653
  class AITableGroups {
9654
9654
  constructor() {
9655
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9655
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9656
9656
  this.trackBy = (groupStat) => {
9657
9657
  return groupStat.groupRow._id + groupStat.columnIndex;
9658
9658
  };
9659
9659
  this.frozenColumnCount = computed(() => {
9660
9660
  const { coordinate } = this.config();
9661
9661
  return coordinate.frozenColumnCount ?? 0;
9662
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
9662
+ }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
9663
9663
  this.columnStartIndex = computed(() => {
9664
9664
  const { columnStartIndex } = this.config();
9665
9665
  return Math.max(columnStartIndex, this.frozenColumnCount());
9666
- }, ...(ngDevMode ? [{ debugName: "columnStartIndex" }] : []));
9666
+ }, ...(ngDevMode ? [{ debugName: "columnStartIndex" }] : /* istanbul ignore next */ []));
9667
9667
  this.groups = computed(() => {
9668
9668
  return createGroupCells({
9669
9669
  ...this.config(),
9670
9670
  columnStartIndex: this.columnStartIndex()
9671
9671
  });
9672
- }, ...(ngDevMode ? [{ debugName: "groups" }] : []));
9672
+ }, ...(ngDevMode ? [{ debugName: "groups" }] : /* istanbul ignore next */ []));
9673
9673
  this.groupCells = computed(() => {
9674
9674
  const groups = this.groups();
9675
9675
  const groupCells = [];
@@ -9687,16 +9687,16 @@ class AITableGroups {
9687
9687
  });
9688
9688
  });
9689
9689
  return groupCells;
9690
- }, ...(ngDevMode ? [{ debugName: "groupCells" }] : []));
9690
+ }, ...(ngDevMode ? [{ debugName: "groupCells" }] : /* istanbul ignore next */ []));
9691
9691
  }
9692
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableGroups, isStandalone: true, selector: "ai-table-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9692
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9693
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableGroups, isStandalone: true, selector: "ai-table-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9694
9694
  @for (groupCell of groupCells(); track trackBy(groupCell.groupStat!)) {
9695
9695
  <ai-table-field-stat [config]="groupCell.groupStat!"></ai-table-field-stat>
9696
9696
  }
9697
9697
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9698
9698
  }
9699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGroups, decorators: [{
9699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGroups, decorators: [{
9700
9700
  type: Component,
9701
9701
  args: [{
9702
9702
  selector: 'ai-table-groups',
@@ -9712,25 +9712,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9712
9712
 
9713
9713
  class AITableFrozenGroups {
9714
9714
  constructor() {
9715
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9715
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9716
9716
  this.frozenColumnCount = computed(() => {
9717
9717
  const { coordinate } = this.config();
9718
9718
  return coordinate.frozenColumnCount ?? 0;
9719
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
9719
+ }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
9720
9720
  this.columnStopIndex = computed(() => {
9721
9721
  return this.frozenColumnCount() - 1;
9722
- }, ...(ngDevMode ? [{ debugName: "columnStopIndex" }] : []));
9722
+ }, ...(ngDevMode ? [{ debugName: "columnStopIndex" }] : /* istanbul ignore next */ []));
9723
9723
  this.groups = computed(() => {
9724
9724
  return createGroupCells({
9725
9725
  ...this.config(),
9726
9726
  columnStartIndex: 0,
9727
9727
  columnStopIndex: this.columnStopIndex()
9728
9728
  });
9729
- }, ...(ngDevMode ? [{ debugName: "groups" }] : []));
9729
+ }, ...(ngDevMode ? [{ debugName: "groups" }] : /* istanbul ignore next */ []));
9730
9730
  this.groupCollapseDisabled = computed(() => {
9731
9731
  const { aiTable } = this.config();
9732
9732
  return aiTable.context.groupCollapseDisabled();
9733
- }, ...(ngDevMode ? [{ debugName: "groupCollapseDisabled" }] : []));
9733
+ }, ...(ngDevMode ? [{ debugName: "groupCollapseDisabled" }] : /* istanbul ignore next */ []));
9734
9734
  this.groupCells = computed(() => {
9735
9735
  const groups = this.groups();
9736
9736
  const groupCells = [];
@@ -9769,15 +9769,15 @@ class AITableFrozenGroups {
9769
9769
  });
9770
9770
  });
9771
9771
  return groupCells;
9772
- }, ...(ngDevMode ? [{ debugName: "groupCells" }] : []));
9772
+ }, ...(ngDevMode ? [{ debugName: "groupCells" }] : /* istanbul ignore next */ []));
9773
9773
  }
9774
9774
  collapseClick(e) {
9775
9775
  if (this.groupCollapseDisabled()) {
9776
9776
  e.event.cancelBubble = true;
9777
9777
  }
9778
9778
  }
9779
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9780
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFrozenGroups, isStandalone: true, selector: "ai-table-frozen-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9779
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9780
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
9781
  @for (groupCell of groupCells(); track $index) {
9782
9782
  @if (groupCell.collapsedIcon) {
9783
9783
  <ai-table-icon [config]="groupCell.collapsedIcon" (koClick)="collapseClick($event)"></ai-table-icon>
@@ -9786,7 +9786,7 @@ class AITableFrozenGroups {
9786
9786
  }
9787
9787
  `, 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
9788
  }
9789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFrozenGroups, decorators: [{
9789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFrozenGroups, decorators: [{
9790
9790
  type: Component,
9791
9791
  args: [{
9792
9792
  selector: 'ai-table-frozen-groups',
@@ -9805,14 +9805,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9805
9805
 
9806
9806
  class AITableFillHandle {
9807
9807
  constructor() {
9808
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9808
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9809
9809
  this.showFillHandle = computed(() => {
9810
9810
  const { aiTable, readonly } = this.config();
9811
9811
  const selection = aiTable.selection();
9812
9812
  const hasSelectedCells = selection.selectedCells.size > 0;
9813
9813
  const isEditingCell = !!aiTable.editingCell()?.path;
9814
9814
  return hasSelectedCells && !readonly && !isEditingCell;
9815
- }, ...(ngDevMode ? [{ debugName: "showFillHandle" }] : []));
9815
+ }, ...(ngDevMode ? [{ debugName: "showFillHandle" }] : /* istanbul ignore next */ []));
9816
9816
  this.handleConfig = computed(() => {
9817
9817
  const { aiTable, coordinate } = this.config();
9818
9818
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -9846,16 +9846,16 @@ class AITableFillHandle {
9846
9846
  recordId
9847
9847
  })
9848
9848
  };
9849
- }, ...(ngDevMode ? [{ debugName: "handleConfig" }] : []));
9849
+ }, ...(ngDevMode ? [{ debugName: "handleConfig" }] : /* istanbul ignore next */ []));
9850
9850
  }
9851
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9852
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFillHandle, isStandalone: true, selector: "ai-table-fill-handle", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9852
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
9853
  @if (showFillHandle()) {
9854
9854
  <ko-rect [config]="handleConfig()"></ko-rect>
9855
9855
  }
9856
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"] }] }); }
9857
9857
  }
9858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFillHandle, decorators: [{
9858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFillHandle, decorators: [{
9859
9859
  type: Component,
9860
9860
  args: [{
9861
9861
  selector: 'ai-table-fill-handle',
@@ -9870,8 +9870,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9870
9870
 
9871
9871
  class AITableCoverCellEntry {
9872
9872
  constructor() {
9873
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9874
- this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : []));
9873
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9874
+ this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : /* istanbul ignore next */ []));
9875
9875
  this.componentMap = {};
9876
9876
  this.groupConfig = computed(() => {
9877
9877
  return {
@@ -9879,7 +9879,7 @@ class AITableCoverCellEntry {
9879
9879
  y: this.coverCellConfig()?.y,
9880
9880
  listening: true
9881
9881
  };
9882
- }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
9882
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : /* istanbul ignore next */ []));
9883
9883
  this.coverCellConfig = computed(() => {
9884
9884
  const { aiTable, coordinate, references, readonly, actions } = this.config();
9885
9885
  const coverCell = this.coverCell();
@@ -9943,11 +9943,11 @@ class AITableCoverCellEntry {
9943
9943
  }
9944
9944
  };
9945
9945
  return result;
9946
- }, ...(ngDevMode ? [{ debugName: "coverCellConfig" }] : []));
9947
- this.coverCell = computed(() => getCoverCell(this.config().aiTable), ...(ngDevMode ? [{ debugName: "coverCell" }] : []));
9946
+ }, ...(ngDevMode ? [{ debugName: "coverCellConfig" }] : /* istanbul ignore next */ []));
9947
+ this.coverCell = computed(() => getCoverCell(this.config().aiTable), ...(ngDevMode ? [{ debugName: "coverCell" }] : /* istanbul ignore next */ []));
9948
9948
  }
9949
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCoverCellEntry, isStandalone: true, selector: "ai-table-cover-cell-entry", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
9949
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
9951
  @if (coverCell()) {
9952
9952
  <ko-group #rootGroup [config]="groupConfig()">
9953
9953
  <ng-container
@@ -9959,9 +9959,9 @@ class AITableCoverCellEntry {
9959
9959
  </ng-container>
9960
9960
  </ko-group>
9961
9961
  }
9962
- `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9962
+ `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9963
9963
  }
9964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
9964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
9965
9965
  type: Component,
9966
9966
  args: [{
9967
9967
  selector: 'ai-table-cover-cell-entry',
@@ -9985,13 +9985,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
9985
9985
 
9986
9986
  class AITableFieldStats {
9987
9987
  constructor() {
9988
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9988
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
9989
9989
  this.hover = output();
9990
- this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
9990
+ this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : /* istanbul ignore next */ []));
9991
9991
  this.trackBy = (groupStat) => {
9992
9992
  return groupStat.columnIndex;
9993
9993
  };
9994
- this.statConfigs = computed(() => createFieldStats(this.config()), ...(ngDevMode ? [{ debugName: "statConfigs" }] : []));
9994
+ this.statConfigs = computed(() => createFieldStats(this.config()), ...(ngDevMode ? [{ debugName: "statConfigs" }] : /* istanbul ignore next */ []));
9995
9995
  }
9996
9996
  onMouseenter(e) {
9997
9997
  this.isHover.set(true);
@@ -9999,8 +9999,8 @@ class AITableFieldStats {
9999
9999
  onMouseleave(e) {
10000
10000
  this.isHover.set(false);
10001
10001
  }
10002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldStats, isStandalone: true, selector: "ai-table-column-stats", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
10002
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10003
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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
10004
  <ko-group>
10005
10005
  @for (config of statConfigs(); track trackBy(config)) {
10006
10006
  <ai-table-field-stat [config]="config" (hover)="hover.emit($event)"></ai-table-field-stat>
@@ -10008,7 +10008,7 @@ class AITableFieldStats {
10008
10008
  </ko-group>
10009
10009
  `, 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
10010
  }
10011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldStats, decorators: [{
10011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldStats, decorators: [{
10012
10012
  type: Component,
10013
10013
  args: [{
10014
10014
  selector: 'ai-table-column-stats',
@@ -10027,7 +10027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
10027
10027
  Konva.pixelRatio = 2;
10028
10028
  class AITableRenderer {
10029
10029
  constructor() {
10030
- this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
10030
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
10031
10031
  this.koMousemove = output();
10032
10032
  this.koMousedown = output();
10033
10033
  this.koMouseup = output();
@@ -10037,49 +10037,49 @@ class AITableRenderer {
10037
10037
  this.koDblclick = output();
10038
10038
  this.koMouseleave = output();
10039
10039
  this.onScrollPosition = output();
10040
- this.isHoverStatContainer = signal(false, ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : []));
10040
+ this.isHoverStatContainer = signal(false, ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : /* istanbul ignore next */ []));
10041
10041
  this.fields = computed(() => {
10042
10042
  return AITable.getVisibleFields(this.config().aiTable);
10043
- }, ...(ngDevMode ? [{ debugName: "fields" }] : []));
10043
+ }, ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
10044
10044
  this.readonly = computed(() => {
10045
10045
  return this.config()?.readonly;
10046
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10046
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10047
10047
  this.hiddenIndexColumn = computed(() => {
10048
10048
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenIndexColumn;
10049
- }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : []));
10049
+ }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : /* istanbul ignore next */ []));
10050
10050
  this.showExpandIcon = computed(() => {
10051
10051
  return !!this.config()?.aiTable.context?.recordDetailConfig?.()?.showExpandIcon;
10052
- }, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : []));
10052
+ }, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
10053
10053
  this.coordinate = computed(() => {
10054
10054
  return this.config()?.coordinate;
10055
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
10055
+ }, ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
10056
10056
  this.containerWidth = computed(() => {
10057
10057
  return this.config().containerWidth;
10058
- }, ...(ngDevMode ? [{ debugName: "containerWidth" }] : []));
10058
+ }, ...(ngDevMode ? [{ debugName: "containerWidth" }] : /* istanbul ignore next */ []));
10059
10059
  this.containerHeight = computed(() => {
10060
10060
  return this.config().containerHeight;
10061
- }, ...(ngDevMode ? [{ debugName: "containerHeight" }] : []));
10061
+ }, ...(ngDevMode ? [{ debugName: "containerHeight" }] : /* istanbul ignore next */ []));
10062
10062
  this.gridContainerHeight = computed(() => {
10063
10063
  return this.containerHeight() - AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT;
10064
- }, ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : []));
10064
+ }, ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : /* istanbul ignore next */ []));
10065
10065
  this.scrollState = computed(() => {
10066
10066
  return this.config()?.aiTable.context.scrollState();
10067
- }, ...(ngDevMode ? [{ debugName: "scrollState" }] : []));
10067
+ }, ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
10068
10068
  this.visibleRangeInfo = computed(() => {
10069
10069
  return getVisibleRangeInfo(this.coordinate(), this.scrollState());
10070
- }, ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : []));
10070
+ }, ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : /* istanbul ignore next */ []));
10071
10071
  this.frozenAreaWidth = computed(() => {
10072
10072
  return this.config().aiTable.context.rowHeadWidth() + this.coordinate().frozenColumnWidth;
10073
- }, ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : []));
10073
+ }, ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : /* istanbul ignore next */ []));
10074
10074
  this.lastColumnWidth = computed(() => {
10075
10075
  return this.coordinate().getColumnWidth(this.visibleRangeInfo().columnStopIndex);
10076
- }, ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : []));
10076
+ }, ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : /* istanbul ignore next */ []));
10077
10077
  this.lastColumnOffset = computed(() => {
10078
10078
  return this.coordinate().getColumnOffset(this.visibleRangeInfo().columnStopIndex);
10079
- }, ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : []));
10079
+ }, ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : /* istanbul ignore next */ []));
10080
10080
  this.cellGroupClipWidth = computed(() => {
10081
10081
  return this.containerWidth() - this.frozenAreaWidth();
10082
- }, ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : []));
10082
+ }, ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : /* istanbul ignore next */ []));
10083
10083
  this.stageConfig = computed(() => {
10084
10084
  const { isScrolling } = this.scrollState();
10085
10085
  return {
@@ -10087,7 +10087,7 @@ class AITableRenderer {
10087
10087
  height: this.containerHeight(),
10088
10088
  listening: isScrolling ? false : true
10089
10089
  };
10090
- }, ...(ngDevMode ? [{ debugName: "stageConfig" }] : []));
10090
+ }, ...(ngDevMode ? [{ debugName: "stageConfig" }] : /* istanbul ignore next */ []));
10091
10091
  this.gridGroupConfig = computed(() => {
10092
10092
  return {
10093
10093
  clipX: 0,
@@ -10095,7 +10095,7 @@ class AITableRenderer {
10095
10095
  clipWidth: this.containerWidth(),
10096
10096
  clipHeight: this.gridContainerHeight()
10097
10097
  };
10098
- }, ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : []));
10098
+ }, ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : /* istanbul ignore next */ []));
10099
10099
  this.statGroupConfig = computed(() => {
10100
10100
  return {
10101
10101
  x: 0,
@@ -10103,13 +10103,13 @@ class AITableRenderer {
10103
10103
  width: this.containerWidth(),
10104
10104
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT
10105
10105
  };
10106
- }, ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : []));
10106
+ }, ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : /* istanbul ignore next */ []));
10107
10107
  this.scrollTotalHeight = computed(() => {
10108
10108
  return Math.max(this.coordinate().totalHeight, this.containerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT);
10109
- }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : []));
10109
+ }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
10110
10110
  this.scrollTotalWidth = computed(() => {
10111
10111
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
10112
- }, ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : []));
10112
+ }, ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : /* istanbul ignore next */ []));
10113
10113
  this.frozenCommonGroupConfig = computed(() => {
10114
10114
  return {
10115
10115
  clipX: 0,
@@ -10117,7 +10117,7 @@ class AITableRenderer {
10117
10117
  clipWidth: this.containerWidth(),
10118
10118
  clipHeight: this.gridContainerHeight()
10119
10119
  };
10120
- }, ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : []));
10120
+ }, ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : /* istanbul ignore next */ []));
10121
10121
  this.commonGroupConfig = computed(() => {
10122
10122
  return {
10123
10123
  clipX: this.frozenAreaWidth() + 1,
@@ -10125,7 +10125,7 @@ class AITableRenderer {
10125
10125
  clipWidth: this.cellGroupClipWidth(),
10126
10126
  clipHeight: this.gridContainerHeight()
10127
10127
  };
10128
- }, ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : []));
10128
+ }, ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : /* istanbul ignore next */ []));
10129
10129
  this.statCommonGroupConfig = computed(() => {
10130
10130
  return {
10131
10131
  x: AI_TABLE_OFFSET,
@@ -10134,7 +10134,7 @@ class AITableRenderer {
10134
10134
  clipWidth: this.cellGroupClipWidth(),
10135
10135
  clipHeight: this.gridContainerHeight()
10136
10136
  };
10137
- }, ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : []));
10137
+ }, ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : /* istanbul ignore next */ []));
10138
10138
  this.attachGroupConfig = computed(() => {
10139
10139
  return {
10140
10140
  clipX: this.frozenAreaWidth() - 1,
@@ -10142,7 +10142,7 @@ class AITableRenderer {
10142
10142
  clipWidth: this.containerWidth() - this.frozenAreaWidth(),
10143
10143
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10144
10144
  };
10145
- }, ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : []));
10145
+ }, ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : /* istanbul ignore next */ []));
10146
10146
  this.frozenAttachGroupConfig = computed(() => {
10147
10147
  return {
10148
10148
  clipX: 0,
@@ -10150,7 +10150,7 @@ class AITableRenderer {
10150
10150
  clipWidth: this.frozenAreaWidth() + 10,
10151
10151
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10152
10152
  };
10153
- }, ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : []));
10153
+ }, ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : /* istanbul ignore next */ []));
10154
10154
  this.frozenCoverAttachGroupConfig = computed(() => {
10155
10155
  return {
10156
10156
  clipX: 0,
@@ -10158,26 +10158,26 @@ class AITableRenderer {
10158
10158
  clipWidth: this.frozenAreaWidth(),
10159
10159
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10160
10160
  };
10161
- }, ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : []));
10161
+ }, ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : /* istanbul ignore next */ []));
10162
10162
  this.offsetYConfig = computed(() => {
10163
10163
  const { scrollTop } = this.scrollState();
10164
10164
  return {
10165
10165
  offsetY: scrollTop
10166
10166
  };
10167
- }, ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : []));
10167
+ }, ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : /* istanbul ignore next */ []));
10168
10168
  this.offsetXConfig = computed(() => {
10169
10169
  const { scrollLeft } = this.scrollState();
10170
10170
  return {
10171
10171
  offsetX: scrollLeft
10172
10172
  };
10173
- }, ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : []));
10173
+ }, ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : /* istanbul ignore next */ []));
10174
10174
  this.offsetConfig = computed(() => {
10175
10175
  const { scrollLeft, scrollTop } = this.scrollState();
10176
10176
  return {
10177
10177
  offsetX: scrollLeft,
10178
10178
  offsetY: scrollTop
10179
10179
  };
10180
- }, ...(ngDevMode ? [{ debugName: "offsetConfig" }] : []));
10180
+ }, ...(ngDevMode ? [{ debugName: "offsetConfig" }] : /* istanbul ignore next */ []));
10181
10181
  this.columnFrozenHeadFieldConfig = computed(() => {
10182
10182
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10183
10183
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10194,7 +10194,7 @@ class AITableRenderer {
10194
10194
  readonly,
10195
10195
  maxFields
10196
10196
  };
10197
- }, ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : []));
10197
+ }, ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : /* istanbul ignore next */ []));
10198
10198
  this.columnHeadFieldConfig = computed(() => {
10199
10199
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10200
10200
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10211,7 +10211,7 @@ class AITableRenderer {
10211
10211
  readonly,
10212
10212
  maxFields
10213
10213
  };
10214
- }, ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : []));
10214
+ }, ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : /* istanbul ignore next */ []));
10215
10215
  this.columnFieldStatsConfig = computed(() => {
10216
10216
  return {
10217
10217
  ...this.columnHeadFieldConfig(),
@@ -10221,10 +10221,10 @@ class AITableRenderer {
10221
10221
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10222
10222
  isHoverStatContainer: this.isHoverStatContainer()
10223
10223
  };
10224
- }, ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : []));
10224
+ }, ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : /* istanbul ignore next */ []));
10225
10225
  this.xIsScroll = computed(() => {
10226
10226
  return this.scrollState().scrollLeft > 0;
10227
- }, ...(ngDevMode ? [{ debugName: "xIsScroll" }] : []));
10227
+ }, ...(ngDevMode ? [{ debugName: "xIsScroll" }] : /* istanbul ignore next */ []));
10228
10228
  this.statShadowConfig = computed(() => {
10229
10229
  return {
10230
10230
  width: 8,
@@ -10233,7 +10233,7 @@ class AITableRenderer {
10233
10233
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10234
10234
  visible: this.xIsScroll()
10235
10235
  };
10236
- }, ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : []));
10236
+ }, ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : /* istanbul ignore next */ []));
10237
10237
  this.fieldHeadShadowConfig = computed(() => {
10238
10238
  return {
10239
10239
  width: AI_TABLE_SHADOW_DEFAULT_WIDTH,
@@ -10242,7 +10242,7 @@ class AITableRenderer {
10242
10242
  height: AI_TABLE_FIELD_HEAD_HEIGHT,
10243
10243
  visible: this.xIsScroll()
10244
10244
  };
10245
- }, ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : []));
10245
+ }, ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : /* istanbul ignore next */ []));
10246
10246
  this.columnFieldStatsBgConfig = computed(() => {
10247
10247
  return {
10248
10248
  x: 0,
@@ -10257,7 +10257,7 @@ class AITableRenderer {
10257
10257
  listening: true,
10258
10258
  coordinate: this.coordinate()
10259
10259
  };
10260
- }, ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : []));
10260
+ }, ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : /* istanbul ignore next */ []));
10261
10261
  this.columnFrozenFieldStatsConfig = computed(() => {
10262
10262
  return {
10263
10263
  ...this.columnHeadFieldConfig(),
@@ -10269,7 +10269,7 @@ class AITableRenderer {
10269
10269
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10270
10270
  isHoverStatContainer: this.isHoverStatContainer()
10271
10271
  };
10272
- }, ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : []));
10272
+ }, ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : /* istanbul ignore next */ []));
10273
10273
  this.cellsConfig = computed(() => {
10274
10274
  const { aiTable, readonly, coordinate, references, actions, maxRecords } = this.config();
10275
10275
  const keywordsMatchedCells = aiTable.keywordsMatchedCells();
@@ -10287,7 +10287,7 @@ class AITableRenderer {
10287
10287
  maxRecords,
10288
10288
  keywordsMatchedCells
10289
10289
  };
10290
- }, ...(ngDevMode ? [{ debugName: "cellsConfig" }] : []));
10290
+ }, ...(ngDevMode ? [{ debugName: "cellsConfig" }] : /* istanbul ignore next */ []));
10291
10291
  this.expandRecordConfig = computed(() => {
10292
10292
  const { aiTable, coordinate } = this.config();
10293
10293
  const { rowStartIndex, rowStopIndex } = this.visibleRangeInfo();
@@ -10297,14 +10297,14 @@ class AITableRenderer {
10297
10297
  rowStartIndex,
10298
10298
  rowStopIndex
10299
10299
  };
10300
- }, ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : []));
10300
+ }, ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : /* istanbul ignore next */ []));
10301
10301
  this.fillHandleConfig = computed(() => {
10302
10302
  return {
10303
10303
  aiTable: this.config().aiTable,
10304
10304
  coordinate: this.coordinate(),
10305
10305
  readonly: this.readonly()
10306
10306
  };
10307
- }, ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : []));
10307
+ }, ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : /* istanbul ignore next */ []));
10308
10308
  this.isLastSelectedCellInFrozenColumn = computed(() => {
10309
10309
  const { aiTable } = this.config();
10310
10310
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -10314,10 +10314,10 @@ class AITableRenderer {
10314
10314
  const [, fieldId] = lastCell.split(':');
10315
10315
  const columnIndex = aiTable.context.visibleColumnsIndexMap().get(fieldId);
10316
10316
  return AITable.isFrozenColumn(aiTable, columnIndex);
10317
- }, ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : []));
10317
+ }, ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : /* istanbul ignore next */ []));
10318
10318
  this.activeCellBorderConfig = computed(() => {
10319
10319
  return createActiveCellBorder(this.cellsConfig());
10320
- }, ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : []));
10320
+ }, ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : /* istanbul ignore next */ []));
10321
10321
  this.showExpandCellBorder = computed(() => {
10322
10322
  let expandCellBorder = false;
10323
10323
  let frozenExpandCellBorder = false;
@@ -10340,7 +10340,7 @@ class AITableRenderer {
10340
10340
  expandCellBorder,
10341
10341
  frozenExpandCellBorder
10342
10342
  };
10343
- }, ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : []));
10343
+ }, ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : /* istanbul ignore next */ []));
10344
10344
  }
10345
10345
  stageMousemove(e) {
10346
10346
  this.koMousemove.emit(e);
@@ -10369,10 +10369,10 @@ class AITableRenderer {
10369
10369
  onStatContainerHover(isHover) {
10370
10370
  this.isHoverStatContainer.set(isHover);
10371
10371
  }
10372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10373
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave", 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 }); }
10372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10373
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
10374
10374
  }
10375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableRenderer, decorators: [{
10375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableRenderer, decorators: [{
10376
10376
  type: Component,
10377
10377
  args: [{ selector: 'ai-table-renderer', imports: [
10378
10378
  KoContainer,
@@ -10402,12 +10402,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
10402
10402
  class AITableCellRate extends CoverCellBase {
10403
10403
  constructor() {
10404
10404
  super(...arguments);
10405
- this.pointerX = signal(0, ...(ngDevMode ? [{ debugName: "pointerX" }] : []));
10406
- this.pointerY = signal(0, ...(ngDevMode ? [{ debugName: "pointerY" }] : []));
10407
- this.resetStatus = signal(false, ...(ngDevMode ? [{ debugName: "resetStatus" }] : []));
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 */ []));
10408
10408
  this.readonly = computed(() => {
10409
10409
  return this.config()?.readonly;
10410
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10410
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10411
10411
  this.whiteBgConfig = computed(() => {
10412
10412
  const { aiTable, render, field, recordId, coordinate } = this.config();
10413
10413
  const pointPosition = aiTable.context.pointPosition();
@@ -10431,7 +10431,7 @@ class AITableCellRate extends CoverCellBase {
10431
10431
  recordId
10432
10432
  })
10433
10433
  };
10434
- }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : []));
10434
+ }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10435
10435
  this.starConfigs = computed(() => {
10436
10436
  const { render, field, recordId, readonly, aiTable, coordinate } = this.config();
10437
10437
  const { x, columnWidth, transformValue } = render;
@@ -10485,7 +10485,7 @@ class AITableCellRate extends CoverCellBase {
10485
10485
  })
10486
10486
  };
10487
10487
  });
10488
- }, ...(ngDevMode ? [{ debugName: "starConfigs" }] : []));
10488
+ }, ...(ngDevMode ? [{ debugName: "starConfigs" }] : /* istanbul ignore next */ []));
10489
10489
  }
10490
10490
  static { this.fieldType = AITableFieldType.rate; }
10491
10491
  koMousemove(e) {
@@ -10523,8 +10523,8 @@ class AITableCellRate extends CoverCellBase {
10523
10523
  ]);
10524
10524
  }
10525
10525
  }
10526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10527
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", usesInheritance: true, ngImport: i0, template: `
10526
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10527
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", usesInheritance: true, ngImport: i0, template: `
10528
10528
  @if (!readonly()) {
10529
10529
  <ko-rect [config]="whiteBgConfig()" (koMousemove)="koMousemove($event)"></ko-rect>
10530
10530
  }
@@ -10533,7 +10533,7 @@ class AITableCellRate extends CoverCellBase {
10533
10533
  }
10534
10534
  `, 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
10535
  }
10536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellRate, decorators: [{
10536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellRate, decorators: [{
10537
10537
  type: Component,
10538
10538
  args: [{
10539
10539
  selector: 'ai-table-rate',
@@ -10555,18 +10555,18 @@ class AITableCellProgress extends CoverCellBase {
10555
10555
  super(...arguments);
10556
10556
  this.readonly = computed(() => {
10557
10557
  return this.config()?.readonly;
10558
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10559
- this.dragPointerX = signal(null, ...(ngDevMode ? [{ debugName: "dragPointerX" }] : []));
10558
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
10559
+ this.dragPointerX = signal(null, ...(ngDevMode ? [{ debugName: "dragPointerX" }] : /* istanbul ignore next */ []));
10560
10560
  this.railWidth = computed(() => {
10561
10561
  const { columnWidth } = this.config().render;
10562
10562
  return columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_WIDTH;
10563
- }, ...(ngDevMode ? [{ debugName: "railWidth" }] : []));
10563
+ }, ...(ngDevMode ? [{ debugName: "railWidth" }] : /* istanbul ignore next */ []));
10564
10564
  this.trackWidth = computed(() => {
10565
10565
  return (this.progressValue() / 100) * this.railWidth();
10566
- }, ...(ngDevMode ? [{ debugName: "trackWidth" }] : []));
10566
+ }, ...(ngDevMode ? [{ debugName: "trackWidth" }] : /* istanbul ignore next */ []));
10567
10567
  this.pointerWidth = AI_TABLE_PROGRESS_BAR_POINTER_WIDTH;
10568
10568
  this.progressOffsetY = (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_PROGRESS_BAR_HEIGHT) / 2 + AI_TABLE_OFFSET;
10569
- this.dragProgressValue = signal(null, ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : []));
10569
+ this.dragProgressValue = signal(null, ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : /* istanbul ignore next */ []));
10570
10570
  this.progressValue = computed(() => {
10571
10571
  const dragValue = this.dragProgressValue();
10572
10572
  if (dragValue !== null) {
@@ -10578,7 +10578,7 @@ class AITableCellProgress extends CoverCellBase {
10578
10578
  return 0;
10579
10579
  }
10580
10580
  return transformValue;
10581
- }, ...(ngDevMode ? [{ debugName: "progressValue" }] : []));
10581
+ }, ...(ngDevMode ? [{ debugName: "progressValue" }] : /* istanbul ignore next */ []));
10582
10582
  this.whiteBgConfig = computed(() => {
10583
10583
  const { aiTable, render, field, recordId, coordinate } = this.config();
10584
10584
  const pointPosition = aiTable.context.pointPosition();
@@ -10601,7 +10601,7 @@ class AITableCellProgress extends CoverCellBase {
10601
10601
  recordId
10602
10602
  })
10603
10603
  };
10604
- }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : []));
10604
+ }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : /* istanbul ignore next */ []));
10605
10605
  this.railConfig = computed(() => {
10606
10606
  const { render, field, recordId } = this.config();
10607
10607
  const { x } = render;
@@ -10619,7 +10619,7 @@ class AITableCellProgress extends CoverCellBase {
10619
10619
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10620
10620
  })
10621
10621
  };
10622
- }, ...(ngDevMode ? [{ debugName: "railConfig" }] : []));
10622
+ }, ...(ngDevMode ? [{ debugName: "railConfig" }] : /* istanbul ignore next */ []));
10623
10623
  this.trackConfig = computed(() => {
10624
10624
  const { render, field, recordId } = this.config();
10625
10625
  const { x } = render;
@@ -10637,7 +10637,7 @@ class AITableCellProgress extends CoverCellBase {
10637
10637
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10638
10638
  })
10639
10639
  };
10640
- }, ...(ngDevMode ? [{ debugName: "trackConfig" }] : []));
10640
+ }, ...(ngDevMode ? [{ debugName: "trackConfig" }] : /* istanbul ignore next */ []));
10641
10641
  this.pointerConfig = computed(() => {
10642
10642
  const { render, field, recordId } = this.config();
10643
10643
  const { x } = render;
@@ -10676,7 +10676,7 @@ class AITableCellProgress extends CoverCellBase {
10676
10676
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10677
10677
  })
10678
10678
  };
10679
- }, ...(ngDevMode ? [{ debugName: "pointerConfig" }] : []));
10679
+ }, ...(ngDevMode ? [{ debugName: "pointerConfig" }] : /* istanbul ignore next */ []));
10680
10680
  this.textConfig = computed(() => {
10681
10681
  const { render, field, recordId } = this.config();
10682
10682
  const { x } = render;
@@ -10695,7 +10695,7 @@ class AITableCellProgress extends CoverCellBase {
10695
10695
  recordId
10696
10696
  })
10697
10697
  };
10698
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
10698
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
10699
10699
  }
10700
10700
  static { this.fieldType = AITableFieldType.progress; }
10701
10701
  calculatePercentage(clickX) {
@@ -10778,8 +10778,8 @@ class AITableCellProgress extends CoverCellBase {
10778
10778
  ]);
10779
10779
  }
10780
10780
  }
10781
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10782
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", usesInheritance: true, ngImport: i0, template: `
10781
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10782
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", usesInheritance: true, ngImport: i0, template: `
10783
10783
  @if (!readonly()) {
10784
10784
  <ko-rect [config]="whiteBgConfig()"></ko-rect>
10785
10785
  }
@@ -10794,7 +10794,7 @@ class AITableCellProgress extends CoverCellBase {
10794
10794
  <ko-text [config]="textConfig()"></ko-text>
10795
10795
  `, 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
10796
  }
10797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellProgress, decorators: [{
10797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellProgress, decorators: [{
10798
10798
  type: Component,
10799
10799
  args: [{
10800
10800
  selector: 'ai-table-progress',
@@ -10824,7 +10824,7 @@ class AITableCellCheckbox extends CoverCellBase {
10824
10824
  const { render } = this.config();
10825
10825
  const { transformValue } = render;
10826
10826
  return !isEmpty(transformValue) && !!transformValue;
10827
- }, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
10827
+ }, ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
10828
10828
  this.checkbox = computed(() => {
10829
10829
  const { render, field, recordId, readonly } = this.config();
10830
10830
  if (render) {
@@ -10848,7 +10848,7 @@ class AITableCellCheckbox extends CoverCellBase {
10848
10848
  };
10849
10849
  }
10850
10850
  return null;
10851
- }, ...(ngDevMode ? [{ debugName: "checkbox" }] : []));
10851
+ }, ...(ngDevMode ? [{ debugName: "checkbox" }] : /* istanbul ignore next */ []));
10852
10852
  }
10853
10853
  static { this.fieldType = AITableFieldType.checkbox; }
10854
10854
  switchChecked() {
@@ -10860,14 +10860,14 @@ class AITableCellCheckbox extends CoverCellBase {
10860
10860
  }
10861
10861
  ]);
10862
10862
  }
10863
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10864
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: AITableCellCheckbox, isStandalone: true, selector: "ai-table-checkbox", usesInheritance: true, ngImport: i0, template: `
10863
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10864
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: AITableCellCheckbox, isStandalone: true, selector: "ai-table-checkbox", usesInheritance: true, ngImport: i0, template: `
10865
10865
  <ko-group>
10866
10866
  <ai-table-icon [config]="checkbox()" (koClick)="switchChecked()"></ai-table-icon>
10867
10867
  </ko-group>
10868
10868
  `, 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
10869
  }
10870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellCheckbox, decorators: [{
10870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellCheckbox, decorators: [{
10871
10871
  type: Component,
10872
10872
  args: [{
10873
10873
  selector: 'ai-table-checkbox',
@@ -10892,7 +10892,7 @@ class AITableCellText extends CoverCellBase {
10892
10892
  fieldId: field._id,
10893
10893
  recordId
10894
10894
  });
10895
- }, ...(ngDevMode ? [{ debugName: "cellName" }] : []));
10895
+ }, ...(ngDevMode ? [{ debugName: "cellName" }] : /* istanbul ignore next */ []));
10896
10896
  this.expandBorderConfig = computed(() => {
10897
10897
  const { render, field, recordId, readonly, isExpand } = this.config();
10898
10898
  const { columnWidth } = render;
@@ -10911,7 +10911,7 @@ class AITableCellText extends CoverCellBase {
10911
10911
  };
10912
10912
  }
10913
10913
  return null;
10914
- }, ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : []));
10914
+ }, ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : /* istanbul ignore next */ []));
10915
10915
  this.scrollConfig = computed(() => {
10916
10916
  const { render, field, recordId, readonly, isExpand, coordinate } = this.config();
10917
10917
  const { columnWidth } = render;
@@ -10931,7 +10931,7 @@ class AITableCellText extends CoverCellBase {
10931
10931
  contentNotScrollbar: false,
10932
10932
  bgName: this.cellName()
10933
10933
  };
10934
- }, ...(ngDevMode ? [{ debugName: "scrollConfig" }] : []));
10934
+ }, ...(ngDevMode ? [{ debugName: "scrollConfig" }] : /* istanbul ignore next */ []));
10935
10935
  this.expandTextBounds = computed(() => {
10936
10936
  const textRender = this.textString();
10937
10937
  const render = this.config()?.render;
@@ -10958,11 +10958,11 @@ class AITableCellText extends CoverCellBase {
10958
10958
  ...text,
10959
10959
  height: text.height + AI_TABLE_CELL_PADDING + AI_TABLE_CELL_LINE_BORDER
10960
10960
  };
10961
- }, ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : []));
10961
+ }, ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : /* istanbul ignore next */ []));
10962
10962
  this.textMaxWidth = computed(() => {
10963
10963
  const { columnWidth } = this.config()?.render;
10964
10964
  return columnWidth - AI_TABLE_CELL_PADDING - AI_TABLE_CELL_PADDING;
10965
- }, ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : []));
10965
+ }, ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : /* istanbul ignore next */ []));
10966
10966
  this.textString = computed(() => {
10967
10967
  const { transformValue } = this.config()?.render;
10968
10968
  let textRender = transformValue;
@@ -10970,18 +10970,18 @@ class AITableCellText extends CoverCellBase {
10970
10970
  return;
10971
10971
  }
10972
10972
  return textRender.replace(/\r|\n/g, ' ');
10973
- }, ...(ngDevMode ? [{ debugName: "textString" }] : []));
10973
+ }, ...(ngDevMode ? [{ debugName: "textString" }] : /* istanbul ignore next */ []));
10974
10974
  this.height = computed(() => {
10975
10975
  const { height } = this.expandTextBounds() || { height: 0 };
10976
10976
  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" }] : []));
10977
+ }, ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
10978
10978
  this.startY = computed(() => {
10979
10979
  const { y, rowHeight } = this.config()?.render;
10980
10980
  return (y +
10981
10981
  (AI_TABLE_ROW_HEIGHT - DEFAULT_FONT_SIZE) / 2 -
10982
10982
  (DEFAULT_FONT_SIZE * (AI_TABLE_TEXT_LINE_HEIGHT - 1)) / 2 +
10983
10983
  AI_TABLE_CELL_LINE_BORDER);
10984
- }, ...(ngDevMode ? [{ debugName: "startY" }] : []));
10984
+ }, ...(ngDevMode ? [{ debugName: "startY" }] : /* istanbul ignore next */ []));
10985
10985
  this.expandTextConfig = computed(() => {
10986
10986
  const render = this.config()?.render;
10987
10987
  if (render) {
@@ -10991,6 +10991,15 @@ class AITableCellText extends CoverCellBase {
10991
10991
  return;
10992
10992
  }
10993
10993
  const { height, data } = this.expandTextBounds();
10994
+ /**
10995
+ * Konva.Text 中的 wrap 为 none 时,则不进行换行计算处理
10996
+ * Konva.Text 中的 wrap 为 char/word/word-break,并且设置了 width参数时,则会进行计算 根据宽度计算容纳的内容,超过后进行换行
10997
+ * Konva.Text 中的 ellipsis 为 true,并且 wrap为char/word/word-break,设置了width 和 height 参数,则会计算超过的部分进行截断,展示...
10998
+ * 当 渲染的文字内容很多,开启上述运算时就会很耗时(实际是计算耗时,渲染并不耗时)。
10999
+ * 目前的优化方案:
11000
+ * 计算与渲染分离,优先计算出换行的结果并对数据进行缓存。
11001
+ * 渲染时,根据提前计算的结果,使用 \n 拼装计算出的所有行,直接进行渲染。
11002
+ */
10994
11003
  const textRender = data.map((item) => item.text).join('\n');
10995
11004
  return {
10996
11005
  x,
@@ -11009,7 +11018,7 @@ class AITableCellText extends CoverCellBase {
11009
11018
  };
11010
11019
  }
11011
11020
  return;
11012
- }, ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : []));
11021
+ }, ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : /* istanbul ignore next */ []));
11013
11022
  this.textConfig = computed(() => {
11014
11023
  const render = this.config()?.render;
11015
11024
  if (render) {
@@ -11034,7 +11043,7 @@ class AITableCellText extends CoverCellBase {
11034
11043
  };
11035
11044
  }
11036
11045
  return;
11037
- }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
11046
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : /* istanbul ignore next */ []));
11038
11047
  effect(() => {
11039
11048
  const height = this.height();
11040
11049
  if (this.isExpand()) {
@@ -11046,8 +11055,8 @@ class AITableCellText extends CoverCellBase {
11046
11055
  }
11047
11056
  });
11048
11057
  }
11049
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11050
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableCellText, isStandalone: true, selector: "ai-table-single-text", usesInheritance: true, ngImport: i0, template: `
11058
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11059
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: AITableCellText, isStandalone: true, selector: "ai-table-single-text", usesInheritance: true, ngImport: i0, template: `
11051
11060
  <ko-group>
11052
11061
  @if (isExpand()) {
11053
11062
  <ko-group>
@@ -11072,7 +11081,7 @@ class AITableCellText extends CoverCellBase {
11072
11081
  </ko-group>
11073
11082
  `, 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 }); }
11074
11083
  }
11075
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableCellText, decorators: [{
11084
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableCellText, decorators: [{
11076
11085
  type: Component,
11077
11086
  args: [{
11078
11087
  selector: 'ai-table-single-text',
@@ -11893,8 +11902,8 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
11893
11902
  super.update();
11894
11903
  this.closePopover();
11895
11904
  }
11896
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11897
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
11905
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11906
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
11898
11907
  class="h-100"
11899
11908
  [thyAutoFocus]="autoFocus()"
11900
11909
  [thyShowStepControls]="false"
@@ -11903,7 +11912,7 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
11903
11912
  (thyBlur)="updateValue()"
11904
11913
  /> `, 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 }); }
11905
11914
  }
11906
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
11915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
11907
11916
  type: Component,
11908
11917
  args: [{
11909
11918
  selector: 'number-cell-editor',
@@ -11925,21 +11934,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
11925
11934
 
11926
11935
  class SelectOptionComponent {
11927
11936
  constructor() {
11928
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
11929
- this.displayOption = input.required(...(ngDevMode ? [{ debugName: "displayOption" }] : []));
11937
+ this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
11938
+ this.displayOption = input.required(...(ngDevMode ? [{ debugName: "displayOption" }] : /* istanbul ignore next */ []));
11930
11939
  this.optionStyle = computed(() => {
11931
11940
  return this.field().settings.option_style || AITableSelectOptionStyle.text;
11932
- }, ...(ngDevMode ? [{ debugName: "optionStyle" }] : []));
11941
+ }, ...(ngDevMode ? [{ debugName: "optionStyle" }] : /* istanbul ignore next */ []));
11933
11942
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
11934
11943
  }
11935
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11936
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.select-option-tag": "optionStyle === AITableSelectOptionStyle.tag" }, classAttribute: "select-option thy-text" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11944
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11945
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
11937
11946
  }
11938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionComponent, decorators: [{
11947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionComponent, decorators: [{
11939
11948
  type: Component,
11940
11949
  args: [{ selector: 'select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
11941
11950
  class: 'select-option thy-text',
11942
- '[class.select-option-tag]': 'optionStyle === AITableSelectOptionStyle.tag'
11951
+ '[class.select-option-tag]': 'optionStyle() === AITableSelectOptionStyle.tag'
11943
11952
  }, imports: [ThyTag, ThyIcon, ThyTooltipModule, ThyDot, ThyFlexibleText], 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" }]
11944
11953
  }], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], displayOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayOption", required: true }] }] } });
11945
11954
 
@@ -11951,10 +11960,10 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
11951
11960
  super();
11952
11961
  this.selectOptions = computed(() => {
11953
11962
  return this.field().settings.options;
11954
- }, ...(ngDevMode ? [{ debugName: "selectOptions" }] : []));
11963
+ }, ...(ngDevMode ? [{ debugName: "selectOptions" }] : /* istanbul ignore next */ []));
11955
11964
  this.preset = computed(() => {
11956
11965
  return this.field().settings.is_multiple && this.field().settings.option_style === AITableSelectOptionStyle.tag ? 'tag' : '';
11957
- }, ...(ngDevMode ? [{ debugName: "preset" }] : []));
11966
+ }, ...(ngDevMode ? [{ debugName: "preset" }] : /* istanbul ignore next */ []));
11958
11967
  }
11959
11968
  ngOnInit() {
11960
11969
  super.ngOnInit();
@@ -12000,10 +12009,10 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
12000
12009
  this.thyPopoverRef?.updatePosition();
12001
12010
  });
12002
12011
  }
12003
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12004
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"autoFocus()\"\n [thyAllowClear]=\"true\"\n [thyPlaceHolder]=\"''\"\n [thyPreset]=\"preset()\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n (ngModelChange)=\"onModelChange($event)\"\n (thyOnExpandStatusChange)=\"onOpenChange($event)\"\n>\n <ng-template #selectedDisplay let-option>\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option\n [thyValue]=\"option._id\"\n [hidden]=\"!!option.is_disabled\"\n [thyRawValue]=\"option\"\n [thyShowOptionCustom]=\"true\"\n [thyLabelText]=\"option.text\"\n >\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "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 }); }
12012
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12013
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
12005
12014
  }
12006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12015
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12007
12016
  type: Component,
12008
12017
  args: [{ selector: 'select-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12009
12018
  class: 'd-block h-100 select-cell-editor'
@@ -12022,7 +12031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12022
12031
  class TextCellEditorComponent extends AbstractEditCellEditor {
12023
12032
  constructor() {
12024
12033
  super();
12025
- this.isSelectAll = input(false, ...(ngDevMode ? [{ debugName: "isSelectAll" }] : []));
12034
+ this.isSelectAll = input(false, ...(ngDevMode ? [{ debugName: "isSelectAll" }] : /* istanbul ignore next */ []));
12026
12035
  }
12027
12036
  ngOnInit() {
12028
12037
  super.ngOnInit();
@@ -12051,8 +12060,8 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12051
12060
  super.update();
12052
12061
  this.closePopover();
12053
12062
  }
12054
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12055
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", inputs: { isSelectAll: { classPropertyName: "isSelectAll", publicName: "isSelectAll", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
12063
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12064
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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: `
12056
12065
  <textarea
12057
12066
  #textarea
12058
12067
  placeholder=""
@@ -12066,7 +12075,7 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12066
12075
  ></textarea>
12067
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 }); }
12068
12077
  }
12069
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12078
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12070
12079
  type: Component,
12071
12080
  args: [{
12072
12081
  selector: 'text-cell-editor',
@@ -12095,10 +12104,10 @@ class SelectOptionPipe {
12095
12104
  transform(_id, options) {
12096
12105
  return options?.length && options.find((item) => item._id === _id);
12097
12106
  }
12098
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12099
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
12107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12108
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
12100
12109
  }
12101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionPipe, decorators: [{
12110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionPipe, decorators: [{
12102
12111
  type: Pipe,
12103
12112
  args: [{
12104
12113
  name: 'selectOption'
@@ -12112,10 +12121,10 @@ class SelectOptionsPipe {
12112
12121
  })) ||
12113
12122
  []);
12114
12123
  }
12115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12116
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
12124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12125
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
12117
12126
  }
12118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12119
12128
  type: Pipe,
12120
12129
  args: [{
12121
12130
  name: 'selectOptions'
@@ -12125,10 +12134,10 @@ class IsSelectRecordPipe {
12125
12134
  transform(recordId, selection) {
12126
12135
  return selection.selectedRecords.has(recordId);
12127
12136
  }
12128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12129
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
12137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12138
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
12130
12139
  }
12131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12132
12141
  type: Pipe,
12133
12142
  args: [{
12134
12143
  name: 'isSelectRecord'
@@ -12142,10 +12151,10 @@ class UserPipe {
12142
12151
  })) ||
12143
12152
  []);
12144
12153
  }
12145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12146
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
12154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12155
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
12147
12156
  }
12148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: UserPipe, decorators: [{
12157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: UserPipe, decorators: [{
12149
12158
  type: Pipe,
12150
12159
  args: [{
12151
12160
  name: 'user'
@@ -12155,10 +12164,10 @@ class SelectSettingPipe {
12155
12164
  transform(settings) {
12156
12165
  return settings;
12157
12166
  }
12158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12159
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
12167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12168
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
12160
12169
  }
12161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectSettingPipe, decorators: [{
12170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SelectSettingPipe, decorators: [{
12162
12171
  type: Pipe,
12163
12172
  args: [{
12164
12173
  name: 'selectSetting'
@@ -12168,10 +12177,10 @@ class MemberSettingPipe {
12168
12177
  transform(settings) {
12169
12178
  return settings;
12170
12179
  }
12171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12172
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
12180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12181
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
12173
12182
  }
12174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: MemberSettingPipe, decorators: [{
12183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: MemberSettingPipe, decorators: [{
12175
12184
  type: Pipe,
12176
12185
  args: [{
12177
12186
  name: 'memberSetting'
@@ -12181,10 +12190,10 @@ class AITableFieldIsSameOptionPipe {
12181
12190
  transform(fieldOption, field) {
12182
12191
  return isSameFieldOption(fieldOption, field);
12183
12192
  }
12184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12185
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
12193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12194
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
12186
12195
  }
12187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12188
12197
  type: Pipe,
12189
12198
  args: [{
12190
12199
  name: 'fieldIsSameOption'
@@ -12193,10 +12202,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12193
12202
 
12194
12203
  class AITableFieldSettingBase {
12195
12204
  constructor() {
12196
- this.aiEditField = model.required(...(ngDevMode ? [{ debugName: "aiEditField" }] : []));
12197
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12198
- this.aiReferences = input(...(ngDevMode ? [undefined, { debugName: "aiReferences" }] : []));
12199
- this.isUpdate = input(false, ...(ngDevMode ? [{ debugName: "isUpdate", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
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 */ []));
12208
+ this.isUpdate = input(false, { ...(ngDevMode ? { debugName: "isUpdate" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12200
12209
  this.addField = output();
12201
12210
  this.setField = output();
12202
12211
  this.thyPopoverRef = inject((ThyPopoverRef));
@@ -12223,10 +12232,10 @@ class AITableFieldSettingBase {
12223
12232
  cancel() {
12224
12233
  this.thyPopoverRef.close();
12225
12234
  }
12226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSettingBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableFieldSettingBase, isStandalone: true, selector: "ai-table-field-setting-base", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiEditField: "aiEditFieldChange", addField: "addField", setField: "setField" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldSettingBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12236
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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 }); }
12228
12237
  }
12229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSettingBase, decorators: [{
12238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldSettingBase, decorators: [{
12230
12239
  type: Component,
12231
12240
  args: [{
12232
12241
  selector: 'ai-table-field-setting-base',
@@ -12238,10 +12247,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12238
12247
  class AITableFieldSetting extends AITableFieldSettingBase {
12239
12248
  constructor() {
12240
12249
  super(...arguments);
12241
- this.aiExternalTemplate = input(null, ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : []));
12250
+ this.aiExternalTemplate = input(null, ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : /* istanbul ignore next */ []));
12242
12251
  this.selectedFieldOption = computed(() => {
12243
12252
  return getFieldOptionByField(this.aiTable(), this.aiEditField());
12244
- }, ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : []));
12253
+ }, ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : /* istanbul ignore next */ []));
12245
12254
  this.fieldMaxLength = 32;
12246
12255
  this.validatorConfig = computed(() => {
12247
12256
  return {
@@ -12252,14 +12261,14 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12252
12261
  }
12253
12262
  }
12254
12263
  };
12255
- }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : []));
12264
+ }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : /* istanbul ignore next */ []));
12256
12265
  this.fieldOptions = computed(() => {
12257
12266
  const fieldOptions = getFieldOptions(this.aiTable());
12258
12267
  return _.groupBy(fieldOptions, 'group');
12259
- }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : []));
12268
+ }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
12260
12269
  this.aITableFieldType = AITableFieldType;
12261
12270
  this.isMultipleMember = false;
12262
- this.isManualInputName = signal(false, ...(ngDevMode ? [{ debugName: "isManualInputName" }] : []));
12271
+ this.isManualInputName = signal(false, ...(ngDevMode ? [{ debugName: "isManualInputName" }] : /* istanbul ignore next */ []));
12263
12272
  this.checkUniqueName = (fieldName) => {
12264
12273
  fieldName = fieldName?.trim();
12265
12274
  return of(!!this.aiTable()
@@ -12277,7 +12286,7 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12277
12286
  base: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupBase),
12278
12287
  advanced: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupAdvanced)
12279
12288
  };
12280
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
12289
+ }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12281
12290
  }
12282
12291
  ngOnInit() {
12283
12292
  super.ngOnInit();
@@ -12323,10 +12332,10 @@ class AITableFieldSetting extends AITableFieldSettingBase {
12323
12332
  nameChange(event) {
12324
12333
  this.isManualInputName.set(true);
12325
12334
  }
12326
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSetting, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12327
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", inputs: { aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-setting d-block pl-5 pr-5 pb-5 pt-4" }, usesInheritance: true, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span thyDropdownMenuItem [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" (click)=\"fieldTypeClick($event)\">\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n <div class=\"ai-table-field-type-menu\">\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().base\">\n @for (item of fieldOptions().base; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().advanced\">\n @for (item of fieldOptions().advanced; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n </div>\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "pipe", type: AITableFieldIsSameOptionPipe, name: "fieldIsSameOption" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldSetting, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12336
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
12328
12337
  }
12329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldSetting, decorators: [{
12338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldSetting, decorators: [{
12330
12339
  type: Component,
12331
12340
  args: [{ selector: 'ai-table-field-setting', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12332
12341
  NgClass,
@@ -12359,11 +12368,11 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12359
12368
  super(...arguments);
12360
12369
  this.notifyService = inject(ThyNotifyService);
12361
12370
  this.thyPopoverRef = inject(ThyPopoverRef);
12362
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12363
- this.menuItems = input.required(...(ngDevMode ? [{ debugName: "menuItems" }] : []));
12364
- this.targetName = input.required(...(ngDevMode ? [{ debugName: "targetName" }] : []));
12365
- this.position = input.required(...(ngDevMode ? [{ debugName: "position" }] : []));
12366
- this.maxCount = computed(() => this.aiTable().context?.maxRecords() - this.aiTable().records().length, ...(ngDevMode ? [{ debugName: "maxCount" }] : []));
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 */ []));
12367
12376
  }
12368
12377
  execute(menu) {
12369
12378
  if ((menu.disabled && !menu.disabled(this.aiTable(), this.targetName(), this.position())) || !menu.disabled) {
@@ -12377,10 +12386,10 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12377
12386
  this.execute(menu);
12378
12387
  this.thyPopoverRef.close();
12379
12388
  }
12380
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12381
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableContextMenu, isStandalone: true, selector: "ai-table-context-menu", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: true, transformFunction: null }, targetName: { classPropertyName: "targetName", publicName: "targetName", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "context-menu" }, usesInheritance: true, ngImport: i0, template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection =\n menu.type === 'copyCells' ||\n menu.type === 'pasteCells' ||\n menu.type === 'removeRecords' ||\n menu.type === 'insertUpwardRecords' ||\n menu.type === 'insertDownwardRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n draggable=\"false\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n @if (menu?.isInputNumber) {\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ menu.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"menu.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n [thyMax]=\"maxCount()\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, menu)\"\n thyStopPropagation\n ></thy-input-number>\n {{ menu.nameSuffix }}\n </span>\n } @else {\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n }\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemMetaDirective, selector: "[thyDropdownMenuItemMeta]" }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12389
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12390
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
12382
12391
  }
12383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableContextMenu, decorators: [{
12392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableContextMenu, decorators: [{
12384
12393
  type: Component,
12385
12394
  args: [{ selector: 'ai-table-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12386
12395
  class: 'context-menu'
@@ -12401,8 +12410,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12401
12410
 
12402
12411
  class CheckboxMenuSort {
12403
12412
  constructor() {
12404
- this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
12405
- this.menu = input.required(...(ngDevMode ? [{ debugName: "menu" }] : []));
12413
+ this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12414
+ this.menu = input.required(...(ngDevMode ? [{ debugName: "menu" }] : /* istanbul ignore next */ []));
12406
12415
  this.Direction = {
12407
12416
  ascending: 'ascending',
12408
12417
  descending: 'descending'
@@ -12418,8 +12427,8 @@ class CheckboxMenuSort {
12418
12427
  }
12419
12428
  return '按 Z → A 排序';
12420
12429
  }
12421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12422
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: CheckboxMenuSort, isStandalone: true, selector: "checkbox-menu-sort", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "checkbox-menu-sort" }, ngImport: i0, template: `
12430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12431
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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: `
12423
12432
  <thy-icon class="sort-icon" [thyIconName]="menu().icon!"></thy-icon>
12424
12433
  <div class="sort-state">
12425
12434
  @if (menu().type === 'sortByAsc') {
@@ -12434,7 +12443,7 @@ class CheckboxMenuSort {
12434
12443
  </div>
12435
12444
  `, 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 }); }
12436
12445
  }
12437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12438
12447
  type: Component,
12439
12448
  args: [{
12440
12449
  selector: 'checkbox-menu-sort',
@@ -12463,10 +12472,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
12463
12472
  class AITableFieldMenu extends ThyDropdownAbstractMenu {
12464
12473
  constructor() {
12465
12474
  super(...arguments);
12466
- this.execMenuCallback = input(...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : []));
12475
+ this.execMenuCallback = input(...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : /* istanbul ignore next */ []));
12467
12476
  this.field = computed(() => {
12468
12477
  return this.aiTable.fields().find((item) => item._id === this.fieldId);
12469
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
12478
+ }, ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12470
12479
  }
12471
12480
  getCustomComponent(menu) {
12472
12481
  return menu.customComponent?.(this.aiTable, this.field());
@@ -12485,10 +12494,10 @@ class AITableFieldMenu extends ThyDropdownAbstractMenu {
12485
12494
  }
12486
12495
  return menu.name || '';
12487
12496
  }
12488
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12489
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldMenus: { classPropertyName: "fieldMenus", publicName: "fieldMenus", isSignal: false, isRequired: true, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: false, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, execMenuCallback: { classPropertyName: "execMenuCallback", publicName: "execMenuCallback", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n @let customComponent = getCustomComponent(menu);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n @if (customComponent) {\n <ng-container *ngComponentOutlet=\"customComponent; inputs: { field: field(), menu: menu }\"> </ng-container>\n } @else {\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n }\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12497
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12498
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
12490
12499
  }
12491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableFieldMenu, decorators: [{
12500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableFieldMenu, decorators: [{
12492
12501
  type: Component,
12493
12502
  args: [{ selector: 'ai-table-field-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12494
12503
  class: 'field-menu'
@@ -12519,18 +12528,18 @@ const GRID_CELL_EDITOR_MAP = {
12519
12528
 
12520
12529
  class DynamicCellEditorComponent {
12521
12530
  constructor() {
12522
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12523
- this.fieldId = input.required(...(ngDevMode ? [{ debugName: "fieldId" }] : []));
12524
- this.recordId = input.required(...(ngDevMode ? [{ debugName: "recordId" }] : []));
12525
- this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : []));
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 */ []));
12526
12535
  this.updateFieldValues = output();
12527
- this.editorHost = viewChild('editorHost', ...(ngDevMode ? [{ debugName: "editorHost", read: ViewContainerRef }] : [{ read: ViewContainerRef }]));
12536
+ this.editorHost = viewChild('editorHost', { ...(ngDevMode ? { debugName: "editorHost" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
12528
12537
  this.field = computed(() => {
12529
12538
  return this.aiTable().fieldsMap()[this.fieldId()];
12530
- }, ...(ngDevMode ? [{ debugName: "field" }] : []));
12539
+ }, ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
12531
12540
  this.cellValue = computed(() => {
12532
12541
  return AITableQueries.getFieldValue(this.aiTable(), [this.recordId(), this.fieldId()]);
12533
- }, ...(ngDevMode ? [{ debugName: "cellValue" }] : []));
12542
+ }, ...(ngDevMode ? [{ debugName: "cellValue" }] : /* istanbul ignore next */ []));
12534
12543
  effect(() => {
12535
12544
  this.recordId();
12536
12545
  this.fieldId();
@@ -12580,14 +12589,14 @@ class DynamicCellEditorComponent {
12580
12589
  }
12581
12590
  return GRID_CELL_EDITOR_MAP[fieldType];
12582
12591
  }
12583
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12584
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", type: DynamicCellEditorComponent, isStandalone: true, selector: "ai-dynamic-cell-editor", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, viewQueries: [{ propertyName: "editorHost", first: true, predicate: ["editorHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12592
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12593
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.7", 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: `
12585
12594
  <div class="ai-dynamic-cell-editor-wrapper">
12586
12595
  <ng-container #editorHost></ng-container>
12587
12596
  </div>
12588
12597
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12589
12598
  }
12590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12591
12600
  type: Component,
12592
12601
  args: [{
12593
12602
  selector: 'ai-dynamic-cell-editor',
@@ -12605,39 +12614,39 @@ class RecordDetailComponent {
12605
12614
  return getFieldIconPath(field) || IconPathMap[field.icon];
12606
12615
  }
12607
12616
  constructor() {
12608
- this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12609
- this.recordId = model.required(...(ngDevMode ? [{ debugName: "recordId" }] : []));
12610
- this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : []));
12611
- this.actions = input(...(ngDevMode ? [undefined, { debugName: "actions" }] : []));
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 */ []));
12612
12621
  this.recordIdChange = output();
12613
- this.internalRecordId = signal('', ...(ngDevMode ? [{ debugName: "internalRecordId" }] : []));
12622
+ this.internalRecordId = signal('', ...(ngDevMode ? [{ debugName: "internalRecordId" }] : /* istanbul ignore next */ []));
12614
12623
  this.readonly = computed(() => {
12615
12624
  return this.aiTable()?.context?.readonly?.();
12616
- }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
12625
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
12617
12626
  this.currentRecordId = computed(() => {
12618
12627
  const inputId = this.recordId();
12619
12628
  const internalId = this.internalRecordId();
12620
12629
  return internalId || inputId;
12621
- }, ...(ngDevMode ? [{ debugName: "currentRecordId" }] : []));
12622
- this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : []));
12630
+ }, ...(ngDevMode ? [{ debugName: "currentRecordId" }] : /* istanbul ignore next */ []));
12631
+ this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : /* istanbul ignore next */ []));
12623
12632
  this.record = computed(() => {
12624
12633
  return this.aiTable().recordsMap()[this.currentRecordId()];
12625
- }, ...(ngDevMode ? [{ debugName: "record" }] : []));
12634
+ }, ...(ngDevMode ? [{ debugName: "record" }] : /* istanbul ignore next */ []));
12626
12635
  this.fields = computed(() => {
12627
12636
  return this.aiTable().gridData().fields;
12628
- }, ...(ngDevMode ? [{ debugName: "fields" }] : []));
12637
+ }, ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
12629
12638
  this.firstField = computed(() => {
12630
12639
  return this.aiTable().gridData().fields[0];
12631
- }, ...(ngDevMode ? [{ debugName: "firstField" }] : []));
12640
+ }, ...(ngDevMode ? [{ debugName: "firstField" }] : /* istanbul ignore next */ []));
12632
12641
  this.lastField = computed(() => {
12633
12642
  const fields = this.aiTable().gridData().fields;
12634
12643
  return fields[fields.length - 1];
12635
- }, ...(ngDevMode ? [{ debugName: "lastField" }] : []));
12644
+ }, ...(ngDevMode ? [{ debugName: "lastField" }] : /* istanbul ignore next */ []));
12636
12645
  this.i18nTexts = computed(() => ({
12637
12646
  recordUntitled: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.recordUntitled),
12638
12647
  deleteRecord: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.deleteRecord),
12639
12648
  addField: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.addField)
12640
- }), ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
12649
+ }), ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
12641
12650
  this.recordTitle = computed(() => {
12642
12651
  let title = this.i18nTexts().recordUntitled;
12643
12652
  const field = this.firstField();
@@ -12653,19 +12662,19 @@ class RecordDetailComponent {
12653
12662
  }
12654
12663
  }
12655
12664
  return title;
12656
- }, ...(ngDevMode ? [{ debugName: "recordTitle" }] : []));
12665
+ }, ...(ngDevMode ? [{ debugName: "recordTitle" }] : /* istanbul ignore next */ []));
12657
12666
  this.recordNavigation = computed(() => {
12658
12667
  return getRecordNavigationInfo(this.aiTable(), this.currentRecordId());
12659
- }, ...(ngDevMode ? [{ debugName: "recordNavigation" }] : []));
12668
+ }, ...(ngDevMode ? [{ debugName: "recordNavigation" }] : /* istanbul ignore next */ []));
12660
12669
  this.fieldMenus = computed(() => {
12661
12670
  const fieldMenusFn = this.aiTable()?.context?.aiFieldConfig()?.recordDetailFieldMenus;
12662
12671
  if (fieldMenusFn && this.aiTable()) {
12663
12672
  return fieldMenusFn(this.aiTable());
12664
12673
  }
12665
12674
  return [];
12666
- }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : []));
12675
+ }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
12667
12676
  this.activeFieldId = null;
12668
- this.fieldMenuActive = signal({}, ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : []));
12677
+ this.fieldMenuActive = signal({}, ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : /* istanbul ignore next */ []));
12669
12678
  this.fieldMenuPopoverRef = null;
12670
12679
  this.currentPopoverFieldId = null;
12671
12680
  this.slideRef = inject(ThySlideRef);
@@ -12804,10 +12813,10 @@ class RecordDetailComponent {
12804
12813
  return (Array.isArray(value) && value.length === 0) || isUndefinedOrNull(value);
12805
12814
  }
12806
12815
  }
12807
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12808
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: RecordDetailComponent, isStandalone: true, selector: "ai-record-detail", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordId: "recordIdChange", recordIdChange: "recordIdChange" }, viewQueries: [{ propertyName: "fieldOperationsMenuTemplate", first: true, predicate: ["fieldOperationsMenuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between pl-8 pr-5 record-detail-header\">\n <span class=\"record-title\" thyFlexibleText [thyTooltipContent]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasPrevious\" (click)=\"previousRecord()\"\n ><thy-icon thyIconName=\"angle-up\"></thy-icon\n ></a>\n\n <a thyAction href=\"javascript:;\" [thyDisabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\"\n ><thy-icon thyIconName=\"angle-down\"></thy-icon\n ></a>\n </div>\n <thy-divider [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <div class=\"header-operations\">\n <a\n thyAction\n thyActiveClass=\"active\"\n href=\"javascript:;\"\n [thyDropdown]=\"headerMoreMenu\"\n thyTrigger=\"click\"\n thyPlacement=\"bottomRight\"\n ><thy-icon thyIconName=\"list\"></thy-icon\n ></a>\n\n <thy-dropdown-menu #headerMoreMenu>\n <a\n class=\"ai-table-record-detail-remove\"\n thyDropdownMenuItem\n [thyDisabled]=\"readonly()\"\n href=\"javascript:;\"\n (click)=\"deleteRecord()\"\n >\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>{{ i18nTexts().deleteRecord }}</span>\n </a>\n </thy-dropdown-menu>\n\n <a thyAction href=\"javascript:;\" (click)=\"close()\"><thy-icon thyIconName=\"close\"></thy-icon></a>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"px-8 cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div class=\"pt-4 cell-item\" [class.active]=\"activeFieldId === field._id\">\n <div #fieldMenuOrigin class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base\">\n {{ field.name }}\n </span>\n </div>\n @if (!readonly()) {\n <a\n class=\"field-action\"\n thyAction\n [thyActionActive]=\"fieldMenuActive()[field._id]\"\n href=\"javascript:;\"\n (click)=\"fieldMenuMoreClick($event, field._id, fieldMenuOrigin)\"\n ><thy-icon thyIconName=\"more-vertical\"></thy-icon\n ></a>\n }\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"cellClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n @if (!readonly()) {\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>{{ i18nTexts().addField }}</span>\n </button>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: DynamicCellEditorComponent, selector: "ai-dynamic-cell-editor", inputs: ["aiTable", "fieldId", "recordId", "references"], outputs: ["updateFieldValues"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12816
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12817
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
12809
12818
  }
12810
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailComponent, decorators: [{
12819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: RecordDetailComponent, decorators: [{
12811
12820
  type: Component,
12812
12821
  args: [{ selector: 'ai-record-detail', imports: [
12813
12822
  ThyButton,
@@ -13052,10 +13061,10 @@ class AITableGridEventService {
13052
13061
  });
13053
13062
  return ref;
13054
13063
  }
13055
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13056
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridEventService }); }
13064
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13065
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGridEventService }); }
13057
13066
  }
13058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridEventService, decorators: [{
13067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGridEventService, decorators: [{
13059
13068
  type: Injectable
13060
13069
  }] });
13061
13070
 
@@ -13104,38 +13113,38 @@ class AITableGridFieldService {
13104
13113
  });
13105
13114
  return ref;
13106
13115
  }
13107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
13108
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridFieldService }); }
13116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", 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.7", ngImport: i0, type: AITableGridFieldService }); }
13109
13118
  }
13110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridFieldService, decorators: [{
13119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGridFieldService, decorators: [{
13111
13120
  type: Injectable
13112
13121
  }], ctorParameters: () => [{ type: i1$1.ThyPopover }] });
13113
13122
 
13114
13123
  class AITableGridBase {
13115
13124
  constructor() {
13116
- this.aiRecords = model.required(...(ngDevMode ? [{ debugName: "aiRecords" }] : []));
13117
- this.aiFields = model.required(...(ngDevMode ? [{ debugName: "aiFields" }] : []));
13118
- this.aiContextMenuItems = input(...(ngDevMode ? [undefined, { debugName: "aiContextMenuItems" }] : []));
13119
- this.aiFieldConfig = input(...(ngDevMode ? [undefined, { debugName: "aiFieldConfig" }] : []));
13120
- this.aiReadonly = input(false, ...(ngDevMode ? [{ debugName: "aiReadonly" }] : []));
13121
- this.aiPlugins = input(...(ngDevMode ? [undefined, { debugName: "aiPlugins" }] : []));
13122
- this.aiMaxFields = input(...(ngDevMode ? [undefined, { debugName: "aiMaxFields" }] : []));
13123
- this.aiMaxRecords = input(...(ngDevMode ? [undefined, { debugName: "aiMaxRecords" }] : []));
13124
- this.aiMaxSelectOptions = input(...(ngDevMode ? [undefined, { debugName: "aiMaxSelectOptions" }] : []));
13125
- this.aiReferences = input.required(...(ngDevMode ? [{ debugName: "aiReferences" }] : []));
13126
- this.aiBuildRenderDataFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildRenderDataFn" }] : []));
13127
- this.aiBuildGroupLinearRowsFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildGroupLinearRowsFn" }] : []));
13128
- this.aiSortKeysMap = input(...(ngDevMode ? [undefined, { debugName: "aiSortKeysMap" }] : []));
13129
- this.aiGetI18nTextByKey = input(...(ngDevMode ? [undefined, { debugName: "aiGetI18nTextByKey" }] : []));
13130
- this.aiKeywords = input(...(ngDevMode ? [undefined, { debugName: "aiKeywords" }] : []));
13131
- this.aiFrozenColumnCountFn = input(...(ngDevMode ? [undefined, { debugName: "aiFrozenColumnCountFn" }] : []));
13132
- this.aiRecordHeight = input(AITableRecordHeightType.low, ...(ngDevMode ? [{ debugName: "aiRecordHeight" }] : []));
13133
- this.aiRecordDetailConfig = input(...(ngDevMode ? [undefined, { debugName: "aiRecordDetailConfig" }] : []));
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 */ []));
13134
13143
  this.AITableFieldType = AITableFieldType;
13135
13144
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
13136
13145
  this.isSelectedAll = computed(() => {
13137
13146
  return this.aiTable.selection().selectedRecords.size === this.aiRecords().length;
13138
- }, ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : []));
13147
+ }, ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : /* istanbul ignore next */ []));
13139
13148
  this.aiTableInitialized = output();
13140
13149
  this.aiAddRecord = output();
13141
13150
  this.aiRemoveRecord = output();
@@ -13156,7 +13165,7 @@ class AITableGridBase {
13156
13165
  return fieldMenusFn(this.aiTable);
13157
13166
  }
13158
13167
  return [];
13159
- }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : []));
13168
+ }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : /* istanbul ignore next */ []));
13160
13169
  this.gridData = computed(() => {
13161
13170
  this.aiTable.recordsWillHidden();
13162
13171
  if (this.aiBuildRenderDataFn && this.aiBuildRenderDataFn() && this.aiTable) {
@@ -13166,7 +13175,7 @@ class AITableGridBase {
13166
13175
  records: this.aiRecords(),
13167
13176
  fields: this.aiFields()
13168
13177
  };
13169
- }, ...(ngDevMode ? [{ debugName: "gridData" }] : []));
13178
+ }, ...(ngDevMode ? [{ debugName: "gridData" }] : /* istanbul ignore next */ []));
13170
13179
  this.ngZone = inject(NgZone);
13171
13180
  this.elementRef = inject(ElementRef);
13172
13181
  this.destroyRef = inject(DestroyRef);
@@ -13255,10 +13264,10 @@ class AITableGridBase {
13255
13264
  this.aiTableGridEventService.openEdit(cellDom);
13256
13265
  }
13257
13266
  }
13258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableGridBase, isStandalone: true, selector: "ai-table-grid-base", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiContextMenuItems: { classPropertyName: "aiContextMenuItems", publicName: "aiContextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiMaxFields: { classPropertyName: "aiMaxFields", publicName: "aiMaxFields", isSignal: true, isRequired: false, transformFunction: null }, aiMaxRecords: { classPropertyName: "aiMaxRecords", publicName: "aiMaxRecords", isSignal: true, isRequired: false, transformFunction: null }, aiMaxSelectOptions: { classPropertyName: "aiMaxSelectOptions", publicName: "aiMaxSelectOptions", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: true, transformFunction: null }, aiBuildRenderDataFn: { classPropertyName: "aiBuildRenderDataFn", publicName: "aiBuildRenderDataFn", isSignal: true, isRequired: false, transformFunction: null }, aiBuildGroupLinearRowsFn: { classPropertyName: "aiBuildGroupLinearRowsFn", publicName: "aiBuildGroupLinearRowsFn", isSignal: true, isRequired: false, transformFunction: null }, aiSortKeysMap: { classPropertyName: "aiSortKeysMap", publicName: "aiSortKeysMap", isSignal: true, isRequired: false, transformFunction: null }, aiGetI18nTextByKey: { classPropertyName: "aiGetI18nTextByKey", publicName: "aiGetI18nTextByKey", isSignal: true, isRequired: false, transformFunction: null }, aiKeywords: { classPropertyName: "aiKeywords", publicName: "aiKeywords", isSignal: true, isRequired: false, transformFunction: null }, aiFrozenColumnCountFn: { classPropertyName: "aiFrozenColumnCountFn", publicName: "aiFrozenColumnCountFn", isSignal: true, isRequired: false, transformFunction: null }, aiRecordHeight: { classPropertyName: "aiRecordHeight", publicName: "aiRecordHeight", isSignal: true, isRequired: false, transformFunction: null }, aiRecordDetailConfig: { classPropertyName: "aiRecordDetailConfig", publicName: "aiRecordDetailConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", aiTableInitialized: "aiTableInitialized", aiAddRecord: "aiAddRecord", aiRemoveRecord: "aiRemoveRecord", aiAddField: "aiAddField", aiCopyRecords: "aiCopyRecords", aiMoveField: "aiMoveField", aiUpdateFieldValues: "aiUpdateFieldValues", aiSetField: "aiSetField", aiSetFieldWidth: "aiSetFieldWidth", aiSetFieldStatType: "aiSetFieldStatType", aiMoveRecords: "aiMoveRecords", aiClick: "aiClick", aiDbClick: "aiDbClick", aiRowGroupCollapseClick: "aiRowGroupCollapseClick" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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 }); }
13260
13269
  }
13261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGridBase, decorators: [{
13270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGridBase, decorators: [{
13262
13271
  type: Component,
13263
13272
  args: [{
13264
13273
  selector: 'ai-table-grid-base',
@@ -13281,10 +13290,10 @@ class AITableDomGrid extends AITableGridBase {
13281
13290
  fieldMenus: this.fieldMenus()
13282
13291
  });
13283
13292
  }
13284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13285
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyValue", "currentValue", "hasHalf", "thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyValueChange", "currentValueChange", "hasHalfChange", "thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i2$2.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i3$1.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "component", type: i3$1.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13293
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13294
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
13286
13295
  }
13287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDomGrid, decorators: [{
13296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableDomGrid, decorators: [{
13288
13297
  type: Component,
13289
13298
  args: [{ selector: 'ai-table-dom-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
13290
13299
  class: 'ai-table-grid ai-table-dom-grid'
@@ -13504,10 +13513,10 @@ class AITableScrollControllerService {
13504
13513
  this.mouseUpSubscription = null;
13505
13514
  }
13506
13515
  }
13507
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollControllerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
13508
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollControllerService }); }
13516
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", 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.7", ngImport: i0, type: AITableScrollControllerService }); }
13509
13518
  }
13510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13511
13520
  type: Injectable
13512
13521
  }], ctorParameters: () => [{ type: i0.NgZone }] });
13513
13522
 
@@ -13596,17 +13605,17 @@ class RecordDetailService {
13596
13605
  }
13597
13606
  });
13598
13607
  }
13599
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13600
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailService }); }
13608
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13609
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: RecordDetailService }); }
13601
13610
  }
13602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: RecordDetailService, decorators: [{
13611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: RecordDetailService, decorators: [{
13603
13612
  type: Injectable
13604
13613
  }] });
13605
13614
 
13606
13615
  class AITableDragComponent {
13607
13616
  constructor() {
13608
- this.horizontalBar = input(...(ngDevMode ? [undefined, { debugName: "horizontalBar" }] : []));
13609
- this.verticalBar = input(...(ngDevMode ? [undefined, { debugName: "verticalBar" }] : []));
13617
+ this.horizontalBar = input(...(ngDevMode ? [undefined, { debugName: "horizontalBar" }] : /* istanbul ignore next */ []));
13618
+ this.verticalBar = input(...(ngDevMode ? [undefined, { debugName: "verticalBar" }] : /* istanbul ignore next */ []));
13610
13619
  this.dragEnd = output();
13611
13620
  this.aiTableGridEventService = inject(AITableGridEventService);
13612
13621
  this.render2 = inject(Renderer2);
@@ -14045,10 +14054,10 @@ class AITableDragComponent {
14045
14054
  }
14046
14055
  this.scrollControllerService.destroy();
14047
14056
  }
14048
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14049
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", inputs: { horizontalBar: { classPropertyName: "horizontalBar", publicName: "horizontalBar", isSignal: true, isRequired: false, transformFunction: null }, verticalBar: { classPropertyName: "verticalBar", publicName: "verticalBar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14057
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14058
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", 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 }); }
14050
14059
  }
14051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableDragComponent, decorators: [{
14060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableDragComponent, decorators: [{
14052
14061
  type: Component,
14053
14062
  args: [{ selector: 'ai-table-drag', changeDetection: ChangeDetectionStrategy.OnPush, host: {
14054
14063
  class: 'ai-table-drag-container'
@@ -14074,7 +14083,7 @@ class AITableGrid extends AITableGridBase {
14074
14083
  this.recordDetailService = inject(RecordDetailService);
14075
14084
  this.isPopoverOpen = false;
14076
14085
  this.fieldHeadHeight = AI_TABLE_FIELD_HEAD_HEIGHT;
14077
- this.containerRect = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "containerRect" }] : []));
14086
+ this.containerRect = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "containerRect" }] : /* istanbul ignore next */ []));
14078
14087
  this.frozenColumnCount = computed(() => {
14079
14088
  const containerWidth = this.containerRect().width;
14080
14089
  const aiFrozenColumnCountFn = this.aiFrozenColumnCountFn();
@@ -14082,17 +14091,17 @@ class AITableGrid extends AITableGridBase {
14082
14091
  return aiFrozenColumnCountFn(containerWidth);
14083
14092
  }
14084
14093
  return AI_TABLE_MIN_FROZEN_COLUMN_COUNT;
14085
- }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
14086
- this.showExpandIcon = computed(() => !!this.aiRecordDetailConfig()?.showExpandIcon, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : []));
14094
+ }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : /* istanbul ignore next */ []));
14095
+ this.showExpandIcon = computed(() => !!this.aiRecordDetailConfig()?.showExpandIcon, ...(ngDevMode ? [{ debugName: "showExpandIcon" }] : /* istanbul ignore next */ []));
14087
14096
  this.hasContainerRect = computed(() => {
14088
14097
  return this.containerRect().width > 0 && this.containerRect().height > 0;
14089
- }, ...(ngDevMode ? [{ debugName: "hasContainerRect" }] : []));
14090
- this.container = viewChild('container', ...(ngDevMode ? [{ debugName: "container" }] : []));
14091
- this.verticalBarRef = viewChild('verticalBar', ...(ngDevMode ? [{ debugName: "verticalBarRef" }] : []));
14092
- this.horizontalBarRef = viewChild('horizontalBar', ...(ngDevMode ? [{ debugName: "horizontalBarRef" }] : []));
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 */ []));
14093
14102
  this.linearRows = computed(() => {
14094
14103
  return buildGridLinearRows(this.gridData().records, !this.aiReadonly(), this.aiTable, this.aiBuildGroupLinearRowsFn?.());
14095
- }, ...(ngDevMode ? [{ debugName: "linearRows" }] : []));
14104
+ }, ...(ngDevMode ? [{ debugName: "linearRows" }] : /* istanbul ignore next */ []));
14096
14105
  this.domToolTips = computed(() => {
14097
14106
  const scrollTop = this.aiTable.context.scrollState().scrollTop;
14098
14107
  const rowIndices = this.toolTipRowIndices();
@@ -14105,7 +14114,7 @@ class AITableGrid extends AITableGridBase {
14105
14114
  tooltip
14106
14115
  };
14107
14116
  });
14108
- }, ...(ngDevMode ? [{ debugName: "domToolTips" }] : []));
14117
+ }, ...(ngDevMode ? [{ debugName: "domToolTips" }] : /* istanbul ignore next */ []));
14109
14118
  this.toolTipRowIndices = computed(() => {
14110
14119
  const hiddenRows = this.aiTable.recordsWillHidden() || [];
14111
14120
  const moveRows = this.aiTable.recordsWillMove() || [];
@@ -14122,11 +14131,11 @@ class AITableGrid extends AITableGridBase {
14122
14131
  });
14123
14132
  });
14124
14133
  return toolTipRowIndices;
14125
- }, ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : []));
14134
+ }, ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : /* istanbul ignore next */ []));
14126
14135
  this.visibleColumnsIndexMap = computed(() => {
14127
14136
  const columns = AITable.getVisibleFields(this.aiTable);
14128
14137
  return new Map(columns?.map((item, index) => [item._id, index]));
14129
- }, ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : []));
14138
+ }, ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : /* istanbul ignore next */ []));
14130
14139
  this.fieldOptions = computed(() => {
14131
14140
  let allFieldOptions = getDefaultFieldOptions().map((fieldOption) => {
14132
14141
  const name = getI18nTextByKey(this.aiTable, fieldOption.name);
@@ -14142,16 +14151,16 @@ class AITableGrid extends AITableGridBase {
14142
14151
  allFieldOptions = filterFieldOptions(allFieldOptions);
14143
14152
  }
14144
14153
  return allFieldOptions;
14145
- }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : []));
14154
+ }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : /* istanbul ignore next */ []));
14146
14155
  this.fieldOptionMap = computed(() => {
14147
14156
  return new Map(this.fieldOptions().map((fieldOption) => [fieldOption.type, fieldOption]));
14148
- }, ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : []));
14157
+ }, ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : /* istanbul ignore next */ []));
14149
14158
  this.visibleRowsIndexMap = computed(() => {
14150
14159
  return new Map(this.linearRows().map((row, index) => [row._id, index]));
14151
- }, ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : []));
14160
+ }, ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : /* istanbul ignore next */ []));
14152
14161
  this.containerElement = computed(() => {
14153
14162
  return this.container().nativeElement;
14154
- }, ...(ngDevMode ? [{ debugName: "containerElement" }] : []));
14163
+ }, ...(ngDevMode ? [{ debugName: "containerElement" }] : /* istanbul ignore next */ []));
14155
14164
  this.trackBy = (index, item) => {
14156
14165
  return item.sort_by ?? index;
14157
14166
  };
@@ -14183,25 +14192,25 @@ class AITableGrid extends AITableGridBase {
14183
14192
  maxRecords: this.aiMaxRecords(),
14184
14193
  maxSelectOptions: this.aiMaxSelectOptions()
14185
14194
  };
14186
- }, ...(ngDevMode ? [{ debugName: "rendererConfig" }] : []));
14195
+ }, ...(ngDevMode ? [{ debugName: "rendererConfig" }] : /* istanbul ignore next */ []));
14187
14196
  this.coordinate = computed(() => {
14188
14197
  return this.rendererConfig().coordinate;
14189
- }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
14198
+ }, ...(ngDevMode ? [{ debugName: "coordinate" }] : /* istanbul ignore next */ []));
14190
14199
  this.scrollState = computed(() => {
14191
14200
  return this.aiTable.context.scrollState();
14192
- }, ...(ngDevMode ? [{ debugName: "scrollState" }] : []));
14201
+ }, ...(ngDevMode ? [{ debugName: "scrollState" }] : /* istanbul ignore next */ []));
14193
14202
  this.scrollTotalHeight = computed(() => {
14194
14203
  return Math.max(this.coordinate().totalHeight, this.containerRect().height - this.fieldHeadHeight);
14195
- }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : []));
14204
+ }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : /* istanbul ignore next */ []));
14196
14205
  this.scrollbarWidth = computed(() => {
14197
14206
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
14198
- }, ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : []));
14207
+ }, ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : /* istanbul ignore next */ []));
14199
14208
  this.i18nTexts = computed(() => {
14200
14209
  this.aiGetI18nTextByKey();
14201
14210
  return {
14202
14211
  rowAddFilterTooltip: getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip)
14203
14212
  };
14204
- }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
14213
+ }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : /* istanbul ignore next */ []));
14205
14214
  // rowAddFilterTooltip = getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip);
14206
14215
  this.rowIndicesMap = computed(() => {
14207
14216
  const rowIndicesMap = {};
@@ -14214,7 +14223,7 @@ class AITableGrid extends AITableGridBase {
14214
14223
  }
14215
14224
  });
14216
14225
  return rowIndicesMap;
14217
- }, ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : []));
14226
+ }, ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : /* istanbul ignore next */ []));
14218
14227
  this.actions = {
14219
14228
  updateFieldValues: (data) => {
14220
14229
  this.aiUpdateFieldValues.emit(data);
@@ -15165,10 +15174,10 @@ class AITableGrid extends AITableGridBase {
15165
15174
  }
15166
15175
  });
15167
15176
  }
15168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n >\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 }); }
15177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15178
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", 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 }); }
15170
15179
  }
15171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AITableGrid, decorators: [{
15180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: AITableGrid, decorators: [{
15172
15181
  type: Component,
15173
15182
  args: [{ selector: 'ai-table-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
15174
15183
  class: 'ai-table-grid'