@ai-table/grid 0.0.50 → 0.0.52

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 (51) hide show
  1. package/core/utils/field.d.ts +1 -0
  2. package/core/utils/field.d.ts.map +1 -1
  3. package/esm2022/core/utils/field.mjs +7 -3
  4. package/esm2022/grid.component.mjs +12 -3
  5. package/esm2022/renderer/drawers/cell-drawer.mjs +8 -4
  6. package/esm2022/renderer/renderer.component.mjs +7 -3
  7. package/esm2022/utils/cell.mjs +4 -1
  8. package/esm2022/utils/field/model/attachment.mjs +4 -1
  9. package/esm2022/utils/field/model/date.mjs +5 -1
  10. package/esm2022/utils/field/model/field.mjs +1 -1
  11. package/esm2022/utils/field/model/link.mjs +4 -1
  12. package/esm2022/utils/field/model/member.mjs +4 -1
  13. package/esm2022/utils/field/model/number.mjs +4 -1
  14. package/esm2022/utils/field/model/progress.mjs +4 -1
  15. package/esm2022/utils/field/model/rate.mjs +4 -1
  16. package/esm2022/utils/field/model/rich-text.mjs +4 -1
  17. package/esm2022/utils/field/model/select.mjs +4 -1
  18. package/esm2022/utils/field/model/text.mjs +4 -1
  19. package/esm2022/utils/hover-cell.mjs +1 -1
  20. package/fesm2022/ai-table-grid.mjs +64 -9
  21. package/fesm2022/ai-table-grid.mjs.map +1 -1
  22. package/grid.component.d.ts +1 -0
  23. package/grid.component.d.ts.map +1 -1
  24. package/package.json +1 -1
  25. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  26. package/renderer/renderer.component.d.ts +3 -1
  27. package/renderer/renderer.component.d.ts.map +1 -1
  28. package/utils/cell.d.ts.map +1 -1
  29. package/utils/field/model/attachment.d.ts +1 -0
  30. package/utils/field/model/attachment.d.ts.map +1 -1
  31. package/utils/field/model/date.d.ts +1 -0
  32. package/utils/field/model/date.d.ts.map +1 -1
  33. package/utils/field/model/field.d.ts +1 -0
  34. package/utils/field/model/field.d.ts.map +1 -1
  35. package/utils/field/model/link.d.ts +1 -0
  36. package/utils/field/model/link.d.ts.map +1 -1
  37. package/utils/field/model/member.d.ts +1 -0
  38. package/utils/field/model/member.d.ts.map +1 -1
  39. package/utils/field/model/number.d.ts +1 -0
  40. package/utils/field/model/number.d.ts.map +1 -1
  41. package/utils/field/model/progress.d.ts +1 -0
  42. package/utils/field/model/progress.d.ts.map +1 -1
  43. package/utils/field/model/rate.d.ts +1 -0
  44. package/utils/field/model/rate.d.ts.map +1 -1
  45. package/utils/field/model/rich-text.d.ts +1 -0
  46. package/utils/field/model/rich-text.d.ts.map +1 -1
  47. package/utils/field/model/select.d.ts +1 -0
  48. package/utils/field/model/select.d.ts.map +1 -1
  49. package/utils/field/model/text.d.ts +1 -0
  50. package/utils/field/model/text.d.ts.map +1 -1
  51. package/utils/hover-cell.d.ts.map +1 -1
@@ -7,6 +7,9 @@ import { compareString, hasIntersect } from '../operate';
7
7
  import { DEFAULT_COLORS } from 'ngx-tethys/color-picker';
8
8
  import { idCreator } from '../../../core';
9
9
  export class SelectField extends Field {
10
+ isValid(cellValue) {
11
+ return Array.isArray(cellValue) || cellValue === null;
12
+ }
10
13
  isMeetFilter(condition, cellValue) {
11
14
  switch (condition.operation) {
12
15
  case AITableFilterOperation.empty:
@@ -138,4 +141,4 @@ function cellValueToSortValue(cellValue, field) {
138
141
  }
139
142
  return texts && texts.length ? texts.join(',') : null;
140
143
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUdILGdCQUFnQixFQUVoQix3QkFBd0IsRUFJM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFDekIsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBMkI7UUFDeEYsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RGLEtBQUssc0JBQXNCLENBQUMs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U0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgQUlUYWJsZUZpZWxkVHlwZSxcbiAgICBBSVRhYmxlU2VsZWN0T3B0aW9uLFxuICAgIEFJVGFibGVTZWxlY3RPcHRpb25TdHlsZSxcbiAgICBGaWVsZFZhbHVlLFxuICAgIFNlbGVjdEZpZWxkVmFsdWUsXG4gICAgU2VsZWN0U2V0dGluZ3Ncbn0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIGhhc0ludGVyc2VjdCB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgREVGQVVMVF9DT0xPUlMgfSBmcm9tICduZ3gtdGV0aHlzL2NvbG9yLXBpY2tlcic7XG5pbXBvcnQgeyBpZENyZWF0b3IgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBTZWxlY3RGaWVsZFZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgaGFzSW50ZXJzZWN0KGNlbGxWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiAhaGFzSW50ZXJzZWN0KGNlbGxWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IEZpZWxkVmFsdWUsXG4gICAgICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgICAgICBzb3J0S2V5OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGFpVGFibGU6IEFJVGFibGU7XG4gICAgICAgICAgICBmaWVsZDogQUlUYWJsZUZpZWxkO1xuICAgICAgICB9LCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIG9wdGlvbnMuZmllbGQpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyLCBvcHRpb25zLmZpZWxkKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nW10sIGZpZWxkOiBBSVRhYmxlRmllbGQpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3Qgb3B0aW9uc01hcCA9IGhlbHBlcnMua2V5QnkoKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKS5vcHRpb25zIHx8IFtdLCAnX2lkJyk7XG4gICAgICAgIGlmICh0cmFuc2Zvcm1WYWx1ZSAmJiBBcnJheS5pc0FycmF5KHRyYW5zZm9ybVZhbHVlKSAmJiB0cmFuc2Zvcm1WYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybVZhbHVlLmZvckVhY2goKG9wdGlvbklkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbiAmJiBvcHRpb24udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dC5wdXNoKG9wdGlvbi50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVsbFRleHQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9TZWxlY3RGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2VsZWN0RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbFxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0KFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4pOiB7IGV4aXN0T3B0aW9uSWRzOiBzdHJpbmdbXTsgbmV3T3B0aW9uczogQUlUYWJsZVNlbGVjdE9wdGlvbltdIH0ge1xuICAgIGNvbnN0IHRhcmdldEZpZWxkT3B0aW9ucyA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW107XG4gICAgY29uc3QgdGFyZ2V0T3B0aW9uU3R5bGUgPSAodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5vcHRpb25fc3R5bGUgfHwgQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLnRleHQ7XG5cbiAgICBsZXQgZXhpc3RPcHRpb25JZHM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IG5ld09wdGlvbnM6IEFJVGFibGVTZWxlY3RPcHRpb25bXSA9IFtdO1xuICAgIGxldCBjZWxsRnVsbFRleHRzOiBzdHJpbmdbXSA9IHBsYWluVGV4dC5zcGxpdCgnLCcpLm1hcCgodGV4dCkgPT4gdGV4dC50cmltKCkpO1xuXG4gICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhIHx8IHt9O1xuICAgIGlmIChmaWVsZCAmJiBmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdCkge1xuICAgICAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRPcHRpb25JZHMgPSB0YXJnZXRGaWVsZE9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5faWQpO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uc01hcCA9IGhlbHBlcnMua2V5QnkoKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8ub3B0aW9ucyB8fCBbXSwgJ19pZCcpO1xuICAgICAgICAgICAgY2VsbFZhbHVlLmZvckVhY2goKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldE9wdGlvbklkcy5pbmNsdWRlcyhpZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RPcHRpb25JZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0YXJnZXRGaWVsZE9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24udGV4dCA9PT0gb3JpZ2luT3B0aW9uc01hcFtpZF0/LnRleHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRhcmdldEZpZWxkT3B0aW9ucy5maW5kKChvcHRpb246IEFJVGFibGVTZWxlY3RPcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSBvcmlnaW5PcHRpb25zTWFwW2lkXS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RPcHRpb25JZHMucHVzaChvcHRpb24hLl9pZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gb3JpZ2luT3B0aW9uc01hcFtpZF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW5PcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbiA9IGNvcHlPcHRpb24ob3JpZ2luT3B0aW9uLCB0YXJnZXRGaWVsZE9wdGlvbnMsIHRhcmdldE9wdGlvblN0eWxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaChuZXdPcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjZWxsRnVsbFRleHRzLmZvckVhY2goKHRleHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRhcmdldEZpZWxkT3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSB0ZXh0KTtcbiAgICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBleGlzdE9wdGlvbklkcy5wdXNoKG9wdGlvbi5faWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb24gPSB7IHRleHQgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdPcHRpb24gPSBjb3B5T3B0aW9uKG9yaWdpbk9wdGlvbiwgdGFyZ2V0RmllbGRPcHRpb25zLCB0YXJnZXRPcHRpb25TdHlsZSk7XG4gICAgICAgICAgICAgICAgbmV3T3B0aW9ucy5wdXNoKG5ld09wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSAodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5pc19tdWx0aXBsZTtcbiAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkcywgbmV3T3B0aW9ucyB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChleGlzdE9wdGlvbklkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGV4aXN0T3B0aW9uSWRzOiBbZXhpc3RPcHRpb25JZHNbMF1dLCBuZXdPcHRpb25zOiBbXSB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5ld09wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtdLCBuZXdPcHRpb25zOiBbbmV3T3B0aW9uc1swXV0gfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtdLCBuZXdPcHRpb25zOiBbXSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjb3B5T3B0aW9uKFxuICAgIG9yaWdpbk9wdGlvbjogUGFydGlhbDxBSVRhYmxlU2VsZWN0T3B0aW9uPixcbiAgICB0YXJnZXRGaWVsZE9wdGlvbnM6IEFJVGFibGVTZWxlY3RPcHRpb25bXSxcbiAgICB0YXJnZXRPcHRpb25TdHlsZTogQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlXG4pOiBBSVRhYmxlU2VsZWN0T3B0aW9uIHtcbiAgICBsZXQgbmV3T3B0aW9uOiBBSVRhYmxlU2VsZWN0T3B0aW9uID0ge1xuICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICB0ZXh0OiBvcmlnaW5PcHRpb24udGV4dCFcbiAgICB9O1xuXG4gICAgaWYgKHRhcmdldE9wdGlvblN0eWxlICE9PSBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUudGV4dCkge1xuICAgICAgICBjb25zdCBvcmlnaW5CZ0NvbG9yID0gb3JpZ2luT3B0aW9uLmJnX2NvbG9yO1xuICAgICAgICBjb25zdCBleGlzdEJnQ29sb3JzID0gdGFyZ2V0RmllbGRPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uYmdfY29sb3IpO1xuICAgICAgICBjb25zdCBkZWZhdWx0QmdDb2xvciA9IERFRkFVTFRfQ09MT1JTWzEwICsgKHRhcmdldEZpZWxkT3B0aW9ucz8ubGVuZ3RoIHx8IDApXTtcblxuICAgICAgICBuZXdPcHRpb24gPSB7XG4gICAgICAgICAgICAuLi5uZXdPcHRpb24sXG4gICAgICAgICAgICBiZ19jb2xvcjogb3JpZ2luQmdDb2xvciAmJiAhZXhpc3RCZ0NvbG9ycy5pbmNsdWRlcyhvcmlnaW5CZ0NvbG9yKSA/IG9yaWdpbkJnQ29sb3IgOiBkZWZhdWx0QmdDb2xvclxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBuZXdPcHRpb247XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogU2VsZWN0RmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghY2VsbFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBvcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpLm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIGNlbGxWYWx1ZS5mb3JFYWNoKChvcHRpb25JZCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICBpZiAob3B0aW9uICYmIG9wdGlvbi50ZXh0KSB7XG4gICAgICAgICAgICAgICAgdGV4dHMucHVzaChvcHRpb24udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dHMgJiYgdGV4dHMubGVuZ3RoID8gdGV4dHMuam9pbignLCcpIDogbnVsbDtcbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUdILGdCQUFnQixFQUVoQix3QkFBd0IsRUFJM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFDekIsT0FBTyxDQUFDLFNBQXFCO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDO0lBQzFELENBQUM7SUFFUSxZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8s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LFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFFLEtBQUssQ0FBQyxRQUEyQixDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUYsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNCLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhlbHBlcnMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24sIEFJVGFibGVSZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBBSVRhYmxlLFxuICAgIEFJVGFibGVGaWVsZCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIEFJVGFibGVTZWxlY3RPcHRpb24sXG4gICAgQUlUYWJsZVNlbGVjdE9wdGlvblN0eWxlLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgU2VsZWN0RmllbGRWYWx1ZSxcbiAgICBTZWxlY3RTZXR0aW5nc1xufSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgaGFzSW50ZXJzZWN0IH0gZnJvbSAnLi4vb3BlcmF0ZSc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTE9SUyB9IGZyb20gJ25neC10ZXRoeXMvY29sb3ItcGlja2VyJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSB8fCBjZWxsVmFsdWUgPT09IG51bGw7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IFNlbGVjdEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiBoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLm5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmICFoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSxcbiAgICAgICAgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSxcbiAgICAgICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgICAgIHNvcnRLZXk6IHN0cmluZyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZTtcbiAgICAgICAgICAgIGZpZWxkOiBBSVRhYmxlRmllbGQ7XG4gICAgICAgIH0sKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUxID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSwgb3B0aW9ucy5maWVsZCk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIsIG9wdGlvbnMuZmllbGQpO1xuICAgICAgICByZXR1cm4gY29tcGFyZVN0cmluZyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBzdHJpbmdbXSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IGZ1bGxUZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBvcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpLm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICAgICAgaWYgKHRyYW5zZm9ybVZhbHVlICYmIEFycmF5LmlzQXJyYXkodHJhbnNmb3JtVmFsdWUpICYmIHRyYW5zZm9ybVZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtVmFsdWUuZm9yRWFjaCgob3B0aW9uSWQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwW29wdGlvbklkXTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uICYmIG9wdGlvbi50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0LnB1c2gob3B0aW9uLnRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdWxsVGV4dDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0b1NlbGVjdEZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TZWxlY3RGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4pOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbik6IHsgZXhpc3RPcHRpb25JZHM6IHN0cmluZ1tdOyBuZXdPcHRpb25zOiBBSVRhYmxlU2VsZWN0T3B0aW9uW10gfSB7XG4gICAgY29uc3QgdGFyZ2V0RmllbGRPcHRpb25zID0gKHRhcmdldEZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8ub3B0aW9ucyB8fCBbXTtcbiAgICBjb25zdCB0YXJnZXRPcHRpb25TdHlsZSA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbl9zdHlsZSB8fCBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGUudGV4dDtcblxuICAgIGxldCBleGlzdE9wdGlvbklkczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgbmV3T3B0aW9uczogQUlUYWJsZVNlbGVjdE9wdGlvbltdID0gW107XG4gICAgbGV0IGNlbGxGdWxsVGV4dHM6IHN0cmluZ1tdID0gcGxhaW5UZXh0LnNwbGl0KCcsJykubWFwKCh0ZXh0KSA9PiB0ZXh0LnRyaW0oKSk7XG5cbiAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGEgfHwge307XG4gICAgaWYgKGZpZWxkICYmIGZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuc2VsZWN0KSB7XG4gICAgICAgIGlmIChjZWxsVmFsdWUgJiYgQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpICYmIGNlbGxWYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldE9wdGlvbklkcyA9IHRhcmdldEZpZWxkT3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLl9pZCk7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5vcHRpb25zIHx8IFtdLCAnX2lkJyk7XG4gICAgICAgICAgICBjZWxsVmFsdWUuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0T3B0aW9uSWRzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE9wdGlvbklkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRhcmdldEZpZWxkT3B0aW9ucy5zb21lKChvcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSBvcmlnaW5PcHRpb25zTWFwW2lkXT8udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGFyZ2V0RmllbGRPcHRpb25zLmZpbmQoKG9wdGlvbjogQUlUYWJsZVNlbGVjdE9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IG9yaWdpbk9wdGlvbnNNYXBbaWRdLnRleHQpO1xuICAgICAgICAgICAgICAgICAgICBleGlzdE9wdGlvbklkcy5wdXNoKG9wdGlvbiEuX2lkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb24gPSBvcmlnaW5PcHRpb25zTWFwW2lkXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdpbk9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9uID0gY29weU9wdGlvbihvcmlnaW5PcHRpb24sIHRhcmdldEZpZWxkT3B0aW9ucywgdGFyZ2V0T3B0aW9uU3R5bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3T3B0aW9ucy5wdXNoKG5ld09wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNlbGxGdWxsVGV4dHMuZm9yRWFjaCgodGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGFyZ2V0RmllbGRPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IHRleHQpO1xuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGV4aXN0T3B0aW9uSWRzLnB1c2gob3B0aW9uLl9pZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbiA9IHsgdGV4dCB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbiA9IGNvcHlPcHRpb24ob3JpZ2luT3B0aW9uLCB0YXJnZXRGaWVsZE9wdGlvbnMsIHRhcmdldE9wdGlvblN0eWxlKTtcbiAgICAgICAgICAgICAgICBuZXdPcHRpb25zLnB1c2gobmV3T3B0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNNdWx0aXBsZSA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/LmlzX211bHRpcGxlO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgIHJldHVybiB7IGV4aXN0T3B0aW9uSWRzLCBuZXdPcHRpb25zIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV4aXN0T3B0aW9uSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtleGlzdE9wdGlvbklkc1swXV0sIG5ld09wdGlvbnM6IFtdIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobmV3T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkczogW10sIG5ld09wdGlvbnM6IFtuZXdPcHRpb25zWzBdXSB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkczogW10sIG5ld09wdGlvbnM6IFtdIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNvcHlPcHRpb24oXG4gICAgb3JpZ2luT3B0aW9uOiBQYXJ0aWFsPEFJVGFibGVTZWxlY3RPcHRpb24+LFxuICAgIHRhcmdldEZpZWxkT3B0aW9uczogQUlUYWJsZVNlbGVjdE9wdGlvbltdLFxuICAgIHRhcmdldE9wdGlvblN0eWxlOiBBSVRhYmxlU2VsZWN0T3B0aW9uU3R5bGVcbik6IEFJVGFibGVTZWxlY3RPcHRpb24ge1xuICAgIGxldCBuZXdPcHRpb246IEFJVGFibGVTZWxlY3RPcHRpb24gPSB7XG4gICAgICAgIF9pZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHRleHQ6IG9yaWdpbk9wdGlvbi50ZXh0IVxuICAgIH07XG5cbiAgICBpZiAodGFyZ2V0T3B0aW9uU3R5bGUgIT09IEFJVGFibGVTZWxlY3RPcHRpb25TdHlsZS50ZXh0KSB7XG4gICAgICAgIGNvbnN0IG9yaWdpbkJnQ29sb3IgPSBvcmlnaW5PcHRpb24uYmdfY29sb3I7XG4gICAgICAgIGNvbnN0IGV4aXN0QmdDb2xvcnMgPSB0YXJnZXRGaWVsZE9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5iZ19jb2xvcik7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRCZ0NvbG9yID0gREVGQVVMVF9DT0xPUlNbMTAgKyAodGFyZ2V0RmllbGRPcHRpb25zPy5sZW5ndGggfHwgMCldO1xuXG4gICAgICAgIG5ld09wdGlvbiA9IHtcbiAgICAgICAgICAgIC4uLm5ld09wdGlvbixcbiAgICAgICAgICAgIGJnX2NvbG9yOiBvcmlnaW5CZ0NvbG9yICYmICFleGlzdEJnQ29sb3JzLmluY2x1ZGVzKG9yaWdpbkJnQ29sb3IpID8gb3JpZ2luQmdDb2xvciA6IGRlZmF1bHRCZ0NvbG9yXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld09wdGlvbjtcbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlOiBTZWxlY3RGaWVsZFZhbHVlLCBmaWVsZDogQUlUYWJsZUZpZWxkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFjZWxsVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHRleHRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG9wdGlvbnNNYXAgPSBoZWxwZXJzLmtleUJ5KChmaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncykub3B0aW9ucyB8fCBbXSwgJ19pZCcpO1xuICAgIGlmIChjZWxsVmFsdWUgJiYgQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpICYmIGNlbGxWYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgY2VsbFZhbHVlLmZvckVhY2goKG9wdGlvbklkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwW29wdGlvbklkXTtcbiAgICAgICAgICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLnRleHQpIHtcbiAgICAgICAgICAgICAgICB0ZXh0cy5wdXNoKG9wdGlvbi50ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0cyAmJiB0ZXh0cy5sZW5ndGggPyB0ZXh0cy5qb2luKCcsJykgOiBudWxsO1xufVxuIl19
@@ -3,6 +3,9 @@ import { isEmpty } from '../../common';
3
3
  import { compareString, stringInclude } from '../operate';
4
4
  import { Field } from './field';
5
5
  export class TextField extends Field {
6
+ isValid(cellValue) {
7
+ return typeof cellValue === 'string' || cellValue === null;
8
+ }
6
9
  isMeetFilter(condition, cellValue) {
7
10
  switch (condition.operation) {
8
11
  case AITableFilterOperation.empty:
@@ -30,4 +33,4 @@ export function toTextFieldValue(plainText) {
30
33
  function cellValueToSortValue(cellValue) {
31
34
  return (cellValue && cellValue.trim()) || null;
32
35
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL3RleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDdkIsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBcUI7UUFDbEYsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsS0FBSyxzQkFBc0IsQ0FBQyxPQUFPO2dCQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVFO2dCQUNJLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNMLENBQUM7SUFFUSxPQUFPLENBQUMsVUFBc0IsRUFBRSxVQUFzQjtRQUMzRCxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVRLFlBQVksQ0FBQyxTQUFpQjtRQUNuQyxPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUFpQjtJQUM5QyxPQUFPLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxTQUFxQjtJQUMvQyxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgc3RyaW5nSW5jbHVkZSB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5jb250YWluOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpICYmIHN0cmluZ0luY2x1ZGUoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShwbGFpblRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvVGV4dEZpZWxkVmFsdWUocGxhaW5UZXh0KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1RleHRGaWVsZFZhbHVlKHBsYWluVGV4dDogc3RyaW5nKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBwbGFpblRleHQudHJpbSgpO1xufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gKGNlbGxWYWx1ZSAmJiBjZWxsVmFsdWUudHJpbSgpKSB8fCBudWxsO1xufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL3RleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDdkIsT0FBTyxDQUFDLFNBQXFCO1FBQ2xDLE9BQU8sT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUVRLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXFCO1FBQ2xGLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSztnQkFDN0IsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLEtBQUssc0JBQXNCLENBQUMsT0FBTztnQkFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RTtnQkFDSSxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDTCxDQUFDO0lBRVEsT0FBTyxDQUFDLFVBQXNCLEVBQUUsVUFBc0I7UUFDM0QsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBaUI7SUFDOUMsT0FBTyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDNUIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsU0FBcUI7SUFDL0MsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIHN0cmluZ0luY2x1ZGUgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5cbmV4cG9ydCBjbGFzcyBUZXh0RmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBjZWxsVmFsdWUgPT09ICdzdHJpbmcnIHx8IGNlbGxWYWx1ZSA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5jb250YWluOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpICYmIHN0cmluZ0luY2x1ZGUoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShwbGFpblRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvVGV4dEZpZWxkVmFsdWUocGxhaW5UZXh0KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1RleHRGaWVsZFZhbHVlKHBsYWluVGV4dDogc3RyaW5nKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBwbGFpblRleHQudHJpbSgpO1xufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gKGNlbGxWYWx1ZSAmJiBjZWxsVmFsdWUudHJpbSgpKSB8fCBudWxsO1xufVxuIl19
@@ -22,4 +22,4 @@ export function getHoverCell(aiTable) {
22
22
  renderComponentDefinition
23
23
  };
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2hvdmVyLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQ3pDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsY0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pGLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixPQUFPO0lBQ1gsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFTLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBUSxDQUFDLENBQUM7SUFFNUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzdCLE9BQU87SUFDWCxDQUFDO0lBQ0QsT0FBTztRQUNILEtBQUs7UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLHlCQUF5QjtLQUM1QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBjb21wb25lbnRNYXAgfSBmcm9tICcuLi9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2NlbGxzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNlbGxWYWx1ZSB9IGZyb20gJy4vY2VsbCc7XG5pbXBvcnQgeyBnZXREZXRhaWxCeVRhcmdldE5hbWUgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3ZlckNlbGwoYWlUYWJsZTogQUlUYWJsZSkge1xuICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSBhaVRhYmxlLmNvbnRleHQhLnBvaW50UG9zaXRpb24oKTtcbiAgICBjb25zdCB7IGZpZWxkSWQsIHJlY29yZElkIH0gPSBnZXREZXRhaWxCeVRhcmdldE5hbWUocG9pbnRQb3NpdGlvbi5yZWFsVGFyZ2V0TmFtZSEpID8/IHt9O1xuICAgIGlmICghcmVjb3JkSWQgfHwgIWZpZWxkSWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZWNvcmQgPSBhaVRhYmxlLnJlY29yZHNNYXAoKVtyZWNvcmRJZCFdO1xuICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkIV07XG5cbiAgICBpZiAoIXJlY29yZCB8fCAhZmllbGQgfHwgIXJlY29yZElkIHx8ICFmaWVsZElkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZW5kZXJDb21wb25lbnREZWZpbml0aW9uID0gY29tcG9uZW50TWFwW2ZpZWxkPy50eXBlXTtcbiAgICBpZiAoIXJlbmRlckNvbXBvbmVudERlZmluaXRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZCxcbiAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgIGZpZWxkSWQsXG4gICAgICAgIHJlbmRlckNvbXBvbmVudERlZmluaXRpb25cbiAgICB9O1xufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2hvdmVyLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQ3pDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsY0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pGLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixPQUFPO0lBQ1gsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFTLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBUSxDQUFDLENBQUM7SUFFNUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzdCLE9BQU87SUFDWCxDQUFDO0lBQ0QsT0FBTztRQUNILEtBQUs7UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLHlCQUF5QjtLQUM1QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcCB9IGZyb20gJy4uL3JlbmRlcmVyL2NvbXBvbmVudHMvY2VsbHMvY2VsbHMnO1xuaW1wb3J0IHsgZ2V0RGV0YWlsQnlUYXJnZXROYW1lIH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SG92ZXJDZWxsKGFpVGFibGU6IEFJVGFibGUpIHtcbiAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgY29uc3QgeyBmaWVsZElkLCByZWNvcmRJZCB9ID0gZ2V0RGV0YWlsQnlUYXJnZXROYW1lKHBvaW50UG9zaXRpb24ucmVhbFRhcmdldE5hbWUhKSA/PyB7fTtcbiAgICBpZiAoIXJlY29yZElkIHx8ICFmaWVsZElkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVjb3JkID0gYWlUYWJsZS5yZWNvcmRzTWFwKClbcmVjb3JkSWQhXTtcbiAgICBjb25zdCBmaWVsZCA9IGFpVGFibGUuZmllbGRzTWFwKClbZmllbGRJZCFdO1xuXG4gICAgaWYgKCFyZWNvcmQgfHwgIWZpZWxkIHx8ICFyZWNvcmRJZCB8fCAhZmllbGRJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVuZGVyQ29tcG9uZW50RGVmaW5pdGlvbiA9IGNvbXBvbmVudE1hcFtmaWVsZD8udHlwZV07XG4gICAgaWYgKCFyZW5kZXJDb21wb25lbnREZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHJlY29yZElkLFxuICAgICAgICBmaWVsZElkLFxuICAgICAgICByZW5kZXJDb21wb25lbnREZWZpbml0aW9uXG4gICAgfTtcbn1cbiJdfQ==
@@ -1239,7 +1239,8 @@ const isArrayField = (field) => {
1239
1239
  AITableFieldType.createdBy,
1240
1240
  AITableFieldType.updatedBy,
1241
1241
  AITableFieldType.select,
1242
- AITableFieldType.attachment
1242
+ AITableFieldType.attachment,
1243
+ AITableFieldType.richText
1243
1244
  ].includes(field.type);
1244
1245
  };
1245
1246
  const isSystemField = (field) => {
@@ -1248,11 +1249,14 @@ const isSystemField = (field) => {
1248
1249
  const isNumberFiled = (field) => {
1249
1250
  return [AITableFieldType.number, AITableFieldType.progress, AITableFieldType.rate].includes(field.type);
1250
1251
  };
1252
+ const isDateFiled = (field) => {
1253
+ return [AITableFieldType.date, AITableFieldType.createdAt, AITableFieldType.updatedAt].includes(field.type);
1254
+ };
1251
1255
  function getDefaultFieldValue(field) {
1252
1256
  if (isArrayField(field)) {
1253
1257
  return [];
1254
1258
  }
1255
- if (isNumberFiled(field) || field.type === AITableFieldType.richText) {
1259
+ if (isNumberFiled(field) || isDateFiled(field) || field.type === AITableFieldType.link) {
1256
1260
  return null;
1257
1261
  }
1258
1262
  return '';
@@ -2687,6 +2691,9 @@ function getCellHorizontalPosition(options) {
2687
2691
  return { width: columnWidth, offset: 0 };
2688
2692
  }
2689
2693
  function transformCellValue(aiTable, field, cellValue) {
2694
+ if (cellValue === undefined || cellValue === null) {
2695
+ return cellValue;
2696
+ }
2690
2697
  const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
2691
2698
  if (!fieldService) {
2692
2699
  return cellValue;
@@ -3169,6 +3176,9 @@ class Field {
3169
3176
  }
3170
3177
 
3171
3178
  class AttachmentField extends Field {
3179
+ isValid(cellValue) {
3180
+ return Array.isArray(cellValue) || cellValue === null;
3181
+ }
3172
3182
  isMeetFilter(condition, cellValue) {
3173
3183
  switch (condition.operation) {
3174
3184
  case AITableFilterOperation.empty:
@@ -3228,6 +3238,10 @@ function cellValueToSortValue$5(cellValue, field, references, sortKey = 'title')
3228
3238
  }
3229
3239
 
3230
3240
  class DateField extends Field {
3241
+ isValid(cellValue) {
3242
+ return ((cellValue && typeof cellValue === 'object' && 'timestamp' in cellValue && typeof cellValue.timestamp === 'number') ||
3243
+ cellValue === null);
3244
+ }
3231
3245
  isMeetFilter(condition, cellValue) {
3232
3246
  const [left, right] = this.getTimeRange(condition.value);
3233
3247
  switch (condition.operation) {
@@ -3351,6 +3365,9 @@ function transformDateValue(text) {
3351
3365
  }
3352
3366
 
3353
3367
  class LinkField extends Field {
3368
+ isValid(cellValue) {
3369
+ return (cellValue && typeof cellValue === 'object' && 'url' in cellValue && 'text' in cellValue) || cellValue === null;
3370
+ }
3354
3371
  isMeetFilter(condition, cellValue) {
3355
3372
  const cellTextValue = cellValue?.text;
3356
3373
  switch (condition.operation) {
@@ -3402,6 +3419,9 @@ function cellValueToSortValue$3(cellValue) {
3402
3419
  }
3403
3420
 
3404
3421
  class MemberField extends Field {
3422
+ isValid(cellValue) {
3423
+ return Array.isArray(cellValue) || cellValue === null;
3424
+ }
3405
3425
  isMeetFilter(condition, cellValue) {
3406
3426
  switch (condition.operation) {
3407
3427
  case AITableFilterOperation.empty:
@@ -3493,6 +3513,9 @@ function cellValueToSortValue$2(cellValue, field, references, sortKey = 'display
3493
3513
  }
3494
3514
 
3495
3515
  class NumberField extends Field {
3516
+ isValid(cellValue) {
3517
+ return typeof cellValue === 'number' || cellValue === null;
3518
+ }
3496
3519
  isMeetFilter(condition, cellValue) {
3497
3520
  switch (condition.operation) {
3498
3521
  case AITableFilterOperation.empty:
@@ -3549,6 +3572,9 @@ function toNumberFieldValue(plainText, targetField, originData) {
3549
3572
  }
3550
3573
 
3551
3574
  class ProgressField extends Field {
3575
+ isValid(cellValue) {
3576
+ return typeof cellValue === 'number' || cellValue === null;
3577
+ }
3552
3578
  isMeetFilter(condition, cellValue) {
3553
3579
  switch (condition.operation) {
3554
3580
  case AITableFilterOperation.empty:
@@ -3622,6 +3648,9 @@ function toProgressFieldValue(plainText, targetField, originData) {
3622
3648
  }
3623
3649
 
3624
3650
  class RateField extends Field {
3651
+ isValid(cellValue) {
3652
+ return typeof cellValue === 'number' || cellValue === null;
3653
+ }
3625
3654
  isMeetFilter(condition, cellValue) {
3626
3655
  switch (condition.operation) {
3627
3656
  case AITableFilterOperation.empty:
@@ -3676,6 +3705,9 @@ function toRateFieldValue(plainText, targetField, originData) {
3676
3705
  }
3677
3706
 
3678
3707
  class RichTextField extends Field {
3708
+ isValid(cellValue) {
3709
+ return Array.isArray(cellValue) || cellValue === null;
3710
+ }
3679
3711
  isMeetFilter(condition, cellValue, options) {
3680
3712
  const textValue = transformCellValue(options.aiTable, options.field, cellValue || []);
3681
3713
  switch (condition.operation) {
@@ -3709,6 +3741,9 @@ function toRichTextFieldValue(plainText, targetField, originData) {
3709
3741
  }
3710
3742
 
3711
3743
  class SelectField extends Field {
3744
+ isValid(cellValue) {
3745
+ return Array.isArray(cellValue) || cellValue === null;
3746
+ }
3712
3747
  isMeetFilter(condition, cellValue) {
3713
3748
  switch (condition.operation) {
3714
3749
  case AITableFilterOperation.empty:
@@ -3842,6 +3877,9 @@ function cellValueToSortValue$1(cellValue, field) {
3842
3877
  }
3843
3878
 
3844
3879
  class TextField extends Field {
3880
+ isValid(cellValue) {
3881
+ return typeof cellValue === 'string' || cellValue === null;
3882
+ }
3845
3883
  isMeetFilter(condition, cellValue) {
3846
3884
  switch (condition.operation) {
3847
3885
  case AITableFilterOperation.empty:
@@ -7060,8 +7098,12 @@ class CellDrawer extends Drawer {
7060
7098
  }
7061
7099
  // 单元格渲染
7062
7100
  renderCell(render, ctx) {
7063
- const { field } = render;
7101
+ const { field, cellValue } = render;
7064
7102
  const fieldType = field.type;
7103
+ const fieldMethod = FieldModelMap[fieldType];
7104
+ if (!fieldMethod.isValid(cellValue) || cellValue == null) {
7105
+ return;
7106
+ }
7065
7107
  switch (fieldType) {
7066
7108
  case AITableFieldType.text:
7067
7109
  case AITableFieldType.richText:
@@ -7089,7 +7131,7 @@ class CellDrawer extends Drawer {
7089
7131
  }
7090
7132
  }
7091
7133
  renderCellText(render, ctx) {
7092
- const { x, y, transformValue, field, columnWidth, style } = render;
7134
+ const { x, y, transformValue, cellValue, field, columnWidth, style } = render;
7093
7135
  const fieldType = field.type;
7094
7136
  let renderText = fieldType === AITableFieldType.link ? transformValue?.text : transformValue;
7095
7137
  if (renderText == null) {
@@ -8861,6 +8903,7 @@ class AITableRenderer {
8861
8903
  this.koWheel = output();
8862
8904
  this.koClick = output();
8863
8905
  this.koDblclick = output();
8906
+ this.koMouseleave = output();
8864
8907
  this.fields = computed(() => {
8865
8908
  return AITable.getVisibleFields(this.config().aiTable);
8866
8909
  });
@@ -9003,8 +9046,11 @@ class AITableRenderer {
9003
9046
  stageDblclick(e) {
9004
9047
  this.koDblclick.emit(e);
9005
9048
  }
9049
+ stageMouseleave(e) {
9050
+ this.koMouseleave.emit(e);
9051
+ }
9006
9052
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9007
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableHoverCells, selector: "ai-table-hover-cell", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9053
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableHoverCells, selector: "ai-table-hover-cell", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9008
9054
  }
9009
9055
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableRenderer, decorators: [{
9010
9056
  type: Component,
@@ -9023,7 +9069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
9023
9069
  AITableHoverRowHeads,
9024
9070
  AITableOtherRows,
9025
9071
  AITableCellLink
9026
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
9072
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
9027
9073
  }] });
9028
9074
 
9029
9075
  class AITableDragComponent {
@@ -9502,6 +9548,15 @@ class AITableGrid extends AITableGridBase {
9502
9548
  stageMouseup(e) {
9503
9549
  this.updateDragSelectionState(false, null);
9504
9550
  }
9551
+ stageMouseleave(e) {
9552
+ if (this.timer) {
9553
+ cancelAnimationFrame(this.timer);
9554
+ }
9555
+ this.timer = requestAnimationFrame(() => {
9556
+ const { context } = this.aiTable;
9557
+ context.setPointPosition(DEFAULT_POINT_POSITION);
9558
+ });
9559
+ }
9505
9560
  stageContextmenu(e) {
9506
9561
  const mouseEvent = e.event.evt;
9507
9562
  mouseEvent.preventDefault();
@@ -9843,18 +9898,18 @@ class AITableGrid extends AITableGridBase {
9843
9898
  this.aiTableGridSelectionService.clearDrag();
9844
9899
  }
9845
9900
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9846
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", outputs: ["dragEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9901
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", outputs: ["dragEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9847
9902
  }
9848
9903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableGrid, decorators: [{
9849
9904
  type: Component,
9850
9905
  args: [{ selector: 'ai-table-grid', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
9851
9906
  class: 'ai-table-grid'
9852
- }, imports: [AITableRenderer, AITableDragComponent], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n" }]
9907
+ }, imports: [AITableRenderer, AITableDragComponent], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n" }]
9853
9908
  }], ctorParameters: () => [] });
9854
9909
 
9855
9910
  /**
9856
9911
  * Generated bundle index. Do not edit.
9857
9912
  */
9858
9913
 
9859
- export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableFieldType, AITableFilterOperation, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowColumnType, AITableRowType, AITableSelectAllState, AITableSelectOptionStyle, AITableStatType, 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_RADIUS, AI_TABLE_PROGRESS_TEXT_Width, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, 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, 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, DepartmentOutlinedPath, Direction, DragType, EditPath, FONT_SIZE_SM, FieldModelMap, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, KO_CONTAINER_TOKEN, KoComponent, KoContainer, KoShape, KoShapeTypes, KoStage, LinkCellEditorComponent, MIN_COLUMN_WIDTH, MOUSEOVER_EDIT_TYPE, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, ProgressEditorComponent, RatingCellEditorComponent, RendererContext, RowHeight, SelectCellEditorComponent, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, 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, getHoverCell, getHoverEditorBoxOffset, getHoverEditorSpace, getI18nTextByKey, getMousePosition, getName, getPlaceHolderCellsConfigs, getSystemFieldValue, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isArrayField, isCellMatchKeywords, isClipboardReadSupported, isClipboardReadTextSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isEmpty, isMac, isNumberFiled, isSameFieldOption, isSelectedField, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, readFromClipboard, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, transformCellValue, updatePicture, writeToAITable, writeToClipboard, zhIntlCollator };
9914
+ export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableFieldType, AITableFilterOperation, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowColumnType, AITableRowType, AITableSelectAllState, AITableSelectOptionStyle, AITableStatType, 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_RADIUS, AI_TABLE_PROGRESS_TEXT_Width, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, 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, 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, DepartmentOutlinedPath, Direction, DragType, EditPath, FONT_SIZE_SM, FieldModelMap, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, KO_CONTAINER_TOKEN, KoComponent, KoContainer, KoShape, KoShapeTypes, KoStage, LinkCellEditorComponent, MIN_COLUMN_WIDTH, MOUSEOVER_EDIT_TYPE, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, ProgressEditorComponent, RatingCellEditorComponent, RendererContext, RowHeight, SelectCellEditorComponent, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, 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, getHoverCell, getHoverEditorBoxOffset, getHoverEditorSpace, getI18nTextByKey, getMousePosition, getName, getPlaceHolderCellsConfigs, getSystemFieldValue, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isArrayField, isCellMatchKeywords, isClipboardReadSupported, isClipboardReadTextSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isDateFiled, isEmpty, isMac, isNumberFiled, isSameFieldOption, isSelectedField, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, readFromClipboard, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, transformCellValue, updatePicture, writeToAITable, writeToClipboard, zhIntlCollator };
9860
9915
  //# sourceMappingURL=ai-table-grid.mjs.map