@ai-table/grid 0.0.68 → 0.0.70

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 (60) hide show
  1. package/components/cell-views/select/option.component.d.ts.map +1 -1
  2. package/esm2022/components/cell-views/select/option.component.mjs +1 -1
  3. package/esm2022/grid-base.component.mjs +3 -7
  4. package/esm2022/grid.component.mjs +50 -40
  5. package/esm2022/pipes/grid.pipe.mjs +1 -1
  6. package/esm2022/renderer/components/action-icon.component.mjs +1 -1
  7. package/esm2022/renderer/components/hover-cell.component.mjs +4 -3
  8. package/esm2022/renderer/components/text.component.mjs +1 -1
  9. package/esm2022/renderer/creations/create-cells.mjs +4 -3
  10. package/esm2022/types/cell.mjs +1 -1
  11. package/esm2022/types/component-config.mjs +1 -1
  12. package/esm2022/utils/cell.mjs +4 -1
  13. package/esm2022/utils/clear-cells.mjs +23 -0
  14. package/esm2022/utils/clipboard/copy.mjs +4 -4
  15. package/esm2022/utils/clipboard/paste.mjs +19 -21
  16. package/esm2022/utils/field/model/attachment.mjs +2 -3
  17. package/esm2022/utils/field/model/date.mjs +6 -3
  18. package/esm2022/utils/field/model/number.mjs +2 -3
  19. package/esm2022/utils/field/model/progress.mjs +2 -3
  20. package/esm2022/utils/field/model/rate.mjs +2 -3
  21. package/esm2022/utils/field/model/rich-text.mjs +7 -5
  22. package/esm2022/utils/field/model/select.mjs +2 -3
  23. package/esm2022/utils/index.mjs +2 -1
  24. package/esm2022/utils/match-keywords.mjs +2 -3
  25. package/fesm2022/ai-table-grid.mjs +110 -72
  26. package/fesm2022/ai-table-grid.mjs.map +1 -1
  27. package/grid-base.component.d.ts +1 -1
  28. package/grid-base.component.d.ts.map +1 -1
  29. package/grid.component.d.ts +3 -0
  30. package/grid.component.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/pipes/grid.pipe.d.ts +1 -2
  33. package/pipes/grid.pipe.d.ts.map +1 -1
  34. package/renderer/components/action-icon.component.d.ts.map +1 -1
  35. package/renderer/components/hover-cell.component.d.ts.map +1 -1
  36. package/renderer/creations/create-cells.d.ts.map +1 -1
  37. package/types/cell.d.ts +1 -2
  38. package/types/cell.d.ts.map +1 -1
  39. package/types/component-config.d.ts +1 -2
  40. package/types/component-config.d.ts.map +1 -1
  41. package/utils/cell.d.ts.map +1 -1
  42. package/utils/clear-cells.d.ts +4 -0
  43. package/utils/clear-cells.d.ts.map +1 -0
  44. package/utils/clipboard/paste.d.ts.map +1 -1
  45. package/utils/field/model/attachment.d.ts +1 -2
  46. package/utils/field/model/attachment.d.ts.map +1 -1
  47. package/utils/field/model/date.d.ts +2 -2
  48. package/utils/field/model/date.d.ts.map +1 -1
  49. package/utils/field/model/number.d.ts +1 -2
  50. package/utils/field/model/number.d.ts.map +1 -1
  51. package/utils/field/model/progress.d.ts +1 -2
  52. package/utils/field/model/progress.d.ts.map +1 -1
  53. package/utils/field/model/rate.d.ts +1 -2
  54. package/utils/field/model/rate.d.ts.map +1 -1
  55. package/utils/field/model/rich-text.d.ts +2 -2
  56. package/utils/field/model/rich-text.d.ts.map +1 -1
  57. package/utils/field/model/select.d.ts +1 -2
  58. package/utils/field/model/select.d.ts.map +1 -1
  59. package/utils/index.d.ts +1 -0
  60. package/utils/index.d.ts.map +1 -1
@@ -2,8 +2,7 @@ import { helpers } from 'ngx-tethys/util';
2
2
  import { compareString, hasIntersect, isMeetFilter } from '../operate';
3
3
  import { DEFAULT_COLORS } from 'ngx-tethys/color-picker';
4
4
  import { idCreator } from '../../../core';
5
- import { AITableFilterOperation, SelectFieldBase } from '@ai-table/utils';
6
- import { AITableFieldType, AITableSelectOptionStyle } from '@ai-table/utils';
5
+ import { AITableFilterOperation, SelectFieldBase, AITableFieldType, AITableSelectOptionStyle } from '@ai-table/utils';
7
6
  import { isEmpty } from 'lodash';
8
7
  export class SelectField extends SelectFieldBase {
9
8
  isValid(cellValue) {
@@ -130,4 +129,4 @@ function cellValueToSortValue(cellValue, field) {
130
129
  }
131
130
  return texts && texts.length ? texts.join(',') : null;
132
131
  }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBVyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUEwQixzQkFBc0IsRUFBcUIsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckgsT0FBTyxFQUVILGdCQUFnQixFQUVoQix3QkFBd0IsRUFJM0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQUNuQyxPQUFPLENBQUMsU0FBcUI7UUFDbEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQTJCO1FBQy9FLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSztnQkFDN0IsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFL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Q0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhlbHBlcnMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgaGFzSW50ZXJzZWN0LCBpc01lZXRGaWx0ZXIgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IERFRkFVTFRfQ09MT1JTIH0gZnJvbSAnbmd4LXRldGh5cy9jb2xvci1waWNrZXInO1xuaW1wb3J0IHsgQUlUYWJsZSwgaWRDcmVhdG9yIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcywgU2VsZWN0RmllbGRCYXNlIH0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbmltcG9ydCB7IEZpZWxkT3BlcmFibGUgfSBmcm9tICcuLi9maWVsZC1vcGVyYWJsZSc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVGaWVsZCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIEFJVGFibGVTZWxlY3RPcHRpb24sXG4gICAgQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgU2VsZWN0RmllbGRWYWx1ZSxcbiAgICBTZWxlY3RTZXR0aW5nc1xufSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RGaWVsZCBleHRlbmRzIFNlbGVjdEZpZWxkQmFzZSBpbXBsZW1lbnRzIEZpZWxkT3BlcmFibGU8c3RyaW5nLCBTZWxlY3RGaWVsZFZhbHVlPiB7XG4gICAgb3ZlcnJpZGUgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSB8fCBjZWxsVmFsdWUgPT09IG51bGw7XG4gICAgfVxuXG4gICAgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IFNlbGVjdEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiBoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLm5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmICFoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBhcmUoXG4gICAgICAgIGNlbGxWYWx1ZTE6IFNlbGVjdEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IFNlbGVjdEZpZWxkVmFsdWUsXG4gICAgICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgICAgICBzb3J0S2V5OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGFpVGFibGU6IEFJVGFibGU7XG4gICAgICAgICAgICBmaWVsZDogQUlUYWJsZUZpZWxkO1xuICAgICAgICB9XG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUxID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSwgb3B0aW9ucy5maWVsZCk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIsIG9wdGlvbnMuZmllbGQpO1xuICAgICAgICByZXR1cm4gY29tcGFyZVN0cmluZyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9TZWxlY3RGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2VsZWN0RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbFxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0KFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4pOiB7IGV4aXN0T3B0aW9uSWRzOiBzdHJpbmdbXTsgbmV3T3B0aW9uczogQUlUYWJsZVNlbGVjdE9wdGlvbltdIH0ge1xuICAgIGNvbnN0IHRhcmdldEZpZWxkT3B0aW9ucyA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW107XG4gICAgY29uc3QgdGFyZ2V0T3B0aW9uU3R5bGUgPSAodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5vcHRpb25fc3R5bGUgfHwgQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLnRleHQ7XG5cbiAgICBsZXQgZXhpc3RPcHRpb25JZHM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IG5ld09wdGlvbnM6IEFJVGFibGVTZWxlY3RPcHRpb25bXSA9IFtdO1xuXG4gICAgbGV0IGNlbGxGdWxsVGV4dHM6IHN0cmluZ1tdID0gcGxhaW5UZXh0XG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoKHRleHQpID0+IHRleHQudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKCh0ZXh0KSA9PiAhIXRleHQpO1xuXG4gICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhIHx8IHt9O1xuICAgIGlmIChmaWVsZCAmJiBmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdCkge1xuICAgICAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRPcHRpb25JZHMgPSB0YXJnZXRGaWVsZE9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5faWQpO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uc01hcCA9IGhlbHBlcnMua2V5QnkoKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8ub3B0aW9ucyB8fCBbXSwgJ19pZCcpO1xuICAgICAgICAgICAgY2VsbFZhbHVlLmZvckVhY2goKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldE9wdGlvbklkcy5pbmNsdWRlcyhpZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RPcHRpb25JZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0YXJnZXRGaWVsZE9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24udGV4dCA9PT0gb3JpZ2luT3B0aW9uc01hcFtpZF0/LnRleHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRhcmdldEZpZWxkT3B0aW9ucy5maW5kKChvcHRpb246IEFJVGFibGVTZWxlY3RPcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSBvcmlnaW5PcHRpb25zTWFwW2lkXS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RPcHRpb25JZHMucHVzaChvcHRpb24hLl9pZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gb3JpZ2luT3B0aW9uc01hcFtpZF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW5PcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbiA9IGNvcHlPcHRpb24ob3JpZ2luT3B0aW9uLCB0YXJnZXRGaWVsZE9wdGlvbnMsIHRhcmdldE9wdGlvblN0eWxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaChuZXdPcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjZWxsRnVsbFRleHRzLmZvckVhY2goKHRleHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRhcmdldEZpZWxkT3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSB0ZXh0KTtcbiAgICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBleGlzdE9wdGlvbklkcy5wdXNoKG9wdGlvbi5faWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb24gPSB7IHRleHQgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdPcHRpb24gPSBjb3B5T3B0aW9uKG9yaWdpbk9wdGlvbiwgdGFyZ2V0RmllbGRPcHRpb25zLCB0YXJnZXRPcHRpb25TdHlsZSk7XG4gICAgICAgICAgICAgICAgbmV3T3B0aW9ucy5wdXNoKG5ld09wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSAodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5pc19tdWx0aXBsZTtcbiAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkcywgbmV3T3B0aW9ucyB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChleGlzdE9wdGlvbklkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGV4aXN0T3B0aW9uSWRzOiBbZXhpc3RPcHRpb25JZHNbMF1dLCBuZXdPcHRpb25zOiBbXSB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5ld09wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtdLCBuZXdPcHRpb25zOiBbbmV3T3B0aW9uc1swXV0gfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtdLCBuZXdPcHRpb25zOiBbXSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjb3B5T3B0aW9uKFxuICAgIG9yaWdpbk9wdGlvbjogUGFydGlhbDxBSVRhYmxlU2VsZWN0T3B0aW9uPixcbiAgICB0YXJnZXRGaWVsZE9wdGlvbnM6IEFJVGFibGVTZWxlY3RPcHRpb25bXSxcbiAgICB0YXJnZXRPcHRpb25TdHlsZTogQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlXG4pOiBBSVRhYmxlU2VsZWN0T3B0aW9uIHtcbiAgICBsZXQgbmV3T3B0aW9uOiBBSVRhYmxlU2VsZWN0T3B0aW9uID0ge1xuICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICB0ZXh0OiBvcmlnaW5PcHRpb24udGV4dCFcbiAgICB9O1xuXG4gICAgaWYgKHRhcmdldE9wdGlvblN0eWxlICE9PSBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUudGV4dCkge1xuICAgICAgICBjb25zdCBvcmlnaW5CZ0NvbG9yID0gb3JpZ2luT3B0aW9uLmJnX2NvbG9yO1xuICAgICAgICBjb25zdCBleGlzdEJnQ29sb3JzID0gdGFyZ2V0RmllbGRPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uYmdfY29sb3IpO1xuICAgICAgICBjb25zdCBkZWZhdWx0QmdDb2xvciA9IERFRkFVTFRfQ09MT1JTWzEwICsgKHRhcmdldEZpZWxkT3B0aW9ucz8ubGVuZ3RoIHx8IDApXTtcblxuICAgICAgICBuZXdPcHRpb24gPSB7XG4gICAgICAgICAgICAuLi5uZXdPcHRpb24sXG4gICAgICAgICAgICBiZ19jb2xvcjogb3JpZ2luQmdDb2xvciAmJiAhZXhpc3RCZ0NvbG9ycy5pbmNsdWRlcyhvcmlnaW5CZ0NvbG9yKSA/IG9yaWdpbkJnQ29sb3IgOiBkZWZhdWx0QmdDb2xvclxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBuZXdPcHRpb247XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogU2VsZWN0RmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghY2VsbFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBvcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpLm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIGNlbGxWYWx1ZS5mb3JFYWNoKChvcHRpb25JZCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICBpZiAob3B0aW9uICYmIG9wdGlvbi50ZXh0KSB7XG4gICAgICAgICAgICAgICAgdGV4dHMucHVzaChvcHRpb24udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dHMgJiYgdGV4dHMubGVuZ3RoID8gdGV4dHMuam9pbignLCcpIDogbnVsbDtcbn1cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBVyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUVILHNCQUFzQixFQUV0QixlQUFlLEVBRWYsZ0JBQWdCLEVBRWhCLHdCQUF3QixFQUkzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBQ25DLE9BQU8sQ0FBQyxTQUFxQjtRQUNsQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBMkI7UUFDL0UsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FB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RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGVscGVycyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBjb21wYXJlU3RyaW5nLCBoYXNJbnRlcnNlY3QsIGlzTWVldEZpbHRlciB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgREVGQVVMVF9DT0xPUlMgfSBmcm9tICduZ3gtdGV0aHlzL2NvbG9yLXBpY2tlcic7XG5pbXBvcnQgeyBBSVRhYmxlLCBpZENyZWF0b3IgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZUZpbHRlckNvbmRpdGlvbixcbiAgICBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLFxuICAgIEFJVGFibGVSZWZlcmVuY2VzLFxuICAgIFNlbGVjdEZpZWxkQmFzZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgQUlUYWJsZUZpZWxkVHlwZSxcbiAgICBBSVRhYmxlU2VsZWN0T3B0aW9uLFxuICAgIEFJVGFibGVTZWxlY3RPcHRpb25TdHlsZSxcbiAgICBGaWVsZFZhbHVlLFxuICAgIFNlbGVjdEZpZWxkVmFsdWUsXG4gICAgU2VsZWN0U2V0dGluZ3Ncbn0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbmltcG9ydCB7IEZpZWxkT3BlcmFibGUgfSBmcm9tICcuLi9maWVsZC1vcGVyYWJsZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkIGV4dGVuZHMgU2VsZWN0RmllbGRCYXNlIGltcGxlbWVudHMgRmllbGRPcGVyYWJsZTxzdHJpbmcsIFNlbGVjdEZpZWxkVmFsdWU+IHtcbiAgICBvdmVycmlkZSBpc1ZhbGlkKGNlbGxWYWx1ZTogRmllbGRWYWx1ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpIHx8IGNlbGxWYWx1ZSA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogU2VsZWN0RmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmIGhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgIWhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogU2VsZWN0RmllbGRWYWx1ZSxcbiAgICAgICAgY2VsbFZhbHVlMjogU2VsZWN0RmllbGRWYWx1ZSxcbiAgICAgICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgICAgIHNvcnRLZXk6IHN0cmluZyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZTtcbiAgICAgICAgICAgIGZpZWxkOiBBSVRhYmxlRmllbGQ7XG4gICAgICAgIH1cbiAgICApOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZTEgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUxLCBvcHRpb25zLmZpZWxkKTtcbiAgICAgICAgY29uc3QgdmFsdWUyID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMiwgb3B0aW9ucy5maWVsZCk7XG4gICAgICAgIHJldHVybiBjb21wYXJlU3RyaW5nKHZhbHVlMSwgdmFsdWUyKTtcbiAgICB9XG5cbiAgICB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0b1NlbGVjdEZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TZWxlY3RGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4pOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbik6IHsgZXhpc3RPcHRpb25JZHM6IHN0cmluZ1tdOyBuZXdPcHRpb25zOiBBSVRhYmxlU2VsZWN0T3B0aW9uW10gfSB7XG4gICAgY29uc3QgdGFyZ2V0RmllbGRPcHRpb25zID0gKHRhcmdldEZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8ub3B0aW9ucyB8fCBbXTtcbiAgICBjb25zdCB0YXJnZXRPcHRpb25TdHlsZSA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbl9zdHlsZSB8fCBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUudGV4dDtcblxuICAgIGxldCBleGlzdE9wdGlvbklkczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgbmV3T3B0aW9uczogQUlUYWJsZVNlbGVjdE9wdGlvbltdID0gW107XG5cbiAgICBsZXQgY2VsbEZ1bGxUZXh0czogc3RyaW5nW10gPSBwbGFpblRleHRcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLm1hcCgodGV4dCkgPT4gdGV4dC50cmltKCkpXG4gICAgICAgIC5maWx0ZXIoKHRleHQpID0+ICEhdGV4dCk7XG5cbiAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGEgfHwge307XG4gICAgaWYgKGZpZWxkICYmIGZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuc2VsZWN0KSB7XG4gICAgICAgIGlmIChjZWxsVmFsdWUgJiYgQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpICYmIGNlbGxWYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldE9wdGlvbklkcyA9IHRhcmdldEZpZWxkT3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLl9pZCk7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5vcHRpb25zIHx8IFtdLCAnX2lkJyk7XG4gICAgICAgICAgICBjZWxsVmFsdWUuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0T3B0aW9uSWRzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE9wdGlvbklkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRhcmdldEZpZWxkT3B0aW9ucy5zb21lKChvcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSBvcmlnaW5PcHRpb25zTWFwW2lkXT8udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGFyZ2V0RmllbGRPcHRpb25zLmZpbmQoKG9wdGlvbjogQUlUYWJsZVNlbGVjdE9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IG9yaWdpbk9wdGlvbnNNYXBbaWRdLnRleHQpO1xuICAgICAgICAgICAgICAgICAgICBleGlzdE9wdGlvbklkcy5wdXNoKG9wdGlvbiEuX2lkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb24gPSBvcmlnaW5PcHRpb25zTWFwW2lkXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdpbk9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9uID0gY29weU9wdGlvbihvcmlnaW5PcHRpb24sIHRhcmdldEZpZWxkT3B0aW9ucywgdGFyZ2V0T3B0aW9uU3R5bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3T3B0aW9ucy5wdXNoKG5ld09wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNlbGxGdWxsVGV4dHMuZm9yRWFjaCgodGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGFyZ2V0RmllbGRPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IHRleHQpO1xuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGV4aXN0T3B0aW9uSWRzLnB1c2gob3B0aW9uLl9pZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbiA9IHsgdGV4dCB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbiA9IGNvcHlPcHRpb24ob3JpZ2luT3B0aW9uLCB0YXJnZXRGaWVsZE9wdGlvbnMsIHRhcmdldE9wdGlvblN0eWxlKTtcbiAgICAgICAgICAgICAgICBuZXdPcHRpb25zLnB1c2gobmV3T3B0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNNdWx0aXBsZSA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/LmlzX211bHRpcGxlO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgIHJldHVybiB7IGV4aXN0T3B0aW9uSWRzLCBuZXdPcHRpb25zIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV4aXN0T3B0aW9uSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtleGlzdE9wdGlvbklkc1swXV0sIG5ld09wdGlvbnM6IFtdIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobmV3T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkczogW10sIG5ld09wdGlvbnM6IFtuZXdPcHRpb25zWzBdXSB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkczogW10sIG5ld09wdGlvbnM6IFtdIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNvcHlPcHRpb24oXG4gICAgb3JpZ2luT3B0aW9uOiBQYXJ0aWFsPEFJVGFibGVTZWxlY3RPcHRpb24+LFxuICAgIHRhcmdldEZpZWxkT3B0aW9uczogQUlUYWJsZVNlbGVjdE9wdGlvbltdLFxuICAgIHRhcmdldE9wdGlvblN0eWxlOiBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGVcbik6IEFJVGFibGVTZWxlY3RPcHRpb24ge1xuICAgIGxldCBuZXdPcHRpb246IEFJVGFibGVTZWxlY3RPcHRpb24gPSB7XG4gICAgICAgIF9pZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHRleHQ6IG9yaWdpbk9wdGlvbi50ZXh0IVxuICAgIH07XG5cbiAgICBpZiAodGFyZ2V0T3B0aW9uU3R5bGUgIT09IEFJVGFibGVTZWxlY3RPcHRpb25TdHlsZS50ZXh0KSB7XG4gICAgICAgIGNvbnN0IG9yaWdpbkJnQ29sb3IgPSBvcmlnaW5PcHRpb24uYmdfY29sb3I7XG4gICAgICAgIGNvbnN0IGV4aXN0QmdDb2xvcnMgPSB0YXJnZXRGaWVsZE9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5iZ19jb2xvcik7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRCZ0NvbG9yID0gREVGQVVMVF9DT0xPUlNbMTAgKyAodGFyZ2V0RmllbGRPcHRpb25zPy5sZW5ndGggfHwgMCldO1xuXG4gICAgICAgIG5ld09wdGlvbiA9IHtcbiAgICAgICAgICAgIC4uLm5ld09wdGlvbixcbiAgICAgICAgICAgIGJnX2NvbG9yOiBvcmlnaW5CZ0NvbG9yICYmICFleGlzdEJnQ29sb3JzLmluY2x1ZGVzKG9yaWdpbkJnQ29sb3IpID8gb3JpZ2luQmdDb2xvciA6IGRlZmF1bHRCZ0NvbG9yXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld09wdGlvbjtcbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlOiBTZWxlY3RGaWVsZFZhbHVlLCBmaWVsZDogQUlUYWJsZUZpZWxkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFjZWxsVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHRleHRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG9wdGlvbnNNYXAgPSBoZWxwZXJzLmtleUJ5KChmaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncykub3B0aW9ucyB8fCBbXSwgJ19pZCcpO1xuICAgIGlmIChjZWxsVmFsdWUgJiYgQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpICYmIGNlbGxWYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgY2VsbFZhbHVlLmZvckVhY2goKG9wdGlvbklkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwW29wdGlvbklkXTtcbiAgICAgICAgICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLnRleHQpIHtcbiAgICAgICAgICAgICAgICB0ZXh0cy5wdXNoKG9wdGlvbi50ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0cyAmJiB0ZXh0cy5sZW5ndGggPyB0ZXh0cy5qb2luKCcsJykgOiBudWxsO1xufVxuIl19
@@ -13,6 +13,7 @@ export * from './visible-range';
13
13
  export * from './field';
14
14
  export * from './match-keywords';
15
15
  export * from './hover-cell';
16
+ export * from './clear-cells';
16
17
  export * from './i18n';
17
18
  export * from './file';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1aWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2dldC1wbGFjZWhvbGRlci1jZWxscyc7XG5leHBvcnQgKiBmcm9tICcuL2dldC10ZXh0LXdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LW1lYXN1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi92aXNpYmxlLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRjaC1rZXl3b3Jkcyc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLWNlbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1aWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2dldC1wbGFjZWhvbGRlci1jZWxscyc7XG5leHBvcnQgKiBmcm9tICcuL2dldC10ZXh0LXdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LW1lYXN1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi92aXNpYmxlLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRjaC1rZXl3b3Jkcyc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLWNlbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGVhci1jZWxscyc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbiJdfQ==
@@ -1,11 +1,10 @@
1
1
  import { AITableQueries } from '../core';
2
- import { transformCellValue } from './cell';
3
2
  import { FieldModelMap } from './field';
4
3
  export const isCellMatchKeywords = (aiTable, field, recordId, keywords, references) => {
5
4
  const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, field._id]);
6
5
  const fieldMethod = FieldModelMap[field.type];
7
6
  if (fieldMethod.isValid(cellValue)) {
8
- const transformValue = transformCellValue(aiTable, field, cellValue);
7
+ const transformValue = fieldMethod.transformCellValue(cellValue, { aiTable, field });
9
8
  let cellFullText = fieldMethod.cellFullText(transformValue, field, references);
10
9
  return keywords && cellFullText.length && cellFullText.some((text) => text.toLowerCase().includes(keywords.toLowerCase()));
11
10
  }
@@ -13,4 +12,4 @@ export const isCellMatchKeywords = (aiTable, field, recordId, keywords, referenc
13
12
  return false;
14
13
  }
15
14
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gta2V5d29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9tYXRjaC1rZXl3b3Jkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVcsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQy9CLE9BQWdCLEVBQ2hCLEtBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFVBQTZCLEVBQy9CLEVBQUU7SUFDQSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRSxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckUsSUFBSSxZQUFZLEdBQWEsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sUUFBUSxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ILENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZVJlZmVyZW5jZXMgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZVF1ZXJpZXMgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IHRyYW5zZm9ybUNlbGxWYWx1ZSB9IGZyb20gJy4vY2VsbCc7XG5pbXBvcnQgeyBGaWVsZE1vZGVsTWFwIH0gZnJvbSAnLi9maWVsZCc7XG5cbmV4cG9ydCBjb25zdCBpc0NlbGxNYXRjaEtleXdvcmRzID0gKFxuICAgIGFpVGFibGU6IEFJVGFibGUsXG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICByZWNvcmRJZDogc3RyaW5nLFxuICAgIGtleXdvcmRzOiBzdHJpbmcsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXNcbikgPT4ge1xuICAgIGNvbnN0IGNlbGxWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW3JlY29yZElkLCBmaWVsZC5faWRdKTtcbiAgICBjb25zdCBmaWVsZE1ldGhvZCA9IEZpZWxkTW9kZWxNYXBbZmllbGQudHlwZV07XG4gICAgaWYgKGZpZWxkTWV0aG9kLmlzVmFsaWQoY2VsbFZhbHVlKSkge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1WYWx1ZSA9IHRyYW5zZm9ybUNlbGxWYWx1ZShhaVRhYmxlLCBmaWVsZCwgY2VsbFZhbHVlKTtcbiAgICAgICAgbGV0IGNlbGxGdWxsVGV4dDogc3RyaW5nW10gPSBmaWVsZE1ldGhvZC5jZWxsRnVsbFRleHQodHJhbnNmb3JtVmFsdWUsIGZpZWxkLCByZWZlcmVuY2VzKTtcbiAgICAgICAgcmV0dXJuIGtleXdvcmRzICYmIGNlbGxGdWxsVGV4dC5sZW5ndGggJiYgY2VsbEZ1bGxUZXh0LnNvbWUoKHRleHQpID0+IHRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrZXl3b3Jkcy50b0xvd2VyQ2FzZSgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gta2V5d29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9tYXRjaC1rZXl3b3Jkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVcsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDL0IsT0FBZ0IsRUFDaEIsS0FBbUIsRUFDbkIsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsVUFBNkIsRUFDL0IsRUFBRTtJQUNBLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9FLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDakMsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksWUFBWSxHQUFhLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RixPQUFPLFFBQVEsSUFBSSxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvSCxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVSZWZlcmVuY2VzIH0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1DZWxsVmFsdWUgfSBmcm9tICcuL2NlbGwnO1xuaW1wb3J0IHsgRmllbGRNb2RlbE1hcCB9IGZyb20gJy4vZmllbGQnO1xuXG5leHBvcnQgY29uc3QgaXNDZWxsTWF0Y2hLZXl3b3JkcyA9IChcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIGZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVjb3JkSWQ6IHN0cmluZyxcbiAgICBrZXl3b3Jkczogc3RyaW5nLFxuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzXG4pID0+IHtcbiAgICBjb25zdCBjZWxsVmFsdWUgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIFtyZWNvcmRJZCwgZmllbGQuX2lkXSk7XG4gICAgY29uc3QgZmllbGRNZXRob2QgPSBGaWVsZE1vZGVsTWFwW2ZpZWxkLnR5cGVdO1xuICAgIGlmIChmaWVsZE1ldGhvZC5pc1ZhbGlkKGNlbGxWYWx1ZSkpIHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtVmFsdWUgPSBmaWVsZE1ldGhvZC50cmFuc2Zvcm1DZWxsVmFsdWUoY2VsbFZhbHVlLCB7IGFpVGFibGUsIGZpZWxkIH0pO1xuICAgICAgICBsZXQgY2VsbEZ1bGxUZXh0OiBzdHJpbmdbXSA9IGZpZWxkTWV0aG9kLmNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZSwgZmllbGQsIHJlZmVyZW5jZXMpO1xuICAgICAgICByZXR1cm4ga2V5d29yZHMgJiYgY2VsbEZ1bGxUZXh0Lmxlbmd0aCAmJiBjZWxsRnVsbFRleHQuc29tZSgodGV4dCkgPT4gdGV4dC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmRzLnRvTG93ZXJDYXNlKCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcbiJdfQ==
@@ -2643,6 +2643,9 @@ function cellValueToSortValue$5(cellValue, field, references, sortKey = 'title')
2643
2643
  }
2644
2644
 
2645
2645
  class DateField extends DateFieldBase {
2646
+ transformCellValue(cellValue, options) {
2647
+ return transformCellValue(options.aiTable, options.field, cellValue);
2648
+ }
2646
2649
  isMeetFilter(condition, cellValue) {
2647
2650
  const [left, right] = this.getTimeRange(condition.value);
2648
2651
  if (isNil(cellValue)) {
@@ -2978,8 +2981,9 @@ function buildClipboardContent(aiTable, fieldIds, recordIds) {
2978
2981
  html: ''
2979
2982
  };
2980
2983
  if (FieldModelMap[field.type].isValid(cellValue)) {
2981
- const transformValue = transformCellValue(aiTable, field, cellValue);
2982
- const cellTexts = FieldModelMap[field.type].cellFullText(transformValue, field, references);
2984
+ const fieldModel = FieldModelMap[field.type];
2985
+ const transformValue = fieldModel.transformCellValue(cellValue, { aiTable, field });
2986
+ const cellTexts = fieldModel.cellFullText(transformValue, field, references);
2983
2987
  cellContent = {
2984
2988
  text: cellTexts.join(','),
2985
2989
  html: cellTexts.join(',')
@@ -3230,16 +3234,7 @@ function getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targe
3230
3234
  }
3231
3235
  return { value: FieldModelMap[targetField.type].toFieldValue(plainText, targetField, originData, references), newField: null };
3232
3236
  }
3233
- function appendRecord(aiTable, actions) {
3234
- const allRecords = aiTable.records();
3235
- const lastRecordId = allRecords.length > 0 ? allRecords[allRecords.length - 1]._id : '';
3236
- actions.addRecord({
3237
- originId: lastRecordId
3238
- });
3239
- }
3240
3237
  function appendField(aiTable, originField, actions) {
3241
- const fields = aiTable.gridData().fields;
3242
- const lastFieldId = fields.length > 0 ? fields[fields.length - 1]._id : '';
3243
3238
  let defaultFieldValue;
3244
3239
  if (originField) {
3245
3240
  const fieldOptions = getFieldOptions(aiTable);
@@ -3253,7 +3248,6 @@ function appendField(aiTable, originField, actions) {
3253
3248
  defaultFieldValue = createDefaultField(aiTable, AITableFieldType.text);
3254
3249
  }
3255
3250
  actions.addField({
3256
- originId: lastFieldId,
3257
3251
  defaultValue: defaultFieldValue
3258
3252
  });
3259
3253
  }
@@ -3269,22 +3263,28 @@ const writeToAITable = async (aiTable, actions) => {
3269
3263
  const [firstCell] = selectedCells;
3270
3264
  const [startRecordId, startFieldId] = firstCell.split(':');
3271
3265
  const startRowIndex = aiTable.context.visibleRowsIndexMap().get(startRecordId) ?? 0;
3266
+ const lastRowIndex = aiTable.context.linearRows().length - 1;
3267
+ const appendRowCount = clipboardContent.length - (lastRowIndex - startRowIndex);
3268
+ actions.addRecord({ count: appendRowCount });
3272
3269
  const startColIndex = aiTable.context.visibleColumnsIndexMap().get(startFieldId) ?? 0;
3270
+ const lastColIndex = aiTable.context.visibleColumnsIndexMap().size - 1;
3271
+ const copiedFieldLength = clipboardContent[0].length;
3272
+ const appendColCount = copiedFieldLength - (lastColIndex - startColIndex) - 1;
3273
+ const appendOffeset = copiedFieldLength - appendColCount;
3274
+ for (let i = 0; i < appendColCount; i++) {
3275
+ const originField = aiTableContent?.fields[appendOffeset + i] || null;
3276
+ appendField(aiTable, originField, actions);
3277
+ }
3278
+ const linearRows = aiTable.context.linearRows();
3273
3279
  const references = aiTable.context.references();
3274
3280
  let isPasteSuccess = false;
3281
+ let visibleFields = AITable.getVisibleFields(aiTable);
3275
3282
  clipboardContent.forEach((row, i) => {
3276
3283
  const targetRowIndex = startRowIndex + i;
3277
- if (targetRowIndex >= aiTable.context.linearRows().length - 1) {
3278
- appendRecord(aiTable, actions);
3279
- }
3280
3284
  row.forEach((plainText, j) => {
3281
3285
  const targetColIndex = startColIndex + j;
3282
- if (targetColIndex >= AITable.getVisibleFields(aiTable).length) {
3283
- const originField = aiTableContent?.fields[j] || null;
3284
- appendField(aiTable, originField, actions);
3285
- }
3286
- const targetRecord = aiTable.context.linearRows()[targetRowIndex];
3287
- const targetField = AITable.getVisibleFields(aiTable)[targetColIndex];
3286
+ const targetRecord = linearRows[targetRowIndex];
3287
+ const targetField = visibleFields[targetColIndex];
3288
3288
  const recordIndex = i;
3289
3289
  const fieldIndex = j;
3290
3290
  const { value, newField } = getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targetField, references);
@@ -3299,7 +3299,9 @@ const writeToAITable = async (aiTable, actions) => {
3299
3299
  });
3300
3300
  isPasteSuccess = true;
3301
3301
  }
3302
- catch (error) { }
3302
+ catch (error) {
3303
+ console.error('Failed to paste value:', error);
3304
+ }
3303
3305
  }
3304
3306
  });
3305
3307
  });
@@ -3614,6 +3616,9 @@ function toRateFieldValue(plainText, targetField, originData) {
3614
3616
  }
3615
3617
 
3616
3618
  class RichTextField extends RichTextFieldBase {
3619
+ transformCellValue(cellValue, options) {
3620
+ return transformCellValue(options.aiTable, options.field, cellValue);
3621
+ }
3617
3622
  isMeetFilter(condition, cellValue, options) {
3618
3623
  const textValue = transformCellValue(options.aiTable, options.field, cellValue || []);
3619
3624
  switch (condition.operation) {
@@ -3628,8 +3633,8 @@ class RichTextField extends RichTextFieldBase {
3628
3633
  }
3629
3634
  }
3630
3635
  compare(cellValue1, cellValue2, references, sortKey, options) {
3631
- const value1 = transformCellValue(options.aiTable, options.field, cellValue1 || []);
3632
- const value2 = transformCellValue(options.aiTable, options.field, cellValue2 || []);
3636
+ const value1 = this.transformCellValue(cellValue1 || [], options);
3637
+ const value2 = this.transformCellValue(cellValue2 || [], options);
3633
3638
  return compareString(value1, value2);
3634
3639
  }
3635
3640
  toFieldValue(plainText, targetField, originData) {
@@ -3709,6 +3714,9 @@ function getCellHorizontalPosition(options) {
3709
3714
  const { columnWidth } = options;
3710
3715
  return { width: columnWidth, offset: 0 };
3711
3716
  }
3717
+ // @deprecated 请使用 FieldModelMap 的 transformCellValue 方法
3718
+ // const fieldModel = FieldModelMap[field.type];
3719
+ // const transformValue = fieldModel.transformCellValue(cellValue, { aiTable, field });
3712
3720
  function transformCellValue(aiTable, field, cellValue) {
3713
3721
  const fieldModel = FieldModelMap[field.type];
3714
3722
  if (!fieldModel.isValid(cellValue)) {
@@ -4220,7 +4228,7 @@ const isCellMatchKeywords = (aiTable, field, recordId, keywords, references) =>
4220
4228
  const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, field._id]);
4221
4229
  const fieldMethod = FieldModelMap[field.type];
4222
4230
  if (fieldMethod.isValid(cellValue)) {
4223
- const transformValue = transformCellValue(aiTable, field, cellValue);
4231
+ const transformValue = fieldMethod.transformCellValue(cellValue, { aiTable, field });
4224
4232
  let cellFullText = fieldMethod.cellFullText(transformValue, field, references);
4225
4233
  return keywords && cellFullText.length && cellFullText.some((text) => text.toLowerCase().includes(keywords.toLowerCase()));
4226
4234
  }
@@ -7176,7 +7184,8 @@ const createCells = (config) => {
7176
7184
  const realY = y + AI_TABLE_OFFSET;
7177
7185
  const style = { fontWeight: DEFAULT_FONT_STYLE };
7178
7186
  const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, fieldId]);
7179
- const transformValue = transformCellValue(aiTable, field, cellValue);
7187
+ const fieldModel = FieldModelMap[field.type];
7188
+ const transformValue = fieldModel.transformCellValue(cellValue, { aiTable, field });
7180
7189
  const render = {
7181
7190
  aiTable,
7182
7191
  x: realX,
@@ -8251,7 +8260,8 @@ class AITableHoverCells {
8251
8260
  }
8252
8261
  const { field, recordId } = hoverCell;
8253
8262
  const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, field._id]);
8254
- const transformValue = transformCellValue(aiTable, field, cellValue);
8263
+ const fieldModel = FieldModelMap[field.type];
8264
+ const transformValue = fieldModel.transformCellValue(cellValue, { aiTable, field });
8255
8265
  const { rowHeight, columnCount, rowCount } = coordinate;
8256
8266
  const columnIndex = pointPosition.columnIndex;
8257
8267
  const rowIndex = pointPosition.rowIndex;
@@ -8958,6 +8968,28 @@ function getHoverCell(aiTable) {
8958
8968
  };
8959
8969
  }
8960
8970
 
8971
+ function clearCells(aiTable, actions) {
8972
+ const selectedCells = aiTable.selection().selectedCells;
8973
+ if (selectedCells.size === 0) {
8974
+ return;
8975
+ }
8976
+ const fieldsMap = aiTable.fieldsMap();
8977
+ for (const cellId of selectedCells) {
8978
+ const [recordId, fieldId] = cellId.split(':');
8979
+ if (!recordId || !fieldId) {
8980
+ continue;
8981
+ }
8982
+ const field = fieldsMap[fieldId];
8983
+ if (!field || isSystemField(field)) {
8984
+ continue;
8985
+ }
8986
+ actions.updateFieldValue({
8987
+ path: [recordId, fieldId],
8988
+ value: getDefaultFieldValue(field)
8989
+ });
8990
+ }
8991
+ }
8992
+
8961
8993
  class AITableGridEventService {
8962
8994
  constructor() {
8963
8995
  this.dblClickEvent$ = new Subject();
@@ -9264,12 +9296,8 @@ class AITableGridBase {
9264
9296
  this.aiTableGridFieldService.initAIFieldConfig(this.aiFieldConfig());
9265
9297
  AI_TABLE_GRID_FIELD_SERVICE_MAP.set(this.aiTable, this.aiTableGridFieldService);
9266
9298
  }
9267
- addRecord() {
9268
- const records = this.aiTable.gridData().records;
9269
- const recordCount = records.length;
9270
- this.aiAddRecord.emit({
9271
- originId: recordCount > 0 ? records[records.length - 1]._id : ''
9272
- });
9299
+ addRecord(options) {
9300
+ this.aiAddRecord.emit(options || {});
9273
9301
  }
9274
9302
  selectRecord(recordId) {
9275
9303
  this.aiTableGridSelectionService.selectRecord(recordId);
@@ -9720,11 +9748,7 @@ class AITableGrid extends AITableGridBase {
9720
9748
  references: this.aiReferences(),
9721
9749
  readonly: this.aiReadonly(),
9722
9750
  rowDragDisabled: this.aiRowDragDisabled(),
9723
- actions: {
9724
- updateFieldValue: (options) => {
9725
- this.aiUpdateFieldValue.emit(options);
9726
- }
9727
- }
9751
+ actions: this.actions
9728
9752
  };
9729
9753
  });
9730
9754
  this.coordinate = computed(() => {
@@ -9736,6 +9760,20 @@ class AITableGrid extends AITableGridBase {
9736
9760
  this.scrollbarWidth = computed(() => {
9737
9761
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
9738
9762
  });
9763
+ this.actions = {
9764
+ updateFieldValue: (data) => {
9765
+ this.aiUpdateFieldValue.emit(data);
9766
+ },
9767
+ setField: (field) => {
9768
+ this.aiSetField.emit(field);
9769
+ },
9770
+ addField: (data) => {
9771
+ this.aiAddField.emit(data);
9772
+ },
9773
+ addRecord: (data) => {
9774
+ this.addRecord(data);
9775
+ }
9776
+ };
9739
9777
  this.scrollAction = (options) => {
9740
9778
  if (this.timer) {
9741
9779
  cancelAnimationFrame(this.timer);
@@ -10160,7 +10198,9 @@ class AITableGrid extends AITableGridBase {
10160
10198
  }
10161
10199
  bindClipboardShortcuts() {
10162
10200
  fromEvent(document, 'keydown')
10163
- .pipe(filter((event) => (event.ctrlKey || event.metaKey) && (event.key === 'c' || event.key === 'v')), takeUntilDestroyed(this.destroyRef))
10201
+ .pipe(filter((event) => ((event.ctrlKey || event.metaKey) && (event.key === 'c' || event.key === 'v')) ||
10202
+ event.key === 'Backspace' ||
10203
+ event.key === 'Delete'), takeUntilDestroyed(this.destroyRef))
10164
10204
  .subscribe(async (event) => {
10165
10205
  if (this.aiReadonly()) {
10166
10206
  return;
@@ -10170,40 +10210,38 @@ class AITableGrid extends AITableGridBase {
10170
10210
  return;
10171
10211
  }
10172
10212
  const hasEditingCell = !!this.aiTableGridEventService.getCurrentEditCell();
10213
+ if (hasEditingCell) {
10214
+ return;
10215
+ }
10216
+ event.preventDefault();
10173
10217
  if (event.key === 'c') {
10174
- const clipboardData = buildClipboardData(this.aiTable);
10175
- if (clipboardData) {
10176
- writeToClipboard(clipboardData).then(() => {
10177
- const copiedCellsCount = this.aiTable.selection().selectedCells.size;
10178
- const message = getI18nTextByKey(this.aiTable, AITableGridI18nKey.copiedCells).replace('{count}', copiedCellsCount.toString());
10179
- this.notifyService.success(message, undefined, {
10180
- placement: 'bottomLeft'
10181
- });
10182
- });
10183
- }
10218
+ this.copyCells();
10184
10219
  }
10185
- else if (event.key === 'v' && !hasEditingCell) {
10186
- event.preventDefault();
10187
- const actions = {
10188
- updateFieldValue: (data) => {
10189
- this.aiUpdateFieldValue.emit(data);
10190
- },
10191
- setField: (field) => {
10192
- this.aiSetField.emit(field);
10193
- },
10194
- addField: (data) => {
10195
- this.aiAddField.emit(data);
10196
- },
10197
- addRecord: (data) => {
10198
- this.addRecord();
10199
- }
10200
- };
10201
- writeToAITable(this.aiTable, actions).then((isPasteSuccess) => {
10202
- if (!isPasteSuccess) {
10203
- this.notifyService.error(getI18nTextByKey(this.aiTable, AITableGridI18nKey.invalidPasteContent), undefined, {
10204
- placement: 'bottomLeft'
10205
- });
10206
- }
10220
+ else if (event.key === 'v') {
10221
+ this.pasteCells();
10222
+ }
10223
+ else if (event.key === 'Backspace' || event.key === 'Delete') {
10224
+ clearCells(this.aiTable, this.actions);
10225
+ }
10226
+ });
10227
+ }
10228
+ copyCells() {
10229
+ const clipboardData = buildClipboardData(this.aiTable);
10230
+ if (clipboardData) {
10231
+ writeToClipboard(clipboardData).then(() => {
10232
+ const copiedCellsCount = this.aiTable.selection().selectedCells.size;
10233
+ const message = getI18nTextByKey(this.aiTable, AITableGridI18nKey.copiedCells).replace('{count}', copiedCellsCount.toString());
10234
+ this.notifyService.success(message, undefined, {
10235
+ placement: 'bottomLeft'
10236
+ });
10237
+ });
10238
+ }
10239
+ }
10240
+ pasteCells() {
10241
+ writeToAITable(this.aiTable, this.actions).then((isPasteSuccess) => {
10242
+ if (!isPasteSuccess) {
10243
+ this.notifyService.error(getI18nTextByKey(this.aiTable, AITableGridI18nKey.invalidPasteContent), undefined, {
10244
+ placement: 'bottomLeft'
10207
10245
  });
10208
10246
  }
10209
10247
  });
@@ -10291,5 +10329,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10291
10329
  * Generated bundle index. Do not edit.
10292
10330
  */
10293
10331
 
10294
- export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowType, AITableSelectAllState, AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_ATTACHMENT_ADD, AI_TABLE_CELL_ATTACHMENT_FILE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_FIELD_ITEM_HEIGHT, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_OPACITY_LINE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_FIELD_ITEM_MARGIN_RIGHT, AI_TABLE_FIELD_MAX_WIDTH, AI_TABLE_FIELD_MIDDLE_WIDTH, AI_TABLE_FIELD_MINI_WIDTH, AI_TABLE_FIELD_MIN_WIDTH, AI_TABLE_FILE_ICON_ITEM_HEIGHT, AI_TABLE_FILE_ICON_SIZE, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_RATE_MAX, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_DRAG, AI_TABLE_ROW_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AbstractEditCellEditor, AddOutlinedPath, AttachmentField, AttachmentPath, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnRichTextFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate, DBL_CLICK_EDIT_TYPE, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_FONT_WEIGHT, DEFAULT_ICON_SHAPE, DEFAULT_ICON_SIZE, DEFAULT_POINT_POSITION, DEFAULT_SCROLL_STATE, DEFAULT_TEXT_ALIGN_CENTER, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT, DEFAULT_TEXT_DECORATION, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LINE_HEIGHT, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_MAX_CACHE, DEFAULT_TEXT_MAX_HEIGHT, DEFAULT_TEXT_SCALE, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_VERTICAL_ALIGN_TOP, DEFAULT_TEXT_WRAP, DEFAULT_WRAP_TEXT_MAX_ROW, DateCellEditorComponent, DateField, DepartmentOutlinedPath, EditPath, FONT_SIZE_SM, FieldModelMap, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, KO_CONTAINER_TOKEN, KoComponent, KoContainer, KoShape, KoShapeTypes, KoStage, LinkCellEditorComponent, LinkField, MIN_COLUMN_WIDTH, MemberField, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, NumberField, ProgressField, RateField, RendererContext, RichTextField, RowDragPath, RowHeight, SelectCellEditorComponent, SelectField, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextField, TextMeasure, Unchecked, UserPipe, WebOutlinedPath, aiTableFragmentAttribute, applyNodeProps, buildClipboardData, buildGridData, buildGridLinearRows, castToString, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, createListener, extractLinkUrl, extractText, generateNewName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDefaultI18nTextByKey, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getFieldOptions, getFieldValue, getFileThumbnailSvgString, getHoverCell, getHoverEditorBoxOffset, getHoverEditorSpace, getI18nTextByKey, getMousePosition, getName, getPlaceHolderCellsConfigs, getSystemFieldValue, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isActiveCell, isArrayField, isCellMatchKeywords, isClipboardReadSupported, isClipboardReadTextSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isDateFiled, isEmptyOrNot, isMac, isMeetFilter, isNumberFiled, isSameFieldOption, isSelectedField, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, processPastedValueForSelect, readFromClipboard, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, toAttachmentFieldValue, toDateFieldValue, toLinkFieldValue, toMemberFieldValue, toNumberFieldValue, toProgressFieldValue, toRateFieldValue, toRichTextFieldValue, toSelectFieldValue, toTextFieldValue, transformCellValue, updatePicture, writeToAITable, writeToClipboard, zhIntlCollator };
10332
+ export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowType, AITableSelectAllState, AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_ATTACHMENT_ADD, AI_TABLE_CELL_ATTACHMENT_FILE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_FIELD_ITEM_HEIGHT, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_OPACITY_LINE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_FIELD_ITEM_MARGIN_RIGHT, AI_TABLE_FIELD_MAX_WIDTH, AI_TABLE_FIELD_MIDDLE_WIDTH, AI_TABLE_FIELD_MINI_WIDTH, AI_TABLE_FIELD_MIN_WIDTH, AI_TABLE_FILE_ICON_ITEM_HEIGHT, AI_TABLE_FILE_ICON_SIZE, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_RATE_MAX, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_DRAG, AI_TABLE_ROW_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AbstractEditCellEditor, AddOutlinedPath, AttachmentField, AttachmentPath, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnRichTextFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate, DBL_CLICK_EDIT_TYPE, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_FONT_WEIGHT, DEFAULT_ICON_SHAPE, DEFAULT_ICON_SIZE, DEFAULT_POINT_POSITION, DEFAULT_SCROLL_STATE, DEFAULT_TEXT_ALIGN_CENTER, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT, DEFAULT_TEXT_DECORATION, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LINE_HEIGHT, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_MAX_CACHE, DEFAULT_TEXT_MAX_HEIGHT, DEFAULT_TEXT_SCALE, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_VERTICAL_ALIGN_TOP, DEFAULT_TEXT_WRAP, DEFAULT_WRAP_TEXT_MAX_ROW, DateCellEditorComponent, DateField, DepartmentOutlinedPath, EditPath, FONT_SIZE_SM, FieldModelMap, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, KO_CONTAINER_TOKEN, KoComponent, KoContainer, KoShape, KoShapeTypes, KoStage, LinkCellEditorComponent, LinkField, MIN_COLUMN_WIDTH, MemberField, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, NumberField, ProgressField, RateField, RendererContext, RichTextField, RowDragPath, RowHeight, SelectCellEditorComponent, SelectField, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextField, TextMeasure, Unchecked, UserPipe, WebOutlinedPath, aiTableFragmentAttribute, applyNodeProps, buildClipboardData, buildGridData, buildGridLinearRows, castToString, clearCells, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, createListener, extractLinkUrl, extractText, generateNewName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDefaultI18nTextByKey, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getFieldOptions, getFieldValue, getFileThumbnailSvgString, getHoverCell, getHoverEditorBoxOffset, getHoverEditorSpace, getI18nTextByKey, getMousePosition, getName, getPlaceHolderCellsConfigs, getSystemFieldValue, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isActiveCell, isArrayField, isCellMatchKeywords, isClipboardReadSupported, isClipboardReadTextSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isDateFiled, isEmptyOrNot, isMac, isMeetFilter, isNumberFiled, isSameFieldOption, isSelectedField, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, processPastedValueForSelect, readFromClipboard, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, toAttachmentFieldValue, toDateFieldValue, toLinkFieldValue, toMemberFieldValue, toNumberFieldValue, toProgressFieldValue, toRateFieldValue, toRichTextFieldValue, toSelectFieldValue, toTextFieldValue, transformCellValue, updatePicture, writeToAITable, writeToClipboard, zhIntlCollator };
10295
10333
  //# sourceMappingURL=ai-table-grid.mjs.map