@ai-table/grid 0.0.56 → 0.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  2. package/components/cell-editors/cell-editor.scss +0 -1
  3. package/components/index.d.ts +0 -1
  4. package/components/index.d.ts.map +1 -1
  5. package/constants/editor.d.ts.map +1 -1
  6. package/constants/grid.d.ts +0 -1
  7. package/constants/grid.d.ts.map +1 -1
  8. package/constants/table.d.ts +3 -1
  9. package/constants/table.d.ts.map +1 -1
  10. package/core/types/core.d.ts +13 -13
  11. package/core/types/core.d.ts.map +1 -1
  12. package/dom-grid.component.d.ts.map +1 -1
  13. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +2 -4
  14. package/esm2022/components/cell-editors/date/date-editor.component.mjs +5 -5
  15. package/esm2022/components/index.mjs +1 -2
  16. package/esm2022/constants/editor.mjs +3 -4
  17. package/esm2022/constants/grid.mjs +1 -2
  18. package/esm2022/constants/table.mjs +4 -2
  19. package/esm2022/core/constants/field.mjs +2 -2
  20. package/esm2022/core/types/core.mjs +1 -1
  21. package/esm2022/dom-grid.component.mjs +2 -4
  22. package/esm2022/grid-base.component.mjs +5 -28
  23. package/esm2022/grid.component.mjs +17 -52
  24. package/esm2022/renderer/components/cells/attachment.component.mjs +9 -19
  25. package/esm2022/renderer/components/cells/index.mjs +3 -2
  26. package/esm2022/renderer/components/cells/link.component.mjs +3 -5
  27. package/esm2022/renderer/components/cells/progress.component.mjs +268 -0
  28. package/esm2022/renderer/components/cells/rich-text.component.mjs +90 -0
  29. package/esm2022/renderer/drawers/cell-drawer.mjs +3 -3
  30. package/esm2022/utils/cell.mjs +3 -3
  31. package/esm2022/utils/clipboard/copy.mjs +11 -5
  32. package/esm2022/utils/clipboard/paste.mjs +1 -4
  33. package/esm2022/utils/field/model/attachment.mjs +8 -1
  34. package/esm2022/utils/field/model/date.mjs +13 -3
  35. package/esm2022/utils/field/model/field.mjs +1 -2
  36. package/esm2022/utils/field/model/link.mjs +16 -4
  37. package/esm2022/utils/field/model/member.mjs +1 -1
  38. package/esm2022/utils/field/model/number.mjs +11 -8
  39. package/esm2022/utils/field/model/progress.mjs +7 -7
  40. package/esm2022/utils/field/model/rate.mjs +3 -2
  41. package/esm2022/utils/field/model/rich-text.mjs +1 -1
  42. package/esm2022/utils/field/model/select.mjs +1 -1
  43. package/esm2022/utils/field/model/text.mjs +3 -2
  44. package/esm2022/utils/field/operate.mjs +4 -2
  45. package/esm2022/utils/i18n.mjs +3 -3
  46. package/esm2022/utils/index.mjs +2 -1
  47. package/esm2022/utils/match-keywords.mjs +9 -4
  48. package/fesm2022/ai-table-grid.mjs +836 -675
  49. package/fesm2022/ai-table-grid.mjs.map +1 -1
  50. package/grid-base.component.d.ts +2 -3
  51. package/grid-base.component.d.ts.map +1 -1
  52. package/grid.component.d.ts +1 -1
  53. package/grid.component.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/renderer/components/cells/attachment.component.d.ts +0 -3
  56. package/renderer/components/cells/attachment.component.d.ts.map +1 -1
  57. package/renderer/components/cells/index.d.ts +2 -1
  58. package/renderer/components/cells/index.d.ts.map +1 -1
  59. package/renderer/components/cells/link.component.d.ts.map +1 -1
  60. package/renderer/components/cells/progress.component.d.ts +82 -0
  61. package/renderer/components/cells/progress.component.d.ts.map +1 -0
  62. package/renderer/components/cells/{richtext.component.d.ts → rich-text.component.d.ts} +4 -4
  63. package/renderer/components/cells/rich-text.component.d.ts.map +1 -0
  64. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  65. package/utils/clipboard/paste.d.ts.map +1 -1
  66. package/utils/field/model/attachment.d.ts.map +1 -1
  67. package/utils/field/model/date.d.ts +1 -0
  68. package/utils/field/model/date.d.ts.map +1 -1
  69. package/utils/field/model/field.d.ts.map +1 -1
  70. package/utils/field/model/link.d.ts +3 -2
  71. package/utils/field/model/link.d.ts.map +1 -1
  72. package/utils/field/model/member.d.ts +1 -1
  73. package/utils/field/model/member.d.ts.map +1 -1
  74. package/utils/field/model/number.d.ts +5 -4
  75. package/utils/field/model/number.d.ts.map +1 -1
  76. package/utils/field/model/progress.d.ts +4 -4
  77. package/utils/field/model/progress.d.ts.map +1 -1
  78. package/utils/field/model/rate.d.ts +2 -2
  79. package/utils/field/model/rate.d.ts.map +1 -1
  80. package/utils/field/model/rich-text.d.ts +3 -3
  81. package/utils/field/model/rich-text.d.ts.map +1 -1
  82. package/utils/field/model/select.d.ts +1 -1
  83. package/utils/field/model/select.d.ts.map +1 -1
  84. package/utils/field/model/text.d.ts +3 -3
  85. package/utils/field/model/text.d.ts.map +1 -1
  86. package/utils/field/operate.d.ts +1 -1
  87. package/utils/field/operate.d.ts.map +1 -1
  88. package/utils/i18n.d.ts +1 -1
  89. package/utils/index.d.ts +1 -0
  90. package/utils/index.d.ts.map +1 -1
  91. package/utils/match-keywords.d.ts.map +1 -1
  92. package/components/cell-editors/progress/progress-editor.component.d.ts +0 -19
  93. package/components/cell-editors/progress/progress-editor.component.d.ts.map +0 -1
  94. package/components/cell-editors/progress/progress-editor.component.scss +0 -29
  95. package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +0 -72
  96. package/esm2022/renderer/components/cells/richtext.component.mjs +0 -90
  97. package/renderer/components/cells/richtext.component.d.ts.map +0 -1
@@ -1,7 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { KoShape } from '../../../angular-konva/components/shape.component';
3
2
  import { AI_TABLE_CELL_PADDING, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, Colors } from '../../../constants';
4
- import { KoContainer } from '../../../angular-konva/components/container.component';
5
3
  import { getMousePosition, handleMouseStyle } from '../../../utils';
6
4
  import { AITableText } from '../text.component';
7
5
  import { AITable, AITableFieldType } from '../../../core';
@@ -17,7 +15,7 @@ export class AITableCellLink {
17
15
  this.textConfig = computed(() => {
18
16
  const render = this.config()?.render;
19
17
  if (render) {
20
- const { x, y, transformValue, field, columnWidth, rowHeight, style, zIndex } = render;
18
+ const { x, y, transformValue, columnWidth, rowHeight, style, zIndex } = render;
21
19
  let textRender = transformValue.text;
22
20
  if (textRender == null) {
23
21
  return;
@@ -84,8 +82,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
82
  }
85
83
  `,
86
84
  standalone: true,
87
- imports: [KoContainer, KoShape, AITableText],
85
+ imports: [AITableText],
88
86
  changeDetection: ChangeDetectionStrategy.OnPush
89
87
  }]
90
88
  }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2xpbmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlDQUFpQyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLGdCQUFnQixFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWM5QyxNQUFNLE9BQU8sZUFBZTtJQVg1QjtRQWNJLFdBQU0sR0FBRyxLQUFLLEVBQXNDLENBQUM7UUFFckQsZUFBVSxHQUFHLHFCQUFxQixHQUFHLGlDQUFpQyxDQUFDO1FBRXZFLFdBQU0sR0FBRyxRQUFRLENBQTRCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUxRSxtQkFBYyxHQUFHLFFBQVEsQ0FBZ0MsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTlGLGFBQVEsR0FBRyxRQUFRLENBQVUsR0FB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QUFVLENBQUMsQ0FBQztRQUM5SCxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7K0dBbEVRLGVBQWU7bUdBQWYsZUFBZSxnTkFUZDs7OztLQUlULDREQUUrQixXQUFXOzs0RkFHbEMsZUFBZTtrQkFYM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtvU2hhcGUgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyLWtvbnZhL2NvbXBvbmVudHMvc2hhcGUuY29tcG9uZW50JztcbmltcG9ydCB7IEFJX1RBQkxFX0NFTExfUEFERElORywgQUlfVEFCTEVfRklFTERfSEVBRF9JQ09OX0dBUF9TSVpFLCBBSV9UQUJMRV9GSUVMRF9IRUFEX01PUkUsIENvbG9ycyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLb0NvbnRhaW5lciB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIta29udmEvY29tcG9uZW50cy9jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldE1vdXNlUG9zaXRpb24sIGdldFRleHRXaWR0aCwgaGFuZGxlTW91c2VTdHlsZSwgVGV4dE1lYXN1cmUgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBSVRhYmxlVGV4dCB9IGZyb20gJy4uL3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEFJVGFibGVIb3ZlckNlbGxDb25maWcsIEFJVGFibGVSZW5kZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBLb0V2ZW50T2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBUZXh0Q29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IGRyYXdlciB9IGZyb20gJy4uLy4uL2RyYXdlcnMvZHJhd2VyJztcbmltcG9ydCB7IEhvdmVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWxpbmsnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoc2hvd0xpbmsoKSkge1xuICAgICAgICAgICAgPGFpLXRhYmxlLXRleHQgW2NvbmZpZ109XCJ0ZXh0Q29uZmlnKCkhXCIgKGtvQ2xpY2spPVwibGlua0NsaWNrKCRldmVudClcIiAoa29Nb3VzZU1vdmUpPVwibGlua01vdXNlTW92ZSgkZXZlbnQpXCI+PC9haS10YWJsZS10ZXh0PlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb0NvbnRhaW5lciwgS29TaGFwZSwgQUlUYWJsZVRleHRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVDZWxsTGluayBpbXBsZW1lbnRzIEhvdmVyQ2VsbENvbXBvbmVudCB7XG4gICAgc3RhdGljIGZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUubGluaztcblxuICAgIGNvbmZpZyA9IGlucHV0PEFJVGFibGVIb3ZlckNlbGxDb25maWcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICB0ZXh0T2Zmc2V0ID0gQUlfVEFCTEVfQ0VMTF9QQURESU5HICsgQUlfVEFCTEVfRklFTERfSEVBRF9JQ09OX0dBUF9TSVpFO1xuXG4gICAgcmVuZGVyID0gY29tcHV0ZWQ8QUlUYWJsZVJlbmRlciB8IHVuZGVmaW5lZD4oKCkgPT4gdGhpcy5jb25maWcoKT8ucmVuZGVyKTtcblxuICAgIHRyYW5zZm9ybVZhbHVlID0gY29tcHV0ZWQ8eyB0ZXh0OiBzdHJpbmc7IHVybDogc3RyaW5nIH0+KCgpID0+IHRoaXMucmVuZGVyKCk/LnRyYW5zZm9ybVZhbHVlKTtcblxuICAgIHNob3dMaW5rID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4gISF0aGlzLnRyYW5zZm9ybVZhbHVlKCk/LnRleHQpO1xuXG4gICAgdGV4dENvbmZpZyA9IGNvbXB1dGVkPFRleHRDb25maWcgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVuZGVyID0gdGhpcy5jb25maWcoKT8ucmVuZGVyO1xuICAgICAgICBpZiAocmVuZGVyKSB7XG4gICAgICAgICAgICBjb25zdCB7IHgsIHksIHRyYW5zZm9ybVZhbHVlLCBmaWVsZCwgY29sdW1uV2lkdGgsIHJvd0hlaWdodCwgc3R5bGUsIHpJbmRleCB9ID0gcmVuZGVyO1xuICAgICAgICAgICAgbGV0IHRleHRSZW5kZXI6IHN0cmluZyB8IG51bGwgPSB0cmFuc2Zvcm1WYWx1ZS50ZXh0O1xuICAgICAgICAgICAgaWYgKHRleHRSZW5kZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGV4dFJlbmRlciA9IHRleHRSZW5kZXIucmVwbGFjZSgvXFxyfFxcbi9nLCAnICcpO1xuICAgICAgICAgICAgY29uc3QgZm9udFdlaWdodCA9IHN0eWxlPy5mb250V2VpZ2h0O1xuICAgICAgICAgICAgY29uc3QgdGV4dE1heFdpZHRoID0gY29sdW1uV2lkdGggLSAyICogQUlfVEFCTEVfQ0VMTF9QQURESU5HO1xuICAgICAgICAgICAgY29uc3QgeyB0ZXh0LCB0ZXh0V2lkdGggfSA9IGRyYXdlci50ZXh0RWxsaXBzaXMoe1xuICAgICAgICAgICAgICAgIHRleHQ6IHRleHRSZW5kZXIsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IHRleHRNYXhXaWR0aCxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgIHksXG4gICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICB3cmFwOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRleHRXaWR0aCxcbiAgICAgICAgICAgICAgICBmaWxsU3R5bGU6IENvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgIGZpbGw6IENvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgIGhlaWdodDogcm93SGVpZ2h0ICsgMixcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAxLjg0LFxuICAgICAgICAgICAgICAgIGxpc3RlbmluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbGxpcHNpczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgekluZGV4XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9KTtcblxuICAgIGxpbmtDbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGUuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy50cmFuc2Zvcm1WYWx1ZSgpLnVybCwgJ19ibGFuaycsICdub29wZW5lcixub3JlZmVycmVyJyk7XG4gICAgfVxuXG4gICAgbGlua01vdXNlTW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGUuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgdGFyZ2V0TmFtZSA9IGUuZXZlbnQudGFyZ2V0Lm5hbWUoKTtcbiAgICAgICAgY29uc3QgZ3JpZFN0YWdlID0gZS5ldmVudC5jdXJyZW50VGFyZ2V0LmdldFN0YWdlKCk7XG4gICAgICAgIGNvbnN0IHBvcyA9IGdyaWRTdGFnZT8uZ2V0UG9pbnRlclBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChwb3MgPT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICBjb25zdCB7IGNvbnRleHQgfSA9IGFpVGFibGU7XG4gICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcG9zO1xuICAgICAgICBjb25zdCBjdXJNb3VzZVBvc2l0aW9uID0gZ2V0TW91c2VQb3NpdGlvbihhaVRhYmxlLCB4LCB5LCBjb29yZGluYXRlLCBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSksIGNvbnRleHQhLCB0YXJnZXROYW1lKTtcbiAgICAgICAgaGFuZGxlTW91c2VTdHlsZShBSV9UQUJMRV9GSUVMRF9IRUFEX01PUkUsIGN1ck1vdXNlUG9zaXRpb24uYXJlYVR5cGUsIGNvb3JkaW5hdGUuY29udGFpbmVyKTtcbiAgICB9XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2xpbmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUNBQWlDLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWM5QyxNQUFNLE9BQU8sZUFBZTtJQVg1QjtRQWNJLFdBQU0sR0FBRyxLQUFLLEVBQXNDLENBQUM7UUFFckQsZUFBVSxHQUFHLHFCQUFxQixHQUFHLGlDQUFpQyxDQUFDO1FBRXZFLFdBQU0sR0FBRyxRQUFRLENBQTRCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUxRSxtQkFBYyxHQUFHLFFBQVEsQ0FBZ0MsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTlGLGFBQVEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsRSxlQUFVLEdBQUcsUUFBUSxDQUF5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Q0FBQzsrR0FsRVEsZUFBZTttR0FBZixlQUFlLGdOQVRkOzs7O0tBSVQsNERBRVMsV0FBVzs7NEZBR1osZUFBZTtrQkFYM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSV9UQUJMRV9DRUxMX1BBRERJTkcsIEFJX1RBQkxFX0ZJRUxEX0hFQURfSUNPTl9HQVBfU0laRSwgQUlfVEFCTEVfRklFTERfSEVBRF9NT1JFLCBDb2xvcnMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0TW91c2VQb3NpdGlvbiwgaGFuZGxlTW91c2VTdHlsZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGVUZXh0IH0gZnJvbSAnLi4vdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQUlUYWJsZUhvdmVyQ2VsbENvbmZpZywgQUlUYWJsZVJlbmRlciB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEtvRXZlbnRPYmplY3QgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IFRleHRDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1RleHQnO1xuaW1wb3J0IHsgZHJhd2VyIH0gZnJvbSAnLi4vLi4vZHJhd2Vycy9kcmF3ZXInO1xuaW1wb3J0IHsgSG92ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtbGluaycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGlmIChzaG93TGluaygpKSB7XG4gICAgICAgICAgICA8YWktdGFibGUtdGV4dCBbY29uZmlnXT1cInRleHRDb25maWcoKSFcIiAoa29DbGljayk9XCJsaW5rQ2xpY2soJGV2ZW50KVwiIChrb01vdXNlTW92ZSk9XCJsaW5rTW91c2VNb3ZlKCRldmVudClcIj48L2FpLXRhYmxlLXRleHQ+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FJVGFibGVUZXh0XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlQ2VsbExpbmsgaW1wbGVtZW50cyBIb3ZlckNlbGxDb21wb25lbnQge1xuICAgIHN0YXRpYyBmaWVsZFR5cGUgPSBBSVRhYmxlRmllbGRUeXBlLmxpbms7XG5cbiAgICBjb25maWcgPSBpbnB1dDxBSVRhYmxlSG92ZXJDZWxsQ29uZmlnIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgdGV4dE9mZnNldCA9IEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX0ZJRUxEX0hFQURfSUNPTl9HQVBfU0laRTtcblxuICAgIHJlbmRlciA9IGNvbXB1dGVkPEFJVGFibGVSZW5kZXIgfCB1bmRlZmluZWQ+KCgpID0+IHRoaXMuY29uZmlnKCk/LnJlbmRlcik7XG5cbiAgICB0cmFuc2Zvcm1WYWx1ZSA9IGNvbXB1dGVkPHsgdGV4dDogc3RyaW5nOyB1cmw6IHN0cmluZyB9PigoKSA9PiB0aGlzLnJlbmRlcigpPy50cmFuc2Zvcm1WYWx1ZSk7XG5cbiAgICBzaG93TGluayA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+ICEhdGhpcy50cmFuc2Zvcm1WYWx1ZSgpPy50ZXh0KTtcblxuICAgIHRleHRDb25maWcgPSBjb21wdXRlZDxUZXh0Q29uZmlnIHwgdW5kZWZpbmVkPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbmRlciA9IHRoaXMuY29uZmlnKCk/LnJlbmRlcjtcbiAgICAgICAgaWYgKHJlbmRlcikge1xuICAgICAgICAgICAgY29uc3QgeyB4LCB5LCB0cmFuc2Zvcm1WYWx1ZSwgY29sdW1uV2lkdGgsIHJvd0hlaWdodCwgc3R5bGUsIHpJbmRleCB9ID0gcmVuZGVyO1xuICAgICAgICAgICAgbGV0IHRleHRSZW5kZXI6IHN0cmluZyB8IG51bGwgPSB0cmFuc2Zvcm1WYWx1ZS50ZXh0O1xuICAgICAgICAgICAgaWYgKHRleHRSZW5kZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGV4dFJlbmRlciA9IHRleHRSZW5kZXIucmVwbGFjZSgvXFxyfFxcbi9nLCAnICcpO1xuICAgICAgICAgICAgY29uc3QgZm9udFdlaWdodCA9IHN0eWxlPy5mb250V2VpZ2h0O1xuICAgICAgICAgICAgY29uc3QgdGV4dE1heFdpZHRoID0gY29sdW1uV2lkdGggLSAyICogQUlfVEFCTEVfQ0VMTF9QQURESU5HO1xuICAgICAgICAgICAgY29uc3QgeyB0ZXh0LCB0ZXh0V2lkdGggfSA9IGRyYXdlci50ZXh0RWxsaXBzaXMoe1xuICAgICAgICAgICAgICAgIHRleHQ6IHRleHRSZW5kZXIsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IHRleHRNYXhXaWR0aCxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgIHksXG4gICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICB3cmFwOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRleHRXaWR0aCxcbiAgICAgICAgICAgICAgICBmaWxsU3R5bGU6IENvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgIGZpbGw6IENvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgIGhlaWdodDogcm93SGVpZ2h0ICsgMixcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAxLjg0LFxuICAgICAgICAgICAgICAgIGxpc3RlbmluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbGxpcHNpczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgekluZGV4XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9KTtcblxuICAgIGxpbmtDbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGUuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy50cmFuc2Zvcm1WYWx1ZSgpLnVybCwgJ19ibGFuaycsICdub29wZW5lcixub3JlZmVycmVyJyk7XG4gICAgfVxuXG4gICAgbGlua01vdXNlTW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGUuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgdGFyZ2V0TmFtZSA9IGUuZXZlbnQudGFyZ2V0Lm5hbWUoKTtcbiAgICAgICAgY29uc3QgZ3JpZFN0YWdlID0gZS5ldmVudC5jdXJyZW50VGFyZ2V0LmdldFN0YWdlKCk7XG4gICAgICAgIGNvbnN0IHBvcyA9IGdyaWRTdGFnZT8uZ2V0UG9pbnRlclBvc2l0aW9uKCk7XG4gICAgICAgIGlmIChwb3MgPT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICBjb25zdCB7IGNvbnRleHQgfSA9IGFpVGFibGU7XG4gICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcG9zO1xuICAgICAgICBjb25zdCBjdXJNb3VzZVBvc2l0aW9uID0gZ2V0TW91c2VQb3NpdGlvbihhaVRhYmxlLCB4LCB5LCBjb29yZGluYXRlLCBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSksIGNvbnRleHQhLCB0YXJnZXROYW1lKTtcbiAgICAgICAgaGFuZGxlTW91c2VTdHlsZShBSV9UQUJMRV9GSUVMRF9IRUFEX01PUkUsIGN1ck1vdXNlUG9zaXRpb24uYXJlYVR5cGUsIGNvb3JkaW5hdGUuY29udGFpbmVyKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,268 @@
1
+ import { Component, computed, input, signal } from '@angular/core';
2
+ import { ChangeDetectionStrategy } from '@angular/core';
3
+ import { KoShape } from '../../../angular-konva';
4
+ import { AITableFieldType } from '../../../core';
5
+ import { generateTargetName } from '../../../utils';
6
+ import { isActiveCell } from '../../../renderer';
7
+ import { Colors, AI_TABLE_CELL_PADDING, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_OFFSET, AI_TABLE_CELL, AI_TABLE_CELL_BORDER, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_TEXT_GAP, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_TEXT_FILL } from '../../../constants';
8
+ import { isNil } from 'lodash';
9
+ import * as i0 from "@angular/core";
10
+ export class AITableCellProgress {
11
+ constructor() {
12
+ this.config = input();
13
+ this.readonly = computed(() => {
14
+ return this.config()?.readonly;
15
+ });
16
+ this.dragPointerX = signal(null);
17
+ this.railWidth = computed(() => {
18
+ const { columnWidth } = this.config().render;
19
+ return columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_WIDTH;
20
+ });
21
+ this.trackWidth = computed(() => {
22
+ return (this.progressValue() / 100) * this.railWidth();
23
+ });
24
+ this.pointerWidth = AI_TABLE_PROGRESS_BAR_POINTER_WIDTH;
25
+ this.progressOffsetY = (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_PROGRESS_BAR_HEIGHT) / 2 + AI_TABLE_OFFSET;
26
+ this.dragProgressValue = signal(null);
27
+ this.progressValue = computed(() => {
28
+ const dragValue = this.dragProgressValue();
29
+ if (dragValue !== null) {
30
+ return dragValue;
31
+ }
32
+ const { render } = this.config();
33
+ const { transformValue } = render;
34
+ if (isNil(transformValue)) {
35
+ return 0;
36
+ }
37
+ return transformValue;
38
+ });
39
+ this.whiteBgConfig = computed(() => {
40
+ const { aiTable, render, field, recordId, coordinate } = this.config();
41
+ const pointPosition = aiTable.context.pointPosition();
42
+ const { x, y } = render;
43
+ const { columnIndex } = pointPosition;
44
+ const isActive = isActiveCell([recordId, field._id], aiTable);
45
+ return {
46
+ x: x - AI_TABLE_CELL_PADDING + AI_TABLE_CELL_BORDER / 2,
47
+ y: y + AI_TABLE_CELL_BORDER + AI_TABLE_OFFSET,
48
+ width: coordinate.getColumnWidth(columnIndex) - (AI_TABLE_CELL_BORDER + AI_TABLE_OFFSET) * 2 + AI_TABLE_CELL_BORDER / 2,
49
+ height: AI_TABLE_ROW_BLANK_HEIGHT - (AI_TABLE_CELL_BORDER + AI_TABLE_OFFSET),
50
+ fill: Colors.white,
51
+ stroke: isActive ? null : Colors.white,
52
+ name: generateTargetName({
53
+ targetName: AI_TABLE_CELL,
54
+ fieldId: field._id,
55
+ recordId
56
+ })
57
+ };
58
+ });
59
+ this.railConfig = computed(() => {
60
+ const { render, field, recordId } = this.config();
61
+ const { x } = render;
62
+ return {
63
+ x,
64
+ y: this.progressOffsetY,
65
+ width: this.railWidth(),
66
+ height: AI_TABLE_PROGRESS_BAR_HEIGHT,
67
+ cornerRadius: AI_TABLE_PROGRESS_BAR_RADIUS,
68
+ fill: Colors.gray200,
69
+ name: generateTargetName({
70
+ targetName: AI_TABLE_CELL,
71
+ fieldId: field._id,
72
+ recordId,
73
+ mouseStyle: this.readonly() ? 'default' : 'pointer'
74
+ })
75
+ };
76
+ });
77
+ this.trackConfig = computed(() => {
78
+ const { render, field, recordId } = this.config();
79
+ const { x } = render;
80
+ return {
81
+ x,
82
+ y: this.progressOffsetY,
83
+ width: this.trackWidth(),
84
+ height: AI_TABLE_PROGRESS_BAR_HEIGHT,
85
+ cornerRadius: AI_TABLE_PROGRESS_BAR_RADIUS,
86
+ fill: Colors.success,
87
+ name: generateTargetName({
88
+ targetName: AI_TABLE_CELL,
89
+ fieldId: field._id,
90
+ recordId,
91
+ mouseStyle: this.readonly() ? 'default' : 'pointer'
92
+ })
93
+ };
94
+ });
95
+ this.pointerConfig = computed(() => {
96
+ const { render, field, recordId } = this.config();
97
+ const { x } = render;
98
+ const halfPointerWidth = this.pointerWidth / 2;
99
+ const pointerY = this.progressOffsetY - (AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT - AI_TABLE_PROGRESS_BAR_HEIGHT) / 2;
100
+ let pointerX;
101
+ if (this.dragPointerX() !== null) {
102
+ pointerX = this.dragPointerX() - halfPointerWidth;
103
+ }
104
+ else {
105
+ pointerX = x + this.trackWidth() - halfPointerWidth;
106
+ }
107
+ return {
108
+ x: pointerX,
109
+ y: pointerY,
110
+ width: this.pointerWidth,
111
+ height: AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT,
112
+ fill: Colors.white,
113
+ stroke: Colors.success,
114
+ strokeWidth: 1,
115
+ cornerRadius: AI_TABLE_PROGRESS_BAR_RADIUS,
116
+ opacity: this.readonly() ? 0 : 1,
117
+ draggable: !this.readonly(),
118
+ dragBoundFunc: (pos) => {
119
+ const minX = x;
120
+ const maxX = x + this.railWidth() - this.pointerWidth;
121
+ return {
122
+ x: Math.min(minX, Math.min(maxX, pos.x)),
123
+ y: pointerY
124
+ };
125
+ },
126
+ name: generateTargetName({
127
+ targetName: AI_TABLE_CELL,
128
+ fieldId: field._id,
129
+ recordId,
130
+ mouseStyle: this.readonly() ? 'default' : 'pointer'
131
+ })
132
+ };
133
+ });
134
+ this.textConfig = computed(() => {
135
+ const { render, field, recordId } = this.config();
136
+ const { x } = render;
137
+ const textX = x + this.railWidth() + AI_TABLE_TEXT_GAP;
138
+ const textY = (AI_TABLE_ROW_BLANK_HEIGHT - DEFAULT_FONT_SIZE) / 2 + AI_TABLE_OFFSET;
139
+ return {
140
+ x: textX,
141
+ y: textY,
142
+ text: `${this.progressValue()}%`,
143
+ fill: DEFAULT_TEXT_FILL,
144
+ fontFamily: DEFAULT_FONT_FAMILY,
145
+ fontSize: DEFAULT_FONT_SIZE,
146
+ name: generateTargetName({
147
+ targetName: AI_TABLE_CELL,
148
+ fieldId: field._id,
149
+ recordId
150
+ })
151
+ };
152
+ });
153
+ }
154
+ static { this.fieldType = AITableFieldType.progress; }
155
+ calculatePercentage(clickX) {
156
+ return Math.max(0, Math.min(100, Math.round((clickX / this.railWidth()) * 100)));
157
+ }
158
+ koClick(e) {
159
+ if (this.readonly()) {
160
+ return;
161
+ }
162
+ this.updateProgressValue(e);
163
+ }
164
+ pointerDragstart(e) {
165
+ if (this.readonly()) {
166
+ return;
167
+ }
168
+ }
169
+ pointerDragmove(e) {
170
+ if (this.readonly()) {
171
+ return;
172
+ }
173
+ const { render, aiTable, coordinate } = this.config();
174
+ const { x } = render;
175
+ const { scrollLeft } = aiTable.context.scrollState();
176
+ const pointPosition = aiTable.context.pointPosition();
177
+ const { columnIndex } = pointPosition;
178
+ const columnLeftX = coordinate.getColumnOffset(columnIndex) - scrollLeft + AI_TABLE_OFFSET;
179
+ const stage = e.event.target.getStage();
180
+ if (!stage)
181
+ return;
182
+ const point = stage.getPointerPosition();
183
+ if (!point)
184
+ return;
185
+ const dragX = point.x - columnLeftX - x;
186
+ const minX = x;
187
+ const maxX = x + this.railWidth();
188
+ let dragPointerX = point.x - columnLeftX;
189
+ if (dragPointerX < minX) {
190
+ dragPointerX = minX;
191
+ }
192
+ else if (dragPointerX > maxX) {
193
+ dragPointerX = maxX;
194
+ }
195
+ this.dragPointerX.set(dragPointerX);
196
+ const percentage = this.calculatePercentage(dragX);
197
+ this.dragProgressValue.set(percentage);
198
+ }
199
+ pointerDragend(e) {
200
+ if (this.readonly()) {
201
+ return;
202
+ }
203
+ this.updateProgressValue(e);
204
+ this.dragPointerX.set(null);
205
+ this.dragProgressValue.set(null);
206
+ }
207
+ updateProgressValue(e) {
208
+ const { render, aiTable, coordinate, actions, field, recordId } = this.config();
209
+ const { x } = render;
210
+ const { scrollLeft } = aiTable.context.scrollState();
211
+ const pointPosition = aiTable.context.pointPosition();
212
+ const { columnIndex } = pointPosition;
213
+ const columnLeftX = coordinate.getColumnOffset(columnIndex) - scrollLeft + AI_TABLE_OFFSET;
214
+ const stage = e.event.target.getStage();
215
+ if (!stage)
216
+ return;
217
+ const point = stage.getPointerPosition();
218
+ if (!point)
219
+ return;
220
+ const dragX = point.x - columnLeftX - x;
221
+ const percentage = this.calculatePercentage(dragX);
222
+ if (!this.readonly() && actions && actions.updateFieldValue) {
223
+ actions.updateFieldValue({
224
+ value: percentage,
225
+ path: [recordId, field._id]
226
+ });
227
+ }
228
+ }
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableCellProgress, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
231
+ @if (!readonly()) {
232
+ <ko-rect [config]="whiteBgConfig()"></ko-rect>
233
+ }
234
+ <ko-rect [config]="railConfig()" (koClick)="koClick($event)"></ko-rect>
235
+ <ko-rect [config]="trackConfig()" (koClick)="koClick($event)"></ko-rect>
236
+ <ko-rect
237
+ [config]="pointerConfig()"
238
+ (koDragstart)="pointerDragstart($event)"
239
+ (koDragmove)="pointerDragmove($event)"
240
+ (koDragend)="pointerDragend($event)"
241
+ ></ko-rect>
242
+ <ko-text [config]="textConfig()"></ko-text>
243
+ `, 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 }); }
244
+ }
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableCellProgress, decorators: [{
246
+ type: Component,
247
+ args: [{
248
+ selector: 'ai-table-progress',
249
+ template: `
250
+ @if (!readonly()) {
251
+ <ko-rect [config]="whiteBgConfig()"></ko-rect>
252
+ }
253
+ <ko-rect [config]="railConfig()" (koClick)="koClick($event)"></ko-rect>
254
+ <ko-rect [config]="trackConfig()" (koClick)="koClick($event)"></ko-rect>
255
+ <ko-rect
256
+ [config]="pointerConfig()"
257
+ (koDragstart)="pointerDragstart($event)"
258
+ (koDragmove)="pointerDragmove($event)"
259
+ (koDragend)="pointerDragend($event)"
260
+ ></ko-rect>
261
+ <ko-text [config]="textConfig()"></ko-text>
262
+ `,
263
+ standalone: true,
264
+ imports: [KoShape],
265
+ changeDetection: ChangeDetectionStrategy.OnPush
266
+ }]
267
+ }] });
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9jZWxscy9wcm9ncmVzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxNQUFNLEVBQ04scUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNwQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBc0IvQixNQUFNLE9BQU8sbUJBQW1CO0lBcEJoQztRQXVCSSxXQUFNLEdBQUcsS0FBSyxFQUEwQixDQUFDO1FBRXpDLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVL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SztZQUFFLE9BQU87UUFFbkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsQ0FBQyxRQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUMvQixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzsrR0F6UFEsbUJBQW1CO21HQUFuQixtQkFBbUIsb05BbEJsQjs7Ozs7Ozs7Ozs7OztLQWFULDREQUVTLE9BQU87OzRGQUdSLG1CQUFtQjtrQkFwQi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0tBYVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtvU2hhcGUsIEtvRXZlbnRPYmplY3QgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEhvdmVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUhvdmVyQ2VsbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGdlbmVyYXRlVGFyZ2V0TmFtZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGlzQWN0aXZlQ2VsbCB9IGZyb20gJy4uLy4uLy4uL3JlbmRlcmVyJztcbmltcG9ydCB7XG4gICAgQ29sb3JzLFxuICAgIEFJX1RBQkxFX0NFTExfUEFERElORyxcbiAgICBBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hULFxuICAgIEFJX1RBQkxFX09GRlNFVCxcbiAgICBBSV9UQUJMRV9DRUxMLFxuICAgIEFJX1RBQkxFX0NFTExfQk9SREVSLFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQsXG4gICAgQUlfVEFCTEVfUFJPR1JFU1NfVEVYVF9XSURUSCxcbiAgICBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTLFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9QT0lOVEVSX1dJRFRILFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9QT0lOVEVSX0hFSUdIVCxcbiAgICBBSV9UQUJMRV9URVhUX0dBUCxcbiAgICBERUZBVUxUX0ZPTlRfRkFNSUxZLFxuICAgIERFRkFVTFRfRk9OVF9TSVpFLFxuICAgIERFRkFVTFRfVEVYVF9GSUxMXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtcHJvZ3Jlc3MnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoIXJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwid2hpdGVCZ0NvbmZpZygpXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgICAgIDxrby1yZWN0IFtjb25maWddPVwicmFpbENvbmZpZygpXCIgKGtvQ2xpY2spPVwia29DbGljaygkZXZlbnQpXCI+PC9rby1yZWN0PlxuICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cInRyYWNrQ29uZmlnKClcIiAoa29DbGljayk9XCJrb0NsaWNrKCRldmVudClcIj48L2tvLXJlY3Q+XG4gICAgICAgIDxrby1yZWN0XG4gICAgICAgICAgICBbY29uZmlnXT1cInBvaW50ZXJDb25maWcoKVwiXG4gICAgICAgICAgICAoa29EcmFnc3RhcnQpPVwicG9pbnRlckRyYWdzdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrb0RyYWdtb3ZlKT1cInBvaW50ZXJEcmFnbW92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrb0RyYWdlbmQpPVwicG9pbnRlckRyYWdlbmQoJGV2ZW50KVwiXG4gICAgICAgID48L2tvLXJlY3Q+XG4gICAgICAgIDxrby10ZXh0IFtjb25maWddPVwidGV4dENvbmZpZygpXCI+PC9rby10ZXh0PlxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZUNlbGxQcm9ncmVzcyBpbXBsZW1lbnRzIEhvdmVyQ2VsbENvbXBvbmVudCB7XG4gICAgc3RhdGljIGZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3M7XG5cbiAgICBjb25maWcgPSBpbnB1dDxBSVRhYmxlSG92ZXJDZWxsQ29uZmlnPigpO1xuXG4gICAgcmVhZG9ubHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpPy5yZWFkb25seTtcbiAgICB9KTtcblxuICAgIHByaXZhdGUgZHJhZ1BvaW50ZXJYID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gICAgcHJpdmF0ZSByYWlsV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uV2lkdGggfSA9IHRoaXMuY29uZmlnKCkhLnJlbmRlcjtcbiAgICAgICAgcmV0dXJuIGNvbHVtbldpZHRoIC0gMiAqIEFJX1RBQkxFX0NFTExfUEFERElORyAtIEFJX1RBQkxFX1BST0dSRVNTX1RFWFRfV0lEVEg7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHRyYWNrV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAodGhpcy5wcm9ncmVzc1ZhbHVlKCkgLyAxMDApICogdGhpcy5yYWlsV2lkdGgoKTtcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcG9pbnRlcldpZHRoID0gQUlfVEFCTEVfUFJPR1JFU1NfQkFSX1BPSU5URVJfV0lEVEg7XG5cbiAgICBwcml2YXRlIHByb2dyZXNzT2Zmc2V0WSA9IChBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gQUlfVEFCTEVfUFJPR1JFU1NfQkFSX0hFSUdIVCkgLyAyICsgQUlfVEFCTEVfT0ZGU0VUO1xuXG4gICAgcHJpdmF0ZSBkcmFnUHJvZ3Jlc3NWYWx1ZSA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIHByaXZhdGUgcHJvZ3Jlc3NWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZHJhZ1ZhbHVlID0gdGhpcy5kcmFnUHJvZ3Jlc3NWYWx1ZSgpO1xuICAgICAgICBpZiAoZHJhZ1ZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZHJhZ1ZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyByZW5kZXIgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHRyYW5zZm9ybVZhbHVlIH0gPSByZW5kZXI7XG4gICAgICAgIGlmIChpc05pbCh0cmFuc2Zvcm1WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1WYWx1ZTtcbiAgICB9KTtcblxuICAgIHdoaXRlQmdDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgYWlUYWJsZSwgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQsIGNvb3JkaW5hdGUgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcmVuZGVyO1xuICAgICAgICBjb25zdCB7IGNvbHVtbkluZGV4IH0gPSBwb2ludFBvc2l0aW9uO1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IGlzQWN0aXZlQ2VsbChbcmVjb3JkSWQhLCBmaWVsZC5faWRdLCBhaVRhYmxlKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogeCAtIEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX0NFTExfQk9SREVSIC8gMixcbiAgICAgICAgICAgIHk6IHkgKyBBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgIHdpZHRoOiBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4KSAtIChBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCkgKiAyICsgQUlfVEFCTEVfQ0VMTF9CT1JERVIgLyAyLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gKEFJX1RBQkxFX0NFTExfQk9SREVSICsgQUlfVEFCTEVfT0ZGU0VUKSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIHN0cm9rZTogaXNBY3RpdmUgPyBudWxsIDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9DRUxMLFxuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLl9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJhaWxDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHk6IHRoaXMucHJvZ3Jlc3NPZmZzZXRZLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMucmFpbFdpZHRoKCksXG4gICAgICAgICAgICBoZWlnaHQ6IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXM6IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9SQURJVVMsXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgbW91c2VTdHlsZTogdGhpcy5yZWFkb25seSgpID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdHJhY2tDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHk6IHRoaXMucHJvZ3Jlc3NPZmZzZXRZLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMudHJhY2tXaWR0aCgpLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfSEVJR0hULFxuICAgICAgICAgICAgY29ybmVyUmFkaXVzOiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLnN1Y2Nlc3MsXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHRoaXMucmVhZG9ubHkoKSA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHBvaW50ZXJDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgaGFsZlBvaW50ZXJXaWR0aCA9IHRoaXMucG9pbnRlcldpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgcG9pbnRlclkgPSB0aGlzLnByb2dyZXNzT2Zmc2V0WSAtIChBSV9UQUJMRV9QUk9HUkVTU19CQVJfUE9JTlRFUl9IRUlHSFQgLSBBSV9UQUJMRV9QUk9HUkVTU19CQVJfSEVJR0hUKSAvIDI7XG5cbiAgICAgICAgbGV0IHBvaW50ZXJYOiBudW1iZXI7XG4gICAgICAgIGlmICh0aGlzLmRyYWdQb2ludGVyWCgpICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwb2ludGVyWCA9IHRoaXMuZHJhZ1BvaW50ZXJYKCkhIC0gaGFsZlBvaW50ZXJXaWR0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvaW50ZXJYID0geCArIHRoaXMudHJhY2tXaWR0aCgpIC0gaGFsZlBvaW50ZXJXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBwb2ludGVyWCxcbiAgICAgICAgICAgIHk6IHBvaW50ZXJZLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMucG9pbnRlcldpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUE9JTlRFUl9IRUlHSFQsXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMud2hpdGUsXG4gICAgICAgICAgICBzdHJva2U6IENvbG9ycy5zdWNjZXNzLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXM6IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9SQURJVVMsXG4gICAgICAgICAgICBvcGFjaXR5OiB0aGlzLnJlYWRvbmx5KCkgPyAwIDogMSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogIXRoaXMucmVhZG9ubHkoKSxcbiAgICAgICAgICAgIGRyYWdCb3VuZEZ1bmM6IChwb3M6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1pblggPSB4O1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFggPSB4ICsgdGhpcy5yYWlsV2lkdGgoKSAtIHRoaXMucG9pbnRlcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgeDogTWF0aC5taW4obWluWCwgTWF0aC5taW4obWF4WCwgcG9zLngpKSxcbiAgICAgICAgICAgICAgICAgICAgeTogcG9pbnRlcllcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgbW91c2VTdHlsZTogdGhpcy5yZWFkb25seSgpID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGV4dENvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyByZW5kZXIsIGZpZWxkLCByZWNvcmRJZCB9ID0gdGhpcy5jb25maWcoKSE7XG4gICAgICAgIGNvbnN0IHsgeCB9ID0gcmVuZGVyO1xuICAgICAgICBjb25zdCB0ZXh0WCA9IHggKyB0aGlzLnJhaWxXaWR0aCgpICsgQUlfVEFCTEVfVEVYVF9HQVA7XG4gICAgICAgIGNvbnN0IHRleHRZID0gKEFJX1RBQkxFX1JPV19CTEFOS19IRUlHSFQgLSBERUZBVUxUX0ZPTlRfU0laRSkgLyAyICsgQUlfVEFCTEVfT0ZGU0VUO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiB0ZXh0WCxcbiAgICAgICAgICAgIHk6IHRleHRZLFxuICAgICAgICAgICAgdGV4dDogYCR7dGhpcy5wcm9ncmVzc1ZhbHVlKCl9JWAsXG4gICAgICAgICAgICBmaWxsOiBERUZBVUxUX1RFWFRfRklMTCxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgICAgICAgICBmb250U2l6ZTogREVGQVVMVF9GT05UX1NJWkUsXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQZXJjZW50YWdlKGNsaWNrWDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgTWF0aC5yb3VuZCgoY2xpY2tYIC8gdGhpcy5yYWlsV2lkdGgoKSkgKiAxMDApKSk7XG4gICAgfVxuXG4gICAga29DbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVByb2dyZXNzVmFsdWUoZSk7XG4gICAgfVxuXG4gICAgcG9pbnRlckRyYWdzdGFydChlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50ZXJEcmFnbW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBhaVRhYmxlLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB4IH0gPSByZW5kZXI7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCB9ID0gYWlUYWJsZS5jb250ZXh0IS5zY3JvbGxTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uSW5kZXggfSA9IHBvaW50UG9zaXRpb247XG4gICAgICAgIGNvbnN0IGNvbHVtbkxlZnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoY29sdW1uSW5kZXgpIC0gc2Nyb2xsTGVmdCArIEFJX1RBQkxFX09GRlNFVDtcblxuICAgICAgICBjb25zdCBzdGFnZSA9IGUuZXZlbnQudGFyZ2V0LmdldFN0YWdlKCk7XG4gICAgICAgIGlmICghc3RhZ2UpIHJldHVybjtcblxuICAgICAgICBjb25zdCBwb2ludCA9IHN0YWdlLmdldFBvaW50ZXJQb3NpdGlvbigpO1xuICAgICAgICBpZiAoIXBvaW50KSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZHJhZ1ggPSBwb2ludC54IC0gY29sdW1uTGVmdFggLSB4O1xuICAgICAgICBjb25zdCBtaW5YID0geDtcbiAgICAgICAgY29uc3QgbWF4WCA9IHggKyB0aGlzLnJhaWxXaWR0aCgpO1xuXG4gICAgICAgIGxldCBkcmFnUG9pbnRlclggPSBwb2ludC54IC0gY29sdW1uTGVmdFg7XG4gICAgICAgIGlmIChkcmFnUG9pbnRlclggPCBtaW5YKSB7XG4gICAgICAgICAgICBkcmFnUG9pbnRlclggPSBtaW5YO1xuICAgICAgICB9IGVsc2UgaWYgKGRyYWdQb2ludGVyWCA+IG1heFgpIHtcbiAgICAgICAgICAgIGRyYWdQb2ludGVyWCA9IG1heFg7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRyYWdQb2ludGVyWC5zZXQoZHJhZ1BvaW50ZXJYKTtcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHRoaXMuY2FsY3VsYXRlUGVyY2VudGFnZShkcmFnWCk7XG4gICAgICAgIHRoaXMuZHJhZ1Byb2dyZXNzVmFsdWUuc2V0KHBlcmNlbnRhZ2UpO1xuICAgIH1cblxuICAgIHBvaW50ZXJEcmFnZW5kKGU6IEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQcm9ncmVzc1ZhbHVlKGUpO1xuICAgICAgICB0aGlzLmRyYWdQb2ludGVyWC5zZXQobnVsbCk7XG4gICAgICAgIHRoaXMuZHJhZ1Byb2dyZXNzVmFsdWUuc2V0KG51bGwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvZ3Jlc3NWYWx1ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBhaVRhYmxlLCBjb29yZGluYXRlLCBhY3Rpb25zLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxMZWZ0IH0gPSBhaVRhYmxlLmNvbnRleHQhLnNjcm9sbFN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSBhaVRhYmxlLmNvbnRleHQhLnBvaW50UG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5JbmRleCB9ID0gcG9pbnRQb3NpdGlvbjtcbiAgICAgICAgY29uc3QgY29sdW1uTGVmdFggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCkgLSBzY3JvbGxMZWZ0ICsgQUlfVEFCTEVfT0ZGU0VUO1xuXG4gICAgICAgIGNvbnN0IHN0YWdlID0gZS5ldmVudC50YXJnZXQuZ2V0U3RhZ2UoKTtcbiAgICAgICAgaWYgKCFzdGFnZSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHBvaW50ID0gc3RhZ2UuZ2V0UG9pbnRlclBvc2l0aW9uKCk7XG4gICAgICAgIGlmICghcG9pbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBkcmFnWCA9IHBvaW50LnggLSBjb2x1bW5MZWZ0WCAtIHg7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRhZ2UoZHJhZ1gpO1xuXG4gICAgICAgIGlmICghdGhpcy5yZWFkb25seSgpICYmIGFjdGlvbnMgJiYgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBwZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIHBhdGg6IFtyZWNvcmRJZCEsIGZpZWxkLl9pZF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_CELL, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_PADDING, Colors, EditPath } from '../../../constants';
3
+ import { generateTargetName } from '../../../utils';
4
+ import { AITableFieldType } from '../../../core';
5
+ import { AITableActionIcon } from '../action-icon.component';
6
+ import { drawer } from '../../drawers/drawer';
7
+ import { AITableText } from '../text.component';
8
+ import * as i0 from "@angular/core";
9
+ export class AITableCellRichText {
10
+ constructor() {
11
+ this.config = input();
12
+ this.textConfig = computed(() => {
13
+ const render = this.config()?.render;
14
+ if (render) {
15
+ const { x, y, transformValue, field, columnWidth, rowHeight, style, zIndex } = render;
16
+ let textRender = transformValue;
17
+ if (textRender == null) {
18
+ return;
19
+ }
20
+ textRender = textRender.replace(/\r|\n/g, ' ');
21
+ const fontWeight = style?.fontWeight;
22
+ const textMaxWidth = columnWidth - AI_TABLE_CELL_PADDING - AI_TABLE_ACTION_COMMON_RIGHT_PADDING - AI_TABLE_ACTION_COMMON_SIZE;
23
+ const { text, textWidth } = drawer.textEllipsis({
24
+ text: textRender,
25
+ maxWidth: textMaxWidth,
26
+ fontWeight
27
+ });
28
+ return {
29
+ x,
30
+ y,
31
+ text,
32
+ wrap: 'none',
33
+ width: textWidth,
34
+ fillStyle: Colors.primary,
35
+ height: rowHeight + 2,
36
+ lineHeight: 1.84,
37
+ listening: false,
38
+ ellipsis: true,
39
+ zIndex
40
+ };
41
+ }
42
+ return;
43
+ });
44
+ this.iconConfig = computed(() => {
45
+ const { coordinate, render, field, recordId, readonly } = this.config();
46
+ const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
47
+ const offsetY = (coordinate.rowInitSize - AI_TABLE_ACTION_COMMON_SIZE) / 2;
48
+ return {
49
+ coordinate,
50
+ readonly,
51
+ name: generateTargetName({
52
+ targetName: AI_TABLE_CELL,
53
+ fieldId: field._id,
54
+ recordId,
55
+ source: AI_TABLE_CELL_EDIT,
56
+ mouseStyle: readonly ? 'default' : 'pointer'
57
+ }),
58
+ x: offsetX,
59
+ y: offsetY,
60
+ data: EditPath,
61
+ fill: Colors.gray600,
62
+ hoverFill: Colors.primary,
63
+ backgroundWidth: AI_TABLE_ACTION_COMMON_SIZE,
64
+ backgroundHeight: AI_TABLE_ACTION_COMMON_SIZE,
65
+ cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
66
+ listening: true
67
+ };
68
+ });
69
+ }
70
+ static { this.fieldType = AITableFieldType.richText; }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableCellRichText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
73
+ <ai-table-text [config]="textConfig()!"></ai-table-text>
74
+ <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
75
+ `, isInline: true, dependencies: [{ kind: "component", type: AITableText, 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 }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableCellRichText, decorators: [{
78
+ type: Component,
79
+ args: [{
80
+ selector: 'ai-table-rich-text',
81
+ template: `
82
+ <ai-table-text [config]="textConfig()!"></ai-table-text>
83
+ <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
84
+ `,
85
+ standalone: true,
86
+ imports: [AITableText, AITableActionIcon],
87
+ changeDetection: ChangeDetectionStrategy.OnPush
88
+ }]
89
+ }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvY2VsbHMvcmljaC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsMkJBQTJCLEVBQzNCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixRQUFRLEVBQ1gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFZaEQsTUFBTSxPQUFPLG1CQUFtQjtJQVZoQztRQWFJLFdBQU0sR0FBRyxLQUFLLEVBQTBCLENBQUM7UUFFekMsZUFBVSxHQUFHLFFBQVEsQ0FBeUIsR0FBRyxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUM7WUFDckMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztnQkFDdEYsSUFBSSxVQUFVLEdBQWtCLGNBQWMsQ0FBQztnQkFDL0MsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ3JCLE9BQU87Z0JBQ1gsQ0FBQztnQkFDRCxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxVQUFVLENBQUM7Z0JBQ3JDLE1BQU0sWUFBWSxHQUFHLFdBQVcsR0FBRyxxQkFBcUIsR0FBRyxvQ0FBb0MsR0FBRywyQkFBMkIsQ0FBQztnQkFDOUgsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUM1QyxJQUFJLEVBQUUsVUFBVTtvQkFDaEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVU7aUJBQ2IsQ0FBQyxDQUFDO2dCQUVILE9BQU87b0JBQ0gsQ0FBQztvQkFDRCxDQUFDO29CQUNELElBQUk7b0JBQ0osSUFBSSxFQUFFLE1BQU07b0JBQ1osS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDekIsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDO29CQUNyQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLFFBQVEsRUFBRSxJQUFJO29CQUNkLE1BQU07aUJBQ1QsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFVLEdBQUcsUUFBUSxDQUEwQixHQUFHLEVBQUU7WUFDaEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUM7WUFDekUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRywyQkFBMkIsR0FBRyxvQ0FBb0MsQ0FBQztZQUN4RyxNQUFNLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFM0UsT0FBTztnQkFDSCxVQUFVO2dCQUNWLFFBQVE7Z0JBQ1IsSUFBSSxFQUFFLGtCQUFrQixDQUFDO29CQUNyQixVQUFVLEVBQUUsYUFBYTtvQkFDekIsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHO29CQUNsQixRQUFRO29CQUNSLE1BQU0sRUFBRSxrQkFBa0I7b0JBQzFCLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDL0MsQ0FBQztnQkFDRixDQUFDLEVBQUUsT0FBTztnQkFDVixDQUFDLEVBQUUsT0FBTztnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3BCLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDekIsZUFBZSxFQUFFLDJCQUEyQjtnQkFDNUMsZ0JBQWdCLEVBQUUsMkJBQTJCO2dCQUM3QyxZQUFZLEVBQUUsNkJBQTZCO2dCQUMzQyxTQUFTLEVBQUUsSUFBSTthQUNsQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FDTjthQWhFVSxjQUFTLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxBQUE1QixDQUE2QjsrR0FEcEMsbUJBQW1CO21HQUFuQixtQkFBbUIscU5BUmxCOzs7S0FHVCw0REFFUyxXQUFXLG1IQUFFLGlCQUFpQjs7NEZBRy9CLG1CQUFtQjtrQkFWL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7OztLQUdUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1JBRElVUyxcbiAgICBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1JJR0hUX1BBRERJTkcsXG4gICAgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFLFxuICAgIEFJX1RBQkxFX0NFTEwsXG4gICAgQUlfVEFCTEVfQ0VMTF9FRElULFxuICAgIEFJX1RBQkxFX0NFTExfUEFERElORyxcbiAgICBDb2xvcnMsXG4gICAgRWRpdFBhdGhcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdlbmVyYXRlVGFyZ2V0TmFtZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGVBY3Rpb25JY29uQ29uZmlnLCBBSVRhYmxlSG92ZXJDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgSG92ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBSVRhYmxlQWN0aW9uSWNvbiB9IGZyb20gJy4uL2FjdGlvbi1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IGRyYXdlciB9IGZyb20gJy4uLy4uL2RyYXdlcnMvZHJhd2VyJztcbmltcG9ydCB7IEFJVGFibGVUZXh0IH0gZnJvbSAnLi4vdGV4dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJpY2gtdGV4dCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGFpLXRhYmxlLXRleHQgW2NvbmZpZ109XCJ0ZXh0Q29uZmlnKCkhXCI+PC9haS10YWJsZS10ZXh0PlxuICAgICAgICA8YWktdGFibGUtYWN0aW9uLWljb24gW2NvbmZpZ109XCJpY29uQ29uZmlnKClcIj48L2FpLXRhYmxlLWFjdGlvbi1pY29uPlxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQUlUYWJsZVRleHQsIEFJVGFibGVBY3Rpb25JY29uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlQ2VsbFJpY2hUZXh0IGltcGxlbWVudHMgSG92ZXJDZWxsQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgZmllbGRUeXBlID0gQUlUYWJsZUZpZWxkVHlwZS5yaWNoVGV4dDtcblxuICAgIGNvbmZpZyA9IGlucHV0PEFJVGFibGVIb3ZlckNlbGxDb25maWc+KCk7XG5cbiAgICB0ZXh0Q29uZmlnID0gY29tcHV0ZWQ8VGV4dENvbmZpZyB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgICAgICBjb25zdCByZW5kZXIgPSB0aGlzLmNvbmZpZygpPy5yZW5kZXI7XG4gICAgICAgIGlmIChyZW5kZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgeCwgeSwgdHJhbnNmb3JtVmFsdWUsIGZpZWxkLCBjb2x1bW5XaWR0aCwgcm93SGVpZ2h0LCBzdHlsZSwgekluZGV4IH0gPSByZW5kZXI7XG4gICAgICAgICAgICBsZXQgdGV4dFJlbmRlcjogc3RyaW5nIHwgbnVsbCA9IHRyYW5zZm9ybVZhbHVlO1xuICAgICAgICAgICAgaWYgKHRleHRSZW5kZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRleHRSZW5kZXIgPSB0ZXh0UmVuZGVyLnJlcGxhY2UoL1xccnxcXG4vZywgJyAnKTtcbiAgICAgICAgICAgIGNvbnN0IGZvbnRXZWlnaHQgPSBzdHlsZT8uZm9udFdlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IHRleHRNYXhXaWR0aCA9IGNvbHVtbldpZHRoIC0gQUlfVEFCTEVfQ0VMTF9QQURESU5HIC0gQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SSUdIVF9QQURESU5HIC0gQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFO1xuICAgICAgICAgICAgY29uc3QgeyB0ZXh0LCB0ZXh0V2lkdGggfSA9IGRyYXdlci50ZXh0RWxsaXBzaXMoe1xuICAgICAgICAgICAgICAgIHRleHQ6IHRleHRSZW5kZXIsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IHRleHRNYXhXaWR0aCxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgIHksXG4gICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICB3cmFwOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRleHRXaWR0aCxcbiAgICAgICAgICAgICAgICBmaWxsU3R5bGU6IENvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgIGhlaWdodDogcm93SGVpZ2h0ICsgMixcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAxLjg0LFxuICAgICAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgZWxsaXBzaXM6IHRydWUsXG4gICAgICAgICAgICAgICAgekluZGV4XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9KTtcblxuICAgIGljb25Db25maWcgPSBjb21wdXRlZDxBSVRhYmxlQWN0aW9uSWNvbkNvbmZpZz4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvb3JkaW5hdGUsIHJlbmRlciwgZmllbGQsIHJlY29yZElkLCByZWFkb25seSB9ID0gdGhpcy5jb25maWcoKSE7XG4gICAgICAgIGNvbnN0IG9mZnNldFggPSByZW5kZXIuY29sdW1uV2lkdGggLSBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1NJWkUgLSBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1JJR0hUX1BBRERJTkc7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSAoY29vcmRpbmF0ZS5yb3dJbml0U2l6ZSAtIEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSkgLyAyO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogQUlfVEFCTEVfQ0VMTF9FRElULFxuICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHJlYWRvbmx5ID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHg6IG9mZnNldFgsXG4gICAgICAgICAgICB5OiBvZmZzZXRZLFxuICAgICAgICAgICAgZGF0YTogRWRpdFBhdGgsXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMuZ3JheTYwMCxcbiAgICAgICAgICAgIGhvdmVyRmlsbDogQ29sb3JzLnByaW1hcnksXG4gICAgICAgICAgICBiYWNrZ3JvdW5kV2lkdGg6IEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSxcbiAgICAgICAgICAgIGJhY2tncm91bmRIZWlnaHQ6IEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSxcbiAgICAgICAgICAgIGNvcm5lclJhZGl1czogQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SQURJVVMsXG4gICAgICAgICAgICBsaXN0ZW5pbmc6IHRydWVcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbiJdfQ==