@1money/component-ui 0.0.46 → 0.0.48

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 (75) hide show
  1. package/es/components/Table/Table.d.ts +2 -2
  2. package/es/components/Table/Table.js +25 -148
  3. package/es/components/Table/VirtualTable.d.ts +2 -2
  4. package/es/components/Table/VirtualTable.js +30 -143
  5. package/es/components/Table/core/useTableColumns.d.ts +21 -7
  6. package/es/components/Table/core/useTableColumns.js +76 -14
  7. package/es/components/Table/core/useTableDataPipeline.d.ts +13 -6
  8. package/es/components/Table/core/useTableDataPipeline.js +193 -27
  9. package/es/components/Table/core/useTableExpand.d.ts +4 -2
  10. package/es/components/Table/core/useTableExpand.js +30 -5
  11. package/es/components/Table/core/useTableSelection.d.ts +3 -5
  12. package/es/components/Table/core/useTableSelection.js +1 -1
  13. package/es/components/Table/core/useTableSetup.d.ts +42 -0
  14. package/es/components/Table/core/useTableSetup.js +195 -0
  15. package/es/components/Table/features/ExpandTrigger.js +10 -2
  16. package/es/components/Table/features/FilterTrigger.d.ts +9 -0
  17. package/es/components/Table/features/FilterTrigger.js +157 -0
  18. package/es/components/Table/features/SelectionColumn.d.ts +3 -2
  19. package/es/components/Table/features/SelectionColumn.js +19 -6
  20. package/es/components/Table/interface.d.ts +103 -21
  21. package/es/components/Table/internal/kernel/FixedHolder/index.js +1 -2
  22. package/es/components/Table/internal/kernel/Table.d.ts +1 -1
  23. package/es/components/Table/internal/kernel/Table.js +2 -8
  24. package/es/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
  25. package/es/components/Table/internal/kernel/VirtualTable/index.js +1 -2
  26. package/es/components/Table/internal/kernel/constant.d.ts +1 -1
  27. package/es/components/Table/internal/kernel/constant.js +1 -1
  28. package/es/components/Table/internal/kernel/hooks/useExpand.js +1 -2
  29. package/es/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
  30. package/es/components/Table/renderers/BodyCell.d.ts +4 -4
  31. package/es/components/Table/renderers/BodyCell.js +1 -1
  32. package/es/components/Table/renderers/HeaderCell.d.ts +8 -4
  33. package/es/components/Table/renderers/HeaderCell.js +13 -3
  34. package/es/components/Table/style/Table.css +1 -1
  35. package/es/components/VirtualList/ScrollBar.js +1 -2
  36. package/es/index.css +1 -1
  37. package/lib/components/Table/Table.d.ts +2 -2
  38. package/lib/components/Table/Table.js +24 -150
  39. package/lib/components/Table/VirtualTable.d.ts +2 -2
  40. package/lib/components/Table/VirtualTable.js +28 -144
  41. package/lib/components/Table/core/useTableColumns.d.ts +21 -7
  42. package/lib/components/Table/core/useTableColumns.js +76 -14
  43. package/lib/components/Table/core/useTableDataPipeline.d.ts +13 -6
  44. package/lib/components/Table/core/useTableDataPipeline.js +192 -26
  45. package/lib/components/Table/core/useTableExpand.d.ts +4 -2
  46. package/lib/components/Table/core/useTableExpand.js +30 -5
  47. package/lib/components/Table/core/useTableSelection.d.ts +3 -5
  48. package/lib/components/Table/core/useTableSelection.js +1 -1
  49. package/lib/components/Table/core/useTableSetup.d.ts +42 -0
  50. package/lib/components/Table/core/useTableSetup.js +204 -0
  51. package/lib/components/Table/features/ExpandTrigger.js +10 -2
  52. package/lib/components/Table/features/FilterTrigger.d.ts +9 -0
  53. package/lib/components/Table/features/FilterTrigger.js +164 -0
  54. package/lib/components/Table/features/SelectionColumn.d.ts +3 -2
  55. package/lib/components/Table/features/SelectionColumn.js +19 -6
  56. package/lib/components/Table/interface.d.ts +103 -21
  57. package/lib/components/Table/internal/kernel/FixedHolder/index.js +1 -2
  58. package/lib/components/Table/internal/kernel/Table.d.ts +1 -1
  59. package/lib/components/Table/internal/kernel/Table.js +2 -8
  60. package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
  61. package/lib/components/Table/internal/kernel/VirtualTable/index.js +1 -2
  62. package/lib/components/Table/internal/kernel/constant.d.ts +1 -1
  63. package/lib/components/Table/internal/kernel/constant.js +1 -1
  64. package/lib/components/Table/internal/kernel/hooks/useExpand.js +1 -2
  65. package/lib/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
  66. package/lib/components/Table/renderers/BodyCell.d.ts +4 -4
  67. package/lib/components/Table/renderers/BodyCell.js +1 -1
  68. package/lib/components/Table/renderers/HeaderCell.d.ts +8 -4
  69. package/lib/components/Table/renderers/HeaderCell.js +13 -3
  70. package/lib/components/Table/style/Table.css +1 -1
  71. package/lib/components/VirtualList/ScrollBar.js +1 -2
  72. package/lib/index.css +1 -1
  73. package/package.json +1 -1
  74. package/scripts/mcp-server/examples.generated.json +132 -0
  75. package/scripts/mcp-server/index.generated.json +344 -14
@@ -1,11 +1,24 @@
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
+ }
7
+ return t;
8
+ };
1
9
  import { jsx as _jsx } from "react/jsx-runtime";
2
10
  import { Checkbox } from '../../Checkbox';
3
11
  import { Radio } from '../../Radio';
4
12
  export var SelectionControl = function SelectionControl(_ref) {
5
13
  var checked = _ref.checked,
6
14
  type = _ref.type,
7
- disabled = _ref.disabled,
15
+ rowProps = _ref.rowProps,
8
16
  _onChange = _ref.onChange;
17
+ var _a = rowProps !== null && rowProps !== void 0 ? rowProps : {},
18
+ disabled = _a.disabled,
19
+ _a$ariaLabel = _a['aria-label'],
20
+ ariaLabel = _a$ariaLabel === void 0 ? 'Select row' : _a$ariaLabel,
21
+ rest = __rest(_a, ["disabled", 'aria-label']);
9
22
  if (type === 'radio') {
10
23
  return _jsx(Radio, {
11
24
  checked: checked,
@@ -13,17 +26,17 @@ export var SelectionControl = function SelectionControl(_ref) {
13
26
  onChange: function onChange() {
14
27
  return _onChange();
15
28
  },
16
- "aria-label": "Select row"
29
+ "aria-label": ariaLabel
17
30
  });
18
31
  }
19
- return _jsx(Checkbox, {
32
+ return _jsx(Checkbox, Object.assign({}, rest, {
20
33
  checked: checked,
21
34
  disabled: disabled,
22
35
  onChange: function onChange() {
23
36
  return _onChange();
24
37
  },
25
- "aria-label": "Select row"
26
- });
38
+ "aria-label": ariaLabel
39
+ }));
27
40
  };
28
41
  export var SelectionHeaderControl = function SelectionHeaderControl(_ref2) {
29
42
  var checked = _ref2.checked,
@@ -38,4 +51,4 @@ export var SelectionHeaderControl = function SelectionHeaderControl(_ref2) {
38
51
  "aria-label": "Select all rows"
39
52
  });
40
53
  };
41
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvU2VsZWN0aW9uQ29sdW1uLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9mZWF0dXJlcy9TZWxlY3Rpb25Db2x1bW4udHN4Il0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJDaGVja2JveCIsIlJhZGlvIiwiU2VsZWN0aW9uQ29udHJvbCIsIl9yZWYiLCJjaGVja2VkIiwidHlwZSIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiX3JlZjIiLCJpbmRldGVybWluYXRlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksUUFBUSxtQkFBbUI7QUNBL0MsU0FBU0MsUUFBUSxRQUFRLGdCQUFnQjtBQUN6QyxTQUFTQyxLQUFLLFFBQVEsYUFBYTtBQUVuQyxPQUFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUFDLElBQUEsRUFVeEI7RUFBQSxJQVRIQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztJQUNQQyxJQUFJLEdBQUFGLElBQUEsQ0FBSkUsSUFBSTtJQUNKQyxRQUFRLEdBQUFILElBQUEsQ0FBUkcsUUFBUTtJQUNSQyxTQUFRLEdBQUFKLElBQUEsQ0FBUkksUUFBUTtFQU9SLElBQUlGLElBQUksS0FBSyxPQUFPLEVBQUU7SUFDcEIsT0FBT04sSUFBQSxDQUFDRSxLQUFLLEVBQUE7TUFBQ0csT0FBTyxFQUFFQSxPQUFPO01BQUVFLFFBQVEsRUFBRUEsUUFBUTtNQUFFQyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBQTtRQUFBLE9BQVFBLFNBQVEsQ0FBQSxDQUFFO01BQUE7TUFBQSxZQUFBLEVBQWE7SUFBWSxDQUFBLENBQUc7RUFDNUc7RUFFQSxPQUFPUixJQUFBLENBQUNDLFFBQVEsRUFBQTtJQUFDSSxPQUFPLEVBQUVBLE9BQU87SUFBRUUsUUFBUSxFQUFFQSxRQUFRO0lBQUVDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBO01BQUEsT0FBUUEsU0FBUSxDQUFBLENBQUU7SUFBQTtJQUFBLFlBQUEsRUFBYTtFQUFZLENBQUEsQ0FBRztBQUMvRyxDQUFDO0FBRUQsT0FBTyxJQUFNQyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFBQyxLQUFBO0VBQUEsSUFDakNMLE9BQU8sR0FBQUssS0FBQSxDQUFQTCxPQUFPO0lBQ1BNLGFBQWEsR0FBQUQsS0FBQSxDQUFiQyxhQUFhO0lBQ2JILFVBQVEsR0FBQUUsS0FBQSxDQUFSRixRQUFRO0VBQUEsT0FNUlIsSUFBQSxDQUFDQyxRQUFRLEVBQUE7SUFDUEksT0FBTyxFQUFFQSxPQUFPO0lBQ2hCTSxhQUFhLEVBQUVBLGFBQWE7SUFDNUJILFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBO01BQUEsT0FBUUEsVUFBUSxDQUFBLENBQUU7SUFBQTtJQUFBLFlBQUEsRUFDZjtFQUFpQixDQUFBLENBQzVCO0FBQUEsQ0FDSCIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL1NlbGVjdGlvbkNvbHVtbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uLy4uL0NoZWNrYm94JztcbmltcG9ydCB7IFJhZGlvIH0gZnJvbSAnLi4vLi4vUmFkaW8nO1xuZXhwb3J0IGNvbnN0IFNlbGVjdGlvbkNvbnRyb2wgPSAoeyBjaGVja2VkLCB0eXBlLCBkaXNhYmxlZCwgb25DaGFuZ2UsIH0pID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgICByZXR1cm4gX2pzeChSYWRpbywgeyBjaGVja2VkOiBjaGVja2VkLCBkaXNhYmxlZDogZGlzYWJsZWQsIG9uQ2hhbmdlOiAoKSA9PiBvbkNoYW5nZSgpLCBcImFyaWEtbGFiZWxcIjogXCJTZWxlY3Qgcm93XCIgfSk7XG4gICAgfVxuICAgIHJldHVybiBfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGNoZWNrZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgb25DaGFuZ2U6ICgpID0+IG9uQ2hhbmdlKCksIFwiYXJpYS1sYWJlbFwiOiBcIlNlbGVjdCByb3dcIiB9KTtcbn07XG5leHBvcnQgY29uc3QgU2VsZWN0aW9uSGVhZGVyQ29udHJvbCA9ICh7IGNoZWNrZWQsIGluZGV0ZXJtaW5hdGUsIG9uQ2hhbmdlLCB9KSA9PiAoX2pzeChDaGVja2JveCwgeyBjaGVja2VkOiBjaGVja2VkLCBpbmRldGVybWluYXRlOiBpbmRldGVybWluYXRlLCBvbkNoYW5nZTogKCkgPT4gb25DaGFuZ2UoKSwgXCJhcmlhLWxhYmVsXCI6IFwiU2VsZWN0IGFsbCByb3dzXCIgfSkpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
54
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvU2VsZWN0aW9uQ29sdW1uLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9mZWF0dXJlcy9TZWxlY3Rpb25Db2x1bW4udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsIkNoZWNrYm94IiwiUmFkaW8iLCJTZWxlY3Rpb25Db250cm9sIiwiX3JlZiIsImNoZWNrZWQiLCJ0eXBlIiwicm93UHJvcHMiLCJvbkNoYW5nZSIsIl9hIiwiZGlzYWJsZWQiLCJfYSRhcmlhTGFiZWwiLCJhcmlhTGFiZWwiLCJyZXN0IiwiYXNzaWduIiwiU2VsZWN0aW9uSGVhZGVyQ29udHJvbCIsIl9yZWYyIiwiaW5kZXRlcm1pbmF0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9E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ZmVhdHVyZXMvU2VsZWN0aW9uQ29sdW1uLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IENoZWNrYm94IH0gZnJvbSAnLi4vLi4vQ2hlY2tib3gnO1xuaW1wb3J0IHsgUmFkaW8gfSBmcm9tICcuLi8uLi9SYWRpbyc7XG5leHBvcnQgY29uc3QgU2VsZWN0aW9uQ29udHJvbCA9ICh7IGNoZWNrZWQsIHR5cGUsIHJvd1Byb3BzLCBvbkNoYW5nZSwgfSkgPT4ge1xuICAgIGNvbnN0IF9hID0gcm93UHJvcHMgIT09IG51bGwgJiYgcm93UHJvcHMgIT09IHZvaWQgMCA/IHJvd1Byb3BzIDoge30sIHsgZGlzYWJsZWQsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsID0gJ1NlbGVjdCByb3cnIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wiZGlzYWJsZWRcIiwgJ2FyaWEtbGFiZWwnXSk7XG4gICAgaWYgKHR5cGUgPT09ICdyYWRpbycpIHtcbiAgICAgICAgcmV0dXJuIChfanN4KFJhZGlvLCB7IGNoZWNrZWQ6IGNoZWNrZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgb25DaGFuZ2U6ICgpID0+IG9uQ2hhbmdlKCksIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3goQ2hlY2tib3gsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgY2hlY2tlZDogY2hlY2tlZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBvbkNoYW5nZTogKCkgPT4gb25DaGFuZ2UoKSwgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3Rpb25IZWFkZXJDb250cm9sID0gKHsgY2hlY2tlZCwgaW5kZXRlcm1pbmF0ZSwgb25DaGFuZ2UsIH0pID0+IChfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGNoZWNrZWQsIGluZGV0ZXJtaW5hdGU6IGluZGV0ZXJtaW5hdGUsIG9uQ2hhbmdlOiAoKSA9PiBvbkNoYW5nZSgpLCBcImFyaWEtbGFiZWxcIjogXCJTZWxlY3QgYWxsIHJvd3NcIiB9KSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,23 +1,32 @@
1
1
  import type React from 'react';
2
2
  import type { CSSProperties, HTMLAttributes, Key, ReactNode } from 'react';
3
+ import type { CheckboxProps } from "../Checkbox";
3
4
  import type { EmptyProps } from "../Empty";
5
+ import type { DataIndex as InternalDataIndex } from './internal/kernel/interface';
4
6
  export type TableSize = 'large' | 'small';
5
7
  export type TableVariant = 'fill' | 'stroke';
6
8
  export type TableAlign = 'left' | 'center' | 'right';
7
9
  export type TableSortOrder = 'ascend' | 'descend' | null;
8
- export type TableAction = 'paginate' | 'sort';
10
+ export type TableAction = 'paginate' | 'sort' | 'filter';
9
11
  export type TableLayout = 'auto' | 'fixed';
10
12
  export type TableDirection = 'ltr' | 'rtl';
13
+ /** Default record shape. */
14
+ export type TableRecord = Record<string, any>;
15
+ /**
16
+ * Path used to derive a value from a record. Re-exported from the kernel so the
17
+ * recursive deep paths) instead of the previous narrower union.
18
+ */
19
+ export type TableDataIndex<T extends TableRecord = TableRecord> = InternalDataIndex<T>;
11
20
  export interface TablePaginationConfig {
12
21
  current?: number;
13
22
  defaultCurrent?: number;
14
23
  pageSize?: number;
15
24
  defaultPageSize?: number;
16
25
  }
17
- export interface TableCellRenderMeta<T> {
26
+ export interface TableCellRenderMeta<T extends TableRecord = TableRecord> {
18
27
  column: TableColumn<T>;
19
28
  }
20
- export interface TableHeaderRenderMeta<T> {
29
+ export interface TableHeaderRenderMeta<T extends TableRecord = TableRecord> {
21
30
  column: TableColumn<T>;
22
31
  }
23
32
  export interface TableCellContentValue {
@@ -26,7 +35,7 @@ export interface TableCellContentValue {
26
35
  leading?: ReactNode;
27
36
  trailing?: ReactNode;
28
37
  }
29
- export interface TableRenderedCell<T> {
38
+ export interface TableRenderedCell<T extends TableRecord = TableRecord> {
30
39
  children?: ReactNode;
31
40
  props?: {
32
41
  colSpan?: number;
@@ -34,16 +43,18 @@ export interface TableRenderedCell<T> {
34
43
  className?: string;
35
44
  style?: CSSProperties;
36
45
  };
46
+ /** Reserved for future record/column-aware overrides; preserves T for variance. */
47
+ __recordType?: T;
37
48
  }
38
- export interface TableColumnSorterConfig<T> {
49
+ export interface TableColumnSorterConfig<T extends TableRecord = TableRecord> {
39
50
  compare: (a: T, b: T) => number;
40
51
  /** Priority number for multi-column sort. Columns with higher values are compared first. */
41
52
  multiple: number;
42
53
  }
43
54
  export type TableGetComponentProps<T> = (data: T, index?: number) => HTMLAttributes<HTMLElement> & React.TdHTMLAttributes<HTMLElement>;
44
- export type TableRowClassName<T> = string | ((record: T, index: number, indent: number) => string);
55
+ export type TableRowClassName<T extends TableRecord = TableRecord> = string | ((record: T, index: number, indent: number) => string);
45
56
  type TableCustomizeComponent = React.ComponentType<any> | React.ForwardRefExoticComponent<any> | React.FC<any> | keyof React.JSX.IntrinsicElements;
46
- export interface TableComponents<T> {
57
+ export interface TableComponents<T extends TableRecord = TableRecord> {
47
58
  table?: TableCustomizeComponent;
48
59
  header?: {
49
60
  table?: TableCustomizeComponent;
@@ -56,10 +67,31 @@ export interface TableComponents<T> {
56
67
  row?: TableCustomizeComponent;
57
68
  cell?: TableCustomizeComponent;
58
69
  };
70
+ /** Reserved to preserve record-type variance. */
71
+ __recordType?: T;
59
72
  }
60
- export interface TableColumn<T> {
73
+ export type TableFilterValue = (Key | boolean)[];
74
+ export interface TableColumnFilterItem {
75
+ text: ReactNode;
76
+ value: Key | boolean;
77
+ children?: TableColumnFilterItem[];
78
+ }
79
+ export interface TableFilterDropdownProps<T extends TableRecord = TableRecord> {
80
+ prefixCls: string;
81
+ setSelectedKeys: (selectedKeys: TableFilterValue) => void;
82
+ selectedKeys: TableFilterValue;
83
+ /** Apply current selection and close the dropdown. */
84
+ confirm: () => void;
85
+ /** Reset selection for this column. */
86
+ clearFilters?: () => void;
87
+ filters?: TableColumnFilterItem[];
88
+ visible: boolean;
89
+ close: () => void;
90
+ column: TableColumn<T>;
91
+ }
92
+ export interface TableColumn<T extends TableRecord = TableRecord> {
61
93
  key?: Key;
62
- dataIndex?: keyof T | string | string[];
94
+ dataIndex?: TableDataIndex<T>;
63
95
  title?: ReactNode;
64
96
  width?: number | string;
65
97
  minWidth?: number;
@@ -76,6 +108,23 @@ export interface TableColumn<T> {
76
108
  sorter?: boolean | ((a: T, b: T) => number) | TableColumnSorterConfig<T>;
77
109
  sortOrder?: TableSortOrder;
78
110
  defaultSortOrder?: Exclude<TableSortOrder, null>;
111
+ filters?: TableColumnFilterItem[];
112
+ filteredValue?: TableFilterValue | null;
113
+ defaultFilteredValue?: TableFilterValue | null;
114
+ filterMultiple?: boolean;
115
+ filterMode?: 'menu' | 'tree';
116
+ filterSearch?: boolean | ((input: string, item: TableColumnFilterItem) => boolean);
117
+ filterIcon?: ReactNode | ((filtered: boolean) => ReactNode);
118
+ filterDropdown?: ReactNode | ((props: TableFilterDropdownProps<T>) => ReactNode);
119
+ filterDropdownOpen?: boolean;
120
+ defaultFilterDropdownOpen?: boolean;
121
+ /**
122
+ * Predicate used to filter rows when `filters` (built-in UI) or `filteredValue`
123
+ * (controlled) is set. Receives one filter value at a time per row; row is kept
124
+ * if the predicate returns `true` for ANY currently selected value.
125
+ */
126
+ onFilter?: (value: Key | boolean, record: T) => boolean;
127
+ onFilterDropdownOpenChange?: (open: boolean) => void;
79
128
  onCell?: TableGetComponentProps<T>;
80
129
  onHeaderCell?: TableGetComponentProps<TableColumn<T>>;
81
130
  shouldCellUpdate?: (record: T, prevRecord: T) => boolean;
@@ -83,37 +132,60 @@ export interface TableColumn<T> {
83
132
  headerClassName?: string;
84
133
  cellClassName?: string | ((value: unknown, record: T, index: number) => string);
85
134
  }
86
- export interface TableColumnGroup<T> extends Pick<TableColumn<T>, 'key' | 'title' | 'align' | 'className' | 'headerClassName' | 'fixed'> {
135
+ export interface TableColumnGroup<T extends TableRecord = TableRecord> extends Pick<TableColumn<T>, 'key' | 'title' | 'align' | 'className' | 'headerClassName' | 'fixed'> {
87
136
  children: TableColumnType<T>[];
88
137
  }
89
- export type TableColumnType<T> = TableColumn<T> | TableColumnGroup<T>;
90
- export interface TableChangeMeta<T> {
138
+ export type TableColumnType<T extends TableRecord = TableRecord> = TableColumn<T> | TableColumnGroup<T>;
139
+ export interface TableChangeMeta<T extends TableRecord = TableRecord> {
91
140
  currentDataSource: T[];
92
141
  action: TableAction;
142
+ /**
143
+ * Current pagination state after this change. Always present so consumers can
144
+ * mirror the table's state.
145
+ */
146
+ pagination?: {
147
+ current: number;
148
+ pageSize: number;
149
+ } | false;
150
+ /** Current sorter (single-column shape — `{ columnKey, order }`). */
151
+ sorter?: {
152
+ columnKey?: Key;
153
+ order?: TableSortOrder;
154
+ };
155
+ /**
156
+ * Current filter selection keyed by column key. Required for controlled-mode
157
+ * consumers who want clicks inside the built-in filter dropdown to round-trip
158
+ * back to their state — e.g. `onChange={meta => setFilteredValue(meta.filters?.network ?? [])}`.
159
+ */
160
+ filters?: Record<string, TableFilterValue | null>;
93
161
  }
94
162
  export type TableRowSelectMethod = 'all' | 'none' | 'single';
95
- export interface TableRowSelection<T> {
163
+ /**
164
+ * Properties returned from `getCheckboxProps`. Mirrors antd: any prop accepted
165
+ * by the underlying Checkbox EXCEPT `checked` / `defaultChecked` (those are
166
+ * controlled by the table) can be customized per-row.
167
+ */
168
+ export type TableCheckboxProps = Partial<Omit<CheckboxProps, 'checked' | 'defaultChecked' | 'onChange'>>;
169
+ export interface TableRowSelection<T extends TableRecord = TableRecord> {
96
170
  type?: 'checkbox' | 'radio';
97
171
  selectedRowKeys?: Key[];
98
172
  defaultSelectedRowKeys?: Key[];
99
173
  onChange?: (selectedRowKeys: Key[], selectedRows: T[], info: {
100
174
  type: TableRowSelectMethod;
101
175
  }) => void;
102
- getCheckboxProps?: (record: T) => Partial<{
103
- disabled: boolean;
104
- }>;
176
+ getCheckboxProps?: (record: T) => TableCheckboxProps;
105
177
  preserveSelectedRowKeys?: boolean;
106
178
  fixed?: boolean;
107
179
  columnWidth?: number | string;
108
180
  }
109
- export interface TableExpandIconProps<T> {
181
+ export interface TableExpandIconProps<T extends TableRecord = TableRecord> {
110
182
  prefixCls: string;
111
183
  expanded: boolean;
112
184
  record: T;
113
185
  expandable: boolean;
114
186
  onExpand: (record: T, e: React.MouseEvent<HTMLElement>) => void;
115
187
  }
116
- export interface TableExpandableConfig<T> {
188
+ export interface TableExpandableConfig<T extends TableRecord = TableRecord> {
117
189
  expandedRowKeys?: Key[];
118
190
  defaultExpandedRowKeys?: Key[];
119
191
  defaultExpandAllRows?: boolean;
@@ -123,6 +195,8 @@ export interface TableExpandableConfig<T> {
123
195
  expandRowByClick?: boolean;
124
196
  showExpandColumn?: boolean;
125
197
  expandIcon?: (props: TableExpandIconProps<T>) => ReactNode;
198
+ /** Header label rendered on the auto-injected expand column. */
199
+ columnTitle?: ReactNode;
126
200
  columnWidth?: number | string;
127
201
  fixed?: 'left' | 'right' | boolean;
128
202
  onExpand?: (expanded: boolean, record: T) => void;
@@ -137,11 +211,19 @@ export interface TableRef {
137
211
  offset?: number;
138
212
  }) => void;
139
213
  }
140
- export interface TableProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
214
+ export interface TableProps<T extends TableRecord = TableRecord> extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
141
215
  prefixCls?: string;
142
216
  columns: TableColumnType<T>[];
143
217
  dataSource: T[];
144
- rowKey: keyof T | ((record: T) => Key);
218
+ /**
219
+ * Row key for tracking. Accepts:
220
+ * - `string` — a property name, including synthetic keys not statically known on `T`
221
+ * (e.g. records carrying an injected `key` field).
222
+ * - `keyof T` — type-checked property name.
223
+ * - `(record) => Key` — function form for composite or computed keys.
224
+ * Defaults to `'key'` at runtime (kernel falls back to row index if the field is absent).
225
+ */
226
+ rowKey?: string | keyof T | ((record: T) => Key);
145
227
  size?: TableSize;
146
228
  variant?: TableVariant;
147
229
  bordered?: boolean;
@@ -170,7 +252,7 @@ export interface TableProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'onC
170
252
  summary?: (data: readonly T[]) => ReactNode;
171
253
  onChange?: (meta: TableChangeMeta<T>) => void;
172
254
  }
173
- export interface VirtualTableProps<T> extends Omit<TableProps<T>, 'scroll'> {
255
+ export interface VirtualTableProps<T extends TableRecord = TableRecord> extends Omit<TableProps<T>, 'scroll'> {
174
256
  scroll: {
175
257
  x: number;
176
258
  y: number;
@@ -157,7 +157,6 @@ var FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {
157
157
  style: {
158
158
  tableLayout: tableLayout,
159
159
  minWidth: '100%',
160
- // https://github.com/ant-design/ant-design/issues/54894
161
160
  width: scrollX
162
161
  },
163
162
  children: [isColGroupEmpty ? colGroup : _jsx(ColGroup, {
@@ -178,4 +177,4 @@ if (process.env.NODE_ENV !== 'production') {
178
177
  /** Return a table in div as fixed element which contains sticky info */
179
178
  // export default responseImmutable(FixedHolder);
180
179
  export default /*#__PURE__*/React.memo(FixedHolder);
181
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0ZpeGVkSG9sZGVyL2luZGV4LmpzIiwiY29tcG9uZW50cy9UYWJsZS9pbnRlcm5hbC9rZXJuZWwvc3JjL2NvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0ZpeGVkSG9sZGVyL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJ1c2VDb250ZXh0IiwiY2xzeCIsImZpbGxSZWYiLCJSZWFjdCIsInVzZU1lbW8iLCJDb2xHcm91cCIsIlRhYmxlQ29udGV4dCIsImRldlJlbmRlclRpbWVzIiwidXNlQ29sdW1uV2lkdGgiLCJjb2xXaWR0aHMiLCJjb2x1bUNvdW50IiwiY2xvbmVDb2x1bW5zIiwidmFsIiwidW5kZWZpbmVkIiwiam9pbiIsIkZpeGVkSG9sZGVyIiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJub0RhdGEiLCJjb2x1bW5zIiwiZmxhdHRlbkNvbHVtbnMiLCJjb2xHcm91cCIsInN0aWNreU9mZnNldHMiLCJkaXJlY3Rpb24iLCJmaXhIZWFkZXIiLCJzdGlja3lUb3BPZmZzZXQiLCJzdGlja3lCb3R0b21PZmZzZXQiLCJzdGlja3lDbGFzc05hbWUiLCJzY3JvbGxYIiwiX3Byb3BzJHRhYmxlTGF5b3V0IiwidGFibGVMYXlvdXQiLCJvblNjcm9sbCIsIm1heENvbnRlbnRTY3JvbGwiLCJjaGlsZHJlbiIsInJlc3RQcm9wcyIsIl91c2VDb250ZXh0IiwicHJlZml4Q2xzIiwic2Nyb2xsYmFyU2l6ZSIsImlzU3RpY2t5IiwiZ2V0Q29tcG9uZW50IiwiVGFibGVDb21wb25lbnQiLCJjb21iaW5hdGlvblNjcm9sbEJhclNpemUiLCJzY3JvbGxSZWYiLCJ1c2VSZWYiLCJzZXRTY3JvbGxSZWYiLCJ1c2VDYWxsYmFjayIsImVsZW1lbnQiLCJ1c2VFZmZlY3QiLCJvbldoZWVsIiwiY3VycmVudFRhcmdldCIsImRlbHRhWCIsInNjcm9sbExlZnQiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwibWF4U2Nyb2xsV2lkdGgiLCJuZXh0U2Nyb2xsIiwiTWF0aCIsIm1heCIsIm1pbiIsInByZXZlbnREZWZhdWx0Iiwic2Nyb2xsRWxlIiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxhc3RDb2x1bW4iLCJTY3JvbGxCYXJDb2x1bW4iLCJmaXhlZCIsInNjcm9sbGJhciIsIm9uSGVhZGVyQ2VsbCIsImNvbmNhdCIsImNvbHVtbnNXaXRoU2Nyb2xsYmFyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZmxhdHRlbkNvbHVtbnNXaXRoU2Nyb2xsYmFyIiwiaGVhZGVyU3RpY2t5T2Zmc2V0cyIsInN0YXJ0IiwiZW5kIiwiYXNzaWduIiwibWFwIiwid2lkdGgiLCJtZXJnZWRDb2x1bW5XaWR0aCIsImlzQ29sR3JvdXBFbXB0eSIsIm5vV2lkdGgiLCJldmVyeSIsInciLCJvdmVyZmxvdyIsInRvcCIsImJvdHRvbSIsIl9kZWZpbmVQcm9wZXJ0eSIsIm1pbldpZHRoIiwiZGlzcGxheU5hbWUiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0Ms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QmUsT0FBTyxFQUFFc0Q7TUFBMkIsQ0FBQSxDQUV2QyxFQUNBeEMsUUFBUSxDQUFBcEQsTUFBQSxDQUFBZ0csTUFBQSxDQUFBaEcsTUFBQSxDQUFBZ0csTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNKM0MsU0FBUyxDQUFBLEVBQUE7UUFDWlosYUFBYSxFQUFFb0QsbUJBQW1CO1FBQ2xDdkQsT0FBTyxFQUFFb0Qsb0JBQW9CO1FBQzdCbkQsY0FBYyxFQUFFcUQ7TUFBMkIsQ0FBQSxDQUFBLENBQzNDO0lBQUEsQ0FBQTtFQUNhLENBQUEsQ0FDYjtBQUVWLENBQUMsQ0FBQztBQUVGLElBQUk1RCxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtFQUN6Q04sV0FBVyxDQUFDaUYsV0FBVyxHQUFHLGFBQWE7QUFDekM7QUFFQTtBQUNBO0FBQ0EsNEJBQWU3RixLQUFLLENBQUM4RixJQUFJLENBQUNsRixXQUFXLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9pbnRlcm5hbC9rZXJuZWwvRml4ZWRIb2xkZXIvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuLy8gQHRzLW5vY2hlY2tcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICcuLi9zZWxlY3Rvci1jb250ZXh0JztcbmltcG9ydCB7IGNsc3ggfSBmcm9tICdjbHN4JztcbmltcG9ydCB7IGZpbGxSZWYgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscy9yZWYnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDb2xHcm91cCBmcm9tICcuLi9Db2xHcm91cCc7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gJy4uL2NvbnRleHQvVGFibGVDb250ZXh0JztcbmltcG9ydCBkZXZSZW5kZXJUaW1lcyBmcm9tICcuLi9ob29rcy91c2VSZW5kZXJUaW1lcyc7XG5mdW5jdGlvbiB1c2VDb2x1bW5XaWR0aChjb2xXaWR0aHMsIGNvbHVtQ291bnQpIHtcbiAgICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lQ29sdW1ucyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtQ291bnQ7IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgdmFsID0gY29sV2lkdGhzW2ldO1xuICAgICAgICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY2xvbmVDb2x1bW5zW2ldID0gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsb25lQ29sdW1ucztcbiAgICB9LCBbY29sV2lkdGhzLmpvaW4oJ18nKSwgY29sdW1Db3VudF0pO1xufVxuY29uc3QgRml4ZWRIb2xkZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGV2UmVuZGVyVGltZXMocHJvcHMpO1xuICAgIH1cbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgc3R5bGUsIG5vRGF0YSwgY29sdW1ucywgZmxhdHRlbkNvbHVtbnMsIGNvbFdpZHRocywgY29sR3JvdXAsIGNvbHVtQ291bnQsIHN0aWNreU9mZnNldHMsIGRpcmVjdGlvbiwgZml4SGVhZGVyLCBzdGlja3lUb3BPZmZzZXQsIHN0aWNreUJvdHRvbU9mZnNldCwgc3RpY2t5Q2xhc3NOYW1lLCBzY3JvbGxYLCB0YWJsZUxheW91dCA9ICdmaXhlZCcsIG9uU2Nyb2xsLCBtYXhDb250ZW50U2Nyb2xsLCBjaGlsZHJlbiB9ID0gcHJvcHMsIHJlc3RQcm9wcyA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwic3R5bGVcIiwgXCJub0RhdGFcIiwgXCJjb2x1bW5zXCIsIFwiZmxhdHRlbkNvbHVtbnNcIiwgXCJjb2xXaWR0aHNcIiwgXCJjb2xHcm91cFwiLCBcImNvbHVtQ291bnRcIiwgXCJzdGlja3lPZmZzZXRzXCIsIFwiZGlyZWN0aW9uXCIsIFwiZml4SGVhZGVyXCIsIFwic3RpY2t5VG9wT2Zmc2V0XCIsIFwic3RpY2t5Qm90dG9tT2Zmc2V0XCIsIFwic3RpY2t5Q2xhc3NOYW1lXCIsIFwic2Nyb2xsWFwiLCBcInRhYmxlTGF5b3V0XCIsIFwib25TY3JvbGxcIiwgXCJtYXhDb250ZW50U2Nyb2xsXCIsIFwiY2hpbGRyZW5cIl0pO1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzLCBzY3JvbGxiYXJTaXplLCBpc1N0aWNreSwgZ2V0Q29tcG9uZW50IH0gPSB1c2VDb250ZXh0KFRhYmxlQ29udGV4dCwgW1xuICAgICAgICAncHJlZml4Q2xzJyxcbiAgICAgICAgJ3Njcm9sbGJhclNpemUnLFxuICAgICAgICAnaXNTdGlja3knLFxuICAgICAgICAnZ2V0Q29tcG9uZW50JyxcbiAgICBdKTtcbiAgICBjb25zdCBUYWJsZUNvbXBvbmVudCA9IGdldENvbXBvbmVudChbJ2hlYWRlcicsICd0YWJsZSddLCAndGFibGUnKTtcbiAgICBjb25zdCBjb21iaW5hdGlvblNjcm9sbEJhclNpemUgPSBpc1N0aWNreSAmJiAhZml4SGVhZGVyID8gMCA6IHNjcm9sbGJhclNpemU7XG4gICAgLy8gUGFzcyB3aGVlbCB0byBzY3JvbGwgZXZlbnRcbiAgICBjb25zdCBzY3JvbGxSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2V0U2Nyb2xsUmVmID0gUmVhY3QudXNlQ2FsbGJhY2soKGVsZW1lbnQpID0+IHtcbiAgICAgICAgZmlsbFJlZihyZWYsIGVsZW1lbnQpO1xuICAgICAgICBmaWxsUmVmKHNjcm9sbFJlZiwgZWxlbWVudCk7XG4gICAgfSwgW10pO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGZ1bmN0aW9uIG9uV2hlZWwoZSkge1xuICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50VGFyZ2V0LCBkZWx0YVggfSA9IGU7XG4gICAgICAgICAgICBpZiAoZGVsdGFYKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGggfSA9IGN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF4U2Nyb2xsV2lkdGggPSBzY3JvbGxXaWR0aCAtIGNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgIGxldCBuZXh0U2Nyb2xsID0gc2Nyb2xsTGVmdCArIGRlbHRhWDtcbiAgICAgICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsID0gTWF0aC5tYXgoLW1heFNjcm9sbFdpZHRoLCBuZXh0U2Nyb2xsKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbCA9IE1hdGgubWluKDAsIG5leHRTY3JvbGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbCA9IE1hdGgubWluKG1heFNjcm9sbFdpZHRoLCBuZXh0U2Nyb2xsKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbCA9IE1hdGgubWF4KDAsIG5leHRTY3JvbGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvblNjcm9sbCh7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUYXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbExlZnQ6IG5leHRTY3JvbGwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNjcm9sbEVsZSA9IHNjcm9sbFJlZi5jdXJyZW50O1xuICAgICAgICBzY3JvbGxFbGUgPT09IG51bGwgfHwgc2Nyb2xsRWxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzY3JvbGxFbGUuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBvbldoZWVsLCB7IHBhc3NpdmU6IGZhbHNlIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgc2Nyb2xsRWxlID09PSBudWxsIHx8IHNjcm9sbEVsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2Nyb2xsRWxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIC8vIEFkZCBzY3JvbGxiYXIgY29sdW1uXG4gICAgY29uc3QgbGFzdENvbHVtbiA9IGZsYXR0ZW5Db2x1bW5zW2ZsYXR0ZW5Db2x1bW5zLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IFNjcm9sbEJhckNvbHVtbiA9IHtcbiAgICAgICAgZml4ZWQ6IGxhc3RDb2x1bW4gPyBsYXN0Q29sdW1uLmZpeGVkIDogbnVsbCxcbiAgICAgICAgc2Nyb2xsYmFyOiB0cnVlLFxuICAgICAgICBvbkhlYWRlckNlbGw6ICgpID0+ICh7XG4gICAgICAgICAgICBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tY2VsbC1zY3JvbGxiYXJgLFxuICAgICAgICB9KSxcbiAgICB9O1xuICAgIGNvbnN0IGNvbHVtbnNXaXRoU2Nyb2xsYmFyID0gdXNlTWVtbygoKSA9PiAoY29tYmluYXRpb25TY3JvbGxCYXJTaXplID8gWy4uLmNvbHVtbnMsIFNjcm9sbEJhckNvbHVtbl0gOiBjb2x1bW5zKSwgW2NvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSwgY29sdW1uc10pO1xuICAgIGNvbnN0IGZsYXR0ZW5Db2x1bW5zV2l0aFNjcm9sbGJhciA9IHVzZU1lbW8oKCkgPT4gKGNvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSA/IFsuLi5mbGF0dGVuQ29sdW1ucywgU2Nyb2xsQmFyQ29sdW1uXSA6IGZsYXR0ZW5Db2x1bW5zKSwgW2NvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSwgZmxhdHRlbkNvbHVtbnNdKTtcbiAgICAvLyBDYWxjdWxhdGUgdGhlIHN0aWNreSBvZmZzZXRzXG4gICAgY29uc3QgaGVhZGVyU3RpY2t5T2Zmc2V0cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IHN0aWNreU9mZnNldHM7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN0aWNreU9mZnNldHMpLCB7IFxuICAgICAgICAgICAgLy8gbGVmdDpcbiAgICAgICAgICAgIC8vICAgZGlyZWN0aW9uID09PSAncnRsJyA/IFsuLi5sZWZ0Lm1hcCh3aWR0aCA9PiB3aWR0aCArIGNvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSksIDBdIDogbGVmdCxcbiAgICAgICAgICAgIC8vIHJpZ2h0OlxuICAgICAgICAgICAgLy8gICBkaXJlY3Rpb24gPT09ICdydGwnID8gcmlnaHQgOiBbLi4ucmlnaHQubWFwKHdpZHRoID0+IHdpZHRoICsgY29tYmluYXRpb25TY3JvbGxCYXJTaXplKSwgMF0sXG4gICAgICAgICAgICBzdGFydDogc3RhcnQsIGVuZDogWy4uLmVuZC5tYXAod2lkdGggPT4gd2lkdGggKyBjb21iaW5hdGlvblNjcm9sbEJhclNpemUpLCAwXSwgaXNTdGlja3kgfSk7XG4gICAgfSwgW2NvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSwgc3RpY2t5T2Zmc2V0cywgaXNTdGlja3ldKTtcbiAgICBjb25zdCBtZXJnZWRDb2x1bW5XaWR0aCA9IHVzZUNvbHVtbldpZHRoKGNvbFdpZHRocywgY29sdW1Db3VudCk7XG4gICAgY29uc3QgaXNDb2xHcm91cEVtcHR5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIC8vIHVzZSBvcmlnaW5hbCBDb2xHcm91cCBpZiBubyBkYXRhIG9yIG5vIGNhbGN1bGF0ZWQgY29sdW1uIHdpZHRoLCBvdGhlcndpc2UgdXNlIGNhbGN1bGF0ZWQgY29sdW1uIHdpZHRoXG4gICAgICAgIC8vIFJldHVybiBvcmlnaW5hbCBjb2xHcm91cCBpZiBubyBkYXRhLCBvciBtZXJnZWRDb2x1bW5XaWR0aCBpcyBlbXB0eSwgb3IgYWxsIHdpZHRocyBhcmUgZmFsc3lcbiAgICAgICAgY29uc3Qgbm9XaWR0aCA9ICFtZXJnZWRDb2x1bW5XaWR0aCB8fCAhbWVyZ2VkQ29sdW1uV2lkdGgubGVuZ3RoIHx8IG1lcmdlZENvbHVtbldpZHRoLmV2ZXJ5KHcgPT4gIXcpO1xuICAgICAgICByZXR1cm4gbm9EYXRhIHx8IG5vV2lkdGg7XG4gICAgfSwgW25vRGF0YSwgbWVyZ2VkQ29sdW1uV2lkdGhdKTtcbiAgICByZXR1cm4gKF9qc3goXCJkaXZcIiwgeyBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHsgb3ZlcmZsb3c6ICdoaWRkZW4nIH0sIChpc1N0aWNreSA/IHsgdG9wOiBzdGlja3lUb3BPZmZzZXQsIGJvdHRvbTogc3RpY2t5Qm90dG9tT2Zmc2V0IH0gOiB7fSkpLCBzdHlsZSksIHJlZjogc2V0U2Nyb2xsUmVmLCBjbGFzc05hbWU6IGNsc3goY2xhc3NOYW1lLCB7XG4gICAgICAgICAgICBbc3RpY2t5Q2xhc3NOYW1lXTogISFzdGlja3lDbGFzc05hbWUsXG4gICAgICAgIH0pLCBjaGlsZHJlbjogX2pzeHMoVGFibGVDb21wb25lbnQsIHsgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICB0YWJsZUxheW91dCxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzU0ODk0XG4gICAgICAgICAgICAgICAgd2lkdGg6IHNjcm9sbFgsXG4gICAgICAgICAgICB9LCBjaGlsZHJlbjogW2lzQ29sR3JvdXBFbXB0eSA/IChjb2xHcm91cCkgOiAoX2pzeChDb2xHcm91cCwgeyBjb2xXaWR0aHM6IFsuLi5tZXJnZWRDb2x1bW5XaWR0aCwgY29tYmluYXRpb25TY3JvbGxCYXJTaXplXSwgY29sdW1Db3VudDogY29sdW1Db3VudCArIDEsIGNvbHVtbnM6IGZsYXR0ZW5Db2x1bW5zV2l0aFNjcm9sbGJhciB9KSksIGNoaWxkcmVuKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcmVzdFByb3BzKSwgeyBzdGlja3lPZmZzZXRzOiBoZWFkZXJTdGlja3lPZmZzZXRzLCBjb2x1bW5zOiBjb2x1bW5zV2l0aFNjcm9sbGJhciwgZmxhdHRlbkNvbHVtbnM6IGZsYXR0ZW5Db2x1bW5zV2l0aFNjcm9sbGJhciB9KSldIH0pIH0pKTtcbn0pO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBGaXhlZEhvbGRlci5kaXNwbGF5TmFtZSA9ICdGaXhlZEhvbGRlcic7XG59XG4vKiogUmV0dXJuIGEgdGFibGUgaW4gZGl2IGFzIGZpeGVkIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgc3RpY2t5IGluZm8gKi9cbi8vIGV4cG9ydCBkZWZhdWx0IHJlc3BvbnNlSW1tdXRhYmxlKEZpeGVkSG9sZGVyKTtcbmV4cG9ydCBkZWZhdWx0IFJlYWN0Lm1lbW8oRml4ZWRIb2xkZXIpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
180
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0ZpeGVkSG9sZGVyL2luZGV4LmpzIiwiY29tcG9uZW50cy9UYWJsZS9pbnRlcm5hbC9rZXJuZWwvc3JjL2NvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0ZpeGVkSG9sZGVyL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJ1c2VDb250ZXh0IiwiY2xzeCIsImZpbGxSZWYiLCJSZWFjdCIsInVzZU1lbW8iLCJDb2xHcm91cCIsIlRhYmxlQ29udGV4dCIsImRldlJlbmRlclRpbWVzIiwidXNlQ29sdW1uV2lkdGgiLCJjb2xXaWR0aHMiLCJjb2x1bUNvdW50IiwiY2xvbmVDb2x1bW5zIiwidmFsIiwidW5kZWZpbmVkIiwiam9pbiIsIkZpeGVkSG9sZGVyIiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJub0RhdGEiLCJjb2x1bW5zIiwiZmxhdHRlbkNvbHVtbnMiLCJjb2xHcm91cCIsInN0aWNreU9mZnNldHMiLCJkaXJlY3Rpb24iLCJmaXhIZWFkZXIiLCJzdGlja3lUb3BPZmZzZXQiLCJzdGlja3lCb3R0b21PZmZzZXQiLCJzdGlja3lDbGFzc05hbWUiLCJzY3JvbGxYIiwiX3Byb3BzJHRhYmxlTGF5b3V0IiwidGFibGVMYXlvdXQiLCJvblNjcm9sbCIsIm1heENvbnRlbnRTY3JvbGwiLCJjaGlsZHJlbiIsInJlc3RQcm9wcyIsIl91c2VDb250ZXh0IiwicHJlZml4Q2xzIiwic2Nyb2xsYmFyU2l6ZSIsImlzU3RpY2t5IiwiZ2V0Q29tcG9uZW50IiwiVGFibGVDb21wb25lbnQiLCJjb21iaW5hdGlvblNjcm9sbEJhclNpemUiLCJzY3JvbGxSZWYiLCJ1c2VSZWYiLCJzZXRTY3JvbGxSZWYiLCJ1c2VDYWxsYmFjayIsImVsZW1lbnQiLCJ1c2VFZmZlY3QiLCJvbldoZWVsIiwiY3VycmVudFRhcmdldCIsImRlbHRhWCIsInNjcm9sbExlZnQiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwibWF4U2Nyb2xsV2lkdGgiLCJuZXh0U2Nyb2xsIiwiTWF0aCIsIm1heCIsIm1pbiIsInByZXZlbnREZWZhdWx0Iiwic2Nyb2xsRWxlIiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxhc3RDb2x1bW4iLCJTY3JvbGxCYXJDb2x1bW4iLCJmaXhlZCIsInNjcm9sbGJhciIsIm9uSGVhZGVyQ2VsbCIsImNvbmNhdCIsImNvbHVtbnNXaXRoU2Nyb2xsYmFyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZmxhdHRlbkNvbHVtbnNXaXRoU2Nyb2xsYmFyIiwiaGVhZGVyU3RpY2t5T2Zmc2V0cyIsInN0YXJ0IiwiZW5kIiwiYXNzaWduIiwibWFwIiwid2lkdGgiLCJtZXJnZWRDb2x1bW5XaWR0aCIsImlzQ29sR3JvdXBFbXB0eSIsIm5vV2lkdGgiLCJldmVyeSIsInciLCJvdmVyZmxvdyIsInRvcCIsImJvdHRvbSIsIl9kZWZpbmVQcm9wZXJ0eSIsIm1pbldpZHRoIiwiZGlzcGxheU5hbWUiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0Ms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QU8sRUFBRXNEO01BQTJCLENBQUEsQ0FFdkMsRUFDQXhDLFFBQVEsQ0FBQXBELE1BQUEsQ0FBQWdHLE1BQUEsQ0FBQWhHLE1BQUEsQ0FBQWdHLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDSjNDLFNBQVMsQ0FBQSxFQUFBO1FBQ1paLGFBQWEsRUFBRW9ELG1CQUFtQjtRQUNsQ3ZELE9BQU8sRUFBRW9ELG9CQUFvQjtRQUM3Qm5ELGNBQWMsRUFBRXFEO01BQTJCLENBQUEsQ0FBQSxDQUMzQztJQUFBLENBQUE7RUFDYSxDQUFBLENBQ2I7QUFFVixDQUFDLENBQUM7QUFFRixJQUFJNUQsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7RUFDekNOLFdBQVcsQ0FBQ2lGLFdBQVcsR0FBRyxhQUFhO0FBQ3pDO0FBRUE7QUFDQTtBQUNBLDRCQUFlN0YsS0FBSyxDQUFDOEYsSUFBSSxDQUFDbEYsV0FBVyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0ZpeGVkSG9sZGVyL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAnLi4vc2VsZWN0b3ItY29udGV4dCc7XG5pbXBvcnQgeyBjbHN4IH0gZnJvbSAnY2xzeCc7XG5pbXBvcnQgeyBmaWxsUmVmIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvcmVmJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ29sR3JvdXAgZnJvbSAnLi4vQ29sR3JvdXAnO1xuaW1wb3J0IFRhYmxlQ29udGV4dCBmcm9tICcuLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgZGV2UmVuZGVyVGltZXMgZnJvbSAnLi4vaG9va3MvdXNlUmVuZGVyVGltZXMnO1xuZnVuY3Rpb24gdXNlQ29sdW1uV2lkdGgoY29sV2lkdGhzLCBjb2x1bUNvdW50KSB7XG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBjbG9uZUNvbHVtbnMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bUNvdW50OyBpICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGNvbFdpZHRoc1tpXTtcbiAgICAgICAgICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNsb25lQ29sdW1uc1tpXSA9IHZhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbG9uZUNvbHVtbnM7XG4gICAgfSwgW2NvbFdpZHRocy5qb2luKCdfJyksIGNvbHVtQ291bnRdKTtcbn1cbmNvbnN0IEZpeGVkSG9sZGVyID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGRldlJlbmRlclRpbWVzKHByb3BzKTtcbiAgICB9XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIHN0eWxlLCBub0RhdGEsIGNvbHVtbnMsIGZsYXR0ZW5Db2x1bW5zLCBjb2xXaWR0aHMsIGNvbEdyb3VwLCBjb2x1bUNvdW50LCBzdGlja3lPZmZzZXRzLCBkaXJlY3Rpb24sIGZpeEhlYWRlciwgc3RpY2t5VG9wT2Zmc2V0LCBzdGlja3lCb3R0b21PZmZzZXQsIHN0aWNreUNsYXNzTmFtZSwgc2Nyb2xsWCwgdGFibGVMYXlvdXQgPSAnZml4ZWQnLCBvblNjcm9sbCwgbWF4Q29udGVudFNjcm9sbCwgY2hpbGRyZW4gfSA9IHByb3BzLCByZXN0UHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInN0eWxlXCIsIFwibm9EYXRhXCIsIFwiY29sdW1uc1wiLCBcImZsYXR0ZW5Db2x1bW5zXCIsIFwiY29sV2lkdGhzXCIsIFwiY29sR3JvdXBcIiwgXCJjb2x1bUNvdW50XCIsIFwic3RpY2t5T2Zmc2V0c1wiLCBcImRpcmVjdGlvblwiLCBcImZpeEhlYWRlclwiLCBcInN0aWNreVRvcE9mZnNldFwiLCBcInN0aWNreUJvdHRvbU9mZnNldFwiLCBcInN0aWNreUNsYXNzTmFtZVwiLCBcInNjcm9sbFhcIiwgXCJ0YWJsZUxheW91dFwiLCBcIm9uU2Nyb2xsXCIsIFwibWF4Q29udGVudFNjcm9sbFwiLCBcImNoaWxkcmVuXCJdKTtcbiAgICBjb25zdCB7IHByZWZpeENscywgc2Nyb2xsYmFyU2l6ZSwgaXNTdGlja3ksIGdldENvbXBvbmVudCB9ID0gdXNlQ29udGV4dChUYWJsZUNvbnRleHQsIFtcbiAgICAgICAgJ3ByZWZpeENscycsXG4gICAgICAgICdzY3JvbGxiYXJTaXplJyxcbiAgICAgICAgJ2lzU3RpY2t5JyxcbiAgICAgICAgJ2dldENvbXBvbmVudCcsXG4gICAgXSk7XG4gICAgY29uc3QgVGFibGVDb21wb25lbnQgPSBnZXRDb21wb25lbnQoWydoZWFkZXInLCAndGFibGUnXSwgJ3RhYmxlJyk7XG4gICAgY29uc3QgY29tYmluYXRpb25TY3JvbGxCYXJTaXplID0gaXNTdGlja3kgJiYgIWZpeEhlYWRlciA/IDAgOiBzY3JvbGxiYXJTaXplO1xuICAgIC8vIFBhc3Mgd2hlZWwgdG8gc2Nyb2xsIGV2ZW50XG4gICAgY29uc3Qgc2Nyb2xsUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNldFNjcm9sbFJlZiA9IFJlYWN0LnVzZUNhbGxiYWNrKChlbGVtZW50KSA9PiB7XG4gICAgICAgIGZpbGxSZWYocmVmLCBlbGVtZW50KTtcbiAgICAgICAgZmlsbFJlZihzY3JvbGxSZWYsIGVsZW1lbnQpO1xuICAgIH0sIFtdKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBmdW5jdGlvbiBvbldoZWVsKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudFRhcmdldCwgZGVsdGFYIH0gPSBlO1xuICAgICAgICAgICAgaWYgKGRlbHRhWCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGgsIGNsaWVudFdpZHRoIH0gPSBjdXJyZW50VGFyZ2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFNjcm9sbFdpZHRoID0gc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aDtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dFNjcm9sbCA9IHNjcm9sbExlZnQgKyBkZWx0YVg7XG4gICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbCA9IE1hdGgubWF4KC1tYXhTY3JvbGxXaWR0aCwgbmV4dFNjcm9sbCk7XG4gICAgICAgICAgICAgICAgICAgIG5leHRTY3JvbGwgPSBNYXRoLm1pbigwLCBuZXh0U2Nyb2xsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHRTY3JvbGwgPSBNYXRoLm1pbihtYXhTY3JvbGxXaWR0aCwgbmV4dFNjcm9sbCk7XG4gICAgICAgICAgICAgICAgICAgIG5leHRTY3JvbGwgPSBNYXRoLm1heCgwLCBuZXh0U2Nyb2xsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25TY3JvbGwoe1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0OiBuZXh0U2Nyb2xsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzY3JvbGxFbGUgPSBzY3JvbGxSZWYuY3VycmVudDtcbiAgICAgICAgc2Nyb2xsRWxlID09PSBudWxsIHx8IHNjcm9sbEVsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2Nyb2xsRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCwgeyBwYXNzaXZlOiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHNjcm9sbEVsZSA9PT0gbnVsbCB8fCBzY3JvbGxFbGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNjcm9sbEVsZS5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uV2hlZWwpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICAvLyBBZGQgc2Nyb2xsYmFyIGNvbHVtblxuICAgIGNvbnN0IGxhc3RDb2x1bW4gPSBmbGF0dGVuQ29sdW1uc1tmbGF0dGVuQ29sdW1ucy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBTY3JvbGxCYXJDb2x1bW4gPSB7XG4gICAgICAgIGZpeGVkOiBsYXN0Q29sdW1uID8gbGFzdENvbHVtbi5maXhlZCA6IG51bGwsXG4gICAgICAgIHNjcm9sbGJhcjogdHJ1ZSxcbiAgICAgICAgb25IZWFkZXJDZWxsOiAoKSA9PiAoe1xuICAgICAgICAgICAgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LWNlbGwtc2Nyb2xsYmFyYCxcbiAgICAgICAgfSksXG4gICAgfTtcbiAgICBjb25zdCBjb2x1bW5zV2l0aFNjcm9sbGJhciA9IHVzZU1lbW8oKCkgPT4gKGNvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSA/IFsuLi5jb2x1bW5zLCBTY3JvbGxCYXJDb2x1bW5dIDogY29sdW1ucyksIFtjb21iaW5hdGlvblNjcm9sbEJhclNpemUsIGNvbHVtbnNdKTtcbiAgICBjb25zdCBmbGF0dGVuQ29sdW1uc1dpdGhTY3JvbGxiYXIgPSB1c2VNZW1vKCgpID0+IChjb21iaW5hdGlvblNjcm9sbEJhclNpemUgPyBbLi4uZmxhdHRlbkNvbHVtbnMsIFNjcm9sbEJhckNvbHVtbl0gOiBmbGF0dGVuQ29sdW1ucyksIFtjb21iaW5hdGlvblNjcm9sbEJhclNpemUsIGZsYXR0ZW5Db2x1bW5zXSk7XG4gICAgLy8gQ2FsY3VsYXRlIHRoZSBzdGlja3kgb2Zmc2V0c1xuICAgIGNvbnN0IGhlYWRlclN0aWNreU9mZnNldHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBzdGlja3lPZmZzZXRzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBzdGlja3lPZmZzZXRzKSwgeyBcbiAgICAgICAgICAgIC8vIGxlZnQ6XG4gICAgICAgICAgICAvLyAgIGRpcmVjdGlvbiA9PT0gJ3J0bCcgPyBbLi4ubGVmdC5tYXAod2lkdGggPT4gd2lkdGggKyBjb21iaW5hdGlvblNjcm9sbEJhclNpemUpLCAwXSA6IGxlZnQsXG4gICAgICAgICAgICAvLyByaWdodDpcbiAgICAgICAgICAgIC8vICAgZGlyZWN0aW9uID09PSAncnRsJyA/IHJpZ2h0IDogWy4uLnJpZ2h0Lm1hcCh3aWR0aCA9PiB3aWR0aCArIGNvbWJpbmF0aW9uU2Nyb2xsQmFyU2l6ZSksIDBdLFxuICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LCBlbmQ6IFsuLi5lbmQubWFwKHdpZHRoID0+IHdpZHRoICsgY29tYmluYXRpb25TY3JvbGxCYXJTaXplKSwgMF0sIGlzU3RpY2t5IH0pO1xuICAgIH0sIFtjb21iaW5hdGlvblNjcm9sbEJhclNpemUsIHN0aWNreU9mZnNldHMsIGlzU3RpY2t5XSk7XG4gICAgY29uc3QgbWVyZ2VkQ29sdW1uV2lkdGggPSB1c2VDb2x1bW5XaWR0aChjb2xXaWR0aHMsIGNvbHVtQ291bnQpO1xuICAgIGNvbnN0IGlzQ29sR3JvdXBFbXB0eSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICAvLyB1c2Ugb3JpZ2luYWwgQ29sR3JvdXAgaWYgbm8gZGF0YSBvciBubyBjYWxjdWxhdGVkIGNvbHVtbiB3aWR0aCwgb3RoZXJ3aXNlIHVzZSBjYWxjdWxhdGVkIGNvbHVtbiB3aWR0aFxuICAgICAgICAvLyBSZXR1cm4gb3JpZ2luYWwgY29sR3JvdXAgaWYgbm8gZGF0YSwgb3IgbWVyZ2VkQ29sdW1uV2lkdGggaXMgZW1wdHksIG9yIGFsbCB3aWR0aHMgYXJlIGZhbHN5XG4gICAgICAgIGNvbnN0IG5vV2lkdGggPSAhbWVyZ2VkQ29sdW1uV2lkdGggfHwgIW1lcmdlZENvbHVtbldpZHRoLmxlbmd0aCB8fCBtZXJnZWRDb2x1bW5XaWR0aC5ldmVyeSh3ID0+ICF3KTtcbiAgICAgICAgcmV0dXJuIG5vRGF0YSB8fCBub1dpZHRoO1xuICAgIH0sIFtub0RhdGEsIG1lcmdlZENvbHVtbldpZHRoXSk7XG4gICAgcmV0dXJuIChfanN4KFwiZGl2XCIsIHsgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IG92ZXJmbG93OiAnaGlkZGVuJyB9LCAoaXNTdGlja3kgPyB7IHRvcDogc3RpY2t5VG9wT2Zmc2V0LCBib3R0b206IHN0aWNreUJvdHRvbU9mZnNldCB9IDoge30pKSwgc3R5bGUpLCByZWY6IHNldFNjcm9sbFJlZiwgY2xhc3NOYW1lOiBjbHN4KGNsYXNzTmFtZSwge1xuICAgICAgICAgICAgW3N0aWNreUNsYXNzTmFtZV06ICEhc3RpY2t5Q2xhc3NOYW1lLFxuICAgICAgICB9KSwgY2hpbGRyZW46IF9qc3hzKFRhYmxlQ29tcG9uZW50LCB7IHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgdGFibGVMYXlvdXQsXG4gICAgICAgICAgICAgICAgbWluV2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogc2Nyb2xsWCxcbiAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbaXNDb2xHcm91cEVtcHR5ID8gKGNvbEdyb3VwKSA6IChfanN4KENvbEdyb3VwLCB7IGNvbFdpZHRoczogWy4uLm1lcmdlZENvbHVtbldpZHRoLCBjb21iaW5hdGlvblNjcm9sbEJhclNpemVdLCBjb2x1bUNvdW50OiBjb2x1bUNvdW50ICsgMSwgY29sdW1uczogZmxhdHRlbkNvbHVtbnNXaXRoU2Nyb2xsYmFyIH0pKSwgY2hpbGRyZW4oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCByZXN0UHJvcHMpLCB7IHN0aWNreU9mZnNldHM6IGhlYWRlclN0aWNreU9mZnNldHMsIGNvbHVtbnM6IGNvbHVtbnNXaXRoU2Nyb2xsYmFyLCBmbGF0dGVuQ29sdW1uczogZmxhdHRlbkNvbHVtbnNXaXRoU2Nyb2xsYmFyIH0pKV0gfSkgfSkpO1xufSk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIEZpeGVkSG9sZGVyLmRpc3BsYXlOYW1lID0gJ0ZpeGVkSG9sZGVyJztcbn1cbi8qKiBSZXR1cm4gYSB0YWJsZSBpbiBkaXYgYXMgZml4ZWQgZWxlbWVudCB3aGljaCBjb250YWlucyBzdGlja3kgaW5mbyAqL1xuLy8gZXhwb3J0IGRlZmF1bHQgcmVzcG9uc2VJbW11dGFibGUoRml4ZWRIb2xkZXIpO1xuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhGaXhlZEhvbGRlcik7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -30,7 +30,7 @@ import { FooterComponents } from './Footer';
30
30
  import type { ColumnsType, ColumnType, DefaultRecordType, Direction, ExpandableConfig, GetComponentProps, GetRowKey, LegacyExpandableProps, PanelRender, Reference, RowClassName, TableComponents, TableLayout, TableSticky } from './interface';
31
31
  import Column from './sugar/Column';
32
32
  import ColumnGroup from './sugar/ColumnGroup';
33
- export declare const DEFAULT_PREFIX = "rc-table";
33
+ export declare const DEFAULT_PREFIX = "om-table";
34
34
  export type SemanticName = 'section' | 'title' | 'footer' | 'content';
35
35
  export type ComponentsSemantic = 'wrapper' | 'cell' | 'row';
36
36
  export interface TableProps<RecordType = DefaultRecordType> extends Omit<LegacyExpandableProps<RecordType>, 'showExpandColumn'> {