@1money/component-ui 0.0.60 → 0.0.61

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.
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, memo } from 'react';
3
- import { Spinner } from '../Spinner';
4
3
  import './style';
5
4
  import { InternalRcTable } from './internal';
6
5
  import { useTableSetup } from './core/useTableSetup';
@@ -10,6 +9,7 @@ var TableInner = function TableInner(props, ref) {
10
9
  wrapperClassName = setup.wrapperClassName,
11
10
  tableClassName = setup.tableClassName,
12
11
  loading = setup.loading,
12
+ loadingIndicator = setup.loadingIndicator,
13
13
  renderedColumns = setup.renderedColumns,
14
14
  currentDataSource = setup.currentDataSource,
15
15
  mergedExpandable = setup.mergedExpandable,
@@ -21,7 +21,7 @@ var TableInner = function TableInner(props, ref) {
21
21
  className: wrapperClassName,
22
22
  children: [loading && _jsx("div", {
23
23
  className: "".concat(prefixCls, "-loading-overlay"),
24
- children: _jsx(Spinner, {})
24
+ children: loadingIndicator
25
25
  }), _jsx(InternalRcTable, Object.assign({}, forwardedKernelProps, {
26
26
  ref: ref,
27
27
  scroll: props.scroll,
@@ -38,4 +38,4 @@ var TableBase = /*#__PURE__*/forwardRef(TableInner);
38
38
  TableBase.displayName = 'Table';
39
39
  export var Table = /*#__PURE__*/memo(TableBase);
40
40
  export default Table;
41
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJTcGlubmVyIiwiSW50ZXJuYWxSY1RhYmxlIiwidXNlVGFibGVTZXR1cCIsIlRhYmxlSW5uZXIiLCJwcm9wcyIsInJlZiIsInNldHVwIiwicHJlZml4Q2xzIiwid3JhcHBlckNsYXNzTmFtZSIsInRhYmxlQ2xhc3NOYW1lIiwibG9hZGluZyIsInJlbmRlcmVkQ29sdW1ucyIsImN1cnJlbnREYXRhU291cmNlIiwibWVyZ2VkRXhwYW5kYWJsZSIsImVtcHR5VGV4dCIsIndyYXBwZXJIdG1sUHJvcHMiLCJmb3J3YXJkZWRLZXJuZWxQcm9wcyIsInBhZ2luYXRpb25Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJjb25jYXQiLCJzY3JvbGwiLCJjb2x1bW5zIiwiZGF0YSIsImV4cGFuZGFibGUiLCJUYWJsZUJhc2UiLCJkaXNwbGF5TmFtZSIsIlRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFVBQVUsRUFBRUMsSUFBSSxRQUFxQyxPQUFPO0FBQ3JFLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLE9BQU8sU0FBUztBQUNoQixTQUFTQyxlQUFlLFFBQVEsWUFBWTtBQUM1QyxTQUFTQyxhQUFhLFFBQVEsc0JBQXNCO0FBSXBELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUNkQyxLQUFvQixFQUNwQkMsR0FBa0IsRUFDaEI7RUFDRixJQUFNQyxLQUFLLEdBQUdKLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDO0VBQ2xDLElBQ0VHLFNBQVMsR0FXUEQsS0FBSyxDQVhQQyxTQUFTO0lBQ1RDLGdCQUFnQixHQVVkRixLQUFLLENBVlBFLGdCQUFnQjtJQUNoQkMsY0FBYyxHQVNaSCxLQUFLLENBVFBHLGNBQWM7SUFDZEMsT0FBTyxHQVFMSixLQUFLLENBUlBJLE9BQU87SUFDUEMsZUFBZSxHQU9iTCxLQUFLLENBUFBLLGVBQWU7SUFDZkMsaUJBQWlCLEdBTWZOLEtBQUssQ0FOUE0saUJBQWlCO0lBQ2pCQyxnQkFBZ0IsR0FLZFAsS0FBSyxDQUxQTyxnQkFBZ0I7SUFDaEJDLFNBQVMsR0FJUFIsS0FBSyxDQUpQUSxTQUFTO0lBQ1RDLGdCQUFnQixHQUdkVCxLQUFLLENBSFBTLGdCQUFnQjtJQUNoQkMsb0JBQW9CLEdBRWxCVixLQUFLLENBRlBVLG9CQUFvQjtJQUNwQkMsY0FBYyxHQUNaWCxLQUFLLENBRFBXLGNBQWM7RUFHaEIsT0FDRXBCLEtBQUEsQ0FBQSxLQUFBLEVBQUFxQixNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBU0osZ0JBQWdCLEVBQUE7SUFBRUssU0FBUyxFQUFFWixnQkFBZ0I7SUFBQWEsUUFBQSxFQUFBLENBQ25EWCxPQUFPLElBQ05mLElBQUEsQ0FBQSxLQUFBLEVBQUE7TUFBS3lCLFNBQVMsS0FBQUUsTUFBQSxDQUFLZixTQUFTLHFCQUFrQjtNQUFBYyxRQUFBLEVBQzVDMUIsSUFBQSxDQUFDSyxPQUFPLEVBQUEsQ0FBQSxDQUFBO0lBQUcsQ0FBQSxDQUVkLEVBQ0RMLElBQUEsQ0FBQ00sZUFBZSxFQUFBaUIsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ1ZILG9CQUFvQixFQUFBO01BQ3hCWCxHQUFHLEVBQUVBLEdBQXFCO01BQzFCa0IsTUFBTSxFQUFFbkIsS0FBSyxDQUFDbUIsTUFBTTtNQUNwQmhCLFNBQVMsRUFBRUEsU0FBUztNQUNwQmEsU0FBUyxFQUFFWCxjQUFjO01BQ3pCZSxPQUFPLEVBQUViLGVBQWU7TUFDeEJjLElBQUksRUFBRWIsaUJBQWlCO01BQ3ZCRSxTQUFTLEVBQUVBLFNBQVM7TUFDcEJZLFVBQVUsRUFBRWI7SUFBZ0IsQ0FBQSxDQUFBLENBQzVCLEVBQ0RJLGNBQWM7RUFBQSxDQUFBLENBQUEsQ0FDWDtBQUVWLENBQUM7QUFNRCxJQUFNVSxTQUFTLGdCQUFHN0IsVUFBVSxDQUFDSyxVQUFVLENBQXdCO0FBRS9Ed0IsU0FBUyxDQUFDQyxXQUFXLEdBQUcsT0FBTztBQUUvQixPQUFPLElBQU1DLEtBQUssZ0JBQUc5QixJQUFJLENBQUM0QixTQUFTLENBQXdCO0FBRTNELGVBQWVFLEtBQUsiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9UYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uL1NwaW5uZXInO1xuaW1wb3J0ICcuL3N0eWxlJztcbmltcG9ydCB7IEludGVybmFsUmNUYWJsZSB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgdXNlVGFibGVTZXR1cCB9IGZyb20gJy4vY29yZS91c2VUYWJsZVNldHVwJztcbmNvbnN0IFRhYmxlSW5uZXIgPSAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHNldHVwID0gdXNlVGFibGVTZXR1cChwcm9wcyk7XG4gICAgY29uc3QgeyBwcmVmaXhDbHMsIHdyYXBwZXJDbGFzc05hbWUsIHRhYmxlQ2xhc3NOYW1lLCBsb2FkaW5nLCByZW5kZXJlZENvbHVtbnMsIGN1cnJlbnREYXRhU291cmNlLCBtZXJnZWRFeHBhbmRhYmxlLCBlbXB0eVRleHQsIHdyYXBwZXJIdG1sUHJvcHMsIGZvcndhcmRlZEtlcm5lbFByb3BzLCBwYWdpbmF0aW9uTm9kZSwgfSA9IHNldHVwO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgd3JhcHBlckh0bWxQcm9wcywgeyBjbGFzc05hbWU6IHdyYXBwZXJDbGFzc05hbWUsIGNoaWxkcmVuOiBbbG9hZGluZyAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1sb2FkaW5nLW92ZXJsYXlgLCBjaGlsZHJlbjogX2pzeChTcGlubmVyLCB7fSkgfSkpLCBfanN4KEludGVybmFsUmNUYWJsZSwgT2JqZWN0LmFzc2lnbih7fSwgZm9yd2FyZGVkS2VybmVsUHJvcHMsIHsgcmVmOiByZWYsIHNjcm9sbDogcHJvcHMuc2Nyb2xsLCBwcmVmaXhDbHM6IHByZWZpeENscywgY2xhc3NOYW1lOiB0YWJsZUNsYXNzTmFtZSwgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zLCBkYXRhOiBjdXJyZW50RGF0YVNvdXJjZSwgZW1wdHlUZXh0OiBlbXB0eVRleHQsIGV4cGFuZGFibGU6IG1lcmdlZEV4cGFuZGFibGUgfSkpLCBwYWdpbmF0aW9uTm9kZV0gfSkpKTtcbn07XG5jb25zdCBUYWJsZUJhc2UgPSBmb3J3YXJkUmVmKFRhYmxlSW5uZXIpO1xuVGFibGVCYXNlLmRpc3BsYXlOYW1lID0gJ1RhYmxlJztcbmV4cG9ydCBjb25zdCBUYWJsZSA9IG1lbW8oVGFibGVCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFRhYmxlOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
41
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJJbnRlcm5hbFJjVGFibGUiLCJ1c2VUYWJsZVNldHVwIiwiVGFibGVJbm5lciIsInByb3BzIiwicmVmIiwic2V0dXAiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xhc3NOYW1lIiwidGFibGVDbGFzc05hbWUiLCJsb2FkaW5nIiwibG9hZGluZ0luZGljYXRvciIsInJlbmRlcmVkQ29sdW1ucyIsImN1cnJlbnREYXRhU291cmNlIiwibWVyZ2VkRXhwYW5kYWJsZSIsImVtcHR5VGV4dCIsIndyYXBwZXJIdG1sUHJvcHMiLCJmb3J3YXJkZWRLZXJuZWxQcm9wcyIsInBhZ2luYXRpb25Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJjb25jYXQiLCJzY3JvbGwiLCJjb2x1bW5zIiwiZGF0YSIsImV4cGFuZGFibGUiLCJUYWJsZUJhc2UiLCJkaXNwbGF5TmFtZSIsIlRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFVBQVUsRUFBRUMsSUFBSSxRQUFxQyxPQUFPO0FBQ3JFLE9BQU8sU0FBUztBQUNoQixTQUFTQyxlQUFlLFFBQVEsWUFBWTtBQUM1QyxTQUFTQyxhQUFhLFFBQVEsc0JBQXNCO0FBSXBELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUNkQyxLQUFvQixFQUNwQkMsR0FBa0IsRUFDaEI7RUFDRixJQUFNQyxLQUFLLEdBQUdKLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDO0VBQ2xDLElBQ0VHLFNBQVMsR0FZUEQsS0FBSyxDQVpQQyxTQUFTO0lBQ1RDLGdCQUFnQixHQVdkRixLQUFLLENBWFBFLGdCQUFnQjtJQUNoQkMsY0FBYyxHQVVaSCxLQUFLLENBVlBHLGNBQWM7SUFDZEMsT0FBTyxHQVNMSixLQUFLLENBVFBJLE9BQU87SUFDUEMsZ0JBQWdCLEdBUWRMLEtBQUssQ0FSUEssZ0JBQWdCO0lBQ2hCQyxlQUFlLEdBT2JOLEtBQUssQ0FQUE0sZUFBZTtJQUNmQyxpQkFBaUIsR0FNZlAsS0FBSyxDQU5QTyxpQkFBaUI7SUFDakJDLGdCQUFnQixHQUtkUixLQUFLLENBTFBRLGdCQUFnQjtJQUNoQkMsU0FBUyxHQUlQVCxLQUFLLENBSlBTLFNBQVM7SUFDVEMsZ0JBQWdCLEdBR2RWLEtBQUssQ0FIUFUsZ0JBQWdCO0lBQ2hCQyxvQkFBb0IsR0FFbEJYLEtBQUssQ0FGUFcsb0JBQW9CO0lBQ3BCQyxjQUFjLEdBQ1paLEtBQUssQ0FEUFksY0FBYztFQUdoQixPQUNFcEIsS0FBQSxDQUFBLEtBQUEsRUFBQXFCLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFTSixnQkFBZ0IsRUFBQTtJQUFFSyxTQUFTLEVBQUViLGdCQUFnQjtJQUFBYyxRQUFBLEVBQUEsQ0FDbkRaLE9BQU8sSUFDTmQsSUFBQSxDQUFBLEtBQUEsRUFBQTtNQUFLeUIsU0FBUyxLQUFBRSxNQUFBLENBQUtoQixTQUFTLHFCQUFrQjtNQUFBZSxRQUFBLEVBQzNDWDtJQUFnQixDQUFBLENBRXBCLEVBQ0RmLElBQUEsQ0FBQ0ssZUFBZSxFQUFBa0IsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ1ZILG9CQUFvQixFQUFBO01BQ3hCWixHQUFHLEVBQUVBLEdBQXFCO01BQzFCbUIsTUFBTSxFQUFFcEIsS0FBSyxDQUFDb0IsTUFBTTtNQUNwQmpCLFNBQVMsRUFBRUEsU0FBUztNQUNwQmMsU0FBUyxFQUFFWixjQUFjO01BQ3pCZ0IsT0FBTyxFQUFFYixlQUFlO01BQ3hCYyxJQUFJLEVBQUViLGlCQUFpQjtNQUN2QkUsU0FBUyxFQUFFQSxTQUFTO01BQ3BCWSxVQUFVLEVBQUViO0lBQWdCLENBQUEsQ0FBQSxDQUM1QixFQUNESSxjQUFjO0VBQUEsQ0FBQSxDQUFBLENBQ1g7QUFFVixDQUFDO0FBTUQsSUFBTVUsU0FBUyxnQkFBRzdCLFVBQVUsQ0FBQ0ksVUFBVSxDQUF3QjtBQUUvRHlCLFNBQVMsQ0FBQ0MsV0FBVyxHQUFHLE9BQU87QUFFL0IsT0FBTyxJQUFNQyxLQUFLLGdCQUFHOUIsSUFBSSxDQUFDNEIsU0FBUyxDQUF3QjtBQUUzRCxlQUFlRSxLQUFLIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCAnLi9zdHlsZSc7XG5pbXBvcnQgeyBJbnRlcm5hbFJjVGFibGUgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IHVzZVRhYmxlU2V0dXAgfSBmcm9tICcuL2NvcmUvdXNlVGFibGVTZXR1cCc7XG5jb25zdCBUYWJsZUlubmVyID0gKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCBzZXR1cCA9IHVzZVRhYmxlU2V0dXAocHJvcHMpO1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzLCB3cmFwcGVyQ2xhc3NOYW1lLCB0YWJsZUNsYXNzTmFtZSwgbG9hZGluZywgbG9hZGluZ0luZGljYXRvciwgcmVuZGVyZWRDb2x1bW5zLCBjdXJyZW50RGF0YVNvdXJjZSwgbWVyZ2VkRXhwYW5kYWJsZSwgZW1wdHlUZXh0LCB3cmFwcGVySHRtbFByb3BzLCBmb3J3YXJkZWRLZXJuZWxQcm9wcywgcGFnaW5hdGlvbk5vZGUsIH0gPSBzZXR1cDtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIHdyYXBwZXJIdG1sUHJvcHMsIHsgY2xhc3NOYW1lOiB3cmFwcGVyQ2xhc3NOYW1lLCBjaGlsZHJlbjogW2xvYWRpbmcgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tbG9hZGluZy1vdmVybGF5YCwgY2hpbGRyZW46IGxvYWRpbmdJbmRpY2F0b3IgfSkpLCBfanN4KEludGVybmFsUmNUYWJsZSwgT2JqZWN0LmFzc2lnbih7fSwgZm9yd2FyZGVkS2VybmVsUHJvcHMsIHsgcmVmOiByZWYsIHNjcm9sbDogcHJvcHMuc2Nyb2xsLCBwcmVmaXhDbHM6IHByZWZpeENscywgY2xhc3NOYW1lOiB0YWJsZUNsYXNzTmFtZSwgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zLCBkYXRhOiBjdXJyZW50RGF0YVNvdXJjZSwgZW1wdHlUZXh0OiBlbXB0eVRleHQsIGV4cGFuZGFibGU6IG1lcmdlZEV4cGFuZGFibGUgfSkpLCBwYWdpbmF0aW9uTm9kZV0gfSkpKTtcbn07XG5jb25zdCBUYWJsZUJhc2UgPSBmb3J3YXJkUmVmKFRhYmxlSW5uZXIpO1xuVGFibGVCYXNlLmRpc3BsYXlOYW1lID0gJ1RhYmxlJztcbmV4cG9ydCBjb25zdCBUYWJsZSA9IG1lbW8oVGFibGVCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFRhYmxlOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -8,7 +8,6 @@ var __rest = this && this.__rest || function (s, e) {
8
8
  };
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  import { forwardRef, memo } from 'react';
11
- import { Spinner } from '../Spinner';
12
11
  import { InternalRcVirtualTable as InternalRcVirtualTableRaw } from './internal';
13
12
  import { useTableSetup } from './core/useTableSetup';
14
13
  var InternalRcVirtualTable = InternalRcVirtualTableRaw;
@@ -21,6 +20,7 @@ var VirtualTableInner = function VirtualTableInner(props, ref) {
21
20
  wrapperClassName = setup.wrapperClassName,
22
21
  tableClassName = setup.tableClassName,
23
22
  loading = setup.loading,
23
+ loadingIndicator = setup.loadingIndicator,
24
24
  renderedColumns = setup.renderedColumns,
25
25
  currentDataSource = setup.currentDataSource,
26
26
  mergedExpandable = setup.mergedExpandable,
@@ -32,7 +32,7 @@ var VirtualTableInner = function VirtualTableInner(props, ref) {
32
32
  className: wrapperClassName,
33
33
  children: [loading && _jsx("div", {
34
34
  className: "".concat(prefixCls, "-loading-overlay"),
35
- children: _jsx(Spinner, {})
35
+ children: loadingIndicator
36
36
  }), _jsx(InternalRcVirtualTable, Object.assign({}, forwardedKernelProps, {
37
37
  ref: ref,
38
38
  prefixCls: prefixCls,
@@ -50,4 +50,4 @@ var VirtualTableBase = /*#__PURE__*/forwardRef(VirtualTableInner);
50
50
  VirtualTableBase.displayName = 'VirtualTable';
51
51
  export var VirtualTable = /*#__PURE__*/memo(VirtualTableBase);
52
52
  export default VirtualTable;
53
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVmlydHVhbFRhYmxlLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UYWJsZS9WaXJ0dWFsVGFibGUudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImZvcndhcmRSZWYiLCJtZW1vIiwiU3Bpbm5lciIsIkludGVybmFsUmNWaXJ0dWFsVGFibGUiLCJJbnRlcm5hbFJjVmlydHVhbFRhYmxlUmF3IiwidXNlVGFibGVTZXR1cCIsIlZpcnR1YWxUYWJsZUlubmVyIiwicHJvcHMiLCJyZWYiLCJzY3JvbGwiLCJsaXN0SXRlbUhlaWdodCIsInJlc3QiLCJzZXR1cCIsInByZWZpeENscyIsIndyYXBwZXJDbGFzc05hbWUiLCJ0YWJsZUNsYXNzTmFtZSIsImxvYWRpbmciLCJyZW5kZXJlZENvbHVtbnMiLCJjdXJyZW50RGF0YVNvdXJjZSIsIm1lcmdlZEV4cGFuZGFibGUiLCJlbXB0eVRleHQiLCJ3cmFwcGVySHRtbFByb3BzIiwiZm9yd2FyZGVkS2VybmVsUHJvcHMiLCJwYWdpbmF0aW9uTm9kZSIsImFzc2lnbiIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiY29uY2F0IiwiY29sdW1ucyIsImRhdGEiLCJleHBhbmRhYmxlIiwiVmlydHVhbFRhYmxlQmFzZSIsImRpc3BsYXlOYW1lIiwiVmlydHVhbFRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFL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Q0ssT0FBTyxFQUFBLENBQUEsQ0FBQTtJQUFHLENBQUEsQ0FFZCxFQUNETCxJQUFBLENBQUNNLHNCQUFzQixFQUFBaEIsTUFBQSxDQUFBcUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNqQkYsb0JBQW9CLEVBQUE7TUFDeEJkLEdBQUcsRUFBRUEsR0FBcUI7TUFDMUJLLFNBQVMsRUFBRUEsU0FBUztNQUNwQlksU0FBUyxFQUFFVixjQUFjO01BQ3pCTixNQUFNLEVBQUVBLE1BQU07TUFDZEMsY0FBYyxFQUFFQSxjQUFjO01BQzlCa0IsT0FBTyxFQUFFWCxlQUFlO01BQ3hCWSxJQUFJLEVBQUVYLGlCQUFpQjtNQUN2QkUsU0FBUyxFQUFFQSxTQUFTO01BQ3BCVSxVQUFVLEVBQUVYO0lBQWdCLENBQUEsQ0FBQSxDQUM1QixFQUNESSxjQUFjO0VBQUEsQ0FBQSxDQUFBLENBQ1g7QUFFVixDQUFDO0FBTUQsSUFBTVEsZ0JBQWdCLGdCQUFHL0IsVUFBVSxDQUFDTSxpQkFBaUIsQ0FBK0I7QUFFcEZ5QixnQkFBZ0IsQ0FBQ0MsV0FBVyxHQUFHLGNBQWM7QUFFN0MsT0FBTyxJQUFNQyxZQUFZLGdCQUFHaEMsSUFBSSxDQUFDOEIsZ0JBQWdCLENBQStCO0FBRWhGLGVBQWVFLFlBQVkiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9WaXJ0dWFsVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IEludGVybmFsUmNWaXJ0dWFsVGFibGUgYXMgSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZVJhdyB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgdXNlVGFibGVTZXR1cCB9IGZyb20gJy4vY29yZS91c2VUYWJsZVNldHVwJztcbmNvbnN0IEludGVybmFsUmNWaXJ0dWFsVGFibGUgPSBJbnRlcm5hbFJjVmlydHVhbFRhYmxlUmF3O1xuY29uc3QgVmlydHVhbFRhYmxlSW5uZXIgPSAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgc2Nyb2xsLCBsaXN0SXRlbUhlaWdodCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInNjcm9sbFwiLCBcImxpc3RJdGVtSGVpZ2h0XCJdKTtcbiAgICBjb25zdCBzZXR1cCA9IHVzZVRhYmxlU2V0dXAocmVzdCk7XG4gICAgY29uc3QgeyBwcmVmaXhDbHMsIHdyYXBwZXJDbGFzc05hbWUsIHRhYmxlQ2xhc3NOYW1lLCBsb2FkaW5nLCByZW5kZXJlZENvbHVtbnMsIGN1cnJlbnREYXRhU291cmNlLCBtZXJnZWRFeHBhbmRhYmxlLCBlbXB0eVRleHQsIHdyYXBwZXJIdG1sUHJvcHMsIGZvcndhcmRlZEtlcm5lbFByb3BzLCBwYWdpbmF0aW9uTm9kZSwgfSA9IHNldHVwO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgd3JhcHBlckh0bWxQcm9wcywgeyBjbGFzc05hbWU6IHdyYXBwZXJDbGFzc05hbWUsIGNoaWxkcmVuOiBbbG9hZGluZyAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1sb2FkaW5nLW92ZXJsYXlgLCBjaGlsZHJlbjogX2pzeChTcGlubmVyLCB7fSkgfSkpLCBfanN4KEludGVybmFsUmNWaXJ0dWFsVGFibGUsIE9iamVjdC5hc3NpZ24oe30sIGZvcndhcmRlZEtlcm5lbFByb3BzLCB7IHJlZjogcmVmLCBwcmVmaXhDbHM6IHByZWZpeENscywgY2xhc3NOYW1lOiB0YWJsZUNsYXNzTmFtZSwgc2Nyb2xsOiBzY3JvbGwsIGxpc3RJdGVtSGVpZ2h0OiBsaXN0SXRlbUhlaWdodCwgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zLCBkYXRhOiBjdXJyZW50RGF0YVNvdXJjZSwgZW1wdHlUZXh0OiBlbXB0eVRleHQsIGV4cGFuZGFibGU6IG1lcmdlZEV4cGFuZGFibGUgfSkpLCBwYWdpbmF0aW9uTm9kZV0gfSkpKTtcbn07XG5jb25zdCBWaXJ0dWFsVGFibGVCYXNlID0gZm9yd2FyZFJlZihWaXJ0dWFsVGFibGVJbm5lcik7XG5WaXJ0dWFsVGFibGVCYXNlLmRpc3BsYXlOYW1lID0gJ1ZpcnR1YWxUYWJsZSc7XG5leHBvcnQgY29uc3QgVmlydHVhbFRhYmxlID0gbWVtbyhWaXJ0dWFsVGFibGVCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFZpcnR1YWxUYWJsZTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
53
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVmlydHVhbFRhYmxlLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UYWJsZS9WaXJ0dWFsVGFibGUudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImZvcndhcmRSZWYiLCJtZW1vIiwiSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZSIsIkludGVybmFsUmNWaXJ0dWFsVGFibGVSYXciLCJ1c2VUYWJsZVNldHVwIiwiVmlydHVhbFRhYmxlSW5uZXIiLCJwcm9wcyIsInJlZiIsInNjcm9sbCIsImxpc3RJdGVtSGVpZ2h0IiwicmVzdCIsInNldHVwIiwicHJlZml4Q2xzIiwid3JhcHBlckNsYXNzTmFtZSIsInRhYmxlQ2xhc3NOYW1lIiwibG9hZGluZyIsImxvYWRpbmdJbmRpY2F0b3IiLCJyZW5kZXJlZENvbHVtbnMiLCJjdXJyZW50RGF0YVNvdXJjZSIsIm1lcmdlZEV4cGFuZGFibGUiLCJlbXB0eVRleHQiLCJ3cmFwcGVySHRtbFByb3BzIiwiZm9yd2FyZGVkS2VybmVsUHJvcHMiLCJwYWdpbmF0aW9uTm9kZSIsImFzc2lnbiIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiY29uY2F0IiwiY29sdW1ucyIsImRhdGEiLCJleHBhbmRhYmxlIiwiVmlydHVhbFRhYmxlQmFzZSIsImRpc3BsYXlOYW1lIiwiVmlydHVhbFRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7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QUFBLEVBQzNDVjtJQUFnQixDQUFBLENBRXBCLEVBQ0RuQixJQUFBLENBQUNLLHNCQUFzQixFQUFBZixNQUFBLENBQUFxQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ2pCRixvQkFBb0IsRUFBQTtNQUN4QmYsR0FBRyxFQUFFQSxHQUFxQjtNQUMxQkssU0FBUyxFQUFFQSxTQUFTO01BQ3BCYSxTQUFTLEVBQUVYLGNBQWM7TUFDekJOLE1BQU0sRUFBRUEsTUFBTTtNQUNkQyxjQUFjLEVBQUVBLGNBQWM7TUFDOUJtQixPQUFPLEVBQUVYLGVBQWU7TUFDeEJZLElBQUksRUFBRVgsaUJBQWlCO01BQ3ZCRSxTQUFTLEVBQUVBLFNBQVM7TUFDcEJVLFVBQVUsRUFBRVg7SUFBZ0IsQ0FBQSxDQUFBLENBQzVCLEVBQ0RJLGNBQWM7RUFBQSxDQUFBLENBQUEsQ0FDWDtBQUVWLENBQUM7QUFNRCxJQUFNUSxnQkFBZ0IsZ0JBQUcvQixVQUFVLENBQUNLLGlCQUFpQixDQUErQjtBQUVwRjBCLGdCQUFnQixDQUFDQyxXQUFXLEdBQUcsY0FBYztBQUU3QyxPQUFPLElBQU1DLFlBQVksZ0JBQUdoQyxJQUFJLENBQUM4QixnQkFBZ0IsQ0FBK0I7QUFFaEYsZUFBZUUsWUFBWSIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL1ZpcnR1YWxUYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZSBhcyBJbnRlcm5hbFJjVmlydHVhbFRhYmxlUmF3IH0gZnJvbSAnLi9pbnRlcm5hbCc7XG5pbXBvcnQgeyB1c2VUYWJsZVNldHVwIH0gZnJvbSAnLi9jb3JlL3VzZVRhYmxlU2V0dXAnO1xuY29uc3QgSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZSA9IEludGVybmFsUmNWaXJ0dWFsVGFibGVSYXc7XG5jb25zdCBWaXJ0dWFsVGFibGVJbm5lciA9IChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBzY3JvbGwsIGxpc3RJdGVtSGVpZ2h0IH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wic2Nyb2xsXCIsIFwibGlzdEl0ZW1IZWlnaHRcIl0pO1xuICAgIGNvbnN0IHNldHVwID0gdXNlVGFibGVTZXR1cChyZXN0KTtcbiAgICBjb25zdCB7IHByZWZpeENscywgd3JhcHBlckNsYXNzTmFtZSwgdGFibGVDbGFzc05hbWUsIGxvYWRpbmcsIGxvYWRpbmdJbmRpY2F0b3IsIHJlbmRlcmVkQ29sdW1ucywgY3VycmVudERhdGFTb3VyY2UsIG1lcmdlZEV4cGFuZGFibGUsIGVtcHR5VGV4dCwgd3JhcHBlckh0bWxQcm9wcywgZm9yd2FyZGVkS2VybmVsUHJvcHMsIHBhZ2luYXRpb25Ob2RlLCB9ID0gc2V0dXA7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCB3cmFwcGVySHRtbFByb3BzLCB7IGNsYXNzTmFtZTogd3JhcHBlckNsYXNzTmFtZSwgY2hpbGRyZW46IFtsb2FkaW5nICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LWxvYWRpbmctb3ZlcmxheWAsIGNoaWxkcmVuOiBsb2FkaW5nSW5kaWNhdG9yIH0pKSwgX2pzeChJbnRlcm5hbFJjVmlydHVhbFRhYmxlLCBPYmplY3QuYXNzaWduKHt9LCBmb3J3YXJkZWRLZXJuZWxQcm9wcywgeyByZWY6IHJlZiwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGNsYXNzTmFtZTogdGFibGVDbGFzc05hbWUsIHNjcm9sbDogc2Nyb2xsLCBsaXN0SXRlbUhlaWdodDogbGlzdEl0ZW1IZWlnaHQsIGNvbHVtbnM6IHJlbmRlcmVkQ29sdW1ucywgZGF0YTogY3VycmVudERhdGFTb3VyY2UsIGVtcHR5VGV4dDogZW1wdHlUZXh0LCBleHBhbmRhYmxlOiBtZXJnZWRFeHBhbmRhYmxlIH0pKSwgcGFnaW5hdGlvbk5vZGVdIH0pKSk7XG59O1xuY29uc3QgVmlydHVhbFRhYmxlQmFzZSA9IGZvcndhcmRSZWYoVmlydHVhbFRhYmxlSW5uZXIpO1xuVmlydHVhbFRhYmxlQmFzZS5kaXNwbGF5TmFtZSA9ICdWaXJ0dWFsVGFibGUnO1xuZXhwb3J0IGNvbnN0IFZpcnR1YWxUYWJsZSA9IG1lbW8oVmlydHVhbFRhYmxlQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBWaXJ0dWFsVGFibGU7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -21,7 +21,10 @@ export interface TableSetupResult<T extends TableRecord> {
21
21
  prefixCls: string;
22
22
  wrapperClassName: string;
23
23
  tableClassName: string;
24
+ /** Resolved visibility of the loading overlay. */
24
25
  loading: boolean;
26
+ /** Node rendered inside the loading overlay — default `Spinner` or a consumer override. */
27
+ loadingIndicator: ReactNode;
25
28
  renderedColumns: InternalColumnsType<T>;
26
29
  currentDataSource: T[];
27
30
  mergedExpandable: ExpandableConfig<T> | undefined;
@@ -11,6 +11,7 @@ import { useMemo } from 'react';
11
11
  import { useMemoizedFn } from '@1money/hooks';
12
12
  import classnames, { joinCls } from '../../../utils/classnames';
13
13
  import { Pagination } from '../../Pagination';
14
+ import { Spinner } from '../../Spinner';
14
15
  import { ExpandedRowContainer } from '../renderers/ExpandedRowContainer';
15
16
  import { TableEmptyState } from '../renderers/EmptyState';
16
17
  import { TABLE_BLOCK, TABLE_DEFAULT_PREFIX, TABLE_DEFAULT_SIZE, TABLE_DEFAULT_VARIANT } from '../constants';
@@ -28,7 +29,7 @@ import { useTableColumns } from './useTableColumns';
28
29
  * div (instead of being spread untyped into the kernel via `rest as object`).
29
30
  */
30
31
  export var useTableSetup = function useTableSetup(props) {
31
- var _a;
32
+ var _a, _b, _c;
32
33
  var _props$className = props.className,
33
34
  className = _props$className === void 0 ? '' : _props$className,
34
35
  _props$prefixCls = props.prefixCls,
@@ -64,6 +65,17 @@ export var useTableSetup = function useTableSetup(props) {
64
65
  rest = __rest(props, ["className", "prefixCls", "size", "variant", "columns", "dataSource", "rowKey", "empty", "bordered", "scroll", "sticky", "pagination", "rowSelection", "loading", "onChange", "childrenColumnName", "indentSize", "expandable", "onRow", "rowClassName", "summary", "footer", "showHeader", "tableLayout", "components", "direction", "rowHoverable"]);
65
66
  void _scroll;
66
67
  var cls = classnames(TABLE_BLOCK);
68
+ // `loading` accepts a boolean or an object override. The object form defaults
69
+ // `spinning` to true (passing a config implies intent to show the overlay) and
70
+ // falls back to the brand Spinner when no custom `indicator` is supplied.
71
+ var loadingConfig = typeof loading === 'boolean' ? {
72
+ spinning: loading
73
+ } : loading;
74
+ var isLoading = (_a = loadingConfig.spinning) !== null && _a !== void 0 ? _a : true;
75
+ var loadingIndicator = (_b = loadingConfig.indicator) !== null && _b !== void 0 ? _b : _jsx(Spinner, {
76
+ type: "brand",
77
+ title: "Loading"
78
+ });
67
79
  var getRowKey = useMemoizedFn(function (record, index) {
68
80
  var _a;
69
81
  return typeof rowKey === 'function' ? rowKey(record) : (_a = record[rowKey !== null && rowKey !== void 0 ? rowKey : 'key']) !== null && _a !== void 0 ? _a : index;
@@ -110,7 +122,7 @@ export var useTableSetup = function useTableSetup(props) {
110
122
  // plus the kernel's per-indent nest expand). rc-table / antd have the same gap;
111
123
  // pick one mode at a time.
112
124
  // eslint-disable-next-line no-undef
113
- if (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) !== 'production') {
125
+ if (typeof process !== 'undefined' && ((_c = process.env) === null || _c === void 0 ? void 0 : _c.NODE_ENV) !== 'production') {
114
126
  if ((expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender) && childrenColumnName !== undefined) {
115
127
  console.warn('[components-ui Table] Combining `expandable.expandedRowRender` with `childrenColumnName` is not supported — the leftmost expand column will render alongside the nested tree expander. Use one mode at a time.');
116
128
  }
@@ -161,16 +173,17 @@ export var useTableSetup = function useTableSetup(props) {
161
173
  }
162
174
  })
163
175
  }) : null;
164
- var wrapperClassName = joinCls("".concat(prefixCls, "-wrapper"), loading && "".concat(prefixCls, "-wrapper--loading"), bordered && "".concat(prefixCls, "-wrapper--bordered"));
176
+ var wrapperClassName = joinCls("".concat(prefixCls, "-wrapper"), isLoading && "".concat(prefixCls, "-wrapper--loading"), bordered && "".concat(prefixCls, "-wrapper--bordered"));
165
177
  var tableClassName = joinCls(cls(), cls(size), cls(variant), rowHoverable === false && cls('no-hover'), className);
166
- var emptyText = loading && !dataSource.length ? _jsx("span", {}) : _jsx(TableEmptyState, {
178
+ var emptyText = isLoading && !dataSource.length ? _jsx("span", {}) : _jsx(TableEmptyState, {
167
179
  empty: empty
168
180
  });
169
181
  return {
170
182
  prefixCls: prefixCls,
171
183
  wrapperClassName: wrapperClassName,
172
184
  tableClassName: tableClassName,
173
- loading: loading,
185
+ loading: isLoading,
186
+ loadingIndicator: loadingIndicator,
174
187
  renderedColumns: renderedColumns,
175
188
  currentDataSource: pipeline.currentDataSource,
176
189
  mergedExpandable: mergedExpandable,
@@ -194,4 +207,4 @@ export var useTableSetup = function useTableSetup(props) {
194
207
  paginationNode: paginationNode
195
208
  };
196
209
  };
197
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNldHVwLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsInVzZU1lbW8iLCJ1c2VNZW1vaXplZEZuIiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJQYWdpbmF0aW9uIiwiRXhwYW5kZWRSb3dDb250YWluZXIiLCJUYWJsZUVtcHR5U3RhdGUiLCJUQUJMRV9CTE9DSyIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiVEFCTEVfREVGQVVMVF9TSVpFIiwiVEFCTEVfREVGQVVMVF9WQVJJQU5UIiwidXNlVGFibGVEYXRhUGlwZWxpbmUiLCJ1c2VUYWJsZVNlbGVjdGlvbiIsInVzZVRhYmxlRXhwYW5kIiwidXNlVGFibGVDb2x1bW5zIiwidXNlVGFibGVTZXR1cCIsInByb3BzIiwiX2EiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsImNvbHVtbnMiLCJkYXRhU291cmNlIiwicm93S2V5IiwiZW1wdHkiLCJib3JkZXJlZCIsIl9zY3JvbGwiLCJzY3JvbGwiLCJzdGlja3kiLCJwYWdpbmF0aW9uIiwicm93U2VsZWN0aW9uIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwib25DaGFuZ2UiLCJjaGlsZHJlbkNvbHVtbk5hbWUiLCJpbmRlbnRTaXplIiwiZXhwYW5kYWJsZSIsIm9uUm93Iiwicm93Q2xhc3NOYW1lIiwic3VtbWFyeSIsImZvb3RlciIsInNob3dIZWFkZXIiLCJ0YWJsZUxheW91dCIsImNvbXBvbmVudHMiLCJkaXJlY3Rpb24iLCJyb3dIb3ZlcmFibGUiLCJyZXN0IiwiY2xzIiwiZ2V0Um93S2V5IiwicmVjb3JkIiwiaW5kZXgiLCJwaXBlbGluZSIsInNlbGVjdGlvbiIsImN1cnJlbnREYXRhU291cmNlIiwiZXhwYW5kIiwicmVuZGVyZWRDb2x1bW5zIiwibWVyZ2VkRXhwYW5kZWRSb3dLZXlzIiwidHJpZ2dlckV4cGFuZCIsIm1lcmdlZFNlbGVjdGVkUm93S2V5cyIsImNoZWNrYm94UHJvcHNNYXAiLCJpc0FsbFNlbGVjdGVkIiwiaXNJbmRldGVybWluYXRlIiwidHJpZ2dlclNlbGVjdGlvbiIsInRyaWdnZXJTZWxlY3RBbGwiLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImV4cGFuZGVkUm93UmVuZGVyIiwidW5kZWZpbmVkIiwiY29uc29sZSIsIndhcm4iLCJ3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIiLCJpbmRlbnQiLCJleHBhbmRlZCIsInJvd0V4cGFuZGFibGUiLCJjaGlsZHJlbiIsImtlcm5lbE9uRXhwYW5kIiwicmVjb3JkS2V5Iiwib25LZXJuZWxFeHBhbmQiLCJtZXJnZWRFeHBhbmRhYmxlIiwiYXNzaWduIiwiZXhwYW5kZWRSb3dLZXlzIiwic2hvd0V4cGFuZENvbHVtbiIsIm9uRXhwYW5kIiwicmVzb2x2ZWRQYWdpbmF0aW9uIiwiY3VycmVudCIsInBhZ2VTaXplIiwicGFnaW5hdGlvbk5vZGUiLCJjb25jYXQiLCJ0b3RhbCIsIm5leHRQYWdlIiwibmV4dFBhZ2VTaXplIiwic2V0UGFnaW5hdGlvbiIsImN1cnJlbnRQYWdpbmF0aW9uIiwid3JhcHBlckNsYXNzTmFtZSIsInRhYmxlQ2xhc3NOYW1lIiwiZW1wdHlUZXh0Iiwid3JhcHBlckh0bWxQcm9wcyIsImZvcndhcmRlZEtlcm5lbFByb3BzIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtFQUNKLE9BQU9SLENBQUM7QUFDWixDQUFDO0FBQ0QsU0FBU1csR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDWC9DLFNBQVNDLE9BQU8sUUFBdUQsT0FBTztBQUM5RSxTQUFTQyxhQUFhLFFBQVEsZUFBZTtBQUM3QyxPQUFPQyxVQUFVLElBQUlDLE9BQU8sUUFBUSwyQkFBMkI7QUFDL0QsU0FBU0MsVUFBVSxRQUFRLGtCQUFrQjtBQUM3QyxTQUFTQyxvQkFBb0IsUUFBUSxtQ0FBbUM7QUFDeEUsU0FBU0MsZUFBZSxRQUFRLHlCQUF5QjtBQUN6RCxTQUNFQyxXQUFXLEVBQ1hDLG9CQUFvQixFQUNwQkMsa0JBQWtCLEVBQ2xCQyxxQkFBcUIsUUFDaEIsY0FBYztBQUNyQixTQUFTQyxvQkFBb0IsUUFBUSx3QkFBd0I7QUFDN0QsU0FBU0MsaUJBQWlCLFFBQVEscUJBQXFCO0FBQ3ZELFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFDakQsU0FBU0MsZUFBZSxRQUFRLG1CQUFtQjtBQStDbkQ7QUR0Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3dDQSxPQUFPLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FDeEJDLEtBQW9CLEVBQ0c7RUR4Q3JCLElBQUlDLEVBQUU7RUN5Q1IsSUFBQUMsZ0JBQUEsR0E2QklGLEtBQUssQ0E1QlBHLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFBQUUsZ0JBQUEsR0E0QlpKLEtBQUssQ0EzQlBLLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHWixvQkFBb0IsR0FBQVksZ0JBQUE7SUFBQUUsV0FBQSxHQTJCOUJOLEtBQUssQ0ExQlBPLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxXQUFBLGNBQUdiLGtCQUFrQixHQUFBYSxXQUFBO0lBQUFFLGNBQUEsR0EwQnZCUixLQUFLLENBekJQUyxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHZCxxQkFBcUIsR0FBQWMsY0FBQTtJQUMvQkUsT0FBTyxHQXdCTFYsS0FBSyxDQXhCUFUsT0FBTztJQUNQQyxVQUFVLEdBdUJSWCxLQUFLLENBdkJQVyxVQUFVO0lBQ1ZDLE1BQU0sR0FzQkpaLEtBQUssQ0F0QlBZLE1BQU07SUFDTkMsS0FBSyxHQXFCSGIsS0FBSyxDQXJCUGEsS0FBSztJQUNMQyxRQUFRLEdBb0JOZCxLQUFLLENBcEJQYyxRQUFRO0lBQ0FDLE9BQU8sR0FtQmJmLEtBQUssQ0FuQlBnQixNQUFNO0lBQ05DLE1BQU0sR0FrQkpqQixLQUFLLENBbEJQaUIsTUFBTTtJQUNOQyxVQUFVLEdBaUJSbEIsS0FBSyxDQWpCUGtCLFVBQVU7SUFDVkMsWUFBWSxHQWdCVm5CLEtBQUssQ0FoQlBtQixZQUFZO0lBQUFDLGNBQUEsR0FnQlZwQixLQUFLLENBZlBxQixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEtBQUssR0FBQUEsY0FBQTtJQUNmRSxRQUFRLEdBY050QixLQUFLLENBZFBzQixRQUFRO0lBQ1JDLGtCQUFrQixHQWFoQnZCLEtBQUssQ0FiUHVCLGtCQUFrQjtJQUNsQkMsVUFBVSxHQVlSeEIsS0FBSyxDQVpQd0IsVUFBVTtJQUNWQyxVQUFVLEdBV1J6QixLQUFLLENBWFB5QixVQUFVO0lBQ1ZDLEtBQUssR0FVSDFCLEtBQUssQ0FWUDBCLEtBQUs7SUFDTEMsWUFBWSxHQVNWM0IsS0FBSyxDQVRQMkIsWUFBWTtJQUNaQyxPQUFPLEdBUUw1QixLQUFLLENBUlA0QixPQUFPO0lBQ1BDLE1BQU0sR0FPSjdCLEtBQUssQ0FQUDZCLE1BQU07SUFDTkMsVUFBVSxHQU1SOUIsS0FBSyxDQU5QOEIsVUFBVTtJQUNWQyxXQUFXLEdBS1QvQixLQUFLLENBTFArQixXQUFXO0lBQ1hDLFVBQVUsR0FJUmhDLEtBQUssQ0FKUGdDLFVBQVU7SUFDVkMsU0FBUyxHQUdQakMsS0FBSyxDQUhQaUMsU0FBUztJQUNUQyxZQUFZLEdBRVZsQyxLQUFLLENBRlBrQyxZQUFZO0lBQ1RDLElBQUksR0FBQW5FLE1BQUEsQ0FDTGdDLEtBQUssRUE3QkgsQ0FBQSxXQUFBLEVBQUEsV0FBQSxFQUFBLE1BQUEsRUFBQSxTQUFBLEVBQUEsU0FBQSxFQUFBLFlBQUEsRUFBQSxRQUFBLEVBQUEsT0FBQSxFQUFBLFVBQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLFlBQUEsRUFBQSxjQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxvQkFBQSxFQUFBLFlBQUEsRUFBQSxZQUFBLEVBQUEsT0FBQSxFQUFBLGNBQUEsRUFBQSxTQUFBLEVBQUEsUUFBQSxFQUFBLFlBQUEsRUFBQSxhQUFBLEVBQUEsWUFBQSxFQUFBLFdBQUEsRUFBQSxjQUFBLENBNkJMLENBQVE7RUFDVCxLQUFLZSxPQUFPO0VBRVosSUFBTXFCLEdBQUcsR0FBR2xELFVBQVUsQ0FBQ0ssV0FBVyxDQUFDO0VBRW5DLElBQU04QyxTQUFTLEdBQUdwRCxhQUFhLENBQzdCLFVBQUNxRCxNQUFTLEVBQUVDLEtBQWEsRUFBUztJRHZFOUIsSUFBSXRDLEVBQUU7SUN3RVIsT0FBQSxPQUFPVyxNQUFNLEtBQUssVUFBVSxHQUN4QkEsTUFBTSxDQUFDMEIsTUFBTSxDQUFDLEdBQ2QsQ0FBQXJDLEVBQUEsR0FBQ3FDLE1BQU0sQ0FBQzFCLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxHQUFJLEtBQUssQ0FBUyxNQUFBLElBQUEsSUFBQVgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlzQyxLQUFLO0VEdEUvQyxDQ3NFK0MsQ0FDaEQ7RUFFRCxJQUFNQyxRQUFRLEdBQUc3QyxvQkFBb0IsQ0FBQztJQUFFZSxPQUFPLEVBQVBBLE9BQU87SUFBRUMsVUFBVSxFQUFWQSxVQUFVO0lBQUVPLFVBQVUsRUFBVkEsVUFBVTtJQUFFSSxRQUFRLEVBQVJBO0VBQVEsQ0FBRSxDQUFDO0VBQ3BGLElBQU1tQixTQUFTLEdBQUc3QyxpQkFBaUIsQ0FBQztJQUNsQ3VCLFlBQVksRUFBWkEsWUFBWTtJQUNaUixVQUFVLEVBQVZBLFVBQVU7SUFDVitCLGlCQUFpQixFQUFFRixRQUFRLENBQUNFLGlCQUFpQjtJQUM3Q0wsU0FBUyxFQUFUQTtFRHZFQSxDQ3dFRCxDQUFDO0VBQ0YsSUFBTU0sTUFBTSxHQUFHOUMsY0FBYyxDQUFDO0lBQUU0QixVQUFVLEVBQVZBLFVBQVU7SUFBRWQsVUFBVSxFQUFWQSxVQUFVO0lBQUUwQixTQUFTLEVBQVRBO0VBQVMsQ0FBRSxDQUFDO0VBRXBFLElBQU1PLGVBQWUsR0FBRzlDLGVBQWUsQ0FBSTtJQUN6Q1ksT0FBTyxFQUFQQSxPQUFPO0lBQ1BILElBQUksRUFBSkEsSUFBSTtJQUNKRSxPQUFPLEVBQVBBLE9BQU87SUFDUGdCLFVBQVUsRUFBVkEsVUFBVTtJQUNWb0IscUJBQXFCLEVBQUVGLE1BQU0sQ0FBQ0UscUJBQXFCO0lBQ25EQyxhQUFhLEVBQUVILE1BQU0sQ0FBQ0csYUFBYTtJQUNuQzNCLFlBQVksRUFBWkEsWUFBWTtJQUNaNEIscUJBQXFCLEVBQUVOLFNBQVMsQ0FBQ00scUJBQXFCO0lBQ3REQyxnQkFBZ0IsRUFBRVAsU0FBUyxDQUFDTyxnQkFBZ0I7SUFDNUNDLGFBQWEsRUFBRVIsU0FBUyxDQUFDUSxhQUFhO0lBQ3RDQyxlQUFlLEVBQUVULFNBQVMsQ0FBQ1MsZUFBZTtJQUMxQ0MsZ0JBQWdCLEVBQUVWLFNBQVMsQ0FBQ1UsZ0JBQWdCO0lBQzVDQyxnQkFBZ0IsRUFBRVgsU0FBUyxDQUFDVyxnQkFBZ0I7SUFDNUNDLE1BQU0sRUFBRWIsUUFBUSxDQUFDYSxNQUFNO0lBQ3ZCQyxTQUFTLEVBQUVkLFFBQVEsQ0FBQ2MsU0FBUztJQUM3QkMsT0FBTyxFQUFFZixRQUFRLENBQUNlLE9BQU87SUFDekJDLFVBQVUsRUFBRWhCLFFBQVEsQ0FBQ2dCLFVBQVU7SUFDL0JuQixTQUFTLEVBQVRBO0VEeEVBLENDeUVELENBQUM7RUFFRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsSUFBSSxPQUFPb0IsT0FBTyxLQUFLLFdBQVcsSUFBSSxDQUFBLENBQUF4RCxFQUFBLEdBQUF3RCxPQUFPLENBQUNDLEdBQUcsTUFBQSxJQUFBLElBQUF6RCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRTBELFFBQVEsTUFBSyxZQUFZLEVBQUU7SUFDNUUsSUFBSSxDQUFBbEMsVUFBVSxLQUFBLElBQUEsSUFBVkEsVUFBVSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFWQSxVQUFVLENBQUVtQyxpQkFBaUIsS0FBSXJDLGtCQUFrQixLQUFLc0MsU0FBUyxFQUFFO01BQ3JFQyxPQUFPLENBQUNDLElBQUksQ0FDVixnTkFBZ04sQ0FDak47SUFDSDtFQUNGO0VBRUEsSUFBTUMsd0JBQXdCLEdBQUcvRSxhQUFhLENBQzVDLFVBQUNxRCxNQUFTLEVBQUVDLEtBQWEsRUFBRTBCLE1BQWMsRUFBRUMsUUFBaUIsRUFBSTtJRDdFNUQsSUFBSWpFLEVBQUU7SUM4RVI7SUFDQTtJQUNBLElBQUksQ0FBQXdCLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUFFMEMsYUFBYSxLQUFJLENBQUMxQyxVQUFVLENBQUMwQyxhQUFhLENBQUM3QixNQUFNLENBQUMsRUFBRSxPQUFPLElBQUk7SUFDL0UsT0FDRXZELElBQUEsQ0FBQ00sb0JBQW9CLEVBQUE7TUFBQStFLFFBQUEsRUFDbEIsQ0FBQW5FLEVBQUEsR0FBQXdCLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUFFbUMsaUJBQWlCLE1BQUEsSUFBQSxJQUFBM0QsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUF6QixJQUFBLENBQUFpRCxVQUFBLEVBQUdhLE1BQU0sRUFBRUMsS0FBSyxFQUFFMEIsTUFBTSxFQUFFQyxRQUFRO0lBQUMsQ0FBQSxDQUM1QztFQUUzQixDQUFDLENBQ0Y7RUFFRDtFQUNBLElBQU1HLGNBQWMsR0FBR3BGLGFBQWEsQ0FBQyxVQUFDaUYsUUFBaUIsRUFBRTVCLE1BQVMsRUFBSTtJQUNwRTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQU1nQyxTQUFTLEdBQUdqQyxTQUFTLENBQUNDLE1BQU0sRUFBRUUsUUFBUSxDQUFDRSxpQkFBaUIsQ0FBQ2pFLE9BQU8sQ0FBQzZELE1BQU0sQ0FBQyxDQUFDO0lBQy9FSyxNQUFNLENBQUM0QixjQUFjLENBQUNMLFFBQVEsRUFBRTVCLE1BQU0sRUFBRWdDLFNBQVMsQ0FBQztFQUNwRCxDQUFDLENBQUM7RUFFRixJQUFNRSxnQkFBZ0IsR0FBb0N4RixPQUFPLENBQy9EO0lBQUEsT0FDRXlDLFVBQVUsR0FDTHBELE1BQUEsQ0FBQW9HLE1BQUEsQ0FBQXBHLE1BQUEsQ0FBQW9HLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDSWhELFVBQVUsQ0FBQSxFQUFBO01BQ2JpRCxlQUFlLEVBQUUvQixNQUFNLENBQUNFLHFCQUFxQjtNQUM3Q2UsaUJBQWlCLEVBQUVuQyxVQUFVLENBQUNtQyxpQkFBaUIsR0FDM0NJLHdCQUF3QixHQUN4QkgsU0FBUztNQUNiYyxnQkFBZ0IsRUFBRSxLQUFLO01BQ3ZCQyxRQUFRLEVBQUVQO0lBQWMsQ0FBQSxDQUNELEdBQ3pCUixTQUFTO0VBQUEsR0FDZixDQUFDcEMsVUFBVSxFQUFFa0IsTUFBTSxDQUFDRSxxQkFBcUIsRUFBRW1CLHdCQUF3QixFQUFFSyxjQUFjLENBQUMsQ0FDckY7RUFFRCxJQUFNUSxrQkFBa0IsR0FBR3JDLFFBQVEsQ0FBQ3RCLFVBQVUsS0FBSyxLQUFLLEdBQ3BEO0lBQUU0RCxPQUFPLEVBQUUsQ0FBQztJQUFFQyxRQUFRLEVBQUU7RUFBRSxDQUFFLEdBQzVCdkMsUUFBUSxDQUFDdEIsVUFBVTtFQUV2QixJQUFNOEQsY0FBYyxHQUFjOUQsVUFBVSxLQUFLLEtBQUssR0FDcERuQyxJQUFBLENBQUEsS0FBQSxFQUFBO0lBQUtvQixTQUFTLEtBQUE4RSxNQUFBLENBQUs1RSxTQUFTLGdCQUFhO0lBQUErRCxRQUFBLEVBQ3ZDckYsSUFBQSxDQUFDSyxVQUFVLEVBQUE7TUFDVDhGLEtBQUssRUFBRTFDLFFBQVEsQ0FBQzBDLEtBQUs7TUFDckJILFFBQVEsRUFBRUYsa0JBQWtCLENBQUNFLFFBQVE7TUFDckNELE9BQU8sRUFBRUQsa0JBQWtCLENBQUNDLE9BQU87TUFDbkN4RCxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBRzZELFFBQVEsRUFBRUMsWUFBWTtRQUFBLE9BQy9CNUMsUUFBUSxDQUFDNkMsYUFBYSxDQUFDLFVBQUNDLGlCQUFpQjtVQUFBLE9BQUtqSCxNQUFBLENBQUFvRyxNQUFBLENBQUFwRyxNQUFBLENBQUFvRyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ3pDYSxpQkFBaUIsQ0FBQSxFQUFBO1lBQ3BCUixPQUFPLEVBQUVLLFFBQVE7WUFDakJKLFFBQVEsRUFBRUs7VUFBWSxDQUFBLENBQUE7UUFBQSxDQUN0QixDQUFDO01BQUE7SUFBQSxDQUFBO0VBRUwsQ0FBQSxDQUNFLEdBQ0osSUFBSTtFQUVSLElBQU1HLGdCQUFnQixHQUFHcEcsT0FBTyxJQUFBOEYsTUFBQSxDQUMzQjVFLFNBQVMsZUFDWmdCLE9BQU8sT0FBQTRELE1BQUEsQ0FBTzVFLFNBQVMsc0JBQW1CLEVBQzFDUyxRQUFRLE9BQUFtRSxNQUFBLENBQU81RSxTQUFTLHVCQUFvQixDQUM3QztFQUVELElBQU1tRixjQUFjLEdBQUdyRyxPQUFPLENBQzVCaUQsR0FBRyxDQUFBLENBQUUsRUFDTEEsR0FBRyxDQUFDN0IsSUFBSSxDQUFDLEVBQ1Q2QixHQUFHLENBQUMzQixPQUFPLENBQUMsRUFDWnlCLFlBQVksS0FBSyxLQUFLLElBQUlFLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFDekNqQyxTQUFTLENBQ1Y7RUFFRCxJQUFNc0YsU0FBUyxHQUNicEUsT0FBTyxJQUFJLENBQUNWLFVBQVUsQ0FBQy9CLE1BQU0sR0FBR0csSUFBQSxDQUFBLE1BQUEsRUFBQSxDQUFBLENBQUEsQ0FBUSxHQUFHQSxJQUFBLENBQUNPLGVBQWUsRUFBQTtJQUFDdUIsS0FBSyxFQUFFQTtFQUFLLENBQUEsQ0FBSTtFQUU5RSxPQUFPO0lBQ0xSLFNBQVMsRUFBVEEsU0FBUztJQUNUa0YsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJDLGNBQWMsRUFBZEEsY0FBYztJQUNkbkUsT0FBTyxFQUFQQSxPQUFPO0lBQ1B1QixlQUFlLEVBQWZBLGVBQWU7SUFDZkYsaUJBQWlCLEVBQUVGLFFBQVEsQ0FBQ0UsaUJBQWlCO0lBQzdDOEIsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJpQixTQUFTLEVBQVRBLFNBQVM7SUFDVEMsZ0JBQWdCLEVBQUV2RCxJQUFJO0lBQ3RCd0Qsb0JBQW9CLEVBQUU7TUFDcEIvRSxNQUFNLEVBQUVBLE1BQXVDO01BQy9DVyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtNQUNsQkMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZFLEtBQUssRUFBTEEsS0FBSztNQUNMQyxZQUFZLEVBQVpBLFlBQVk7TUFDWkMsT0FBTyxFQUFQQSxPQUFPO01BQ1BDLE1BQU0sRUFBTkEsTUFBTTtNQUNOQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkMsV0FBVyxFQUFYQSxXQUFXO01BQ1hDLFVBQVUsRUFBVkEsVUFBVTtNQUNWQyxTQUFTLEVBQVRBLFNBQVM7TUFDVEMsWUFBWSxFQUFaQSxZQUFZO01BQ1pqQixNQUFNLEVBQU5BO0lENUhFLENDNkhIO0lBQ0QrRCxjQUFjLEVBQWRBO0VENUhBLENDNkhEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVTZXR1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVtb2l6ZWRGbiB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL1BhZ2luYXRpb24nO1xuaW1wb3J0IHsgRXhwYW5kZWRSb3dDb250YWluZXIgfSBmcm9tICcuLi9yZW5kZXJlcnMvRXhwYW5kZWRSb3dDb250YWluZXInO1xuaW1wb3J0IHsgVGFibGVFbXB0eVN0YXRlIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0VtcHR5U3RhdGUnO1xuaW1wb3J0IHsgVEFCTEVfQkxPQ0ssIFRBQkxFX0RFRkFVTFRfUFJFRklYLCBUQUJMRV9ERUZBVUxUX1NJWkUsIFRBQkxFX0RFRkFVTFRfVkFSSUFOVCwgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlVGFibGVEYXRhUGlwZWxpbmUgfSBmcm9tICcuL3VzZVRhYmxlRGF0YVBpcGVsaW5lJztcbmltcG9ydCB7IHVzZVRhYmxlU2VsZWN0aW9uIH0gZnJvbSAnLi91c2VUYWJsZVNlbGVjdGlvbic7XG5pbXBvcnQgeyB1c2VUYWJsZUV4cGFuZCB9IGZyb20gJy4vdXNlVGFibGVFeHBhbmQnO1xuaW1wb3J0IHsgdXNlVGFibGVDb2x1bW5zIH0gZnJvbSAnLi91c2VUYWJsZUNvbHVtbnMnO1xuLyoqXG4gKiBDZW50cmFsaXNlcyB0aGUgd2lyaW5nIHNoYXJlZCBieSBgVGFibGVgIGFuZCBgVmlydHVhbFRhYmxlYDpcbiAqICAtIGRlc3RydWN0dXJlIHByb3BzXG4gKiAgLSByZXNvbHZlIHJvdyBrZXlcbiAqICAtIHJ1biBwaXBlbGluZSAvIHNlbGVjdGlvbiAvIGV4cGFuZCAvIGNvbHVtbiB0cmFuc2Zvcm1zXG4gKiAgLSBidWlsZCBrZXJuZWwtcmVhZHkgcHJvcHNcbiAqICAtIHNwbGl0IG9mZiBwYXNzLXRocm91Z2ggSFRNTCBhdHRyaWJ1dGVzIHNvIHRoZXkgY2FuIGxhbmQgb24gdGhlIG91dGVyIHdyYXBwZXJcbiAqICAgIGRpdiAoaW5zdGVhZCBvZiBiZWluZyBzcHJlYWQgdW50eXBlZCBpbnRvIHRoZSBrZXJuZWwgdmlhIGByZXN0IGFzIG9iamVjdGApLlxuICovXG5leHBvcnQgY29uc3QgdXNlVGFibGVTZXR1cCA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSBUQUJMRV9ERUZBVUxUX1BSRUZJWCwgc2l6ZSA9IFRBQkxFX0RFRkFVTFRfU0laRSwgdmFyaWFudCA9IFRBQkxFX0RFRkFVTFRfVkFSSUFOVCwgY29sdW1ucywgZGF0YVNvdXJjZSwgcm93S2V5LCBlbXB0eSwgYm9yZGVyZWQsIHNjcm9sbDogX3Njcm9sbCwgc3RpY2t5LCBwYWdpbmF0aW9uLCByb3dTZWxlY3Rpb24sIGxvYWRpbmcgPSBmYWxzZSwgb25DaGFuZ2UsIGNoaWxkcmVuQ29sdW1uTmFtZSwgaW5kZW50U2l6ZSwgZXhwYW5kYWJsZSwgb25Sb3csIHJvd0NsYXNzTmFtZSwgc3VtbWFyeSwgZm9vdGVyLCBzaG93SGVhZGVyLCB0YWJsZUxheW91dCwgY29tcG9uZW50cywgZGlyZWN0aW9uLCByb3dIb3ZlcmFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaXplXCIsIFwidmFyaWFudFwiLCBcImNvbHVtbnNcIiwgXCJkYXRhU291cmNlXCIsIFwicm93S2V5XCIsIFwiZW1wdHlcIiwgXCJib3JkZXJlZFwiLCBcInNjcm9sbFwiLCBcInN0aWNreVwiLCBcInBhZ2luYXRpb25cIiwgXCJyb3dTZWxlY3Rpb25cIiwgXCJsb2FkaW5nXCIsIFwib25DaGFuZ2VcIiwgXCJjaGlsZHJlbkNvbHVtbk5hbWVcIiwgXCJpbmRlbnRTaXplXCIsIFwiZXhwYW5kYWJsZVwiLCBcIm9uUm93XCIsIFwicm93Q2xhc3NOYW1lXCIsIFwic3VtbWFyeVwiLCBcImZvb3RlclwiLCBcInNob3dIZWFkZXJcIiwgXCJ0YWJsZUxheW91dFwiLCBcImNvbXBvbmVudHNcIiwgXCJkaXJlY3Rpb25cIiwgXCJyb3dIb3ZlcmFibGVcIl0pO1xuICAgIHZvaWQgX3Njcm9sbDtcbiAgICBjb25zdCBjbHMgPSBjbGFzc25hbWVzKFRBQkxFX0JMT0NLKTtcbiAgICBjb25zdCBnZXRSb3dLZXkgPSB1c2VNZW1vaXplZEZuKChyZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByb3dLZXkgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gcm93S2V5KHJlY29yZClcbiAgICAgICAgICAgIDogKF9hID0gcmVjb3JkW3Jvd0tleSAhPT0gbnVsbCAmJiByb3dLZXkgIT09IHZvaWQgMCA/IHJvd0tleSA6ICdrZXknXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXg7XG4gICAgfSk7XG4gICAgY29uc3QgcGlwZWxpbmUgPSB1c2VUYWJsZURhdGFQaXBlbGluZSh7IGNvbHVtbnMsIGRhdGFTb3VyY2UsIHBhZ2luYXRpb24sIG9uQ2hhbmdlIH0pO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHVzZVRhYmxlU2VsZWN0aW9uKHtcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBkYXRhU291cmNlLFxuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UsXG4gICAgICAgIGdldFJvd0tleSxcbiAgICB9KTtcbiAgICBjb25zdCBleHBhbmQgPSB1c2VUYWJsZUV4cGFuZCh7IGV4cGFuZGFibGUsIGRhdGFTb3VyY2UsIGdldFJvd0tleSB9KTtcbiAgICBjb25zdCByZW5kZXJlZENvbHVtbnMgPSB1c2VUYWJsZUNvbHVtbnMoe1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBzaXplLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXM6IGV4cGFuZC5tZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQ6IGV4cGFuZC50cmlnZ2VyRXhwYW5kLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZFNlbGVjdGVkUm93S2V5czogc2VsZWN0aW9uLm1lcmdlZFNlbGVjdGVkUm93S2V5cyxcbiAgICAgICAgY2hlY2tib3hQcm9wc01hcDogc2VsZWN0aW9uLmNoZWNrYm94UHJvcHNNYXAsXG4gICAgICAgIGlzQWxsU2VsZWN0ZWQ6IHNlbGVjdGlvbi5pc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGU6IHNlbGVjdGlvbi5pc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb246IHNlbGVjdGlvbi50cmlnZ2VyU2VsZWN0aW9uLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0QWxsOiBzZWxlY3Rpb24udHJpZ2dlclNlbGVjdEFsbCxcbiAgICAgICAgc29ydGVyOiBwaXBlbGluZS5zb3J0ZXIsXG4gICAgICAgIHNldFNvcnRlcjogcGlwZWxpbmUuc2V0U29ydGVyLFxuICAgICAgICBmaWx0ZXJzOiBwaXBlbGluZS5maWx0ZXJzLFxuICAgICAgICBzZXRGaWx0ZXJzOiBwaXBlbGluZS5zZXRGaWx0ZXJzLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgfSk7XG4gICAgLy8gRGV2LW9ubHkgd2FybmluZzogbWl4aW5nIHJvdy1leHBhbnNpb24gd2l0aCB0cmVlLWRhdGEgKGNoaWxkcmVuQ29sdW1uTmFtZSlcbiAgICAvLyBwcm9kdWNlcyB0d28gY2hldnJvbnMgcGVyIHJvdyAodGhlIGxlZnRtb3N0IF9fZXhwYW5kX18gY29sdW1uIGZyb20gdGhlIHdyYXBwZXJcbiAgICAvLyBwbHVzIHRoZSBrZXJuZWwncyBwZXItaW5kZW50IG5lc3QgZXhwYW5kKS4gcmMtdGFibGUgLyBhbnRkIGhhdmUgdGhlIHNhbWUgZ2FwO1xuICAgIC8vIHBpY2sgb25lIG1vZGUgYXQgYSB0aW1lLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgKChfYSA9IHByb2Nlc3MuZW52KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuTk9ERV9FTlYpICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXIpICYmIGNoaWxkcmVuQ29sdW1uTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1tjb21wb25lbnRzLXVpIFRhYmxlXSBDb21iaW5pbmcgYGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXJgIHdpdGggYGNoaWxkcmVuQ29sdW1uTmFtZWAgaXMgbm90IHN1cHBvcnRlZCDigJQgdGhlIGxlZnRtb3N0IGV4cGFuZCBjb2x1bW4gd2lsbCByZW5kZXIgYWxvbmdzaWRlIHRoZSBuZXN0ZWQgdHJlZSBleHBhbmRlci4gVXNlIG9uZSBtb2RlIGF0IGEgdGltZS4nKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIgPSB1c2VNZW1vaXplZEZuKChyZWNvcmQsIGluZGV4LCBpbmRlbnQsIGV4cGFuZGVkKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiBldmVuIGlmIGEgbm9uLWV4cGFuZGFibGUgcm93J3Mga2V5IHNuZWFrcyBpbnRvXG4gICAgICAgIC8vIGBleHBhbmRlZFJvd0tleXNgLCByZWZ1c2UgdG8gcmVuZGVyIGl0cyBleHBhbnNpb24gY29udGVudC5cbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUucm93RXhwYW5kYWJsZSkgJiYgIWV4cGFuZGFibGUucm93RXhwYW5kYWJsZShyZWNvcmQpKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRlZFJvd0NvbnRhaW5lciwgeyBjaGlsZHJlbjogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93UmVuZGVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChleHBhbmRhYmxlLCByZWNvcmQsIGluZGV4LCBpbmRlbnQsIGV4cGFuZGVkKSB9KSk7XG4gICAgfSk7XG4gICAgLy8gV2lyZSBrZXJuZWwncyBvbkV4cGFuZCAodHJpZ2dlcmVkIGJ5IGV4cGFuZFJvd0J5Q2xpY2spIHRvIG91ciBzdGF0ZS5cbiAgICBjb25zdCBrZXJuZWxPbkV4cGFuZCA9IHVzZU1lbW9pemVkRm4oKGV4cGFuZGVkLCByZWNvcmQpID0+IHtcbiAgICAgICAgLy8gVGhlIGtlcm5lbCBwYXNzZXMgYSByZWNvcmQgZnJvbSBgY3VycmVudERhdGFTb3VyY2VgIChwb3N0IHNvcnQvZmlsdGVyL3BhZ2luYXRlKS5cbiAgICAgICAgLy8gTG9va2luZyBpdCB1cCBhZ2FpbnN0IHRoZSByYXcgYGRhdGFTb3VyY2VgIHJldHVybnMgLTEgd2hlbiB0aGUgY29uc3VtZXJcbiAgICAgICAgLy8gcmVjcmVhdGVzIHRoZSBhcnJheSBlYWNoIHJlbmRlciwgb3IgYSBwb3NpdGlvbmFsbHkgd3JvbmcgaW5kZXggYWZ0ZXIgc29ydC5cbiAgICAgICAgLy8gVXNlIGBjdXJyZW50RGF0YVNvdXJjZWAgc28gdGhlIGluZGV4IG1hdGNoZXMgd2hhdCB0aGUga2VybmVsIGFjdHVhbGx5IHNlZXMuXG4gICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIHBpcGVsaW5lLmN1cnJlbnREYXRhU291cmNlLmluZGV4T2YocmVjb3JkKSk7XG4gICAgICAgIGV4cGFuZC5vbktlcm5lbEV4cGFuZChleHBhbmRlZCwgcmVjb3JkLCByZWNvcmRLZXkpO1xuICAgIH0pO1xuICAgIGNvbnN0IG1lcmdlZEV4cGFuZGFibGUgPSB1c2VNZW1vKCgpID0+IGV4cGFuZGFibGVcbiAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGV4cGFuZGFibGUpLCB7IGV4cGFuZGVkUm93S2V5czogZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgZXhwYW5kZWRSb3dSZW5kZXI6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXJcbiAgICAgICAgICAgICAgICA/IHdyYXBwZWRFeHBhbmRlZFJvd1JlbmRlclxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLCBzaG93RXhwYW5kQ29sdW1uOiBmYWxzZSwgb25FeHBhbmQ6IGtlcm5lbE9uRXhwYW5kIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLCBbZXhwYW5kYWJsZSwgZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyLCBrZXJuZWxPbkV4cGFuZF0pO1xuICAgIGNvbnN0IHJlc29sdmVkUGFnaW5hdGlvbiA9IHBpcGVsaW5lLnBhZ2luYXRpb24gPT09IGZhbHNlXG4gICAgICAgID8geyBjdXJyZW50OiAxLCBwYWdlU2l6ZTogMTAgfVxuICAgICAgICA6IHBpcGVsaW5lLnBhZ2luYXRpb247XG4gICAgY29uc3QgcGFnaW5hdGlvbk5vZGUgPSBwYWdpbmF0aW9uICE9PSBmYWxzZSA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LXBhZ2luYXRpb25gLCBjaGlsZHJlbjogX2pzeChQYWdpbmF0aW9uLCB7IHRvdGFsOiBwaXBlbGluZS50b3RhbCwgcGFnZVNpemU6IHJlc29sdmVkUGFnaW5hdGlvbi5wYWdlU2l6ZSwgY3VycmVudDogcmVzb2x2ZWRQYWdpbmF0aW9uLmN1cnJlbnQsIG9uQ2hhbmdlOiAobmV4dFBhZ2UsIG5leHRQYWdlU2l6ZSkgPT4gcGlwZWxpbmUuc2V0UGFnaW5hdGlvbigoY3VycmVudFBhZ2luYXRpb24pID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGN1cnJlbnRQYWdpbmF0aW9uKSwgeyBjdXJyZW50OiBuZXh0UGFnZSwgcGFnZVNpemU6IG5leHRQYWdlU2l6ZSB9KSkpIH0pIH0pKSA6IG51bGw7XG4gICAgY29uc3Qgd3JhcHBlckNsYXNzTmFtZSA9IGpvaW5DbHMoYCR7cHJlZml4Q2xzfS13cmFwcGVyYCwgbG9hZGluZyAmJiBgJHtwcmVmaXhDbHN9LXdyYXBwZXItLWxvYWRpbmdgLCBib3JkZXJlZCAmJiBgJHtwcmVmaXhDbHN9LXdyYXBwZXItLWJvcmRlcmVkYCk7XG4gICAgY29uc3QgdGFibGVDbGFzc05hbWUgPSBqb2luQ2xzKGNscygpLCBjbHMoc2l6ZSksIGNscyh2YXJpYW50KSwgcm93SG92ZXJhYmxlID09PSBmYWxzZSAmJiBjbHMoJ25vLWhvdmVyJyksIGNsYXNzTmFtZSk7XG4gICAgY29uc3QgZW1wdHlUZXh0ID0gbG9hZGluZyAmJiAhZGF0YVNvdXJjZS5sZW5ndGggPyBfanN4KFwic3BhblwiLCB7fSkgOiBfanN4KFRhYmxlRW1wdHlTdGF0ZSwgeyBlbXB0eTogZW1wdHkgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICB3cmFwcGVyQ2xhc3NOYW1lLFxuICAgICAgICB0YWJsZUNsYXNzTmFtZSxcbiAgICAgICAgbG9hZGluZyxcbiAgICAgICAgcmVuZGVyZWRDb2x1bW5zLFxuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UsXG4gICAgICAgIG1lcmdlZEV4cGFuZGFibGUsXG4gICAgICAgIGVtcHR5VGV4dCxcbiAgICAgICAgd3JhcHBlckh0bWxQcm9wczogcmVzdCxcbiAgICAgICAgZm9yd2FyZGVkS2VybmVsUHJvcHM6IHtcbiAgICAgICAgICAgIHJvd0tleTogcm93S2V5LFxuICAgICAgICAgICAgY2hpbGRyZW5Db2x1bW5OYW1lLFxuICAgICAgICAgICAgaW5kZW50U2l6ZSxcbiAgICAgICAgICAgIG9uUm93LFxuICAgICAgICAgICAgcm93Q2xhc3NOYW1lLFxuICAgICAgICAgICAgc3VtbWFyeSxcbiAgICAgICAgICAgIGZvb3RlcixcbiAgICAgICAgICAgIHNob3dIZWFkZXIsXG4gICAgICAgICAgICB0YWJsZUxheW91dCxcbiAgICAgICAgICAgIGNvbXBvbmVudHMsXG4gICAgICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgICAgICByb3dIb3ZlcmFibGUsXG4gICAgICAgICAgICBzdGlja3ksXG4gICAgICAgIH0sXG4gICAgICAgIHBhZ2luYXRpb25Ob2RlLFxuICAgIH07XG59OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
210
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNldHVwLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsInVzZU1lbW8iLCJ1c2VNZW1vaXplZEZuIiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJQYWdpbmF0aW9uIiwiU3Bpbm5lciIsIkV4cGFuZGVkUm93Q29udGFpbmVyIiwiVGFibGVFbXB0eVN0YXRlIiwiVEFCTEVfQkxPQ0siLCJUQUJMRV9ERUZBVUxUX1BSRUZJWCIsIlRBQkxFX0RFRkFVTFRfU0laRSIsIlRBQkxFX0RFRkFVTFRfVkFSSUFOVCIsInVzZVRhYmxlRGF0YVBpcGVsaW5lIiwidXNlVGFibGVTZWxlY3Rpb24iLCJ1c2VUYWJsZUV4cGFuZCIsInVzZVRhYmxlQ29sdW1ucyIsInVzZVRhYmxlU2V0dXAiLCJwcm9wcyIsIl9hIiwiX2IiLCJfYyIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiY29sdW1ucyIsImRhdGFTb3VyY2UiLCJyb3dLZXkiLCJlbXB0eSIsImJvcmRlcmVkIiwiX3Njcm9sbCIsInNjcm9sbCIsInN0aWNreSIsInBhZ2luYXRpb24iLCJyb3dTZWxlY3Rpb24iLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJvbkNoYW5nZSIsImNoaWxkcmVuQ29sdW1uTmFtZSIsImluZGVudFNpemUiLCJleHBhbmRhYmxlIiwib25Sb3ciLCJyb3dDbGFzc05hbWUiLCJzdW1tYXJ5IiwiZm9vdGVyIiwic2hvd0hlYWRlciIsInRhYmxlTGF5b3V0IiwiY29tcG9uZW50cyIsImRpcmVjdGlvbiIsInJvd0hvdmVyYWJsZSIsInJlc3QiLCJjbHMiLCJsb2FkaW5nQ29uZmlnIiwic3Bpbm5pbmciLCJpc0xvYWRpbmciLCJsb2FkaW5nSW5kaWNhdG9yIiwiaW5kaWNhdG9yIiwidHlwZSIsInRpdGxlIiwiZ2V0Um93S2V5IiwicmVjb3JkIiwiaW5kZXgiLCJwaXBlbGluZSIsInNlbGVjdGlvbiIsImN1cnJlbnREYXRhU291cmNlIiwiZXhwYW5kIiwicmVuZGVyZWRDb2x1bW5zIiwibWVyZ2VkRXhwYW5kZWRSb3dLZXlzIiwidHJpZ2dlckV4cGFuZCIsIm1lcmdlZFNlbGVjdGVkUm93S2V5cyIsImNoZWNrYm94UHJvcHNNYXAiLCJpc0FsbFNlbGVjdGVkIiwiaXNJbmRldGVybWluYXRlIiwidHJpZ2dlclNlbGVjdGlvbiIsInRyaWdnZXJTZWxlY3RBbGwiLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImV4cGFuZGVkUm93UmVuZGVyIiwidW5kZWZpbmVkIiwiY29uc29sZSIsIndhcm4iLCJ3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIiLCJpbmRlbnQiLCJleHBhbmRlZCIsInJvd0V4cGFuZGFibGUiLCJjaGlsZHJlbiIsImtlcm5lbE9uRXhwYW5kIiwicmVjb3JkS2V5Iiwib25LZXJuZWxFeHBhbmQiLCJtZXJnZWRFeHBhbmRhYmxlIiwiYXNzaWduIiwiZXhwYW5kZWRSb3dLZXlzIiwic2hvd0V4cGFuZENvbHVtbiIsIm9uRXhwYW5kIiwicmVzb2x2ZWRQYWdpbmF0aW9uIiwiY3VycmVudCIsInBhZ2VTaXplIiwicGFnaW5hdGlvbk5vZGUiLCJjb25jYXQiLCJ0b3RhbCIsIm5leHRQYWdlIiwibmV4dFBhZ2VTaXplIiwic2V0UGFnaW5hdGlvbiIsImN1cnJlbnRQYWdpbmF0aW9uIiwid3JhcHBlckNsYXNzTmFtZSIsInRhYmxlQ2xhc3NOYW1lIiwiZW1wdHlUZXh0Iiwid3JhcHBlckh0bWxQcm9wcyIsImZvcndhcmRlZEtlcm5lbFByb3BzIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtF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LEVBQU5BLE1BQU07TUFDTkMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZDLFdBQVcsRUFBWEEsV0FBVztNQUNYQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkMsU0FBUyxFQUFUQSxTQUFTO01BQ1RDLFlBQVksRUFBWkEsWUFBWTtNQUNaakIsTUFBTSxFQUFOQTtJRG5JRSxDQ29JSDtJQUNEc0UsY0FBYyxFQUFkQTtFRG5JQSxDQ29JRDtBQUNILENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW9pemVkRm4gfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCBjbGFzc25hbWVzLCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IFBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi9QYWdpbmF0aW9uJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9TcGlubmVyJztcbmltcG9ydCB7IEV4cGFuZGVkUm93Q29udGFpbmVyIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0V4cGFuZGVkUm93Q29udGFpbmVyJztcbmltcG9ydCB7IFRhYmxlRW1wdHlTdGF0ZSB9IGZyb20gJy4uL3JlbmRlcmVycy9FbXB0eVN0YXRlJztcbmltcG9ydCB7IFRBQkxFX0JMT0NLLCBUQUJMRV9ERUZBVUxUX1BSRUZJWCwgVEFCTEVfREVGQVVMVF9TSVpFLCBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZVRhYmxlRGF0YVBpcGVsaW5lIH0gZnJvbSAnLi91c2VUYWJsZURhdGFQaXBlbGluZSc7XG5pbXBvcnQgeyB1c2VUYWJsZVNlbGVjdGlvbiB9IGZyb20gJy4vdXNlVGFibGVTZWxlY3Rpb24nO1xuaW1wb3J0IHsgdXNlVGFibGVFeHBhbmQgfSBmcm9tICcuL3VzZVRhYmxlRXhwYW5kJztcbmltcG9ydCB7IHVzZVRhYmxlQ29sdW1ucyB9IGZyb20gJy4vdXNlVGFibGVDb2x1bW5zJztcbi8qKlxuICogQ2VudHJhbGlzZXMgdGhlIHdpcmluZyBzaGFyZWQgYnkgYFRhYmxlYCBhbmQgYFZpcnR1YWxUYWJsZWA6XG4gKiAgLSBkZXN0cnVjdHVyZSBwcm9wc1xuICogIC0gcmVzb2x2ZSByb3cga2V5XG4gKiAgLSBydW4gcGlwZWxpbmUgLyBzZWxlY3Rpb24gLyBleHBhbmQgLyBjb2x1bW4gdHJhbnNmb3Jtc1xuICogIC0gYnVpbGQga2VybmVsLXJlYWR5IHByb3BzXG4gKiAgLSBzcGxpdCBvZmYgcGFzcy10aHJvdWdoIEhUTUwgYXR0cmlidXRlcyBzbyB0aGV5IGNhbiBsYW5kIG9uIHRoZSBvdXRlciB3cmFwcGVyXG4gKiAgICBkaXYgKGluc3RlYWQgb2YgYmVpbmcgc3ByZWFkIHVudHlwZWQgaW50byB0aGUga2VybmVsIHZpYSBgcmVzdCBhcyBvYmplY3RgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVRhYmxlU2V0dXAgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSBUQUJMRV9ERUZBVUxUX1BSRUZJWCwgc2l6ZSA9IFRBQkxFX0RFRkFVTFRfU0laRSwgdmFyaWFudCA9IFRBQkxFX0RFRkFVTFRfVkFSSUFOVCwgY29sdW1ucywgZGF0YVNvdXJjZSwgcm93S2V5LCBlbXB0eSwgYm9yZGVyZWQsIHNjcm9sbDogX3Njcm9sbCwgc3RpY2t5LCBwYWdpbmF0aW9uLCByb3dTZWxlY3Rpb24sIGxvYWRpbmcgPSBmYWxzZSwgb25DaGFuZ2UsIGNoaWxkcmVuQ29sdW1uTmFtZSwgaW5kZW50U2l6ZSwgZXhwYW5kYWJsZSwgb25Sb3csIHJvd0NsYXNzTmFtZSwgc3VtbWFyeSwgZm9vdGVyLCBzaG93SGVhZGVyLCB0YWJsZUxheW91dCwgY29tcG9uZW50cywgZGlyZWN0aW9uLCByb3dIb3ZlcmFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaXplXCIsIFwidmFyaWFudFwiLCBcImNvbHVtbnNcIiwgXCJkYXRhU291cmNlXCIsIFwicm93S2V5XCIsIFwiZW1wdHlcIiwgXCJib3JkZXJlZFwiLCBcInNjcm9sbFwiLCBcInN0aWNreVwiLCBcInBhZ2luYXRpb25cIiwgXCJyb3dTZWxlY3Rpb25cIiwgXCJsb2FkaW5nXCIsIFwib25DaGFuZ2VcIiwgXCJjaGlsZHJlbkNvbHVtbk5hbWVcIiwgXCJpbmRlbnRTaXplXCIsIFwiZXhwYW5kYWJsZVwiLCBcIm9uUm93XCIsIFwicm93Q2xhc3NOYW1lXCIsIFwic3VtbWFyeVwiLCBcImZvb3RlclwiLCBcInNob3dIZWFkZXJcIiwgXCJ0YWJsZUxheW91dFwiLCBcImNvbXBvbmVudHNcIiwgXCJkaXJlY3Rpb25cIiwgXCJyb3dIb3ZlcmFibGVcIl0pO1xuICAgIHZvaWQgX3Njcm9sbDtcbiAgICBjb25zdCBjbHMgPSBjbGFzc25hbWVzKFRBQkxFX0JMT0NLKTtcbiAgICAvLyBgbG9hZGluZ2AgYWNjZXB0cyBhIGJvb2xlYW4gb3IgYW4gb2JqZWN0IG92ZXJyaWRlLiBUaGUgb2JqZWN0IGZvcm0gZGVmYXVsdHNcbiAgICAvLyBgc3Bpbm5pbmdgIHRvIHRydWUgKHBhc3NpbmcgYSBjb25maWcgaW1wbGllcyBpbnRlbnQgdG8gc2hvdyB0aGUgb3ZlcmxheSkgYW5kXG4gICAgLy8gZmFsbHMgYmFjayB0byB0aGUgYnJhbmQgU3Bpbm5lciB3aGVuIG5vIGN1c3RvbSBgaW5kaWNhdG9yYCBpcyBzdXBwbGllZC5cbiAgICBjb25zdCBsb2FkaW5nQ29uZmlnID0gdHlwZW9mIGxvYWRpbmcgPT09ICdib29sZWFuJyA/IHsgc3Bpbm5pbmc6IGxvYWRpbmcgfSA6IGxvYWRpbmc7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gKF9hID0gbG9hZGluZ0NvbmZpZy5zcGlubmluZykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdHJ1ZTtcbiAgICBjb25zdCBsb2FkaW5nSW5kaWNhdG9yID0gKF9iID0gbG9hZGluZ0NvbmZpZy5pbmRpY2F0b3IpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IF9qc3goU3Bpbm5lciwgeyB0eXBlOiBcImJyYW5kXCIsIHRpdGxlOiBcIkxvYWRpbmdcIiB9KTtcbiAgICBjb25zdCBnZXRSb3dLZXkgPSB1c2VNZW1vaXplZEZuKChyZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByb3dLZXkgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gcm93S2V5KHJlY29yZClcbiAgICAgICAgICAgIDogKF9hID0gcmVjb3JkW3Jvd0tleSAhPT0gbnVsbCAmJiByb3dLZXkgIT09IHZvaWQgMCA/IHJvd0tleSA6ICdrZXknXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXg7XG4gICAgfSk7XG4gICAgY29uc3QgcGlwZWxpbmUgPSB1c2VUYWJsZURhdGFQaXBlbGluZSh7IGNvbHVtbnMsIGRhdGFTb3VyY2UsIHBhZ2luYXRpb24sIG9uQ2hhbmdlIH0pO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHVzZVRhYmxlU2VsZWN0aW9uKHtcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBkYXRhU291cmNlLFxuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UsXG4gICAgICAgIGdldFJvd0tleSxcbiAgICB9KTtcbiAgICBjb25zdCBleHBhbmQgPSB1c2VUYWJsZUV4cGFuZCh7IGV4cGFuZGFibGUsIGRhdGFTb3VyY2UsIGdldFJvd0tleSB9KTtcbiAgICBjb25zdCByZW5kZXJlZENvbHVtbnMgPSB1c2VUYWJsZUNvbHVtbnMoe1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBzaXplLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXM6IGV4cGFuZC5tZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQ6IGV4cGFuZC50cmlnZ2VyRXhwYW5kLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZFNlbGVjdGVkUm93S2V5czogc2VsZWN0aW9uLm1lcmdlZFNlbGVjdGVkUm93S2V5cyxcbiAgICAgICAgY2hlY2tib3hQcm9wc01hcDogc2VsZWN0aW9uLmNoZWNrYm94UHJvcHNNYXAsXG4gICAgICAgIGlzQWxsU2VsZWN0ZWQ6IHNlbGVjdGlvbi5pc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGU6IHNlbGVjdGlvbi5pc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb246IHNlbGVjdGlvbi50cmlnZ2VyU2VsZWN0aW9uLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0QWxsOiBzZWxlY3Rpb24udHJpZ2dlclNlbGVjdEFsbCxcbiAgICAgICAgc29ydGVyOiBwaXBlbGluZS5zb3J0ZXIsXG4gICAgICAgIHNldFNvcnRlcjogcGlwZWxpbmUuc2V0U29ydGVyLFxuICAgICAgICBmaWx0ZXJzOiBwaXBlbGluZS5maWx0ZXJzLFxuICAgICAgICBzZXRGaWx0ZXJzOiBwaXBlbGluZS5zZXRGaWx0ZXJzLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgfSk7XG4gICAgLy8gRGV2LW9ubHkgd2FybmluZzogbWl4aW5nIHJvdy1leHBhbnNpb24gd2l0aCB0cmVlLWRhdGEgKGNoaWxkcmVuQ29sdW1uTmFtZSlcbiAgICAvLyBwcm9kdWNlcyB0d28gY2hldnJvbnMgcGVyIHJvdyAodGhlIGxlZnRtb3N0IF9fZXhwYW5kX18gY29sdW1uIGZyb20gdGhlIHdyYXBwZXJcbiAgICAvLyBwbHVzIHRoZSBrZXJuZWwncyBwZXItaW5kZW50IG5lc3QgZXhwYW5kKS4gcmMtdGFibGUgLyBhbnRkIGhhdmUgdGhlIHNhbWUgZ2FwO1xuICAgIC8vIHBpY2sgb25lIG1vZGUgYXQgYSB0aW1lLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgKChfYyA9IHByb2Nlc3MuZW52KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuTk9ERV9FTlYpICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXIpICYmIGNoaWxkcmVuQ29sdW1uTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1tjb21wb25lbnRzLXVpIFRhYmxlXSBDb21iaW5pbmcgYGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXJgIHdpdGggYGNoaWxkcmVuQ29sdW1uTmFtZWAgaXMgbm90IHN1cHBvcnRlZCDigJQgdGhlIGxlZnRtb3N0IGV4cGFuZCBjb2x1bW4gd2lsbCByZW5kZXIgYWxvbmdzaWRlIHRoZSBuZXN0ZWQgdHJlZSBleHBhbmRlci4gVXNlIG9uZSBtb2RlIGF0IGEgdGltZS4nKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIgPSB1c2VNZW1vaXplZEZuKChyZWNvcmQsIGluZGV4LCBpbmRlbnQsIGV4cGFuZGVkKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiBldmVuIGlmIGEgbm9uLWV4cGFuZGFibGUgcm93J3Mga2V5IHNuZWFrcyBpbnRvXG4gICAgICAgIC8vIGBleHBhbmRlZFJvd0tleXNgLCByZWZ1c2UgdG8gcmVuZGVyIGl0cyBleHBhbnNpb24gY29udGVudC5cbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUucm93RXhwYW5kYWJsZSkgJiYgIWV4cGFuZGFibGUucm93RXhwYW5kYWJsZShyZWNvcmQpKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRlZFJvd0NvbnRhaW5lciwgeyBjaGlsZHJlbjogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93UmVuZGVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChleHBhbmRhYmxlLCByZWNvcmQsIGluZGV4LCBpbmRlbnQsIGV4cGFuZGVkKSB9KSk7XG4gICAgfSk7XG4gICAgLy8gV2lyZSBrZXJuZWwncyBvbkV4cGFuZCAodHJpZ2dlcmVkIGJ5IGV4cGFuZFJvd0J5Q2xpY2spIHRvIG91ciBzdGF0ZS5cbiAgICBjb25zdCBrZXJuZWxPbkV4cGFuZCA9IHVzZU1lbW9pemVkRm4oKGV4cGFuZGVkLCByZWNvcmQpID0+IHtcbiAgICAgICAgLy8gVGhlIGtlcm5lbCBwYXNzZXMgYSByZWNvcmQgZnJvbSBgY3VycmVudERhdGFTb3VyY2VgIChwb3N0IHNvcnQvZmlsdGVyL3BhZ2luYXRlKS5cbiAgICAgICAgLy8gTG9va2luZyBpdCB1cCBhZ2FpbnN0IHRoZSByYXcgYGRhdGFTb3VyY2VgIHJldHVybnMgLTEgd2hlbiB0aGUgY29uc3VtZXJcbiAgICAgICAgLy8gcmVjcmVhdGVzIHRoZSBhcnJheSBlYWNoIHJlbmRlciwgb3IgYSBwb3NpdGlvbmFsbHkgd3JvbmcgaW5kZXggYWZ0ZXIgc29ydC5cbiAgICAgICAgLy8gVXNlIGBjdXJyZW50RGF0YVNvdXJjZWAgc28gdGhlIGluZGV4IG1hdGNoZXMgd2hhdCB0aGUga2VybmVsIGFjdHVhbGx5IHNlZXMuXG4gICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIHBpcGVsaW5lLmN1cnJlbnREYXRhU291cmNlLmluZGV4T2YocmVjb3JkKSk7XG4gICAgICAgIGV4cGFuZC5vbktlcm5lbEV4cGFuZChleHBhbmRlZCwgcmVjb3JkLCByZWNvcmRLZXkpO1xuICAgIH0pO1xuICAgIGNvbnN0IG1lcmdlZEV4cGFuZGFibGUgPSB1c2VNZW1vKCgpID0+IGV4cGFuZGFibGVcbiAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGV4cGFuZGFibGUpLCB7IGV4cGFuZGVkUm93S2V5czogZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgZXhwYW5kZWRSb3dSZW5kZXI6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXJcbiAgICAgICAgICAgICAgICA/IHdyYXBwZWRFeHBhbmRlZFJvd1JlbmRlclxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLCBzaG93RXhwYW5kQ29sdW1uOiBmYWxzZSwgb25FeHBhbmQ6IGtlcm5lbE9uRXhwYW5kIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLCBbZXhwYW5kYWJsZSwgZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyLCBrZXJuZWxPbkV4cGFuZF0pO1xuICAgIGNvbnN0IHJlc29sdmVkUGFnaW5hdGlvbiA9IHBpcGVsaW5lLnBhZ2luYXRpb24gPT09IGZhbHNlXG4gICAgICAgID8geyBjdXJyZW50OiAxLCBwYWdlU2l6ZTogMTAgfVxuICAgICAgICA6IHBpcGVsaW5lLnBhZ2luYXRpb247XG4gICAgY29uc3QgcGFnaW5hdGlvbk5vZGUgPSBwYWdpbmF0aW9uICE9PSBmYWxzZSA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LXBhZ2luYXRpb25gLCBjaGlsZHJlbjogX2pzeChQYWdpbmF0aW9uLCB7IHRvdGFsOiBwaXBlbGluZS50b3RhbCwgcGFnZVNpemU6IHJlc29sdmVkUGFnaW5hdGlvbi5wYWdlU2l6ZSwgY3VycmVudDogcmVzb2x2ZWRQYWdpbmF0aW9uLmN1cnJlbnQsIG9uQ2hhbmdlOiAobmV4dFBhZ2UsIG5leHRQYWdlU2l6ZSkgPT4gcGlwZWxpbmUuc2V0UGFnaW5hdGlvbigoY3VycmVudFBhZ2luYXRpb24pID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGN1cnJlbnRQYWdpbmF0aW9uKSwgeyBjdXJyZW50OiBuZXh0UGFnZSwgcGFnZVNpemU6IG5leHRQYWdlU2l6ZSB9KSkpIH0pIH0pKSA6IG51bGw7XG4gICAgY29uc3Qgd3JhcHBlckNsYXNzTmFtZSA9IGpvaW5DbHMoYCR7cHJlZml4Q2xzfS13cmFwcGVyYCwgaXNMb2FkaW5nICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tbG9hZGluZ2AsIGJvcmRlcmVkICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tYm9yZGVyZWRgKTtcbiAgICBjb25zdCB0YWJsZUNsYXNzTmFtZSA9IGpvaW5DbHMoY2xzKCksIGNscyhzaXplKSwgY2xzKHZhcmlhbnQpLCByb3dIb3ZlcmFibGUgPT09IGZhbHNlICYmIGNscygnbm8taG92ZXInKSwgY2xhc3NOYW1lKTtcbiAgICBjb25zdCBlbXB0eVRleHQgPSBpc0xvYWRpbmcgJiYgIWRhdGFTb3VyY2UubGVuZ3RoID8gX2pzeChcInNwYW5cIiwge30pIDogX2pzeChUYWJsZUVtcHR5U3RhdGUsIHsgZW1wdHk6IGVtcHR5IH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAgd3JhcHBlckNsYXNzTmFtZSxcbiAgICAgICAgdGFibGVDbGFzc05hbWUsXG4gICAgICAgIGxvYWRpbmc6IGlzTG9hZGluZyxcbiAgICAgICAgbG9hZGluZ0luZGljYXRvcixcbiAgICAgICAgcmVuZGVyZWRDb2x1bW5zLFxuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UsXG4gICAgICAgIG1lcmdlZEV4cGFuZGFibGUsXG4gICAgICAgIGVtcHR5VGV4dCxcbiAgICAgICAgd3JhcHBlckh0bWxQcm9wczogcmVzdCxcbiAgICAgICAgZm9yd2FyZGVkS2VybmVsUHJvcHM6IHtcbiAgICAgICAgICAgIHJvd0tleTogcm93S2V5LFxuICAgICAgICAgICAgY2hpbGRyZW5Db2x1bW5OYW1lLFxuICAgICAgICAgICAgaW5kZW50U2l6ZSxcbiAgICAgICAgICAgIG9uUm93LFxuICAgICAgICAgICAgcm93Q2xhc3NOYW1lLFxuICAgICAgICAgICAgc3VtbWFyeSxcbiAgICAgICAgICAgIGZvb3RlcixcbiAgICAgICAgICAgIHNob3dIZWFkZXIsXG4gICAgICAgICAgICB0YWJsZUxheW91dCxcbiAgICAgICAgICAgIGNvbXBvbmVudHMsXG4gICAgICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgICAgICByb3dIb3ZlcmFibGUsXG4gICAgICAgICAgICBzdGlja3ksXG4gICAgICAgIH0sXG4gICAgICAgIHBhZ2luYXRpb25Ob2RlLFxuICAgIH07XG59OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -211,6 +211,18 @@ export interface TableRef {
211
211
  offset?: number;
212
212
  }) => void;
213
213
  }
214
+ /**
215
+ * Object form of the `loading` prop. Use it to swap in a custom indicator while
216
+ * keeping the dimmed-body / blocked-pointer overlay behavior.
217
+ *
218
+ * The default indicator is `<Spinner type="brand" title="Loading" />`.
219
+ */
220
+ export interface TableLoadingConfig {
221
+ /** Whether the loading overlay is visible. Defaults to `true` when the object form is used. */
222
+ spinning?: boolean;
223
+ /** Custom node that replaces the default `Spinner` inside the overlay. */
224
+ indicator?: ReactNode;
225
+ }
214
226
  export interface TableProps<T extends TableRecord = TableRecord> extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
215
227
  prefixCls?: string;
216
228
  columns: TableColumnType<T>[];
@@ -240,7 +252,7 @@ export interface TableProps<T extends TableRecord = TableRecord> extends Omit<HT
240
252
  expandable?: TableExpandableConfig<T>;
241
253
  childrenColumnName?: string;
242
254
  indentSize?: number;
243
- loading?: boolean;
255
+ loading?: boolean | TableLoadingConfig;
244
256
  empty?: EmptyProps | ReactNode;
245
257
  showHeader?: boolean;
246
258
  tableLayout?: TableLayout;
@@ -360,6 +360,9 @@
360
360
  user-select: none;
361
361
  pointer-events: none;
362
362
  }
363
+ .om-component-ui-table-wrapper--loading .om-component-ui-table-placeholder > .om-component-ui-table-cell {
364
+ height: 160px;
365
+ }
363
366
 
364
367
  .om-component-ui-table-loading-overlay {
365
368
  position: absolute;