@kne/table-page 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../node_modules/dayjs/dayjs.min.js","../src/formatView.js","../src/globalParams.js","../src/renderType/default.js","../src/Ellipsis.js","../src/renderType/main.js","../src/renderType/amount.js","../src/renderType/tagUtils.js","../src/renderType/tag.js","../src/renderType/tagList.js","../src/renderType/list.js","../src/TableView/columnWidth.js","../src/renderType/options.js","../src/renderType/enum.js","../src/renderType/description.js","../src/renderType/index.js","../src/columnRenderType.js","../src/computeColumnsValue.js","../src/useSelectedRow.js","../src/useSort.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/ColumnsControlContent.js","../src/tableLocalApis.js","../src/columnConfigExtra.js","../src/useTableConfig.js","../src/useGroupHeader.js","../src/useElementWidth.js","../src/renderCellContent.js","../src/Table/index.js","../src/Label.js","../src/TableView/Header.js","../src/TableView/index.js","../src/TablePage/scrollUtils.js","../src/TablePage/HorizontalScroller.js","../src/TablePage/TableToolbar.js","../src/TablePage/index.js","../src/preset.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),Y=_.prototype;return O.prototype=Y,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){Y[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs';\nimport { isEmpty } from '@kne/is-empty';\nimport groupBy from 'lodash/groupBy';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\n\nexport const calcArgs = (args, template) => {\n const { attr, normal } = groupBy(args, item => (/^.+:.+$/.test(item) ? 'attr' : 'normal'));\n const output = {};\n\n const typeTransform = (value, type) => {\n if (type === 'string') {\n return String(value);\n }\n if (type === 'number') {\n return Number(value);\n }\n if (type === 'boolean') {\n return value === 'true';\n }\n return value;\n };\n\n (normal || []).forEach((target, index) => {\n const currentTemplate = Object.assign({}, { type: 'string', defaultValue: '' }, get(template, index));\n if (currentTemplate.name && target) {\n output[currentTemplate.name] = typeTransform(target, currentTemplate.type);\n }\n });\n\n (attr || []).forEach(target => {\n const [key, value] = target.split(':');\n const currentTemplate = template.find(item => item.name === key);\n if (!currentTemplate) {\n return;\n }\n const { name, type } = Object.assign({}, { type: 'string', defaultValue: '' }, currentTemplate);\n output[name] = typeTransform(value, type);\n });\n\n return Object.assign(\n {},\n transform(\n template,\n (result, value) => {\n if (value.name && value.hasOwnProperty('defaultValue')) {\n result[value.name] = value.defaultValue;\n }\n },\n {}\n ),\n output\n );\n};\n\nexport const defaultFormat = {\n date: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD';\n return dayjs(value).format(template);\n },\n datetime: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD HH:mm:ss';\n return dayjs(value).format(template);\n },\n dateRange: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD',\n allowNull = args[1];\n if (!isEmpty(value[0]) && !isEmpty(value[1])) {\n return `${dayjs(value[0]).format(template)}~${dayjs(value[1]).format(template)}`;\n }\n if (allowNull === 'allow' && !isEmpty(value[0])) {\n return `${dayjs(value[0]).format(template)}以后`;\n }\n if (allowNull === 'allow' && !isEmpty(value[1])) {\n return `${dayjs(value[1]).format(template)}以前`;\n }\n return '';\n },\n boolean: (value, { args }) => {\n const trueValue = args[0] || 'true';\n if ((value || '').toString() === trueValue) {\n return '是';\n }\n return '否';\n },\n number: (value, { args }) => {\n const { style, unit, maximumFractionDigits, useGrouping, roundingMode, suffix } = calcArgs(args, [\n {\n name: 'style',\n type: 'string',\n defaultValue: 'decimal'\n },\n {\n name: 'unit',\n type: 'number',\n defaultValue: 1\n },\n {\n name: 'maximumFractionDigits',\n type: 'number',\n defaultValue: 2\n },\n {\n name: 'useGrouping',\n type: 'boolean',\n defaultValue: true\n },\n {\n name: 'roundingMode',\n type: 'string',\n defaultValue: 'halfExpand'\n },\n {\n name: 'suffix',\n type: 'string',\n defaultValue: ''\n }\n ]);\n\n return (\n new Intl.NumberFormat(\n {},\n {\n style,\n maximumFractionDigits,\n roundingMode,\n useGrouping\n }\n ).format(value / unit) + suffix\n );\n },\n money: (value, { args }) => {\n const unit = args[0] || '元';\n return `${value}${unit}`;\n }\n};\n\nconst formatView = (value, format, context) => {\n if (!format) {\n return value;\n }\n const formatList = format.split(' ').filter(item => !!item);\n if (formatList.length > 0) {\n return formatList.reduce((value, format) => {\n const [name, ...args] = format.split('-');\n if (typeof defaultFormat[name] === 'function') {\n return defaultFormat[name](\n value,\n Object.assign({}, context, {\n args: args.map(item => {\n return item && item.replace(/\\(\\)/g, ' ').replace(/\\(_\\)/g, '-');\n })\n })\n );\n }\n return value;\n }, value);\n }\n};\n\nexport default formatView;\n","export const globalParams = {\n renderType: null,\n renderTypeSize: {},\n tagTypeColors: {}\n};\n","const defaultRender = value => value;\n\nexport default defaultRender;\n","import React from 'react';\nimport { Typography } from 'antd';\nimport style from './ellipsis.module.scss';\n\nconst Ellipsis = ({ children, ellipsis }) => {\n if (!ellipsis) {\n return children;\n }\n\n const userConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const { showTitle, ...rest } = userConfig;\n\n return (\n <Typography.Text\n className={style['ellipsis']}\n ellipsis={Object.assign(\n {},\n {\n tooltip:\n showTitle === false\n ? false\n : {\n rootClassName: style['tooltip']\n }\n },\n rest\n )}\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import React from 'react';\nimport { Tooltip } from 'antd';\nimport classnames from 'classnames';\nimport Ellipsis from '../Ellipsis';\nimport ellipsisStyle from '../ellipsis.module.scss';\nimport style from './main.module.scss';\n\nconst main = (value, { column, dataSource } = {}) => {\n const { ellipsis = true, hover = true, primary = true, onClick } = column || {};\n\n if (!hover && !primary && !onClick) {\n return <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>;\n }\n\n const ellipsisConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const showTooltip = ellipsis && ellipsisConfig.showTitle !== false;\n\n const text = (\n <span\n className={classnames(style['text'], ellipsis && style['ellipsis'], {\n [style['hover']]: hover,\n [style['primary']]: primary\n })}\n onClick={onClick ? e => onClick({ item: value, colItem: dataSource, event: e }) : undefined}\n >\n {value}\n </span>\n );\n\n if (!showTooltip) {\n return text;\n }\n\n return (\n <Tooltip title={value} rootClassName={ellipsisStyle['tooltip']}>\n {text}\n </Tooltip>\n );\n};\n\nexport default main;\n","import React from 'react';\nimport Ellipsis from '../Ellipsis';\nimport style from './amount.module.scss';\n\nconst amount = (value, { column } = {}) => {\n const { ellipsis = true } = column || {};\n\n return (\n <span className={style['amount']}>\n <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>\n </span>\n );\n};\n\nexport default amount;\n","import React from 'react';\nimport { Space, Tag } from 'antd';\nimport { globalParams } from '../globalParams';\n\nconst DEFAULT_TAG_TYPE_COLORS = {\n default: 'default',\n success: 'success',\n progress: 'processing',\n processing: 'processing',\n danger: 'error',\n error: 'error',\n warning: 'warning',\n info: 'blue',\n other: 'purple',\n skill: 'default',\n result: 'default',\n filterResult: 'cyan',\n completed: 'success',\n pending: 'warning',\n high: 'error',\n medium: 'warning',\n low: 'default'\n};\n\nexport const getTagColor = type => {\n if (!type) {\n return 'default';\n }\n const customColors = globalParams.tagTypeColors || {};\n return customColors[type] || DEFAULT_TAG_TYPE_COLORS[type] || type;\n};\n\nexport const normalizeTagItem = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return { text: String(item) };\n }\n if (typeof item === 'object') {\n return Object.assign({}, item, {\n text: item.text ?? item.children ?? item.label\n });\n }\n return null;\n};\n\nexport const renderTagItem = (item, key) => {\n const tag = normalizeTagItem(item);\n if (!tag || (tag.text == null && tag.children == null)) {\n return null;\n }\n\n const { text, type, color, children, ...rest } = tag;\n\n return (\n <Tag key={key} color={color ?? getTagColor(type)} {...rest}>\n {children ?? text}\n </Tag>\n );\n};\n\nexport const renderTagList = value => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n return (\n <Space size={[4, 4]} wrap>\n {value.map((item, index) => renderTagItem(item, index))}\n </Space>\n );\n};\n","import { renderTagItem } from './tagUtils';\n\nconst tag = value => renderTagItem(value);\n\nexport default tag;\n","import { renderTagList } from './tagUtils';\n\nconst tagList = value => renderTagList(value);\n\nexport default tagList;\n","const DEFAULT_SPLIT = ',';\n\nconst normalizeListValue = value => {\n if (Array.isArray(value)) {\n return { items: value, split: undefined };\n }\n if (value && typeof value === 'object') {\n const items = value.items ?? value.list ?? value.value;\n if (Array.isArray(items)) {\n return { items, split: value.split };\n }\n }\n return null;\n};\n\nconst getListItemText = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'object') {\n return item.text ?? item.label ?? item.children ?? item.value;\n }\n return item;\n};\n\nconst list = (value, { column } = {}) => {\n const normalized = normalizeListValue(value);\n if (!normalized) {\n return value == null ? null : value;\n }\n\n const split = normalized.split ?? column?.split ?? DEFAULT_SPLIT;\n const text = normalized.items\n .map(getListItemText)\n .filter(item => item != null && item !== '')\n .join(split);\n\n return text || null;\n};\n\nexport default list;\n","import { resolveColumnDimensions } from '../columnRenderType';\n\nexport const SELECTION_CHECKBOX_WIDTH = 48;\nexport const SELECTION_RADIO_WIDTH = 30;\nexport const DEFAULT_COLUMN_WIDTH = 300;\n\nexport const parseColumnWidth = width => {\n if (width == null) {\n return 0;\n }\n if (typeof width === 'number' && !Number.isNaN(width)) {\n return width;\n }\n if (typeof width === 'string') {\n const trimmed = width.trim();\n const pxMatch = trimmed.match(/^([\\d.]+)px$/i);\n if (pxMatch) {\n return parseFloat(pxMatch[1]);\n }\n const num = parseFloat(trimmed);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return 0;\n};\n\nexport const getResolvedColumnWidth = column => resolveColumnDimensions(column).width;\n\nexport const hasColumnSpan = column => column.span != null;\n\nexport const getConfiguredColumnWidthPx = column => parseColumnWidth(column.width != null ? column.width : getResolvedColumnWidth(column));\n\nexport const usesDefaultColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (column.width != null) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return false;\n }\n return !columns.some(hasColumnSpan);\n};\n\nexport const hasColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return true;\n }\n return usesDefaultColumnWidth(column, columns);\n};\n\nexport const shouldLastColumnFillRemaining = columns => !columns.some(hasColumnSpan);\n\nexport const getColumnWidthPx = (column, colsSize = {}, columns = []) => {\n if (hasColumnSpan(column)) {\n return colsSize[column.name] || 0;\n }\n const configured = getConfiguredColumnWidthPx(column);\n if (configured > 0) {\n return configured;\n }\n if (usesDefaultColumnWidth(column, columns)) {\n const measured = colsSize[column.name] || 0;\n return Math.max(DEFAULT_COLUMN_WIDTH, measured);\n }\n return colsSize[column.name] || 0;\n};\n\nexport const formatColumnWidthPx = px => `${px}px`;\n\nexport const getColumnTrackSize = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n if (hasColumnWidth(column, columns)) {\n if (isLastColumn && shouldLastColumnFillRemaining(columns)) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n return `${widthPx}px`;\n }\n if (widthPx > 0) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n const span = column.span ?? defaultSpan ?? 1;\n return `minmax(0, ${span}fr)`;\n};\n\nexport const getGridTemplateColumns = (columns, { defaultSpan, colsSize, rowSelection } = {}) => {\n const tracks = [];\n const lastColumnIndex = columns.length - 1;\n\n if (rowSelection?.type === 'checkbox') {\n tracks.push(`${SELECTION_CHECKBOX_WIDTH}px`);\n }\n\n columns.forEach((column, index) => {\n tracks.push(\n getColumnTrackSize(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === lastColumnIndex,\n columns\n })\n );\n });\n\n if (rowSelection?.type === 'radio') {\n tracks.push(`${SELECTION_RADIO_WIDTH}px`);\n }\n\n return tracks.join(' ');\n};\n\nexport const getColumnLayout = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthBased = hasColumnWidth(column, columns);\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n const fillRemaining = isLastColumn && widthBased && shouldLastColumnFillRemaining(columns);\n\n return {\n widthBased,\n fillRemaining,\n style: {\n '--col-width': formatColumnWidthPx(widthPx),\n '--col-align': column.align || 'top',\n '--col-justify': column.justify || 'flex-start'\n }\n };\n};\n","import React from 'react';\nimport classnames from 'classnames';\nimport ButtonGroup from '@kne/button-group';\nimport '@kne/button-group/dist/index.css';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport style from './options.module.scss';\n\nconst normalizeOptionItem = (item, buttonClassName) => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'function') {\n return item;\n }\n if (typeof item === 'string') {\n return { children: item, type: 'link', className: buttonClassName };\n }\n const { children, label, text, className, ...rest } = item;\n return {\n type: 'link',\n ...rest,\n className: classnames(buttonClassName, className),\n children: children ?? label ?? text\n };\n};\n\nconst options = (value, { column } = {}) => {\n let list = value;\n let buttonGroupProps = column?.buttonGroup || {};\n\n if (value && typeof value === 'object' && !Array.isArray(value) && Array.isArray(value.list)) {\n const { list: valueList, ...rest } = value;\n list = valueList;\n buttonGroupProps = { ...buttonGroupProps, ...rest };\n }\n\n if (!Array.isArray(list) || list.length === 0) {\n return null;\n }\n\n const wrapperClassName = classnames(style['col-item'], style['options']);\n const buttonClassName = classnames(wrapperClassName, style['options-btn']);\n const normalizedList = list.map(item => normalizeOptionItem(item, buttonClassName)).filter(item => item != null && !item.hidden);\n\n if (normalizedList.length === 0) {\n return null;\n }\n\n const width = parseColumnWidth(column?.width);\n\n return (\n <div className={classnames(wrapperClassName, style['options-column'])} style={width > 0 ? { '--max-width': `${width}px` } : undefined}>\n <ButtonGroup moreType=\"link\" itemClassName=\"btn-no-padding\" list={normalizedList} {...buttonGroupProps} />\n </div>\n );\n};\n\nexport default options;\n","import tag from './tag';\n\nconst enumRender = value => tag(value);\n\nexport default enumRender;\n","const description = value => value;\n\nexport default description;\n","import defaultRender from './default';\nimport main from './main';\nimport amount from './amount';\nimport tag from './tag';\nimport tagList from './tagList';\nimport list from './list';\nimport options from './options';\nimport enumRender from './enum';\nimport description from './description';\nimport { globalParams } from '../globalParams';\n\nconst renderType = {\n default: defaultRender,\n main,\n amount,\n tag,\n tagList,\n list,\n options,\n enum: enumRender,\n description\n};\n\nglobalParams.renderType = renderType;\n\nexport default renderType;\n\nexport { getTagColor, normalizeTagItem, renderTagItem, renderTagList } from './tagUtils';\n","import { globalParams } from './globalParams';\nimport './renderType';\n\nexport const SIZE_NAMES = ['short', 'small', 'large'];\n\nconst typeSize = {\n main: {\n width: 300,\n min: 160,\n max: 500,\n ellipsis: true\n },\n amount: {\n width: 140,\n min: 100,\n max: 300,\n ellipsis: true\n },\n options: {\n width: 180,\n min: 120,\n max: 400\n },\n enum: {\n width: 140,\n min: 100,\n max: 400\n },\n tag: {\n width: 140,\n min: 100,\n max: 400\n },\n tagList: {\n width: 300,\n min: 160,\n max: 500\n },\n list: {\n width: 200,\n min: 120,\n max: 400,\n ellipsis: true\n },\n description: {\n width: 400,\n min: 160,\n max: 600,\n ellipsis: true\n }\n};\n\nconst SIZE_CONFIG = {\n short: {\n width: 120,\n min: 100,\n max: 400\n },\n small: {\n width: 100,\n min: 70,\n max: 400\n },\n default: {\n width: 300,\n min: 160,\n max: 500\n },\n large: {\n width: 300,\n min: 120,\n max: 500\n }\n};\n\nconst getRenderTypeRegistry = () => {\n const { default: defaultRender, ...renderers } = globalParams.renderType || {};\n return { defaultRender, renderers };\n};\n\nexport const getRenderTypeNames = () => Object.keys(getRenderTypeRegistry().renderers);\n\nexport const RENDER_TYPE_NAMES = getRenderTypeNames();\n\nconst getRender = type => {\n const { defaultRender, renderers } = getRenderTypeRegistry();\n return renderers[type] || defaultRender;\n};\n\nexport const getColumnRender = column => {\n if (typeof column?.render === 'function') {\n return column.render;\n }\n const { type } = parseRenderType(column?.renderType);\n if (!type) {\n return null;\n }\n return getRender(type);\n};\n\nconst getTypeConfigMap = () => {\n const extraTypeSize = globalParams.renderTypeSize || {};\n\n return getRenderTypeNames().reduce((result, key) => {\n result[key] = Object.assign({}, typeSize[key], extraTypeSize[key], { render: getRender(key) });\n return result;\n }, {});\n};\n\nconst pickDimension = (columnValue, typeValue, sizeValue) => {\n if (columnValue != null) {\n return columnValue;\n }\n if (sizeValue != null) {\n return sizeValue;\n }\n if (typeValue != null) {\n return typeValue;\n }\n return undefined;\n};\n\nexport const parseRenderType = renderTypeValue => {\n if (!renderTypeValue || typeof renderTypeValue !== 'string') {\n return { type: null, size: null };\n }\n\n const renderTypeNames = getRenderTypeNames();\n let type = null;\n let size = null;\n\n renderTypeValue.split('-').forEach(part => {\n if (!part) {\n return;\n }\n if (renderTypeNames.includes(part)) {\n type = part;\n return;\n }\n if (SIZE_NAMES.includes(part)) {\n size = part;\n }\n });\n\n return { type, size };\n};\n\nexport const getRenderTypeDimensions = renderTypeValue => {\n const { type, size } = parseRenderType(renderTypeValue);\n const typeConfigMap = getTypeConfigMap();\n const typeConfig = type ? typeConfigMap[type] : null;\n const sizeConfig = size ? SIZE_CONFIG[size] : null;\n\n if (!typeConfig && !sizeConfig) {\n return null;\n }\n\n return {\n type,\n size,\n typeConfig,\n sizeConfig,\n render: typeConfig?.render,\n ellipsis: typeConfig?.ellipsis\n };\n};\n\nexport const resolveColumnDimensions = column => {\n const renderTypeDimensions = column?.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const typeConfig = renderTypeDimensions?.typeConfig;\n const sizeConfig = renderTypeDimensions?.sizeConfig;\n\n return {\n width: pickDimension(column?.width, typeConfig?.width, sizeConfig?.width),\n min: pickDimension(column?.min, typeConfig?.min, sizeConfig?.min),\n max: pickDimension(column?.max, typeConfig?.max, sizeConfig?.max)\n };\n};\n\nexport const resolveRenderType = renderTypeValue => {\n const renderTypeDimensions = getRenderTypeDimensions(renderTypeValue);\n if (!renderTypeDimensions) {\n return null;\n }\n\n const { type, size, render, ellipsis, typeConfig, sizeConfig } = renderTypeDimensions;\n\n return {\n type,\n size,\n render,\n ellipsis,\n width: sizeConfig?.width ?? typeConfig?.width,\n min: sizeConfig?.min ?? typeConfig?.min,\n max: sizeConfig?.max ?? typeConfig?.max\n };\n};\n\nconst ELLIPSIS_HANDLED_TYPES = ['main', 'amount'];\nconst FULL_WIDTH_CELL_TYPES = ['options'];\n\nexport const resolveColumn = column => {\n if (!column) {\n return column;\n }\n\n const renderTypeDimensions = column.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const { width, min, max } = resolveColumnDimensions(column);\n const { ellipsis, type } = renderTypeDimensions || {};\n const renderFn = getColumnRender(column);\n\n return Object.assign({}, column, {\n ...(renderFn && typeof column.render !== 'function' ? { render: renderFn } : {}),\n ...(column.width == null && width != null ? { width } : {}),\n ...(column.min == null && min != null ? { min } : {}),\n ...(column.max == null && max != null ? { max } : {}),\n ...(column.ellipsis == null && ellipsis != null ? { ellipsis } : {}),\n ...(type && ELLIPSIS_HANDLED_TYPES.includes(type) ? { ellipsisHandledByRender: true } : {}),\n ...(type && FULL_WIDTH_CELL_TYPES.includes(type) ? { cellFullWidth: true } : {}),\n ...(column.type === 'options' && !type ? { cellFullWidth: true } : {}),\n ...(type === 'options' && column.type !== 'options' ? { type: 'options' } : {})\n });\n};\n\nexport const resolveColumns = columns => (columns || []).map(resolveColumn);\n\nexport const isOptionsColumn = column => {\n if (column?.type === 'options') {\n return true;\n }\n return parseRenderType(column?.renderType).type === 'options';\n};\n","import get from 'lodash/get';\nimport formatView from './formatView';\nimport { getColumnRender } from './columnRenderType';\n\nconst computeColumnsValue = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty = true, dataSource, context }) => {\n return (output => (removeEmpty ? output.filter(item => !!item) : output))(\n columns.map(item => {\n const itemValue = typeof item.getValueOf === 'function' ? item.getValueOf(dataSource, { column: item, context }) : get(dataSource, item.name);\n const displayValue = (value => {\n if (typeof item.format === 'function') {\n return item.format(value, { dataSource, column: item, context });\n }\n if (typeof item.format === 'string') {\n const formatValue = formatView(value, item.format, { dataSource, column: item, context });\n if (formatValue) {\n return formatValue;\n }\n }\n return value;\n })(itemValue);\n\n const itemIsEmpty = (item.valueIsEmpty || valueIsEmpty)(itemValue);\n\n if (\n item.display === false ||\n (typeof item.display === 'function' &&\n item.display(itemValue, {\n dataSource,\n column: item,\n context\n }) === false)\n ) {\n return null;\n }\n\n if (!(item.hasOwnProperty('emptyIsPlaceholder') ? item.emptyIsPlaceholder : emptyIsPlaceholder) && itemIsEmpty) {\n return null;\n }\n\n return Object.assign({}, item, { isEmpty: itemIsEmpty, value: displayValue });\n })\n );\n};\n\nexport const computeDisplay = ({ column, dataSource, placeholder, context }) => {\n if (column.isEmpty) {\n return typeof column.renderPlaceholder === 'function'\n ? column.renderPlaceholder({\n column: column,\n dataSource,\n placeholder,\n context\n })\n : column.placeholder || placeholder;\n }\n\n const render = getColumnRender(column);\n\n return typeof render === 'function'\n ? render(column.value, {\n column,\n dataSource,\n context\n })\n : column.value;\n};\n\nexport const computeColumnsDisplay = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, placeholder, context }) => {\n return computeColumnsValue({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, context }).map(column => {\n return computeDisplay({ column, placeholder, dataSource, context });\n });\n};\n\ncomputeColumnsValue.computeDisplay = computeDisplay;\ncomputeColumnsValue.computeColumnsDisplay = computeColumnsDisplay;\n\nexport default computeColumnsValue;\n","import { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\n\nconst useSelectedRow = options => {\n const { rowKey, type = 'checkbox' } = Object.assign({}, { rowKey: 'id' }, options);\n const [selectedRows, setSelectedRows] = useState([]);\n\n const getRowId = useCallback(item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey), [rowKey]);\n\n const selectedRowKeys = useMemo(() => selectedRows.map(getRowId), [getRowId, selectedRows]);\n\n const setSelectedRowKeys = useCallback(\n (keys, dataSource = []) => {\n const keySet = new Set(keys || []);\n setSelectedRows((dataSource || []).filter(item => keySet.has(getRowId(item))));\n },\n [getRowId]\n );\n\n const clearSelectedRows = useCallback(() => {\n setSelectedRows([]);\n }, []);\n\n const onSelectAll = useCallback(\n (checked, _selected, items) => {\n const ids = (items || []).map(getRowId);\n if (checked) {\n setSelectedRows(value => {\n const existingKeys = value.map(getRowId);\n return [...value, ...(items || []).filter(item => existingKeys.indexOf(getRowId(item)) === -1)];\n });\n } else {\n setSelectedRows(value => {\n return value.filter(item => ids.indexOf(getRowId(item)) === -1);\n });\n }\n },\n [getRowId]\n );\n\n const onSelect = useCallback(\n (item, checked) => {\n if (checked) {\n if (type === 'radio') {\n setSelectedRows([item]);\n return;\n }\n setSelectedRows(value => {\n const newValue = value.slice(0);\n newValue.push(item);\n return newValue;\n });\n } else {\n setSelectedRows(value => {\n const newValue = value.slice(0);\n const index = newValue.findIndex(row => getRowId(row) === getRowId(item));\n if (index > -1) {\n newValue.splice(index, 1);\n }\n return newValue;\n });\n }\n },\n [getRowId, type]\n );\n\n const getRowSelection = useCallback(\n (dataSource, extra = {}) => {\n const onChange = (keys, id, meta) => {\n setSelectedRowKeys(keys, dataSource);\n extra.onChange && extra.onChange(keys, id, meta);\n };\n\n return Object.assign(\n {\n type,\n selectedRowKeys,\n allowSelectedAll: type === 'checkbox',\n onChange\n },\n extra\n );\n },\n [selectedRowKeys, setSelectedRowKeys, type]\n );\n\n return {\n type,\n selectedRowKeys,\n selectedRows,\n onSelectAll,\n onSelect,\n setSelectedRows,\n setSelectedRowKeys,\n clearSelectedRows,\n getRowSelection\n };\n};\n\nexport default useSelectedRow;\n","import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport clone from 'lodash/clone';\nimport { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\nimport style from './sort.module.scss';\n\nconst sortArrayToMap = sort =>\n new Map(\n (sort || []).map(item => {\n return [item.name, item.sort];\n })\n );\n\nconst useControlValue = ({ value, defaultValue, onChange }) => {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = useCallback(\n updater => {\n const nextValue = typeof updater === 'function' ? updater(currentValue) : updater;\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onChange && onChange(nextValue);\n },\n [currentValue, isControlled, onChange]\n );\n\n return [currentValue, setValue];\n};\n\nconst compareValues = (a, b, direction) => {\n const emptyA = a == null || a === '';\n const emptyB = b == null || b === '';\n if (emptyA && emptyB) {\n return 0;\n }\n if (emptyA) {\n return 1;\n }\n if (emptyB) {\n return -1;\n }\n if (typeof a === 'number' && typeof b === 'number') {\n return direction === 'ASC' ? a - b : b - a;\n }\n const strA = String(a);\n const strB = String(b);\n return direction === 'ASC' ? strA.localeCompare(strB, 'zh-CN') : strB.localeCompare(strA, 'zh-CN');\n};\n\nexport const sortDataSource = (dataSource, sort = [], columns = []) => {\n if (!sort?.length || !dataSource?.length) {\n return dataSource;\n }\n const columnMap = new Map(columns.map(column => [column.name, column]));\n return [...dataSource].sort((a, b) => {\n for (const { name, sort: direction } of sort) {\n const column = columnMap.get(name) || { name };\n const aVal = typeof column.getValueOf === 'function' ? column.getValueOf(a, { column }) : get(a, name);\n const bVal = typeof column.getValueOf === 'function' ? column.getValueOf(b, { column }) : get(b, name);\n const result = compareValues(aVal, bVal, direction);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n });\n};\n\nexport const getSortSingle = sortOption => {\n if (typeof sortOption === 'object') {\n return sortOption.single !== false;\n }\n return true;\n};\n\nexport const renderColumnTitle = (title, column, sortRender) => {\n if (!column.sort || typeof sortRender !== 'function') {\n return title;\n }\n return (\n <span className={classnames(style['title'], style['has-sort'])}>\n <span className={style['title-text']}>{title}</span>\n {sortRender({\n name: column.name,\n single: getSortSingle(column.sort)\n })}\n </span>\n );\n};\n\nconst useSort = props => {\n const [sort, setSort] = useControlValue({\n value: props.sort,\n defaultValue: props.defaultSort || [],\n onChange: props.onSortChange\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n callback => {\n return setSort(currentSort => {\n const newSort = callback(sortArrayToMap(currentSort));\n return Array.from(newSort).map(([name, sortValue]) => ({ name, sort: sortValue }));\n });\n },\n [setSort]\n );\n\n const sortRender = useCallback(\n ({ single, name }) => {\n const direction = mapSort.get(name);\n return (\n <span\n className={style['sort-btn']}\n onClick={e => {\n e.stopPropagation();\n setMapSort(sortMap => {\n const current = sortMap.get(name);\n const targetValue = (() => {\n if (current === 'DESC') {\n return 'ASC';\n }\n if (current === 'ASC') {\n return null;\n }\n return 'DESC';\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sortMap);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <CaretUpOutlined\n className={classnames(style['sort-icon'], style['sort-up'], {\n [style['active']]: direction === 'ASC'\n })}\n />\n <CaretDownOutlined\n className={classnames(style['sort-icon'], style['sort-down'], {\n [style['active']]: direction === 'DESC'\n })}\n />\n </span>\n );\n },\n [mapSort, setMapSort]\n );\n\n return {\n sort,\n setSort,\n sortRender\n };\n};\n\nuseSort.sortDataSource = sortDataSource;\n\nexport default useSort;\n","const locale = {\n TotalText: '共',\n ItemText: '条',\n UnnamedColumn: '未命名列',\n EditTable: '编辑表格',\n RestoreDefault: '恢复默认',\n VisibleInfo: '显示的信息',\n HiddenInfo: '隐藏的信息',\n Search: '搜索',\n BatchOperations: '批量操作',\n BatchOperationsWithCount: '批量操作(已选:{count}条)',\n Cancel: '取消',\n Confirm: '确定'\n};\n\nexport default locale;\n","const locale = {\n TotalText: 'Total',\n ItemText: 'items',\n UnnamedColumn: 'Unnamed',\n EditTable: 'Edit Table',\n RestoreDefault: 'Restore Default',\n VisibleInfo: 'Visible Columns',\n HiddenInfo: 'Hidden Columns',\n Search: 'Search',\n BatchOperations: 'Batch Actions',\n BatchOperationsWithCount: 'Batch Actions (Selected: {count})',\n Cancel: 'Cancel',\n Confirm: 'Confirm'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport filterZhCN from '@kne/react-filter/dist/locale/zh-CN';\nimport filterEnUS from '@kne/react-filter/dist/locale/en-US';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': { ...filterZhCN, ...zhCN },\n 'en-US': { ...filterEnUS, ...enUS }\n },\n namespace: 'table-page'\n});\n\nexport default withLocale;\n","import { useMemo, useState } from 'react';\nimport groupBy from 'lodash/groupBy';\nimport { HolderOutlined, RedoOutlined } from '@ant-design/icons';\nimport style from './columnConfig.module.scss';\nimport { Button, Checkbox, Col, Collapse, Input, List, Row, Tooltip } from 'antd';\nimport { ReactSortable } from 'react-sortablejs';\nimport classnames from 'classnames';\nimport transform from 'lodash/transform';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\n\nconst ColumnsControlContent = withLocale(({ close, onConfirm, columns, config: defaultValue }) => {\n const { formatMessage } = useIntl();\n const [config, onChange] = useState(defaultValue || {});\n const [searchText, setSearchText] = useState('');\n const [confirmLoading, setConfirmLoading] = useState(false);\n const [scrollEl, setScrollEl] = useState(null);\n\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } = useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: []\n },\n groupBy(columns, item => {\n if (item.fixed === 'right') {\n return 'rightFixedColumns';\n }\n if (item.fixed === true || item.fixed === 'left') {\n return 'leftFixedColumns';\n }\n return (get(config, `${item.name}.visible`) !== true && item.hidden) || get(config, `${item.name}.visible`) === false ? 'hiddenColumns' : 'visibleColumns';\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => get(config, `${a.name}.rank`, 0) - get(config, `${b.name}.rank`, 0));\n },\n {}\n );\n }, [columns, config]);\n\n const sortableVisibleColumns = useMemo(() => {\n return visibleColumns.map(column => Object.assign({}, column, { id: column.name }));\n }, [visibleColumns]);\n\n const handlerColumnsChange = columnsState => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(columnsState.leftFixedColumns, columnsState.visibleColumns, columnsState.rightFixedColumns);\n (columnsState.hiddenColumns || []).forEach(col => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = item => {\n return (\n <>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n {item.groupHeader && item.groupHeader.length > 0 ? `(${item.groupHeader.map(({ title }) => title).join('-')})` : ''}\n </>\n );\n };\n\n const collapseItems = useMemo(() => {\n return [\n {\n key: 'active',\n label: formatMessage({ id: 'VisibleInfo' }),\n children: (\n <div className={style['columns-control-content-list']}>\n {leftFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `left-${index}`}>\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n <ReactSortable\n tag=\"div\"\n className={style['columns-control-sortable-list']}\n list={sortableVisibleColumns}\n filter=\".ignore-elements\"\n dragClass=\"table-page-sortable-drag\"\n ghostClass=\"table-page-sortable-ghost\"\n chosenClass=\"table-page-sortable-chosen\"\n forceFallback\n fallbackOnBody\n scroll={scrollEl || true}\n bubbleScroll\n setList={nextVisibleColumns => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns: nextVisibleColumns,\n hiddenColumns,\n rightFixedColumns\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {sortableVisibleColumns.map(item => (\n <div className={classnames(style['columns-control-content-item'], style['is-drag'])} key={item.id}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <Checkbox\n checked\n disabled={item.fixed || leftFixedColumns.length + visibleColumns.length + rightFixedColumns.length <= 1}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: false });\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `right-${index}`}>\n <Checkbox checked disabled>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </div>\n ))}\n </div>\n )\n },\n {\n key: 'un-active',\n label: (\n <Row wrap={false} justify=\"space-between\">\n <Col>{formatMessage({ id: 'HiddenInfo' })}</Col>\n <Col\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <Input.Search placeholder={formatMessage({ id: 'Search' })} onSearch={value => setSearchText(value)} className={style['columns-control-content-input']} size=\"small\" allowClear />\n </Col>\n </Row>\n ),\n children: (\n <List\n dataSource={hiddenColumns.filter(item => {\n const title = item.titleText || item.title;\n return typeof title === 'string' && title.indexOf(searchText) > -1;\n })}\n renderItem={item => (\n <List.Item className={style['columns-control-content-item']} key={item.name}>\n <Checkbox\n checked={false}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: true });\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </List.Item>\n )}\n />\n )\n }\n ];\n }, [config, formatMessage, hiddenColumns, leftFixedColumns, onChange, rightFixedColumns, scrollEl, searchText, sortableVisibleColumns, visibleColumns.length]);\n\n return (\n <div className={style['columns-control-content']}>\n <div className={style['columns-control-content-title']}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>{formatMessage({ id: 'EditTable' })}</Col>\n <Col>\n <Tooltip title={formatMessage({ id: 'RestoreDefault' })}>\n <Button\n type=\"text\"\n icon={<RedoOutlined />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style['columns-control-content-scroller']} ref={setScrollEl}>\n <Collapse defaultActiveKey={['active', 'un-active']} ghost bordered items={collapseItems} />\n </div>\n <Row className={style['columns-control-content-footer']} justify=\"end\" gutter={10}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n {formatMessage({ id: 'Cancel' })}\n </Button>\n </Col>\n <Col>\n <Button\n type=\"primary\"\n size=\"small\"\n loading={confirmLoading}\n onClick={async () => {\n setConfirmLoading(true);\n try {\n onConfirm && (await onConfirm(config));\n close();\n } finally {\n setConfirmLoading(false);\n }\n }}\n >\n {formatMessage({ id: 'Confirm' })}\n </Button>\n </Col>\n </Row>\n </div>\n );\n});\n\nexport default ColumnsControlContent;\n","import get from 'lodash/get';\n\nconst storageKey = 'TABLE_PAGE_TABLE_CONFIG';\n\nconst readStorage = () => {\n try {\n return JSON.parse(localStorage.getItem(storageKey) || '{}');\n } catch {\n return {};\n }\n};\n\nconst writeStorage = data => {\n try {\n localStorage.setItem(storageKey, JSON.stringify(data));\n } catch {\n // ignore quota errors\n }\n};\n\nconst getData = name => {\n if (!name) {\n return {};\n }\n return get(readStorage(), name, {});\n};\n\nconst setData = (name, data) => {\n if (!name) {\n return;\n }\n writeStorage(Object.assign({}, readStorage(), { [name]: data }));\n};\n\nconst tableLocalApis = { getData, setData };\n\nexport default tableLocalApis;\n","export const TABLE_CONFIG_COLUMN_EXTRA_WIDTH = 48;\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\nimport pick from 'lodash/pick';\nimport findLastIndex from 'lodash/findLastIndex';\nimport isEqual from 'lodash/isEqual';\nimport { Col, Popover, Row } from 'antd';\nimport { HolderOutlined, SettingOutlined } from '@ant-design/icons';\nimport { useDebouncedCallback } from 'use-debounce';\nimport ColumnsControlContent from './ColumnsControlContent';\nimport tableLocalApis from './tableLocalApis';\nimport { parseColumnWidth } from './TableView/columnWidth';\nimport configStyle from './columnConfig.module.scss';\nimport { TABLE_CONFIG_COLUMN_EXTRA_WIDTH } from './columnConfigExtra';\nimport { isOptionsColumn } from './columnRenderType';\n\nconst DEFAULT_WIDTH = 160;\nconst DEFAULT_MIN = 80;\nconst DEFAULT_MAX = 600;\n\nexport const getColumnSize = column => {\n const width = parseColumnWidth(column.width) || DEFAULT_WIDTH;\n return {\n width,\n min: column.min ?? DEFAULT_MIN,\n max: column.max ?? DEFAULT_MAX\n };\n};\n\nconst getConfigColumnExtraWidth = (index, columnCount, controllerOpen) => {\n if (!controllerOpen || index !== columnCount - 1) {\n return 0;\n }\n return TABLE_CONFIG_COLUMN_EXTRA_WIDTH;\n};\n\nconst withConfigColumnExtra = (contentWidth, index, columnCount, controllerOpen) => {\n return contentWidth + getConfigColumnExtraWidth(index, columnCount, controllerOpen);\n};\n\nconst TableConfigButton = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false} align=\"middle\" className={configStyle['table-config-header']}>\n <Col flex={1} className={configStyle['table-config-header-title']}>\n {title}\n </Col>\n <Col flex=\"none\">\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n rootClassName={configStyle['columns-control-overlay']}\n styles={{ container: { padding: 0 } }}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => setOpen(false)}\n onConfirm={newConfig => {\n setConfig(configValue => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign({}, configValue[key], pick(value, ['visible', 'rank']));\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={classnames(configStyle['table-changer-setting'], open && configStyle['is-active'])}>\n <SettingOutlined />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen = true, tableWidth = 0, rowKey, tableServerApis = tableLocalApis }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n\n const saveConfig = useDebouncedCallback((tableName, target) => {\n tableServerApis?.setData(tableName, target);\n }, 500);\n\n const setConfig = useCallback(\n newConfig => {\n setConfigBase(prevConfig => {\n const target = typeof newConfig === 'function' ? newConfig(prevConfig) : newConfig;\n if (name && controllerOpen) {\n saveConfig(name, target);\n }\n return target;\n });\n },\n [name, controllerOpen, saveConfig]\n );\n\n useEffect(() => {\n if (name && controllerOpen) {\n setConfigBase(Object.assign({}, tableServerApis.getData(name)));\n }\n }, [name, controllerOpen, tableServerApis]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter(col => !(get(config, `${col.name}.visible`) === false || (get(config, `${col.name}.visible`) !== true && col.hidden === true)))\n .sort((a, b) => {\n const computedIndex = item => get(config, `${item.name}.rank`, 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const columnCount = visibleColumns.length;\n\n const hasFixedColumn = useMemo(() => visibleColumns.some(col => col.fixed === 'right' || col.fixed === 'left' || col.fixed === true), [visibleColumns]);\n\n const lastNotFixedColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, col => col.fixed !== 'right' && !isOptionsColumn(col));\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return visibleColumns.reduce((sum, col, index) => {\n const { width } = getColumnSize(col);\n const contentWidth = get(config, `${col.name}.width`) || width;\n return sum + withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }, 0);\n }, [visibleColumns, config, columnCount, controllerOpen]);\n\n const computedRealWidth = useCallback(\n ({ width, index }) => {\n const contentWidth = width;\n if (currentMoveColumnIndex !== null && currentMoveColumnIndex === index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n if (hasFixedColumn || lastNotFixedColumnIndex !== index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen) + Math.max(tableWidth - totalWidth - 2, 0);\n },\n [hasFixedColumn, lastNotFixedColumnIndex, tableWidth, totalWidth, currentMoveColumnIndex, columnCount, controllerOpen]\n );\n\n const getConfigWidth = useCallback(\n column => {\n const { width, min, max } = getColumnSize(column);\n const currentWidth = Math.min(Math.max(get(config, `${column.name}.width`) || width, min), max);\n return { currentWidth, min, max };\n },\n [config]\n );\n\n const resizeBarRender = useCallback(\n (column, index) => {\n return (\n <span\n className={classnames(configStyle['cell-resize-bar'], 'table-cell-resize-bar')}\n onMouseDown={e => {\n e.stopPropagation();\n const { currentWidth, min, max } = getConfigWidth(column);\n currentMoveColumnRef.current = Object.assign({}, column, { index, width: currentWidth, min, max });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <HolderOutlined />\n </span>\n );\n },\n [getConfigWidth]\n );\n\n const resize = useRefCallback(delta => {\n if (currentMoveColumnIndexRef.current === null || !currentMoveColumnRef.current) {\n return;\n }\n const { name: colName, width, min, max } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < min) {\n return;\n }\n setConfig(prevConfig =>\n Object.assign({}, prevConfig, {\n [colName]: Object.assign({}, prevConfig[colName], { width: currentWidth })\n })\n );\n });\n\n const renderColumnTitle = useCallback(\n (title, column, index, { withResize = true, withConfig = false } = {}) => {\n const titleNode = withConfig ? <TableConfigButton title={title} columns={columns} config={config} setConfig={setConfig} /> : title;\n const content = (\n <>\n {titleNode}\n {withResize && controllerOpen && resizeBarRender(column, index)}\n </>\n );\n if (!withResize || !controllerOpen) {\n return content;\n }\n return <span className={configStyle['header-cell-inner']}>{content}</span>;\n },\n [columns, config, controllerOpen, resizeBarRender, setConfig]\n );\n\n const getHeaderCellClassName = useCallback(\n index =>\n classnames(configStyle['header-col'], {\n 'is-moving': currentMoveColumnIndexRef.current === index\n }),\n []\n );\n\n const computedColumnProps = useCallback(\n (column, index, { title }) => {\n const { currentWidth } = getConfigWidth(column);\n const realWidth = computedRealWidth({ width: currentWidth, index });\n const isLastColumn = index === columnCount - 1;\n\n const movingClass = () => ({\n className: classnames({\n 'is-moving': currentMoveColumnIndex === index,\n 'has-config-btn': isLastColumn && controllerOpen\n })\n });\n\n return {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey = typeof rowKey === 'function' ? rowKey(record) : record[rowKey];\n const prevItemKey = typeof rowKey === 'function' ? rowKey(prevRecord) : prevRecord[rowKey];\n return currentMoveColumnIndexRef.current === null || currentMoveColumnIndexRef.current === index || !(itemKey === prevItemKey && isEqual(record[column.name], prevRecord[column.name]));\n },\n title: renderColumnTitle(title, column, index, {\n withResize: true,\n withConfig: isLastColumn && controllerOpen\n })\n };\n },\n [columnCount, controllerOpen, computedRealWidth, getConfigWidth, renderColumnTitle, rowKey, currentMoveColumnIndex]\n );\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = e => {\n if (currentMoveColumnIndexRef.current === null || currentMoveColumnRef.current === null || startPointRef.current === null) {\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n\n document.documentElement.addEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.addEventListener('mousemove', handlerResize, true);\n return () => {\n document.documentElement.removeEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.removeEventListener('mousemove', handlerResize, true);\n };\n }, [resize]);\n\n return {\n visibleColumns,\n columnsConfig: config,\n setConfig,\n currentMoveColumnIndex,\n totalWidth,\n hasFixedColumn,\n computedColumnProps,\n renderColumnTitle,\n getHeaderCellClassName,\n getConfigWidth,\n computedRealWidth,\n resizeBarRender\n };\n};\n\nexport default useTableConfig;\n","import { useMemo } from 'react';\n\nconst useGroupHeader = columns => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(item => item.groupHeader && item.groupHeader.length > 0);\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = column => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, groupList) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = groupList.find(item => item.name === targetHeader.name);\n if (!currentGroup) {\n currentGroup = Object.assign({ startIndex: columnIndex }, targetHeader, { children: [] });\n groupList.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import { useEffect, useState } from 'react';\n\nconst useElementWidth = ref => {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const el = ref.current;\n if (!el) {\n return;\n }\n const update = () => setWidth(el.clientWidth);\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(el);\n update();\n return () => resizeObserver.disconnect();\n }, [ref]);\n\n return width;\n};\n\nexport default useElementWidth;\n","import React from 'react';\nimport classnames from 'classnames';\nimport Ellipsis from './Ellipsis';\nimport ellipsisStyle from './ellipsis.module.scss';\n\nexport const renderCellContent = (content, column, contentClassName) => {\n const wrapEllipsis = column.ellipsis && !column.ellipsisHandledByRender;\n const needsWidthConstraint = Boolean(column.ellipsis || column.cellFullWidth);\n const inner = wrapEllipsis ? <Ellipsis ellipsis={column.ellipsis}>{content}</Ellipsis> : content;\n\n return <span className={contentClassName}>{needsWidthConstraint ? <span className={classnames(ellipsisStyle['cell-content'], column.cellFullWidth && ellipsisStyle['cell-full-width'])}>{inner}</span> : inner}</span>;\n};\n\nexport const getColumnEllipsis = column => {\n if (!column.ellipsis) {\n return undefined;\n }\n return typeof column.ellipsis === 'object' ? column.ellipsis : true;\n};\n","import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Checkbox, Empty, Table as AntTable } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport viewStyle from '../TableView/style.module.scss';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort, { renderColumnTitle } from '../useSort';\nimport useTableConfig from '../useTableConfig';\nimport useGroupHeader from '../useGroupHeader';\nimport useElementWidth from '../useElementWidth';\nimport { getColumnEllipsis, renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst mapJustifyToAlign = justify => {\n if (justify === 'center') {\n return 'center';\n }\n if (justify === 'flex-end') {\n return 'right';\n }\n return 'left';\n};\n\nconst resolveRowKey = (rowKey, record) => get(record, typeof rowKey === 'function' ? rowKey(record) : rowKey);\n\nconst toAntdWidth = width => {\n if (width == null) {\n return undefined;\n }\n if (typeof width === 'number') {\n return width;\n }\n const parsed = parseColumnWidth(width);\n return parsed || width;\n};\n\nconst toAntdFixed = fixed => {\n if (fixed === 'right') {\n return 'right';\n }\n if (fixed === true || fixed === 'left') {\n return 'left';\n }\n return undefined;\n};\n\nconst getColCellStyle = column => ({\n textAlign: mapJustifyToAlign(column.justify),\n verticalAlign: column.align === 'middle' ? 'middle' : column.align === 'bottom' ? 'bottom' : 'top'\n});\n\nconst getAntCellClassName = (...extra) => classnames(style['table-cell'], 'info-page-table-col', ...extra);\n\nconst wrapColContent = node => <span className={viewStyle['col-content']}>{node}</span>;\n\nconst Table = p => {\n const tableRef = useRef(null);\n const tableWidth = useElementWidth(tableRef);\n const [isLayout, setIsLayout] = useState(true);\n\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />,\n controllerOpen: true\n },\n p\n );\n const {\n className,\n dataSource,\n columns: columnsProp,\n rowKey,\n rowSelection,\n valueIsEmpty,\n emptyIsPlaceholder,\n placeholder,\n empty,\n onRowSelect,\n render,\n context,\n sticky,\n headerStyle,\n pagination = false,\n sortRender,\n name,\n controllerOpen,\n tableServerApis,\n scroll,\n summary,\n ...others\n } = props;\n\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => setIsLayout(false), 0);\n }\n }, [tableWidth]);\n\n const { visibleColumns, columnsConfig, currentMoveColumnIndex, totalWidth, computedColumnProps, hasFixedColumn } = useTableConfig({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n tableServerApis\n });\n\n const [resizeGuideStyle, setResizeGuideStyle] = useState(null);\n\n const updateResizeGuide = useCallback(() => {\n if (currentMoveColumnIndex === null || !tableRef.current) {\n setResizeGuideStyle(null);\n return;\n }\n const root = tableRef.current;\n const headerCell = root.querySelector('.ant-table-thead .ant-table-cell.is-moving');\n const tableContainer = root.querySelector('.ant-table-container');\n if (!headerCell || !tableContainer) {\n setResizeGuideStyle(null);\n return;\n }\n const headerRect = headerCell.getBoundingClientRect();\n const resizeBar = headerCell.querySelector('.table-cell-resize-bar');\n const barRect = resizeBar?.getBoundingClientRect();\n const containerRect = tableContainer.getBoundingClientRect();\n setResizeGuideStyle({\n position: 'fixed',\n left: Math.round(barRect?.right ?? headerRect.right),\n top: Math.round(containerRect.top),\n height: Math.round(containerRect.height),\n zIndex: 100\n });\n }, [currentMoveColumnIndex]);\n\n useLayoutEffect(() => {\n updateResizeGuide();\n }, [updateResizeGuide, columnsConfig, tableWidth, dataSource, isLayout]);\n\n useEffect(() => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n const handleUpdate = () => updateResizeGuide();\n window.addEventListener('mousemove', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n const resizeObserver = new ResizeObserver(handleUpdate);\n if (tableRef.current) {\n resizeObserver.observe(tableRef.current);\n }\n return () => {\n window.removeEventListener('mousemove', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n resizeObserver.disconnect();\n };\n }, [currentMoveColumnIndex, updateResizeGuide]);\n\n const targetColumns = useMemo(() => visibleColumns.map((column, index) => Object.assign({}, column, { __index: index })), [visibleColumns]);\n\n const { columns: groupedColumns, hasGroupHeader } = useGroupHeader(targetColumns);\n\n const antdColumns = useMemo(() => {\n const buildLeafColumn = (column, index) => {\n const { name: colName, title, width, align, justify, fixed } = column;\n const baseColumn = {\n key: colName,\n dataIndex: colName,\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>,\n width: toAntdWidth(width),\n fixed: toAntdFixed(fixed),\n align: mapJustifyToAlign(justify),\n ellipsis: getColumnEllipsis(column),\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n render: (_, record) => {\n const [computedColumn] = computeColumnsValue({\n columns: [column],\n emptyIsPlaceholder,\n valueIsEmpty,\n removeEmpty: false,\n dataSource: record,\n placeholder,\n context\n });\n if (!computedColumn) {\n return null;\n }\n return renderCellContent(computeDisplay({ column: computedColumn, placeholder, dataSource: record, context }), computedColumn, viewStyle['col-content']);\n }\n };\n\n if (!controllerOpen) {\n return baseColumn;\n }\n\n const configProps = computedColumnProps(column, index, {\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>\n });\n const antdFixed = toAntdFixed(fixed);\n\n return Object.assign({}, baseColumn, configProps, {\n width: configProps.width,\n fixed: antdFixed,\n onHeaderCell: () => ({\n className: getAntCellClassName(configProps.onHeaderCell?.().className),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(configProps.onCell?.().className),\n style: getColCellStyle(column)\n })\n });\n };\n\n const mapColumn = column => {\n if (column.children && column.children.length > 0) {\n return {\n key: column.name,\n title: <span className={viewStyle['col-content']}>{column.title}</span>,\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: { textAlign: 'center', verticalAlign: 'middle' }\n }),\n children: column.children.map(mapColumn)\n };\n }\n return buildLeafColumn(column, column.__index);\n };\n\n return groupedColumns.map(mapColumn);\n }, [groupedColumns, context, emptyIsPlaceholder, placeholder, sortRender, valueIsEmpty, controllerOpen, computedColumnProps, currentMoveColumnIndex]);\n\n const antdRowSelection = useMemo(() => {\n if (!rowSelection) {\n return undefined;\n }\n\n const getRowKey = record => resolveRowKey(rowKey, record);\n\n return {\n type: rowSelection.type === 'radio' ? 'radio' : 'checkbox',\n ...(hasFixedColumn ? { fixed: 'left' } : {}),\n selectedRowKeys: rowSelection.isSelectedAll ? (dataSource || []).filter(item => !item.disabled).map(getRowKey) : rowSelection.selectedRowKeys,\n onChange: (selectedRowKeys, selectedRows, info) => {\n if (info.type === 'all') {\n const checked = selectedRowKeys.length > 0;\n if (typeof rowSelection.onIsSelectAllChange === 'function') {\n rowSelection.onIsSelectAllChange(checked);\n return;\n }\n if (!checked) {\n rowSelection.onChange([], undefined, { context, checked: false });\n return;\n }\n rowSelection.onChange((dataSource || []).map(getRowKey), undefined, { context, checked: true });\n return;\n }\n\n const currentKey = selectedRows.length > 0 ? getRowKey(selectedRows[selectedRows.length - 1]) : selectedRowKeys[selectedRowKeys.length - 1];\n const checked = selectedRowKeys.indexOf(currentKey) > -1;\n rowSelection.onChange(selectedRowKeys, currentKey, { context, checked });\n },\n getCheckboxProps: record => ({\n disabled: record.disabled || rowSelection.isSelectedAll\n }),\n ...(rowSelection.type === 'checkbox'\n ? {\n columnTitle: rowSelection.allowSelectedAll ? checkboxNode => wrapColContent(checkboxNode) : wrapColContent(<Checkbox style={{ visibility: 'hidden' }} />),\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['selection-col'])\n })\n }\n : {\n columnWidth: 30,\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['radio-col'])\n })\n })\n };\n }, [context, dataSource, rowKey, rowSelection, hasFixedColumn]);\n\n const tableScroll = useMemo(() => {\n let x;\n if (hasFixedColumn) {\n x = totalWidth;\n } else if (controllerOpen) {\n x = Math.max(tableWidth, totalWidth);\n }\n return Object.assign({}, x != null ? { x } : {}, scroll);\n }, [hasFixedColumn, controllerOpen, totalWidth, tableWidth, scroll]);\n\n const tableElement = (\n <AntTable\n {...others}\n showHeader\n dataSource={dataSource}\n columns={antdColumns}\n rowKey={typeof rowKey === 'function' ? rowKey : record => get(record, rowKey)}\n rowSelection={antdRowSelection}\n pagination={pagination}\n summary={typeof summary === 'function' ? (pageData, ...args) => summary(pageData, ...args) : undefined}\n sticky={sticky ? { offsetHeader: 0 } : undefined}\n tableLayout={controllerOpen || hasFixedColumn ? 'fixed' : undefined}\n scroll={tableScroll}\n onHeaderRow={() => ({\n className: classnames(viewStyle['header'], 'info-page-table-header', {\n [viewStyle['sticky']]: sticky && !hasFixedColumn\n }),\n style: headerStyle\n })}\n locale={{ emptyText: <div className={viewStyle['empty']}>{empty}</div> }}\n rowClassName={record => {\n const id = resolveRowKey(rowKey, record);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n return classnames(viewStyle['body'], 'info-page-table-row', {\n [viewStyle['is-selected-all']]: rowSelection?.isSelectedAll,\n [viewStyle['is-selected']]: isChecked,\n [viewStyle['is-disabled']]: record.disabled\n });\n }}\n onRow={record => ({\n onClick: () => {\n if (record.disabled) {\n return;\n }\n onRowSelect && onRowSelect(record, { columns: visibleColumns, dataSource });\n }\n })}\n />\n );\n\n const wrappedTable = (\n <div\n ref={tableRef}\n className={classnames(viewStyle['table'], style['table'], 'info-page-table', className, {\n [style['is-resize']]: currentMoveColumnIndex !== null,\n [style['is-computed']]: isLayout,\n [style['has-group-header']]: hasGroupHeader,\n [style['has-summary']]: typeof summary === 'function'\n })}\n >\n <div className=\"info-page-table-body\">{!isLayout && tableElement}</div>\n {currentMoveColumnIndex !== null && resizeGuideStyle && <span className={style['column-resize-guide']} style={resizeGuideStyle} aria-hidden />}\n </div>\n );\n\n if (typeof render === 'function') {\n return render({\n ...others,\n header: null,\n renderBody: () => wrappedTable\n });\n }\n\n return wrappedTable;\n};\n\nTable.useSelectedRow = useSelectedRow;\nTable.useSort = useSort;\nTable.sortDataSource = useSort.sortDataSource;\n\nexport default Table;\n","import React, { useLayoutEffect, useRef } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\n\nconst Label = ({ className, children, onChange }) => {\n const ref = useRef(null);\n const handlerChange = useRefCallback(onChange);\n useLayoutEffect(() => {\n const computed = () => {\n if (!ref.current) {\n return;\n }\n handlerChange(ref.current.getBoundingClientRect());\n };\n const resizeObserver = new ResizeObserver(computed);\n resizeObserver.observe(ref.current);\n computed();\n return () => {\n resizeObserver.disconnect();\n };\n }, [handlerChange]);\n return (\n <span ref={ref} className={className}>\n {children}\n </span>\n );\n};\n\nexport default Label;\n","import React from 'react';\nimport { Checkbox } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport Label from '../Label';\nimport { renderColumnTitle } from '../useSort';\nimport { getColumnLayout, parseColumnWidth } from './columnWidth';\nimport { resolveColumnDimensions } from '../columnRenderType';\nimport style from './style.module.scss';\n\nconst renderHeaderCellContent = (column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize }) => {\n const titleNode = renderColumnTitle(column.title, column, sortRender);\n const contentClassName = style['col-content'];\n\n if (widthBased) {\n return <span className={contentClassName}>{titleNode}</span>;\n }\n\n return (\n <Label\n className={contentClassName}\n onChange={size => {\n setColsSize(value =>\n Object.assign({}, value, {\n [column.name]: Math.max(size.width, parseColumnWidth(resolveColumnDimensions(column).width))\n })\n );\n }}\n >\n {titleNode}\n </Label>\n );\n};\n\nexport const renderHeaderGridCells = ({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan }) => {\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key=\"__selection__\" className={classnames(style['col'], style['col-fixed'], style['header-cell'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n {rowSelection.allowSelectedAll ? (\n (() => {\n const checkedAll =\n rowSelection.isSelectedAll || (dataSource && dataSource.every(item => rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey)) > -1));\n return (\n <Checkbox\n checked={checkedAll}\n indeterminate={rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.length > 0 && !checkedAll}\n onChange={e => {\n const checked = e.target.checked;\n if (!checked) {\n typeof rowSelection.onIsSelectAllChange === 'function' ? rowSelection.onIsSelectAllChange(false) : rowSelection.onChange([]);\n } else {\n typeof rowSelection.onIsSelectAllChange === 'function'\n ? rowSelection.onIsSelectAllChange(true)\n : dataSource &&\n dataSource.length > 0 &&\n rowSelection.onChange(\n dataSource.map(item => {\n return get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n })\n );\n }\n }}\n />\n );\n })()\n ) : (\n <Checkbox style={{ visibility: 'hidden' }} />\n )}\n </span>\n </div>\n );\n }\n\n columns.forEach((column, index) => {\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === columns.length - 1,\n columns\n });\n cells.push(\n <div key={column.name} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], style['header-cell'], 'info-page-table-col')}>\n {renderHeaderCellContent(column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize })}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(<div key=\"__radio__\" className={classnames(style['col'], style['single-checked'], style['header-cell'], 'info-page-table-col')} />);\n }\n\n return cells;\n};\n\nconst Header = p => {\n const { dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, headerStyle, sortRender, defaultSpan } = Object.assign(\n {},\n {\n rowKey: 'id'\n },\n p\n );\n\n return (\n <div style={headerStyle} className={classnames(style['header'], 'info-page-table-header')}>\n {renderHeaderGridCells({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan })}\n </div>\n );\n};\n\nexport default Header;\n","import React, { useMemo, useState } from 'react';\nimport Header, { renderHeaderGridCells } from './Header';\nimport { Checkbox, Empty } from 'antd';\nimport { CheckOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { getColumnLayout, getGridTemplateColumns, hasColumnSpan, hasColumnWidth } from './columnWidth';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort from '../useSort';\nimport { renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst getLayoutColumns = columns => columns.filter(column => column.display !== false);\n\nconst TableView = p => {\n const [colsSize, setColsSize] = useState({});\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />\n },\n p\n );\n const { className, dataSource, columns: columnsProp, rowKey, rowSelection, valueIsEmpty, emptyIsPlaceholder, placeholder, empty, onRowSelect, render, context, sticky, headerStyle, sortRender, ...others } = props;\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n const layoutColumns = useMemo(() => getLayoutColumns(columns), [columns]);\n const defaultSpan = useMemo(() => {\n const assignedSpan = layoutColumns.reduce((a, b) => a + (b.span || 0), 0);\n const undistributedColCount = layoutColumns.filter(item => !hasColumnSpan(item) && !hasColumnWidth(item, layoutColumns)).length;\n\n return undistributedColCount > 0 ? Math.round(Math.max(24 - assignedSpan, 0) / undistributedColCount) : 1;\n }, [layoutColumns]);\n\n const gridTemplateColumns = useMemo(() => getGridTemplateColumns(layoutColumns, { defaultSpan, colsSize, rowSelection }), [layoutColumns, defaultSpan, colsSize, rowSelection]);\n\n const headerCellProps = {\n dataSource,\n columns: layoutColumns,\n rowKey,\n rowSelection,\n colsSize,\n setColsSize,\n sortRender,\n defaultSpan\n };\n\n const header = <Header {...headerCellProps} headerStyle={headerStyle} />;\n\n const handleRowClick = (item, { dataSource, context, id, isChecked }) => {\n if (item.disabled) {\n return;\n }\n onRowSelect && onRowSelect(item, { columns: layoutColumns, dataSource });\n if (!rowSelection || rowSelection.isSelectedAll) {\n return;\n }\n if (rowSelection.type === 'checkbox') {\n const selectedRowKeys = (rowSelection.selectedRowKeys || []).slice(0);\n isChecked ? selectedRowKeys.splice(rowSelection.selectedRowKeys.indexOf(id), 1) : selectedRowKeys.push(id);\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n return;\n }\n const selectedRowKeys = rowSelection.selectedRowKeys.length && rowSelection.selectedRowKeys[0] === id ? [] : [id];\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n };\n\n const renderBodyGridCells = (dataSource, context) => {\n const getId = item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n\n if (!dataSource || dataSource.length === 0) {\n return null;\n }\n\n return dataSource.map(item => {\n const id = getId(item);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n const columnsValue = computeColumnsValue({ columns: layoutColumns, emptyIsPlaceholder, valueIsEmpty, removeEmpty: true, dataSource: item, placeholder, context });\n const columnMap = columnsValue.reduce((result, column) => Object.assign(result, { [column.name]: column }), {});\n const rowClassName = classnames(style['body'], style['body-cell'], style['body-row'], 'info-page-table-row', {\n [style['is-selected-all']]: rowSelection?.isSelectedAll,\n [style['is-selected']]: isChecked,\n [style['is-disabled']]: item.disabled\n });\n const onSelectionChange = () => handleRowClick(item, { dataSource, context, id, isChecked });\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key={`${id}__selection__`} className={classnames(style['col'], style['col-fixed'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n <Checkbox disabled={item.disabled || rowSelection.isSelectedAll} checked={(rowSelection.isSelectedAll && !item.disabled) || isChecked} onChange={onSelectionChange} />\n </span>\n </div>\n );\n }\n\n layoutColumns.forEach((column, index) => {\n const columnValue = columnMap[column.name];\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === layoutColumns.length - 1,\n columns: layoutColumns\n });\n\n cells.push(\n <div key={`${id}-${column.name}`} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], 'info-page-table-col')}>\n {columnValue ? renderCellContent(computeDisplay({ column: columnValue, placeholder, dataSource: item, context }), columnValue, style['col-content']) : <span className={style['col-content']} />}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(\n <div key={`${id}__radio__`} className={classnames(style['col'], style['single-checked'], 'info-page-table-col')} onClick={onSelectionChange}>\n {isChecked && <CheckOutlined />}\n </div>\n );\n }\n\n return (\n <div key={id} className={rowClassName}>\n {cells}\n </div>\n );\n });\n };\n\n const renderGrid = (dataSource, context) => (\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n {renderBodyGridCells(dataSource, context)}\n </div>\n );\n\n const renderBody = (dataSource, context) => {\n if (!dataSource || dataSource.length === 0) {\n return <div className={style['empty']}>{empty}</div>;\n }\n\n return <div className={classnames('info-page-table-body')}>{renderGrid(dataSource, context)}</div>;\n };\n\n if (typeof render === 'function') {\n return render({ ...others, header, renderBody });\n }\n\n return (\n <div {...others} className={classnames(style['table'], style['tableView'], 'info-page-table', className)}>\n {dataSource && dataSource.length > 0 ? (\n renderGrid(dataSource, context)\n ) : (\n <>\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n </div>\n <div className={style['empty']}>{empty}</div>\n </>\n )}\n </div>\n );\n};\n\nTableView.Header = Header;\nTableView.useSelectedRow = useSelectedRow;\nTableView.useSort = useSort;\nTableView.sortDataSource = useSort.sortDataSource;\nexport default TableView;\n","export const parsePixelValue = value => {\n const num = parseFloat(value);\n return Number.isNaN(num) ? 0 : num;\n};\n\nexport const getViewportRect = () => {\n const visualViewport = window.visualViewport;\n if (visualViewport) {\n return {\n top: visualViewport.offsetTop,\n bottom: visualViewport.offsetTop + visualViewport.height,\n left: visualViewport.offsetLeft,\n right: visualViewport.offsetLeft + visualViewport.width,\n height: visualViewport.height\n };\n }\n return {\n top: 0,\n bottom: window.innerHeight,\n left: 0,\n right: window.innerWidth,\n height: window.innerHeight\n };\n};\n\nexport const getTableElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.info-page-table') || root;\n};\n\nexport const getTableScrollElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.ant-table-body') || root.querySelector('.ant-table-content');\n};\n\nexport const getElementViewportState = element => {\n if (!element) {\n return {\n isBottomInViewport: true,\n isPartiallyInViewport: false,\n isTopInViewport: true,\n rect: null,\n viewport: getViewportRect()\n };\n }\n const rect = element.getBoundingClientRect();\n const viewport = getViewportRect();\n return {\n isBottomInViewport: rect.bottom > viewport.top && rect.bottom <= viewport.bottom,\n isPartiallyInViewport: rect.top < viewport.bottom && rect.bottom > viewport.top,\n isTopInViewport: rect.top >= viewport.top && rect.top < viewport.bottom,\n rect,\n viewport\n };\n};\n\nexport const isTopEdgeInViewport = (element, scrollMarginTop = 0) => {\n const { isTopInViewport, rect, viewport } = getElementViewportState(element);\n if (!rect) {\n return true;\n }\n const viewportTop = viewport.top + scrollMarginTop;\n return rect.top >= viewportTop && rect.top < viewport.bottom;\n};\n\nexport const shouldShowFloatingScrollbar = (scrollEl, viewportState) => {\n if (!scrollEl || scrollEl.scrollWidth <= scrollEl.clientWidth + 1) {\n return false;\n }\n const state = viewportState || getElementViewportState(scrollEl);\n if (!state.isPartiallyInViewport) {\n return false;\n }\n return !state.isBottomInViewport;\n};\n\nexport const observeViewportIntersection = (element, onChange) => {\n if (!element) {\n return () => {};\n }\n\n const notify = entry => {\n onChange(getElementViewportState(element));\n };\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n notify(entry);\n },\n {\n root: null,\n threshold: [0, 0.01, 0.25, 0.5, 0.75, 1]\n }\n );\n\n observer.observe(element);\n\n const handleViewportChange = () => {\n notify();\n };\n\n window.addEventListener('scroll', handleViewportChange, true);\n window.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('scroll', handleViewportChange);\n notify();\n\n return () => {\n observer.disconnect();\n window.removeEventListener('scroll', handleViewportChange, true);\n window.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('scroll', handleViewportChange);\n };\n};\n","import { createPortal } from 'react-dom';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport { getTableScrollElement, getViewportRect, observeViewportIntersection, shouldShowFloatingScrollbar } from './scrollUtils';\n\nconst BAR_HEIGHT = 15;\nconst THUMB_MARGIN = 2;\n\nconst computeBarMetrics = (scrollEl, viewportState) => {\n const rect = scrollEl.getBoundingClientRect();\n const viewport = getViewportRect();\n const trackWidth = rect.width;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const maxThumbOffset = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n const scrollRatio = scrollEl.scrollWidth > scrollEl.clientWidth ? scrollEl.scrollLeft / (scrollEl.scrollWidth - scrollEl.clientWidth) : 0;\n\n return {\n left: rect.left,\n width: trackWidth,\n bottom: window.innerHeight - viewport.bottom,\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible: shouldShowFloatingScrollbar(scrollEl, viewportState)\n };\n};\n\nconst FloatingScrollBar = ({ metrics, onThumbDrag, getPortalContainer }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(false);\n const onThumbDragRef = useRef(onThumbDrag);\n onThumbDragRef.current = onThumbDrag;\n\n useEffect(() => {\n movingRef.current = moving;\n }, [moving]);\n\n useEffect(() => {\n const moveHandler = event => {\n if (!movingRef.current) {\n return;\n }\n onThumbDragRef.current(event.clientX - startRef.current);\n startRef.current = event.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener('mousemove', moveHandler, true);\n document.addEventListener('mouseup', upHandler, true);\n return () => {\n document.removeEventListener('mousemove', moveHandler, true);\n document.removeEventListener('mouseup', upHandler, true);\n };\n }, []);\n\n if (!metrics?.visible) {\n return null;\n }\n\n const portalTarget = getPortalContainer?.() || document.body;\n\n return createPortal(\n <div\n className={classnames(style['floating-scrollbar'], 'table-page-floating-scrollbar')}\n style={{\n left: metrics.left,\n width: metrics.width,\n height: BAR_HEIGHT,\n bottom: metrics.bottom\n }}\n >\n <div\n className={classnames(style['floating-scrollbar-thumb'], {\n [style['is-moving']]: moving\n })}\n style={{\n width: metrics.thumbWidth,\n left: metrics.thumbLeft\n }}\n onMouseDown={event => {\n event.preventDefault();\n startRef.current = event.clientX;\n setMoving(true);\n }}\n />\n </div>,\n portalTarget\n );\n};\n\nconst HorizontalScroller = forwardRef(({ className, enabled = true, getPortalContainer, children }, forwardedRef) => {\n const [metrics, setMetrics] = useState(null);\n const containerRef = useRef(null);\n const scrollElRef = useRef(null);\n const viewportStateRef = useRef(null);\n\n const setContainerRef = useRefCallback(node => {\n containerRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n });\n\n const updateMetrics = useRefCallback(() => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n setMetrics(null);\n return;\n }\n setMetrics(computeBarMetrics(scrollEl, viewportStateRef.current));\n });\n\n const handleThumbDrag = useRefCallback(deltaX => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n return;\n }\n const trackWidth = scrollEl.clientWidth;\n const scrollableWidth = scrollEl.scrollWidth - scrollEl.clientWidth;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const thumbTravel = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n if (thumbTravel <= 0) {\n return;\n }\n scrollEl.scrollLeft += (deltaX / thumbTravel) * scrollableWidth;\n updateMetrics();\n });\n\n useEffect(() => {\n if (!enabled) {\n scrollElRef.current = null;\n viewportStateRef.current = null;\n setMetrics(null);\n return undefined;\n }\n\n const root = containerRef.current;\n if (!root) {\n return undefined;\n }\n\n let scrollEl = null;\n let unobserveViewport = null;\n let contentResizeObserver = null;\n\n const detachScrollEl = () => {\n unobserveViewport?.();\n unobserveViewport = null;\n if (!scrollEl) {\n return;\n }\n scrollEl.removeEventListener('scroll', updateMetrics);\n contentResizeObserver?.disconnect();\n contentResizeObserver = null;\n scrollElRef.current = null;\n viewportStateRef.current = null;\n scrollEl = null;\n };\n\n const attachScrollEl = nextScrollEl => {\n if (!nextScrollEl || nextScrollEl === scrollEl) {\n return;\n }\n detachScrollEl();\n scrollEl = nextScrollEl;\n scrollElRef.current = scrollEl;\n unobserveViewport = observeViewportIntersection(scrollEl, state => {\n viewportStateRef.current = state;\n updateMetrics();\n });\n scrollEl.addEventListener('scroll', updateMetrics, { passive: true });\n contentResizeObserver = new ResizeObserver(updateMetrics);\n contentResizeObserver.observe(scrollEl);\n Array.from(scrollEl.children).forEach(child => {\n contentResizeObserver.observe(child);\n });\n };\n\n const onLayoutChange = () => {\n attachScrollEl(getTableScrollElement(root));\n updateMetrics();\n };\n\n const containerResizeObserver = new ResizeObserver(onLayoutChange);\n containerResizeObserver.observe(root);\n onLayoutChange();\n\n return () => {\n detachScrollEl();\n containerResizeObserver.disconnect();\n };\n }, [enabled, updateMetrics]);\n\n return (\n <>\n <div ref={setContainerRef} className={className}>\n {children}\n </div>\n {enabled ? <FloatingScrollBar metrics={metrics} onThumbDrag={handleThumbDrag} getPortalContainer={getPortalContainer} /> : null}\n </>\n );\n});\n\nexport default HorizontalScroller;\n","import React, { useMemo } from 'react';\nimport { Button, Dropdown } from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport { FilterProvider, FilterLines, FilterValueDisplay, SearchInput } from '@kne/react-filter';\nimport '@kne/react-filter/dist/index.css';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport style from './tableToolbar.module.scss';\n\nconst TableToolbar = ({ filterValue, onFilterChange, filter, search, batchActions, rowSelection, selectedRows, batchContext }) => {\n const { formatMessage } = useIntl();\n const selectedRowKeys = rowSelection?.selectedRowKeys || [];\n const hasSelection = selectedRowKeys.length > 0;\n\n const batchMenuItems = useMemo(() => {\n if (!Array.isArray(batchActions) || batchActions.length === 0) {\n return [];\n }\n return batchActions.map(item => {\n const { key, label, disabled, danger, onClick } = item;\n const isDisabled = disabled ?? !hasSelection;\n return {\n key: key || label,\n label,\n danger,\n disabled: isDisabled,\n onClick: () => {\n if (isDisabled) {\n return;\n }\n onClick?.({\n selectedRowKeys,\n selectedRows: selectedRows || [],\n rowSelection,\n ...batchContext\n });\n }\n };\n });\n }, [batchActions, batchContext, hasSelection, rowSelection, selectedRowKeys, selectedRows]);\n\n const showBatch = batchMenuItems.length > 0;\n const showFilter = filter?.list?.length > 0;\n const showSearch = search && search.name;\n\n if (!showBatch && !showFilter && !showSearch) {\n return null;\n }\n\n const { list: filterList, displayLine = 1, extraExpand, className: filterClassName, ...filterRest } = filter || {};\n const { className: searchClassName, style: searchStyle, ...searchRest } = search || {};\n\n const hasValueDisplay = filterValue?.length > 0;\n\n return (\n <FilterProvider value={filterValue} onChange={onFilterChange}>\n <div\n className={classnames(style['table-toolbar-section'], 'table-page-toolbar-section', {\n [style['has-value-display']]: hasValueDisplay,\n 'table-page-toolbar-section--has-value': hasValueDisplay\n })}\n >\n <div className={style['table-toolbar']}>\n {showBatch ? (\n <>\n <div className={style['table-toolbar-batch']}>\n <Dropdown disabled={!hasSelection} menu={{ items: batchMenuItems }} trigger={['click']}>\n <Button size=\"small\" disabled={!hasSelection} className={style['table-toolbar-batch-btn']}>\n {hasSelection ? formatMessage({ id: 'BatchOperationsWithCount' }, { count: selectedRowKeys.length }) : formatMessage({ id: 'BatchOperations' })}\n <DownOutlined />\n </Button>\n </Dropdown>\n </div>\n {(showFilter || showSearch) && <span className={style['table-toolbar-divider']} aria-hidden />}\n </>\n ) : null}\n {showFilter ? (\n <div className={style['table-toolbar-filter']}>\n <div className={classnames(style['table-toolbar-filter-inner'], filterClassName)}>\n <FilterLines list={filterList} displayLine={displayLine} label=\"\" {...filterRest} />\n </div>\n </div>\n ) : null}\n {showSearch ? (\n <>\n {showFilter && <span className={style['table-toolbar-divider']} aria-hidden />}\n <div className={style['table-toolbar-search']}>\n <SearchInput allowClear bordered={false} variant=\"filled\" size=\"small\" className={classnames(style['table-toolbar-search-input'], searchClassName)} style={searchStyle} {...searchRest} />\n </div>\n </>\n ) : null}\n </div>\n {hasValueDisplay ? (\n <div className={style['table-toolbar-value-display']}>\n <FilterValueDisplay value={filterValue} onChange={onFilterChange} extraExpand={extraExpand} />\n </div>\n ) : null}\n </div>\n </FilterProvider>\n );\n};\n\nexport default TableToolbar;\n","import { withFetch } from '@kne/react-fetch';\nimport { Pagination } from 'antd';\nimport { getFilterValue } from '@kne/react-filter';\nimport Table from '../Table';\nimport TableView from '../TableView';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport useRefCallback from '@kne/use-ref-callback';\nimport { forwardRef, useEffect, useMemo, useRef, useState } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport style from './style.module.scss';\nimport withLocale from '../withLocale';\nimport HorizontalScroller from './HorizontalScroller';\nimport TableToolbar from './TableToolbar';\nimport { getTableElement, isTopEdgeInViewport, parsePixelValue } from './scrollUtils';\n\nconst readPageSize = key => {\n try {\n const value = localStorage.getItem(key);\n if (value == null || value === '') {\n return null;\n }\n const num = Number(value);\n return Number.isNaN(num) ? null : num;\n } catch {\n return null;\n }\n};\n\nconst writePageSize = (key, size) => {\n try {\n localStorage.setItem(key, String(size));\n } catch {\n // ignore quota errors\n }\n};\n\nconst isTableTopInViewport = target => {\n const scrollMarginTop = parsePixelValue(getComputedStyle(target).scrollMarginTop);\n return isTopEdgeInViewport(target, scrollMarginTop);\n};\n\nconst scrollTableIntoView = root => {\n const target = getTableElement(root);\n if (!target) {\n return;\n }\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (isTableTopInViewport(target)) {\n return;\n }\n target.scrollIntoView({ block: 'start', inline: 'nearest' });\n });\n });\n};\n\nconst TABLE_COMPONENTS = {\n Table,\n TableView\n};\n\nconst collectFilterFieldNames = (filter, search) => {\n const names = new Set();\n if (search?.name) {\n names.add(search.name);\n }\n if (Array.isArray(filter?.list)) {\n filter.list.forEach(row => {\n if (!Array.isArray(row)) {\n return;\n }\n row.forEach(item => {\n const name = item?.props?.name;\n if (name) {\n names.add(name);\n }\n });\n });\n }\n return names;\n};\n\nconst omitFilterParams = (params, filterFieldNames) => {\n const next = Object.assign({}, params);\n filterFieldNames.forEach(name => {\n delete next[name];\n });\n return next;\n};\n\nconst TablePageInnerContent = withLocale(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n loadMore,\n send,\n dataFormat = data => {\n return {\n list: data.pageData,\n total: data.totalCount,\n data\n };\n },\n className,\n columns,\n getColumns,\n pagination = {},\n columnRenderProps = {},\n summary,\n sticky,\n renderType = 'Table',\n horizontalScroller = true,\n getScrollContainer,\n filter,\n search,\n batchActions,\n selectedRows,\n rowSelection,\n ...props\n }) => {\n const { formatMessage } = useIntl();\n const tableContentRef = useRef(null);\n const pendingScrollRef = useRef(false);\n const handlerDataFormat = useRefCallback(dataFormat);\n const isFilterControlled = filter && filter.value !== undefined;\n const [internalFilterValue, setInternalFilterValue] = useState(() => filter?.defaultValue || []);\n const filterValue = isFilterControlled ? filter.value : internalFilterValue;\n const mapFilterValue = filter?.mapFilterValue || getFilterValue;\n\n const getFilterParams = useRefCallback(value => {\n return mapFilterValue(value || []);\n });\n\n const filterFieldNames = useMemo(() => collectFilterFieldNames(filter, search), [filter, search]);\n\n const buildRequestParamsWithFilter = useRefCallback((value, extra = {}) => {\n return Object.assign({}, omitFilterParams(get(requestParams, pagination.paramsType), filterFieldNames), extra, getFilterParams(value));\n });\n\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const resolvedColumns = typeof getColumns === 'function' ? getColumns(data) : typeof columns === 'function' ? columns(data) : columns;\n\n const fetchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const scrollTable = useRefCallback(() => {\n scrollTableIntoView(tableContentRef.current);\n });\n\n const handleFilterChange = useRefCallback(value => {\n if (!isFilterControlled) {\n setInternalFilterValue(value);\n }\n filter?.onChange?.(value);\n reload({\n [pagination.paramsType]: buildRequestParamsWithFilter(value, {\n [pagination.currentName]: 1\n })\n });\n });\n\n useEffect(() => {\n if (!pendingScrollRef.current || !isComplete) {\n return;\n }\n pendingScrollRef.current = false;\n scrollTable();\n }, [isComplete, data, scrollTable]);\n\n const handlePaginationChange = useRefCallback((page, size) => {\n pendingScrollRef.current = true;\n if (typeof pagination.onChange === 'function') {\n pagination.onChange(page, size);\n return;\n }\n if (page !== get(requestParams, [pagination.paramsType, pagination.currentName], 1)) {\n (pagination.requestType === 'refresh' ? refresh : reload)({\n [pagination.paramsType]: buildRequestParamsWithFilter(filterValue, {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: Number(size)\n })\n });\n } else {\n pagination.onShowSizeChange && pagination.onShowSizeChange(page, Number(size));\n }\n });\n\n const paginationConfig = useMemo(() => {\n if (!pagination.open) {\n return null;\n }\n return {\n total: formatData.total,\n showTotal:\n typeof pagination.showTotal === 'function'\n ? pagination.showTotal\n : total => (\n <>\n {formatMessage({ id: 'TotalText' })}&nbsp;\n <span className={style['total_text']}>{total}</span>\n &nbsp;\n {formatMessage({ id: 'ItemText' })}\n </>\n ),\n current: get(requestParams, [pagination.paramsType, pagination.currentName], 1),\n pageSize: Number(get(requestParams, [pagination.paramsType, pagination.pageSizeName], pagination.pageSize)) || pagination.pageSize || 20,\n onChange: handlePaginationChange,\n size: pagination.size,\n hideOnSinglePage: pagination.hideOnSinglePage,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions\n };\n }, [pagination, formatData.total, requestParams, formatMessage, handlePaginationChange]);\n\n const hasToolbar = !!(filter?.list?.length || (search && search.name) || (batchActions && batchActions.length));\n\n const batchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const tableContext = {\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data\n };\n\n const tableProps = {\n ...props,\n rowSelection,\n dataSource: formatData.list,\n pagination: false,\n sticky,\n className: classnames(className, {\n [style['table-in-toolbar']]: hasToolbar\n }),\n columns: resolvedColumns,\n context: tableContext,\n columnRenderProps: tableContext,\n summary:\n typeof summary === 'function'\n ? (pageData, ...args) => {\n return summary(Object.assign({}, fetchContext, { pageData }, ...args));\n }\n : null\n };\n\n const TableComponent = TABLE_COMPONENTS[renderType] || Table;\n\n const tableElement = <TableComponent {...tableProps} />;\n\n return (\n <div className={style['table-page']}>\n <HorizontalScroller\n ref={tableContentRef}\n enabled={horizontalScroller && renderType === 'Table'}\n getPortalContainer={getScrollContainer}\n className={classnames(style['table-content'], 'loading-container', {\n 'is-loading': !isComplete && !data\n })}\n >\n {hasToolbar ? (\n <div className={style['table-with-toolbar']}>\n <TableToolbar filterValue={filterValue} onFilterChange={handleFilterChange} filter={filter} search={search} batchActions={batchActions} rowSelection={rowSelection} selectedRows={selectedRows} batchContext={batchContext} />\n {tableElement}\n </div>\n ) : (\n tableElement\n )}\n </HorizontalScroller>\n {paginationConfig ? <Pagination className={style['pagination']} {...paginationConfig} /> : null}\n </div>\n );\n }\n);\n\nconst TablePageInner = withFetch(TablePageInnerContent);\n\nconst TablePage = forwardRef(({ pagination, horizontalScroller = true, getScrollContainer, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n hideOnSinglePage: false,\n open: true,\n paramsType: 'data',\n requestType: 'reload',\n currentName: 'currentPage',\n pageSizeName: 'perPage',\n pageSize: 20\n },\n pagination\n );\n const pageSizeKey = `${(props.name || 'common').toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(() => readPageSize(pageSizeKey) ?? pagination.pageSize);\n const params = props[pagination.paramsType];\n const filterDefaultParams = useMemo(() => {\n if (!props.filter?.defaultValue?.length) {\n return {};\n }\n const mapFilterValue = props.filter.mapFilterValue || getFilterValue;\n return mapFilterValue(props.filter.defaultValue);\n }, [props.filter]);\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, filterDefaultParams, {\n [pagination.pageSizeName]: pageSize\n })\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize, filterDefaultParams]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n horizontalScroller={horizontalScroller}\n getScrollContainer={getScrollContainer}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n const nextSize = Number(size);\n writePageSize(pageSizeKey, nextSize);\n setPageSize(nextSize);\n }\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","import merge from 'lodash/merge';\nimport './renderType';\nimport { globalParams } from './globalParams';\n\nconst preset = props => {\n const next = merge({}, globalParams, props);\n merge(globalParams, props);\n return next;\n};\n\nexport { globalParams };\nexport default preset;\n"],"names":["this","calcArgs","args","template","attr","normal","groupBy","item","test","output","typeTransform","value","type","String","Number","forEach","target","index","currentTemplate","Object","assign","defaultValue","get","name","key","split","find","transform","result","hasOwnProperty","defaultFormat","date","dayjs","format","datetime","dateRange","allowNull","isEmpty","boolean","trueValue","toString","number","style","unit","maximumFractionDigits","useGrouping","roundingMode","suffix","Intl","NumberFormat","money","formatView","context","formatList","filter","length","reduce","map","replace","globalParams","renderType","renderTypeSize","tagTypeColors","defaultRender","Ellipsis","children","ellipsis","userConfig","showTitle","rest","_objectWithoutPropertiesLoose","_excluded","_jsx","Typography","Text","className","tooltip","rootClassName","main","column","dataSource","hover","primary","onClick","ellipsisConfig","showTooltip","text","classnames","e","colItem","event","undefined","Tooltip","title","ellipsisStyle","amount","DEFAULT_TAG_TYPE_COLORS","default","success","progress","processing","danger","error","warning","info","other","skill","filterResult","completed","pending","high","medium","low","getTagColor","customColors","normalizeTagItem","_ref","_item$text","label","renderTagItem","tag","color","Tag","_extends","renderTagList","Array","isArray","Space","size","wrap","tagList","DEFAULT_SPLIT","normalizeListValue","items","_value$items","list","getListItemText","_ref2","_ref3","_ref4","_normalized$split","normalized","join","SELECTION_CHECKBOX_WIDTH","SELECTION_RADIO_WIDTH","DEFAULT_COLUMN_WIDTH","parseColumnWidth","width","isNaN","trimmed","trim","pxMatch","match","parseFloat","num","getResolvedColumnWidth","resolveColumnDimensions","hasColumnSpan","span","getConfiguredColumnWidthPx","usesDefaultColumnWidth","columns","some","hasColumnWidth","shouldLastColumnFillRemaining","getColumnWidthPx","colsSize","configured","measured","Math","max","formatColumnWidthPx","px","getColumnTrackSize","defaultSpan","isLastColumn","_column$span","widthPx","getGridTemplateColumns","rowSelection","tracks","lastColumnIndex","push","getColumnLayout","widthBased","fillRemaining","align","justify","normalizeOptionItem","buttonClassName","options","buttonGroupProps","buttonGroup","valueList","_excluded2","wrapperClassName","normalizedList","hidden","ButtonGroup","moreType","itemClassName","enumRender","description","enum","SIZE_NAMES","typeSize","min","SIZE_CONFIG","short","small","large","getRenderTypeRegistry","renderers","getRenderTypeNames","keys","RENDER_TYPE_NAMES","getRender","getColumnRender","render","parseRenderType","getTypeConfigMap","extraTypeSize","pickDimension","columnValue","typeValue","sizeValue","renderTypeValue","renderTypeNames","part","includes","getRenderTypeDimensions","typeConfigMap","typeConfig","sizeConfig","renderTypeDimensions","resolveRenderType","_sizeConfig$width","_sizeConfig$min","_sizeConfig$max","ELLIPSIS_HANDLED_TYPES","FULL_WIDTH_CELL_TYPES","resolveColumn","renderFn","ellipsisHandledByRender","cellFullWidth","resolveColumns","isOptionsColumn","computeColumnsValue","emptyIsPlaceholder","valueIsEmpty","removeEmpty","itemValue","getValueOf","displayValue","formatValue","itemIsEmpty","display","computeDisplay","placeholder","renderPlaceholder","computeColumnsDisplay","useSelectedRow","rowKey","selectedRows","setSelectedRows","useState","getRowId","useCallback","selectedRowKeys","useMemo","setSelectedRowKeys","keySet","Set","has","clearSelectedRows","onSelectAll","checked","_selected","ids","existingKeys","indexOf","onSelect","newValue","slice","findIndex","row","splice","getRowSelection","extra","onChange","id","meta","allowSelectedAll","sortArrayToMap","sort","Map","useControlValue","internalValue","setInternalValue","isControlled","currentValue","setValue","updater","nextValue","compareValues","a","b","direction","emptyA","emptyB","strA","strB","localeCompare","sortDataSource","columnMap","aVal","bVal","getSortSingle","sortOption","single","renderColumnTitle","sortRender","_jsxs","useSort","props","setSort","defaultSort","onSortChange","mapSort","setMapSort","callback","currentSort","newSort","from","sortValue","stopPropagation","sortMap","current","targetValue","clone","set","delete","CaretUpOutlined","CaretDownOutlined","locale","TotalText","ItemText","UnnamedColumn","EditTable","RestoreDefault","VisibleInfo","HiddenInfo","Search","BatchOperations","BatchOperationsWithCount","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","filterZhCN","zhCN","filterEnUS","enUS","namespace","ColumnsControlContent","close","onConfirm","config","formatMessage","useIntl","searchText","setSearchText","confirmLoading","setConfirmLoading","scrollEl","setScrollEl","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","fixed","sortableVisibleColumns","handlerColumnsChange","columnsState","newConfig","cloneDeep","columnsList","concat","col","renderColumn","_Fragment","titleText","groupHeader","collapseItems","Checkbox","disabled","ReactSortable","dragClass","ghostClass","chosenClass","forceFallback","fallbackOnBody","scroll","bubbleScroll","setList","nextVisibleColumns","animation","delayOnTouchStart","delay","HolderOutlined","preventDefault","visible","Row","Col","Input","onSearch","allowClear","List","renderItem","Item","Button","icon","RedoOutlined","ref","Collapse","defaultActiveKey","ghost","bordered","gutter","loading","storageKey","readStorage","JSON","parse","localStorage","getItem","_unused","writeStorage","data","setItem","stringify","_unused2","getData","setData","tableLocalApis","TABLE_CONFIG_COLUMN_EXTRA_WIDTH","DEFAULT_WIDTH","DEFAULT_MIN","DEFAULT_MAX","getColumnSize","_column$min","_column$max","getConfigColumnExtraWidth","columnCount","controllerOpen","withConfigColumnExtra","contentWidth","TableConfigButton","setConfig","open","setOpen","configStyle","flex","Popover","onOpenChange","trigger","placement","styles","container","padding","content","configValue","pick","SettingOutlined","useTableConfig","tableWidth","tableServerApis","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","useRef","currentMoveColumnRef","startPointRef","setConfigBase","saveConfig","useDebouncedCallback","tableName","prevConfig","useEffect","computedIndex","hasFixedColumn","lastNotFixedColumnIndex","findLastIndex","totalWidth","sum","computedRealWidth","getConfigWidth","currentWidth","resizeBarRender","onMouseDown","clientX","resize","useRefCallback","delta","colName","withResize","withConfig","titleNode","getHeaderCellClassName","computedColumnProps","realWidth","movingClass","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","document","documentElement","addEventListener","removeEventListener","columnsConfig","useGroupHeader","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","groupList","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","useElementWidth","setWidth","el","update","clientWidth","resizeObserver","ResizeObserver","observe","disconnect","renderCellContent","contentClassName","wrapEllipsis","needsWidthConstraint","Boolean","inner","getColumnEllipsis","mapJustifyToAlign","resolveRowKey","toAntdWidth","parsed","toAntdFixed","getColCellStyle","textAlign","verticalAlign","getAntCellClassName","wrapColContent","node","viewStyle","Table","p","tableRef","isLayout","setIsLayout","empty","Empty","columnsProp","onRowSelect","sticky","headerStyle","pagination","summary","others","setTimeout","resizeGuideStyle","setResizeGuideStyle","updateResizeGuide","_barRect$right","root","headerCell","querySelector","tableContainer","headerRect","getBoundingClientRect","resizeBar","barRect","containerRect","position","left","round","right","top","height","zIndex","useLayoutEffect","handleUpdate","window","targetColumns","__index","groupedColumns","antdColumns","buildLeafColumn","baseColumn","dataIndex","_","computedColumn","configProps","antdFixed","mapColumn","antdRowSelection","getRowKey","isSelectedAll","onIsSelectAllChange","currentKey","getCheckboxProps","columnTitle","checkboxNode","visibility","renderCell","originNode","columnWidth","tableScroll","x","tableElement","AntTable","showHeader","pageData","offsetHeader","tableLayout","onHeaderRow","emptyText","rowClassName","isChecked","onRow","wrappedTable","header","renderBody","Label","handlerChange","computed","renderHeaderCellContent","setColsSize","renderHeaderGridCells","cells","checkedAll","every","indeterminate","columnStyle","Header","getLayoutColumns","TableView","layoutColumns","assignedSpan","undistributedColCount","gridTemplateColumns","headerCellProps","handleRowClick","renderBodyGridCells","getId","columnsValue","onSelectionChange","CheckOutlined","renderGrid","parsePixelValue","getViewportRect","visualViewport","offsetTop","bottom","offsetLeft","innerHeight","innerWidth","getTableElement","getTableScrollElement","getElementViewportState","element","isBottomInViewport","isPartiallyInViewport","isTopInViewport","rect","viewport","isTopEdgeInViewport","scrollMarginTop","viewportTop","shouldShowFloatingScrollbar","viewportState","scrollWidth","state","observeViewportIntersection","_window$visualViewpor","_window$visualViewpor2","notify","entry","observer","IntersectionObserver","threshold","handleViewportChange","_window$visualViewpor3","_window$visualViewpor4","BAR_HEIGHT","THUMB_MARGIN","computeBarMetrics","trackWidth","thumbWidth","maxThumbOffset","scrollRatio","scrollLeft","thumbLeft","FloatingScrollBar","metrics","onThumbDrag","getPortalContainer","startRef","moving","setMoving","movingRef","onThumbDragRef","moveHandler","upHandler","portalTarget","body","createPortal","HorizontalScroller","forwardRef","enabled","forwardedRef","setMetrics","containerRef","scrollElRef","viewportStateRef","setContainerRef","updateMetrics","handleThumbDrag","deltaX","scrollableWidth","thumbTravel","unobserveViewport","contentResizeObserver","detachScrollEl","_contentResizeObserve","attachScrollEl","nextScrollEl","passive","child","onLayoutChange","containerResizeObserver","TableToolbar","filterValue","onFilterChange","search","batchActions","batchContext","_filter$list","hasSelection","batchMenuItems","isDisabled","showBatch","showFilter","showSearch","filterList","displayLine","extraExpand","filterClassName","filterRest","searchClassName","searchStyle","searchRest","hasValueDisplay","FilterProvider","Dropdown","menu","count","DownOutlined","FilterLines","SearchInput","variant","FilterValueDisplay","readPageSize","writePageSize","isTableTopInViewport","getComputedStyle","scrollTableIntoView","requestAnimationFrame","scrollIntoView","block","inline","TABLE_COMPONENTS","collectFilterFieldNames","names","add","_item$props","omitFilterParams","params","filterFieldNames","next","TablePageInnerContent","refresh","reload","requestParams","fetchProps","isComplete","loadMore","send","dataFormat","total","totalCount","getColumns","columnRenderProps","horizontalScroller","getScrollContainer","tableContentRef","pendingScrollRef","handlerDataFormat","isFilterControlled","internalFilterValue","setInternalFilterValue","mapFilterValue","getFilterValue","getFilterParams","buildRequestParamsWithFilter","paramsType","formatData","resolvedColumns","fetchContext","scrollTable","handleFilterChange","currentName","handlePaginationChange","page","requestType","pageSizeName","onShowSizeChange","paginationConfig","showTotal","pageSize","hideOnSinglePage","showSizeChanger","showQuickJumper","pageSizeOptions","hasToolbar","tableContext","tableProps","TableComponent","Pagination","TablePageInner","withFetch","TablePage","pageSizeKey","toUpperCase","setPageSize","_readPageSize","filterDefaultParams","_props$filter","fetchParams","nextSize","preset","merge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,eAAe,CAAC,GAAkH,CAAC,CAACA,cAAI,EAAE,UAAU,CAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,4FAA4F,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0DAA0D,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,C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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../node_modules/dayjs/dayjs.min.js","../src/formatView.js","../src/globalParams.js","../src/renderType/default.js","../src/Ellipsis.js","../src/renderType/main.js","../src/renderType/amount.js","../src/renderType/tagUtils.js","../src/renderType/tag.js","../src/renderType/tagList.js","../src/renderType/statusUtils.js","../src/renderType/status.js","../src/renderType/list.js","../src/TableView/columnWidth.js","../src/renderType/options.js","../src/renderType/enum.js","../src/renderType/description.js","../src/renderType/index.js","../src/columnRenderType.js","../src/computeColumnsValue.js","../src/useSelectedRow.js","../src/columnHeaderTitle.js","../src/useSort.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/ColumnsControlContent.js","../src/tableLocalApis.js","../src/columnConfigExtra.js","../src/useTableConfig.js","../src/useGroupHeader.js","../src/useElementWidth.js","../src/renderCellContent.js","../src/Table/index.js","../src/Label.js","../src/TableView/Header.js","../src/TableView/index.js","../src/TablePage/scrollUtils.js","../src/TablePage/HorizontalScroller.js","../src/TablePage/TableToolbar.js","../src/TablePage/index.js","../src/preset.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),Y=_.prototype;return O.prototype=Y,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){Y[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs';\nimport { isEmpty } from '@kne/is-empty';\nimport groupBy from 'lodash/groupBy';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\n\nexport const calcArgs = (args, template) => {\n const { attr, normal } = groupBy(args, item => (/^.+:.+$/.test(item) ? 'attr' : 'normal'));\n const output = {};\n\n const typeTransform = (value, type) => {\n if (type === 'string') {\n return String(value);\n }\n if (type === 'number') {\n return Number(value);\n }\n if (type === 'boolean') {\n return value === 'true';\n }\n return value;\n };\n\n (normal || []).forEach((target, index) => {\n const currentTemplate = Object.assign({}, { type: 'string', defaultValue: '' }, get(template, index));\n if (currentTemplate.name && target) {\n output[currentTemplate.name] = typeTransform(target, currentTemplate.type);\n }\n });\n\n (attr || []).forEach(target => {\n const [key, value] = target.split(':');\n const currentTemplate = template.find(item => item.name === key);\n if (!currentTemplate) {\n return;\n }\n const { name, type } = Object.assign({}, { type: 'string', defaultValue: '' }, currentTemplate);\n output[name] = typeTransform(value, type);\n });\n\n return Object.assign(\n {},\n transform(\n template,\n (result, value) => {\n if (value.name && value.hasOwnProperty('defaultValue')) {\n result[value.name] = value.defaultValue;\n }\n },\n {}\n ),\n output\n );\n};\n\nexport const defaultFormat = {\n date: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD';\n return dayjs(value).format(template);\n },\n datetime: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD HH:mm:ss';\n return dayjs(value).format(template);\n },\n dateRange: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD',\n allowNull = args[1];\n if (!isEmpty(value[0]) && !isEmpty(value[1])) {\n return `${dayjs(value[0]).format(template)}~${dayjs(value[1]).format(template)}`;\n }\n if (allowNull === 'allow' && !isEmpty(value[0])) {\n return `${dayjs(value[0]).format(template)}以后`;\n }\n if (allowNull === 'allow' && !isEmpty(value[1])) {\n return `${dayjs(value[1]).format(template)}以前`;\n }\n return '';\n },\n boolean: (value, { args }) => {\n const trueValue = args[0] || 'true';\n if ((value || '').toString() === trueValue) {\n return '是';\n }\n return '否';\n },\n number: (value, { args }) => {\n const { style, unit, maximumFractionDigits, useGrouping, roundingMode, suffix } = calcArgs(args, [\n {\n name: 'style',\n type: 'string',\n defaultValue: 'decimal'\n },\n {\n name: 'unit',\n type: 'number',\n defaultValue: 1\n },\n {\n name: 'maximumFractionDigits',\n type: 'number',\n defaultValue: 2\n },\n {\n name: 'useGrouping',\n type: 'boolean',\n defaultValue: true\n },\n {\n name: 'roundingMode',\n type: 'string',\n defaultValue: 'halfExpand'\n },\n {\n name: 'suffix',\n type: 'string',\n defaultValue: ''\n }\n ]);\n\n return (\n new Intl.NumberFormat(\n {},\n {\n style,\n maximumFractionDigits,\n roundingMode,\n useGrouping\n }\n ).format(value / unit) + suffix\n );\n },\n money: (value, { args }) => {\n const unit = args[0] || '元';\n return `${value}${unit}`;\n }\n};\n\nconst formatView = (value, format, context) => {\n if (!format) {\n return value;\n }\n const formatList = format.split(' ').filter(item => !!item);\n if (formatList.length > 0) {\n return formatList.reduce((value, format) => {\n const [name, ...args] = format.split('-');\n if (typeof defaultFormat[name] === 'function') {\n return defaultFormat[name](\n value,\n Object.assign({}, context, {\n args: args.map(item => {\n return item && item.replace(/\\(\\)/g, ' ').replace(/\\(_\\)/g, '-');\n })\n })\n );\n }\n return value;\n }, value);\n }\n};\n\nexport default formatView;\n","export const globalParams = {\n renderType: null,\n renderTypeSize: {},\n tagTypeColors: {},\n statusTypeColors: {}\n};\n","const defaultRender = value => value;\n\nexport default defaultRender;\n","import React from 'react';\nimport { Typography } from 'antd';\nimport style from './ellipsis.module.scss';\n\nconst Ellipsis = ({ children, ellipsis }) => {\n if (!ellipsis) {\n return children;\n }\n\n const userConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const { showTitle, ...rest } = userConfig;\n\n return (\n <Typography.Text\n className={style['ellipsis']}\n ellipsis={Object.assign(\n {},\n {\n tooltip:\n showTitle === false\n ? false\n : {\n rootClassName: style['tooltip']\n }\n },\n rest\n )}\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import React, { useState } from 'react';\nimport { Tooltip } from 'antd';\nimport classnames from 'classnames';\nimport Ellipsis from '../Ellipsis';\nimport ellipsisStyle from '../ellipsis.module.scss';\nimport style from './main.module.scss';\n\nconst MainCell = ({ value, column, dataSource }) => {\n const { ellipsis = true, hover = true, primary = true, onClick } = column || {};\n const [loading, setLoading] = useState(false);\n const isClickable = Boolean(hover || primary || onClick);\n\n if (!isClickable) {\n return <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>;\n }\n\n const ellipsisConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const showTooltip = ellipsis && ellipsisConfig.showTitle !== false;\n\n const handleClick = onClick\n ? e => {\n if (loading) {\n return;\n }\n setLoading(true);\n Promise.resolve(onClick({ item: value, colItem: dataSource, event: e })).finally(() => {\n setLoading(false);\n });\n }\n : undefined;\n\n const text = (\n <span\n className={classnames(style['text'], ellipsis && style['ellipsis'], {\n [style['hover']]: hover,\n [style['primary']]: primary,\n [style['clickable']]: Boolean(onClick),\n [style['loading']]: loading\n })}\n onClick={handleClick}\n >\n {value}\n </span>\n );\n\n if (!showTooltip) {\n return text;\n }\n\n return (\n <Tooltip title={value} rootClassName={ellipsisStyle['tooltip']}>\n {text}\n </Tooltip>\n );\n};\n\nconst main = (value, { column, dataSource } = {}) => <MainCell value={value} column={column} dataSource={dataSource} />;\n\nexport default main;\n","import React from 'react';\nimport Ellipsis from '../Ellipsis';\nimport style from './amount.module.scss';\n\nconst amount = (value, { column } = {}) => {\n const { ellipsis = true } = column || {};\n\n return (\n <span className={style['amount']}>\n <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>\n </span>\n );\n};\n\nexport default amount;\n","import React from 'react';\nimport { Space, Tag } from 'antd';\nimport { globalParams } from '../globalParams';\n\nconst DEFAULT_TAG_TYPE_COLORS = {\n default: 'default',\n success: 'success',\n progress: 'processing',\n processing: 'processing',\n danger: 'error',\n error: 'error',\n warning: 'warning',\n info: 'blue',\n other: 'purple',\n skill: 'default',\n result: 'default',\n filterResult: 'cyan',\n completed: 'success',\n pending: 'warning',\n high: 'error',\n medium: 'warning',\n low: 'default'\n};\n\nexport const getTagColor = type => {\n if (!type) {\n return 'default';\n }\n const customColors = globalParams.tagTypeColors || {};\n return customColors[type] || DEFAULT_TAG_TYPE_COLORS[type] || type;\n};\n\nexport const normalizeTagItem = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return { text: String(item) };\n }\n if (typeof item === 'object') {\n return Object.assign({}, item, {\n text: item.text ?? item.children ?? item.label\n });\n }\n return null;\n};\n\nexport const renderTagItem = (item, key) => {\n const tag = normalizeTagItem(item);\n if (!tag || (tag.text == null && tag.children == null)) {\n return null;\n }\n\n const { text, type, color, children, ...rest } = tag;\n\n return (\n <Tag key={key} color={color ?? getTagColor(type)} {...rest}>\n {children ?? text}\n </Tag>\n );\n};\n\nexport const renderTagList = value => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n return (\n <Space size={[4, 4]} wrap>\n {value.map((item, index) => renderTagItem(item, index))}\n </Space>\n );\n};\n","import { renderTagItem } from './tagUtils';\n\nconst tag = value => renderTagItem(value);\n\nexport default tag;\n","import { renderTagList } from './tagUtils';\n\nconst tagList = value => renderTagList(value);\n\nexport default tagList;\n","import React from 'react';\nimport { Badge } from 'antd';\nimport { globalParams } from '../globalParams';\n\nconst DEFAULT_STATUS_TYPE_MAP = {\n default: 'default',\n success: 'success',\n progress: 'processing',\n processing: 'processing',\n danger: 'error',\n error: 'error',\n warning: 'warning',\n info: 'processing',\n other: 'default',\n active: 'success',\n vacation: 'warning',\n resigned: 'default',\n probation: 'processing',\n completed: 'success',\n pending: 'warning',\n shipped: 'processing',\n paid: 'success',\n cancelled: 'error'\n};\n\nexport const getStatusType = type => {\n if (!type) {\n return 'default';\n }\n const customTypes = globalParams.statusTypeColors || {};\n return customTypes[type] || DEFAULT_STATUS_TYPE_MAP[type] || type;\n};\n\nexport const normalizeStatusItem = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return { text: String(item) };\n }\n if (typeof item === 'object') {\n return Object.assign({}, item, {\n text: item.text ?? item.children ?? item.label\n });\n }\n return null;\n};\n\nexport const renderStatusItem = item => {\n const statusItem = normalizeStatusItem(item);\n if (!statusItem || statusItem.text == null) {\n return null;\n }\n\n const { text, type, status, color, children, ...rest } = statusItem;\n\n return <Badge status={status ?? color ?? getStatusType(type)} text={children ?? text} {...rest} />;\n};\n","import { renderStatusItem } from './statusUtils';\n\nconst status = value => renderStatusItem(value);\n\nexport default status;\n","const DEFAULT_SPLIT = ',';\n\nconst normalizeListValue = value => {\n if (Array.isArray(value)) {\n return { items: value, split: undefined };\n }\n if (value && typeof value === 'object') {\n const items = value.items ?? value.list ?? value.value;\n if (Array.isArray(items)) {\n return { items, split: value.split };\n }\n }\n return null;\n};\n\nconst getListItemText = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'object') {\n return item.text ?? item.label ?? item.children ?? item.value;\n }\n return item;\n};\n\nconst list = (value, { column } = {}) => {\n const normalized = normalizeListValue(value);\n if (!normalized) {\n return value == null ? null : value;\n }\n\n const split = normalized.split ?? column?.split ?? DEFAULT_SPLIT;\n const text = normalized.items\n .map(getListItemText)\n .filter(item => item != null && item !== '')\n .join(split);\n\n return text || null;\n};\n\nexport default list;\n","import { resolveColumnDimensions } from '../columnRenderType';\n\nexport const SELECTION_CHECKBOX_WIDTH = 48;\nexport const SELECTION_RADIO_WIDTH = 30;\nexport const DEFAULT_COLUMN_WIDTH = 300;\n\nexport const parseColumnWidth = width => {\n if (width == null) {\n return 0;\n }\n if (typeof width === 'number' && !Number.isNaN(width)) {\n return width;\n }\n if (typeof width === 'string') {\n const trimmed = width.trim();\n const pxMatch = trimmed.match(/^([\\d.]+)px$/i);\n if (pxMatch) {\n return parseFloat(pxMatch[1]);\n }\n const num = parseFloat(trimmed);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return 0;\n};\n\nexport const getResolvedColumnWidth = column => resolveColumnDimensions(column).width;\n\nexport const hasColumnSpan = column => column.span != null;\n\nexport const getConfiguredColumnWidthPx = column => parseColumnWidth(column.width != null ? column.width : getResolvedColumnWidth(column));\n\nexport const usesDefaultColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (column.width != null) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return false;\n }\n return !columns.some(hasColumnSpan);\n};\n\nexport const hasColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return true;\n }\n return usesDefaultColumnWidth(column, columns);\n};\n\nexport const shouldLastColumnFillRemaining = columns => !columns.some(hasColumnSpan);\n\nexport const getColumnWidthPx = (column, colsSize = {}, columns = []) => {\n if (hasColumnSpan(column)) {\n return colsSize[column.name] || 0;\n }\n const configured = getConfiguredColumnWidthPx(column);\n if (configured > 0) {\n return configured;\n }\n if (usesDefaultColumnWidth(column, columns)) {\n const measured = colsSize[column.name] || 0;\n return Math.max(DEFAULT_COLUMN_WIDTH, measured);\n }\n return colsSize[column.name] || 0;\n};\n\nexport const formatColumnWidthPx = px => `${px}px`;\n\nexport const getColumnTrackSize = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n if (hasColumnWidth(column, columns)) {\n if (isLastColumn && shouldLastColumnFillRemaining(columns)) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n return `${widthPx}px`;\n }\n if (widthPx > 0) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n const span = column.span ?? defaultSpan ?? 1;\n return `minmax(0, ${span}fr)`;\n};\n\nexport const getGridTemplateColumns = (columns, { defaultSpan, colsSize, rowSelection } = {}) => {\n const tracks = [];\n const lastColumnIndex = columns.length - 1;\n\n if (rowSelection?.type === 'checkbox') {\n tracks.push(`${SELECTION_CHECKBOX_WIDTH}px`);\n }\n\n columns.forEach((column, index) => {\n tracks.push(\n getColumnTrackSize(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === lastColumnIndex,\n columns\n })\n );\n });\n\n if (rowSelection?.type === 'radio') {\n tracks.push(`${SELECTION_RADIO_WIDTH}px`);\n }\n\n return tracks.join(' ');\n};\n\nexport const getColumnLayout = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthBased = hasColumnWidth(column, columns);\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n const fillRemaining = isLastColumn && widthBased && shouldLastColumnFillRemaining(columns);\n\n return {\n widthBased,\n fillRemaining,\n style: {\n '--col-width': formatColumnWidthPx(widthPx),\n '--col-align': column.align || 'top',\n '--col-justify': column.justify || 'flex-start'\n }\n };\n};\n","import React from 'react';\nimport classnames from 'classnames';\nimport ButtonGroup from '@kne/button-group';\nimport '@kne/button-group/dist/index.css';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport style from './options.module.scss';\n\nconst normalizeOptionItem = (item, buttonClassName) => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'function') {\n return item;\n }\n if (typeof item === 'string') {\n return { children: item, type: 'link', className: buttonClassName };\n }\n const { children, label, text, className, ...rest } = item;\n return {\n type: 'link',\n ...rest,\n className: classnames(buttonClassName, className),\n children: children ?? label ?? text\n };\n};\n\nconst options = (value, { column } = {}) => {\n let list = value;\n let buttonGroupProps = column?.buttonGroup || {};\n\n if (value && typeof value === 'object' && !Array.isArray(value) && Array.isArray(value.list)) {\n const { list: valueList, ...rest } = value;\n list = valueList;\n buttonGroupProps = { ...buttonGroupProps, ...rest };\n }\n\n if (!Array.isArray(list) || list.length === 0) {\n return null;\n }\n\n const wrapperClassName = classnames(style['col-item'], style['options']);\n const buttonClassName = classnames(wrapperClassName, style['options-btn']);\n const normalizedList = list.map(item => normalizeOptionItem(item, buttonClassName)).filter(item => item != null && !item.hidden);\n\n if (normalizedList.length === 0) {\n return null;\n }\n\n const width = parseColumnWidth(column?.width);\n\n return (\n <div className={classnames(wrapperClassName, style['options-column'])} style={width > 0 ? { '--max-width': `${width}px` } : undefined}>\n <ButtonGroup moreType=\"link\" itemClassName=\"btn-no-padding\" list={normalizedList} {...buttonGroupProps} />\n </div>\n );\n};\n\nexport default options;\n","import tag from './tag';\n\nconst enumRender = value => tag(value);\n\nexport default enumRender;\n","const description = value => value;\n\nexport default description;\n","import defaultRender from './default';\nimport main from './main';\nimport amount from './amount';\nimport tag from './tag';\nimport tagList from './tagList';\nimport status from './status';\nimport list from './list';\nimport options from './options';\nimport enumRender from './enum';\nimport description from './description';\nimport { globalParams } from '../globalParams';\n\nconst renderType = {\n default: defaultRender,\n main,\n amount,\n tag,\n tagList,\n status,\n list,\n options,\n enum: enumRender,\n description\n};\n\nglobalParams.renderType = renderType;\n\nexport default renderType;\n\nexport { getTagColor, normalizeTagItem, renderTagItem, renderTagList } from './tagUtils';\nexport { getStatusType, normalizeStatusItem, renderStatusItem } from './statusUtils';\n","import { globalParams } from './globalParams';\nimport './renderType';\n\nexport const SIZE_NAMES = ['short', 'small', 'large'];\n\nconst typeSize = {\n main: {\n width: 300,\n min: 160,\n max: 500,\n ellipsis: true\n },\n amount: {\n width: 140,\n min: 100,\n max: 300,\n ellipsis: true\n },\n options: {\n width: 180,\n min: 120,\n max: 400\n },\n enum: {\n width: 140,\n min: 100,\n max: 400\n },\n tag: {\n width: 140,\n min: 100,\n max: 400\n },\n status: {\n width: 100,\n min: 80,\n max: 140\n },\n tagList: {\n width: 300,\n min: 160,\n max: 500\n },\n list: {\n width: 200,\n min: 120,\n max: 400,\n ellipsis: true\n },\n description: {\n width: 400,\n min: 160,\n max: 600,\n ellipsis: true\n }\n};\n\nconst SIZE_CONFIG = {\n short: {\n width: 120,\n min: 100,\n max: 400\n },\n small: {\n width: 100,\n min: 70,\n max: 400\n },\n default: {\n width: 300,\n min: 160,\n max: 500\n },\n large: {\n width: 300,\n min: 120,\n max: 500\n }\n};\n\nconst getRenderTypeRegistry = () => {\n const { default: defaultRender, ...renderers } = globalParams.renderType || {};\n return { defaultRender, renderers };\n};\n\nexport const getRenderTypeNames = () => Object.keys(getRenderTypeRegistry().renderers);\n\nexport const RENDER_TYPE_NAMES = getRenderTypeNames();\n\nconst getRender = type => {\n const { defaultRender, renderers } = getRenderTypeRegistry();\n return renderers[type] || defaultRender;\n};\n\nexport const getColumnRender = column => {\n if (typeof column?.render === 'function') {\n return column.render;\n }\n const { type } = parseRenderType(column?.renderType);\n if (!type) {\n return null;\n }\n return getRender(type);\n};\n\nconst getTypeConfigMap = () => {\n const extraTypeSize = globalParams.renderTypeSize || {};\n\n return getRenderTypeNames().reduce((result, key) => {\n result[key] = Object.assign({}, typeSize[key], extraTypeSize[key], { render: getRender(key) });\n return result;\n }, {});\n};\n\nconst pickDimension = (columnValue, typeValue, sizeValue) => {\n if (columnValue != null) {\n return columnValue;\n }\n if (sizeValue != null) {\n return sizeValue;\n }\n if (typeValue != null) {\n return typeValue;\n }\n return undefined;\n};\n\nexport const parseRenderType = renderTypeValue => {\n if (!renderTypeValue || typeof renderTypeValue !== 'string') {\n return { type: null, size: null };\n }\n\n const renderTypeNames = getRenderTypeNames();\n let type = null;\n let size = null;\n\n renderTypeValue.split('-').forEach(part => {\n if (!part) {\n return;\n }\n if (renderTypeNames.includes(part)) {\n type = part;\n return;\n }\n if (SIZE_NAMES.includes(part)) {\n size = part;\n }\n });\n\n return { type, size };\n};\n\nexport const getRenderTypeDimensions = renderTypeValue => {\n const { type, size } = parseRenderType(renderTypeValue);\n const typeConfigMap = getTypeConfigMap();\n const typeConfig = type ? typeConfigMap[type] : null;\n const sizeConfig = size ? SIZE_CONFIG[size] : null;\n\n if (!typeConfig && !sizeConfig) {\n return null;\n }\n\n return {\n type,\n size,\n typeConfig,\n sizeConfig,\n render: typeConfig?.render,\n ellipsis: typeConfig?.ellipsis\n };\n};\n\nexport const resolveColumnDimensions = column => {\n const renderTypeDimensions = column?.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const typeConfig = renderTypeDimensions?.typeConfig;\n const sizeConfig = renderTypeDimensions?.sizeConfig;\n\n return {\n width: pickDimension(column?.width, typeConfig?.width, sizeConfig?.width),\n min: pickDimension(column?.min, typeConfig?.min, sizeConfig?.min),\n max: pickDimension(column?.max, typeConfig?.max, sizeConfig?.max)\n };\n};\n\nexport const resolveRenderType = renderTypeValue => {\n const renderTypeDimensions = getRenderTypeDimensions(renderTypeValue);\n if (!renderTypeDimensions) {\n return null;\n }\n\n const { type, size, render, ellipsis, typeConfig, sizeConfig } = renderTypeDimensions;\n\n return {\n type,\n size,\n render,\n ellipsis,\n width: sizeConfig?.width ?? typeConfig?.width,\n min: sizeConfig?.min ?? typeConfig?.min,\n max: sizeConfig?.max ?? typeConfig?.max\n };\n};\n\nconst ELLIPSIS_HANDLED_TYPES = ['main', 'amount'];\nconst FULL_WIDTH_CELL_TYPES = ['options'];\n\nexport const resolveColumn = column => {\n if (!column) {\n return column;\n }\n\n const renderTypeDimensions = column.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const { width, min, max } = resolveColumnDimensions(column);\n const { ellipsis, type } = renderTypeDimensions || {};\n const renderFn = getColumnRender(column);\n\n return Object.assign({}, column, {\n ...(renderFn && typeof column.render !== 'function' ? { render: renderFn } : {}),\n ...(column.width == null && width != null ? { width } : {}),\n ...(column.min == null && min != null ? { min } : {}),\n ...(column.max == null && max != null ? { max } : {}),\n ...(column.ellipsis == null && ellipsis != null ? { ellipsis } : {}),\n ...(type && ELLIPSIS_HANDLED_TYPES.includes(type) ? { ellipsisHandledByRender: true } : {}),\n ...(type && FULL_WIDTH_CELL_TYPES.includes(type) ? { cellFullWidth: true } : {}),\n ...(column.type === 'options' && !type ? { cellFullWidth: true } : {}),\n ...(type === 'options' && column.type !== 'options' ? { type: 'options' } : {})\n });\n};\n\nexport const resolveColumns = columns => (columns || []).map(resolveColumn);\n\nexport const isOptionsColumn = column => {\n if (column?.type === 'options') {\n return true;\n }\n return parseRenderType(column?.renderType).type === 'options';\n};\n","import get from 'lodash/get';\nimport formatView from './formatView';\nimport { getColumnRender } from './columnRenderType';\n\nconst computeColumnsValue = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty = true, dataSource, context }) => {\n return (output => (removeEmpty ? output.filter(item => !!item) : output))(\n columns.map(item => {\n const itemValue = typeof item.getValueOf === 'function' ? item.getValueOf(dataSource, { column: item, context }) : get(dataSource, item.name);\n const displayValue = (value => {\n if (typeof item.format === 'function') {\n return item.format(value, { dataSource, column: item, context });\n }\n if (typeof item.format === 'string') {\n const formatValue = formatView(value, item.format, { dataSource, column: item, context });\n if (formatValue) {\n return formatValue;\n }\n }\n return value;\n })(itemValue);\n\n const itemIsEmpty = (item.valueIsEmpty || valueIsEmpty)(itemValue);\n\n if (\n item.display === false ||\n (typeof item.display === 'function' &&\n item.display(itemValue, {\n dataSource,\n column: item,\n context\n }) === false)\n ) {\n return null;\n }\n\n if (!(item.hasOwnProperty('emptyIsPlaceholder') ? item.emptyIsPlaceholder : emptyIsPlaceholder) && itemIsEmpty) {\n return null;\n }\n\n return Object.assign({}, item, { isEmpty: itemIsEmpty, value: displayValue });\n })\n );\n};\n\nexport const computeDisplay = ({ column, dataSource, placeholder, context }) => {\n if (column.isEmpty) {\n return typeof column.renderPlaceholder === 'function'\n ? column.renderPlaceholder({\n column: column,\n dataSource,\n placeholder,\n context\n })\n : column.placeholder || placeholder;\n }\n\n const render = getColumnRender(column);\n\n return typeof render === 'function'\n ? render(column.value, {\n column,\n dataSource,\n context\n })\n : column.value;\n};\n\nexport const computeColumnsDisplay = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, placeholder, context }) => {\n return computeColumnsValue({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, context }).map(column => {\n return computeDisplay({ column, placeholder, dataSource, context });\n });\n};\n\ncomputeColumnsValue.computeDisplay = computeDisplay;\ncomputeColumnsValue.computeColumnsDisplay = computeColumnsDisplay;\n\nexport default computeColumnsValue;\n","import { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\n\nconst useSelectedRow = options => {\n const { rowKey, type = 'checkbox' } = Object.assign({}, { rowKey: 'id' }, options);\n const [selectedRows, setSelectedRows] = useState([]);\n\n const getRowId = useCallback(item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey), [rowKey]);\n\n const selectedRowKeys = useMemo(() => selectedRows.map(getRowId), [getRowId, selectedRows]);\n\n const setSelectedRowKeys = useCallback(\n (keys, dataSource = []) => {\n const keySet = new Set(keys || []);\n setSelectedRows((dataSource || []).filter(item => keySet.has(getRowId(item))));\n },\n [getRowId]\n );\n\n const clearSelectedRows = useCallback(() => {\n setSelectedRows([]);\n }, []);\n\n const onSelectAll = useCallback(\n (checked, _selected, items) => {\n const ids = (items || []).map(getRowId);\n if (checked) {\n setSelectedRows(value => {\n const existingKeys = value.map(getRowId);\n return [...value, ...(items || []).filter(item => existingKeys.indexOf(getRowId(item)) === -1)];\n });\n } else {\n setSelectedRows(value => {\n return value.filter(item => ids.indexOf(getRowId(item)) === -1);\n });\n }\n },\n [getRowId]\n );\n\n const onSelect = useCallback(\n (item, checked) => {\n if (checked) {\n if (type === 'radio') {\n setSelectedRows([item]);\n return;\n }\n setSelectedRows(value => {\n const newValue = value.slice(0);\n newValue.push(item);\n return newValue;\n });\n } else {\n setSelectedRows(value => {\n const newValue = value.slice(0);\n const index = newValue.findIndex(row => getRowId(row) === getRowId(item));\n if (index > -1) {\n newValue.splice(index, 1);\n }\n return newValue;\n });\n }\n },\n [getRowId, type]\n );\n\n const getRowSelection = useCallback(\n (dataSource, extra = {}) => {\n const onChange = (keys, id, meta) => {\n setSelectedRowKeys(keys, dataSource);\n extra.onChange && extra.onChange(keys, id, meta);\n };\n\n return Object.assign(\n {\n type,\n selectedRowKeys,\n allowSelectedAll: type === 'checkbox',\n onChange\n },\n extra\n );\n },\n [selectedRowKeys, setSelectedRowKeys, type]\n );\n\n return {\n type,\n selectedRowKeys,\n selectedRows,\n onSelectAll,\n onSelect,\n setSelectedRows,\n setSelectedRowKeys,\n clearSelectedRows,\n getRowSelection\n };\n};\n\nexport default useSelectedRow;\n","import React from 'react';\nimport Ellipsis from './Ellipsis';\nimport style from './columnHeaderTitle.module.scss';\n\nconst isSimpleTitle = title => typeof title === 'string' || typeof title === 'number';\n\nexport const wrapColumnHeaderTitle = title => {\n if (title == null || title === '') {\n return title;\n }\n if (isSimpleTitle(title)) {\n return <Ellipsis ellipsis>{title}</Ellipsis>;\n }\n return <span className={style['ellipsis']}>{title}</span>;\n};\n","import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport clone from 'lodash/clone';\nimport { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\nimport style from './sort.module.scss';\nimport { wrapColumnHeaderTitle } from './columnHeaderTitle';\n\nconst sortArrayToMap = sort =>\n new Map(\n (sort || []).map(item => {\n return [item.name, item.sort];\n })\n );\n\nconst useControlValue = ({ value, defaultValue, onChange }) => {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = useCallback(\n updater => {\n const nextValue = typeof updater === 'function' ? updater(currentValue) : updater;\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onChange && onChange(nextValue);\n },\n [currentValue, isControlled, onChange]\n );\n\n return [currentValue, setValue];\n};\n\nconst compareValues = (a, b, direction) => {\n const emptyA = a == null || a === '';\n const emptyB = b == null || b === '';\n if (emptyA && emptyB) {\n return 0;\n }\n if (emptyA) {\n return 1;\n }\n if (emptyB) {\n return -1;\n }\n if (typeof a === 'number' && typeof b === 'number') {\n return direction === 'ASC' ? a - b : b - a;\n }\n const strA = String(a);\n const strB = String(b);\n return direction === 'ASC' ? strA.localeCompare(strB, 'zh-CN') : strB.localeCompare(strA, 'zh-CN');\n};\n\nexport const sortDataSource = (dataSource, sort = [], columns = []) => {\n if (!sort?.length || !dataSource?.length) {\n return dataSource;\n }\n const columnMap = new Map(columns.map(column => [column.name, column]));\n return [...dataSource].sort((a, b) => {\n for (const { name, sort: direction } of sort) {\n const column = columnMap.get(name) || { name };\n const aVal = typeof column.getValueOf === 'function' ? column.getValueOf(a, { column }) : get(a, name);\n const bVal = typeof column.getValueOf === 'function' ? column.getValueOf(b, { column }) : get(b, name);\n const result = compareValues(aVal, bVal, direction);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n });\n};\n\nexport const getSortSingle = sortOption => {\n if (typeof sortOption === 'object') {\n return sortOption.single !== false;\n }\n return true;\n};\n\nexport const renderColumnTitle = (title, column, sortRender) => {\n const titleContent = wrapColumnHeaderTitle(title);\n\n if (!column.sort || typeof sortRender !== 'function') {\n return titleContent;\n }\n return (\n <span className={classnames(style['title'], style['has-sort'])}>\n <span className={style['title-text']}>{titleContent}</span>\n {sortRender({\n name: column.name,\n single: getSortSingle(column.sort)\n })}\n </span>\n );\n};\n\nconst useSort = (props = {}) => {\n const [sort, setSort] = useControlValue({\n value: props.sort,\n defaultValue: props.defaultSort || [],\n onChange: props.onSortChange\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n callback => {\n return setSort(currentSort => {\n const newSort = callback(sortArrayToMap(currentSort));\n return Array.from(newSort).map(([name, sortValue]) => ({ name, sort: sortValue }));\n });\n },\n [setSort]\n );\n\n const sortRender = useCallback(\n ({ single, name }) => {\n const direction = mapSort.get(name);\n return (\n <span\n className={style['sort-btn']}\n onClick={e => {\n e.stopPropagation();\n setMapSort(sortMap => {\n const current = sortMap.get(name);\n const targetValue = (() => {\n if (current === 'DESC') {\n return 'ASC';\n }\n if (current === 'ASC') {\n return null;\n }\n return 'DESC';\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sortMap);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <CaretUpOutlined\n className={classnames(style['sort-icon'], style['sort-up'], {\n [style['active']]: direction === 'ASC'\n })}\n />\n <CaretDownOutlined\n className={classnames(style['sort-icon'], style['sort-down'], {\n [style['active']]: direction === 'DESC'\n })}\n />\n </span>\n );\n },\n [mapSort, setMapSort]\n );\n\n return {\n sort,\n setSort,\n sortRender\n };\n};\n\nuseSort.sortDataSource = sortDataSource;\n\nexport default useSort;\n","const locale = {\n TotalText: '共',\n ItemText: '条',\n UnnamedColumn: '未命名列',\n EditTable: '编辑表格',\n RestoreDefault: '恢复默认',\n VisibleInfo: '显示的信息',\n HiddenInfo: '隐藏的信息',\n Search: '搜索',\n BatchOperations: '批量操作',\n BatchOperationsWithCount: '批量操作(已选:{count}条)',\n Cancel: '取消',\n Confirm: '确定'\n};\n\nexport default locale;\n","const locale = {\n TotalText: 'Total',\n ItemText: 'items',\n UnnamedColumn: 'Unnamed',\n EditTable: 'Edit Table',\n RestoreDefault: 'Restore Default',\n VisibleInfo: 'Visible Columns',\n HiddenInfo: 'Hidden Columns',\n Search: 'Search',\n BatchOperations: 'Batch Actions',\n BatchOperationsWithCount: 'Batch Actions (Selected: {count})',\n Cancel: 'Cancel',\n Confirm: 'Confirm'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport filterZhCN from '@kne/react-filter/dist/locale/zh-CN';\nimport filterEnUS from '@kne/react-filter/dist/locale/en-US';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': { ...filterZhCN, ...zhCN },\n 'en-US': { ...filterEnUS, ...enUS }\n },\n namespace: 'table-page'\n});\n\nexport default withLocale;\n","import { useMemo, useState } from 'react';\nimport groupBy from 'lodash/groupBy';\nimport { HolderOutlined, RedoOutlined } from '@ant-design/icons';\nimport style from './columnConfig.module.scss';\nimport { Button, Checkbox, Col, Collapse, Input, List, Row, Tooltip } from 'antd';\nimport { ReactSortable } from 'react-sortablejs';\nimport classnames from 'classnames';\nimport transform from 'lodash/transform';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\n\nconst ColumnsControlContent = withLocale(({ close, onConfirm, columns, config: defaultValue }) => {\n const { formatMessage } = useIntl();\n const [config, onChange] = useState(defaultValue || {});\n const [searchText, setSearchText] = useState('');\n const [confirmLoading, setConfirmLoading] = useState(false);\n const [scrollEl, setScrollEl] = useState(null);\n\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } = useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: []\n },\n groupBy(columns, item => {\n if (item.fixed === 'right') {\n return 'rightFixedColumns';\n }\n if (item.fixed === true || item.fixed === 'left') {\n return 'leftFixedColumns';\n }\n return (get(config, `${item.name}.visible`) !== true && item.hidden) || get(config, `${item.name}.visible`) === false ? 'hiddenColumns' : 'visibleColumns';\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => get(config, `${a.name}.rank`, 0) - get(config, `${b.name}.rank`, 0));\n },\n {}\n );\n }, [columns, config]);\n\n const sortableVisibleColumns = useMemo(() => {\n return visibleColumns.map(column => Object.assign({}, column, { id: column.name }));\n }, [visibleColumns]);\n\n const handlerColumnsChange = columnsState => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(columnsState.leftFixedColumns, columnsState.visibleColumns, columnsState.rightFixedColumns);\n (columnsState.hiddenColumns || []).forEach(col => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = item => {\n return (\n <>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n {item.groupHeader && item.groupHeader.length > 0 ? `(${item.groupHeader.map(({ title }) => title).join('-')})` : ''}\n </>\n );\n };\n\n const collapseItems = useMemo(() => {\n return [\n {\n key: 'active',\n label: formatMessage({ id: 'VisibleInfo' }),\n children: (\n <div className={style['columns-control-content-list']}>\n {leftFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `left-${index}`}>\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n <ReactSortable\n tag=\"div\"\n className={style['columns-control-sortable-list']}\n list={sortableVisibleColumns}\n filter=\".ignore-elements\"\n dragClass=\"table-page-sortable-drag\"\n ghostClass=\"table-page-sortable-ghost\"\n chosenClass=\"table-page-sortable-chosen\"\n forceFallback\n fallbackOnBody\n scroll={scrollEl || true}\n bubbleScroll\n setList={nextVisibleColumns => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns: nextVisibleColumns,\n hiddenColumns,\n rightFixedColumns\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {sortableVisibleColumns.map(item => (\n <div className={classnames(style['columns-control-content-item'], style['is-drag'])} key={item.id}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <Checkbox\n checked\n disabled={item.fixed || leftFixedColumns.length + visibleColumns.length + rightFixedColumns.length <= 1}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: false });\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `right-${index}`}>\n <Checkbox checked disabled>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </div>\n ))}\n </div>\n )\n },\n {\n key: 'un-active',\n label: (\n <Row wrap={false} justify=\"space-between\">\n <Col>{formatMessage({ id: 'HiddenInfo' })}</Col>\n <Col\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <Input.Search placeholder={formatMessage({ id: 'Search' })} onSearch={value => setSearchText(value)} className={style['columns-control-content-input']} size=\"small\" allowClear />\n </Col>\n </Row>\n ),\n children: (\n <List\n dataSource={hiddenColumns.filter(item => {\n const title = item.titleText || item.title;\n return typeof title === 'string' && title.indexOf(searchText) > -1;\n })}\n renderItem={item => (\n <List.Item className={style['columns-control-content-item']} key={item.name}>\n <Checkbox\n checked={false}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: true });\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </List.Item>\n )}\n />\n )\n }\n ];\n }, [config, formatMessage, hiddenColumns, leftFixedColumns, onChange, rightFixedColumns, scrollEl, searchText, sortableVisibleColumns, visibleColumns.length]);\n\n return (\n <div className={style['columns-control-content']}>\n <div className={style['columns-control-content-title']}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>{formatMessage({ id: 'EditTable' })}</Col>\n <Col>\n <Tooltip title={formatMessage({ id: 'RestoreDefault' })}>\n <Button\n type=\"text\"\n icon={<RedoOutlined />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style['columns-control-content-scroller']} ref={setScrollEl}>\n <Collapse defaultActiveKey={['active', 'un-active']} ghost bordered items={collapseItems} />\n </div>\n <Row className={style['columns-control-content-footer']} justify=\"end\" gutter={10}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n {formatMessage({ id: 'Cancel' })}\n </Button>\n </Col>\n <Col>\n <Button\n type=\"primary\"\n size=\"small\"\n loading={confirmLoading}\n onClick={async () => {\n setConfirmLoading(true);\n try {\n onConfirm && (await onConfirm(config));\n close();\n } finally {\n setConfirmLoading(false);\n }\n }}\n >\n {formatMessage({ id: 'Confirm' })}\n </Button>\n </Col>\n </Row>\n </div>\n );\n});\n\nexport default ColumnsControlContent;\n","import get from 'lodash/get';\n\nconst storageKey = 'TABLE_PAGE_TABLE_CONFIG';\n\nconst readStorage = () => {\n try {\n return JSON.parse(localStorage.getItem(storageKey) || '{}');\n } catch {\n return {};\n }\n};\n\nconst writeStorage = data => {\n try {\n localStorage.setItem(storageKey, JSON.stringify(data));\n } catch {\n // ignore quota errors\n }\n};\n\nconst getData = name => {\n if (!name) {\n return {};\n }\n return get(readStorage(), name, {});\n};\n\nconst setData = (name, data) => {\n if (!name) {\n return;\n }\n writeStorage(Object.assign({}, readStorage(), { [name]: data }));\n};\n\nconst tableLocalApis = { getData, setData };\n\nexport default tableLocalApis;\n","export const TABLE_CONFIG_COLUMN_EXTRA_WIDTH = 48;\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\nimport pick from 'lodash/pick';\nimport findLastIndex from 'lodash/findLastIndex';\nimport isEqual from 'lodash/isEqual';\nimport { Col, Popover, Row } from 'antd';\nimport { HolderOutlined, SettingOutlined } from '@ant-design/icons';\nimport { useDebouncedCallback } from 'use-debounce';\nimport ColumnsControlContent from './ColumnsControlContent';\nimport tableLocalApis from './tableLocalApis';\nimport { parseColumnWidth } from './TableView/columnWidth';\nimport configStyle from './columnConfig.module.scss';\nimport { TABLE_CONFIG_COLUMN_EXTRA_WIDTH } from './columnConfigExtra';\nimport { isOptionsColumn } from './columnRenderType';\n\nconst DEFAULT_WIDTH = 160;\nconst DEFAULT_MIN = 80;\nconst DEFAULT_MAX = 600;\n\nexport const getColumnSize = column => {\n const width = parseColumnWidth(column.width) || DEFAULT_WIDTH;\n return {\n width,\n min: column.min ?? DEFAULT_MIN,\n max: column.max ?? DEFAULT_MAX\n };\n};\n\nconst getConfigColumnExtraWidth = (index, columnCount, controllerOpen) => {\n if (!controllerOpen || index !== columnCount - 1) {\n return 0;\n }\n return TABLE_CONFIG_COLUMN_EXTRA_WIDTH;\n};\n\nconst withConfigColumnExtra = (contentWidth, index, columnCount, controllerOpen) => {\n return contentWidth + getConfigColumnExtraWidth(index, columnCount, controllerOpen);\n};\n\nconst TableConfigButton = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false} align=\"middle\" className={configStyle['table-config-header']}>\n <Col flex={1} className={configStyle['table-config-header-title']}>\n {title}\n </Col>\n <Col flex=\"none\">\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n rootClassName={configStyle['columns-control-overlay']}\n styles={{ container: { padding: 0 } }}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => setOpen(false)}\n onConfirm={newConfig => {\n setConfig(configValue => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign({}, configValue[key], pick(value, ['visible', 'rank']));\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={classnames(configStyle['table-changer-setting'], open && configStyle['is-active'])}>\n <SettingOutlined />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen = true, tableWidth = 0, rowKey, tableServerApis = tableLocalApis }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n\n const saveConfig = useDebouncedCallback((tableName, target) => {\n tableServerApis?.setData(tableName, target);\n }, 500);\n\n const setConfig = useCallback(\n newConfig => {\n setConfigBase(prevConfig => {\n const target = typeof newConfig === 'function' ? newConfig(prevConfig) : newConfig;\n if (name && controllerOpen) {\n saveConfig(name, target);\n }\n return target;\n });\n },\n [name, controllerOpen, saveConfig]\n );\n\n useEffect(() => {\n if (name && controllerOpen) {\n setConfigBase(Object.assign({}, tableServerApis.getData(name)));\n }\n }, [name, controllerOpen, tableServerApis]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter(col => !(get(config, `${col.name}.visible`) === false || (get(config, `${col.name}.visible`) !== true && col.hidden === true)))\n .sort((a, b) => {\n const computedIndex = item => get(config, `${item.name}.rank`, 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const columnCount = visibleColumns.length;\n\n const hasFixedColumn = useMemo(() => visibleColumns.some(col => col.fixed === 'right' || col.fixed === 'left' || col.fixed === true), [visibleColumns]);\n\n const lastNotFixedColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, col => col.fixed !== 'right' && !isOptionsColumn(col));\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return visibleColumns.reduce((sum, col, index) => {\n const { width } = getColumnSize(col);\n const contentWidth = get(config, `${col.name}.width`) || width;\n return sum + withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }, 0);\n }, [visibleColumns, config, columnCount, controllerOpen]);\n\n const computedRealWidth = useCallback(\n ({ width, index }) => {\n const contentWidth = width;\n if (currentMoveColumnIndex !== null && currentMoveColumnIndex === index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n if (hasFixedColumn || lastNotFixedColumnIndex !== index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen) + Math.max(tableWidth - totalWidth - 2, 0);\n },\n [hasFixedColumn, lastNotFixedColumnIndex, tableWidth, totalWidth, currentMoveColumnIndex, columnCount, controllerOpen]\n );\n\n const getConfigWidth = useCallback(\n column => {\n const { width, min, max } = getColumnSize(column);\n const currentWidth = Math.min(Math.max(get(config, `${column.name}.width`) || width, min), max);\n return { currentWidth, min, max };\n },\n [config]\n );\n\n const resizeBarRender = useCallback(\n (column, index) => {\n return (\n <span\n className={classnames(configStyle['cell-resize-bar'], 'table-cell-resize-bar')}\n onMouseDown={e => {\n e.stopPropagation();\n const { currentWidth, min, max } = getConfigWidth(column);\n currentMoveColumnRef.current = Object.assign({}, column, { index, width: currentWidth, min, max });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <HolderOutlined />\n </span>\n );\n },\n [getConfigWidth]\n );\n\n const resize = useRefCallback(delta => {\n if (currentMoveColumnIndexRef.current === null || !currentMoveColumnRef.current) {\n return;\n }\n const { name: colName, width, min, max } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < min) {\n return;\n }\n setConfig(prevConfig =>\n Object.assign({}, prevConfig, {\n [colName]: Object.assign({}, prevConfig[colName], { width: currentWidth })\n })\n );\n });\n\n const renderColumnTitle = useCallback(\n (title, column, index, { withResize = true, withConfig = false } = {}) => {\n const titleNode = withConfig ? <TableConfigButton title={title} columns={columns} config={config} setConfig={setConfig} /> : title;\n const content = (\n <>\n {titleNode}\n {withResize && controllerOpen && resizeBarRender(column, index)}\n </>\n );\n if (!withResize || !controllerOpen) {\n return content;\n }\n return <span className={configStyle['header-cell-inner']}>{content}</span>;\n },\n [columns, config, controllerOpen, resizeBarRender, setConfig]\n );\n\n const getHeaderCellClassName = useCallback(\n index =>\n classnames(configStyle['header-col'], {\n 'is-moving': currentMoveColumnIndexRef.current === index\n }),\n []\n );\n\n const computedColumnProps = useCallback(\n (column, index, { title }) => {\n const { currentWidth } = getConfigWidth(column);\n const realWidth = computedRealWidth({ width: currentWidth, index });\n const isLastColumn = index === columnCount - 1;\n\n const movingClass = () => ({\n className: classnames({\n 'is-moving': currentMoveColumnIndex === index,\n 'has-config-btn': isLastColumn && controllerOpen\n })\n });\n\n return {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey = typeof rowKey === 'function' ? rowKey(record) : record[rowKey];\n const prevItemKey = typeof rowKey === 'function' ? rowKey(prevRecord) : prevRecord[rowKey];\n return currentMoveColumnIndexRef.current === null || currentMoveColumnIndexRef.current === index || !(itemKey === prevItemKey && isEqual(record[column.name], prevRecord[column.name]));\n },\n title: renderColumnTitle(title, column, index, {\n withResize: true,\n withConfig: isLastColumn && controllerOpen\n })\n };\n },\n [columnCount, controllerOpen, computedRealWidth, getConfigWidth, renderColumnTitle, rowKey, currentMoveColumnIndex]\n );\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = e => {\n if (currentMoveColumnIndexRef.current === null || currentMoveColumnRef.current === null || startPointRef.current === null) {\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n\n document.documentElement.addEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.addEventListener('mousemove', handlerResize, true);\n return () => {\n document.documentElement.removeEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.removeEventListener('mousemove', handlerResize, true);\n };\n }, [resize]);\n\n return {\n visibleColumns,\n columnsConfig: config,\n setConfig,\n currentMoveColumnIndex,\n totalWidth,\n hasFixedColumn,\n computedColumnProps,\n renderColumnTitle,\n getHeaderCellClassName,\n getConfigWidth,\n computedRealWidth,\n resizeBarRender\n };\n};\n\nexport default useTableConfig;\n","import { useMemo } from 'react';\n\nconst useGroupHeader = columns => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(item => item.groupHeader && item.groupHeader.length > 0);\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = column => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, groupList) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = groupList.find(item => item.name === targetHeader.name);\n if (!currentGroup) {\n currentGroup = Object.assign({ startIndex: columnIndex }, targetHeader, { children: [] });\n groupList.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import { useEffect, useState } from 'react';\n\nconst useElementWidth = ref => {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const el = ref.current;\n if (!el) {\n return;\n }\n const update = () => setWidth(el.clientWidth);\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(el);\n update();\n return () => resizeObserver.disconnect();\n }, [ref]);\n\n return width;\n};\n\nexport default useElementWidth;\n","import React from 'react';\nimport classnames from 'classnames';\nimport Ellipsis from './Ellipsis';\nimport ellipsisStyle from './ellipsis.module.scss';\n\nexport const renderCellContent = (content, column, contentClassName) => {\n const wrapEllipsis = column.ellipsis && !column.ellipsisHandledByRender;\n const needsWidthConstraint = Boolean(column.ellipsis || column.cellFullWidth);\n const inner = wrapEllipsis ? <Ellipsis ellipsis={column.ellipsis}>{content}</Ellipsis> : content;\n\n return <span className={contentClassName}>{needsWidthConstraint ? <span className={classnames(ellipsisStyle['cell-content'], column.cellFullWidth && ellipsisStyle['cell-full-width'])}>{inner}</span> : inner}</span>;\n};\n\nexport const getColumnEllipsis = column => {\n if (!column.ellipsis) {\n return undefined;\n }\n return typeof column.ellipsis === 'object' ? column.ellipsis : true;\n};\n","import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Checkbox, Empty, Table as AntTable } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport viewStyle from '../TableView/style.module.scss';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort, { renderColumnTitle } from '../useSort';\nimport { wrapColumnHeaderTitle } from '../columnHeaderTitle';\nimport useTableConfig from '../useTableConfig';\nimport useGroupHeader from '../useGroupHeader';\nimport useElementWidth from '../useElementWidth';\nimport { getColumnEllipsis, renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst mapJustifyToAlign = justify => {\n if (justify === 'center') {\n return 'center';\n }\n if (justify === 'flex-end') {\n return 'right';\n }\n return 'left';\n};\n\nconst resolveRowKey = (rowKey, record) => get(record, typeof rowKey === 'function' ? rowKey(record) : rowKey);\n\nconst toAntdWidth = width => {\n if (width == null) {\n return undefined;\n }\n if (typeof width === 'number') {\n return width;\n }\n const parsed = parseColumnWidth(width);\n return parsed || width;\n};\n\nconst toAntdFixed = fixed => {\n if (fixed === 'right') {\n return 'right';\n }\n if (fixed === true || fixed === 'left') {\n return 'left';\n }\n return undefined;\n};\n\nconst getColCellStyle = column => ({\n textAlign: mapJustifyToAlign(column.justify),\n verticalAlign: column.align === 'middle' ? 'middle' : column.align === 'bottom' ? 'bottom' : 'top'\n});\n\nconst getAntCellClassName = (...extra) => classnames(style['table-cell'], 'info-page-table-col', ...extra);\n\nconst wrapColContent = node => <span className={viewStyle['col-content']}>{node}</span>;\n\nconst Table = p => {\n const tableRef = useRef(null);\n const tableWidth = useElementWidth(tableRef);\n const [isLayout, setIsLayout] = useState(true);\n\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />,\n controllerOpen: true\n },\n p\n );\n const {\n className,\n dataSource,\n columns: columnsProp,\n rowKey,\n rowSelection,\n valueIsEmpty,\n emptyIsPlaceholder,\n placeholder,\n empty,\n onRowSelect,\n render,\n context,\n sticky,\n stickyOffset,\n getStickyContainer,\n headerStyle,\n pagination = false,\n sortRender,\n name,\n controllerOpen,\n tableServerApis,\n scroll,\n summary,\n ...others\n } = props;\n\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => setIsLayout(false), 0);\n }\n }, [tableWidth]);\n\n const { visibleColumns, columnsConfig, currentMoveColumnIndex, totalWidth, computedColumnProps, hasFixedColumn } = useTableConfig({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n tableServerApis\n });\n\n const [resizeGuideStyle, setResizeGuideStyle] = useState(null);\n\n const updateResizeGuide = useCallback(() => {\n if (currentMoveColumnIndex === null || !tableRef.current) {\n setResizeGuideStyle(null);\n return;\n }\n const root = tableRef.current;\n const headerCell = root.querySelector('.ant-table-thead .ant-table-cell.is-moving');\n const tableContainer = root.querySelector('.ant-table-container');\n if (!headerCell || !tableContainer) {\n setResizeGuideStyle(null);\n return;\n }\n const headerRect = headerCell.getBoundingClientRect();\n const resizeBar = headerCell.querySelector('.table-cell-resize-bar');\n const barRect = resizeBar?.getBoundingClientRect();\n const containerRect = tableContainer.getBoundingClientRect();\n setResizeGuideStyle({\n position: 'fixed',\n left: Math.round(barRect?.right ?? headerRect.right),\n top: Math.round(containerRect.top),\n height: Math.round(containerRect.height),\n zIndex: 100\n });\n }, [currentMoveColumnIndex]);\n\n useLayoutEffect(() => {\n updateResizeGuide();\n }, [updateResizeGuide, columnsConfig, tableWidth, dataSource, isLayout]);\n\n useEffect(() => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n const handleUpdate = () => updateResizeGuide();\n window.addEventListener('mousemove', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n const resizeObserver = new ResizeObserver(handleUpdate);\n if (tableRef.current) {\n resizeObserver.observe(tableRef.current);\n }\n return () => {\n window.removeEventListener('mousemove', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n resizeObserver.disconnect();\n };\n }, [currentMoveColumnIndex, updateResizeGuide]);\n\n const targetColumns = useMemo(() => visibleColumns.map((column, index) => Object.assign({}, column, { __index: index })), [visibleColumns]);\n\n const { columns: groupedColumns, hasGroupHeader } = useGroupHeader(targetColumns);\n\n const antdColumns = useMemo(() => {\n const buildLeafColumn = (column, index) => {\n const { name: colName, title, width, align, justify, fixed } = column;\n const baseColumn = {\n key: colName,\n dataIndex: colName,\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>,\n width: toAntdWidth(width),\n fixed: toAntdFixed(fixed),\n align: mapJustifyToAlign(justify),\n ellipsis: getColumnEllipsis(column),\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n render: (_, record) => {\n const [computedColumn] = computeColumnsValue({\n columns: [column],\n emptyIsPlaceholder,\n valueIsEmpty,\n removeEmpty: false,\n dataSource: record,\n placeholder,\n context\n });\n if (!computedColumn) {\n return null;\n }\n return renderCellContent(computeDisplay({ column: computedColumn, placeholder, dataSource: record, context }), computedColumn, viewStyle['col-content']);\n }\n };\n\n if (!controllerOpen) {\n return baseColumn;\n }\n\n const configProps = computedColumnProps(column, index, {\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>\n });\n const antdFixed = toAntdFixed(fixed);\n\n return Object.assign({}, baseColumn, configProps, {\n width: configProps.width,\n fixed: antdFixed,\n onHeaderCell: () => ({\n className: getAntCellClassName(configProps.onHeaderCell?.().className),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(configProps.onCell?.().className),\n style: getColCellStyle(column)\n })\n });\n };\n\n const mapColumn = column => {\n if (column.children && column.children.length > 0) {\n return {\n key: column.name,\n title: <span className={viewStyle['col-content']}>{wrapColumnHeaderTitle(column.title)}</span>,\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: { textAlign: 'center', verticalAlign: 'middle' }\n }),\n children: column.children.map(mapColumn)\n };\n }\n return buildLeafColumn(column, column.__index);\n };\n\n return groupedColumns.map(mapColumn);\n }, [groupedColumns, context, emptyIsPlaceholder, placeholder, sortRender, valueIsEmpty, controllerOpen, computedColumnProps, currentMoveColumnIndex]);\n\n const antdRowSelection = useMemo(() => {\n if (!rowSelection) {\n return undefined;\n }\n\n const getRowKey = record => resolveRowKey(rowKey, record);\n\n return {\n type: rowSelection.type === 'radio' ? 'radio' : 'checkbox',\n ...(hasFixedColumn ? { fixed: 'left' } : {}),\n selectedRowKeys: rowSelection.isSelectedAll ? (dataSource || []).filter(item => !item.disabled).map(getRowKey) : rowSelection.selectedRowKeys,\n onChange: (selectedRowKeys, selectedRows, info) => {\n if (info.type === 'all') {\n const checked = selectedRowKeys.length > 0;\n if (typeof rowSelection.onIsSelectAllChange === 'function') {\n rowSelection.onIsSelectAllChange(checked);\n return;\n }\n if (!checked) {\n rowSelection.onChange([], undefined, { context, checked: false });\n return;\n }\n rowSelection.onChange((dataSource || []).map(getRowKey), undefined, { context, checked: true });\n return;\n }\n\n const currentKey = selectedRows.length > 0 ? getRowKey(selectedRows[selectedRows.length - 1]) : selectedRowKeys[selectedRowKeys.length - 1];\n const checked = selectedRowKeys.indexOf(currentKey) > -1;\n rowSelection.onChange(selectedRowKeys, currentKey, { context, checked });\n },\n getCheckboxProps: record => ({\n disabled: record.disabled || rowSelection.isSelectedAll\n }),\n ...(rowSelection.type === 'checkbox'\n ? {\n columnTitle: rowSelection.allowSelectedAll ? checkboxNode => wrapColContent(checkboxNode) : wrapColContent(<Checkbox style={{ visibility: 'hidden' }} />),\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['selection-col'])\n })\n }\n : {\n columnWidth: 30,\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['radio-col'])\n })\n })\n };\n }, [context, dataSource, rowKey, rowSelection, hasFixedColumn]);\n\n const tableScroll = useMemo(() => {\n let x;\n if (hasFixedColumn) {\n x = totalWidth;\n } else if (controllerOpen) {\n x = Math.max(tableWidth, totalWidth);\n }\n return Object.assign({}, x != null ? { x } : {}, scroll);\n }, [hasFixedColumn, controllerOpen, totalWidth, tableWidth, scroll]);\n\n const hasScrollY = scroll?.y != null && scroll?.y !== false;\n\n const antdSticky = useMemo(() => {\n if (!sticky) {\n return undefined;\n }\n const config = typeof sticky === 'object' ? Object.assign({}, sticky) : {};\n if (hasScrollY) {\n const { getContainer, ...scrollSticky } = config;\n return Object.assign({ offsetHeader: 0 }, scrollSticky);\n }\n return Object.assign({ offsetHeader: 0 }, config, getStickyContainer ? { getContainer: getStickyContainer } : null);\n }, [sticky, getStickyContainer, hasScrollY]);\n\n const tableWrapperStyle = useMemo(() => {\n if (!sticky || stickyOffset == null || hasScrollY) {\n return undefined;\n }\n return { '--sticky-offset': stickyOffset };\n }, [sticky, stickyOffset, hasScrollY]);\n\n const tableElement = (\n <AntTable\n {...others}\n showHeader\n dataSource={dataSource}\n columns={antdColumns}\n rowKey={typeof rowKey === 'function' ? rowKey : record => get(record, rowKey)}\n rowSelection={antdRowSelection}\n pagination={pagination}\n summary={typeof summary === 'function' ? (pageData, ...args) => summary(pageData, ...args) : undefined}\n sticky={antdSticky}\n tableLayout={controllerOpen || hasFixedColumn ? 'fixed' : undefined}\n scroll={tableScroll}\n onHeaderRow={() => ({\n className: classnames(viewStyle['header'], 'info-page-table-header'),\n style: headerStyle\n })}\n locale={{ emptyText: <div className={viewStyle['empty']}>{empty}</div> }}\n rowClassName={record => {\n const id = resolveRowKey(rowKey, record);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n return classnames(viewStyle['body'], 'info-page-table-row', {\n [viewStyle['is-selected-all']]: rowSelection?.isSelectedAll,\n [viewStyle['is-selected']]: isChecked,\n [viewStyle['is-disabled']]: record.disabled\n });\n }}\n onRow={\n onRowSelect\n ? record => ({\n onClick: () => {\n if (record.disabled) {\n return;\n }\n onRowSelect(record, { columns: visibleColumns, dataSource });\n }\n })\n : undefined\n }\n />\n );\n\n const wrappedTable = (\n <div\n ref={tableRef}\n className={classnames(viewStyle['table'], style['table'], 'info-page-table', className, {\n [style['is-resize']]: currentMoveColumnIndex !== null,\n [style['is-computed']]: isLayout,\n [style['has-group-header']]: hasGroupHeader,\n [style['has-summary']]: typeof summary === 'function',\n [style['is-sticky']]: !!sticky,\n [style['is-sticky-scroll-y']]: !!sticky && hasScrollY,\n [style['is-sticky-viewport']]: !!sticky && !hasScrollY\n })}\n style={tableWrapperStyle}\n >\n <div className=\"info-page-table-body\">{!isLayout && tableElement}</div>\n {currentMoveColumnIndex !== null && resizeGuideStyle && <span className={style['column-resize-guide']} style={resizeGuideStyle} aria-hidden />}\n </div>\n );\n\n if (typeof render === 'function') {\n return render({\n ...others,\n header: null,\n renderBody: () => wrappedTable\n });\n }\n\n return wrappedTable;\n};\n\nTable.useSelectedRow = useSelectedRow;\nTable.useSort = useSort;\nTable.sortDataSource = useSort.sortDataSource;\n\nexport default Table;\n","import React, { useLayoutEffect, useRef } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\n\nconst Label = ({ className, children, onChange }) => {\n const ref = useRef(null);\n const handlerChange = useRefCallback(onChange);\n useLayoutEffect(() => {\n const computed = () => {\n if (!ref.current) {\n return;\n }\n handlerChange(ref.current.getBoundingClientRect());\n };\n const resizeObserver = new ResizeObserver(computed);\n resizeObserver.observe(ref.current);\n computed();\n return () => {\n resizeObserver.disconnect();\n };\n }, [handlerChange]);\n return (\n <span ref={ref} className={className}>\n {children}\n </span>\n );\n};\n\nexport default Label;\n","import React from 'react';\nimport { Checkbox } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport Label from '../Label';\nimport { renderColumnTitle } from '../useSort';\nimport { getColumnLayout, parseColumnWidth } from './columnWidth';\nimport { resolveColumnDimensions } from '../columnRenderType';\nimport style from './style.module.scss';\n\nconst renderHeaderCellContent = (column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize }) => {\n const titleNode = renderColumnTitle(column.title, column, sortRender);\n const contentClassName = style['col-content'];\n\n if (widthBased) {\n return <span className={contentClassName}>{titleNode}</span>;\n }\n\n return (\n <Label\n className={contentClassName}\n onChange={size => {\n setColsSize(value =>\n Object.assign({}, value, {\n [column.name]: Math.max(size.width, parseColumnWidth(resolveColumnDimensions(column).width))\n })\n );\n }}\n >\n {titleNode}\n </Label>\n );\n};\n\nexport const renderHeaderGridCells = ({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan }) => {\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key=\"__selection__\" className={classnames(style['col'], style['col-fixed'], style['header-cell'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n {rowSelection.allowSelectedAll ? (\n (() => {\n const checkedAll =\n rowSelection.isSelectedAll || (dataSource && dataSource.every(item => rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey)) > -1));\n return (\n <Checkbox\n checked={checkedAll}\n indeterminate={rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.length > 0 && !checkedAll}\n onChange={e => {\n const checked = e.target.checked;\n if (!checked) {\n typeof rowSelection.onIsSelectAllChange === 'function' ? rowSelection.onIsSelectAllChange(false) : rowSelection.onChange([]);\n } else {\n typeof rowSelection.onIsSelectAllChange === 'function'\n ? rowSelection.onIsSelectAllChange(true)\n : dataSource &&\n dataSource.length > 0 &&\n rowSelection.onChange(\n dataSource.map(item => {\n return get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n })\n );\n }\n }}\n />\n );\n })()\n ) : (\n <Checkbox style={{ visibility: 'hidden' }} />\n )}\n </span>\n </div>\n );\n }\n\n columns.forEach((column, index) => {\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === columns.length - 1,\n columns\n });\n cells.push(\n <div key={column.name} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], style['header-cell'], 'info-page-table-col')}>\n {renderHeaderCellContent(column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize })}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(<div key=\"__radio__\" className={classnames(style['col'], style['single-checked'], style['header-cell'], 'info-page-table-col')} />);\n }\n\n return cells;\n};\n\nconst Header = p => {\n const { dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, headerStyle, sortRender, defaultSpan } = Object.assign(\n {},\n {\n rowKey: 'id'\n },\n p\n );\n\n return (\n <div style={headerStyle} className={classnames(style['header'], 'info-page-table-header')}>\n {renderHeaderGridCells({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan })}\n </div>\n );\n};\n\nexport default Header;\n","import React, { useMemo, useState } from 'react';\nimport Header, { renderHeaderGridCells } from './Header';\nimport { Checkbox, Empty } from 'antd';\nimport { CheckOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { getColumnLayout, getGridTemplateColumns, hasColumnSpan, hasColumnWidth } from './columnWidth';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort from '../useSort';\nimport { renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst getLayoutColumns = columns => columns.filter(column => column.display !== false);\n\nconst TableView = p => {\n const [colsSize, setColsSize] = useState({});\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />\n },\n p\n );\n const { className, dataSource, columns: columnsProp, rowKey, rowSelection, valueIsEmpty, emptyIsPlaceholder, placeholder, empty, onRowSelect, render, context, sticky, headerStyle, sortRender, ...others } = props;\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n const layoutColumns = useMemo(() => getLayoutColumns(columns), [columns]);\n const defaultSpan = useMemo(() => {\n const assignedSpan = layoutColumns.reduce((a, b) => a + (b.span || 0), 0);\n const undistributedColCount = layoutColumns.filter(item => !hasColumnSpan(item) && !hasColumnWidth(item, layoutColumns)).length;\n\n return undistributedColCount > 0 ? Math.round(Math.max(24 - assignedSpan, 0) / undistributedColCount) : 1;\n }, [layoutColumns]);\n\n const gridTemplateColumns = useMemo(() => getGridTemplateColumns(layoutColumns, { defaultSpan, colsSize, rowSelection }), [layoutColumns, defaultSpan, colsSize, rowSelection]);\n\n const headerCellProps = {\n dataSource,\n columns: layoutColumns,\n rowKey,\n rowSelection,\n colsSize,\n setColsSize,\n sortRender,\n defaultSpan\n };\n\n const header = <Header {...headerCellProps} headerStyle={headerStyle} />;\n\n const handleRowClick = (item, { dataSource, context, id, isChecked }) => {\n if (item.disabled) {\n return;\n }\n onRowSelect && onRowSelect(item, { columns: layoutColumns, dataSource });\n if (!rowSelection || rowSelection.isSelectedAll) {\n return;\n }\n if (rowSelection.type === 'checkbox') {\n const selectedRowKeys = (rowSelection.selectedRowKeys || []).slice(0);\n isChecked ? selectedRowKeys.splice(rowSelection.selectedRowKeys.indexOf(id), 1) : selectedRowKeys.push(id);\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n return;\n }\n const selectedRowKeys = rowSelection.selectedRowKeys.length && rowSelection.selectedRowKeys[0] === id ? [] : [id];\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n };\n\n const renderBodyGridCells = (dataSource, context) => {\n const getId = item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n\n if (!dataSource || dataSource.length === 0) {\n return null;\n }\n\n return dataSource.map(item => {\n const id = getId(item);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n const columnsValue = computeColumnsValue({ columns: layoutColumns, emptyIsPlaceholder, valueIsEmpty, removeEmpty: true, dataSource: item, placeholder, context });\n const columnMap = columnsValue.reduce((result, column) => Object.assign(result, { [column.name]: column }), {});\n const rowClassName = classnames(style['body'], style['body-cell'], style['body-row'], 'info-page-table-row', {\n [style['is-selected-all']]: rowSelection?.isSelectedAll,\n [style['is-selected']]: isChecked,\n [style['is-disabled']]: item.disabled\n });\n const onSelectionChange = () => handleRowClick(item, { dataSource, context, id, isChecked });\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key={`${id}__selection__`} className={classnames(style['col'], style['col-fixed'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n <Checkbox disabled={item.disabled || rowSelection.isSelectedAll} checked={(rowSelection.isSelectedAll && !item.disabled) || isChecked} onChange={onSelectionChange} />\n </span>\n </div>\n );\n }\n\n layoutColumns.forEach((column, index) => {\n const columnValue = columnMap[column.name];\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === layoutColumns.length - 1,\n columns: layoutColumns\n });\n\n cells.push(\n <div key={`${id}-${column.name}`} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], 'info-page-table-col')}>\n {columnValue ? renderCellContent(computeDisplay({ column: columnValue, placeholder, dataSource: item, context }), columnValue, style['col-content']) : <span className={style['col-content']} />}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(\n <div key={`${id}__radio__`} className={classnames(style['col'], style['single-checked'], 'info-page-table-col')} onClick={onSelectionChange}>\n {isChecked && <CheckOutlined />}\n </div>\n );\n }\n\n return (\n <div key={id} className={rowClassName}>\n {cells}\n </div>\n );\n });\n };\n\n const renderGrid = (dataSource, context) => (\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n {renderBodyGridCells(dataSource, context)}\n </div>\n );\n\n const renderBody = (dataSource, context) => {\n if (!dataSource || dataSource.length === 0) {\n return <div className={style['empty']}>{empty}</div>;\n }\n\n return <div className={classnames('info-page-table-body')}>{renderGrid(dataSource, context)}</div>;\n };\n\n if (typeof render === 'function') {\n return render({ ...others, header, renderBody });\n }\n\n return (\n <div {...others} className={classnames(style['table'], style['tableView'], 'info-page-table', className)}>\n {dataSource && dataSource.length > 0 ? (\n renderGrid(dataSource, context)\n ) : (\n <>\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n </div>\n <div className={style['empty']}>{empty}</div>\n </>\n )}\n </div>\n );\n};\n\nTableView.Header = Header;\nTableView.useSelectedRow = useSelectedRow;\nTableView.useSort = useSort;\nTableView.sortDataSource = useSort.sortDataSource;\nexport default TableView;\n","export const parsePixelValue = value => {\n const num = parseFloat(value);\n return Number.isNaN(num) ? 0 : num;\n};\n\nexport const getViewportRect = () => {\n const visualViewport = window.visualViewport;\n if (visualViewport) {\n return {\n top: visualViewport.offsetTop,\n bottom: visualViewport.offsetTop + visualViewport.height,\n left: visualViewport.offsetLeft,\n right: visualViewport.offsetLeft + visualViewport.width,\n height: visualViewport.height\n };\n }\n return {\n top: 0,\n bottom: window.innerHeight,\n left: 0,\n right: window.innerWidth,\n height: window.innerHeight\n };\n};\n\nexport const getTableElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.info-page-table') || root;\n};\n\nexport const getTableScrollElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.ant-table-body') || root.querySelector('.ant-table-content');\n};\n\nexport const getElementViewportState = element => {\n if (!element) {\n return {\n isBottomInViewport: true,\n isPartiallyInViewport: false,\n isTopInViewport: true,\n rect: null,\n viewport: getViewportRect()\n };\n }\n const rect = element.getBoundingClientRect();\n const viewport = getViewportRect();\n return {\n isBottomInViewport: rect.bottom > viewport.top && rect.bottom <= viewport.bottom,\n isPartiallyInViewport: rect.top < viewport.bottom && rect.bottom > viewport.top,\n isTopInViewport: rect.top >= viewport.top && rect.top < viewport.bottom,\n rect,\n viewport\n };\n};\n\nexport const isTopEdgeInViewport = (element, scrollMarginTop = 0) => {\n const { isTopInViewport, rect, viewport } = getElementViewportState(element);\n if (!rect) {\n return true;\n }\n const viewportTop = viewport.top + scrollMarginTop;\n return rect.top >= viewportTop && rect.top < viewport.bottom;\n};\n\nexport const shouldShowFloatingScrollbar = (scrollEl, viewportState) => {\n if (!scrollEl || scrollEl.scrollWidth <= scrollEl.clientWidth + 1) {\n return false;\n }\n const state = viewportState || getElementViewportState(scrollEl);\n if (!state.isPartiallyInViewport) {\n return false;\n }\n return !state.isBottomInViewport;\n};\n\nexport const observeViewportIntersection = (element, onChange) => {\n if (!element) {\n return () => {};\n }\n\n const notify = entry => {\n onChange(getElementViewportState(element));\n };\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n notify(entry);\n },\n {\n root: null,\n threshold: [0, 0.01, 0.25, 0.5, 0.75, 1]\n }\n );\n\n observer.observe(element);\n\n const handleViewportChange = () => {\n notify();\n };\n\n window.addEventListener('scroll', handleViewportChange, true);\n window.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('scroll', handleViewportChange);\n notify();\n\n return () => {\n observer.disconnect();\n window.removeEventListener('scroll', handleViewportChange, true);\n window.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('scroll', handleViewportChange);\n };\n};\n","import { createPortal } from 'react-dom';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport { getTableScrollElement, getViewportRect, observeViewportIntersection, shouldShowFloatingScrollbar } from './scrollUtils';\n\nconst BAR_HEIGHT = 15;\nconst THUMB_MARGIN = 2;\n\nconst computeBarMetrics = (scrollEl, viewportState) => {\n const rect = scrollEl.getBoundingClientRect();\n const viewport = getViewportRect();\n const trackWidth = rect.width;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const maxThumbOffset = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n const scrollRatio = scrollEl.scrollWidth > scrollEl.clientWidth ? scrollEl.scrollLeft / (scrollEl.scrollWidth - scrollEl.clientWidth) : 0;\n\n return {\n left: rect.left,\n width: trackWidth,\n bottom: window.innerHeight - viewport.bottom,\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible: shouldShowFloatingScrollbar(scrollEl, viewportState)\n };\n};\n\nconst FloatingScrollBar = ({ metrics, onThumbDrag, getPortalContainer }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(false);\n const onThumbDragRef = useRef(onThumbDrag);\n onThumbDragRef.current = onThumbDrag;\n\n useEffect(() => {\n movingRef.current = moving;\n }, [moving]);\n\n useEffect(() => {\n const moveHandler = event => {\n if (!movingRef.current) {\n return;\n }\n onThumbDragRef.current(event.clientX - startRef.current);\n startRef.current = event.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener('mousemove', moveHandler, true);\n document.addEventListener('mouseup', upHandler, true);\n return () => {\n document.removeEventListener('mousemove', moveHandler, true);\n document.removeEventListener('mouseup', upHandler, true);\n };\n }, []);\n\n if (!metrics?.visible) {\n return null;\n }\n\n const portalTarget = getPortalContainer?.() || document.body;\n\n return createPortal(\n <div\n className={classnames(style['floating-scrollbar'], 'table-page-floating-scrollbar')}\n style={{\n left: metrics.left,\n width: metrics.width,\n height: BAR_HEIGHT,\n bottom: metrics.bottom\n }}\n >\n <div\n className={classnames(style['floating-scrollbar-thumb'], {\n [style['is-moving']]: moving\n })}\n style={{\n width: metrics.thumbWidth,\n left: metrics.thumbLeft\n }}\n onMouseDown={event => {\n event.preventDefault();\n startRef.current = event.clientX;\n setMoving(true);\n }}\n />\n </div>,\n portalTarget\n );\n};\n\nconst HorizontalScroller = forwardRef(({ className, enabled = true, getPortalContainer, children }, forwardedRef) => {\n const [metrics, setMetrics] = useState(null);\n const containerRef = useRef(null);\n const scrollElRef = useRef(null);\n const viewportStateRef = useRef(null);\n\n const setContainerRef = useRefCallback(node => {\n containerRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n });\n\n const updateMetrics = useRefCallback(() => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n setMetrics(null);\n return;\n }\n setMetrics(computeBarMetrics(scrollEl, viewportStateRef.current));\n });\n\n const handleThumbDrag = useRefCallback(deltaX => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n return;\n }\n const trackWidth = scrollEl.clientWidth;\n const scrollableWidth = scrollEl.scrollWidth - scrollEl.clientWidth;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const thumbTravel = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n if (thumbTravel <= 0) {\n return;\n }\n scrollEl.scrollLeft += (deltaX / thumbTravel) * scrollableWidth;\n updateMetrics();\n });\n\n useEffect(() => {\n if (!enabled) {\n scrollElRef.current = null;\n viewportStateRef.current = null;\n setMetrics(null);\n return undefined;\n }\n\n const root = containerRef.current;\n if (!root) {\n return undefined;\n }\n\n let scrollEl = null;\n let unobserveViewport = null;\n let contentResizeObserver = null;\n\n const detachScrollEl = () => {\n unobserveViewport?.();\n unobserveViewport = null;\n if (!scrollEl) {\n return;\n }\n scrollEl.removeEventListener('scroll', updateMetrics);\n contentResizeObserver?.disconnect();\n contentResizeObserver = null;\n scrollElRef.current = null;\n viewportStateRef.current = null;\n scrollEl = null;\n };\n\n const attachScrollEl = nextScrollEl => {\n if (!nextScrollEl || nextScrollEl === scrollEl) {\n return;\n }\n detachScrollEl();\n scrollEl = nextScrollEl;\n scrollElRef.current = scrollEl;\n unobserveViewport = observeViewportIntersection(scrollEl, state => {\n viewportStateRef.current = state;\n updateMetrics();\n });\n scrollEl.addEventListener('scroll', updateMetrics, { passive: true });\n contentResizeObserver = new ResizeObserver(updateMetrics);\n contentResizeObserver.observe(scrollEl);\n Array.from(scrollEl.children).forEach(child => {\n contentResizeObserver.observe(child);\n });\n };\n\n const onLayoutChange = () => {\n attachScrollEl(getTableScrollElement(root));\n updateMetrics();\n };\n\n const containerResizeObserver = new ResizeObserver(onLayoutChange);\n containerResizeObserver.observe(root);\n onLayoutChange();\n\n return () => {\n detachScrollEl();\n containerResizeObserver.disconnect();\n };\n }, [enabled, updateMetrics]);\n\n return (\n <>\n <div ref={setContainerRef} className={className}>\n {children}\n </div>\n {enabled ? <FloatingScrollBar metrics={metrics} onThumbDrag={handleThumbDrag} getPortalContainer={getPortalContainer} /> : null}\n </>\n );\n});\n\nexport default HorizontalScroller;\n","import React, { useMemo } from 'react';\nimport { Button, Dropdown } from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport { FilterProvider, FilterLines, FilterValueDisplay, SearchInput } from '@kne/react-filter';\nimport '@kne/react-filter/dist/index.css';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport style from './tableToolbar.module.scss';\n\nconst TableToolbar = ({ filterValue, onFilterChange, filter, search, batchActions, rowSelection, selectedRows, batchContext }) => {\n const { formatMessage } = useIntl();\n const selectedRowKeys = rowSelection?.selectedRowKeys || [];\n const hasSelection = selectedRowKeys.length > 0;\n\n const batchMenuItems = useMemo(() => {\n if (!Array.isArray(batchActions) || batchActions.length === 0) {\n return [];\n }\n return batchActions.map(item => {\n const { key, label, disabled, danger, onClick } = item;\n const isDisabled = disabled ?? !hasSelection;\n return {\n key: key || label,\n label,\n danger,\n disabled: isDisabled,\n onClick: () => {\n if (isDisabled) {\n return;\n }\n onClick?.({\n selectedRowKeys,\n selectedRows: selectedRows || [],\n rowSelection,\n ...batchContext\n });\n }\n };\n });\n }, [batchActions, batchContext, hasSelection, rowSelection, selectedRowKeys, selectedRows]);\n\n const showBatch = batchMenuItems.length > 0;\n const showFilter = filter?.list?.length > 0;\n const showSearch = search && search.name;\n\n if (!showBatch && !showFilter && !showSearch) {\n return null;\n }\n\n const { list: filterList, displayLine = 1, extraExpand, className: filterClassName, ...filterRest } = filter || {};\n const { className: searchClassName, style: searchStyle, ...searchRest } = search || {};\n\n const hasValueDisplay = filterValue?.length > 0;\n\n return (\n <FilterProvider value={filterValue} onChange={onFilterChange}>\n <div\n className={classnames(style['table-toolbar-section'], 'table-page-toolbar-section', {\n [style['has-value-display']]: hasValueDisplay,\n 'table-page-toolbar-section--has-value': hasValueDisplay\n })}\n >\n <div className={style['table-toolbar']}>\n {showBatch ? (\n <>\n <div className={style['table-toolbar-batch']}>\n <Dropdown disabled={!hasSelection} menu={{ items: batchMenuItems }} trigger={['click']}>\n <Button size=\"small\" disabled={!hasSelection} className={style['table-toolbar-batch-btn']}>\n {hasSelection ? formatMessage({ id: 'BatchOperationsWithCount' }, { count: selectedRowKeys.length }) : formatMessage({ id: 'BatchOperations' })}\n <DownOutlined />\n </Button>\n </Dropdown>\n </div>\n {(showFilter || showSearch) && <span className={style['table-toolbar-divider']} aria-hidden />}\n </>\n ) : null}\n {showFilter ? (\n <div className={style['table-toolbar-filter']}>\n <div className={classnames(style['table-toolbar-filter-inner'], filterClassName)}>\n <FilterLines list={filterList} displayLine={displayLine} label=\"\" {...filterRest} />\n </div>\n </div>\n ) : null}\n {showSearch ? (\n <>\n {showFilter && <span className={style['table-toolbar-divider']} aria-hidden />}\n <div className={style['table-toolbar-search']}>\n <SearchInput allowClear bordered={false} variant=\"filled\" size=\"small\" className={classnames(style['table-toolbar-search-input'], searchClassName)} style={searchStyle} {...searchRest} />\n </div>\n </>\n ) : null}\n </div>\n {hasValueDisplay ? (\n <div className={style['table-toolbar-value-display']}>\n <FilterValueDisplay value={filterValue} onChange={onFilterChange} extraExpand={extraExpand} />\n </div>\n ) : null}\n </div>\n </FilterProvider>\n );\n};\n\nexport default TableToolbar;\n","import { withFetch } from '@kne/react-fetch';\nimport { Pagination } from 'antd';\nimport { getFilterValue } from '@kne/react-filter';\nimport Table from '../Table';\nimport TableView from '../TableView';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport useRefCallback from '@kne/use-ref-callback';\nimport { forwardRef, useEffect, useMemo, useRef, useState } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport style from './style.module.scss';\nimport withLocale from '../withLocale';\nimport HorizontalScroller from './HorizontalScroller';\nimport TableToolbar from './TableToolbar';\nimport { getTableElement, isTopEdgeInViewport, parsePixelValue } from './scrollUtils';\n\nconst readPageSize = key => {\n try {\n const value = localStorage.getItem(key);\n if (value == null || value === '') {\n return null;\n }\n const num = Number(value);\n return Number.isNaN(num) ? null : num;\n } catch {\n return null;\n }\n};\n\nconst writePageSize = (key, size) => {\n try {\n localStorage.setItem(key, String(size));\n } catch {\n // ignore quota errors\n }\n};\n\nconst isTableTopInViewport = target => {\n const scrollMarginTop = parsePixelValue(getComputedStyle(target).scrollMarginTop);\n return isTopEdgeInViewport(target, scrollMarginTop);\n};\n\nconst scrollTableIntoView = root => {\n const target = getTableElement(root);\n if (!target) {\n return;\n }\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (isTableTopInViewport(target)) {\n return;\n }\n target.scrollIntoView({ block: 'start', inline: 'nearest' });\n });\n });\n};\n\nconst TABLE_COMPONENTS = {\n Table,\n TableView\n};\n\nconst collectFilterFieldNames = (filter, search) => {\n const names = new Set();\n if (search?.name) {\n names.add(search.name);\n }\n if (Array.isArray(filter?.list)) {\n filter.list.forEach(row => {\n if (!Array.isArray(row)) {\n return;\n }\n row.forEach(item => {\n const name = item?.props?.name;\n if (name) {\n names.add(name);\n }\n });\n });\n }\n return names;\n};\n\nconst omitFilterParams = (params, filterFieldNames) => {\n const next = Object.assign({}, params);\n filterFieldNames.forEach(name => {\n delete next[name];\n });\n return next;\n};\n\nconst TablePageInnerContent = withLocale(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n loadMore,\n send,\n dataFormat = data => {\n return {\n list: data.pageData,\n total: data.totalCount,\n data\n };\n },\n className,\n columns,\n getColumns,\n pagination = {},\n columnRenderProps = {},\n summary,\n sticky,\n renderType = 'Table',\n horizontalScroller = true,\n getScrollContainer,\n filter,\n search,\n batchActions,\n selectedRows,\n rowSelection,\n ...props\n }) => {\n const { formatMessage } = useIntl();\n const tableContentRef = useRef(null);\n const pendingScrollRef = useRef(false);\n const handlerDataFormat = useRefCallback(dataFormat);\n const isFilterControlled = filter && filter.value !== undefined;\n const [internalFilterValue, setInternalFilterValue] = useState(() => filter?.defaultValue || []);\n const filterValue = isFilterControlled ? filter.value : internalFilterValue;\n const mapFilterValue = filter?.mapFilterValue || getFilterValue;\n\n const getFilterParams = useRefCallback(value => {\n return mapFilterValue(value || []);\n });\n\n const filterFieldNames = useMemo(() => collectFilterFieldNames(filter, search), [filter, search]);\n\n const buildRequestParamsWithFilter = useRefCallback((value, extra = {}) => {\n return Object.assign({}, omitFilterParams(get(requestParams, pagination.paramsType), filterFieldNames), extra, getFilterParams(value));\n });\n\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const resolvedColumns = typeof getColumns === 'function' ? getColumns(data) : typeof columns === 'function' ? columns(data) : columns;\n\n const fetchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const scrollTable = useRefCallback(() => {\n scrollTableIntoView(tableContentRef.current);\n });\n\n const handleFilterChange = useRefCallback(value => {\n if (!isFilterControlled) {\n setInternalFilterValue(value);\n }\n filter?.onChange?.(value);\n reload({\n [pagination.paramsType]: buildRequestParamsWithFilter(value, {\n [pagination.currentName]: 1\n })\n });\n });\n\n useEffect(() => {\n if (!pendingScrollRef.current || !isComplete) {\n return;\n }\n pendingScrollRef.current = false;\n scrollTable();\n }, [isComplete, data, scrollTable]);\n\n const handlePaginationChange = useRefCallback((page, size) => {\n pendingScrollRef.current = true;\n if (typeof pagination.onChange === 'function') {\n pagination.onChange(page, size);\n return;\n }\n if (page !== get(requestParams, [pagination.paramsType, pagination.currentName], 1)) {\n (pagination.requestType === 'refresh' ? refresh : reload)({\n [pagination.paramsType]: buildRequestParamsWithFilter(filterValue, {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: Number(size)\n })\n });\n } else {\n pagination.onShowSizeChange && pagination.onShowSizeChange(page, Number(size));\n }\n });\n\n const paginationConfig = useMemo(() => {\n if (!pagination.open) {\n return null;\n }\n return {\n total: formatData.total,\n showTotal:\n typeof pagination.showTotal === 'function'\n ? pagination.showTotal\n : total => (\n <>\n {formatMessage({ id: 'TotalText' })}&nbsp;\n <span className={style['total_text']}>{total}</span>\n &nbsp;\n {formatMessage({ id: 'ItemText' })}\n </>\n ),\n current: get(requestParams, [pagination.paramsType, pagination.currentName], 1),\n pageSize: Number(get(requestParams, [pagination.paramsType, pagination.pageSizeName], pagination.pageSize)) || pagination.pageSize || 20,\n onChange: handlePaginationChange,\n size: pagination.size,\n hideOnSinglePage: pagination.hideOnSinglePage,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions\n };\n }, [pagination, formatData.total, requestParams, formatMessage, handlePaginationChange]);\n\n const hasToolbar = !!(filter?.list?.length || (search && search.name) || (batchActions && batchActions.length));\n\n const batchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const tableContext = {\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data\n };\n\n const tableProps = {\n ...props,\n rowSelection,\n dataSource: formatData.list,\n pagination: false,\n sticky,\n getStickyContainer: getScrollContainer,\n className: classnames(className, {\n [style['table-in-toolbar']]: hasToolbar\n }),\n columns: resolvedColumns,\n context: tableContext,\n columnRenderProps: tableContext,\n summary:\n typeof summary === 'function'\n ? (pageData, ...args) => {\n return summary(Object.assign({}, fetchContext, { pageData }, ...args));\n }\n : null\n };\n\n const TableComponent = TABLE_COMPONENTS[renderType] || Table;\n\n const tableElement = <TableComponent {...tableProps} />;\n\n return (\n <div className={style['table-page']}>\n <HorizontalScroller\n ref={tableContentRef}\n enabled={horizontalScroller && renderType === 'Table'}\n getPortalContainer={getScrollContainer}\n className={classnames(style['table-content'], 'loading-container', {\n 'is-loading': !isComplete && !data\n })}\n >\n {hasToolbar ? (\n <div className={style['table-with-toolbar']}>\n <TableToolbar filterValue={filterValue} onFilterChange={handleFilterChange} filter={filter} search={search} batchActions={batchActions} rowSelection={rowSelection} selectedRows={selectedRows} batchContext={batchContext} />\n {tableElement}\n </div>\n ) : (\n tableElement\n )}\n </HorizontalScroller>\n {paginationConfig ? <Pagination className={style['pagination']} {...paginationConfig} /> : null}\n </div>\n );\n }\n);\n\nconst TablePageInner = withFetch(TablePageInnerContent);\n\nconst TablePage = forwardRef(({ pagination, horizontalScroller = true, getScrollContainer, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n hideOnSinglePage: false,\n open: true,\n paramsType: 'data',\n requestType: 'reload',\n currentName: 'currentPage',\n pageSizeName: 'perPage',\n pageSize: 20\n },\n pagination\n );\n const pageSizeKey = `${(props.name || 'common').toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(() => readPageSize(pageSizeKey) ?? pagination.pageSize);\n const params = props[pagination.paramsType];\n const filterDefaultParams = useMemo(() => {\n if (!props.filter?.defaultValue?.length) {\n return {};\n }\n const mapFilterValue = props.filter.mapFilterValue || getFilterValue;\n return mapFilterValue(props.filter.defaultValue);\n }, [props.filter]);\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, filterDefaultParams, {\n [pagination.pageSizeName]: pageSize\n })\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize, filterDefaultParams]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n horizontalScroller={horizontalScroller}\n getScrollContainer={getScrollContainer}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n const nextSize = Number(size);\n writePageSize(pageSizeKey, nextSize);\n setPageSize(nextSize);\n }\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","import merge from 'lodash/merge';\nimport './renderType';\nimport { globalParams } from './globalParams';\n\nconst preset = props => {\n const next = merge({}, globalParams, props);\n merge(globalParams, props);\n return next;\n};\n\nexport { globalParams };\nexport default preset;\n"],"names":["this","calcArgs","args","template","attr","normal","groupBy","item","test","output","typeTransform","value","type","String","Number","forEach","target","index","currentTemplate","Object","assign","defaultValue","get","name","key","split","find","transform","result","hasOwnProperty","defaultFormat","date","dayjs","format","datetime","dateRange","allowNull","isEmpty","boolean","trueValue","toString","number","style","unit","maximumFractionDigits","useGrouping","roundingMode","suffix","Intl","NumberFormat","money","formatView","context","formatList","filter","length","reduce","map","replace","globalParams","renderType","renderTypeSize","tagTypeColors","statusTypeColors","defaultRender","Ellipsis","children","ellipsis","userConfig","showTitle","rest","_objectWithoutPropertiesLoose","_excluded","_jsx","Typography","Text","className","tooltip","rootClassName","MainCell","column","dataSource","hover","primary","onClick","loading","setLoading","useState","isClickable","Boolean","ellipsisConfig","showTooltip","handleClick","e","Promise","resolve","colItem","event","finally","undefined","text","classnames","Tooltip","title","ellipsisStyle","main","amount","DEFAULT_TAG_TYPE_COLORS","default","success","progress","processing","danger","error","warning","info","other","skill","filterResult","completed","pending","high","medium","low","getTagColor","customColors","normalizeTagItem","_ref","_item$text","label","renderTagItem","tag","color","Tag","_extends","renderTagList","Array","isArray","Space","size","wrap","tagList","DEFAULT_STATUS_TYPE_MAP","active","vacation","resigned","probation","shipped","paid","cancelled","getStatusType","customTypes","normalizeStatusItem","renderStatusItem","_ref2","statusItem","status","Badge","DEFAULT_SPLIT","normalizeListValue","items","_value$items","list","getListItemText","_ref3","_ref4","_normalized$split","normalized","join","SELECTION_CHECKBOX_WIDTH","SELECTION_RADIO_WIDTH","DEFAULT_COLUMN_WIDTH","parseColumnWidth","width","isNaN","trimmed","trim","pxMatch","match","parseFloat","num","getResolvedColumnWidth","resolveColumnDimensions","hasColumnSpan","span","getConfiguredColumnWidthPx","usesDefaultColumnWidth","columns","some","hasColumnWidth","shouldLastColumnFillRemaining","getColumnWidthPx","colsSize","configured","measured","Math","max","formatColumnWidthPx","px","getColumnTrackSize","defaultSpan","isLastColumn","_column$span","widthPx","getGridTemplateColumns","rowSelection","tracks","lastColumnIndex","push","getColumnLayout","widthBased","fillRemaining","align","justify","normalizeOptionItem","buttonClassName","options","buttonGroupProps","buttonGroup","valueList","_excluded2","wrapperClassName","normalizedList","hidden","ButtonGroup","moreType","itemClassName","enumRender","description","enum","SIZE_NAMES","typeSize","min","SIZE_CONFIG","short","small","large","getRenderTypeRegistry","renderers","getRenderTypeNames","keys","RENDER_TYPE_NAMES","getRender","getColumnRender","render","parseRenderType","getTypeConfigMap","extraTypeSize","pickDimension","columnValue","typeValue","sizeValue","renderTypeValue","renderTypeNames","part","includes","getRenderTypeDimensions","typeConfigMap","typeConfig","sizeConfig","renderTypeDimensions","resolveRenderType","_sizeConfig$width","_sizeConfig$min","_sizeConfig$max","ELLIPSIS_HANDLED_TYPES","FULL_WIDTH_CELL_TYPES","resolveColumn","renderFn","ellipsisHandledByRender","cellFullWidth","resolveColumns","isOptionsColumn","computeColumnsValue","emptyIsPlaceholder","valueIsEmpty","removeEmpty","itemValue","getValueOf","displayValue","formatValue","itemIsEmpty","display","computeDisplay","placeholder","renderPlaceholder","computeColumnsDisplay","useSelectedRow","rowKey","selectedRows","setSelectedRows","getRowId","useCallback","selectedRowKeys","useMemo","setSelectedRowKeys","keySet","Set","has","clearSelectedRows","onSelectAll","checked","_selected","ids","existingKeys","indexOf","onSelect","newValue","slice","findIndex","row","splice","getRowSelection","extra","onChange","id","meta","allowSelectedAll","isSimpleTitle","wrapColumnHeaderTitle","sortArrayToMap","sort","Map","useControlValue","internalValue","setInternalValue","isControlled","currentValue","setValue","updater","nextValue","compareValues","a","b","direction","emptyA","emptyB","strA","strB","localeCompare","sortDataSource","columnMap","aVal","bVal","getSortSingle","sortOption","single","renderColumnTitle","sortRender","titleContent","_jsxs","useSort","props","setSort","defaultSort","onSortChange","mapSort","setMapSort","callback","currentSort","newSort","from","sortValue","stopPropagation","sortMap","current","targetValue","clone","set","delete","CaretUpOutlined","CaretDownOutlined","locale","TotalText","ItemText","UnnamedColumn","EditTable","RestoreDefault","VisibleInfo","HiddenInfo","Search","BatchOperations","BatchOperationsWithCount","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","filterZhCN","zhCN","filterEnUS","enUS","namespace","ColumnsControlContent","close","onConfirm","config","formatMessage","useIntl","searchText","setSearchText","confirmLoading","setConfirmLoading","scrollEl","setScrollEl","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","fixed","sortableVisibleColumns","handlerColumnsChange","columnsState","newConfig","cloneDeep","columnsList","concat","col","renderColumn","_Fragment","titleText","groupHeader","collapseItems","Checkbox","disabled","ReactSortable","dragClass","ghostClass","chosenClass","forceFallback","fallbackOnBody","scroll","bubbleScroll","setList","nextVisibleColumns","animation","delayOnTouchStart","delay","HolderOutlined","preventDefault","visible","Row","Col","Input","onSearch","allowClear","List","renderItem","Item","Button","icon","RedoOutlined","ref","Collapse","defaultActiveKey","ghost","bordered","gutter","storageKey","readStorage","JSON","parse","localStorage","getItem","_unused","writeStorage","data","setItem","stringify","_unused2","getData","setData","tableLocalApis","TABLE_CONFIG_COLUMN_EXTRA_WIDTH","DEFAULT_WIDTH","DEFAULT_MIN","DEFAULT_MAX","getColumnSize","_column$min","_column$max","getConfigColumnExtraWidth","columnCount","controllerOpen","withConfigColumnExtra","contentWidth","TableConfigButton","setConfig","open","setOpen","configStyle","flex","Popover","onOpenChange","trigger","placement","styles","container","padding","content","configValue","pick","SettingOutlined","useTableConfig","tableWidth","tableServerApis","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","useRef","currentMoveColumnRef","startPointRef","setConfigBase","saveConfig","useDebouncedCallback","tableName","prevConfig","useEffect","computedIndex","hasFixedColumn","lastNotFixedColumnIndex","findLastIndex","totalWidth","sum","computedRealWidth","getConfigWidth","currentWidth","resizeBarRender","onMouseDown","clientX","resize","useRefCallback","delta","colName","withResize","withConfig","titleNode","getHeaderCellClassName","computedColumnProps","realWidth","movingClass","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","document","documentElement","addEventListener","removeEventListener","columnsConfig","useGroupHeader","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","groupList","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","useElementWidth","setWidth","el","update","clientWidth","resizeObserver","ResizeObserver","observe","disconnect","renderCellContent","contentClassName","wrapEllipsis","needsWidthConstraint","inner","getColumnEllipsis","mapJustifyToAlign","resolveRowKey","toAntdWidth","parsed","toAntdFixed","getColCellStyle","textAlign","verticalAlign","getAntCellClassName","wrapColContent","node","viewStyle","Table","p","tableRef","isLayout","setIsLayout","empty","Empty","columnsProp","onRowSelect","sticky","stickyOffset","getStickyContainer","headerStyle","pagination","summary","others","setTimeout","resizeGuideStyle","setResizeGuideStyle","updateResizeGuide","_barRect$right","root","headerCell","querySelector","tableContainer","headerRect","getBoundingClientRect","resizeBar","barRect","containerRect","position","left","round","right","top","height","zIndex","useLayoutEffect","handleUpdate","window","targetColumns","__index","groupedColumns","antdColumns","buildLeafColumn","baseColumn","dataIndex","_","computedColumn","configProps","antdFixed","mapColumn","antdRowSelection","getRowKey","isSelectedAll","onIsSelectAllChange","currentKey","getCheckboxProps","columnTitle","checkboxNode","visibility","renderCell","originNode","columnWidth","tableScroll","x","hasScrollY","y","antdSticky","scrollSticky","offsetHeader","getContainer","tableWrapperStyle","tableElement","AntTable","showHeader","pageData","tableLayout","onHeaderRow","emptyText","rowClassName","isChecked","onRow","wrappedTable","header","renderBody","Label","handlerChange","computed","renderHeaderCellContent","setColsSize","renderHeaderGridCells","cells","checkedAll","every","indeterminate","columnStyle","Header","getLayoutColumns","TableView","layoutColumns","assignedSpan","undistributedColCount","gridTemplateColumns","headerCellProps","handleRowClick","renderBodyGridCells","getId","columnsValue","onSelectionChange","CheckOutlined","renderGrid","parsePixelValue","getViewportRect","visualViewport","offsetTop","bottom","offsetLeft","innerHeight","innerWidth","getTableElement","getTableScrollElement","getElementViewportState","element","isBottomInViewport","isPartiallyInViewport","isTopInViewport","rect","viewport","isTopEdgeInViewport","scrollMarginTop","viewportTop","shouldShowFloatingScrollbar","viewportState","scrollWidth","state","observeViewportIntersection","_window$visualViewpor","_window$visualViewpor2","notify","entry","observer","IntersectionObserver","threshold","handleViewportChange","_window$visualViewpor3","_window$visualViewpor4","BAR_HEIGHT","THUMB_MARGIN","computeBarMetrics","trackWidth","thumbWidth","maxThumbOffset","scrollRatio","scrollLeft","thumbLeft","FloatingScrollBar","metrics","onThumbDrag","getPortalContainer","startRef","moving","setMoving","movingRef","onThumbDragRef","moveHandler","upHandler","portalTarget","body","createPortal","HorizontalScroller","forwardRef","enabled","forwardedRef","setMetrics","containerRef","scrollElRef","viewportStateRef","setContainerRef","updateMetrics","handleThumbDrag","deltaX","scrollableWidth","thumbTravel","unobserveViewport","contentResizeObserver","detachScrollEl","_contentResizeObserve","attachScrollEl","nextScrollEl","passive","child","onLayoutChange","containerResizeObserver","TableToolbar","filterValue","onFilterChange","search","batchActions","batchContext","_filter$list","hasSelection","batchMenuItems","isDisabled","showBatch","showFilter","showSearch","filterList","displayLine","extraExpand","filterClassName","filterRest","searchClassName","searchStyle","searchRest","hasValueDisplay","FilterProvider","Dropdown","menu","count","DownOutlined","FilterLines","SearchInput","variant","FilterValueDisplay","readPageSize","writePageSize","isTableTopInViewport","getComputedStyle","scrollTableIntoView","requestAnimationFrame","scrollIntoView","block","inline","TABLE_COMPONENTS","collectFilterFieldNames","names","add","_item$props","omitFilterParams","params","filterFieldNames","next","TablePageInnerContent","refresh","reload","requestParams","fetchProps","isComplete","loadMore","send","dataFormat","total","totalCount","getColumns","columnRenderProps","horizontalScroller","getScrollContainer","tableContentRef","pendingScrollRef","handlerDataFormat","isFilterControlled","internalFilterValue","setInternalFilterValue","mapFilterValue","getFilterValue","getFilterParams","buildRequestParamsWithFilter","paramsType","formatData","resolvedColumns","fetchContext","scrollTable","handleFilterChange","currentName","handlePaginationChange","page","requestType","pageSizeName","onShowSizeChange","paginationConfig","showTotal","pageSize","hideOnSinglePage","showSizeChanger","showQuickJumper","pageSizeOptions","hasToolbar","tableContext","tableProps","TableComponent","Pagination","TablePageInner","withFetch","TablePage","pageSizeKey","toUpperCase","setPageSize","_readPageSize","filterDefaultParams","_props$filter","fetchParams","nextSize","preset","merge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,eAAe,CAAC,GAAkH,CAAC,CAACA,cAAI,EAAE,UAAU,CAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,4FAA4F,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0DAA0D,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,C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"}