@1money/component-ui 0.0.45 → 0.0.47

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 (57) 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 +65 -13
  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 +2 -2
  10. package/es/components/Table/core/useTableSelection.d.ts +3 -5
  11. package/es/components/Table/core/useTableSelection.js +1 -1
  12. package/es/components/Table/core/useTableSetup.d.ts +42 -0
  13. package/es/components/Table/core/useTableSetup.js +175 -0
  14. package/es/components/Table/features/ExpandTrigger.js +2 -1
  15. package/es/components/Table/features/FilterTrigger.d.ts +9 -0
  16. package/es/components/Table/features/FilterTrigger.js +157 -0
  17. package/es/components/Table/features/SelectionColumn.d.ts +3 -2
  18. package/es/components/Table/features/SelectionColumn.js +19 -6
  19. package/es/components/Table/interface.d.ts +102 -21
  20. package/es/components/Table/renderers/BodyCell.d.ts +4 -4
  21. package/es/components/Table/renderers/BodyCell.js +1 -1
  22. package/es/components/Table/renderers/HeaderCell.d.ts +8 -4
  23. package/es/components/Table/renderers/HeaderCell.js +13 -3
  24. package/es/components/Table/style/Table.css +1 -1
  25. package/es/components/Tooltip/Tooltip.js +24 -19
  26. package/es/components/Tooltip/interface.d.ts +2 -0
  27. package/es/index.css +1 -1
  28. package/lib/components/Table/Table.d.ts +2 -2
  29. package/lib/components/Table/Table.js +24 -150
  30. package/lib/components/Table/VirtualTable.d.ts +2 -2
  31. package/lib/components/Table/VirtualTable.js +28 -144
  32. package/lib/components/Table/core/useTableColumns.d.ts +21 -7
  33. package/lib/components/Table/core/useTableColumns.js +65 -13
  34. package/lib/components/Table/core/useTableDataPipeline.d.ts +13 -6
  35. package/lib/components/Table/core/useTableDataPipeline.js +192 -26
  36. package/lib/components/Table/core/useTableExpand.d.ts +2 -2
  37. package/lib/components/Table/core/useTableSelection.d.ts +3 -5
  38. package/lib/components/Table/core/useTableSelection.js +1 -1
  39. package/lib/components/Table/core/useTableSetup.d.ts +42 -0
  40. package/lib/components/Table/core/useTableSetup.js +184 -0
  41. package/lib/components/Table/features/ExpandTrigger.js +2 -1
  42. package/lib/components/Table/features/FilterTrigger.d.ts +9 -0
  43. package/lib/components/Table/features/FilterTrigger.js +164 -0
  44. package/lib/components/Table/features/SelectionColumn.d.ts +3 -2
  45. package/lib/components/Table/features/SelectionColumn.js +19 -6
  46. package/lib/components/Table/interface.d.ts +102 -21
  47. package/lib/components/Table/renderers/BodyCell.d.ts +4 -4
  48. package/lib/components/Table/renderers/BodyCell.js +1 -1
  49. package/lib/components/Table/renderers/HeaderCell.d.ts +8 -4
  50. package/lib/components/Table/renderers/HeaderCell.js +13 -3
  51. package/lib/components/Table/style/Table.css +1 -1
  52. package/lib/components/Tooltip/Tooltip.js +24 -19
  53. package/lib/components/Tooltip/interface.d.ts +2 -0
  54. package/lib/index.css +1 -1
  55. package/package.json +1 -1
  56. package/scripts/mcp-server/examples.generated.json +126 -0
  57. package/scripts/mcp-server/index.generated.json +348 -14
@@ -1,7 +1,7 @@
1
1
  import { type ReactElement, type Ref } from 'react';
2
2
  import './style';
3
- import type { TableProps, TableRef } from './interface';
4
- type ForwardGenericTable = (<T extends Record<string, any> = Record<string, any>>(props: TableProps<T> & {
3
+ import type { TableProps, TableRecord, TableRef } from './interface';
4
+ type ForwardGenericTable = (<T extends TableRecord = TableRecord>(props: TableProps<T> & {
5
5
  ref?: Ref<TableRef>;
6
6
  }) => ReactElement | null) & {
7
7
  displayName?: string;
@@ -1,164 +1,41 @@
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
- };
9
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { forwardRef, memo, useMemo } from 'react';
11
- import classnames, { joinCls } from '../../utils/classnames';
12
- import { useMemoizedFn } from '@1money/hooks';
13
- import { Pagination } from '../Pagination';
2
+ import { forwardRef, memo } from 'react';
14
3
  import { Spinner } from '../Spinner';
15
4
  import './style';
16
5
  import { InternalRcTable } from './internal';
17
- import { TABLE_BLOCK, TABLE_DEFAULT_PREFIX, TABLE_DEFAULT_SIZE, TABLE_DEFAULT_VARIANT } from './constants';
18
- import { useTableDataPipeline } from './core/useTableDataPipeline';
19
- import { useTableSelection } from './core/useTableSelection';
20
- import { useTableExpand } from './core/useTableExpand';
21
- import { useTableColumns } from './core/useTableColumns';
22
- import { ExpandedRowContainer } from './renderers/ExpandedRowContainer';
23
- import { TableEmptyState } from './renderers/EmptyState';
6
+ import { useTableSetup } from './core/useTableSetup';
24
7
  var TableInner = function TableInner(props, ref) {
25
- var _props$className = props.className,
26
- className = _props$className === void 0 ? '' : _props$className,
27
- _props$prefixCls = props.prefixCls,
28
- prefixCls = _props$prefixCls === void 0 ? TABLE_DEFAULT_PREFIX : _props$prefixCls,
29
- _props$size = props.size,
30
- size = _props$size === void 0 ? TABLE_DEFAULT_SIZE : _props$size,
31
- _props$variant = props.variant,
32
- variant = _props$variant === void 0 ? TABLE_DEFAULT_VARIANT : _props$variant,
33
- columns = props.columns,
34
- dataSource = props.dataSource,
35
- rowKey = props.rowKey,
36
- empty = props.empty,
37
- bordered = props.bordered,
38
- pagination = props.pagination,
39
- rowSelection = props.rowSelection,
40
- loading = props.loading,
41
- onChange = props.onChange,
42
- childrenColumnName = props.childrenColumnName,
43
- indentSize = props.indentSize,
44
- expandable = props.expandable,
45
- onRow = props.onRow,
46
- rowClassName = props.rowClassName,
47
- summary = props.summary,
48
- showHeader = props.showHeader,
49
- tableLayout = props.tableLayout,
50
- components = props.components,
51
- direction = props.direction,
52
- rowHoverable = props.rowHoverable,
53
- rest = __rest(props, ["className", "prefixCls", "size", "variant", "columns", "dataSource", "rowKey", "empty", "bordered", "pagination", "rowSelection", "loading", "onChange", "childrenColumnName", "indentSize", "expandable", "onRow", "rowClassName", "summary", "showHeader", "tableLayout", "components", "direction", "rowHoverable"]);
54
- var cls = classnames(TABLE_BLOCK);
55
- var getRowKey = useMemoizedFn(function (record, index) {
56
- var _a;
57
- return typeof rowKey === 'function' ? rowKey(record) : (_a = record[rowKey !== null && rowKey !== void 0 ? rowKey : 'key']) !== null && _a !== void 0 ? _a : index;
58
- });
59
- var pipeline = useTableDataPipeline({
60
- columns: columns,
61
- dataSource: dataSource,
62
- pagination: pagination,
63
- onChange: onChange
64
- });
65
- var selection = useTableSelection({
66
- rowSelection: rowSelection,
67
- dataSource: dataSource,
68
- currentDataSource: pipeline.currentDataSource,
69
- getRowKey: getRowKey
70
- });
71
- var expand = useTableExpand({
72
- expandable: expandable
73
- });
74
- var renderedColumns = useTableColumns({
75
- columns: columns,
76
- size: size,
77
- variant: variant,
78
- expandable: expandable,
79
- mergedExpandedRowKeys: expand.mergedExpandedRowKeys,
80
- triggerExpand: expand.triggerExpand,
81
- rowSelection: rowSelection,
82
- mergedSelectedRowKeys: selection.mergedSelectedRowKeys,
83
- checkboxPropsMap: selection.checkboxPropsMap,
84
- isAllSelected: selection.isAllSelected,
85
- isIndeterminate: selection.isIndeterminate,
86
- triggerSelection: selection.triggerSelection,
87
- triggerSelectAll: selection.triggerSelectAll,
88
- sorter: pipeline.sorter,
89
- setSorter: pipeline.setSorter,
90
- getRowKey: getRowKey
91
- });
92
- var resolvedPagination = pipeline.pagination === false ? {
93
- current: 1,
94
- pageSize: 10
95
- } : pipeline.pagination;
96
- var wrappedExpandedRowRender = useMemoizedFn(function (record, index, indent, expanded) {
97
- var _a;
98
- return _jsx(ExpandedRowContainer, {
99
- children: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender) === null || _a === void 0 ? void 0 : _a.call(expandable, record, index, indent, expanded)
100
- });
101
- });
102
- // Wire kernel's onExpand (triggered by expandRowByClick) to our state
103
- var kernelOnExpand = useMemoizedFn(function (expanded, record) {
104
- var recordKey = getRowKey(record, dataSource.indexOf(record));
105
- expand.onKernelExpand(expanded, record, recordKey);
106
- });
107
- var mergedExpandable = useMemo(function () {
108
- return expandable ? Object.assign(Object.assign({}, expandable), {
109
- expandedRowKeys: expand.mergedExpandedRowKeys,
110
- expandedRowRender: expandable.expandedRowRender ? wrappedExpandedRowRender : undefined,
111
- showExpandColumn: false,
112
- onExpand: kernelOnExpand
113
- }) : undefined;
114
- }, [expandable, expand.mergedExpandedRowKeys, wrappedExpandedRowRender, kernelOnExpand]);
115
- void bordered;
116
- return _jsxs("div", {
117
- className: joinCls("".concat(prefixCls, "-wrapper"), loading && "".concat(prefixCls, "-wrapper--loading")),
8
+ var setup = useTableSetup(props);
9
+ var prefixCls = setup.prefixCls,
10
+ wrapperClassName = setup.wrapperClassName,
11
+ tableClassName = setup.tableClassName,
12
+ loading = setup.loading,
13
+ renderedColumns = setup.renderedColumns,
14
+ currentDataSource = setup.currentDataSource,
15
+ mergedExpandable = setup.mergedExpandable,
16
+ emptyText = setup.emptyText,
17
+ wrapperHtmlProps = setup.wrapperHtmlProps,
18
+ forwardedKernelProps = setup.forwardedKernelProps,
19
+ paginationNode = setup.paginationNode;
20
+ return _jsxs("div", Object.assign({}, wrapperHtmlProps, {
21
+ className: wrapperClassName,
118
22
  children: [loading && _jsx("div", {
119
23
  className: "".concat(prefixCls, "-loading-overlay"),
120
24
  children: _jsx(Spinner, {})
121
- }), _jsx(InternalRcTable, Object.assign({}, rest, {
25
+ }), _jsx(InternalRcTable, Object.assign({}, forwardedKernelProps, {
122
26
  ref: ref,
27
+ scroll: props.scroll,
123
28
  prefixCls: prefixCls,
124
- className: joinCls(cls(), cls(size), cls(variant), className),
29
+ className: tableClassName,
125
30
  columns: renderedColumns,
126
- data: pipeline.currentDataSource,
127
- rowKey: rowKey,
128
- emptyText: loading && !dataSource.length ? _jsx("span", {}) : _jsx(TableEmptyState, {
129
- empty: empty
130
- }),
131
- childrenColumnName: childrenColumnName,
132
- indentSize: indentSize,
133
- expandable: mergedExpandable,
134
- onRow: onRow,
135
- rowClassName: rowClassName,
136
- summary: summary,
137
- showHeader: showHeader,
138
- tableLayout: tableLayout,
139
- components: components,
140
- direction: direction,
141
- rowHoverable: rowHoverable
142
- })), pagination !== false ? _jsx("div", {
143
- className: "".concat(prefixCls, "-pagination"),
144
- children: _jsx(Pagination, {
145
- total: pipeline.total,
146
- pageSize: resolvedPagination.pageSize,
147
- current: resolvedPagination.current,
148
- onChange: function onChange(nextPage, nextPageSize) {
149
- return pipeline.setPagination(function (currentPagination) {
150
- return Object.assign(Object.assign({}, currentPagination), {
151
- current: nextPage,
152
- pageSize: nextPageSize
153
- });
154
- });
155
- }
156
- })
157
- }) : null]
158
- });
31
+ data: currentDataSource,
32
+ emptyText: emptyText,
33
+ expandable: mergedExpandable
34
+ })), paginationNode]
35
+ }));
159
36
  };
160
37
  var TableBase = /*#__PURE__*/forwardRef(TableInner);
161
38
  TableBase.displayName = 'Table';
162
39
  export var Table = /*#__PURE__*/memo(TableBase);
163
40
  export default Table;
164
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJmb3J3YXJkUmVmIiwibWVtbyIsInVzZU1lbW8iLCJjbGFzc25hbWVzIiwiam9pbkNscyIsInVzZU1lbW9pemVkRm4iLCJQYWdpbmF0aW9uIiwiU3Bpbm5lciIsIkludGVybmFsUmNUYWJsZSIsIlRBQkxFX0JMT0NLIiwiVEFCTEVfREVGQVVMVF9QUkVGSVgiLCJUQUJMRV9ERUZBVUxUX1NJWkUiLCJUQUJMRV9ERUZBVUxUX1ZBUklBTlQiLCJ1c2VUYWJsZURhdGFQaXBlbGluZSIsInVzZVRhYmxlU2VsZWN0aW9uIiwidXNlVGFibGVFeHBhbmQiLCJ1c2VUYWJsZUNvbHVtbnMiLCJFeHBhbmRlZFJvd0NvbnRhaW5lciIsIlRhYmxlRW1wdHlTdGF0ZSIsIlRhYmxlSW5uZXIiLCJwcm9wcyIsInJlZiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiY29sdW1ucyIsImRhdGFTb3VyY2UiLCJyb3dLZXkiLCJlbXB0eSIsImJvcmRlcmVkIiwicGFnaW5hdGlvbiIsInJvd1NlbGVjdGlvbiIsImxvYWRpbmciLCJvbkNoYW5nZSIsImNoaWxkcmVuQ29sdW1uTmFtZSIsImluZGVudFNpemUiLCJleHBhbmRhYmxlIiwib25Sb3ciLCJyb3dDbGFzc05hbWUiLCJzdW1tYXJ5Iiwic2hvd0hlYWRlciIsInRhYmxlTGF5b3V0IiwiY29tcG9uZW50cyIsImRpcmVjdGlvbiIsInJvd0hvdmVyYWJsZSIsInJlc3QiLCJjbHMiLCJnZXRSb3dLZXkiLCJyZWNvcmQiLCJpbmRleCIsIl9hIiwicGlwZWxpbmUiLCJzZWxlY3Rpb24iLCJjdXJyZW50RGF0YVNvdXJjZSIsImV4cGFuZCIsInJlbmRlcmVkQ29sdW1ucyIsIm1lcmdlZEV4cGFuZGVkUm93S2V5cyIsInRyaWdnZXJFeHBhbmQiLCJtZXJnZWRTZWxlY3RlZFJvd0tleXMiLCJjaGVja2JveFByb3BzTWFwIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInRyaWdnZXJTZWxlY3Rpb24iLCJ0cmlnZ2VyU2VsZWN0QWxsIiwic29ydGVyIiwic2V0U29ydGVyIiwicmVzb2x2ZWRQYWdpbmF0aW9uIiwiY3VycmVudCIsInBhZ2VTaXplIiwid3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyIiwiaW5kZW50IiwiZXhwYW5kZWQiLCJjaGlsZHJlbiIsImV4cGFuZGVkUm93UmVuZGVyIiwia2VybmVsT25FeHBhbmQiLCJyZWNvcmRLZXkiLCJvbktlcm5lbEV4cGFuZCIsIm1lcmdlZEV4cGFuZGFibGUiLCJhc3NpZ24iLCJleHBhbmRlZFJvd0tleXMiLCJ1bmRlZmluZWQiLCJzaG93RXhwYW5kQ29sdW1uIiwib25FeHBhbmQiLCJjb25jYXQiLCJkYXRhIiwiZW1wdHlUZXh0IiwidG90YWwiLCJuZXh0UGFnZSIsIm5leHRQYWdlU2l6ZSIsInNldFBhZ2luYXRpb24iLCJjdXJyZW50UGFnaW5hdGlvbiIsIlRhYmxlQmFzZSIsImRpc3BsYXlOYW1lIiwiVGFibGUiXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxD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QkFBa0IsQ0FBQ0UsUUFBUTtRQUNyQ0QsT0FBTyxFQUFFRCxrQkFBa0IsQ0FBQ0MsT0FBTztRQUNuQ2xDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHc0QsUUFBUSxFQUFFQyxZQUFZO1VBQUEsT0FDL0JyQyxRQUFRLENBQUNzQyxhQUFhLENBQUMsVUFBQ0MsaUJBQWlCO1lBQUEsT0FBSzVHLE1BQUEsQ0FBQWdHLE1BQUEsQ0FBQWhHLE1BQUEsQ0FBQWdHLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDekNZLGlCQUFpQixDQUFBLEVBQUE7Y0FDcEJ2QixPQUFPLEVBQUVvQixRQUFRO2NBQ2pCbkIsUUFBUSxFQUFFb0I7WUFBWSxDQUFBLENBQUE7VUFBQSxDQUN0QixDQUFDO1FBQUE7TUFBQSxDQUFBO0lBRUwsQ0FBQSxDQUNFLEdBQ0osSUFBSTtFQUFBLENBQUEsQ0FDSjtBQUVWLENBQUM7QUFNRCxJQUFNRyxTQUFTLGdCQUFHaEcsVUFBVSxDQUFDbUIsVUFBVSxDQUF3QjtBQUUvRDZFLFNBQVMsQ0FBQ0MsV0FBVyxHQUFHLE9BQU87QUFFL0IsT0FBTyxJQUFNQyxLQUFLLGdCQUFHakcsSUFBSSxDQUFDK0YsU0FBUyxDQUF3QjtBQUUzRCxlQUFlRSxLQUFLIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzLCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IHVzZU1lbW9pemVkRm4gfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IFBhZ2luYXRpb24gfSBmcm9tICcuLi9QYWdpbmF0aW9uJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCAnLi9zdHlsZSc7XG5pbXBvcnQgeyBJbnRlcm5hbFJjVGFibGUgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IFRBQkxFX0JMT0NLLCBUQUJMRV9ERUZBVUxUX1BSRUZJWCwgVEFCTEVfREVGQVVMVF9TSVpFLCBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlVGFibGVEYXRhUGlwZWxpbmUgfSBmcm9tICcuL2NvcmUvdXNlVGFibGVEYXRhUGlwZWxpbmUnO1xuaW1wb3J0IHsgdXNlVGFibGVTZWxlY3Rpb24gfSBmcm9tICcuL2NvcmUvdXNlVGFibGVTZWxlY3Rpb24nO1xuaW1wb3J0IHsgdXNlVGFibGVFeHBhbmQgfSBmcm9tICcuL2NvcmUvdXNlVGFibGVFeHBhbmQnO1xuaW1wb3J0IHsgdXNlVGFibGVDb2x1bW5zIH0gZnJvbSAnLi9jb3JlL3VzZVRhYmxlQ29sdW1ucyc7XG5pbXBvcnQgeyBFeHBhbmRlZFJvd0NvbnRhaW5lciB9IGZyb20gJy4vcmVuZGVyZXJzL0V4cGFuZGVkUm93Q29udGFpbmVyJztcbmltcG9ydCB7IFRhYmxlRW1wdHlTdGF0ZSB9IGZyb20gJy4vcmVuZGVyZXJzL0VtcHR5U3RhdGUnO1xuY29uc3QgVGFibGVJbm5lciA9IChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVEFCTEVfREVGQVVMVF9QUkVGSVgsIHNpemUgPSBUQUJMRV9ERUZBVUxUX1NJWkUsIHZhcmlhbnQgPSBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIGNvbHVtbnMsIGRhdGFTb3VyY2UsIHJvd0tleSwgZW1wdHksIGJvcmRlcmVkLCBwYWdpbmF0aW9uLCByb3dTZWxlY3Rpb24sIGxvYWRpbmcsIG9uQ2hhbmdlLCBjaGlsZHJlbkNvbHVtbk5hbWUsIGluZGVudFNpemUsIGV4cGFuZGFibGUsIG9uUm93LCByb3dDbGFzc05hbWUsIHN1bW1hcnksIHNob3dIZWFkZXIsIHRhYmxlTGF5b3V0LCBjb21wb25lbnRzLCBkaXJlY3Rpb24sIHJvd0hvdmVyYWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInNpemVcIiwgXCJ2YXJpYW50XCIsIFwiY29sdW1uc1wiLCBcImRhdGFTb3VyY2VcIiwgXCJyb3dLZXlcIiwgXCJlbXB0eVwiLCBcImJvcmRlcmVkXCIsIFwicGFnaW5hdGlvblwiLCBcInJvd1NlbGVjdGlvblwiLCBcImxvYWRpbmdcIiwgXCJvbkNoYW5nZVwiLCBcImNoaWxkcmVuQ29sdW1uTmFtZVwiLCBcImluZGVudFNpemVcIiwgXCJleHBhbmRhYmxlXCIsIFwib25Sb3dcIiwgXCJyb3dDbGFzc05hbWVcIiwgXCJzdW1tYXJ5XCIsIFwic2hvd0hlYWRlclwiLCBcInRhYmxlTGF5b3V0XCIsIFwiY29tcG9uZW50c1wiLCBcImRpcmVjdGlvblwiLCBcInJvd0hvdmVyYWJsZVwiXSk7XG4gICAgY29uc3QgY2xzID0gY2xhc3NuYW1lcyhUQUJMRV9CTE9DSyk7XG4gICAgY29uc3QgZ2V0Um93S2V5ID0gdXNlTWVtb2l6ZWRGbigocmVjb3JkLCBpbmRleCkgPT4geyB2YXIgX2E7IHJldHVybiB0eXBlb2Ygcm93S2V5ID09PSAnZnVuY3Rpb24nID8gcm93S2V5KHJlY29yZCkgOiAoX2EgPSByZWNvcmRbcm93S2V5ICE9PSBudWxsICYmIHJvd0tleSAhPT0gdm9pZCAwID8gcm93S2V5IDogJ2tleSddKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleDsgfSk7XG4gICAgY29uc3QgcGlwZWxpbmUgPSB1c2VUYWJsZURhdGFQaXBlbGluZSh7IGNvbHVtbnMsIGRhdGFTb3VyY2UsIHBhZ2luYXRpb24sIG9uQ2hhbmdlIH0pO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHVzZVRhYmxlU2VsZWN0aW9uKHtcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBkYXRhU291cmNlLFxuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UsXG4gICAgICAgIGdldFJvd0tleSxcbiAgICB9KTtcbiAgICBjb25zdCBleHBhbmQgPSB1c2VUYWJsZUV4cGFuZCh7IGV4cGFuZGFibGUgfSk7XG4gICAgY29uc3QgcmVuZGVyZWRDb2x1bW5zID0gdXNlVGFibGVDb2x1bW5zKHtcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgZXhwYW5kYWJsZSxcbiAgICAgICAgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzOiBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLFxuICAgICAgICB0cmlnZ2VyRXhwYW5kOiBleHBhbmQudHJpZ2dlckV4cGFuZCxcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBtZXJnZWRTZWxlY3RlZFJvd0tleXM6IHNlbGVjdGlvbi5tZXJnZWRTZWxlY3RlZFJvd0tleXMsXG4gICAgICAgIGNoZWNrYm94UHJvcHNNYXA6IHNlbGVjdGlvbi5jaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkOiBzZWxlY3Rpb24uaXNBbGxTZWxlY3RlZCxcbiAgICAgICAgaXNJbmRldGVybWluYXRlOiBzZWxlY3Rpb24uaXNJbmRldGVybWluYXRlLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0aW9uOiBzZWxlY3Rpb24udHJpZ2dlclNlbGVjdGlvbixcbiAgICAgICAgdHJpZ2dlclNlbGVjdEFsbDogc2VsZWN0aW9uLnRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcjogcGlwZWxpbmUuc29ydGVyLFxuICAgICAgICBzZXRTb3J0ZXI6IHBpcGVsaW5lLnNldFNvcnRlcixcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc29sdmVkUGFnaW5hdGlvbiA9IHBpcGVsaW5lLnBhZ2luYXRpb24gPT09IGZhbHNlXG4gICAgICAgID8geyBjdXJyZW50OiAxLCBwYWdlU2l6ZTogMTAgfVxuICAgICAgICA6IHBpcGVsaW5lLnBhZ2luYXRpb247XG4gICAgY29uc3Qgd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyID0gdXNlTWVtb2l6ZWRGbigocmVjb3JkLCBpbmRleCwgaW5kZW50LCBleHBhbmRlZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRlZFJvd0NvbnRhaW5lciwgeyBjaGlsZHJlbjogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93UmVuZGVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChleHBhbmRhYmxlLCByZWNvcmQsIGluZGV4LCBpbmRlbnQsIGV4cGFuZGVkKSB9KSk7XG4gICAgfSk7XG4gICAgLy8gV2lyZSBrZXJuZWwncyBvbkV4cGFuZCAodHJpZ2dlcmVkIGJ5IGV4cGFuZFJvd0J5Q2xpY2spIHRvIG91ciBzdGF0ZVxuICAgIGNvbnN0IGtlcm5lbE9uRXhwYW5kID0gdXNlTWVtb2l6ZWRGbigoZXhwYW5kZWQsIHJlY29yZCkgPT4ge1xuICAgICAgICBjb25zdCByZWNvcmRLZXkgPSBnZXRSb3dLZXkocmVjb3JkLCBkYXRhU291cmNlLmluZGV4T2YocmVjb3JkKSk7XG4gICAgICAgIGV4cGFuZC5vbktlcm5lbEV4cGFuZChleHBhbmRlZCwgcmVjb3JkLCByZWNvcmRLZXkpO1xuICAgIH0pO1xuICAgIGNvbnN0IG1lcmdlZEV4cGFuZGFibGUgPSB1c2VNZW1vKCgpID0+IGV4cGFuZGFibGVcbiAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGV4cGFuZGFibGUpLCB7IGV4cGFuZGVkUm93S2V5czogZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgZXhwYW5kZWRSb3dSZW5kZXI6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXJcbiAgICAgICAgICAgICAgICA/IHdyYXBwZWRFeHBhbmRlZFJvd1JlbmRlclxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLCBzaG93RXhwYW5kQ29sdW1uOiBmYWxzZSwgb25FeHBhbmQ6IGtlcm5lbE9uRXhwYW5kIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLCBbZXhwYW5kYWJsZSwgZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyLCBrZXJuZWxPbkV4cGFuZF0pO1xuICAgIHZvaWQgYm9yZGVyZWQ7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtwcmVmaXhDbHN9LXdyYXBwZXJgLCBsb2FkaW5nICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tbG9hZGluZ2ApLCBjaGlsZHJlbjogW2xvYWRpbmcgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tbG9hZGluZy1vdmVybGF5YCwgY2hpbGRyZW46IF9qc3goU3Bpbm5lciwge30pIH0pKSwgX2pzeChJbnRlcm5hbFJjVGFibGUsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiByZWYsIHByZWZpeENsczogcHJlZml4Q2xzLCBjbGFzc05hbWU6IGpvaW5DbHMoY2xzKCksIGNscyhzaXplKSwgY2xzKHZhcmlhbnQpLCBjbGFzc05hbWUpLCBjb2x1bW5zOiByZW5kZXJlZENvbHVtbnMsIGRhdGE6IHBpcGVsaW5lLmN1cnJlbnREYXRhU291cmNlLCByb3dLZXk6IHJvd0tleSwgZW1wdHlUZXh0OiBsb2FkaW5nICYmICFkYXRhU291cmNlLmxlbmd0aCA/IF9qc3goXCJzcGFuXCIsIHt9KSA6IF9qc3goVGFibGVFbXB0eVN0YXRlLCB7IGVtcHR5OiBlbXB0eSB9KSwgY2hpbGRyZW5Db2x1bW5OYW1lOiBjaGlsZHJlbkNvbHVtbk5hbWUsIGluZGVudFNpemU6IGluZGVudFNpemUsIGV4cGFuZGFibGU6IG1lcmdlZEV4cGFuZGFibGUsIG9uUm93OiBvblJvdywgcm93Q2xhc3NOYW1lOiByb3dDbGFzc05hbWUsIHN1bW1hcnk6IHN1bW1hcnksIHNob3dIZWFkZXI6IHNob3dIZWFkZXIsIHRhYmxlTGF5b3V0OiB0YWJsZUxheW91dCwgY29tcG9uZW50czogY29tcG9uZW50cywgZGlyZWN0aW9uOiBkaXJlY3Rpb24sIHJvd0hvdmVyYWJsZTogcm93SG92ZXJhYmxlIH0pKSwgcGFnaW5hdGlvbiAhPT0gZmFsc2UgPyAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1wYWdpbmF0aW9uYCwgY2hpbGRyZW46IF9qc3goUGFnaW5hdGlvbiwgeyB0b3RhbDogcGlwZWxpbmUudG90YWwsIHBhZ2VTaXplOiByZXNvbHZlZFBhZ2luYXRpb24ucGFnZVNpemUsIGN1cnJlbnQ6IHJlc29sdmVkUGFnaW5hdGlvbi5jdXJyZW50LCBvbkNoYW5nZTogKG5leHRQYWdlLCBuZXh0UGFnZVNpemUpID0+IHBpcGVsaW5lLnNldFBhZ2luYXRpb24oKGN1cnJlbnRQYWdpbmF0aW9uKSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdXJyZW50UGFnaW5hdGlvbiksIHsgY3VycmVudDogbmV4dFBhZ2UsIHBhZ2VTaXplOiBuZXh0UGFnZVNpemUgfSkpKSB9KSB9KSkgOiBudWxsXSB9KSk7XG59O1xuY29uc3QgVGFibGVCYXNlID0gZm9yd2FyZFJlZihUYWJsZUlubmVyKTtcblRhYmxlQmFzZS5kaXNwbGF5TmFtZSA9ICdUYWJsZSc7XG5leHBvcnQgY29uc3QgVGFibGUgPSBtZW1vKFRhYmxlQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBUYWJsZTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
41
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJTcGlubmVyIiwiSW50ZXJuYWxSY1RhYmxlIiwidXNlVGFibGVTZXR1cCIsIlRhYmxlSW5uZXIiLCJwcm9wcyIsInJlZiIsInNldHVwIiwicHJlZml4Q2xzIiwid3JhcHBlckNsYXNzTmFtZSIsInRhYmxlQ2xhc3NOYW1lIiwibG9hZGluZyIsInJlbmRlcmVkQ29sdW1ucyIsImN1cnJlbnREYXRhU291cmNlIiwibWVyZ2VkRXhwYW5kYWJsZSIsImVtcHR5VGV4dCIsIndyYXBwZXJIdG1sUHJvcHMiLCJmb3J3YXJkZWRLZXJuZWxQcm9wcyIsInBhZ2luYXRpb25Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJjb25jYXQiLCJzY3JvbGwiLCJjb2x1bW5zIiwiZGF0YSIsImV4cGFuZGFibGUiLCJUYWJsZUJhc2UiLCJkaXNwbGF5TmFtZSIsIlRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFVBQVUsRUFBRUMsSUFBSSxRQUFxQyxPQUFPO0FBQ3JFLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLE9BQU8sU0FBUztBQUNoQixTQUFTQyxlQUFlLFFBQVEsWUFBWTtBQUM1QyxTQUFTQyxhQUFhLFFBQVEsc0JBQXNCO0FBSXBELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUNkQyxLQUFvQixFQUNwQkMsR0FBa0IsRUFDaEI7RUFDRixJQUFNQyxLQUFLLEdBQUdKLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDO0VBQ2xDLElBQ0VHLFNBQVMsR0FXUEQsS0FBSyxDQVhQQyxTQUFTO0lBQ1RDLGdCQUFnQixHQVVkRixLQUFLLENBVlBFLGdCQUFnQjtJQUNoQkMsY0FBYyxHQVNaSCxLQUFLLENBVFBHLGNBQWM7SUFDZEMsT0FBTyxHQVFMSixLQUFLLENBUlBJLE9BQU87SUFDUEMsZUFBZSxHQU9iTCxLQUFLLENBUFBLLGVBQWU7SUFDZkMsaUJBQWlCLEdBTWZOLEtBQUssQ0FOUE0saUJBQWlCO0lBQ2pCQyxnQkFBZ0IsR0FLZFAsS0FBSyxDQUxQTyxnQkFBZ0I7SUFDaEJDLFNBQVMsR0FJUFIsS0FBSyxDQUpQUSxTQUFTO0lBQ1RDLGdCQUFnQixHQUdkVCxLQUFLLENBSFBTLGdCQUFnQjtJQUNoQkMsb0JBQW9CLEdBRWxCVixLQUFLLENBRlBVLG9CQUFvQjtJQUNwQkMsY0FBYyxHQUNaWCxLQUFLLENBRFBXLGNBQWM7RUFHaEIsT0FDRXBCLEtBQUEsQ0FBQSxLQUFBLEVBQUFxQixNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBU0osZ0JBQWdCLEVBQUE7SUFBRUssU0FBUyxFQUFFWixnQkFBZ0I7SUFBQWEsUUFBQSxFQUFBLENBQ25EWCxPQUFPLElBQ05mLElBQUEsQ0FBQSxLQUFBLEVBQUE7TUFBS3lCLFNBQVMsS0FBQUUsTUFBQSxDQUFLZixTQUFTLHFCQUFrQjtNQUFBYyxRQUFBLEVBQzVDMUIsSUFBQSxDQUFDSyxPQUFPLEVBQUEsQ0FBQSxDQUFBO0lBQUcsQ0FBQSxDQUVkLEVBQ0RMLElBQUEsQ0FBQ00sZUFBZSxFQUFBaUIsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ1ZILG9CQUFvQixFQUFBO01BQ3hCWCxHQUFHLEVBQUVBLEdBQXFCO01BQzFCa0IsTUFBTSxFQUFFbkIsS0FBSyxDQUFDbUIsTUFBTTtNQUNwQmhCLFNBQVMsRUFBRUEsU0FBUztNQUNwQmEsU0FBUyxFQUFFWCxjQUFjO01BQ3pCZSxPQUFPLEVBQUViLGVBQWU7TUFDeEJjLElBQUksRUFBRWIsaUJBQWlCO01BQ3ZCRSxTQUFTLEVBQUVBLFNBQVM7TUFDcEJZLFVBQVUsRUFBRWI7SUFBZ0IsQ0FBQSxDQUFBLENBQzVCLEVBQ0RJLGNBQWM7RUFBQSxDQUFBLENBQUEsQ0FDWDtBQUVWLENBQUM7QUFNRCxJQUFNVSxTQUFTLGdCQUFHN0IsVUFBVSxDQUFDSyxVQUFVLENBQXdCO0FBRS9Ed0IsU0FBUyxDQUFDQyxXQUFXLEdBQUcsT0FBTztBQUUvQixPQUFPLElBQU1DLEtBQUssZ0JBQUc5QixJQUFJLENBQUM0QixTQUFTLENBQXdCO0FBRTNELGVBQWVFLEtBQUsiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9UYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uL1NwaW5uZXInO1xuaW1wb3J0ICcuL3N0eWxlJztcbmltcG9ydCB7IEludGVybmFsUmNUYWJsZSB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgdXNlVGFibGVTZXR1cCB9IGZyb20gJy4vY29yZS91c2VUYWJsZVNldHVwJztcbmNvbnN0IFRhYmxlSW5uZXIgPSAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHNldHVwID0gdXNlVGFibGVTZXR1cChwcm9wcyk7XG4gICAgY29uc3QgeyBwcmVmaXhDbHMsIHdyYXBwZXJDbGFzc05hbWUsIHRhYmxlQ2xhc3NOYW1lLCBsb2FkaW5nLCByZW5kZXJlZENvbHVtbnMsIGN1cnJlbnREYXRhU291cmNlLCBtZXJnZWRFeHBhbmRhYmxlLCBlbXB0eVRleHQsIHdyYXBwZXJIdG1sUHJvcHMsIGZvcndhcmRlZEtlcm5lbFByb3BzLCBwYWdpbmF0aW9uTm9kZSwgfSA9IHNldHVwO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgd3JhcHBlckh0bWxQcm9wcywgeyBjbGFzc05hbWU6IHdyYXBwZXJDbGFzc05hbWUsIGNoaWxkcmVuOiBbbG9hZGluZyAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1sb2FkaW5nLW92ZXJsYXlgLCBjaGlsZHJlbjogX2pzeChTcGlubmVyLCB7fSkgfSkpLCBfanN4KEludGVybmFsUmNUYWJsZSwgT2JqZWN0LmFzc2lnbih7fSwgZm9yd2FyZGVkS2VybmVsUHJvcHMsIHsgcmVmOiByZWYsIHNjcm9sbDogcHJvcHMuc2Nyb2xsLCBwcmVmaXhDbHM6IHByZWZpeENscywgY2xhc3NOYW1lOiB0YWJsZUNsYXNzTmFtZSwgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zLCBkYXRhOiBjdXJyZW50RGF0YVNvdXJjZSwgZW1wdHlUZXh0OiBlbXB0eVRleHQsIGV4cGFuZGFibGU6IG1lcmdlZEV4cGFuZGFibGUgfSkpLCBwYWdpbmF0aW9uTm9kZV0gfSkpKTtcbn07XG5jb25zdCBUYWJsZUJhc2UgPSBmb3J3YXJkUmVmKFRhYmxlSW5uZXIpO1xuVGFibGVCYXNlLmRpc3BsYXlOYW1lID0gJ1RhYmxlJztcbmV4cG9ydCBjb25zdCBUYWJsZSA9IG1lbW8oVGFibGVCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFRhYmxlOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,6 +1,6 @@
1
1
  import { type ReactElement, type Ref } from 'react';
2
- import type { TableRef, VirtualTableProps } from './interface';
3
- type ForwardGenericVirtualTable = (<T extends Record<string, any> = Record<string, any>>(props: VirtualTableProps<T> & {
2
+ import type { TableRecord, TableRef, VirtualTableProps } from './interface';
3
+ type ForwardGenericVirtualTable = (<T extends TableRecord = TableRecord>(props: VirtualTableProps<T> & {
4
4
  ref?: Ref<TableRef>;
5
5
  }) => ReactElement | null) & {
6
6
  displayName?: string;
@@ -7,160 +7,47 @@ var __rest = this && this.__rest || function (s, e) {
7
7
  return t;
8
8
  };
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- import { forwardRef, memo, useMemo } from 'react';
11
- import classnames, { joinCls } from '../../utils/classnames';
12
- import { useMemoizedFn } from '@1money/hooks';
13
- import { Pagination } from '../Pagination';
10
+ import { forwardRef, memo } from 'react';
14
11
  import { Spinner } from '../Spinner';
15
- import { InternalRcVirtualTable } from './internal';
16
- import { TABLE_BLOCK, TABLE_DEFAULT_PREFIX, TABLE_DEFAULT_SIZE, TABLE_DEFAULT_VARIANT } from './constants';
17
- import { useTableDataPipeline } from './core/useTableDataPipeline';
18
- import { useTableSelection } from './core/useTableSelection';
19
- import { useTableExpand } from './core/useTableExpand';
20
- import { useTableColumns } from './core/useTableColumns';
21
- import { ExpandedRowContainer } from './renderers/ExpandedRowContainer';
22
- import { TableEmptyState } from './renderers/EmptyState';
12
+ import { InternalRcVirtualTable as InternalRcVirtualTableRaw } from './internal';
13
+ import { useTableSetup } from './core/useTableSetup';
14
+ var InternalRcVirtualTable = InternalRcVirtualTableRaw;
23
15
  var VirtualTableInner = function VirtualTableInner(props, ref) {
24
- var _props$className = props.className,
25
- className = _props$className === void 0 ? '' : _props$className,
26
- _props$prefixCls = props.prefixCls,
27
- prefixCls = _props$prefixCls === void 0 ? TABLE_DEFAULT_PREFIX : _props$prefixCls,
28
- _props$size = props.size,
29
- size = _props$size === void 0 ? TABLE_DEFAULT_SIZE : _props$size,
30
- _props$variant = props.variant,
31
- variant = _props$variant === void 0 ? TABLE_DEFAULT_VARIANT : _props$variant,
32
- scroll = props.scroll,
33
- columns = props.columns,
34
- dataSource = props.dataSource,
35
- rowKey = props.rowKey,
36
- empty = props.empty,
37
- bordered = props.bordered,
38
- pagination = props.pagination,
39
- rowSelection = props.rowSelection,
40
- loading = props.loading,
41
- onChange = props.onChange,
42
- childrenColumnName = props.childrenColumnName,
43
- indentSize = props.indentSize,
44
- expandable = props.expandable,
45
- onRow = props.onRow,
46
- rowClassName = props.rowClassName,
47
- summary = props.summary,
48
- showHeader = props.showHeader,
49
- tableLayout = props.tableLayout,
50
- components = props.components,
51
- direction = props.direction,
52
- rowHoverable = props.rowHoverable,
53
- rest = __rest(props, ["className", "prefixCls", "size", "variant", "scroll", "columns", "dataSource", "rowKey", "empty", "bordered", "pagination", "rowSelection", "loading", "onChange", "childrenColumnName", "indentSize", "expandable", "onRow", "rowClassName", "summary", "showHeader", "tableLayout", "components", "direction", "rowHoverable"]);
54
- var cls = classnames(TABLE_BLOCK);
55
- var getRowKey = useMemoizedFn(function (record, index) {
56
- var _a;
57
- return typeof rowKey === 'function' ? rowKey(record) : (_a = record[rowKey !== null && rowKey !== void 0 ? rowKey : 'key']) !== null && _a !== void 0 ? _a : index;
58
- });
59
- var pipeline = useTableDataPipeline({
60
- columns: columns,
61
- dataSource: dataSource,
62
- pagination: pagination,
63
- onChange: onChange
64
- });
65
- var selection = useTableSelection({
66
- rowSelection: rowSelection,
67
- dataSource: dataSource,
68
- currentDataSource: pipeline.currentDataSource,
69
- getRowKey: getRowKey
70
- });
71
- var expand = useTableExpand({
72
- expandable: expandable
73
- });
74
- var renderedColumns = useTableColumns({
75
- columns: columns,
76
- size: size,
77
- variant: variant,
78
- expandable: expandable,
79
- mergedExpandedRowKeys: expand.mergedExpandedRowKeys,
80
- triggerExpand: expand.triggerExpand,
81
- rowSelection: rowSelection,
82
- mergedSelectedRowKeys: selection.mergedSelectedRowKeys,
83
- checkboxPropsMap: selection.checkboxPropsMap,
84
- isAllSelected: selection.isAllSelected,
85
- isIndeterminate: selection.isIndeterminate,
86
- triggerSelection: selection.triggerSelection,
87
- triggerSelectAll: selection.triggerSelectAll,
88
- sorter: pipeline.sorter,
89
- setSorter: pipeline.setSorter,
90
- getRowKey: getRowKey
91
- });
92
- var resolvedPagination = pipeline.pagination === false ? {
93
- current: 1,
94
- pageSize: 10
95
- } : pipeline.pagination;
96
- var kernelOnExpand = useMemoizedFn(function (expanded, record) {
97
- var recordKey = getRowKey(record, dataSource.indexOf(record));
98
- expand.onKernelExpand(expanded, record, recordKey);
99
- });
100
- var mergedExpandable = useMemo(function () {
101
- return expandable ? Object.assign(Object.assign({}, expandable), {
102
- expandedRowKeys: expand.mergedExpandedRowKeys,
103
- expandedRowRender: expandable.expandedRowRender ? function (record, index, indent, expanded) {
104
- var _a;
105
- return _jsx(ExpandedRowContainer, {
106
- children: (_a = expandable.expandedRowRender) === null || _a === void 0 ? void 0 : _a.call(expandable, record, index, indent, expanded)
107
- });
108
- } : undefined,
109
- showExpandColumn: false,
110
- onExpand: kernelOnExpand
111
- }) : undefined;
112
- }, [expandable, expand.mergedExpandedRowKeys, kernelOnExpand]);
113
- void bordered;
114
- if (typeof scroll.x !== 'number' || typeof scroll.y !== 'number') {
115
- console.error('VirtualTable requires numeric scroll.x and scroll.y');
116
- }
117
- return _jsxs("div", {
118
- className: joinCls("".concat(prefixCls, "-wrapper"), loading && "".concat(prefixCls, "-wrapper--loading")),
16
+ var scroll = props.scroll,
17
+ listItemHeight = props.listItemHeight,
18
+ rest = __rest(props, ["scroll", "listItemHeight"]);
19
+ var setup = useTableSetup(rest);
20
+ var prefixCls = setup.prefixCls,
21
+ wrapperClassName = setup.wrapperClassName,
22
+ tableClassName = setup.tableClassName,
23
+ loading = setup.loading,
24
+ renderedColumns = setup.renderedColumns,
25
+ currentDataSource = setup.currentDataSource,
26
+ mergedExpandable = setup.mergedExpandable,
27
+ emptyText = setup.emptyText,
28
+ wrapperHtmlProps = setup.wrapperHtmlProps,
29
+ forwardedKernelProps = setup.forwardedKernelProps,
30
+ paginationNode = setup.paginationNode;
31
+ return _jsxs("div", Object.assign({}, wrapperHtmlProps, {
32
+ className: wrapperClassName,
119
33
  children: [loading && _jsx("div", {
120
34
  className: "".concat(prefixCls, "-loading-overlay"),
121
35
  children: _jsx(Spinner, {})
122
- }), _jsx(InternalRcVirtualTable, Object.assign({}, rest, {
36
+ }), _jsx(InternalRcVirtualTable, Object.assign({}, forwardedKernelProps, {
123
37
  ref: ref,
124
38
  prefixCls: prefixCls,
125
- className: joinCls(cls(), cls(size), cls(variant), className),
39
+ className: tableClassName,
126
40
  scroll: scroll,
41
+ listItemHeight: listItemHeight,
127
42
  columns: renderedColumns,
128
- data: pipeline.currentDataSource,
129
- rowKey: rowKey,
130
- emptyText: loading && !dataSource.length ? _jsx("span", {}) : _jsx(TableEmptyState, {
131
- empty: empty
132
- }),
133
- childrenColumnName: childrenColumnName,
134
- indentSize: indentSize,
135
- expandable: mergedExpandable,
136
- onRow: onRow,
137
- rowClassName: rowClassName,
138
- summary: summary,
139
- showHeader: showHeader,
140
- tableLayout: tableLayout,
141
- components: components,
142
- direction: direction,
143
- rowHoverable: rowHoverable
144
- })), pagination !== false ? _jsx("div", {
145
- className: "".concat(prefixCls, "-pagination"),
146
- children: _jsx(Pagination, {
147
- total: pipeline.total,
148
- pageSize: resolvedPagination.pageSize,
149
- current: resolvedPagination.current,
150
- onChange: function onChange(nextPage, nextPageSize) {
151
- return pipeline.setPagination(function (currentPagination) {
152
- return Object.assign(Object.assign({}, currentPagination), {
153
- current: nextPage,
154
- pageSize: nextPageSize
155
- });
156
- });
157
- }
158
- })
159
- }) : null]
160
- });
43
+ data: currentDataSource,
44
+ emptyText: emptyText,
45
+ expandable: mergedExpandable
46
+ })), paginationNode]
47
+ }));
161
48
  };
162
49
  var VirtualTableBase = /*#__PURE__*/forwardRef(VirtualTableInner);
163
50
  VirtualTableBase.displayName = 'VirtualTable';
164
51
  export var VirtualTable = /*#__PURE__*/memo(VirtualTableBase);
165
52
  export default VirtualTable;
166
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVmlydHVhbFRhYmxlLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UYWJsZS9WaXJ0dWFsVGFibGUudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImZvcndhcmRSZWYiLCJtZW1vIiwidXNlTWVtbyIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwidXNlTWVtb2l6ZWRGbiIsIlBhZ2luYXRpb24iLCJTcGlubmVyIiwiSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZSIsIlRBQkxFX0JMT0NLIiwiVEFCTEVfREVGQVVMVF9QUkVGSVgiLCJUQUJMRV9ERUZBVUxUX1NJWkUiLCJUQUJMRV9ERUZBVUxUX1ZBUklBTlQiLCJ1c2VUYWJsZURhdGFQaXBlbGluZSIsInVzZVRhYmxlU2VsZWN0aW9uIiwidXNlVGFibGVFeHBhbmQiLCJ1c2VUYWJsZUNvbHVtbnMiLCJFeHBhbmRlZFJvd0NvbnRhaW5lciIsIlRhYmxlRW1wdHlTdGF0ZSIsIlZpcnR1YWxUYWJsZUlubmVyIiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsInNjcm9sbCIsImNvbHVtbnMiLCJkYXRhU291cmNlIiwicm93S2V5IiwiZW1wdHkiLCJib3JkZXJlZCIsInBhZ2luYXRpb24iLCJyb3dTZWxlY3Rpb24iLCJsb2FkaW5nIiwib25DaGFuZ2UiLCJjaGlsZHJlbkNvbHVtbk5hbWUiLCJpbmRlbnRTaXplIiwiZXhwYW5kYWJsZSIsIm9uUm93Iiwicm93Q2xhc3NOYW1lIiwic3VtbWFyeSIsInNob3dIZWFkZXIiLCJ0YWJsZUxheW91dCIsImNvbXBvbmVudHMiLCJkaXJlY3Rpb24iLCJyb3dIb3ZlcmFibGUiLCJyZXN0IiwiY2xzIiwiZ2V0Um93S2V5IiwicmVjb3JkIiwiaW5kZXgiLCJfYSIsInBpcGVsaW5lIiwic2VsZWN0aW9uIiwiY3VycmVudERhdGFTb3VyY2UiLCJleHBhbmQiLCJyZW5kZXJlZENvbHVtbnMiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwiY2hlY2tib3hQcm9wc01hcCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwidHJpZ2dlclNlbGVjdEFsbCIsInNvcnRlciIsInNldFNvcnRlciIsInJlc29sdmVkUGFnaW5hdGlvbiIsImN1cnJlbnQiLCJwYWdlU2l6ZSIsImtlcm5lbE9uRXhwYW5kIiwiZXhwYW5kZWQiLCJyZWNvcmRLZXkiLCJvbktlcm5lbEV4cGFuZCIsIm1lcmdlZEV4cGFuZGFibGUiLCJhc3NpZ24iLCJleHBhbmRlZFJvd0tleXMiLCJleHBhbmRlZFJvd1JlbmRlciIsImluZGVudCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwic2hvd0V4cGFuZENvbHVtbiIsIm9uRXhwYW5kIiwieCIsInkiLCJjb25zb2xlIiwiZXJyb3IiLCJjb25jYXQiLCJkYXRhIiwiZW1wdHlUZXh0IiwidG90YWwiLCJuZXh0UGFnZSIsIm5leHRQYWdlU2l6ZSIsInNldFBhZ2luYXRpb24iLCJjdXJyZW50UGFnaW5hdGlvbiIsIlZpcnR1YWxUYWJsZUJhc2UiLCJkaXNwbGF5TmFtZSIsIlZpcnR1YWxUYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJ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QUEsQ0FBS25FLFNBQVMsZ0JBQWE7TUFBQTJELFFBQUEsRUFDdkN2RixJQUFBLENBQUNTLFVBQVUsRUFBQTtRQUNUeUYsS0FBSyxFQUFFdEMsUUFBUSxDQUFDc0MsS0FBSztRQUNyQnJCLFFBQVEsRUFBRUYsa0JBQWtCLENBQUNFLFFBQVE7UUFDckNELE9BQU8sRUFBRUQsa0JBQWtCLENBQUNDLE9BQU87UUFDbkNsQyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3lELFFBQVEsRUFBRUMsWUFBWTtVQUFBLE9BQy9CeEMsUUFBUSxDQUFDeUMsYUFBYSxDQUFDLFVBQUNDLGlCQUFpQjtZQUFBLE9BQUtoSCxNQUFBLENBQUE2RixNQUFBLENBQUE3RixNQUFBLENBQUE2RixNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ3pDbUIsaUJBQWlCLENBQUEsRUFBQTtjQUNwQjFCLE9BQU8sRUFBRXVCLFFBQVE7Y0FDakJ0QixRQUFRLEVBQUV1QjtZQUFZLENBQUEsQ0FBQTtVQUFBLENBQ3RCLENBQUM7UUFBQTtNQUFBLENBQUE7SUFFTCxDQUFBLENBQ0UsR0FDSixJQUFJO0VBQUEsQ0FBQSxDQUNKO0FBRVYsQ0FBQztBQU1ELElBQU1HLGdCQUFnQixnQkFBR3BHLFVBQVUsQ0FBQ21CLGlCQUFpQixDQUErQjtBQUVwRmlGLGdCQUFnQixDQUFDQyxXQUFXLEdBQUcsY0FBYztBQUU3QyxPQUFPLElBQU1DLFlBQVksZ0JBQUdyRyxJQUFJLENBQUNtRyxnQkFBZ0IsQ0FBK0I7QUFFaEYsZUFBZUUsWUFBWSIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL1ZpcnR1YWxUYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgdXNlTWVtb2l6ZWRGbiB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4uL1BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uL1NwaW5uZXInO1xuaW1wb3J0IHsgSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZSB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgVEFCTEVfQkxPQ0ssIFRBQkxFX0RFRkFVTFRfUFJFRklYLCBUQUJMRV9ERUZBVUxUX1NJWkUsIFRBQkxFX0RFRkFVTFRfVkFSSUFOVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VUYWJsZURhdGFQaXBlbGluZSB9IGZyb20gJy4vY29yZS91c2VUYWJsZURhdGFQaXBlbGluZSc7XG5pbXBvcnQgeyB1c2VUYWJsZVNlbGVjdGlvbiB9IGZyb20gJy4vY29yZS91c2VUYWJsZVNlbGVjdGlvbic7XG5pbXBvcnQgeyB1c2VUYWJsZUV4cGFuZCB9IGZyb20gJy4vY29yZS91c2VUYWJsZUV4cGFuZCc7XG5pbXBvcnQgeyB1c2VUYWJsZUNvbHVtbnMgfSBmcm9tICcuL2NvcmUvdXNlVGFibGVDb2x1bW5zJztcbmltcG9ydCB7IEV4cGFuZGVkUm93Q29udGFpbmVyIH0gZnJvbSAnLi9yZW5kZXJlcnMvRXhwYW5kZWRSb3dDb250YWluZXInO1xuaW1wb3J0IHsgVGFibGVFbXB0eVN0YXRlIH0gZnJvbSAnLi9yZW5kZXJlcnMvRW1wdHlTdGF0ZSc7XG5jb25zdCBWaXJ0dWFsVGFibGVJbm5lciA9IChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVEFCTEVfREVGQVVMVF9QUkVGSVgsIHNpemUgPSBUQUJMRV9ERUZBVUxUX1NJWkUsIHZhcmlhbnQgPSBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIHNjcm9sbCwgY29sdW1ucywgZGF0YVNvdXJjZSwgcm93S2V5LCBlbXB0eSwgYm9yZGVyZWQsIHBhZ2luYXRpb24sIHJvd1NlbGVjdGlvbiwgbG9hZGluZywgb25DaGFuZ2UsIGNoaWxkcmVuQ29sdW1uTmFtZSwgaW5kZW50U2l6ZSwgZXhwYW5kYWJsZSwgb25Sb3csIHJvd0NsYXNzTmFtZSwgc3VtbWFyeSwgc2hvd0hlYWRlciwgdGFibGVMYXlvdXQsIGNvbXBvbmVudHMsIGRpcmVjdGlvbiwgcm93SG92ZXJhYmxlIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInZhcmlhbnRcIiwgXCJzY3JvbGxcIiwgXCJjb2x1bW5zXCIsIFwiZGF0YVNvdXJjZVwiLCBcInJvd0tleVwiLCBcImVtcHR5XCIsIFwiYm9yZGVyZWRcIiwgXCJwYWdpbmF0aW9uXCIsIFwicm93U2VsZWN0aW9uXCIsIFwibG9hZGluZ1wiLCBcIm9uQ2hhbmdlXCIsIFwiY2hpbGRyZW5Db2x1bW5OYW1lXCIsIFwiaW5kZW50U2l6ZVwiLCBcImV4cGFuZGFibGVcIiwgXCJvblJvd1wiLCBcInJvd0NsYXNzTmFtZVwiLCBcInN1bW1hcnlcIiwgXCJzaG93SGVhZGVyXCIsIFwidGFibGVMYXlvdXRcIiwgXCJjb21wb25lbnRzXCIsIFwiZGlyZWN0aW9uXCIsIFwicm93SG92ZXJhYmxlXCJdKTtcbiAgICBjb25zdCBjbHMgPSBjbGFzc25hbWVzKFRBQkxFX0JMT0NLKTtcbiAgICBjb25zdCBnZXRSb3dLZXkgPSB1c2VNZW1vaXplZEZuKChyZWNvcmQsIGluZGV4KSA9PiB7IHZhciBfYTsgcmV0dXJuIHR5cGVvZiByb3dLZXkgPT09ICdmdW5jdGlvbicgPyByb3dLZXkocmVjb3JkKSA6IChfYSA9IHJlY29yZFtyb3dLZXkgIT09IG51bGwgJiYgcm93S2V5ICE9PSB2b2lkIDAgPyByb3dLZXkgOiAna2V5J10pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGluZGV4OyB9KTtcbiAgICBjb25zdCBwaXBlbGluZSA9IHVzZVRhYmxlRGF0YVBpcGVsaW5lKHsgY29sdW1ucywgZGF0YVNvdXJjZSwgcGFnaW5hdGlvbiwgb25DaGFuZ2UgfSk7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdXNlVGFibGVTZWxlY3Rpb24oe1xuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIGRhdGFTb3VyY2UsXG4gICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBwaXBlbGluZS5jdXJyZW50RGF0YVNvdXJjZSxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIH0pO1xuICAgIGNvbnN0IGV4cGFuZCA9IHVzZVRhYmxlRXhwYW5kKHsgZXhwYW5kYWJsZSB9KTtcbiAgICBjb25zdCByZW5kZXJlZENvbHVtbnMgPSB1c2VUYWJsZUNvbHVtbnMoe1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBzaXplLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXM6IGV4cGFuZC5tZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQ6IGV4cGFuZC50cmlnZ2VyRXhwYW5kLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZFNlbGVjdGVkUm93S2V5czogc2VsZWN0aW9uLm1lcmdlZFNlbGVjdGVkUm93S2V5cyxcbiAgICAgICAgY2hlY2tib3hQcm9wc01hcDogc2VsZWN0aW9uLmNoZWNrYm94UHJvcHNNYXAsXG4gICAgICAgIGlzQWxsU2VsZWN0ZWQ6IHNlbGVjdGlvbi5pc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGU6IHNlbGVjdGlvbi5pc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb246IHNlbGVjdGlvbi50cmlnZ2VyU2VsZWN0aW9uLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0QWxsOiBzZWxlY3Rpb24udHJpZ2dlclNlbGVjdEFsbCxcbiAgICAgICAgc29ydGVyOiBwaXBlbGluZS5zb3J0ZXIsXG4gICAgICAgIHNldFNvcnRlcjogcGlwZWxpbmUuc2V0U29ydGVyLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgfSk7XG4gICAgY29uc3QgcmVzb2x2ZWRQYWdpbmF0aW9uID0gcGlwZWxpbmUucGFnaW5hdGlvbiA9PT0gZmFsc2VcbiAgICAgICAgPyB7IGN1cnJlbnQ6IDEsIHBhZ2VTaXplOiAxMCB9XG4gICAgICAgIDogcGlwZWxpbmUucGFnaW5hdGlvbjtcbiAgICBjb25zdCBrZXJuZWxPbkV4cGFuZCA9IHVzZU1lbW9pemVkRm4oKGV4cGFuZGVkLCByZWNvcmQpID0+IHtcbiAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgZGF0YVNvdXJjZS5pbmRleE9mKHJlY29yZCkpO1xuICAgICAgICBleHBhbmQub25LZXJuZWxFeHBhbmQoZXhwYW5kZWQsIHJlY29yZCwgcmVjb3JkS2V5KTtcbiAgICB9KTtcbiAgICBjb25zdCBtZXJnZWRFeHBhbmRhYmxlID0gdXNlTWVtbygoKSA9PiBleHBhbmRhYmxlXG4gICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHBhbmRhYmxlKSwgeyBleHBhbmRlZFJvd0tleXM6IGV4cGFuZC5tZXJnZWRFeHBhbmRlZFJvd0tleXMsIGV4cGFuZGVkUm93UmVuZGVyOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93UmVuZGVyXG4gICAgICAgICAgICAgICAgPyAocmVjb3JkLCBpbmRleCwgaW5kZW50LCBleHBhbmRlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRlZFJvd0NvbnRhaW5lciwgeyBjaGlsZHJlbjogKF9hID0gZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoZXhwYW5kYWJsZSwgcmVjb3JkLCBpbmRleCwgaW5kZW50LCBleHBhbmRlZCkgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCwgc2hvd0V4cGFuZENvbHVtbjogZmFsc2UsIG9uRXhwYW5kOiBrZXJuZWxPbkV4cGFuZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCwgW2V4cGFuZGFibGUsIGV4cGFuZC5tZXJnZWRFeHBhbmRlZFJvd0tleXMsIGtlcm5lbE9uRXhwYW5kXSk7XG4gICAgdm9pZCBib3JkZXJlZDtcbiAgICBpZiAodHlwZW9mIHNjcm9sbC54ICE9PSAnbnVtYmVyJyB8fCB0eXBlb2Ygc2Nyb2xsLnkgIT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1ZpcnR1YWxUYWJsZSByZXF1aXJlcyBudW1lcmljIHNjcm9sbC54IGFuZCBzY3JvbGwueScpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKGAke3ByZWZpeENsc30td3JhcHBlcmAsIGxvYWRpbmcgJiYgYCR7cHJlZml4Q2xzfS13cmFwcGVyLS1sb2FkaW5nYCksIGNoaWxkcmVuOiBbbG9hZGluZyAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1sb2FkaW5nLW92ZXJsYXlgLCBjaGlsZHJlbjogX2pzeChTcGlubmVyLCB7fSkgfSkpLCBfanN4KEludGVybmFsUmNWaXJ0dWFsVGFibGUsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiByZWYsIHByZWZpeENsczogcHJlZml4Q2xzLCBjbGFzc05hbWU6IGpvaW5DbHMoY2xzKCksIGNscyhzaXplKSwgY2xzKHZhcmlhbnQpLCBjbGFzc05hbWUpLCBzY3JvbGw6IHNjcm9sbCwgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zLCBkYXRhOiBwaXBlbGluZS5jdXJyZW50RGF0YVNvdXJjZSwgcm93S2V5OiByb3dLZXksIGVtcHR5VGV4dDogbG9hZGluZyAmJiAhZGF0YVNvdXJjZS5sZW5ndGggPyBfanN4KFwic3BhblwiLCB7fSkgOiBfanN4KFRhYmxlRW1wdHlTdGF0ZSwgeyBlbXB0eTogZW1wdHkgfSksIGNoaWxkcmVuQ29sdW1uTmFtZTogY2hpbGRyZW5Db2x1bW5OYW1lLCBpbmRlbnRTaXplOiBpbmRlbnRTaXplLCBleHBhbmRhYmxlOiBtZXJnZWRFeHBhbmRhYmxlLCBvblJvdzogb25Sb3csIHJvd0NsYXNzTmFtZTogcm93Q2xhc3NOYW1lLCBzdW1tYXJ5OiBzdW1tYXJ5LCBzaG93SGVhZGVyOiBzaG93SGVhZGVyLCB0YWJsZUxheW91dDogdGFibGVMYXlvdXQsIGNvbXBvbmVudHM6IGNvbXBvbmVudHMsIGRpcmVjdGlvbjogZGlyZWN0aW9uLCByb3dIb3ZlcmFibGU6IHJvd0hvdmVyYWJsZSB9KSksIHBhZ2luYXRpb24gIT09IGZhbHNlID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tcGFnaW5hdGlvbmAsIGNoaWxkcmVuOiBfanN4KFBhZ2luYXRpb24sIHsgdG90YWw6IHBpcGVsaW5lLnRvdGFsLCBwYWdlU2l6ZTogcmVzb2x2ZWRQYWdpbmF0aW9uLnBhZ2VTaXplLCBjdXJyZW50OiByZXNvbHZlZFBhZ2luYXRpb24uY3VycmVudCwgb25DaGFuZ2U6IChuZXh0UGFnZSwgbmV4dFBhZ2VTaXplKSA9PiBwaXBlbGluZS5zZXRQYWdpbmF0aW9uKChjdXJyZW50UGFnaW5hdGlvbikgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFBhZ2luYXRpb24pLCB7IGN1cnJlbnQ6IG5leHRQYWdlLCBwYWdlU2l6ZTogbmV4dFBhZ2VTaXplIH0pKSkgfSkgfSkpIDogbnVsbF0gfSkpO1xufTtcbmNvbnN0IFZpcnR1YWxUYWJsZUJhc2UgPSBmb3J3YXJkUmVmKFZpcnR1YWxUYWJsZUlubmVyKTtcblZpcnR1YWxUYWJsZUJhc2UuZGlzcGxheU5hbWUgPSAnVmlydHVhbFRhYmxlJztcbmV4cG9ydCBjb25zdCBWaXJ0dWFsVGFibGUgPSBtZW1vKFZpcnR1YWxUYWJsZUJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgVmlydHVhbFRhYmxlOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
53
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVmlydHVhbFRhYmxlLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UYWJsZS9WaXJ0dWFsVGFibGUudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImZvcndhcmRSZWYiLCJtZW1vIiwiU3Bpbm5lciIsIkludGVybmFsUmNWaXJ0dWFsVGFibGUiLCJJbnRlcm5hbFJjVmlydHVhbFRhYmxlUmF3IiwidXNlVGFibGVTZXR1cCIsIlZpcnR1YWxUYWJsZUlubmVyIiwicHJvcHMiLCJyZWYiLCJzY3JvbGwiLCJsaXN0SXRlbUhlaWdodCIsInJlc3QiLCJzZXR1cCIsInByZWZpeENscyIsIndyYXBwZXJDbGFzc05hbWUiLCJ0YWJsZUNsYXNzTmFtZSIsImxvYWRpbmciLCJyZW5kZXJlZENvbHVtbnMiLCJjdXJyZW50RGF0YVNvdXJjZSIsIm1lcmdlZEV4cGFuZGFibGUiLCJlbXB0eVRleHQiLCJ3cmFwcGVySHRtbFByb3BzIiwiZm9yd2FyZGVkS2VybmVsUHJvcHMiLCJwYWdpbmF0aW9uTm9kZSIsImFzc2lnbiIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiY29uY2F0IiwiY29sdW1ucyIsImRhdGEiLCJleHBhbmRhYmxlIiwiVmlydHVhbFRhYmxlQmFzZSIsImRpc3BsYXlOYW1lIiwiVmlydHVhbFRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtFQUNKLE9BQU9SLENBQUM7QUFDWixDQUFDO0FBQ0QsU0FBU1csR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ1g5RCxTQUFTQyxVQUFVLEVBQUVDLElBQUksUUFBcUMsT0FBTztBQUNyRSxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUNwQyxTQUFTQyxzQkFBc0IsSUFBSUMseUJBQXlCLFFBQVEsWUFBWTtBQUVoRixTQUFTQyxhQUFhLFFBQVEsc0JBQXNCO0FBWXBELElBQU1GLHNCQUFzQixHQUFHQyx5QkFBbUU7QUFFbEcsSUFBTUUsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FDckJDLEtBQTJCLEVBQzNCQyxHQUFrQixFQUNoQjtFQUNGLElBQVFDLE1BQU0sR0FBOEJGLEtBQUssQ0FBekNFLE1BQU07SUFBRUMsY0FBYyxHQUFjSCxLQUFLLENBQWpDRyxjQUFjO0lBQUtDLElBQUksR0FBQTdCLE1BQUEsQ0FBS3lCLEtBQUssRUFBM0MsQ0FBQSxRQUFBLEVBQUEsZ0JBQUEsQ0FBbUMsQ0FBUTtFQUNqRCxJQUFNSyxLQUFLLEdBQUdQLGFBQWEsQ0FBSU0sSUFBSSxDQUFDO0VBQ3BDLElBQ0VFLFNBQVMsR0FXUEQsS0FBSyxDQVhQQyxTQUFTO0lBQ1RDLGdCQUFnQixHQVVkRixLQUFLLENBVlBFLGdCQUFnQjtJQUNoQkMsY0FBYyxHQVNaSCxLQUFLLENBVFBHLGNBQWM7SUFDZEMsT0FBTyxHQVFMSixLQUFLLENBUlBJLE9BQU87SUFDUEMsZUFBZSxHQU9iTCxLQUFLLENBUFBLLGVBQWU7SUFDZkMsaUJBQWlCLEdBTWZOLEtBQUssQ0FOUE0saUJBQWlCO0lBQ2pCQyxnQkFBZ0IsR0FLZFAsS0FBSyxDQUxQTyxnQkFBZ0I7SUFDaEJDLFNBQVMsR0FJUFIsS0FBSyxDQUpQUSxTQUFTO0lBQ1RDLGdCQUFnQixHQUdkVCxLQUFLLENBSFBTLGdCQUFnQjtJQUNoQkMsb0JBQW9CLEdBRWxCVixLQUFLLENBRlBVLG9CQUFvQjtJQUNwQkMsY0FBYyxHQUNaWCxLQUFLLENBRFBXLGNBQWM7RUFHaEIsT0FDRXhCLEtBQUEsQ0FBQSxLQUFBLEVBQUFaLE1BQUEsQ0FBQXFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBU0gsZ0JBQWdCLEVBQUE7SUFBRUksU0FBUyxFQUFFWCxnQkFBZ0I7SUFBQVksUUFBQSxFQUFBLENBQ25EVixPQUFPLElBQ05uQixJQUFBLENBQUEsS0FBQSxFQUFBO01BQUs0QixTQUFTLEtBQUFFLE1BQUEsQ0FBS2QsU0FBUyxxQkFBa0I7TUFBQWEsUUFBQSxFQUM1QzdCLElBQUEsQ0FBQ0ssT0FBTyxFQUFBLENBQUEsQ0FBQTtJQUFHLENBQUEsQ0FFZCxFQUNETCxJQUFBLENBQUNNLHNCQUFzQixFQUFBaEIsTUFBQSxDQUFBcUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNqQkYsb0JBQW9CLEVBQUE7TUFDeEJkLEdBQUcsRUFBRUEsR0FBcUI7TUFDMUJLLFNBQVMsRUFBRUEsU0FBUztNQUNwQlksU0FBUyxFQUFFVixjQUFjO01BQ3pCTixNQUFNLEVBQUVBLE1BQU07TUFDZEMsY0FBYyxFQUFFQSxjQUFjO01BQzlCa0IsT0FBTyxFQUFFWCxlQUFlO01BQ3hCWSxJQUFJLEVBQUVYLGlCQUFpQjtNQUN2QkUsU0FBUyxFQUFFQSxTQUFTO01BQ3BCVSxVQUFVLEVBQUVYO0lBQWdCLENBQUEsQ0FBQSxDQUM1QixFQUNESSxjQUFjO0VBQUEsQ0FBQSxDQUFBLENBQ1g7QUFFVixDQUFDO0FBTUQsSUFBTVEsZ0JBQWdCLGdCQUFHL0IsVUFBVSxDQUFDTSxpQkFBaUIsQ0FBK0I7QUFFcEZ5QixnQkFBZ0IsQ0FBQ0MsV0FBVyxHQUFHLGNBQWM7QUFFN0MsT0FBTyxJQUFNQyxZQUFZLGdCQUFHaEMsSUFBSSxDQUFDOEIsZ0JBQWdCLENBQStCO0FBRWhGLGVBQWVFLFlBQVkiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9WaXJ0dWFsVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgZm9yd2FyZFJlZiwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IEludGVybmFsUmNWaXJ0dWFsVGFibGUgYXMgSW50ZXJuYWxSY1ZpcnR1YWxUYWJsZVJhdyB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgdXNlVGFibGVTZXR1cCB9IGZyb20gJy4vY29yZS91c2VUYWJsZVNldHVwJztcbmNvbnN0IEludGVybmFsUmNWaXJ0dWFsVGFibGUgPSBJbnRlcm5hbFJjVmlydHVhbFRhYmxlUmF3O1xuY29uc3QgVmlydHVhbFRhYmxlSW5uZXIgPSAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgc2Nyb2xsLCBsaXN0SXRlbUhlaWdodCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInNjcm9sbFwiLCBcImxpc3RJdGVtSGVpZ2h0XCJdKTtcbiAgICBjb25zdCBzZXR1cCA9IHVzZVRhYmxlU2V0dXAocmVzdCk7XG4gICAgY29uc3QgeyBwcmVmaXhDbHMsIHdyYXBwZXJDbGFzc05hbWUsIHRhYmxlQ2xhc3NOYW1lLCBsb2FkaW5nLCByZW5kZXJlZENvbHVtbnMsIGN1cnJlbnREYXRhU291cmNlLCBtZXJnZWRFeHBhbmRhYmxlLCBlbXB0eVRleHQsIHdyYXBwZXJIdG1sUHJvcHMsIGZvcndhcmRlZEtlcm5lbFByb3BzLCBwYWdpbmF0aW9uTm9kZSwgfSA9IHNldHVwO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgd3JhcHBlckh0bWxQcm9wcywgeyBjbGFzc05hbWU6IHdyYXBwZXJDbGFzc05hbWUsIGNoaWxkcmVuOiBbbG9hZGluZyAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7cHJlZml4Q2xzfS1sb2FkaW5nLW92ZXJsYXlgLCBjaGlsZHJlbjogX2pzeChTcGlubmVyLCB7fSkgfSkpLCBfanN4KEludGVybmFsUmNWaXJ0dWFsVGFibGUsIE9iamVjdC5hc3NpZ24oe30sIGZvcndhcmRlZEtlcm5lbFByb3BzLCB7IHJlZjogcmVmLCBwcmVmaXhDbHM6IHByZWZpeENscywgY2xhc3NOYW1lOiB0YWJsZUNsYXNzTmFtZSwgc2Nyb2xsOiBzY3JvbGwsIGxpc3RJdGVtSGVpZ2h0OiBsaXN0SXRlbUhlaWdodCwgY29sdW1uczogcmVuZGVyZWRDb2x1bW5zLCBkYXRhOiBjdXJyZW50RGF0YVNvdXJjZSwgZW1wdHlUZXh0OiBlbXB0eVRleHQsIGV4cGFuZGFibGU6IG1lcmdlZEV4cGFuZGFibGUgfSkpLCBwYWdpbmF0aW9uTm9kZV0gfSkpKTtcbn07XG5jb25zdCBWaXJ0dWFsVGFibGVCYXNlID0gZm9yd2FyZFJlZihWaXJ0dWFsVGFibGVJbm5lcik7XG5WaXJ0dWFsVGFibGVCYXNlLmRpc3BsYXlOYW1lID0gJ1ZpcnR1YWxUYWJsZSc7XG5leHBvcnQgY29uc3QgVmlydHVhbFRhYmxlID0gbWVtbyhWaXJ0dWFsVGFibGVCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFZpcnR1YWxUYWJsZTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,7 +1,8 @@
1
1
  import { type Key } from 'react';
2
- import type { TableColumnType, TableExpandableConfig, TableRowSelection, TableSize, TableSortOrder, TableVariant } from '../interface';
3
- import type { TableSorterState } from './useTableDataPipeline';
4
- interface UseTableColumnsConfig<T> {
2
+ import type { TableCheckboxProps, TableColumnType, TableExpandableConfig, TableRecord, TableRowSelection, TableSize, TableSortOrder, TableVariant } from '../interface';
3
+ import type { TableFilterState, TableSorterState } from './useTableDataPipeline';
4
+ import type { ColumnsType as InternalColumnsType } from '../internal/kernel/interface';
5
+ interface UseTableColumnsConfig<T extends TableRecord = TableRecord> {
5
6
  columns: TableColumnType<T>[];
6
7
  size: TableSize;
7
8
  variant: TableVariant;
@@ -10,9 +11,7 @@ interface UseTableColumnsConfig<T> {
10
11
  triggerExpand: (key: Key, record: T) => void;
11
12
  rowSelection?: TableRowSelection<T>;
12
13
  mergedSelectedRowKeys: Key[];
13
- checkboxPropsMap: Map<Key, Partial<{
14
- disabled: boolean;
15
- }>>;
14
+ checkboxPropsMap: Map<Key, TableCheckboxProps>;
16
15
  isAllSelected: boolean;
17
16
  isIndeterminate: boolean;
18
17
  triggerSelection: (key: Key) => void;
@@ -28,7 +27,22 @@ interface UseTableColumnsConfig<T> {
28
27
  columnKey?: Key;
29
28
  order?: TableSortOrder;
30
29
  })) => void;
30
+ filters: TableFilterState;
31
+ setFilters: (updater: TableFilterState | ((current: TableFilterState) => TableFilterState)) => void;
31
32
  getRowKey: (record: T, index: number) => Key;
32
33
  }
33
- export declare function useTableColumns<T>(config: UseTableColumnsConfig<T>): TableColumnType<T>[];
34
+ /**
35
+ * Returns columns ready to be passed to the rc-table kernel.
36
+ *
37
+ * The returned shape IS structurally the kernel's `ColumnsType<T>`:
38
+ * - Every leaf column's `render` is replaced by `makeRenderTransform`, which
39
+ * always returns a `ReactNode` (BodyCell handles `TableCellContentValue` /
40
+ * `TableRenderedCell` extras and emits ReactNode/RenderedCell).
41
+ * - Every leaf column's `title` is either a ReactNode or replaced by
42
+ * `<HeaderCell />`.
43
+ * Because TS can't track that those replacements have happened across the
44
+ * `transforms.reduce` chain, a single internal cast is required — call sites no
45
+ * longer need their own `as unknown as InternalColumnsType<T>` cast.
46
+ */
47
+ export declare function useTableColumns<T extends TableRecord = TableRecord>(config: UseTableColumnsConfig<T>): InternalColumnsType<T>;
34
48
  export {};