@1money/component-ui 0.0.47 → 0.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/Table/core/useTableColumns.d.ts +1 -1
- package/es/components/Table/core/useTableColumns.js +13 -3
- package/es/components/Table/core/useTableExpand.d.ts +3 -1
- package/es/components/Table/core/useTableExpand.js +30 -5
- package/es/components/Table/core/useTableSetup.js +23 -3
- package/es/components/Table/features/ExpandTrigger.js +9 -2
- package/es/components/Table/interface.d.ts +4 -3
- package/es/components/Table/internal/kernel/FixedHolder/index.js +1 -2
- package/es/components/Table/internal/kernel/Table.d.ts +1 -1
- package/es/components/Table/internal/kernel/Table.js +2 -8
- package/es/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
- package/es/components/Table/internal/kernel/VirtualTable/index.js +1 -2
- package/es/components/Table/internal/kernel/constant.d.ts +1 -1
- package/es/components/Table/internal/kernel/constant.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useExpand.js +1 -2
- package/es/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
- package/es/components/VirtualList/ScrollBar.js +1 -2
- package/es/index.css +1 -1
- package/lib/components/Table/core/useTableColumns.d.ts +1 -1
- package/lib/components/Table/core/useTableColumns.js +13 -3
- package/lib/components/Table/core/useTableExpand.d.ts +3 -1
- package/lib/components/Table/core/useTableExpand.js +30 -5
- package/lib/components/Table/core/useTableSetup.js +23 -3
- package/lib/components/Table/features/ExpandTrigger.js +9 -2
- package/lib/components/Table/interface.d.ts +4 -3
- package/lib/components/Table/internal/kernel/FixedHolder/index.js +1 -2
- package/lib/components/Table/internal/kernel/Table.d.ts +1 -1
- package/lib/components/Table/internal/kernel/Table.js +2 -8
- package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +1 -2
- package/lib/components/Table/internal/kernel/constant.d.ts +1 -1
- package/lib/components/Table/internal/kernel/constant.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useExpand.js +1 -2
- package/lib/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
- package/lib/components/VirtualList/ScrollBar.js +1 -2
- package/lib/index.css +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +12 -0
- package/scripts/mcp-server/index.generated.json +8 -0
|
@@ -32,7 +32,7 @@ interface UseTableColumnsConfig<T extends TableRecord = TableRecord> {
|
|
|
32
32
|
getRowKey: (record: T, index: number) => Key;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
* Returns columns ready to be passed to the
|
|
35
|
+
* Returns columns ready to be passed to the table kernel.
|
|
36
36
|
*
|
|
37
37
|
* The returned shape IS structurally the kernel's `ColumnsType<T>`:
|
|
38
38
|
* - Every leaf column's `render` is replaced by `makeRenderTransform`, which
|
|
@@ -23,11 +23,21 @@ function makeExpandTransform(config) {
|
|
|
23
23
|
triggerExpand = config.triggerExpand,
|
|
24
24
|
getRowKey = config.getRowKey;
|
|
25
25
|
var customExpandIcon = expandable === null || expandable === void 0 ? void 0 : expandable.expandIcon;
|
|
26
|
+
var rowExpandable = expandable === null || expandable === void 0 ? void 0 : expandable.rowExpandable;
|
|
26
27
|
return function (columns) {
|
|
28
|
+
var _a;
|
|
27
29
|
return [{
|
|
28
30
|
key: '__expand__',
|
|
29
|
-
|
|
31
|
+
// Honor `expandable.columnWidth` / `columnTitle` / `fixed`;
|
|
32
|
+
// default to a 48px unlabeled column.
|
|
33
|
+
width: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.columnWidth) !== null && _a !== void 0 ? _a : 48,
|
|
34
|
+
title: expandable === null || expandable === void 0 ? void 0 : expandable.columnTitle,
|
|
35
|
+
fixed: (expandable === null || expandable === void 0 ? void 0 : expandable.fixed) === true ? 'left' : (expandable === null || expandable === void 0 ? void 0 : expandable.fixed) === false ? undefined : expandable === null || expandable === void 0 ? void 0 : expandable.fixed,
|
|
30
36
|
render: function render(_, record, index) {
|
|
37
|
+
// Honor `rowExpandable`: when the predicate denies a record, render no
|
|
38
|
+
// chevron at all (the row is non-expandable).
|
|
39
|
+
var canExpand = rowExpandable ? rowExpandable(record) : true;
|
|
40
|
+
if (!canExpand) return null;
|
|
31
41
|
var recordKey = getRowKey(record, index);
|
|
32
42
|
var expanded = mergedExpandedRowKeys.includes(recordKey);
|
|
33
43
|
if (customExpandIcon) {
|
|
@@ -196,7 +206,7 @@ function makeRenderTransform() {
|
|
|
196
206
|
};
|
|
197
207
|
}
|
|
198
208
|
/**
|
|
199
|
-
* Returns columns ready to be passed to the
|
|
209
|
+
* Returns columns ready to be passed to the table kernel.
|
|
200
210
|
*
|
|
201
211
|
* The returned shape IS structurally the kernel's `ColumnsType<T>`:
|
|
202
212
|
* - Every leaf column's `render` is replaced by `makeRenderTransform`, which
|
|
@@ -247,4 +257,4 @@ function useTableColumns(config) {
|
|
|
247
257
|
return transformed;
|
|
248
258
|
}, [columns, variant, expandable, rowSelection, mergedExpandedRowKeys, mergedSelectedRowKeys, checkboxPropsMap, isAllSelected, isIndeterminate, triggerExpand, triggerSelection, triggerSelectAll, sorter, setSorter, filters, setFilters, size, getRowKey]);
|
|
249
259
|
}
|
|
250
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfU2VsZWN0aW9uQ29sdW1uIiwiX0V4cGFuZFRyaWdnZXIiLCJfSGVhZGVyQ2VsbCIsIl9Cb2R5Q2VsbCIsIl9jb25zdGFudHMiLCJpc0NvbHVtbkdyb3VwIiwiY29sIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW4iLCJtYWtlRXhwYW5kVHJhbnNmb3JtIiwiY29uZmlnIiwiZXhwYW5kYWJsZSIsIm1lcmdlZEV4cGFuZGVkUm93S2V5cyIsInRyaWdnZXJFeHBhbmQiLCJnZXRSb3dLZXkiLCJjdXN0b21FeHBhbmRJY29uIiwiZXhwYW5kSWNvbiIsImNvbHVtbnMiLCJrZXkiLCJ3aWR0aCIsInJlbmRlciIsIl8iLCJyZWNvcmQiLCJpbmRleCIsInJlY29yZEtleSIsImV4cGFuZGVkIiwiaW5jbHVkZXMiLCJwcmVmaXhDbHMiLCJUQUJMRV9ERUZBVUxUX1BSRUZJWCIsIm9uRXhwYW5kIiwicmVjIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIl9qc3giLCJFeHBhbmRUcmlnZ2VyIiwib25Ub2dnbGUiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibWFrZVNlbGVjdGlvblRyYW5zZm9ybSIsIl9hIiwicm93U2VsZWN0aW9uIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwiY2hlY2tib3hQcm9wc01hcCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwidHJpZ2dlclNlbGVjdEFsbCIsInNlbGVjdGlvblR5cGUiLCJ0eXBlIiwiT2JqZWN0IiwiYXNzaWduIiwiY29sdW1uV2lkdGgiLCJmaXhlZCIsInVuZGVmaW5lZCIsInJlbmRlckhlYWRlciIsIlNlbGVjdGlvbkhlYWRlckNvbnRyb2wiLCJjaGVja2VkIiwiaW5kZXRlcm1pbmF0ZSIsIm9uQ2hhbmdlIiwicm93UHJvcHMiLCJnZXQiLCJTZWxlY3Rpb25Db250cm9sIiwiYXJpYVNvcnRGb3IiLCJvcmRlciIsIkVNUFRZX0ZJTFRFUl9WQUxVRSIsIm1ha2VIZWFkZXJUcmFuc2Zvcm0iLCJzaXplIiwic29ydGVyIiwic2V0U29ydGVyIiwiZmlsdGVycyIsInNldEZpbHRlcnMiLCJtYXAiLCJjb2x1bW4iLCJfYiIsImlzU29ydGFibGUiLCJCb29sZWFuIiwiYWN0aXZlT3JkZXIiLCJjb2x1bW5LZXkiLCJTdHJpbmciLCJmaWx0ZXJTZWxlY3RlZCIsInVzZXJPbkhlYWRlckNlbGwiLCJvbkhlYWRlckNlbGwiLCJ1c2VyQXR0cnMiLCJvbkZpbHRlckNoYW5nZSIsIm5leHQiLCJjdXJyZW50IiwiX2RlZmluZVByb3BlcnR5MiIsImxlbmd0aCIsInRpdGxlIiwiSGVhZGVyQ2VsbCIsInNvcnRPcmRlciIsIm9uU29ydENsaWNrIiwiY3VycmVudFNvcnRlciIsIlNQQUNFUl9DT0xVTU5fQ0xTIiwibWFrZVNwYWNlclRyYW5zZm9ybSIsImNsYXNzTmFtZSIsIm1ha2VSZW5kZXJUcmFuc2Zvcm0iLCJ2YWx1ZSIsIkJvZHlDZWxsIiwidXNlVGFibGVDb2x1bW5zIiwidmFyaWFudCIsInVzZU1lbW8iLCJ0cmFuc2Zvcm1zIiwic2hvd0V4cGFuZENvbHVtbiIsInB1c2giLCJzZWxlY3Rpb25UcmFuc2Zvcm0iLCJ0cmFuc2Zvcm1lZCIsInJlZHVjZSIsImNvbHMiLCJmbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtB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QUMsQ0FBQztJQUM5QztJQUNBLElBQU0rRixrQkFBa0IsR0FBR2pFLFlBQVksR0FBR0Ysc0JBQXNCLENBQUM1QixNQUFNLENBQUMsR0FBRyxJQUFJO0lBQy9FLElBQUkrRixrQkFBa0IsRUFBRTtNQUN0QkgsVUFBVSxDQUFDRSxJQUFJLENBQUNDLGtCQUFrQixDQUFDO0lBQ3JDO0lBQ0FILFVBQVUsQ0FBQ0UsSUFBSSxDQUFDdkMsbUJBQW1CLENBQUN2RCxNQUFNLENBQUMsQ0FBQztJQUM1QzRGLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDUixtQkFBbUIsQ0FBQSxDQUFLLENBQUM7SUFDekMsSUFBSUksT0FBTyxLQUFLLFFBQVEsRUFBRTtNQUN4QkUsVUFBVSxDQUFDRSxJQUFJLENBQUNWLG1CQUFtQixDQUFBLENBQUssQ0FBQztJQUMzQztJQUVBLElBQU1ZLFdBQVcsR0FBR0osVUFBVSxDQUFDSyxNQUFNLENBQUMsVUFBQ0MsSUFBSSxFQUFFQyxFQUFFO01BQUEsT0FBS0EsRUFBRSxDQUFDRCxJQUFJLENBQUM7SUFBQSxHQUFFM0YsT0FBTyxDQUFDO0lBQ3RFLE9BQU95RixXQUFnRDtFQUN6RCxDQUFDLEVBQUUsQ0FDRHpGLE9BQU8sRUFDUG1GLE9BQU8sRUFDUHpGLFVBQVUsRUFDVjZCLFlBQVksRUFDWjVCLHFCQUFxQixFQUNyQjZCLHFCQUFxQixFQUNyQkMsZ0JBQWdCLEVBQ2hCQyxhQUFhLEVBQ2JDLGVBQWUsRUFDZi9CLGFBQWEsRUFDYmdDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLEVBQ2hCcUIsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsVUFBVSxFQUNWSixJQUFJLEVBQ0pwRCxTQUFTLENBQ1YsQ0FBQztBQUNKIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNlbGVjdGlvbkNvbnRyb2wsIFNlbGVjdGlvbkhlYWRlckNvbnRyb2wgfSBmcm9tICcuLi9mZWF0dXJlcy9TZWxlY3Rpb25Db2x1bW4nO1xuaW1wb3J0IHsgRXhwYW5kVHJpZ2dlciB9IGZyb20gJy4uL2ZlYXR1cmVzL0V4cGFuZFRyaWdnZXInO1xuaW1wb3J0IHsgSGVhZGVyQ2VsbCB9IGZyb20gJy4uL3JlbmRlcmVycy9IZWFkZXJDZWxsJztcbmltcG9ydCB7IEJvZHlDZWxsIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0JvZHlDZWxsJztcbmltcG9ydCB7IFRBQkxFX0RFRkFVTFRfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmZ1bmN0aW9uIGlzQ29sdW1uR3JvdXAoY29sKSB7XG4gICAgcmV0dXJuICdjaGlsZHJlbicgaW4gY29sICYmIEFycmF5LmlzQXJyYXkoY29sLmNoaWxkcmVuKTtcbn1cbmZ1bmN0aW9uIG1ha2VFeHBhbmRUcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgY29uc3QgeyBleHBhbmRhYmxlLCBtZXJnZWRFeHBhbmRlZFJvd0tleXMsIHRyaWdnZXJFeHBhbmQsIGdldFJvd0tleSB9ID0gY29uZmlnO1xuICAgIGNvbnN0IGN1c3RvbUV4cGFuZEljb24gPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZXhwYW5kSWNvbjtcbiAgICByZXR1cm4gKGNvbHVtbnMpID0+IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnX19leHBhbmRfXycsXG4gICAgICAgICAgICB3aWR0aDogNDgsXG4gICAgICAgICAgICByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4cGFuZGVkID0gbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLmluY2x1ZGVzKHJlY29yZEtleSk7XG4gICAgICAgICAgICAgICAgaWYgKGN1c3RvbUV4cGFuZEljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4Q2xzOiBUQUJMRV9ERUZBVUxUX1BSRUZJWCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXhwYW5kOiAocmVjLCBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyRXhwYW5kKGdldFJvd0tleShyZWMsIGluZGV4KSwgcmVjKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goRXhwYW5kVHJpZ2dlciwgeyBleHBhbmRlZDogZXhwYW5kZWQsIG9uVG9nZ2xlOiAoKSA9PiB0cmlnZ2VyRXhwYW5kKHJlY29yZEtleSwgcmVjb3JkKSB9KSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi5jb2x1bW5zLFxuICAgIF07XG59XG5mdW5jdGlvbiBtYWtlU2VsZWN0aW9uVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJvd1NlbGVjdGlvbiwgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIGdldFJvd0tleSwgfSA9IGNvbmZpZztcbiAgICBpZiAoIXJvd1NlbGVjdGlvbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc2VsZWN0aW9uVHlwZSA9IChfYSA9IHJvd1NlbGVjdGlvbi50eXBlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnY2hlY2tib3gnO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oeyBrZXk6ICdfX3NlbGVjdGlvbl9fJywgd2lkdGg6IChfYSA9IHJvd1NlbGVjdGlvbi5jb2x1bW5XaWR0aCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogNDgsIGZpeGVkOiByb3dTZWxlY3Rpb24uZml4ZWQgPyAnbGVmdCcgOiB1bmRlZmluZWQgfSwgKHNlbGVjdGlvblR5cGUgPT09ICdjaGVja2JveCdcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVySGVhZGVyOiAoKSA9PiAoX2pzeChTZWxlY3Rpb25IZWFkZXJDb250cm9sLCB7IGNoZWNrZWQ6IGlzQWxsU2VsZWN0ZWQsIGluZGV0ZXJtaW5hdGU6IGlzSW5kZXRlcm1pbmF0ZSwgb25DaGFuZ2U6IHRyaWdnZXJTZWxlY3RBbGwgfSkpLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHt9KSksIHsgcmVuZGVyOiAoXywgcmVjb3JkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRLZXkgPSBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvd1Byb3BzID0gY2hlY2tib3hQcm9wc01hcC5nZXQocmVjb3JkS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFNlbGVjdGlvbkNvbnRyb2wsIHsgdHlwZTogc2VsZWN0aW9uVHlwZSwgY2hlY2tlZDogbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLmluY2x1ZGVzKHJlY29yZEtleSksIHJvd1Byb3BzOiByb3dQcm9wcywgb25DaGFuZ2U6ICgpID0+IHRyaWdnZXJTZWxlY3Rpb24ocmVjb3JkS2V5KSB9KSk7XG4gICAgICAgICAgICAgICAgfSB9KSxcbiAgICAgICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIF07XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGFyaWFTb3J0Rm9yKG9yZGVyKSB7XG4gICAgaWYgKG9yZGVyID09PSAnYXNjZW5kJylcbiAgICAgICAgcmV0dXJuICdhc2NlbmRpbmcnO1xuICAgIGlmIChvcmRlciA9PT0gJ2Rlc2NlbmQnKVxuICAgICAgICByZXR1cm4gJ2Rlc2NlbmRpbmcnO1xuICAgIHJldHVybiAnbm9uZSc7XG59XG4vLyBTdGFibGUgZW1wdHktZmlsdGVyIHJlZmVyZW5jZS4gV2l0aG91dCB0aGlzLCBgZmlsdGVyc1trZXldID8/IFtdYCBjcmVhdGVzIGFcbi8vIGZyZXNoIGBbXWAgb24gZXZlcnkgcmVuZGVyLCB3aGljaCB0aHJhc2hlcyBgRmlsdGVyVHJpZ2dlcmAnc1xuLy8gYHVzZUVmZmVjdChbc2VsZWN0ZWRLZXlzXSlgIGFuZCBjYXVzZXMgYW4gaW5maW5pdGUgc2V0U3RhdGUgbG9vcCBhZnRlclxuLy8gY29uZmlybSAvIHJlc2V0LlxuY29uc3QgRU1QVFlfRklMVEVSX1ZBTFVFID0gW107XG5mdW5jdGlvbiBtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIGNvbnN0IHsgc2l6ZSwgc29ydGVyLCBzZXRTb3J0ZXIsIGZpbHRlcnMsIHNldEZpbHRlcnMgfSA9IGNvbmZpZztcbiAgICByZXR1cm4gKGNvbHVtbnMpID0+IGNvbHVtbnMubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKGlzQ29sdW1uR3JvdXAoY29sdW1uKSlcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICAgIGNvbnN0IGlzU29ydGFibGUgPSBCb29sZWFuKGNvbHVtbi5zb3J0ZXIpO1xuICAgICAgICBjb25zdCBhY3RpdmVPcmRlciA9IHNvcnRlci5jb2x1bW5LZXkgPT09IGNvbHVtbi5rZXkgPyAoX2EgPSBzb3J0ZXIub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwgOiBudWxsO1xuICAgICAgICBjb25zdCBjb2x1bW5LZXkgPSBjb2x1bW4ua2V5ICE9IG51bGwgPyBTdHJpbmcoY29sdW1uLmtleSkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGZpbHRlclNlbGVjdGVkID0gY29sdW1uS2V5ICE9IG51bGwgPyAoKF9iID0gZmlsdGVyc1tjb2x1bW5LZXldKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBFTVBUWV9GSUxURVJfVkFMVUUpIDogRU1QVFlfRklMVEVSX1ZBTFVFO1xuICAgICAgICAvLyBDb21wb3NlIG9uSGVhZGVyQ2VsbCBzbyB3ZSBkb24ndCBjbG9iYmVyIHVzZXItcHJvdmlkZWQgYXR0cmlidXRlcy5cbiAgICAgICAgY29uc3QgdXNlck9uSGVhZGVyQ2VsbCA9IGNvbHVtbi5vbkhlYWRlckNlbGw7XG4gICAgICAgIGNvbnN0IG9uSGVhZGVyQ2VsbCA9IChjb2wsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCB1c2VyQXR0cnMgPSAoX2EgPSB1c2VyT25IZWFkZXJDZWxsID09PSBudWxsIHx8IHVzZXJPbkhlYWRlckNlbGwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHVzZXJPbkhlYWRlckNlbGwoY29sLCBpbmRleCkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdXNlckF0dHJzKSwgKGlzU29ydGFibGUgPyB7ICdhcmlhLXNvcnQnOiBhcmlhU29ydEZvcihhY3RpdmVPcmRlcikgfSA6IG51bGwpKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb25GaWx0ZXJDaGFuZ2UgPSAobmV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbHVtbktleSA9PSBudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHNldEZpbHRlcnMoKGN1cnJlbnQpID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGN1cnJlbnQpLCB7IFtjb2x1bW5LZXldOiBuZXh0Lmxlbmd0aCA/IG5leHQgOiBudWxsIH0pKSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGNvbHVtbiksIHsgb25IZWFkZXJDZWxsLCB0aXRsZTogY29sdW1uLnJlbmRlckhlYWRlclxuICAgICAgICAgICAgICAgID8gY29sdW1uLnJlbmRlckhlYWRlcih7IGNvbHVtbiB9KVxuICAgICAgICAgICAgICAgIDogKF9qc3goSGVhZGVyQ2VsbCwgeyBjb2x1bW46IGNvbHVtbiwgc2l6ZTogc2l6ZSwgc29ydE9yZGVyOiBhY3RpdmVPcmRlciwgb25Tb3J0Q2xpY2s6ICgpID0+IHNldFNvcnRlcigoY3VycmVudFNvcnRlcikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbktleTogY29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiBjdXJyZW50U29ydGVyLmNvbHVtbktleSAhPT0gY29sdW1uLmtleSB8fCBjdXJyZW50U29ydGVyLm9yZGVyID09PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnYXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY3VycmVudFNvcnRlci5vcmRlciA9PT0gJ2FzY2VuZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZGVzY2VuZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB9KSksIGZpbHRlclNlbGVjdGVkOiBmaWx0ZXJTZWxlY3RlZCwgb25GaWx0ZXJDaGFuZ2U6IG9uRmlsdGVyQ2hhbmdlIH0pKSB9KTtcbiAgICB9KTtcbn1cbmNvbnN0IFNQQUNFUl9DT0xVTU5fQ0xTID0gJ29tLWNvbXBvbmVudC11aS10YWJsZS1jZWxsLS1zcGFjZXInO1xuZnVuY3Rpb24gbWFrZVNwYWNlclRyYW5zZm9ybSgpIHtcbiAgICByZXR1cm4gKGNvbHVtbnMpID0+IFtcbiAgICAgICAgeyBrZXk6ICdfX3NwYWNlcl9zdGFydF9fJywgd2lkdGg6IDE2LCB0aXRsZTogJycsIGNsYXNzTmFtZTogU1BBQ0VSX0NPTFVNTl9DTFMsIHJlbmRlcjogKCkgPT4gbnVsbCB9LFxuICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICB7IGtleTogJ19fc3BhY2VyX2VuZF9fJywgd2lkdGg6IDE2LCB0aXRsZTogJycsIGNsYXNzTmFtZTogU1BBQ0VSX0NPTFVNTl9DTFMsIHJlbmRlcjogKCkgPT4gbnVsbCB9LFxuICAgIF07XG59XG5mdW5jdGlvbiBtYWtlUmVuZGVyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICBpZiAoaXNDb2x1bW5Hcm91cChjb2x1bW4pKVxuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY29sdW1uKSwgeyByZW5kZXI6ICh2YWx1ZSwgcmVjb3JkLCBpbmRleCkgPT4gQm9keUNlbGwoe1xuICAgICAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICByZWNvcmQsXG4gICAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICB9KSB9KTtcbiAgICB9KTtcbn1cbi8qKlxuICogUmV0dXJucyBjb2x1bW5zIHJlYWR5IHRvIGJlIHBhc3NlZCB0byB0aGUgcmMtdGFibGUga2VybmVsLlxuICpcbiAqIFRoZSByZXR1cm5lZCBzaGFwZSBJUyBzdHJ1Y3R1cmFsbHkgdGhlIGtlcm5lbCdzIGBDb2x1bW5zVHlwZTxUPmA6XG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgcmVuZGVyYCBpcyByZXBsYWNlZCBieSBgbWFrZVJlbmRlclRyYW5zZm9ybWAsIHdoaWNoXG4gKiAgICAgYWx3YXlzIHJldHVybnMgYSBgUmVhY3ROb2RlYCAoQm9keUNlbGwgaGFuZGxlcyBgVGFibGVDZWxsQ29udGVudFZhbHVlYCAvXG4gKiAgICAgYFRhYmxlUmVuZGVyZWRDZWxsYCBleHRyYXMgYW5kIGVtaXRzIFJlYWN0Tm9kZS9SZW5kZXJlZENlbGwpLlxuICogICAtIEV2ZXJ5IGxlYWYgY29sdW1uJ3MgYHRpdGxlYCBpcyBlaXRoZXIgYSBSZWFjdE5vZGUgb3IgcmVwbGFjZWQgYnlcbiAqICAgICBgPEhlYWRlckNlbGwgLz5gLlxuICogQmVjYXVzZSBUUyBjYW4ndCB0cmFjayB0aGF0IHRob3NlIHJlcGxhY2VtZW50cyBoYXZlIGhhcHBlbmVkIGFjcm9zcyB0aGVcbiAqIGB0cmFuc2Zvcm1zLnJlZHVjZWAgY2hhaW4sIGEgc2luZ2xlIGludGVybmFsIGNhc3QgaXMgcmVxdWlyZWQg4oCUIGNhbGwgc2l0ZXMgbm9cbiAqIGxvbmdlciBuZWVkIHRoZWlyIG93biBgYXMgdW5rbm93biBhcyBJbnRlcm5hbENvbHVtbnNUeXBlPFQ+YCBjYXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVGFibGVDb2x1bW5zKGNvbmZpZykge1xuICAgIGNvbnN0IHsgY29sdW1ucywgdmFyaWFudCwgZXhwYW5kYWJsZSwgcm93U2VsZWN0aW9uLCBtZXJnZWRFeHBhbmRlZFJvd0tleXMsIG1lcmdlZFNlbGVjdGVkUm93S2V5cywgY2hlY2tib3hQcm9wc01hcCwgaXNBbGxTZWxlY3RlZCwgaXNJbmRldGVybWluYXRlLCB0cmlnZ2VyRXhwYW5kLCB0cmlnZ2VyU2VsZWN0aW9uLCB0cmlnZ2VyU2VsZWN0QWxsLCBzb3J0ZXIsIHNldFNvcnRlciwgZmlsdGVycywgc2V0RmlsdGVycywgc2l6ZSwgZ2V0Um93S2V5LCB9ID0gY29uZmlnO1xuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtcyA9IFtdO1xuICAgICAgICBpZiAoZXhwYW5kYWJsZSAmJiBleHBhbmRhYmxlLnNob3dFeHBhbmRDb2x1bW4gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZUV4cGFuZFRyYW5zZm9ybShjb25maWcpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWxlY3Rpb25UcmFuc2Zvcm0gPSByb3dTZWxlY3Rpb24gPyBtYWtlU2VsZWN0aW9uVHJhbnNmb3JtKGNvbmZpZykgOiBudWxsO1xuICAgICAgICBpZiAoc2VsZWN0aW9uVHJhbnNmb3JtKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2goc2VsZWN0aW9uVHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZUhlYWRlclRyYW5zZm9ybShjb25maWcpKTtcbiAgICAgICAgdHJhbnNmb3Jtcy5wdXNoKG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSk7XG4gICAgICAgIGlmICh2YXJpYW50ID09PSAnc3Ryb2tlJykge1xuICAgICAgICAgICAgdHJhbnNmb3Jtcy5wdXNoKG1ha2VTcGFjZXJUcmFuc2Zvcm0oKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1zLnJlZHVjZSgoY29scywgZm4pID0+IGZuKGNvbHMpLCBjb2x1bW5zKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICAgIH0sIFtcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgZXhwYW5kYWJsZSxcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIG1lcmdlZFNlbGVjdGVkUm93S2V5cyxcbiAgICAgICAgY2hlY2tib3hQcm9wc01hcCxcbiAgICAgICAgaXNBbGxTZWxlY3RlZCxcbiAgICAgICAgaXNJbmRldGVybWluYXRlLFxuICAgICAgICB0cmlnZ2VyRXhwYW5kLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0aW9uLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0QWxsLFxuICAgICAgICBzb3J0ZXIsXG4gICAgICAgIHNldFNvcnRlcixcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgc2V0RmlsdGVycyxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIF0pO1xufSIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
260
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfU2VsZWN0aW9uQ29sdW1uIiwiX0V4cGFuZFRyaWdnZXIiLCJfSGVhZGVyQ2VsbCIsIl9Cb2R5Q2VsbCIsIl9jb25zdGFudHMiLCJpc0NvbHVtbkdyb3VwIiwiY29sIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW4iLCJtYWtlRXhwYW5kVHJhbnNmb3JtIiwiY29uZmlnIiwiZXhwYW5kYWJsZSIsIm1lcmdlZEV4cGFuZGVkUm93S2V5cyIsInRyaWdnZXJFeHBhbmQiLCJnZXRSb3dLZXkiLCJjdXN0b21FeHBhbmRJY29uIiwiZXhwYW5kSWNvbiIsInJvd0V4cGFuZGFibGUiLCJjb2x1bW5zIiwiX2EiLCJrZXkiLCJ3aWR0aCIsImNvbHVtbldpZHRoIiwidGl0bGUiLCJjb2x1bW5UaXRsZSIsImZpeGVkIiwidW5kZWZpbmVkIiwicmVuZGVyIiwiXyIsInJlY29yZCIsImluZGV4IiwiY2FuRXhwYW5kIiwicmVjb3JkS2V5IiwiZXhwYW5kZWQiLCJpbmNsdWRlcyIsInByZWZpeENscyIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwib25FeHBhbmQiLCJyZWMiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiX2pzeCIsIkV4cGFuZFRyaWdnZXIiLCJvblRvZ2dsZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJtYWtlU2VsZWN0aW9uVHJhbnNmb3JtIiwicm93U2VsZWN0aW9uIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwiY2hlY2tib3hQcm9wc01hcCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwidHJpZ2dlclNlbGVjdEFsbCIsInNlbGVjdGlvblR5cGUiLCJ0eXBlIiwiT2JqZWN0IiwiYXNzaWduIiwicmVuZGVySGVhZGVyIiwiU2VsZWN0aW9uSGVhZGVyQ29udHJvbCIsImNoZWNrZWQiLCJpbmRldGVybWluYXRlIiwib25DaGFuZ2UiLCJyb3dQcm9wcyIsImdldCIsIlNlbGVjdGlvbkNvbnRyb2wiLCJhcmlhU29ydEZvciIsIm9yZGVyIiwiRU1QVFlfRklMVEVSX1ZBTFVFIiwibWFrZUhlYWRlclRyYW5zZm9ybSIsInNpemUiLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIm1hcCIsImNvbHVtbiIsIl9iIiwiaXNTb3J0YWJsZSIsIkJvb2xlYW4iLCJhY3RpdmVPcmRlciIsImNvbHVtbktleSIsIlN0cmluZyIsImZpbHRlclNlbGVjdGVkIiwidXNlck9uSGVhZGVyQ2VsbCIsIm9uSGVhZGVyQ2VsbCIsInVzZXJBdHRycyIsIm9uRmlsdGVyQ2hhbmdlIiwibmV4dCIsImN1cnJlbnQiLCJfZGVmaW5lUHJvcGVydHkyIiwibGVuZ3RoIiwiSGVhZGVyQ2VsbCIsInNvcnRPcmRlciIsIm9uU29ydENsaWNrIiwiY3VycmVudFNvcnRlciIsIlNQQUNFUl9DT0xVTU5fQ0xTIiwibWFrZVNwYWNlclRyYW5zZm9ybSIsImNsYXNzTmFtZSIsIm1ha2VSZW5kZXJUcmFuc2Zvcm0iLCJ2YWx1ZSIsIkJvZHlDZWxsIiwidXNlVGFibGVDb2x1bW5zIiwidmFyaWFudCIsInVzZU1lbW8iLCJ0cmFuc2Zvcm1zIiwic2hvd0V4cGFuZENvbHVtbiIsInB1c2giLCJzZWxlY3Rpb25UcmFuc2Zvcm0iLCJ0cmFuc2Zvcm1lZCIsInJlZHVjZSIsImNvbHMiLCJmbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdB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RCxZQUFZLEdBQUdELHNCQUFzQixDQUFDcEMsTUFBTSxDQUFDLEdBQUcsSUFBSTtJQUMvRSxJQUFJa0csa0JBQWtCLEVBQUU7TUFDdEJILFVBQVUsQ0FBQ0UsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQztJQUNyQztJQUNBSCxVQUFVLENBQUNFLElBQUksQ0FBQ3RDLG1CQUFtQixDQUFDM0QsTUFBTSxDQUFDLENBQUM7SUFDNUMrRixVQUFVLENBQUNFLElBQUksQ0FBQ1IsbUJBQW1CLENBQUEsQ0FBSyxDQUFDO0lBQ3pDLElBQUlJLE9BQU8sS0FBSyxRQUFRLEVBQUU7TUFDeEJFLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDVixtQkFBbUIsQ0FBQSxDQUFLLENBQUM7SUFDM0M7SUFFQSxJQUFNWSxXQUFXLEdBQUdKLFVBQVUsQ0FBQ0ssTUFBTSxDQUFDLFVBQUNDLElBQUksRUFBRUMsRUFBRTtNQUFBLE9BQUtBLEVBQUUsQ0FBQ0QsSUFBSSxDQUFDO0lBQUEsR0FBRTdGLE9BQU8sQ0FBQztJQUN0RSxPQUFPMkYsV0FBZ0Q7RUFDekQsQ0FBQyxFQUFFLENBQ0QzRixPQUFPLEVBQ1BxRixPQUFPLEVBQ1A1RixVQUFVLEVBQ1ZvQyxZQUFZLEVBQ1puQyxxQkFBcUIsRUFDckJvQyxxQkFBcUIsRUFDckJDLGdCQUFnQixFQUNoQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ2Z0QyxhQUFhLEVBQ2J1QyxnQkFBZ0IsRUFDaEJDLGdCQUFnQixFQUNoQmtCLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxPQUFPLEVBQ1BDLFVBQVUsRUFDVkosSUFBSSxFQUNKeEQsU0FBUyxDQUNWLENBQUM7QUFDSiIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Db250cm9sLCBTZWxlY3Rpb25IZWFkZXJDb250cm9sIH0gZnJvbSAnLi4vZmVhdHVyZXMvU2VsZWN0aW9uQ29sdW1uJztcbmltcG9ydCB7IEV4cGFuZFRyaWdnZXIgfSBmcm9tICcuLi9mZWF0dXJlcy9FeHBhbmRUcmlnZ2VyJztcbmltcG9ydCB7IEhlYWRlckNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvSGVhZGVyQ2VsbCc7XG5pbXBvcnQgeyBCb2R5Q2VsbCB9IGZyb20gJy4uL3JlbmRlcmVycy9Cb2R5Q2VsbCc7XG5pbXBvcnQgeyBUQUJMRV9ERUZBVUxUX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5mdW5jdGlvbiBpc0NvbHVtbkdyb3VwKGNvbCkge1xuICAgIHJldHVybiAnY2hpbGRyZW4nIGluIGNvbCAmJiBBcnJheS5pc0FycmF5KGNvbC5jaGlsZHJlbik7XG59XG5mdW5jdGlvbiBtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIGNvbnN0IHsgZXhwYW5kYWJsZSwgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB0cmlnZ2VyRXhwYW5kLCBnZXRSb3dLZXkgfSA9IGNvbmZpZztcbiAgICBjb25zdCBjdXN0b21FeHBhbmRJY29uID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZEljb247XG4gICAgY29uc3Qgcm93RXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiAnX19leHBhbmRfXycsXG4gICAgICAgICAgICAgICAgLy8gSG9ub3IgYGV4cGFuZGFibGUuY29sdW1uV2lkdGhgIC8gYGNvbHVtblRpdGxlYCAvIGBmaXhlZGA7XG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB0byBhIDQ4cHggdW5sYWJlbGVkIGNvbHVtbi5cbiAgICAgICAgICAgICAgICB3aWR0aDogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCxcbiAgICAgICAgICAgICAgICB0aXRsZTogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtblRpdGxlLFxuICAgICAgICAgICAgICAgIGZpeGVkOiAoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6IChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkLFxuICAgICAgICAgICAgICAgIHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiB3aGVuIHRoZSBwcmVkaWNhdGUgZGVuaWVzIGEgcmVjb3JkLCByZW5kZXIgbm9cbiAgICAgICAgICAgICAgICAgICAgLy8gY2hldnJvbiBhdCBhbGwgKHRoZSByb3cgaXMgbm9uLWV4cGFuZGFibGUpLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5FeHBhbmQgPSByb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5FeHBhbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleHBhbmRlZCA9IG1lcmdlZEV4cGFuZGVkUm93S2V5cy5pbmNsdWRlcyhyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VzdG9tRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeENsczogVEFCTEVfREVGQVVMVF9QUkVGSVgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IChyZWMsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV4cGFuZChnZXRSb3dLZXkocmVjLCBpbmRleCksIHJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRUcmlnZ2VyLCB7IGV4cGFuZGVkOiBleHBhbmRlZCwgb25Ub2dnbGU6ICgpID0+IHRyaWdnZXJFeHBhbmQocmVjb3JkS2V5LCByZWNvcmQpIH0pKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIF07XG4gICAgfTtcbn1cbmZ1bmN0aW9uIG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcm93U2VsZWN0aW9uLCBtZXJnZWRTZWxlY3RlZFJvd0tleXMsIGNoZWNrYm94UHJvcHNNYXAsIGlzQWxsU2VsZWN0ZWQsIGlzSW5kZXRlcm1pbmF0ZSwgdHJpZ2dlclNlbGVjdGlvbiwgdHJpZ2dlclNlbGVjdEFsbCwgZ2V0Um93S2V5LCB9ID0gY29uZmlnO1xuICAgIGlmICghcm93U2VsZWN0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gKF9hID0gcm93U2VsZWN0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdjaGVja2JveCc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IGtleTogJ19fc2VsZWN0aW9uX18nLCB3aWR0aDogKF9hID0gcm93U2VsZWN0aW9uLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCwgZml4ZWQ6IHJvd1NlbGVjdGlvbi5maXhlZCA/ICdsZWZ0JyA6IHVuZGVmaW5lZCB9LCAoc2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJIZWFkZXI6ICgpID0+IChfanN4KFNlbGVjdGlvbkhlYWRlckNvbnRyb2wsIHsgY2hlY2tlZDogaXNBbGxTZWxlY3RlZCwgaW5kZXRlcm1pbmF0ZTogaXNJbmRldGVybWluYXRlLCBvbkNoYW5nZTogdHJpZ2dlclNlbGVjdEFsbCB9KSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pKSwgeyByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93UHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goU2VsZWN0aW9uQ29udHJvbCwgeyB0eXBlOiBzZWxlY3Rpb25UeXBlLCBjaGVja2VkOiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KSwgcm93UHJvcHM6IHJvd1Byb3BzLCBvbkNoYW5nZTogKCkgPT4gdHJpZ2dlclNlbGVjdGlvbihyZWNvcmRLZXkpIH0pKTtcbiAgICAgICAgICAgICAgICB9IH0pLFxuICAgICAgICAgICAgLi4uY29sdW1ucyxcbiAgICAgICAgXTtcbiAgICB9O1xufVxuZnVuY3Rpb24gYXJpYVNvcnRGb3Iob3JkZXIpIHtcbiAgICBpZiAob3JkZXIgPT09ICdhc2NlbmQnKVxuICAgICAgICByZXR1cm4gJ2FzY2VuZGluZyc7XG4gICAgaWYgKG9yZGVyID09PSAnZGVzY2VuZCcpXG4gICAgICAgIHJldHVybiAnZGVzY2VuZGluZyc7XG4gICAgcmV0dXJuICdub25lJztcbn1cbi8vIFN0YWJsZSBlbXB0eS1maWx0ZXIgcmVmZXJlbmNlLiBXaXRob3V0IHRoaXMsIGBmaWx0ZXJzW2tleV0gPz8gW11gIGNyZWF0ZXMgYVxuLy8gZnJlc2ggYFtdYCBvbiBldmVyeSByZW5kZXIsIHdoaWNoIHRocmFzaGVzIGBGaWx0ZXJUcmlnZ2VyYCdzXG4vLyBgdXNlRWZmZWN0KFtzZWxlY3RlZEtleXNdKWAgYW5kIGNhdXNlcyBhbiBpbmZpbml0ZSBzZXRTdGF0ZSBsb29wIGFmdGVyXG4vLyBjb25maXJtIC8gcmVzZXQuXG5jb25zdCBFTVBUWV9GSUxURVJfVkFMVUUgPSBbXTtcbmZ1bmN0aW9uIG1ha2VIZWFkZXJUcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgY29uc3QgeyBzaXplLCBzb3J0ZXIsIHNldFNvcnRlciwgZmlsdGVycywgc2V0RmlsdGVycyB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoaXNDb2x1bW5Hcm91cChjb2x1bW4pKVxuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgICAgY29uc3QgaXNTb3J0YWJsZSA9IEJvb2xlYW4oY29sdW1uLnNvcnRlcik7XG4gICAgICAgIGNvbnN0IGFjdGl2ZU9yZGVyID0gc29ydGVyLmNvbHVtbktleSA9PT0gY29sdW1uLmtleSA/IChfYSA9IHNvcnRlci5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGNvbHVtbktleSA9IGNvbHVtbi5rZXkgIT0gbnVsbCA/IFN0cmluZyhjb2x1bW4ua2V5KSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmlsdGVyU2VsZWN0ZWQgPSBjb2x1bW5LZXkgIT0gbnVsbCA/ICgoX2IgPSBmaWx0ZXJzW2NvbHVtbktleV0pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IEVNUFRZX0ZJTFRFUl9WQUxVRSkgOiBFTVBUWV9GSUxURVJfVkFMVUU7XG4gICAgICAgIC8vIENvbXBvc2Ugb25IZWFkZXJDZWxsIHNvIHdlIGRvbid0IGNsb2JiZXIgdXNlci1wcm92aWRlZCBhdHRyaWJ1dGVzLlxuICAgICAgICBjb25zdCB1c2VyT25IZWFkZXJDZWxsID0gY29sdW1uLm9uSGVhZGVyQ2VsbDtcbiAgICAgICAgY29uc3Qgb25IZWFkZXJDZWxsID0gKGNvbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJBdHRycyA9IChfYSA9IHVzZXJPbkhlYWRlckNlbGwgPT09IG51bGwgfHwgdXNlck9uSGVhZGVyQ2VsbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uSGVhZGVyQ2VsbChjb2wsIGluZGV4KSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB1c2VyQXR0cnMpLCAoaXNTb3J0YWJsZSA/IHsgJ2FyaWEtc29ydCc6IGFyaWFTb3J0Rm9yKGFjdGl2ZU9yZGVyKSB9IDogbnVsbCkpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBvbkZpbHRlckNoYW5nZSA9IChuZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uS2V5ID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgc2V0RmlsdGVycygoY3VycmVudCkgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudCksIHsgW2NvbHVtbktleV06IG5leHQubGVuZ3RoID8gbmV4dCA6IG51bGwgfSkpKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY29sdW1uKSwgeyBvbkhlYWRlckNlbGwsIHRpdGxlOiBjb2x1bW4ucmVuZGVySGVhZGVyXG4gICAgICAgICAgICAgICAgPyBjb2x1bW4ucmVuZGVySGVhZGVyKHsgY29sdW1uIH0pXG4gICAgICAgICAgICAgICAgOiAoX2pzeChIZWFkZXJDZWxsLCB7IGNvbHVtbjogY29sdW1uLCBzaXplOiBzaXplLCBzb3J0T3JkZXI6IGFjdGl2ZU9yZGVyLCBvblNvcnRDbGljazogKCkgPT4gc2V0U29ydGVyKChjdXJyZW50U29ydGVyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uS2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGN1cnJlbnRTb3J0ZXIuY29sdW1uS2V5ICE9PSBjb2x1bW4ua2V5IHx8IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjdXJyZW50U29ydGVyLm9yZGVyID09PSAnYXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdkZXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH0pKSwgZmlsdGVyU2VsZWN0ZWQ6IGZpbHRlclNlbGVjdGVkLCBvbkZpbHRlckNoYW5nZTogb25GaWx0ZXJDaGFuZ2UgfSkpIH0pO1xuICAgIH0pO1xufVxuY29uc3QgU1BBQ0VSX0NPTFVNTl9DTFMgPSAnb20tY29tcG9uZW50LXVpLXRhYmxlLWNlbGwtLXNwYWNlcic7XG5mdW5jdGlvbiBtYWtlU3BhY2VyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7IGtleTogJ19fc3BhY2VyX3N0YXJ0X18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfZW5kX18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IHJlbmRlcjogKHZhbHVlLCByZWNvcmQsIGluZGV4KSA9PiBCb2R5Q2VsbCh7XG4gICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGNvbHVtbnMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIHRoZSB0YWJsZSBrZXJuZWwuXG4gKlxuICogVGhlIHJldHVybmVkIHNoYXBlIElTIHN0cnVjdHVyYWxseSB0aGUga2VybmVsJ3MgYENvbHVtbnNUeXBlPFQ+YDpcbiAqICAgLSBFdmVyeSBsZWFmIGNvbHVtbidzIGByZW5kZXJgIGlzIHJlcGxhY2VkIGJ5IGBtYWtlUmVuZGVyVHJhbnNmb3JtYCwgd2hpY2hcbiAqICAgICBhbHdheXMgcmV0dXJucyBhIGBSZWFjdE5vZGVgIChCb2R5Q2VsbCBoYW5kbGVzIGBUYWJsZUNlbGxDb250ZW50VmFsdWVgIC9cbiAqICAgICBgVGFibGVSZW5kZXJlZENlbGxgIGV4dHJhcyBhbmQgZW1pdHMgUmVhY3ROb2RlL1JlbmRlcmVkQ2VsbCkuXG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgdGl0bGVgIGlzIGVpdGhlciBhIFJlYWN0Tm9kZSBvciByZXBsYWNlZCBieVxuICogICAgIGA8SGVhZGVyQ2VsbCAvPmAuXG4gKiBCZWNhdXNlIFRTIGNhbid0IHRyYWNrIHRoYXQgdGhvc2UgcmVwbGFjZW1lbnRzIGhhdmUgaGFwcGVuZWQgYWNyb3NzIHRoZVxuICogYHRyYW5zZm9ybXMucmVkdWNlYCBjaGFpbiwgYSBzaW5nbGUgaW50ZXJuYWwgY2FzdCBpcyByZXF1aXJlZCDigJQgY2FsbCBzaXRlcyBub1xuICogbG9uZ2VyIG5lZWQgdGhlaXIgb3duIGBhcyB1bmtub3duIGFzIEludGVybmFsQ29sdW1uc1R5cGU8VD5gIGNhc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJsZUNvbHVtbnMoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb2x1bW5zLCB2YXJpYW50LCBleHBhbmRhYmxlLCByb3dTZWxlY3Rpb24sIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJFeHBhbmQsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzLCBzaXplLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1zID0gW107XG4gICAgICAgIGlmIChleHBhbmRhYmxlICYmIGV4cGFuZGFibGUuc2hvd0V4cGFuZENvbHVtbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblRyYW5zZm9ybSA9IHJvd1NlbGVjdGlvbiA/IG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSA6IG51bGw7XG4gICAgICAgIGlmIChzZWxlY3Rpb25UcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChzZWxlY3Rpb25UcmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVJlbmRlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVNwYWNlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybXMucmVkdWNlKChjb2xzLCBmbikgPT4gZm4oY29scyksIGNvbHVtbnMpO1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gICAgfSwgW1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyLFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBzZXRGaWx0ZXJzLFxuICAgICAgICBzaXplLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgXSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Key } from 'react';
|
|
2
2
|
import type { TableExpandableConfig, TableRecord } from '../interface';
|
|
3
|
-
export declare const useTableExpand: <T extends TableRecord = TableRecord>({ expandable, }: {
|
|
3
|
+
export declare const useTableExpand: <T extends TableRecord = TableRecord>({ expandable, dataSource, getRowKey, }: {
|
|
4
4
|
expandable?: TableExpandableConfig<T>;
|
|
5
|
+
dataSource?: readonly T[];
|
|
6
|
+
getRowKey?: (record: T, index: number) => Key;
|
|
5
7
|
}) => {
|
|
6
8
|
mergedExpandedRowKeys: Key[];
|
|
7
9
|
triggerExpand: (recordKey: Key, record: T) => void;
|
|
@@ -5,18 +5,42 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useTableExpand = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _hooks = require("@1money/hooks");
|
|
11
11
|
var useTableExpand = exports.useTableExpand = function useTableExpand(_ref) {
|
|
12
|
-
var expandable = _ref.expandable
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
var expandable = _ref.expandable,
|
|
13
|
+
dataSource = _ref.dataSource,
|
|
14
|
+
getRowKey = _ref.getRowKey;
|
|
15
|
+
// Match table: `defaultExpandAllRows` seeds initial expansion with every
|
|
16
|
+
// row whose key is expandable. `rowExpandable` (if present) still gates this.
|
|
17
|
+
var computeDefaultKeys = function computeDefaultKeys() {
|
|
18
|
+
if (expandable === null || expandable === void 0 ? void 0 : expandable.defaultExpandedRowKeys) return (0, _toConsumableArray2["default"])(expandable.defaultExpandedRowKeys);
|
|
19
|
+
if (!(expandable === null || expandable === void 0 ? void 0 : expandable.defaultExpandAllRows) || !dataSource || !getRowKey) return [];
|
|
20
|
+
var rowExpandable = expandable.rowExpandable;
|
|
21
|
+
return dataSource.map(function (record, index) {
|
|
22
|
+
return {
|
|
23
|
+
record: record,
|
|
24
|
+
key: getRowKey(record, index)
|
|
25
|
+
};
|
|
26
|
+
}).filter(function (_ref2) {
|
|
27
|
+
var record = _ref2.record;
|
|
28
|
+
return rowExpandable ? rowExpandable(record) : true;
|
|
29
|
+
}).map(function (_ref3) {
|
|
30
|
+
var key = _ref3.key;
|
|
31
|
+
return key;
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var _useControlledState = (0, _hooks.useControlledState)(computeDefaultKeys(), expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowKeys),
|
|
15
35
|
_useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
|
|
16
36
|
mergedExpandedRowKeys = _useControlledState2[0],
|
|
17
37
|
setMergedExpandedRowKeys = _useControlledState2[1];
|
|
18
38
|
var triggerExpand = (0, _hooks.useMemoizedFn)(function (recordKey, record) {
|
|
19
39
|
var _a, _b;
|
|
40
|
+
// Honor `rowExpandable`: rows the predicate denies cannot be toggled. This
|
|
41
|
+
// also blocks programmatic callers (e.g. expandRowByClick on the kernel)
|
|
42
|
+
// from bypassing the predicate.
|
|
43
|
+
if ((expandable === null || expandable === void 0 ? void 0 : expandable.rowExpandable) && !expandable.rowExpandable(record)) return;
|
|
20
44
|
var expanded = mergedExpandedRowKeys.includes(recordKey);
|
|
21
45
|
var nextKeys = expanded ? mergedExpandedRowKeys.filter(function (key) {
|
|
22
46
|
return key !== recordKey;
|
|
@@ -29,6 +53,7 @@ var useTableExpand = exports.useTableExpand = function useTableExpand(_ref) {
|
|
|
29
53
|
// and delegates to user callbacks
|
|
30
54
|
var onKernelExpand = (0, _hooks.useMemoizedFn)(function (expanded, record, recordKey) {
|
|
31
55
|
var _a, _b;
|
|
56
|
+
if ((expandable === null || expandable === void 0 ? void 0 : expandable.rowExpandable) && !expandable.rowExpandable(record)) return;
|
|
32
57
|
var nextKeys = expanded ? [].concat((0, _toConsumableArray2["default"])(mergedExpandedRowKeys), [recordKey]) : mergedExpandedRowKeys.filter(function (key) {
|
|
33
58
|
return key !== recordKey;
|
|
34
59
|
});
|
|
@@ -42,4 +67,4 @@ var useTableExpand = exports.useTableExpand = function useTableExpand(_ref) {
|
|
|
42
67
|
onKernelExpand: onKernelExpand
|
|
43
68
|
};
|
|
44
69
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUV4cGFuZC50cyIsImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUV4cGFuZC5qcyJdLCJuYW1lcyI6WyJfaG9va3MiLCJyZXF1aXJlIiwidXNlVGFibGVFeHBhbmQiLCJleHBvcnRzIiwiX3JlZiIsImV4cGFuZGFibGUiLCJkYXRhU291cmNlIiwiZ2V0Um93S2V5IiwiY29tcHV0ZURlZmF1bHRLZXlzIiwiZGVmYXVsdEV4cGFuZGVkUm93S2V5cyIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJkZWZhdWx0RXhwYW5kQWxsUm93cyIsInJvd0V4cGFuZGFibGUiLCJtYXAiLCJyZWNvcmQiLCJpbmRleCIsImtleSIsImZpbHRlciIsIl9yZWYyIiwiX3JlZjMiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiZXhwYW5kZWRSb3dLZXlzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJzZXRNZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwidXNlTWVtb2l6ZWRGbiIsInJlY29yZEtleSIsIl9hIiwiX2IiLCJleHBhbmRlZCIsImluY2x1ZGVzIiwibmV4dEtleXMiLCJjb25jYXQiLCJvbkV4cGFuZCIsImNhbGwiLCJvbkV4cGFuZGVkUm93c0NoYW5nZSIsIm9uS2VybmVsRXhwYW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFHTyxJQUFNQyxjQUFjLEdBQUFDLE9BQUEsQ0FBQUQsY0FBQSxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBRSxJQUFBLEVBUXRCO0VBQUEsSUFQSEMsVUFBVSxHQUFBRCxJQUFBLENBQVZDLFVBQVU7SUFDVkMsVUFBVSxHQUFBRixJQUFBLENBQVZFLFVBQVU7SUFDVkMsU0FB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QUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFWQSxVQUFVLENBQUVpQyxvQkFBb0IsTUFBQSxJQUFBLElBQUFQLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFBTSxJQUFBLENBQUFoQyxVQUFBLEVBQUc2QixRQUFRLENBQUM7RUFDOUMsQ0FBQyxDQUFDO0VBRUYsT0FBTztJQUNMVCxxQkFBcUIsRUFBckJBLHFCQUFxQjtJQUNyQkUsYUFBYSxFQUFiQSxhQUFhO0lBQ2JZLGNBQWMsRUFBZEE7RUNmQSxDRGdCRDtBQUNILENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlRXhwYW5kLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VDb250cm9sbGVkU3RhdGUsIHVzZU1lbW9pemVkRm4gfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmV4cG9ydCBjb25zdCB1c2VUYWJsZUV4cGFuZCA9ICh7IGV4cGFuZGFibGUsIGRhdGFTb3VyY2UsIGdldFJvd0tleSwgfSkgPT4ge1xuICAgIC8vIE1hdGNoIHRhYmxlOiBgZGVmYXVsdEV4cGFuZEFsbFJvd3NgIHNlZWRzIGluaXRpYWwgZXhwYW5zaW9uIHdpdGggZXZlcnlcbiAgICAvLyByb3cgd2hvc2Uga2V5IGlzIGV4cGFuZGFibGUuIGByb3dFeHBhbmRhYmxlYCAoaWYgcHJlc2VudCkgc3RpbGwgZ2F0ZXMgdGhpcy5cbiAgICBjb25zdCBjb21wdXRlRGVmYXVsdEtleXMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZGVmYXVsdEV4cGFuZGVkUm93S2V5cylcbiAgICAgICAgICAgIHJldHVybiBbLi4uZXhwYW5kYWJsZS5kZWZhdWx0RXhwYW5kZWRSb3dLZXlzXTtcbiAgICAgICAgaWYgKCEoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmRlZmF1bHRFeHBhbmRBbGxSb3dzKSB8fCAhZGF0YVNvdXJjZSB8fCAhZ2V0Um93S2V5KVxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjb25zdCByb3dFeHBhbmRhYmxlID0gZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgICAgICByZXR1cm4gZGF0YVNvdXJjZVxuICAgICAgICAgICAgLm1hcCgocmVjb3JkLCBpbmRleCkgPT4gKHsgcmVjb3JkLCBrZXk6IGdldFJvd0tleShyZWNvcmQsIGluZGV4KSB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgcmVjb3JkIH0pID0+IChyb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZSkpXG4gICAgICAgICAgICAubWFwKCh7IGtleSB9KSA9PiBrZXkpO1xuICAgIH07XG4gICAgY29uc3QgW21lcmdlZEV4cGFuZGVkUm93S2V5cywgc2V0TWVyZ2VkRXhwYW5kZWRSb3dLZXlzXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShjb21wdXRlRGVmYXVsdEtleXMoKSwgZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZGVkUm93S2V5cyk7XG4gICAgY29uc3QgdHJpZ2dlckV4cGFuZCA9IHVzZU1lbW9pemVkRm4oKHJlY29yZEtleSwgcmVjb3JkKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIC8vIEhvbm9yIGByb3dFeHBhbmRhYmxlYDogcm93cyB0aGUgcHJlZGljYXRlIGRlbmllcyBjYW5ub3QgYmUgdG9nZ2xlZC4gVGhpc1xuICAgICAgICAvLyBhbHNvIGJsb2NrcyBwcm9ncmFtbWF0aWMgY2FsbGVycyAoZS5nLiBleHBhbmRSb3dCeUNsaWNrIG9uIHRoZSBrZXJuZWwpXG4gICAgICAgIC8vIGZyb20gYnlwYXNzaW5nIHRoZSBwcmVkaWNhdGUuXG4gICAgICAgIGlmICgoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLnJvd0V4cGFuZGFibGUpICYmICFleHBhbmRhYmxlLnJvd0V4cGFuZGFibGUocmVjb3JkKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZXhwYW5kZWQgPSBtZXJnZWRFeHBhbmRlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KTtcbiAgICAgICAgY29uc3QgbmV4dEtleXMgPSBleHBhbmRlZFxuICAgICAgICAgICAgPyBtZXJnZWRFeHBhbmRlZFJvd0tleXMuZmlsdGVyKGtleSA9PiBrZXkgIT09IHJlY29yZEtleSlcbiAgICAgICAgICAgIDogWy4uLm1lcmdlZEV4cGFuZGVkUm93S2V5cywgcmVjb3JkS2V5XTtcbiAgICAgICAgc2V0TWVyZ2VkRXhwYW5kZWRSb3dLZXlzKG5leHRLZXlzKTtcbiAgICAgICAgKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLm9uRXhwYW5kKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChleHBhbmRhYmxlLCAhZXhwYW5kZWQsIHJlY29yZCk7XG4gICAgICAgIChfYiA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5vbkV4cGFuZGVkUm93c0NoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoZXhwYW5kYWJsZSwgbmV4dEtleXMpO1xuICAgIH0pO1xuICAgIC8vIENhbGxlZCBieSB0aGUga2VybmVsJ3Mgb25FeHBhbmQgKGUuZy4gZXhwYW5kUm93QnlDbGljaykg4oCUIHVwZGF0ZXMgc3RhdGVcbiAgICAvLyBhbmQgZGVsZWdhdGVzIHRvIHVzZXIgY2FsbGJhY2tzXG4gICAgY29uc3Qgb25LZXJuZWxFeHBhbmQgPSB1c2VNZW1vaXplZEZuKChleHBhbmRlZCwgcmVjb3JkLCByZWNvcmRLZXkpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUucm93RXhwYW5kYWJsZSkgJiYgIWV4cGFuZGFibGUucm93RXhwYW5kYWJsZShyZWNvcmQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0S2V5cyA9IGV4cGFuZGVkXG4gICAgICAgICAgICA/IFsuLi5tZXJnZWRFeHBhbmRlZFJvd0tleXMsIHJlY29yZEtleV1cbiAgICAgICAgICAgIDogbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLmZpbHRlcihrZXkgPT4ga2V5ICE9PSByZWNvcmRLZXkpO1xuICAgICAgICBzZXRNZXJnZWRFeHBhbmRlZFJvd0tleXMobmV4dEtleXMpO1xuICAgICAgICAoX2EgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUub25FeHBhbmQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGV4cGFuZGFibGUsIGV4cGFuZGVkLCByZWNvcmQpO1xuICAgICAgICAoX2IgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUub25FeHBhbmRlZFJvd3NDaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKGV4cGFuZGFibGUsIG5leHRLZXlzKTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZXJnZWRFeHBhbmRlZFJvd0tleXMsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIG9uS2VybmVsRXhwYW5kLFxuICAgIH07XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -37,6 +37,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
37
37
|
* div (instead of being spread untyped into the kernel via `rest as object`).
|
|
38
38
|
*/
|
|
39
39
|
var useTableSetup = exports.useTableSetup = function useTableSetup(props) {
|
|
40
|
+
var _a;
|
|
40
41
|
var _props$className = props.className,
|
|
41
42
|
className = _props$className === void 0 ? '' : _props$className,
|
|
42
43
|
_props$prefixCls = props.prefixCls,
|
|
@@ -88,7 +89,9 @@ var useTableSetup = exports.useTableSetup = function useTableSetup(props) {
|
|
|
88
89
|
getRowKey: getRowKey
|
|
89
90
|
});
|
|
90
91
|
var expand = (0, _useTableExpand.useTableExpand)({
|
|
91
|
-
expandable: expandable
|
|
92
|
+
expandable: expandable,
|
|
93
|
+
dataSource: dataSource,
|
|
94
|
+
getRowKey: getRowKey
|
|
92
95
|
});
|
|
93
96
|
var renderedColumns = (0, _useTableColumns.useTableColumns)({
|
|
94
97
|
columns: columns,
|
|
@@ -110,15 +113,32 @@ var useTableSetup = exports.useTableSetup = function useTableSetup(props) {
|
|
|
110
113
|
setFilters: pipeline.setFilters,
|
|
111
114
|
getRowKey: getRowKey
|
|
112
115
|
});
|
|
116
|
+
// Dev-only warning: mixing row-expansion with tree-data (childrenColumnName)
|
|
117
|
+
// produces two chevrons per row (the leftmost __expand__ column from the wrapper
|
|
118
|
+
// plus the kernel's per-indent nest expand). rc-table / antd have the same gap;
|
|
119
|
+
// pick one mode at a time.
|
|
120
|
+
// eslint-disable-next-line no-undef
|
|
121
|
+
if (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) !== 'production') {
|
|
122
|
+
if ((expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender) && childrenColumnName !== undefined) {
|
|
123
|
+
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.');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
113
126
|
var wrappedExpandedRowRender = (0, _hooks.useMemoizedFn)(function (record, index, indent, expanded) {
|
|
114
127
|
var _a;
|
|
128
|
+
// Honor `rowExpandable`: even if a non-expandable row's key sneaks into
|
|
129
|
+
// `expandedRowKeys`, refuse to render its expansion content.
|
|
130
|
+
if ((expandable === null || expandable === void 0 ? void 0 : expandable.rowExpandable) && !expandable.rowExpandable(record)) return null;
|
|
115
131
|
return (0, _jsxRuntime.jsx)(_ExpandedRowContainer.ExpandedRowContainer, {
|
|
116
132
|
children: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender) === null || _a === void 0 ? void 0 : _a.call(expandable, record, index, indent, expanded)
|
|
117
133
|
});
|
|
118
134
|
});
|
|
119
135
|
// Wire kernel's onExpand (triggered by expandRowByClick) to our state.
|
|
120
136
|
var kernelOnExpand = (0, _hooks.useMemoizedFn)(function (expanded, record) {
|
|
121
|
-
|
|
137
|
+
// The kernel passes a record from `currentDataSource` (post sort/filter/paginate).
|
|
138
|
+
// Looking it up against the raw `dataSource` returns -1 when the consumer
|
|
139
|
+
// recreates the array each render, or a positionally wrong index after sort.
|
|
140
|
+
// Use `currentDataSource` so the index matches what the kernel actually sees.
|
|
141
|
+
var recordKey = getRowKey(record, pipeline.currentDataSource.indexOf(record));
|
|
122
142
|
expand.onKernelExpand(expanded, record, recordKey);
|
|
123
143
|
});
|
|
124
144
|
var mergedExpandable = (0, _react.useMemo)(function () {
|
|
@@ -181,4 +201,4 @@ var useTableSetup = exports.useTableSetup = function useTableSetup(props) {
|
|
|
181
201
|
paginationNode: paginationNode
|
|
182
202
|
};
|
|
183
203
|
};
|
|
184
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNldHVwLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGFnaW5hdGlvbiIsIl9FeHBhbmRlZFJvd0NvbnRhaW5lciIsIl9FbXB0eVN0YXRlIiwiX2NvbnN0YW50cyIsIl91c2VUYWJsZURhdGFQaXBlbGluZSIsIl91c2VUYWJsZVNlbGVjdGlvbiIsIl91c2VUYWJsZUV4cGFuZCIsIl91c2VUYWJsZUNvbHVtbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInVzZVRhYmxlU2V0dXAiLCJleHBvcnRzIiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiVEFCTEVfREVGQVVMVF9TSVpFIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiVEFCTEVfREVGQVVMVF9WQVJJQU5UIiwiY29sdW1ucyIsImRhdGFTb3VyY2UiLCJyb3dLZXkiLCJlbXB0eSIsImJvcmRlcmVkIiwiX3Njcm9sbCIsInNjcm9sbCIsInN0aWNreSIsInBhZ2luYXRpb24iLCJyb3dTZWxlY3Rpb24iLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJvbkNoYW5nZSIsImNoaWxkcmVuQ29sdW1uTmFtZSIsImluZGVudFNpemUiLCJleHBhbmRhYmxlIiwib25Sb3ciLCJyb3dDbGFzc05hbWUiLCJzdW1tYXJ5Iiwic2hvd0hlYWRlciIsInRhYmxlTGF5b3V0IiwiY29tcG9uZW50cyIsImRpcmVjdGlvbiIsInJvd0hvdmVyYWJsZSIsInJlc3QiLCJjbHMiLCJjbGFzc25hbWVzIiwiVEFCTEVfQkxPQ0siLCJnZXRSb3dLZXkiLCJ1c2VNZW1vaXplZEZuIiwicmVjb3JkIiwiaW5kZXgiLCJfYSIsInBpcGVsaW5lIiwidXNlVGFibGVEYXRhUGlwZWxpbmUiLCJzZWxlY3Rpb24iLCJ1c2VUYWJsZVNlbGVjdGlvbiIsImN1cnJlbnREYXRhU291cmNlIiwiZXhwYW5kIiwidXNlVGFibGVFeHBhbmQiLCJyZW5kZXJlZENvbHVtbnMiLCJ1c2VUYWJsZUNvbHVtbnMiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwiY2hlY2tib3hQcm9wc01hcCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwidHJpZ2dlclNlbGVjdEFsbCIsInNvcnRlciIsInNldFNvcnRlciIsImZpbHRlcnMiLCJzZXRGaWx0ZXJzIiwid3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyIiwiaW5kZW50IiwiZXhwYW5kZWQiLCJfanN4IiwiRXhwYW5kZWRSb3dDb250YWluZXIiLCJjaGlsZHJlbiIsImV4cGFuZGVkUm93UmVuZGVyIiwia2VybmVsT25FeHBhbmQiLCJyZWNvcmRLZXkiLCJvbktlcm5lbEV4cGFuZCIsIm1lcmdlZEV4cGFuZGFibGUiLCJ1c2VNZW1vIiwiYXNzaWduIiwiZXhwYW5kZWRSb3dLZXlzIiwidW5kZWZpbmVkIiwic2hvd0V4cGFuZENvbHVtbiIsIm9uRXhwYW5kIiwicmVzb2x2ZWRQYWdpbmF0aW9uIiwiY3VycmVudCIsInBhZ2VTaXplIiwicGFnaW5hdGlvbk5vZGUiLCJjb25jYXQiLCJQYWdpbmF0aW9uIiwidG90YWwiLCJuZXh0UGFnZSIsIm5leHRQYWdlU2l6ZSIsInNldFBhZ2luYXRpb24iLCJjdXJyZW50UGFnaW5hdGlvbiIsIndyYXBwZXJDbGFzc05hbWUiLCJqb2luQ2xzIiwidGFibGVDbGFzc05hbWUiLCJlbXB0eVRleHQiLCJUYWJsZUVtcHR5U3RhdGUiLCJ3cmFwcGVySHRtbFByb3BzIiwiZm9yd2FyZGVkS2VybmVsUHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxxQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBTUEsSUFBQVMscUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGtCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxlQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxnQkFBQSxHQUFBWixPQUFBO0FBQW9ELFNBQUFhLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBVix3QkFBQVUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFB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O01BQ1poQixNQUFNLEVBQU5BO0lEakhFLENDa0hIO0lBQ0RtRSxjQUFjLEVBQWRBO0VEakhBLENDa0hEO0FBQ0gsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVTZXR1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVtb2l6ZWRGbiB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL1BhZ2luYXRpb24nO1xuaW1wb3J0IHsgRXhwYW5kZWRSb3dDb250YWluZXIgfSBmcm9tICcuLi9yZW5kZXJlcnMvRXhwYW5kZWRSb3dDb250YWluZXInO1xuaW1wb3J0IHsgVGFibGVFbXB0eVN0YXRlIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0VtcHR5U3RhdGUnO1xuaW1wb3J0IHsgVEFCTEVfQkxPQ0ssIFRBQkxFX0RFRkFVTFRfUFJFRklYLCBUQUJMRV9ERUZBVUxUX1NJWkUsIFRBQkxFX0RFRkFVTFRfVkFSSUFOVCwgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlVGFibGVEYXRhUGlwZWxpbmUgfSBmcm9tICcuL3VzZVRhYmxlRGF0YVBpcGVsaW5lJztcbmltcG9ydCB7IHVzZVRhYmxlU2VsZWN0aW9uIH0gZnJvbSAnLi91c2VUYWJsZVNlbGVjdGlvbic7XG5pbXBvcnQgeyB1c2VUYWJsZUV4cGFuZCB9IGZyb20gJy4vdXNlVGFibGVFeHBhbmQnO1xuaW1wb3J0IHsgdXNlVGFibGVDb2x1bW5zIH0gZnJvbSAnLi91c2VUYWJsZUNvbHVtbnMnO1xuLyoqXG4gKiBDZW50cmFsaXNlcyB0aGUgd2lyaW5nIHNoYXJlZCBieSBgVGFibGVgIGFuZCBgVmlydHVhbFRhYmxlYDpcbiAqICAtIGRlc3RydWN0dXJlIHByb3BzXG4gKiAgLSByZXNvbHZlIHJvdyBrZXlcbiAqICAtIHJ1biBwaXBlbGluZSAvIHNlbGVjdGlvbiAvIGV4cGFuZCAvIGNvbHVtbiB0cmFuc2Zvcm1zXG4gKiAgLSBidWlsZCBrZXJuZWwtcmVhZHkgcHJvcHNcbiAqICAtIHNwbGl0IG9mZiBwYXNzLXRocm91Z2ggSFRNTCBhdHRyaWJ1dGVzIHNvIHRoZXkgY2FuIGxhbmQgb24gdGhlIG91dGVyIHdyYXBwZXJcbiAqICAgIGRpdiAoaW5zdGVhZCBvZiBiZWluZyBzcHJlYWQgdW50eXBlZCBpbnRvIHRoZSBrZXJuZWwgdmlhIGByZXN0IGFzIG9iamVjdGApLlxuICovXG5leHBvcnQgY29uc3QgdXNlVGFibGVTZXR1cCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9IFRBQkxFX0RFRkFVTFRfUFJFRklYLCBzaXplID0gVEFCTEVfREVGQVVMVF9TSVpFLCB2YXJpYW50ID0gVEFCTEVfREVGQVVMVF9WQVJJQU5ULCBjb2x1bW5zLCBkYXRhU291cmNlLCByb3dLZXksIGVtcHR5LCBib3JkZXJlZCwgc2Nyb2xsOiBfc2Nyb2xsLCBzdGlja3ksIHBhZ2luYXRpb24sIHJvd1NlbGVjdGlvbiwgbG9hZGluZyA9IGZhbHNlLCBvbkNoYW5nZSwgY2hpbGRyZW5Db2x1bW5OYW1lLCBpbmRlbnRTaXplLCBleHBhbmRhYmxlLCBvblJvdywgcm93Q2xhc3NOYW1lLCBzdW1tYXJ5LCBzaG93SGVhZGVyLCB0YWJsZUxheW91dCwgY29tcG9uZW50cywgZGlyZWN0aW9uLCByb3dIb3ZlcmFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaXplXCIsIFwidmFyaWFudFwiLCBcImNvbHVtbnNcIiwgXCJkYXRhU291cmNlXCIsIFwicm93S2V5XCIsIFwiZW1wdHlcIiwgXCJib3JkZXJlZFwiLCBcInNjcm9sbFwiLCBcInN0aWNreVwiLCBcInBhZ2luYXRpb25cIiwgXCJyb3dTZWxlY3Rpb25cIiwgXCJsb2FkaW5nXCIsIFwib25DaGFuZ2VcIiwgXCJjaGlsZHJlbkNvbHVtbk5hbWVcIiwgXCJpbmRlbnRTaXplXCIsIFwiZXhwYW5kYWJsZVwiLCBcIm9uUm93XCIsIFwicm93Q2xhc3NOYW1lXCIsIFwic3VtbWFyeVwiLCBcInNob3dIZWFkZXJcIiwgXCJ0YWJsZUxheW91dFwiLCBcImNvbXBvbmVudHNcIiwgXCJkaXJlY3Rpb25cIiwgXCJyb3dIb3ZlcmFibGVcIl0pO1xuICAgIHZvaWQgX3Njcm9sbDtcbiAgICBjb25zdCBjbHMgPSBjbGFzc25hbWVzKFRBQkxFX0JMT0NLKTtcbiAgICBjb25zdCBnZXRSb3dLZXkgPSB1c2VNZW1vaXplZEZuKChyZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByb3dLZXkgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gcm93S2V5KHJlY29yZClcbiAgICAgICAgICAgIDogKF9hID0gcmVjb3JkW3Jvd0tleSAhPT0gbnVsbCAmJiByb3dLZXkgIT09IHZvaWQgMCA/IHJvd0tleSA6ICdrZXknXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXg7XG4gICAgfSk7XG4gICAgY29uc3QgcGlwZWxpbmUgPSB1c2VUYWJsZURhdGFQaXBlbGluZSh7IGNvbHVtbnMsIGRhdGFTb3VyY2UsIHBhZ2luYXRpb24sIG9uQ2hhbmdlIH0pO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHVzZVRhYmxlU2VsZWN0aW9uKHtcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBkYXRhU291cmNlLFxuICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UsXG4gICAgICAgIGdldFJvd0tleSxcbiAgICB9KTtcbiAgICBjb25zdCBleHBhbmQgPSB1c2VUYWJsZUV4cGFuZCh7IGV4cGFuZGFibGUgfSk7XG4gICAgY29uc3QgcmVuZGVyZWRDb2x1bW5zID0gdXNlVGFibGVDb2x1bW5zKHtcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgZXhwYW5kYWJsZSxcbiAgICAgICAgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzOiBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLFxuICAgICAgICB0cmlnZ2VyRXhwYW5kOiBleHBhbmQudHJpZ2dlckV4cGFuZCxcbiAgICAgICAgcm93U2VsZWN0aW9uLFxuICAgICAgICBtZXJnZWRTZWxlY3RlZFJvd0tleXM6IHNlbGVjdGlvbi5tZXJnZWRTZWxlY3RlZFJvd0tleXMsXG4gICAgICAgIGNoZWNrYm94UHJvcHNNYXA6IHNlbGVjdGlvbi5jaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkOiBzZWxlY3Rpb24uaXNBbGxTZWxlY3RlZCxcbiAgICAgICAgaXNJbmRldGVybWluYXRlOiBzZWxlY3Rpb24uaXNJbmRldGVybWluYXRlLFxuICAgICAgICB0cmlnZ2VyU2VsZWN0aW9uOiBzZWxlY3Rpb24udHJpZ2dlclNlbGVjdGlvbixcbiAgICAgICAgdHJpZ2dlclNlbGVjdEFsbDogc2VsZWN0aW9uLnRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcjogcGlwZWxpbmUuc29ydGVyLFxuICAgICAgICBzZXRTb3J0ZXI6IHBpcGVsaW5lLnNldFNvcnRlcixcbiAgICAgICAgZmlsdGVyczogcGlwZWxpbmUuZmlsdGVycyxcbiAgICAgICAgc2V0RmlsdGVyczogcGlwZWxpbmUuc2V0RmlsdGVycyxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIH0pO1xuICAgIGNvbnN0IHdyYXBwZWRFeHBhbmRlZFJvd1JlbmRlciA9IHVzZU1lbW9pemVkRm4oKHJlY29yZCwgaW5kZXgsIGluZGVudCwgZXhwYW5kZWQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKF9qc3goRXhwYW5kZWRSb3dDb250YWluZXIsIHsgY2hpbGRyZW46IChfYSA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoZXhwYW5kYWJsZSwgcmVjb3JkLCBpbmRleCwgaW5kZW50LCBleHBhbmRlZCkgfSkpO1xuICAgIH0pO1xuICAgIC8vIFdpcmUga2VybmVsJ3Mgb25FeHBhbmQgKHRyaWdnZXJlZCBieSBleHBhbmRSb3dCeUNsaWNrKSB0byBvdXIgc3RhdGUuXG4gICAgY29uc3Qga2VybmVsT25FeHBhbmQgPSB1c2VNZW1vaXplZEZuKChleHBhbmRlZCwgcmVjb3JkKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGRhdGFTb3VyY2UuaW5kZXhPZihyZWNvcmQpKTtcbiAgICAgICAgZXhwYW5kLm9uS2VybmVsRXhwYW5kKGV4cGFuZGVkLCByZWNvcmQsIHJlY29yZEtleSk7XG4gICAgfSk7XG4gICAgY29uc3QgbWVyZ2VkRXhwYW5kYWJsZSA9IHVzZU1lbW8oKCkgPT4gZXhwYW5kYWJsZVxuICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXhwYW5kYWJsZSksIHsgZXhwYW5kZWRSb3dLZXlzOiBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCBleHBhbmRlZFJvd1JlbmRlcjogZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlclxuICAgICAgICAgICAgICAgID8gd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsIHNob3dFeHBhbmRDb2x1bW46IGZhbHNlLCBvbkV4cGFuZDoga2VybmVsT25FeHBhbmQgfSlcbiAgICAgICAgOiB1bmRlZmluZWQsIFtleHBhbmRhYmxlLCBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIsIGtlcm5lbE9uRXhwYW5kXSk7XG4gICAgY29uc3QgcmVzb2x2ZWRQYWdpbmF0aW9uID0gcGlwZWxpbmUucGFnaW5hdGlvbiA9PT0gZmFsc2VcbiAgICAgICAgPyB7IGN1cnJlbnQ6IDEsIHBhZ2VTaXplOiAxMCB9XG4gICAgICAgIDogcGlwZWxpbmUucGFnaW5hdGlvbjtcbiAgICBjb25zdCBwYWdpbmF0aW9uTm9kZSA9IHBhZ2luYXRpb24gIT09IGZhbHNlID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tcGFnaW5hdGlvbmAsIGNoaWxkcmVuOiBfanN4KFBhZ2luYXRpb24sIHsgdG90YWw6IHBpcGVsaW5lLnRvdGFsLCBwYWdlU2l6ZTogcmVzb2x2ZWRQYWdpbmF0aW9uLnBhZ2VTaXplLCBjdXJyZW50OiByZXNvbHZlZFBhZ2luYXRpb24uY3VycmVudCwgb25DaGFuZ2U6IChuZXh0UGFnZSwgbmV4dFBhZ2VTaXplKSA9PiBwaXBlbGluZS5zZXRQYWdpbmF0aW9uKChjdXJyZW50UGFnaW5hdGlvbikgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFBhZ2luYXRpb24pLCB7IGN1cnJlbnQ6IG5leHRQYWdlLCBwYWdlU2l6ZTogbmV4dFBhZ2VTaXplIH0pKSkgfSkgfSkpIDogbnVsbDtcbiAgICBjb25zdCB3cmFwcGVyQ2xhc3NOYW1lID0gam9pbkNscyhgJHtwcmVmaXhDbHN9LXdyYXBwZXJgLCBsb2FkaW5nICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tbG9hZGluZ2AsIGJvcmRlcmVkICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tYm9yZGVyZWRgKTtcbiAgICBjb25zdCB0YWJsZUNsYXNzTmFtZSA9IGpvaW5DbHMoY2xzKCksIGNscyhzaXplKSwgY2xzKHZhcmlhbnQpLCBjbGFzc05hbWUpO1xuICAgIGNvbnN0IGVtcHR5VGV4dCA9IGxvYWRpbmcgJiYgIWRhdGFTb3VyY2UubGVuZ3RoID8gX2pzeChcInNwYW5cIiwge30pIDogX2pzeChUYWJsZUVtcHR5U3RhdGUsIHsgZW1wdHk6IGVtcHR5IH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAgd3JhcHBlckNsYXNzTmFtZSxcbiAgICAgICAgdGFibGVDbGFzc05hbWUsXG4gICAgICAgIGxvYWRpbmcsXG4gICAgICAgIHJlbmRlcmVkQ29sdW1ucyxcbiAgICAgICAgY3VycmVudERhdGFTb3VyY2U6IHBpcGVsaW5lLmN1cnJlbnREYXRhU291cmNlLFxuICAgICAgICBtZXJnZWRFeHBhbmRhYmxlLFxuICAgICAgICBlbXB0eVRleHQsXG4gICAgICAgIHdyYXBwZXJIdG1sUHJvcHM6IHJlc3QsXG4gICAgICAgIGZvcndhcmRlZEtlcm5lbFByb3BzOiB7XG4gICAgICAgICAgICByb3dLZXk6IHJvd0tleSxcbiAgICAgICAgICAgIGNoaWxkcmVuQ29sdW1uTmFtZSxcbiAgICAgICAgICAgIGluZGVudFNpemUsXG4gICAgICAgICAgICBvblJvdyxcbiAgICAgICAgICAgIHJvd0NsYXNzTmFtZSxcbiAgICAgICAgICAgIHN1bW1hcnksXG4gICAgICAgICAgICBzaG93SGVhZGVyLFxuICAgICAgICAgICAgdGFibGVMYXlvdXQsXG4gICAgICAgICAgICBjb21wb25lbnRzLFxuICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgcm93SG92ZXJhYmxlLFxuICAgICAgICAgICAgc3RpY2t5LFxuICAgICAgICB9LFxuICAgICAgICBwYWdpbmF0aW9uTm9kZSxcbiAgICB9O1xufTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
204
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZVNldHVwLmpzIiwiY29tcG9uZW50cy9UYWJsZS9zcmMvY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGFnaW5hdGlvbiIsIl9FeHBhbmRlZFJvd0NvbnRhaW5lciIsIl9FbXB0eVN0YXRlIiwiX2NvbnN0YW50cyIsIl91c2VUYWJsZURhdGFQaXBlbGluZSIsIl91c2VUYWJsZVNlbGVjdGlvbiIsIl91c2VUYWJsZUV4cGFuZCIsIl91c2VUYWJsZUNvbHVtbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInVzZVRhYmxlU2V0dXAiLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiVEFCTEVfREVGQVVMVF9QUkVGSVgiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJUQUJMRV9ERUZBVUxUX1NJWkUiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJUQUJMRV9ERUZBVUxUX1ZBUklBTlQiLCJjb2x1bW5zIiwiZGF0YVNvdXJjZSIsInJvd0tleSIsImVtcHR5IiwiYm9yZGVyZWQiLCJfc2Nyb2xsIiwic2Nyb2xsIiwic3RpY2t5IiwicGFnaW5hdGlvbiIsInJvd1NlbGVjdGlvbiIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIm9uQ2hhbmdlIiwiY2hpbGRyZW5Db2x1bW5OYW1lIiwiaW5kZW50U2l6ZSIsImV4cGFuZGFibGUiLCJvblJvdyIsInJvd0NsYXNzTmFtZSIsInN1bW1hcnkiLCJzaG93SGVhZGVyIiwidGFibGVMYXlvdXQiLCJjb21wb25lbnRzIiwiZGlyZWN0aW9uIiwicm93SG92ZXJhYmxlIiwicmVzdCIsImNscyIsImNsYXNzbmFtZXMiLCJUQUJMRV9CTE9DSyIsImdldFJvd0tleSIsInVzZU1lbW9pemVkRm4iLCJyZWNvcmQiLCJpbmRleCIsInBpcGVsaW5lIiwidXNlVGFibGVEYXRhUGlwZWxpbmUiLCJzZWxlY3Rpb24iLCJ1c2VUYWJsZVNlbGVjdGlvbiIsImN1cnJlbnREYXRhU291cmNlIiwiZXhwYW5kIiwidXNlVGFibGVFeHBhbmQiLCJyZW5kZXJlZENvbHVtbnMiLCJ1c2VUYWJsZUNvbHVtbnMiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwibWVyZ2VkU2VsZWN0ZWRSb3dLZXlzIiwiY2hlY2tib3hQcm9wc01hcCIsImlzQWxsU2VsZWN0ZWQiLCJpc0luZGV0ZXJtaW5hdGUiLCJ0cmlnZ2VyU2VsZWN0aW9uIiwidHJpZ2dlclNlbGVjdEFsbCIsInNvcnRlciIsInNldFNvcnRlciIsImZpbHRlcnMiLCJzZXRGaWx0ZXJzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXhwYW5kZWRSb3dSZW5kZXIiLCJ1bmRlZmluZWQiLCJjb25zb2xlIiwid2FybiIsIndyYXBwZWRFeHBhbmRlZFJvd1JlbmRlciIsImluZGVudCIsImV4cGFuZGVkIiwicm93RXhwYW5kYWJsZSIsIl9qc3giLCJFeHBhbmRlZFJvd0NvbnRhaW5lciIsImNoaWxkcmVuIiwia2VybmVsT25FeHBhbmQiLCJyZWNvcmRLZXkiLCJvbktlcm5lbEV4cGFuZCIsIm1lcmdlZEV4cGFuZGFibGUiLCJ1c2VNZW1vIiwiYXNzaWduIiwiZXhwYW5kZWRSb3dLZXlzIiwic2hvd0V4cGFuZENvbHVtbiIsIm9uRXhwYW5kIiwicmVzb2x2ZWRQYWdpbmF0aW9uIiwiY3VycmVudCIsInBhZ2VTaXplIiwicGFnaW5hdGlvbk5vZGUiLCJjb25jYXQiLCJQYWdpbmF0aW9uIiwidG90YWwiLCJuZXh0UGFnZSIsIm5leHRQYWdlU2l6ZSIsInNldFBhZ2luYXRpb24iLCJjdXJyZW50UGFnaW5hdGlvbiIsIndyYXBwZXJDbGFzc05hbWUiLCJqb2luQ2xzIiwidGFibGVDbGFzc05hbWUiLCJlbXB0eVRleHQiLCJUYWJsZUVtcHR5U3RhdGUiLCJ3cmFwcGVySHRtbFByb3BzIiwiZm9yd2FyZGVkS2VybmVsUHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxxQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBTUEsSUFBQVMscUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGtCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxlQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxnQkFBQSxHQUFBWixPQUFBO0FBQW9ELFNBQUFhLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxT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LENBQUM7RUFFekUsSUFBTW9HLFNBQVMsR0FDYi9FLE9BQU8sSUFBSSxDQUFDVixVQUFVLENBQUNsQixNQUFNLEdBQUcsSUFBQWlGLGVBQUEsRUFBQSxNQUFBLEVBQUEsQ0FBQSxDQUFBLENBQVEsR0FBRyxJQUFBQSxlQUFBLEVBQUMyQiwyQkFBZSxFQUFBO0lBQUN4RixLQUFLLEVBQUVBO0VBQUssQ0FBQSxDQUFJO0VBRTlFLE9BQU87SUFDTFgsU0FBUyxFQUFUQSxTQUFTO0lBQ1QrRixnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQkUsY0FBYyxFQUFkQSxjQUFjO0lBQ2Q5RSxPQUFPLEVBQVBBLE9BQU87SUFDUDRCLGVBQWUsRUFBZkEsZUFBZTtJQUNmSCxpQkFBaUIsRUFBRUosUUFBUSxDQUFDSSxpQkFBaUI7SUFDN0NrQyxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQm9CLFNBQVMsRUFBVEEsU0FBUztJQUNURSxnQkFBZ0IsRUFBRXBFLElBQUk7SUFDdEJxRSxvQkFBb0IsRUFBRTtNQUNwQjNGLE1BQU0sRUFBRUEsTUFBdUM7TUFDL0NXLGtCQUFrQixFQUFsQkEsa0JBQWtCO01BQ2xCQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkUsS0FBSyxFQUFMQSxLQUFLO01BQ0xDLFlBQVksRUFBWkEsWUFBWTtNQUNaQyxPQUFPLEVBQVBBLE9BQU87TUFDUEMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZDLFdBQVcsRUFBWEEsV0FBVztNQUNYQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkMsU0FBUyxFQUFUQSxTQUFTO01BQ1RDLFlBQVksRUFBWkEsWUFBWTtNQUNaaEIsTUFBTSxFQUFOQTtJRHBIRSxDQ3FISDtJQUNEd0UsY0FBYyxFQUFkQTtFRHBIQSxDQ3FIRDtBQUNILENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlU2V0dXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW9pemVkRm4gfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCBjbGFzc25hbWVzLCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IFBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi9QYWdpbmF0aW9uJztcbmltcG9ydCB7IEV4cGFuZGVkUm93Q29udGFpbmVyIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0V4cGFuZGVkUm93Q29udGFpbmVyJztcbmltcG9ydCB7IFRhYmxlRW1wdHlTdGF0ZSB9IGZyb20gJy4uL3JlbmRlcmVycy9FbXB0eVN0YXRlJztcbmltcG9ydCB7IFRBQkxFX0JMT0NLLCBUQUJMRV9ERUZBVUxUX1BSRUZJWCwgVEFCTEVfREVGQVVMVF9TSVpFLCBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZVRhYmxlRGF0YVBpcGVsaW5lIH0gZnJvbSAnLi91c2VUYWJsZURhdGFQaXBlbGluZSc7XG5pbXBvcnQgeyB1c2VUYWJsZVNlbGVjdGlvbiB9IGZyb20gJy4vdXNlVGFibGVTZWxlY3Rpb24nO1xuaW1wb3J0IHsgdXNlVGFibGVFeHBhbmQgfSBmcm9tICcuL3VzZVRhYmxlRXhwYW5kJztcbmltcG9ydCB7IHVzZVRhYmxlQ29sdW1ucyB9IGZyb20gJy4vdXNlVGFibGVDb2x1bW5zJztcbi8qKlxuICogQ2VudHJhbGlzZXMgdGhlIHdpcmluZyBzaGFyZWQgYnkgYFRhYmxlYCBhbmQgYFZpcnR1YWxUYWJsZWA6XG4gKiAgLSBkZXN0cnVjdHVyZSBwcm9wc1xuICogIC0gcmVzb2x2ZSByb3cga2V5XG4gKiAgLSBydW4gcGlwZWxpbmUgLyBzZWxlY3Rpb24gLyBleHBhbmQgLyBjb2x1bW4gdHJhbnNmb3Jtc1xuICogIC0gYnVpbGQga2VybmVsLXJlYWR5IHByb3BzXG4gKiAgLSBzcGxpdCBvZmYgcGFzcy10aHJvdWdoIEhUTUwgYXR0cmlidXRlcyBzbyB0aGV5IGNhbiBsYW5kIG9uIHRoZSBvdXRlciB3cmFwcGVyXG4gKiAgICBkaXYgKGluc3RlYWQgb2YgYmVpbmcgc3ByZWFkIHVudHlwZWQgaW50byB0aGUga2VybmVsIHZpYSBgcmVzdCBhcyBvYmplY3RgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVRhYmxlU2V0dXAgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVEFCTEVfREVGQVVMVF9QUkVGSVgsIHNpemUgPSBUQUJMRV9ERUZBVUxUX1NJWkUsIHZhcmlhbnQgPSBUQUJMRV9ERUZBVUxUX1ZBUklBTlQsIGNvbHVtbnMsIGRhdGFTb3VyY2UsIHJvd0tleSwgZW1wdHksIGJvcmRlcmVkLCBzY3JvbGw6IF9zY3JvbGwsIHN0aWNreSwgcGFnaW5hdGlvbiwgcm93U2VsZWN0aW9uLCBsb2FkaW5nID0gZmFsc2UsIG9uQ2hhbmdlLCBjaGlsZHJlbkNvbHVtbk5hbWUsIGluZGVudFNpemUsIGV4cGFuZGFibGUsIG9uUm93LCByb3dDbGFzc05hbWUsIHN1bW1hcnksIHNob3dIZWFkZXIsIHRhYmxlTGF5b3V0LCBjb21wb25lbnRzLCBkaXJlY3Rpb24sIHJvd0hvdmVyYWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInNpemVcIiwgXCJ2YXJpYW50XCIsIFwiY29sdW1uc1wiLCBcImRhdGFTb3VyY2VcIiwgXCJyb3dLZXlcIiwgXCJlbXB0eVwiLCBcImJvcmRlcmVkXCIsIFwic2Nyb2xsXCIsIFwic3RpY2t5XCIsIFwicGFnaW5hdGlvblwiLCBcInJvd1NlbGVjdGlvblwiLCBcImxvYWRpbmdcIiwgXCJvbkNoYW5nZVwiLCBcImNoaWxkcmVuQ29sdW1uTmFtZVwiLCBcImluZGVudFNpemVcIiwgXCJleHBhbmRhYmxlXCIsIFwib25Sb3dcIiwgXCJyb3dDbGFzc05hbWVcIiwgXCJzdW1tYXJ5XCIsIFwic2hvd0hlYWRlclwiLCBcInRhYmxlTGF5b3V0XCIsIFwiY29tcG9uZW50c1wiLCBcImRpcmVjdGlvblwiLCBcInJvd0hvdmVyYWJsZVwiXSk7XG4gICAgdm9pZCBfc2Nyb2xsO1xuICAgIGNvbnN0IGNscyA9IGNsYXNzbmFtZXMoVEFCTEVfQkxPQ0spO1xuICAgIGNvbnN0IGdldFJvd0tleSA9IHVzZU1lbW9pemVkRm4oKHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gdHlwZW9mIHJvd0tleSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyByb3dLZXkocmVjb3JkKVxuICAgICAgICAgICAgOiAoX2EgPSByZWNvcmRbcm93S2V5ICE9PSBudWxsICYmIHJvd0tleSAhPT0gdm9pZCAwID8gcm93S2V5IDogJ2tleSddKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleDtcbiAgICB9KTtcbiAgICBjb25zdCBwaXBlbGluZSA9IHVzZVRhYmxlRGF0YVBpcGVsaW5lKHsgY29sdW1ucywgZGF0YVNvdXJjZSwgcGFnaW5hdGlvbiwgb25DaGFuZ2UgfSk7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdXNlVGFibGVTZWxlY3Rpb24oe1xuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIGRhdGFTb3VyY2UsXG4gICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBwaXBlbGluZS5jdXJyZW50RGF0YVNvdXJjZSxcbiAgICAgICAgZ2V0Um93S2V5LFxuICAgIH0pO1xuICAgIGNvbnN0IGV4cGFuZCA9IHVzZVRhYmxlRXhwYW5kKHsgZXhwYW5kYWJsZSwgZGF0YVNvdXJjZSwgZ2V0Um93S2V5IH0pO1xuICAgIGNvbnN0IHJlbmRlcmVkQ29sdW1ucyA9IHVzZVRhYmxlQ29sdW1ucyh7XG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIHNpemUsXG4gICAgICAgIHZhcmlhbnQsXG4gICAgICAgIGV4cGFuZGFibGUsXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5czogZXhwYW5kLm1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgdHJpZ2dlckV4cGFuZDogZXhwYW5kLnRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHJvd1NlbGVjdGlvbixcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3Rpb24ubWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwOiBzZWxlY3Rpb24uY2hlY2tib3hQcm9wc01hcCxcbiAgICAgICAgaXNBbGxTZWxlY3RlZDogc2VsZWN0aW9uLmlzQWxsU2VsZWN0ZWQsXG4gICAgICAgIGlzSW5kZXRlcm1pbmF0ZTogc2VsZWN0aW9uLmlzSW5kZXRlcm1pbmF0ZSxcbiAgICAgICAgdHJpZ2dlclNlbGVjdGlvbjogc2VsZWN0aW9uLnRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGw6IHNlbGVjdGlvbi50cmlnZ2VyU2VsZWN0QWxsLFxuICAgICAgICBzb3J0ZXI6IHBpcGVsaW5lLnNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyOiBwaXBlbGluZS5zZXRTb3J0ZXIsXG4gICAgICAgIGZpbHRlcnM6IHBpcGVsaW5lLmZpbHRlcnMsXG4gICAgICAgIHNldEZpbHRlcnM6IHBpcGVsaW5lLnNldEZpbHRlcnMsXG4gICAgICAgIGdldFJvd0tleSxcbiAgICB9KTtcbiAgICAvLyBEZXYtb25seSB3YXJuaW5nOiBtaXhpbmcgcm93LWV4cGFuc2lvbiB3aXRoIHRyZWUtZGF0YSAoY2hpbGRyZW5Db2x1bW5OYW1lKVxuICAgIC8vIHByb2R1Y2VzIHR3byBjaGV2cm9ucyBwZXIgcm93ICh0aGUgbGVmdG1vc3QgX19leHBhbmRfXyBjb2x1bW4gZnJvbSB0aGUgd3JhcHBlclxuICAgIC8vIHBsdXMgdGhlIGtlcm5lbCdzIHBlci1pbmRlbnQgbmVzdCBleHBhbmQpLiByYy10YWJsZSAvIGFudGQgaGF2ZSB0aGUgc2FtZSBnYXA7XG4gICAgLy8gcGljayBvbmUgbW9kZSBhdCBhIHRpbWUuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAoKF9hID0gcHJvY2Vzcy5lbnYpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5OT0RFX0VOVikgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAoKGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlcikgJiYgY2hpbGRyZW5Db2x1bW5OYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignW2NvbXBvbmVudHMtdWkgVGFibGVdIENvbWJpbmluZyBgZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlcmAgd2l0aCBgY2hpbGRyZW5Db2x1bW5OYW1lYCBpcyBub3Qgc3VwcG9ydGVkIOKAlCB0aGUgbGVmdG1vc3QgZXhwYW5kIGNvbHVtbiB3aWxsIHJlbmRlciBhbG9uZ3NpZGUgdGhlIG5lc3RlZCB0cmVlIGV4cGFuZGVyLiBVc2Ugb25lIG1vZGUgYXQgYSB0aW1lLicpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHdyYXBwZWRFeHBhbmRlZFJvd1JlbmRlciA9IHVzZU1lbW9pemVkRm4oKHJlY29yZCwgaW5kZXgsIGluZGVudCwgZXhwYW5kZWQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAvLyBIb25vciBgcm93RXhwYW5kYWJsZWA6IGV2ZW4gaWYgYSBub24tZXhwYW5kYWJsZSByb3cncyBrZXkgc25lYWtzIGludG9cbiAgICAgICAgLy8gYGV4cGFuZGVkUm93S2V5c2AsIHJlZnVzZSB0byByZW5kZXIgaXRzIGV4cGFuc2lvbiBjb250ZW50LlxuICAgICAgICBpZiAoKGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlKSAmJiAhZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlKHJlY29yZCkpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIChfanN4KEV4cGFuZGVkUm93Q29udGFpbmVyLCB7IGNoaWxkcmVuOiAoX2EgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZXhwYW5kZWRSb3dSZW5kZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGV4cGFuZGFibGUsIHJlY29yZCwgaW5kZXgsIGluZGVudCwgZXhwYW5kZWQpIH0pKTtcbiAgICB9KTtcbiAgICAvLyBXaXJlIGtlcm5lbCdzIG9uRXhwYW5kICh0cmlnZ2VyZWQgYnkgZXhwYW5kUm93QnlDbGljaykgdG8gb3VyIHN0YXRlLlxuICAgIGNvbnN0IGtlcm5lbE9uRXhwYW5kID0gdXNlTWVtb2l6ZWRGbigoZXhwYW5kZWQsIHJlY29yZCkgPT4ge1xuICAgICAgICAvLyBUaGUga2VybmVsIHBhc3NlcyBhIHJlY29yZCBmcm9tIGBjdXJyZW50RGF0YVNvdXJjZWAgKHBvc3Qgc29ydC9maWx0ZXIvcGFnaW5hdGUpLlxuICAgICAgICAvLyBMb29raW5nIGl0IHVwIGFnYWluc3QgdGhlIHJhdyBgZGF0YVNvdXJjZWAgcmV0dXJucyAtMSB3aGVuIHRoZSBjb25zdW1lclxuICAgICAgICAvLyByZWNyZWF0ZXMgdGhlIGFycmF5IGVhY2ggcmVuZGVyLCBvciBhIHBvc2l0aW9uYWxseSB3cm9uZyBpbmRleCBhZnRlciBzb3J0LlxuICAgICAgICAvLyBVc2UgYGN1cnJlbnREYXRhU291cmNlYCBzbyB0aGUgaW5kZXggbWF0Y2hlcyB3aGF0IHRoZSBrZXJuZWwgYWN0dWFsbHkgc2Vlcy5cbiAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgcGlwZWxpbmUuY3VycmVudERhdGFTb3VyY2UuaW5kZXhPZihyZWNvcmQpKTtcbiAgICAgICAgZXhwYW5kLm9uS2VybmVsRXhwYW5kKGV4cGFuZGVkLCByZWNvcmQsIHJlY29yZEtleSk7XG4gICAgfSk7XG4gICAgY29uc3QgbWVyZ2VkRXhwYW5kYWJsZSA9IHVzZU1lbW8oKCkgPT4gZXhwYW5kYWJsZVxuICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXhwYW5kYWJsZSksIHsgZXhwYW5kZWRSb3dLZXlzOiBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCBleHBhbmRlZFJvd1JlbmRlcjogZXhwYW5kYWJsZS5leHBhbmRlZFJvd1JlbmRlclxuICAgICAgICAgICAgICAgID8gd3JhcHBlZEV4cGFuZGVkUm93UmVuZGVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsIHNob3dFeHBhbmRDb2x1bW46IGZhbHNlLCBvbkV4cGFuZDoga2VybmVsT25FeHBhbmQgfSlcbiAgICAgICAgOiB1bmRlZmluZWQsIFtleHBhbmRhYmxlLCBleHBhbmQubWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB3cmFwcGVkRXhwYW5kZWRSb3dSZW5kZXIsIGtlcm5lbE9uRXhwYW5kXSk7XG4gICAgY29uc3QgcmVzb2x2ZWRQYWdpbmF0aW9uID0gcGlwZWxpbmUucGFnaW5hdGlvbiA9PT0gZmFsc2VcbiAgICAgICAgPyB7IGN1cnJlbnQ6IDEsIHBhZ2VTaXplOiAxMCB9XG4gICAgICAgIDogcGlwZWxpbmUucGFnaW5hdGlvbjtcbiAgICBjb25zdCBwYWdpbmF0aW9uTm9kZSA9IHBhZ2luYXRpb24gIT09IGZhbHNlID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tcGFnaW5hdGlvbmAsIGNoaWxkcmVuOiBfanN4KFBhZ2luYXRpb24sIHsgdG90YWw6IHBpcGVsaW5lLnRvdGFsLCBwYWdlU2l6ZTogcmVzb2x2ZWRQYWdpbmF0aW9uLnBhZ2VTaXplLCBjdXJyZW50OiByZXNvbHZlZFBhZ2luYXRpb24uY3VycmVudCwgb25DaGFuZ2U6IChuZXh0UGFnZSwgbmV4dFBhZ2VTaXplKSA9PiBwaXBlbGluZS5zZXRQYWdpbmF0aW9uKChjdXJyZW50UGFnaW5hdGlvbikgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFBhZ2luYXRpb24pLCB7IGN1cnJlbnQ6IG5leHRQYWdlLCBwYWdlU2l6ZTogbmV4dFBhZ2VTaXplIH0pKSkgfSkgfSkpIDogbnVsbDtcbiAgICBjb25zdCB3cmFwcGVyQ2xhc3NOYW1lID0gam9pbkNscyhgJHtwcmVmaXhDbHN9LXdyYXBwZXJgLCBsb2FkaW5nICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tbG9hZGluZ2AsIGJvcmRlcmVkICYmIGAke3ByZWZpeENsc30td3JhcHBlci0tYm9yZGVyZWRgKTtcbiAgICBjb25zdCB0YWJsZUNsYXNzTmFtZSA9IGpvaW5DbHMoY2xzKCksIGNscyhzaXplKSwgY2xzKHZhcmlhbnQpLCBjbGFzc05hbWUpO1xuICAgIGNvbnN0IGVtcHR5VGV4dCA9IGxvYWRpbmcgJiYgIWRhdGFTb3VyY2UubGVuZ3RoID8gX2pzeChcInNwYW5cIiwge30pIDogX2pzeChUYWJsZUVtcHR5U3RhdGUsIHsgZW1wdHk6IGVtcHR5IH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAgd3JhcHBlckNsYXNzTmFtZSxcbiAgICAgICAgdGFibGVDbGFzc05hbWUsXG4gICAgICAgIGxvYWRpbmcsXG4gICAgICAgIHJlbmRlcmVkQ29sdW1ucyxcbiAgICAgICAgY3VycmVudERhdGFTb3VyY2U6IHBpcGVsaW5lLmN1cnJlbnREYXRhU291cmNlLFxuICAgICAgICBtZXJnZWRFeHBhbmRhYmxlLFxuICAgICAgICBlbXB0eVRleHQsXG4gICAgICAgIHdyYXBwZXJIdG1sUHJvcHM6IHJlc3QsXG4gICAgICAgIGZvcndhcmRlZEtlcm5lbFByb3BzOiB7XG4gICAgICAgICAgICByb3dLZXk6IHJvd0tleSxcbiAgICAgICAgICAgIGNoaWxkcmVuQ29sdW1uTmFtZSxcbiAgICAgICAgICAgIGluZGVudFNpemUsXG4gICAgICAgICAgICBvblJvdyxcbiAgICAgICAgICAgIHJvd0NsYXNzTmFtZSxcbiAgICAgICAgICAgIHN1bW1hcnksXG4gICAgICAgICAgICBzaG93SGVhZGVyLFxuICAgICAgICAgICAgdGFibGVMYXlvdXQsXG4gICAgICAgICAgICBjb21wb25lbnRzLFxuICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgcm93SG92ZXJhYmxlLFxuICAgICAgICAgICAgc3RpY2t5LFxuICAgICAgICB9LFxuICAgICAgICBwYWdpbmF0aW9uTm9kZSxcbiAgICB9O1xufTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -16,7 +16,14 @@ var ExpandTrigger = exports.ExpandTrigger = function ExpandTrigger(_ref) {
|
|
|
16
16
|
"aria-label": "Expand row",
|
|
17
17
|
"aria-expanded": expanded,
|
|
18
18
|
className: "".concat(_constants.TABLE_DEFAULT_PREFIX, "-expand-trigger"),
|
|
19
|
-
onClick:
|
|
19
|
+
onClick: function onClick(e) {
|
|
20
|
+
// Without stopPropagation, clicks on the chevron would also bubble up
|
|
21
|
+
// to the row, double-firing the kernel's onTriggerExpand handler when
|
|
22
|
+
// `expandRowByClick` is enabled (net effect: no change). Match the
|
|
23
|
+
// behavior of the custom expandIcon path in `useTableColumns`.
|
|
24
|
+
e.stopPropagation();
|
|
25
|
+
onToggle();
|
|
26
|
+
},
|
|
20
27
|
children: (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
21
28
|
name: "chevronDown",
|
|
22
29
|
size: 16,
|
|
@@ -28,4 +35,4 @@ var ExpandTrigger = exports.ExpandTrigger = function ExpandTrigger(_ref) {
|
|
|
28
35
|
})
|
|
29
36
|
});
|
|
30
37
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX0ljb25zIiwiX2NvbnN0YW50cyIsIkV4cGFuZFRyaWdnZXIiLCJleHBvcnRzIiwiX3JlZiIsImV4cGFuZGVkIiwib25Ub2dnbGUiLCJfanN4Iiwicm9sZSIsInR5cGUiLCJjbGFzc05hbWUiLCJjb25jYXQiLCJUQUJMRV9ERUZBVUxUX1BSRUZJWCIsIm9uQ2xpY2siLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2hpbGRyZW4iLCJJY29ucyIsIm5hbWUiLCJzaXplIiwiY29sb3IiLCJzdHlsZSIsInRyYW5zZm9ybSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBRU8sSUFBTUcsYUFBYSxHQUFBQyxPQUFBLENBQUFELGFBQUEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUUsSUFBQTtFQUFBLElBQ3hCQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtJQUNSQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtFQUFBLE9BS1IsSUFBQUMsZUFBQSxFQUFBLFFBQUEsRUFBQTtJQUNFQyxJQUFJLEVBQUMsUUFBUTtJQUNiQyxJQUFJLEVBQUMsUUFBUTtJQUFBLFlBQUEsRUFDRixZQUFZO0lBQUEsZUFBQSxFQUNSSixRQUFRO0lBQ3ZCSyxTQUFTLEtBQUFDLE1BQUEsQ0FBS0MsK0JBQW9CLG9CQUFpQjtJQUNuREMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdDLENBQUMsRUFBSTtNQUNiO01BQ0E7TUFDQTtNQUNBO01BQ0FBLENBQUMsQ0FBQ0MsZUFBZSxDQUFBLENBQUU7TUFDbkJULFFBQVEsQ0FBQSxDQUFFO0lBQ1osQ0FBQztJQUFBVSxRQUFBLEVBRUQsSUFBQVQsZUFBQSxFQUFDVSxZQUFLLEVBQUE7TUFDSkMsSUFBSSxFQUFDLGFBQWE7TUFDbEJDLElBQUksRUFBRSxFQUFFO01BQ1JDLEtBQUssRUFBQyxjQUFjO01BQ3BCVixTQUFTLEtBQUFDLE1BQUEsQ0FBS0MsK0JBQW9CLDBCQUF1QjtNQUN6RFMsS0FBSyxFQUFFO1FBQ0xDLFNBQVMsRUFBRWpCLFFBQVEsR0FBRyxnQkFBZ0IsR0FBR2tCO01EbkJ6QztJQ29CRCxDQUFBO0VBQ0QsQ0FBQSxDQUNLO0FBQUEsQ0FDViIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL0V4cGFuZFRyaWdnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9JY29ucyc7XG5pbXBvcnQgeyBUQUJMRV9ERUZBVUxUX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5leHBvcnQgY29uc3QgRXhwYW5kVHJpZ2dlciA9ICh7IGV4cGFuZGVkLCBvblRvZ2dsZSwgfSkgPT4gKF9qc3goXCJidXR0b25cIiwgeyByb2xlOiAnYnV0dG9uJywgdHlwZTogXCJidXR0b25cIiwgXCJhcmlhLWxhYmVsXCI6IFwiRXhwYW5kIHJvd1wiLCBcImFyaWEtZXhwYW5kZWRcIjogZXhwYW5kZWQsIGNsYXNzTmFtZTogYCR7VEFCTEVfREVGQVVMVF9QUkVGSVh9LWV4cGFuZC10cmlnZ2VyYCwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgLy8gV2l0aG91dCBzdG9wUHJvcGFnYXRpb24sIGNsaWNrcyBvbiB0aGUgY2hldnJvbiB3b3VsZCBhbHNvIGJ1YmJsZSB1cFxuICAgICAgICAvLyB0byB0aGUgcm93LCBkb3VibGUtZmlyaW5nIHRoZSBrZXJuZWwncyBvblRyaWdnZXJFeHBhbmQgaGFuZGxlciB3aGVuXG4gICAgICAgIC8vIGBleHBhbmRSb3dCeUNsaWNrYCBpcyBlbmFibGVkIChuZXQgZWZmZWN0OiBubyBjaGFuZ2UpLiBNYXRjaCB0aGVcbiAgICAgICAgLy8gYmVoYXZpb3Igb2YgdGhlIGN1c3RvbSBleHBhbmRJY29uIHBhdGggaW4gYHVzZVRhYmxlQ29sdW1uc2AuXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG9uVG9nZ2xlKCk7XG4gICAgfSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGV2cm9uRG93blwiLCBzaXplOiAxNiwgY29sb3I6IFwiY3VycmVudENvbG9yXCIsIGNsYXNzTmFtZTogYCR7VEFCTEVfREVGQVVMVF9QUkVGSVh9LWV4cGFuZC10cmlnZ2VyX19pY29uYCwgc3R5bGU6IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogZXhwYW5kZWQgPyAncm90YXRlKDE4MGRlZyknIDogdW5kZWZpbmVkLFxuICAgICAgICB9IH0pIH0pKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -10,11 +10,10 @@ export type TableSortOrder = 'ascend' | 'descend' | null;
|
|
|
10
10
|
export type TableAction = 'paginate' | 'sort' | 'filter';
|
|
11
11
|
export type TableLayout = 'auto' | 'fixed';
|
|
12
12
|
export type TableDirection = 'ltr' | 'rtl';
|
|
13
|
-
/** Default record shape
|
|
13
|
+
/** Default record shape. */
|
|
14
14
|
export type TableRecord = Record<string, any>;
|
|
15
15
|
/**
|
|
16
16
|
* Path used to derive a value from a record. Re-exported from the kernel so the
|
|
17
|
-
* public API supports the same shapes as `rc-table` (string / number / array /
|
|
18
17
|
* recursive deep paths) instead of the previous narrower union.
|
|
19
18
|
*/
|
|
20
19
|
export type TableDataIndex<T extends TableRecord = TableRecord> = InternalDataIndex<T>;
|
|
@@ -196,6 +195,8 @@ export interface TableExpandableConfig<T extends TableRecord = TableRecord> {
|
|
|
196
195
|
expandRowByClick?: boolean;
|
|
197
196
|
showExpandColumn?: boolean;
|
|
198
197
|
expandIcon?: (props: TableExpandIconProps<T>) => ReactNode;
|
|
198
|
+
/** Header label rendered on the auto-injected expand column. */
|
|
199
|
+
columnTitle?: ReactNode;
|
|
199
200
|
columnWidth?: number | string;
|
|
200
201
|
fixed?: 'left' | 'right' | boolean;
|
|
201
202
|
onExpand?: (expanded: boolean, record: T) => void;
|
|
@@ -217,7 +218,7 @@ export interface TableProps<T extends TableRecord = TableRecord> extends Omit<HT
|
|
|
217
218
|
/**
|
|
218
219
|
* Row key for tracking. Accepts:
|
|
219
220
|
* - `string` — a property name, including synthetic keys not statically known on `T`
|
|
220
|
-
* (e.g. records carrying an injected `key` field).
|
|
221
|
+
* (e.g. records carrying an injected `key` field).
|
|
221
222
|
* - `keyof T` — type-checked property name.
|
|
222
223
|
* - `(record) => Key` — function form for composite or computed keys.
|
|
223
224
|
* Defaults to `'key'` at runtime (kernel falls back to row index if the field is absent).
|