/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/table-max@0.0.8/dist/ali-react-table.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var pipeline=require("./chunks/ali-react-table-pipeline-276c4c97.js"),React=require("react"),styled=require("styled-components"),rxjs=require("rxjs"),op=require("rxjs/operators"),cx=require("classnames");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}require("resize-observer-polyfill");var React__default=_interopDefaultLegacy(React),styled__default=_interopDefaultLegacy(styled),op__namespace=_interopNamespace(op),cx__default=_interopDefaultLegacy(cx);function groupBy(e,t){const n={};for(const r of e){const e=t(r);null==n[e]&&(n[e]=[]),n[e].push(r)}return n}function applyTransforms(e,...t){return t.reduce(((e,t)=>t(e)),e)}function buildTree$1(e,t,n){const r=new Map,o=e=>{if(r.has(e))return r.get(e);const t={id:e,parent:null,item:null,children:[]};return r.set(e,t),t};for(const r of n){const n=o(r[t]),a=o(r[e]);a.parent=n,n.children.push(a),a.item=r}return function e(t){const n=[];for(const r of t)0===r.children.length?n.push(r.item):n.push(Object.assign(Object.assign({},r.item),{children:e(r.children)}));return n}(pipeline.flatMap(Array.from(r.values()).filter((e=>null==e.parent)),(e=>e.children)))}function safeGetSpanRect(e,t,n,r){let o=1,a=1;if(e.getSpanRect){const l=pipeline.internals.safeGetValue(e,t,n),i=e.getSpanRect(l,t,n);o=null==i?1:i.right-r,a=null==i?1:i.bottom-n}else{const r=pipeline.internals.safeGetCellProps(e,t,n);null!=r.colSpan&&(o=r.colSpan),null!=r.rowSpan&&(a=r.rowSpan)}return{top:n,bottom:n+a,left:r,right:r+o}}function move({c:e,r:t},n,r){return{c:e+n,r:t+r}}function sanitizeCellDatum(e){return e===1/0||e===-1/0||"number"==typeof e&&isNaN(e)?null:e}function exportTableAsExcel(e,t,n,r){const o=e.utils.aoa_to_sheet([]),a=pipeline.getTreeDepth(n)+1,l={c:0,r:0};function i(t,n){e.utils.sheet_add_aoa(o,[[t]],{origin:n})}function s(e,t,n){1===t&&1===n||(null==o["!merges"]&&(o["!merges"]=[]),o["!merges"].push({s:e,e:move(e,t-1,n-1)}))}!function(e){!function t(n,r,o){var l;const c=move(e,r,o);let u=0;for(const e of n){if(null===(l=e.features)||void 0===l?void 0:l.noExport)continue;const n=move(c,u,0);if(i(e.name,n),pipeline.isLeafNode(e))u+=1,s(n,1,a-o);else{const a=t(e.children,r+u,o+1);s(n,a,1),u+=a}}return u}(n,0,0)}(l),function(r){const a=pipeline.collectNodes(n,"leaf-only").filter((e=>{var t;return!(null===(t=e.features)||void 0===t?void 0:t.noExport)})),l=new pipeline.SpanManager,i=t.map(((e,t)=>(l.stripUpwards(t),a.map(((n,o)=>{if(l.testSkip(t,o))return null;const a=safeGetSpanRect(n,e,t,o),i=a.bottom-a.top,c=a.right-a.left;return(i>1||c>1)&&(l.add(a.top,a.left,c,i),s(move(r,a.left,a.top),c,i)),sanitizeCellDatum(pipeline.internals.safeGetValue(n,e,t))})))));!function(t,n){e.utils.sheet_add_aoa(o,t,{origin:n})}(i,r)}(move(l,0,a)),e.writeFile({SheetNames:["Sheet1"],Sheets:{Sheet1:o}},r)}function layeredSort(e,t){return function n(r){if(!Array.isArray(e))return e;return r.map((e=>pipeline.isLeafNode(e)?e:Object.assign(Object.assign({},e),{children:n(e.children)}))).sort(t)}(e)}const factorySymbol=Symbol("factory-symbol");function isProtoFactory(e){return e&&e[factorySymbol]}function proto(e,t="auto"){const n=Object.keys(e);function r(t){const r=Object.assign({},t);return n.forEach((t=>{var n;if(r[t]===proto.empty)return void delete r[t];const o=e[t];isProtoFactory(o)?r[t]=o(r[t]):r[t]=null!==(n=r[t])&&void 0!==n?n:o})),r}function o(e){return("auto"===t?Array.isArray(e):t)?null==e?[]:e.map(r):r(e)}return o[factorySymbol]=!0,o.extends=e=>{const n=proto(e,t);return e=>o(n(e))},o}function makeRecursiveMapper(e){return t=>function t(n,r,o){let a=0;const l=[];for(const i of n){o.push(i);const n=r+a;let s;if(pipeline.isLeafNode(i))s=e(i,{startIndex:n,endIndex:n+1,path:o.slice(),isLeaf:!0}),a+=1;else{const r=t(i.children,n,o);s=e(Object.assign(Object.assign({},i),{children:r.result}),{startIndex:n,endIndex:n+r.flatCount,path:o.slice(),isLeaf:!1}),a+=r.flatCount}Array.isArray(s)?l.push(...s):null!=s&&l.push(s),o.pop()}return{result:l,flatCount:a}}(t,0,[]).result}function smartCompare(e,t){if(null==e)return 1;if(null==t)return-1;if("number"==typeof e&&"number"==typeof t)return e-t;if("string"==typeof e&&"string"==typeof t)return e<t?-1:e>t?1:0;if(Array.isArray(e)&&Array.isArray(t)){const n=Math.min(e.length,t.length);for(let r=0;r<n;r++){const n=smartCompare(e[r],t[r]);if(0!==n)return n}return e.length-t.length}return 0}function normalizeAsArray(e){return null==e?[]:Array.isArray(e)?e:[e]}function traverseColumn(e){return({columns:t,dataSource:n})=>({dataSource:n,columns:function t(r,o){let a=0;const l=[];for(const i of r){const r=o+a;let s;if(pipeline.isLeafNode(i))s=e(i,{range:{start:r,end:r+1},dataSource:n}),a+=1;else{const o=t(i.children,r);s=e(Object.assign(Object.assign({},i),{children:o.result}),{range:{start:r,end:r+o.flatColCount},dataSource:n}),a+=o.flatColCount}l.push(...normalizeAsArray(s))}return{result:l,flatColCount:a}}(t,0).result})}proto.empty=Symbol("proto.empty"),proto.string=e=>{if(null!=e&&"string"!=typeof e)throw new Error("must be string");return e},proto.string[factorySymbol]=!0,proto.number=e=>{if(null!=e&&"number"!=typeof e)throw new Error("must be number");return e},proto.number[factorySymbol]=!0,proto.notNull=e=>{if(null==e)throw new Error("must be not null");return e},proto.notNull[factorySymbol]=!0,proto.object=e=>proto(e,!1),proto.array=e=>proto(e,!0);const warnedSet=new Set;function warnTransformsDeprecated(e){warnedSet.has(e)||(warnedSet.add(e),console.warn(`[ali-react-table] transform 用法已经过时，请使用 pipeline 来对表格进行拓展\n  请移除以下 API 的调用：${e}`))}function isIdentity$1(e,t){return e===t}function makeAutoRowSpanTransform(){return warnTransformsDeprecated("makeAutoRowSpanTransform"),traverseColumn(((e,{dataSource:t,range:n})=>{var r;if(!(null===(r=e.features)||void 0===r?void 0:r.autoRowSpan))return e;if(!pipeline.isLeafNode(e))return e;const o="function"==typeof e.features.autoRowSpan?e.features.autoRowSpan:isIdentity$1,a=[];let l=0,i=null,s=null;for(let r=0;r<t.length;r++){const c=t[r],u=pipeline.internals.safeGetValue(e,c,r);if(0===r||!o(i,u,s,c)){const e={top:l,bottom:r,left:n.start,right:n.end};for(let t=l;t<r;t++)a.push(e);l=r}i=u,s=c}for(let e=l;e<t.length;e++)a.push({top:l,bottom:t.length,left:n.start,right:n.end});return Object.assign(Object.assign({},e),{getSpanRect:(e,t,n)=>a[n]})}))}const AUTO_WIDTH_WRAPPER_CLS="auto-width-wrapper",AUTO_WIDTH_EXPANDER_CLS="auto-width-expander",AutoWidthWrapper=styled__default.default.div`
  height: 100%;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 8px 12px;
`;function isSameArray(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function useAutoWidthTransform(e,t,n){warnTransformsDeprecated("useAutoWidthTransform");const[r,o]=React.useState([]);React.useEffect((()=>{const t=e.current.getDoms().artTable,n=Array.from(t.querySelectorAll(`.${pipeline.Classes.tableRow}`));if(0===n.length)return;const a=[];for(const e of n){e.querySelectorAll(".auto-width-wrapper").forEach(((e,t)=>{var n;a[t]=Math.max(null!==(n=a[t])&&void 0!==n?n:0,e.scrollWidth)}))}isSameArray(a,r)||o(a)}),n);let a=0;const l=traverseColumn((e=>{var n,o,l;if(!pipeline.isLeafNode(e))return e;if(!(null===(n=e.features)||void 0===n?void 0:n.autoWidth))return e;const{max:i=1/0,min:s=-1/0}=e.features.autoWidth,c=null!==(l=null!==(o=r[a++])&&void 0!==o?o:e.width)&&void 0!==l?l:null==t?void 0:t.initColumnWidth,u=Math.max(s,Math.min(i,c));return Object.assign(Object.assign({},e),{width:u,getCellProps:(t,n,r)=>pipeline.mergeCellProps(pipeline.internals.safeGetCellProps(e,n,r),{style:{padding:0}}),render:(n,r,o)=>React__default.default.createElement(AutoWidthWrapper,{className:"auto-width-wrapper",style:null==t?void 0:t.wrapperStyle},pipeline.internals.safeRender(e,r,o))})}));return e=>{var n;const{columns:r,dataSource:o}=l(e),a=null!==(n=null==t?void 0:t.expanderVisibility)&&void 0!==n?n:"visible";return{columns:(null==t?void 0:t.appendExpander)?r.concat([{name:"",headerCellProps:{className:"auto-width-expander",style:{background:"hidden"===a?"var(--bgcolor)":void 0,border:"hidden"===a?"none":void 0}},getCellProps:()=>({className:"auto-width-expander",style:{visibility:a}})}]):r,dataSource:o}}}function makeBuildTreeTransform(e,t){return warnTransformsDeprecated("makeBuildTreeTransform"),({columns:n,dataSource:r})=>({columns:n,dataSource:buildTree$1(e,t,r)})}function makeColumnHoverTransform({hoverColor:e="var(--hover-bgcolor)",hoverColIndex:t,onChangeHoverColIndex:n}){return warnTransformsDeprecated("makeColumnHoverTransform"),traverseColumn(((r,{range:o})=>{if(!pipeline.isLeafNode(r))return r;const a=o.start<=t&&t<o.end,l=r.getCellProps;return Object.assign(Object.assign({},r),{getCellProps(t,r,i){const s=null==l?void 0:l(t,r,i);return pipeline.mergeCellProps(s,{style:{"--bgcolor":a?e:void 0},onMouseEnter(){n(o.start)},onMouseLeave(){n(-1)}})}})}))}function useColumnHoverTransform({hoverColor:e,defaultHoverColIndex:t=-1}={}){const[n,r]=React.useState(t);return makeColumnHoverTransform({hoverColor:e,hoverColIndex:n,onChangeHoverColIndex:r})}const EMPTY_RANGE$1={start:-1,end:-1};function makeColumnRangeHoverTransform({hoverColor:e="var(--hover-bgcolor)",headerHoverColor:t="var(--header-hover-bgcolor)",hoverRange:n,onChangeHoverRange:r}){return warnTransformsDeprecated("makeColumnRangeHoverTransform"),traverseColumn(((o,{range:a})=>{const l=a.end>n.start&&n.end>a.start;if(!pipeline.isLeafNode(o))return null==t?o:Object.assign(Object.assign({},o),{headerCellProps:pipeline.mergeCellProps(o.headerCellProps,{onMouseEnter(){r(a)},onMouseLeave(){r(EMPTY_RANGE$1)},style:{"--header-bgcolor":l?t:void 0}})});const i=o.getCellProps;return Object.assign(Object.assign({},o),{headerCellProps:pipeline.mergeCellProps(o.headerCellProps,{onMouseEnter(){r(a)},onMouseLeave(){r(EMPTY_RANGE$1)},style:{"--header-bgcolor":l?t:void 0}}),getCellProps(t,n,o){const s=null==i?void 0:i(t,n,o);return pipeline.mergeCellProps(s,{onMouseEnter(){r(a)},onMouseLeave(){r(EMPTY_RANGE$1)},style:{"--bgcolor":l?e:void 0}})}})}))}function useColumnHoverRangeTransform({hoverColor:e,headerHoverColor:t,defaultHoverRange:n=EMPTY_RANGE$1}={}){const[r,o]=React.useState(n);return makeColumnRangeHoverTransform({hoverColor:e,headerHoverColor:t,hoverRange:r,onChangeHoverRange:o})}function clamp$1(e,t,n){return Math.max(e,Math.min(n,t))}const RESIZE_EXPANDER_CLS="resize-expander",ResizeHandle$1=styled__default.default.span`
  position: absolute;
  top: 0;
  bottom: 0;
  right: -5px;
  width: 10px;
  cursor: col-resize;
  z-index: 1;
`;function makeColumnResizeTransform({sizes:e,onChangeSizes:t,minSize:n=40,maxSize:r=1/0,appendExpander:o,expanderVisibility:a="visible",disableUserSelectWhenResizing:l}){warnTransformsDeprecated("makeColumnResizeTransform");const i=traverseColumn(((o,{range:a})=>{var i;if(!pipeline.isLeafNode(o))return o;const s=pipeline.internals.safeRenderHeader(o);return Object.assign(Object.assign({},o),{width:e[a.start],title:React__default.default.createElement(React__default.default.Fragment,null,s,React__default.default.createElement(ResizeHandle$1,{className:"resize-handle",onMouseDown:o=>((o,a)=>{const i=a.clientX,s=e[o],c=rxjs.fromEvent(window,"mousemove").pipe(op__namespace.takeUntil(rxjs.fromEvent(window,"mouseup")),op__namespace.map((t=>{const a=t.clientX,l=e.slice();return l[o]=clamp$1(n,s+(a-i),r),l})));let u,p="";l&&(u=document.documentElement.style,p=u.userSelect,u.userSelect="none"),c.subscribe({next:t,complete(){l&&(u.userSelect=p)}})})(a.start,o)})),headerCellProps:Object.assign(Object.assign({},o.headerCellProps),{style:Object.assign(Object.assign({},null===(i=o.headerCellProps)||void 0===i?void 0:i.style),{overflow:"visible",position:"relative"})})})}));return e=>{const{columns:t,dataSource:n}=i(e);return{columns:o?t.concat([{name:"",headerCellProps:{className:"resize-expander",style:{background:"hidden"===a?"var(--bgcolor)":void 0,border:"hidden"===a?"none":void 0}},getCellProps:()=>({className:"resize-expander",style:{visibility:a}})}]):t,dataSource:n}}}function useColumnResizeTransform(e){var{defaultSizes:t}=e,n=pipeline.__rest(e,["defaultSizes"]);const[r,o]=React.useState(t);return makeColumnResizeTransform(Object.assign({sizes:r,onChangeSizes:o},n))}function makeFlattenTransform(){return warnTransformsDeprecated("makeFlattenTransform"),traverseColumn((e=>{var t;return pipeline.isLeafNode(e)?e:(null===(t=e.features)||void 0===t?void 0:t.flatten)?e.children:e}))}function makeOrderFieldTransform(e=1){return warnTransformsDeprecated("makeOrderFieldTransform"),traverseColumn((t=>{var n,r;return(null===(n=t.features)||void 0===n?void 0:n.order)||(null===(r=t.features)||void 0===r?void 0:r.orderField)?Object.assign(Object.assign({},t),{getValue:(t,n)=>n+e}):t}))}function SortIcon$1({size:e=32,style:t,className:n,order:r}){return React__default.default.createElement("svg",{style:t,className:n,focusable:"false",preserveAspectRatio:"xMidYMid meet",width:e,height:e,viewBox:"0 0 32 32","aria-hidden":"true"},React__default.default.createElement("path",{fill:"asc"===r?"#23A3FF":"#bfbfbf",transform:"translate(0, 4)",d:"M8 8L16 0 24 8z"}),React__default.default.createElement("path",{fill:"desc"===r?"#23A3FF":"#bfbfbf",transform:"translate(0, -4)",d:"M24 24L16 32 8 24z "}))}function DefaultSortHeaderCell$1({children:e,column:t,onToggle:n,sortOrder:r,sortIndex:o,sortOptions:a}){const l="right"===t.align?"flex-end":"center"===t.align?"center":"flex-start";return React__default.default.createElement(TableHeaderCell$1,{onClick:n,style:{justifyContent:l}},e,React__default.default.createElement(SortIcon$1,{style:{userSelect:"none",marginLeft:2,flexShrink:0},size:16,order:r}),"multiple"===a.mode&&-1!=o&&React__default.default.createElement("div",{style:{userSelect:"none",marginLeft:2,color:"#666",flex:"0 0 auto",fontSize:10,fontFamily:"monospace"}},o+1))}function hasAnySortableColumns$1(e){return e.some((e=>{var t;return Boolean(null===(t=e.features)||void 0===t?void 0:t.sortable)||!pipeline.isLeafNode(e)&&hasAnySortableColumns$1(e.children)}))}const TableHeaderCell$1=styled__default.default.div`
  cursor: pointer;
  display: flex;
  align-items: center;
`;function makeSortTransform({sorts:e,onChangeSorts:t,orders:n=["desc","asc","none"],mode:r="multiple",SortHeaderCell:o=DefaultSortHeaderCell$1,keepDataSource:a,highlightColumnWhenActive:l,stopClickEventPropagation:i}){warnTransformsDeprecated("makeSortTransform");const s=e.filter((e=>"none"!==e.order)),c="multiple"===r?s:s.slice(0,1),u="multiple"===r?t:e=>{const n=e.length;t(e.slice(n-1))},p={sorts:c,onChangeSorts:u,orders:n,mode:r,keepDataSource:a,highlightColumnWhenActive:l,stopClickEventPropagation:i},d=new Map(c.map(((e,t)=>[e.code,Object.assign({index:t},e)])));return({dataSource:e,columns:t})=>("production"!==process.env.NODE_ENV&&(hasAnySortableColumns$1(t)||console.warn("[ali-react-table] commonTransform.sort 缺少可排序的列，请通过 column.features.sortable 来指定哪些列可排序",t)),{columns:function(e){return e.map((function e(t){var r;const a=Object.assign({},t),s=t.code&&((null===(r=t.features)||void 0===r?void 0:r.sortable)||d.has(t.code)),f=s&&d.has(t.code);if(s){let e=-1,r="none";if(f){const{order:n,index:o}=d.get(t.code);r=n,e=o,l&&(a.headerCellProps=pipeline.mergeCellProps(t.headerCellProps,{style:{background:"var(--header-highlight-bgcolor)"}}),a.getCellProps=(e,n,r)=>{const o=pipeline.internals.safeGetCellProps(t,n,r);return pipeline.mergeCellProps(o,{style:{background:"var(--highlight-bgcolor)"}})})}a.title=React__default.default.createElement(o,{onToggle:e=>{i&&e.stopPropagation(),function(e){const t=d.get(e);if(null==t)u(c.concat([{code:e,order:n[0]}]));else{const r=c.findIndex((t=>t.code===e)),o=c.slice(0,r+1),a=function(e){const t=n.indexOf(e);return n[t===n.length-1?0:t+1]}(t.order);"none"===a?o.pop():o[r]=Object.assign(Object.assign({},o[r]),{order:a}),u(o)}}(t.code)},sortOrder:r,column:t,sortIndex:e,sortOptions:p},pipeline.internals.safeRenderHeader(t))}pipeline.isLeafNode(t)||(a.children=t.children.map(e));return a}))}(t),dataSource:function(e){if(a)return e;const n=new Map(pipeline.collectNodes(t,"leaf-only").filter((e=>{var t;return null!=(null===(t=e.features)||void 0===t?void 0:t.sortable)})).map((e=>[e.code,e])));return layeredSort(e,((e,t)=>{for(const{code:r,order:o}of c){const a=n.get(r);if(null==a)continue;const l=a.features.sortable,i=("function"==typeof l?l:smartCompare)(pipeline.internals.safeGetValue(a,e,-1),pipeline.internals.safeGetValue(a,t,-1));if(0!==i)return i*("asc"===o?1:-1)}return 0}))}(e)})}function useSortTransform(e={}){var{defaultSorts:t=[]}=e,n=pipeline.__rest(e,["defaultSorts"]);const[r,o]=React.useState(t);return makeSortTransform(Object.assign({sorts:r,onChangeSorts:o},n))}const HeaderCellWithTips$1=styled__default.default.div`
  display: flex;
  align-items: center;

  .tip-icon-wrapper {
    margin-left: 2px;
  }

  .tip-icon {
    display: flex;
    fill: currentColor;
  }
`;function makeTipsTransform({Balloon:e,Tooltip:t}){return warnTransformsDeprecated("makeTipsTransform"),traverseColumn((n=>{var r;if(!(null===(r=n.features)||void 0===r?void 0:r.tips))return n;const o="right"===n.align?"flex-end":"center"===n.align?"center":"flex-start";return Object.assign(Object.assign({},n),{title:React__default.default.createElement(HeaderCellWithTips$1,{style:{justifyContent:o}},pipeline.internals.safeRenderHeader(n),e?React__default.default.createElement(e,{closable:!1,trigger:React__default.default.createElement("div",{className:"tip-icon-wrapper"},React__default.default.createElement(pipeline.icons.Info,{className:"tip-icon"}))},n.features.tips):React__default.default.createElement(t,{title:n.features.tips},React__default.default.createElement("div",{className:"tip-icon-wrapper"},React__default.default.createElement(pipeline.icons.Info,{className:"tip-icon"}))))})}))}function isIdentity(e,t){return e===t}function autoRowSpan(){return function(e){const t=e.getDataSource();return e.mapColumns(makeRecursiveMapper(((e,{startIndex:n,endIndex:r})=>{var o;if(!(null===(o=e.features)||void 0===o?void 0:o.autoRowSpan))return e;if(!pipeline.isLeafNode(e))return e;const a="function"==typeof e.features.autoRowSpan?e.features.autoRowSpan:isIdentity,l=[];let i=0,s=null,c=null;for(let o=0;o<t.length;o++){const u=t[o],p=pipeline.internals.safeGetValue(e,u,o);if(0===o||!a(s,p,c,u)){const e={top:i,bottom:o,left:n,right:r};for(let t=i;t<o;t++)l.push(e);i=o}s=p,c=u}for(let e=i;e<t.length;e++)l.push({top:i,bottom:t.length,left:n,right:r});return Object.assign(Object.assign({},e),{getSpanRect:(e,t,n)=>l[n]})})))}}function buildTree(e,t){return n=>n.mapDataSource((n=>buildTree$1(e,t,n)))}function columnHover(e={}){const t="columnHover";return n=>{var r,o,a,l;const i=null!==(r=e.hoverColor)&&void 0!==r?r:"var(--hover-bgcolor)",s=null!==(l=null!==(a=null!==(o=e.hoverColIndex)&&void 0!==o?o:n.getStateAtKey(t))&&void 0!==a?a:e.defaultHoverColIndex)&&void 0!==l?l:-1,c=r=>{var o;n.setStateAtKey(t,r),null===(o=e.onChangeHoverColIndex)||void 0===o||o.call(e,r)};return n.mapColumns(makeRecursiveMapper(((e,{startIndex:t,endIndex:n})=>{const r={start:t,end:n};if(!pipeline.isLeafNode(e))return e;const o=r.start<=s&&s<r.end,a=e.getCellProps;return Object.assign(Object.assign({},e),{getCellProps(e,t,n){const l=null==a?void 0:a(e,t,n);return pipeline.mergeCellProps(l,{style:{"--bgcolor":o?i:void 0},onMouseEnter(){c(r.start)},onMouseLeave(){c(-1)}})}})})))}}const EMPTY_RANGE={start:-1,end:-1};function columnRangeHover(e={}){const t="columnHover";return function(n){var r,o,a,l,i;const s=null!==(a=null!==(o=null!==(r=e.hoverRange)&&void 0!==r?r:n.getStateAtKey(t))&&void 0!==o?o:e.defaultHoverRange)&&void 0!==a?a:EMPTY_RANGE,c=null!==(l=e.hoverColor)&&void 0!==l?l:"var(--hover-bgcolor)",u=null!==(i=e.headerHoverColor)&&void 0!==i?i:"var(--header-hover-bgcolor)",p=r=>{var o;n.setStateAtKey(t,r),null===(o=e.onChangeHoverRange)||void 0===o||o.call(e,r)};return n.mapColumns(makeRecursiveMapper(((e,{startIndex:t,endIndex:n})=>{const r={start:t,end:n},o=r.end>s.start&&s.end>r.start;if(!pipeline.isLeafNode(e))return null==u?e:Object.assign(Object.assign({},e),{headerCellProps:pipeline.mergeCellProps(e.headerCellProps,{onMouseEnter(){p(r)},onMouseLeave(){p(EMPTY_RANGE)},style:{"--header-bgcolor":o?u:void 0}})});const a=e.getCellProps;return Object.assign(Object.assign({},e),{headerCellProps:pipeline.mergeCellProps(e.headerCellProps,{onMouseEnter(){p(r)},onMouseLeave(){p(EMPTY_RANGE)},style:{"--header-bgcolor":o?u:void 0}}),getCellProps(e,t,n){const l=null==a?void 0:a(e,t,n);return pipeline.mergeCellProps(l,{onMouseEnter(){p(r)},onMouseLeave(){p(EMPTY_RANGE)},style:{"--bgcolor":o?c:void 0}})}})})))}}function clamp(e,t,n){return Math.max(e,Math.min(n,t))}const ResizeHandle=styled__default.default.span`
  position: absolute;
  top: 0;
  bottom: 0;
  right: -5px;
  width: 10px;
  cursor: col-resize;
  z-index: 10;
  transition: background-color 200ms;

  background: ${e=>e["var-handleBackground"]};

  &:hover {
    background: ${e=>e["var-handleHoverBackground"]};
  }
`,ResizeComp=({opts:e,startIndex:t,endIndex:n,sizes:r,minSize:o,maxSize:a,onChangeSizes:l})=>React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ResizeHandle,{className:"resize-handle","var-handleBackground":e.handleBackground,"var-handleHoverBackground":e.handleHoverBackground,onMouseDown:i=>((t,n,i)=>{i.preventDefault();const s=i.clientX,c=i.target;c.style.background=e.handleHoverBackground;const u=e=>{e.preventDefault();const t=e.clientX-s;c.style.right=-t+"px"},p=i=>{window.removeEventListener("mousemove",u),window.removeEventListener("mouseup",p),c.style.right="-3px",c.style.background=e.handleBackground;const d=i.clientX,f=r.slice(),m=d-s,g=r.slice(t,n).reduce(((e,t)=>e+t),0);let h=m;for(let e=t;e<n-1;e++){const t=r[e],n=Math.round(m*(t/g));f[e]=clamp(o,t+n,a),h-=n}f[n-1]=clamp(o,r[n-1]+h,a),l(f)};window.addEventListener("mousemove",u),window.addEventListener("mouseup",p)})(t,n,i)}));function columnResize(e={}){var t,n,r;const o="columnResize",a=null!==(t=e.minSize)&&void 0!==t?t:60,l=null!==(n=e.fallbackSize)&&void 0!==n?n:150,i=null!==(r=e.maxSize)&&void 0!==r?r:1e3;return function(t){var n,r,s;const c=null!==(s=null!==(r=null!==(n=e.sizes)&&void 0!==n?n:t.getStateAtKey(o))&&void 0!==r?r:e.defaultSizes)&&void 0!==s?s:[];pipeline.collectNodes(t.getColumns(),"leaf-only").forEach(((e,t)=>{null==c[t]&&("number"==typeof e.width?c[t]=e.width:c[t]=l)}));const u=n=>{var r;t.setStateAtKey(o,n),null===(r=e.onChangeSizes)||void 0===r||r.call(e,n)};return t.mapColumns(makeRecursiveMapper(((t,{startIndex:n,endIndex:r})=>{const o=pipeline.internals.safeRenderHeader(t);return Object.assign(Object.assign({},t),{width:c[n],title:o,resizeComp:React__default.default.createElement(ResizeComp,{opts:e,startIndex:n,endIndex:r,sizes:c,minSize:a,maxSize:i,onChangeSizes:u}),headerCellProps:pipeline.mergeCellProps(t.headerCellProps,{style:{overflow:"visible",position:"relative"}})})})),"column-resize")}}function multiSelect(e={}){return function(t){var n,r,o,a,l,i,s,c,u,p;const d="multiSelect",f=t.ctx.components.Checkbox;if(null==f)throw new Error("使用 multiSelect 之前需要设置 pipeline.ctx.components.Checkbox");const m=t.ensurePrimaryKey("multiSelect"),g=null!==(n=e.isDisabled)&&void 0!==n?n:pipeline.always(!1),h=null!==(r=e.clickArea)&&void 0!==r?r:"checkbox",v=null!==(i=null!==(l=null!==(o=e.value)&&void 0!==o?o:null===(a=t.getStateAtKey(d))||void 0===a?void 0:a.value)&&void 0!==l?l:e.defaultValue)&&void 0!==i?i:[],C=null!==(p=null!==(u=null!==(s=e.lastKey)&&void 0!==s?s:null===(c=t.getStateAtKey(d))||void 0===c?void 0:c.lastKey)&&void 0!==u?u:e.defaultLastKey)&&void 0!==p?p:"",y=(n,r,o,a)=>{var l;null===(l=e.onChange)||void 0===l||l.call(e,n,r,o,a),t.setStateAtKey(d,{value:n,lastKey:r},{keys:o,action:a})},b=t.getDataSource(),S=new Set,x=[];b.forEach(((e,t)=>{const n=pipeline.internals.safeGetRowKey(m,e,t);S.add(n),g(e,t)||x.push(n)}));const _=new Set(v),k=x.length>0&&x.every((e=>_.has(e))),w=x.some((e=>_.has(e))),R=e.getHeaderCheckboxProps?e.getHeaderCheckboxProps():{},T=React__default.default.createElement(f,Object.assign({checked:k,indeterminate:!k&&w,onChange:e=>{k?y(pipeline.arrayUtils.diff(v,x),"",x,"uncheck-all"):y(pipeline.arrayUtils.merge(v,x),"",x,"check-all")}},R)),E=Object.assign(Object.assign({name:"__select__",title:T,width:50,align:"center"},e.checkboxColumn),{getCellProps(t,n,r){const o=pipeline.internals.safeGetRowKey(m,n,r);if(S.has(o)&&"cell"===h){const t=_.has(o),a=g(n,r);return{style:{cursor:a?"not-allowed":"pointer"},onClick:a?void 0:n=>{e.stopClickEventPropagation&&n.stopPropagation(),P(t,o,n.shiftKey)}}}},render(t,n,r){const o=pipeline.internals.safeGetRowKey(m,n,r),a=_.has(o);let l=e.getCheckboxProps?e.getCheckboxProps(n,r):{};return React__default.default.createElement(f,Object.assign({checked:a,disabled:g(n,r),onChange:"checkbox"===h?(t,n)=>{var r;const l=null!==(r=null==n?void 0:n.nativeEvent)&&void 0!==r?r:t.nativeEvent;l&&(e.stopClickEventPropagation&&l.stopPropagation(),P(a,o,l.shiftKey))}:void 0},l))}});function P(e,t,n){let r=[t];if(n&&C){const e=x.indexOf(C),n=x.indexOf(t),[o,a]=e<n?[e,n]:[n,e];r=x.slice(o,a+1)}e?y(pipeline.arrayUtils.diff(v,r),t,r,"uncheck"):y(pipeline.arrayUtils.merge(v,r),t,r,"check")}return t.mapColumns((n=>{var r;const o=n.slice().filter((e=>"__select__"!==e.name));return"start"===(null!==(r=e.checkboxPlacement)&&void 0!==r?r:"start")?o.unshift(E):o.push(E),t.appendRowPropsGetter(((t,n)=>{const r=pipeline.internals.safeGetRowKey(m,t,n);if(!S.has(r))return;let o,a,l={};const i=_.has(r);if(e.highlightRowWhenSelected&&i&&(o="highlight"),"row"===h){g(t,n)||(l.cursor="pointer",a=t=>{e.stopClickEventPropagation&&t.stopPropagation(),P(i,r,t.shiftKey)})}return{className:o,style:l,onClick:a}})),o}),"select"),t}}const rowDetailSymbol=Symbol("row-detail"),fallbackRenderDetail=()=>React__default.default.createElement("div",{style:{margin:"8px 24px"}},React__default.default.createElement("b",{style:{color:"indianred"}},"设置 ",React__default.default.createElement("code",null,"rowDetail.renderDetail")," 来自定义详情内容"));function rowDetail(e={}){return function(t){var n,r,o,a,l,i,s,c;const u="rowDetail",p=t.ensurePrimaryKey("rowDetail");if("string"!=typeof p)throw new Error("rowDetail 仅支持字符串作为 primaryKey");const d=null!==(n=e.rowDetailMetaKey)&&void 0!==n?n:rowDetailSymbol,f=t.ctx.indents,m=f.iconIndent+f.iconWidth+f.iconGap,g=null!==(r=e.clickArea)&&void 0!==r?r:"cell",h=null!==(o=e.getDetailKey)&&void 0!==o?o:e=>e[p]+"_detail",v=null!==(a=e.renderDetail)&&void 0!==a?a:fallbackRenderDetail,C=null!==(l=e.hasDetail)&&void 0!==l?l:pipeline.always(!0),y=null!==(c=null!==(s=null!==(i=e.openKeys)&&void 0!==i?i:t.getStateAtKey(u))&&void 0!==s?s:e.defaultOpenAll?t.getDataSource().filter(C).map((e=>e[p])):e.defaultOpenKeys)&&void 0!==c?c:[],b=(n,r,o)=>{var a;null===(a=e.onChangeOpenKeys)||void 0===a||a.call(e,n,r,o),t.setStateAtKey(u,n,{key:r,action:o})},S=new Set(y),x=e=>{S.has(e)?b(y.filter((t=>t!==e)),e,"collapse"):b([...y,e],e,"expand")};return t.dataSource(pipeline.flatMap(t.getDataSource(),((e,t)=>S.has(e[p])?[e,Object.assign(Object.assign({[d]:!0},e),{[p]:h(e,t)})]:[e]))).columns(function(t){if(0===t.length)return t;const n=pipeline.collectNodes(t,"leaf-only").length,[r,...o]=t;return[Object.assign(Object.assign({},r),{title:React__default.default.createElement("div",{style:{display:"inline-block",marginLeft:m}},pipeline.internals.safeRenderHeader(r)),render:(t,n,o)=>{if(n[d])return v(n,o);const a=pipeline.internals.safeRender(r,n,o);if(!C(n,o))return React__default.default.createElement(pipeline.InlineFlexCell,{style:{marginLeft:m}},a);const l=n[p],i=t=>{e.stopClickEventPropagation&&t.stopPropagation(),x(l)},s=S.has(l)?"expanded":"collapsed";return React__default.default.createElement(pipeline.ExpansionCell,{className:cx__default.default("expansion-cell",s),style:{cursor:"content"===g?"pointer":void 0},onClick:"content"===g?i:void 0},React__default.default.createElement(pipeline.icons.CaretRight,{style:{cursor:"icon"===g?"pointer":void 0,marginLeft:f.iconIndent,marginRight:f.iconGap},className:cx__default.default("expansion-icon",s),onClick:"icon"===g?i:void 0}),a)},getCellProps:"cell"===g?(t,n,o)=>{var a;if(n[d])return{style:Object.assign({"--cell-padding":"0",overflow:"hidden"},e.detailCellStyle)};const l=null===(a=r.getCellProps)||void 0===a?void 0:a.call(r,t,n,o);return C(n,o)?pipeline.mergeCellProps(l,{onClick(t){e.stopClickEventPropagation&&t.stopPropagation(),x(n[p])},style:{cursor:"pointer"}}):l}:r.getCellProps,getSpanRect(e,t,r){if(t[d])return{top:r,bottom:r+1,left:0,right:n}}}),...o]}(t.getColumns())).appendRowPropsGetter((e=>{if(e[d])return{className:"no-hover"}}))}}const groupingMetaSymbol=Symbol("row-grouping-meta");function attachGroupingMeta(e){return Object.assign({[groupingMetaSymbol]:{expandable:!pipeline.isLeafNode(e)}},e)}function getGroupingMeta(e){return null==e[groupingMetaSymbol]?{isGroupHeader:!1,expandable:!1}:{isGroupHeader:!0,expandable:e[groupingMetaSymbol].expandable}}function rowGroupingRowPropsGetter(e){if(getGroupingMeta(e).isGroupHeader)return{className:"alternative"}}function rowGrouping(e={}){return t=>{var n,r,o;const a="rowGrouping",l=t.ctx.indents,i=l.iconIndent+l.iconWidth+l.iconGap,s=t.ensurePrimaryKey("rowGrouping");if("string"!=typeof s)throw new Error("rowGrouping 仅支持字符串作为 primaryKey");const c=null!==(o=null!==(r=null!==(n=e.openKeys)&&void 0!==n?n:t.getStateAtKey(a))&&void 0!==r?r:e.defaultOpenAll?t.getDataSource().map((e=>e[s])):e.defaultOpenKeys)&&void 0!==o?o:[],u=new Set(c),p=(n,r,o)=>{var l;null===(l=e.onChangeOpenKeys)||void 0===l||l.call(e,n,r,o),t.setStateAtKey(a,n,{key:r,action:o})};return t.mapDataSource((function(e){return pipeline.flatMap(e,(e=>{let t=[attachGroupingMeta(e)];return u.has(e[s])&&Array.isArray(e.children)&&(t=t.concat(e.children)),t}))})).mapColumns((function(t){if(0===t.length)return t;const n=pipeline.collectNodes(t,"leaf-only").length,[r,...o]=t;return[Object.assign(Object.assign({},r),{title:React__default.default.createElement("div",{style:{display:"inline-block",marginLeft:i}},pipeline.internals.safeRenderHeader(r)),render:(e,t,n)=>{var o,a;const c=pipeline.internals.safeRender(r,t,n),p=getGroupingMeta(t);if(!p.isGroupHeader||!p.expandable){const e=i+(p.isGroupHeader?0:l.indentSize);return React__default.default.createElement(pipeline.InlineFlexCell,{style:{marginLeft:e}},p.isGroupHeader&&null!==(o=t.groupTitle)&&void 0!==o?o:c)}const d=u.has(t[s])?"expanded":"collapsed";return React__default.default.createElement(pipeline.ExpansionCell,{className:cx__default.default("expansion-cell",d)},React__default.default.createElement(pipeline.icons.CaretRight,{className:cx__default.default("expansion-icon",d),style:{marginLeft:l.iconIndent,marginRight:l.iconGap}}),null!==(a=t.groupTitle)&&void 0!==a?a:c)},getCellProps:(t,n,o)=>{var a;const l=getGroupingMeta(n);if(!l.isGroupHeader)return;const{expandable:i}=l,d=n[s],f=u.has(d);let m;i&&(m=t=>{e.stopClickEventPropagation&&t.stopPropagation(),f?p(c.filter((e=>e!==d)),d,"collapse"):p([...c,d],d,"expand")});const g=null===(a=r.getCellProps)||void 0===a?void 0:a.call(r,t,n,o);return pipeline.mergeCellProps(g,{onClick:m,style:{cursor:i?"pointer":void 0}})},getSpanRect(e,t,r){if(getGroupingMeta(t).isGroupHeader)return{top:r,bottom:r+1,left:0,right:n}}}),...o]})).appendRowPropsGetter(rowGroupingRowPropsGetter)}}function getFirstDefinedValue(...e){for(let t=0;t<e.length;t++){const n=e[t];if(void 0!==n)return n}}function singleSelect(e={}){return function(t){var n,r,o;const a=t.ctx.components.Radio;if(null==a)throw new Error("使用 singleSelect 之前需要通过 pipeline context 设置 components.Radio");const l="singleSelect",i=null!==(n=e.clickArea)&&void 0!==n?n:"radio",s=null!==(r=e.isDisabled)&&void 0!==r?r:pipeline.always(!1),c=t.ensurePrimaryKey("singleSelect"),u=getFirstDefinedValue(e.value,t.getStateAtKey(l),e.defaultValue),p=n=>{var r;null===(r=e.onChange)||void 0===r||r.call(e,n),t.setStateAtKey(l,n)},d=Object.assign(Object.assign({name:"",width:50,align:"center"},e.radioColumn),{getCellProps(t,n,r){if("cell"===i){const t=pipeline.internals.safeGetRowKey(c,n,r),o=s(n,r);return{style:{cursor:o?"not-allowed":"pointer"},onClick:o?void 0:n=>{e.stopClickEventPropagation&&n.stopPropagation(),p(t)}}}},render:(t,n,r)=>{const o=pipeline.internals.safeGetRowKey(c,n,r);return React__default.default.createElement(a,{checked:u===o,disabled:s(n,r),onChange:"radio"===i?(t,n)=>{var r;const a=null!==(r=null==n?void 0:n.nativeEvent)&&void 0!==r?r:null==t?void 0:t.nativeEvent;a&&e.stopClickEventPropagation&&a.stopPropagation(),p(o)}:void 0})}}),f=t.getColumns().slice();return"start"===(null!==(o=e.radioPlacement)&&void 0!==o?o:"start")?f.unshift(d):f.push(d),t.columns(f),t.appendRowPropsGetter(((t,n)=>{const r=pipeline.internals.safeGetRowKey(c,t,n);let o,a,l={};return e.highlightRowWhenSelected&&u===r&&(o="highlight"),"row"!==i||s(t,n)||(l.cursor="pointer",a=t=>{e.stopClickEventPropagation&&t.stopPropagation(),p(r)}),{className:o,style:l,onClick:a}})),t}}function SortIcon({size:e=32,style:t,className:n,order:r,onClick:o}){return React__default.default.createElement("svg",{style:t,className:n,focusable:"false",preserveAspectRatio:"xMidYMid meet",width:e,height:e,viewBox:"0 0 32 32","aria-hidden":"true",onClick:o},React__default.default.createElement("path",{fill:"asc"===r?"#23A3FF":"#bfbfbf",transform:"translate(0, 4)",d:"M8 8L16 0 24 8z"}),React__default.default.createElement("path",{fill:"desc"===r?"#23A3FF":"#bfbfbf",transform:"translate(0, -4)",d:"M24 24L16 32 8 24z "}))}function DefaultSortHeaderCell({children:e,column:t,onToggle:n,sortOrder:r,sortIndex:o,sortOptions:a,clickArea:l}){const i="right"===t.align?"flex-end":"center"===t.align?"center":"flex-start";return React__default.default.createElement(TableHeaderCell,{onClick:"content"===l?n:void 0,style:{justifyContent:i,cursor:"content"===l?"pointer":void 0}},e,React__default.default.createElement(SortIcon,{onClick:"icon"===l?n:void 0,style:{userSelect:"none",marginLeft:2,flexShrink:0,cursor:"icon"===l?"pointer":void 0},size:16,order:r}),"multiple"===a.mode&&-1!=o&&React__default.default.createElement("div",{style:{userSelect:"none",marginLeft:2,color:"#666",flex:"0 0 auto",fontSize:10,fontFamily:"monospace"}},o+1))}function hasAnySortableColumns(e){return e.some((e=>{var t;return Boolean(null===(t=e.features)||void 0===t?void 0:t.sortable)||!pipeline.isLeafNode(e)&&hasAnySortableColumns(e.children)}))}const TableHeaderCell=styled__default.default.div`
  display: flex;
  align-items: center;
`,stateKey="sort";function sort(e={}){return function(t){var n,r,o;const{orders:a=["desc","asc","none"],mode:l="multiple",SortHeaderCell:i=DefaultSortHeaderCell,keepDataSource:s,highlightColumnWhenActive:c,stopClickEventPropagation:u,clickArea:p="content"}=e,d=(null!==(o=null!==(r=null!==(n=e.sorts)&&void 0!==n?n:t.getStateAtKey("sort"))&&void 0!==r?r:e.defaultSorts)&&void 0!==o?o:[]).filter((e=>"none"!==e.order)),f="multiple"===l?d:d.slice(0,1),m=n=>{var r;null===(r=e.onChangeSorts)||void 0===r||r.call(e,n),t.setStateAtKey("sort",n)},g="multiple"===l?m:e=>{const t=e.length;m(e.slice(t-1))},h={sorts:f,onChangeSorts:g,orders:a,mode:l,keepDataSource:s,highlightColumnWhenActive:c,stopClickEventPropagation:u,clickArea:p},v=new Map(f.map(((e,t)=>[e.code,Object.assign({index:t},e)]))),C=t.getDataSource(),y=t.getColumns();return"production"!==process.env.NODE_ENV&&(hasAnySortableColumns(y)||console.warn("[ali-react-table] commonTransform.sort 缺少可排序的列，请通过 column.features.sortable 来指定哪些列可排序",y)),t.dataSource(function(e){if(s)return e;const t=new Map(pipeline.collectNodes(y,"leaf-only").filter((e=>{var t,n;return!1!==(null===(t=e.features)||void 0===t?void 0:t.sortable)&&null!=(null===(n=e.features)||void 0===n?void 0:n.sortable)})).map((e=>[e.code,e])));return layeredSort(e,((e,n)=>{for(const{code:r,order:o}of f){const a=t.get(r);if(null==a)continue;const l=a.features.sortable,i=("function"==typeof l?l:smartCompare)(pipeline.internals.safeGetValue(a,e,-1),pipeline.internals.safeGetValue(a,n,-1),e,n);if(0!==i)return i*("asc"===o?1:-1)}return 0}))}(C)),t.columns(function(e){return e.map((function e(t){var n;const r=Object.assign({},t),o=t.code&&((null===(n=t.features)||void 0===n?void 0:n.sortable)||v.has(t.code)),l=o&&v.has(t.code);if(o){let e=-1,n="none";if(l){const{order:o,index:a}=v.get(t.code);n=o,e=a,c&&(r.headerCellProps=pipeline.mergeCellProps(t.headerCellProps,{style:{background:"var(--header-highlight-bgcolor)"}}),r.getCellProps=(e,n,r)=>{const o=pipeline.internals.safeGetCellProps(t,n,r);return pipeline.mergeCellProps(o,{style:{background:"var(--highlight-bgcolor)"}})})}r.title=React__default.default.createElement(i,{clickArea:p,onToggle:e=>{u&&e.stopPropagation(),function(e){const t=v.get(e);if(null==t)g(f.concat([{code:e,order:a[0]}]));else{const n=f.findIndex((t=>t.code===e)),r=f.slice(0,n+1),o=function(e){const t=a.indexOf(e);return a[t===a.length-1?0:t+1]}(t.order);"none"===o?r.pop():r[n]=Object.assign(Object.assign({},r[n]),{order:o}),g(r)}}(t.code)},sortOrder:n,column:t,sortIndex:e,sortOptions:h},pipeline.internals.safeRenderHeader(t))}pipeline.isLeafNode(t)||(r.children=t.children.map(e));return r}))}(y)),t}}const HeaderCellWithTips=styled__default.default.div`
  display: flex;
  align-items: center;

  .tip-icon-wrapper {
    margin-left: 2px;
  }

  .tip-icon {
    display: flex;
    fill: currentColor;
  }
`;function tips(){return function(e){const t=e.ctx.components.Balloon,n=e.ctx.components.Tooltip;if(null==t&&null==n)throw new Error("使用 tips 之前需要通过 pipeline context 设置 components.Balloon / components.Tooltip");return e.mapColumns(makeRecursiveMapper((e=>{var r;if(!(null===(r=e.features)||void 0===r?void 0:r.tips))return e;const o="right"===e.align?"flex-end":"center"===e.align?"center":"flex-start";return Object.assign(Object.assign({},e),{title:React__default.default.createElement(HeaderCellWithTips,{style:{justifyContent:o}},pipeline.internals.safeRenderHeader(e),t?React__default.default.createElement(t,{closable:!1,trigger:React__default.default.createElement("div",{className:"tip-icon-wrapper"},React__default.default.createElement(pipeline.icons.Info,{className:"tip-icon"}))},e.features.tips):React__default.default.createElement(n,{title:e.features.tips},React__default.default.createElement("div",{className:"tip-icon-wrapper"},React__default.default.createElement(pipeline.icons.Info,{className:"tip-icon"}))))})})))}}class Wrapper$1{constructor(e){Object.assign(this,e)}}class StrictTreeDataHelper{constructor(e){this.opts=e,this.valueSet=new Set(e.value),this.initWrapperTree()}initWrapperTree(){const{getNodeValue:e}=this.opts;this.rootWrapper=new Wrapper$1({root:!0,children:[]}),this.wrapperMap=new Map;const t=(n,r)=>{for(const o of r){const r=new Wrapper$1({parent:n,node:o,checked:this.valueSet.has(e(o))});this.wrapperMap.set(e(o),r),n.children.push(r),pipeline.isLeafNode(o)||(r.children=[],t(r,o.children))}};t(this.rootWrapper,this.opts.tree)}get value(){return this.opts.value}isIndeterminate(e){return!1}isChecked(e){return this.valueSet.has(e)}getValueAfterCheck(e){return this.isChecked(e)?this.value:pipeline.arrayUtils.merge(this.value,[e])}getValueAfterUncheck(e){return this.isChecked(e)?pipeline.arrayUtils.diff(this.value,[e]):this.value}getValueAfterToggle(e){return this.isChecked(e)?this.getValueAfterUncheck(e):this.getValueAfterCheck(e)}getNode(e){var t;return null===(t=this.wrapperMap.get(e))||void 0===t?void 0:t.node}getCleanValue(){return this.value}}class Wrapper{constructor(e){Object.assign(this,e)}}class TreeDataHelper{constructor(e){this.isDetached=e=>{var t,n,r;return null!==(r=null===(n=(t=this.opts).isDetached)||void 0===n?void 0:n.call(t,e))&&void 0!==r&&r},this.opts=e,this.valueSet=new Set(e.value),this.initWrapperTree()}get value(){return this.opts.value}initWrapperTree(){const e=new Set(this.value);this.rootWrapper=new Wrapper({root:!0,children:[]}),this.wrapperMap=new Map;const t=this.opts.getNodeValue,{isDetached:n,wrapperMap:r}=this;!function o(a,l,i){a.allChildrenChecked=!0,"production"!==process.env.NODE_ENV&&l.every(n)&&console.warn("TreeDataHelper 检测到部分节点的下所有子节点均为 detached 状态，这将导致该节点变为「无效节点」",a.node);for(const s of l){const l=n(s),c=e.has(t(s));c&&!l&&(a.anyDescendentsChecked=!0);const u=!l&&i,p=c||u,d=new Wrapper({parent:a,node:s,checked:p,exactChecked:c,parentChecked:u,anyDescendentsChecked:p,detached:l});if(r.set(t(s),d),a.children.push(d),!pipeline.isLeafNode(s)&&(d.children=[],o(d,s.children,p),d.anyDescendentsChecked&&!l&&(a.anyDescendentsChecked=!0),d.allChildrenChecked)){d.checked=!0;for(const e of d.children)e.detached||(e.parentChecked=!0)}d.checked||l||(a.allChildrenChecked=!1)}}(this.rootWrapper,this.opts.tree,!1)}isIndeterminate(e){const t=this.wrapperMap.get(e);return!t.checked&&t.anyDescendentsChecked}isChecked(e){return this.wrapperMap.get(e).checked}getValueAfterCheck(e){if(this.isChecked(e))return this.getCleanValue();const t=pipeline.arrayUtils.merge(this.value,[e]);return new TreeDataHelper(Object.assign(Object.assign({},this.opts),{value:t})).getCleanValue()}getValueAfterUncheck(e){if(!this.isChecked(e))return this.getCleanValue();const t=this.wrapperMap.get(e),{getNodeValue:n}=this.opts,r=function(e){let t=[],r=e;for(;r.parentChecked&&!r.detached;){for(const e of r.parent.children)e===r||e.exactChecked||e.detached||t.push(n(e.node));r=r.parent}return t}(t),o=function(e){const t=new Set;let r=e;for(;t.add(n(r.node)),!r.detached&&r.parentChecked;)r=r.parent;return function e(r){if(null==r)return;for(const o of r)!o.detached&&o.checked&&(t.add(n(o.node)),!pipeline.isLeafNode(o)&&o.anyDescendentsChecked&&e(o.children))}(e.children),t}(t),a=pipeline.arrayUtils.diff(this.value.concat(r),o);return new TreeDataHelper(Object.assign(Object.assign({},this.opts),{value:a})).getCleanValue()}getValueAfterToggle(e){return this.isChecked(e)?this.getValueAfterUncheck(e):this.getValueAfterCheck(e)}getNode(e){var t;return null===(t=this.wrapperMap.get(e))||void 0===t?void 0:t.node}getCleanValue(){const{checkedStrategy:e,getNodeValue:t}=this.opts,n=this.value.filter((e=>!this.wrapperMap.has(e)));return function r(o){for(const a of o)a.checked&&("all"===e?n.push(t(a.node)):"parent"===e?a.parentChecked||n.push(t(a.node)):pipeline.isLeafNode(a)&&n.push(t(a.node))),pipeline.isLeafNode(a)||r(a.children)}(this.rootWrapper.children),n}}const STATE_KEY="treeSelect";function treeSelect(e){return function(t){var n,r,o,a,l,i,s,c;const u=t.ctx.components.Checkbox;if(null==u)throw new Error("使用 treeSelect 之前需要通过 pipeline context 设置 components.Checkbox");const p=t.ensurePrimaryKey("treeSelect");if("string"!=typeof p)throw new Error("treeSelect 仅支持字符串作为 primaryKey");const d=null!==(n=e.clickArea)&&void 0!==n?n:"checkbox",f=null!==(r=e.isDisabled)&&void 0!==r?r:pipeline.always(!1),m=null!==(o=e.isDetached)&&void 0!==o?o:pipeline.always(!1),g=null!==(i=null!==(l=null!==(a=e.value)&&void 0!==a?a:t.getStateAtKey(STATE_KEY))&&void 0!==l?l:e.defaultValue)&&void 0!==i?i:[],h=null!=e.rootKey?[{[p]:e.rootKey,children:e.tree}]:e.tree,v=e=>e[p],C=e.checkStrictly?new StrictTreeDataHelper({value:g,getNodeValue:v,tree:h}):new TreeDataHelper({value:g,getNodeValue:v,isDetached:m,tree:h,checkedStrategy:null!==(s=e.checkedStrategy)&&void 0!==s?s:"parent"}),y=n=>{var r;const o=C.getValueAfterToggle(n);t.setStateAtKey(STATE_KEY,o),null===(r=e.onChange)||void 0===r||r.call(e,o)},b=(e,t,n)=>React__default.default.createElement(u,{checked:C.isChecked(e),indeterminate:C.isIndeterminate(e),disabled:!t&&f(n),onChange:"checkbox"===d||t?()=>y(e):void 0}),S=Object.assign(Object.assign({name:"",width:50,align:"center",title:null!=e.rootKey?b(e.rootKey,!0):void 0},e.checkboxColumn),{render:(e,t)=>b(t[p],!1,t),getCellProps(t,n){const r=n[p];if("cell"!==d)return;return f(n)?{style:{cursor:"not-allowed"}}:{style:{cursor:"pointer"},onClick(t){e.stopClickEventPropagation&&t.stopPropagation(),y(r)}}}}),x=t.getColumns().slice();return"start"===(null!==(c=e.checkboxPlacement)&&void 0!==c?c:"start")?x.unshift(S):x.push(S),t.columns(x),"row"===d&&t.appendRowPropsGetter((t=>{if(!f(t))return{style:{cursor:"pointer"},onClick(n){e.stopClickEventPropagation&&n.stopPropagation(),y(t[p])}}})),e.highlightRowWhenSelected&&t.appendRowPropsGetter((e=>{if(C.isChecked(e[p]))return{className:"highlight"}})),t}}var index=Object.freeze({__proto__:null,autoRowSpan:autoRowSpan,buildTree:buildTree,columnHover:columnHover,columnRangeHover:columnRangeHover,columnResize:columnResize,multiSelect:multiSelect,rowDetail:rowDetail,rowGrouping:rowGrouping,singleSelect:singleSelect,sort:sort,tips:tips,treeMode:pipeline.treeMode,treeMetaSymbol:pipeline.treeMetaSymbol,treeSelect:treeSelect});const ICON_WIDTH=16;function makeTreeModeTransform({onChangeOpenKeys:e,openKeys:t,primaryKey:n,iconIndent:r=-6,iconGap:o=0,indentSize:a=16,isLeafNode:l=pipeline.isLeafNode,clickArea:i="cell",treeMetaKey:s=pipeline.treeMetaSymbol,stopClickEventPropagation:c}){warnTransformsDeprecated("makeTreeModeTransform");const u=new Set(t),p=n=>{u.has(n)?e(t.filter((e=>e!==n)),n,"collapse"):e([...t,n],n,"expand")};return({columns:e,dataSource:t})=>({columns:function(e){if(0===e.length)return e;const[t,...n]=e;return[Object.assign(Object.assign({},t),{title:React__default.default.createElement("span",{style:{marginLeft:r+16+o}},pipeline.internals.safeRenderHeader(t)),render:(e,n,l)=>{const u=pipeline.internals.safeRender(t,n,l);if(null==n[s])return u;const{rowKey:d,depth:f,isLeaf:m,expanded:g}=n[s],h=r+f*a;if(m)return React__default.default.createElement(pipeline.InlineFlexCell,{className:"expansion-cell leaf"},React__default.default.createElement("span",{style:{marginLeft:h+16+o}},u));const v=e=>{c&&e.stopPropagation(),p(d)},C=g?"expanded":"collapsed";return React__default.default.createElement(pipeline.ExpansionCell,{className:cx__default.default("expansion-cell",C),style:{cursor:"content"===i?"pointer":void 0},onClick:"content"===i?v:void 0},React__default.default.createElement(pipeline.icons.CaretRight,{className:cx__default.default("expansion-icon",C),style:{cursor:"icon"===i?"pointer":void 0,marginLeft:h,marginRight:o},onClick:"icon"===i?v:void 0}),u)},getCellProps:"cell"===i?(e,n,r)=>{const o=pipeline.internals.safeGetCellProps(t,n,r);if(null==n[s])return o;const{isLeaf:a,rowKey:l}=n[s];return a?o:pipeline.mergeCellProps(o,{onClick(e){c&&e.stopPropagation(),p(l)},style:{cursor:"pointer"}})}:t.getCellProps}),...n]}(e),dataSource:function(e){const t=[];return function e(r,o){if(null==r)return;for(const a of r){const r=a[n],i=u.has(r),c=l(a,{depth:o,expanded:i,rowKey:r}),p={depth:o,isLeaf:c,expanded:i,rowKey:r};t.push(Object.assign({[s]:p},a)),!c&&i&&e(a.children,o+1)}}(e,0),t}(t)})}function useTreeModeTransform(e){var{defaultOpenKeys:t=[]}=e,n=pipeline.__rest(e,["defaultOpenKeys"]);const[r,o]=React.useState(t);return makeTreeModeTransform(Object.assign({openKeys:r,onChangeOpenKeys:o},n))}function makeVisibleTransform(e){warnTransformsDeprecated("makeVisibleTransform");const t=new Set(e);return traverseColumn((e=>pipeline.isLeafNode(e)?t.has(e.code)?e:Object.assign(Object.assign({},e),{hidden:!0}):e))}exports.BaseTable=pipeline.BaseTable,exports.Classes=pipeline.Classes,exports.TablePipeline=pipeline.TablePipeline,exports.collectNodes=pipeline.collectNodes,exports.getTreeDepth=pipeline.getTreeDepth,exports.groupBy2=pipeline.groupBy2,exports.internals=pipeline.internals,exports.isLeafNode=pipeline.isLeafNode,exports.mergeCellProps=pipeline.mergeCellProps,exports.useTablePipeline=pipeline.useTablePipeline,exports.applyTransforms=applyTransforms,exports.buildTree=buildTree$1,exports.exportTableAsExcel=exportTableAsExcel,exports.features=index,exports.groupBy=groupBy,exports.layeredSort=layeredSort,exports.makeAutoRowSpanTransform=makeAutoRowSpanTransform,exports.makeBuildTreeTransform=makeBuildTreeTransform,exports.makeColumnHoverTransform=makeColumnHoverTransform,exports.makeColumnRangeHoverTransform=makeColumnRangeHoverTransform,exports.makeColumnResizeTransform=makeColumnResizeTransform,exports.makeFlattenTransform=makeFlattenTransform,exports.makeOrderFieldTransform=makeOrderFieldTransform,exports.makeRecursiveMapper=makeRecursiveMapper,exports.makeSortTransform=makeSortTransform,exports.makeTipsTransform=makeTipsTransform,exports.makeTreeModeTransform=makeTreeModeTransform,exports.makeVisibleTransform=makeVisibleTransform,exports.proto=proto,exports.smartCompare=smartCompare,exports.traverseColumn=traverseColumn,exports.useAutoWidthTransform=useAutoWidthTransform,exports.useColumnHoverRangeTransform=useColumnHoverRangeTransform,exports.useColumnHoverTransform=useColumnHoverTransform,exports.useColumnResizeTransform=useColumnResizeTransform,exports.useSortTransform=useSortTransform,exports.useTreeModeTransform=useTreeModeTransform;
//# sourceMappingURL=/sm/db3945db013e120f04cd3bf481001cbe45689e370c25ffc3f473221426429058.map