@kne/table-page 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.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/TablePage/scrollUtils.js","../src/Table/index.js","../src/Label.js","../src/TableView/Header.js","../src/TableView/index.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","export const parsePixelValue = value => {\n const num = parseFloat(value);\n return Number.isNaN(num) ? 0 : num;\n};\n\nexport const isDocumentScrollContainer = container => {\n return !container || container === document.body || container === document.documentElement || container === document.scrollingElement;\n};\n\nexport const normalizeScrollTopInsetCSSValue = value => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === 'number') {\n return `${value}px`;\n }\n return String(value);\n};\n\nexport const resolveScrollTopInset = (scrollTopInset, stickyOffset) => scrollTopInset ?? stickyOffset;\n\nexport const parseInsetPixels = (inset, element) => {\n if (inset == null) {\n return 0;\n }\n if (typeof inset === 'number') {\n return inset;\n }\n if (typeof inset === 'string') {\n const trimmed = inset.trim();\n if (trimmed.endsWith('px')) {\n return parsePixelValue(trimmed);\n }\n const variableMatch = trimmed.match(/var\\(\\s*(--[^,\\s)]+)/);\n if (variableMatch) {\n return readCssVariableLength(element, variableMatch[1], '0px');\n }\n }\n return 0;\n};\n\n/** @deprecated use parseInsetPixels */\nexport const parseStickyOffset = parseInsetPixels;\n\nexport const readScrollTopInsetPixels = element => {\n const fromVar = readCssVariableLength(element, '--scroll-top-inset', '0px') || readCssVariableLength(element, '--sticky-offset', '0px') || readCssVariableLength(element, '--nav-height', '0px');\n return fromVar;\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 getScrollAnchorElement = (root, { preferToolbar = false } = {}) => {\n if (!root) {\n return null;\n }\n if (preferToolbar) {\n return root.querySelector('.table-page-toolbar-section') || root.querySelector('.table-with-toolbar') || getTableElement(root);\n }\n return getTableElement(root);\n};\n\nexport const readCssVariableLength = (element, variableName, fallback = '0px') => {\n if (typeof document === 'undefined') {\n return 0;\n }\n const host = element || document.documentElement;\n const probe = document.createElement('div');\n probe.style.cssText = 'position:absolute;visibility:hidden;pointer-events:none;height:0;width:0;overflow:hidden;';\n probe.style.marginTop = `var(${variableName}, ${fallback})`;\n host.appendChild(probe);\n const value = parsePixelValue(getComputedStyle(probe).marginTop);\n host.removeChild(probe);\n return value;\n};\n\nconst resolveScrollContainer = (element, getScrollContainer) => {\n const explicitContainer = typeof getScrollContainer === 'function' ? getScrollContainer() : null;\n if (explicitContainer) {\n return explicitContainer;\n }\n let parent = element?.parentElement;\n while (parent) {\n const { overflowY } = getComputedStyle(parent);\n if (/(auto|scroll|overlay)/.test(overflowY) && parent.scrollHeight > parent.clientHeight + 1) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return document.scrollingElement || document.documentElement;\n};\n\nconst scrollToElement = (element, { offsetTop = 0, getScrollContainer } = {}) => {\n const scrollContainer = resolveScrollContainer(element, getScrollContainer);\n const targetRect = element.getBoundingClientRect();\n\n if (scrollContainer === document.scrollingElement || scrollContainer === document.documentElement || scrollContainer === document.body) {\n const scrollTop = window.pageYOffset + targetRect.top - offsetTop;\n window.scrollTo({ top: Math.max(0, scrollTop), behavior: 'auto' });\n return;\n }\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const nextScrollTop = scrollContainer.scrollTop + targetRect.top - containerRect.top - offsetTop;\n scrollContainer.scrollTo({ top: Math.max(0, nextScrollTop), behavior: 'auto' });\n};\n\nexport const scrollAnchorIntoView = (root, { getScrollContainer, preferToolbar = false } = {}) => {\n const target = getScrollAnchorElement(root, { preferToolbar });\n if (!target) {\n return;\n }\n\n const offsetTop = readScrollTopInsetPixels(target);\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (isTopEdgeInViewport(target, offsetTop, getScrollContainer)) {\n return;\n }\n scrollToElement(target, { offsetTop, getScrollContainer });\n });\n });\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, getScrollContainer) => {\n if (!element) {\n return true;\n }\n const rect = element.getBoundingClientRect();\n const explicitContainer = typeof getScrollContainer === 'function' ? getScrollContainer() : null;\n if (!isDocumentScrollContainer(explicitContainer)) {\n const containerRect = explicitContainer.getBoundingClientRect();\n const viewportTop = containerRect.top + scrollMarginTop;\n return rect.top >= viewportTop && rect.top < containerRect.bottom;\n }\n const { isTopInViewport, 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, getScrollContainer) => {\n if (!scrollEl || scrollEl.scrollWidth <= scrollEl.clientWidth + 1) {\n return false;\n }\n const explicitContainer = typeof getScrollContainer === 'function' ? getScrollContainer() : null;\n if (!isDocumentScrollContainer(explicitContainer)) {\n const rect = scrollEl.getBoundingClientRect();\n const containerRect = explicitContainer.getBoundingClientRect();\n return rect.top < containerRect.bottom && rect.bottom > containerRect.bottom;\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 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';\nimport { normalizeScrollTopInsetCSSValue, parseInsetPixels, resolveScrollTopInset } from '../TablePage/scrollUtils';\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 scrollTopInset,\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 const isStickyViewport = !!sticky && !hasScrollY;\n const resolvedScrollTopInset = resolveScrollTopInset(scrollTopInset, stickyOffset);\n\n const stickyGetContainer = useMemo(() => {\n if (!getStickyContainer || hasScrollY) {\n return undefined;\n }\n return () => getStickyContainer() || window;\n }, [getStickyContainer, hasScrollY]);\n\n const parsedScrollTopInset = useMemo(() => {\n if (!sticky || hasScrollY) {\n return 0;\n }\n return parseInsetPixels(resolvedScrollTopInset, tableRef.current);\n }, [sticky, hasScrollY, resolvedScrollTopInset, isLayout, dataSource]);\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: parsedScrollTopInset }, config, stickyGetContainer ? { getContainer: stickyGetContainer } : null);\n }, [sticky, stickyGetContainer, hasScrollY, parsedScrollTopInset]);\n\n const tableWrapperStyle = useMemo(() => {\n const cssValue = normalizeScrollTopInsetCSSValue(resolvedScrollTopInset);\n if (!cssValue) {\n return undefined;\n }\n return { '--scroll-top-inset': cssValue };\n }, [resolvedScrollTopInset]);\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(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']]: isStickyViewport\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","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, isDocumentScrollContainer, observeViewportIntersection, shouldShowFloatingScrollbar } from './scrollUtils';\n\nconst BAR_HEIGHT = 15;\nconst THUMB_MARGIN = 2;\n\nconst computeBarMetrics = (scrollEl, viewportState, getPortalContainer) => {\n const rect = scrollEl.getBoundingClientRect();\n const portalContainer = typeof getPortalContainer === 'function' ? getPortalContainer() : null;\n const useEmbeddedPlacement = !isDocumentScrollContainer(portalContainer);\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 const visible = shouldShowFloatingScrollbar(scrollEl, viewportState, getPortalContainer);\n\n if (useEmbeddedPlacement) {\n const containerRect = portalContainer.getBoundingClientRect();\n return {\n placement: 'embedded',\n offsetLeft: Math.round(rect.left - containerRect.left),\n width: Math.round(trackWidth),\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible\n };\n }\n\n const viewport = getViewportRect();\n return {\n placement: 'fixed',\n left: Math.round(rect.left),\n width: Math.round(trackWidth),\n bottom: window.innerHeight - viewport.bottom,\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible\n };\n};\n\nconst metricsEqual = (prev, next) => {\n if (!prev || !next) {\n return prev === next;\n }\n return (\n prev.placement === next.placement &&\n prev.visible === next.visible &&\n prev.width === next.width &&\n prev.thumbWidth === next.thumbWidth &&\n prev.thumbLeft === next.thumbLeft &&\n (prev.placement === 'embedded' ? prev.offsetLeft === next.offsetLeft : prev.left === next.left && prev.bottom === next.bottom)\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 portalContainer = typeof getPortalContainer === 'function' ? getPortalContainer() : null;\n const useEmbeddedPlacement = metrics.placement === 'embedded';\n const portalTarget = useEmbeddedPlacement && portalContainer ? portalContainer : document.body;\n\n return createPortal(\n <div\n className={classnames(style['floating-scrollbar'], 'table-page-floating-scrollbar', {\n [style['floating-scrollbar-embedded']]: useEmbeddedPlacement\n })}\n style={\n useEmbeddedPlacement\n ? {\n marginLeft: metrics.offsetLeft,\n width: metrics.width,\n height: BAR_HEIGHT\n }\n : {\n left: metrics.left,\n width: metrics.width,\n height: BAR_HEIGHT,\n bottom: metrics.bottom\n }\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 const metricsRef = 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 metricsRef.current = null;\n setMetrics(null);\n return;\n }\n const nextMetrics = computeBarMetrics(scrollEl, viewportStateRef.current, getPortalContainer);\n if (metricsEqual(metricsRef.current, nextMetrics)) {\n return;\n }\n metricsRef.current = nextMetrics;\n setMetrics(nextMetrics);\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 metricsRef.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 const portalContainer = typeof getPortalContainer === 'function' ? getPortalContainer() : null;\n const useEmbeddedPlacement = !isDocumentScrollContainer(portalContainer);\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 if (!useEmbeddedPlacement) {\n unobserveViewport = observeViewportIntersection(scrollEl, state => {\n viewportStateRef.current = state;\n updateMetrics();\n });\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 const onWindowChange = () => {\n if (!useEmbeddedPlacement) {\n updateMetrics();\n }\n };\n\n if (!useEmbeddedPlacement) {\n window.addEventListener('scroll', onWindowChange, true);\n window.addEventListener('resize', onWindowChange);\n window.visualViewport?.addEventListener('resize', onWindowChange);\n window.visualViewport?.addEventListener('scroll', onWindowChange);\n }\n\n if (useEmbeddedPlacement && portalContainer) {\n portalContainer.addEventListener('scroll', updateMetrics, { passive: true });\n window.addEventListener('resize', updateMetrics);\n }\n\n return () => {\n detachScrollEl();\n containerResizeObserver.disconnect();\n if (!useEmbeddedPlacement) {\n window.removeEventListener('scroll', onWindowChange, true);\n window.removeEventListener('resize', onWindowChange);\n window.visualViewport?.removeEventListener('resize', onWindowChange);\n window.visualViewport?.removeEventListener('scroll', onWindowChange);\n }\n if (useEmbeddedPlacement && portalContainer) {\n portalContainer.removeEventListener('scroll', updateMetrics);\n window.removeEventListener('resize', updateMetrics);\n }\n };\n }, [enabled, updateMetrics, getPortalContainer]);\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={classnames(style['table-toolbar'], 'table-page-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 { scrollAnchorIntoView, normalizeScrollTopInsetCSSValue, resolveScrollTopInset } 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 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 scrollTopInset,\n stickyOffset,\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 hasToolbar = !!(filter?.list?.length || (search && search.name) || (batchActions && batchActions.length));\n const resolvedScrollTopInset = resolveScrollTopInset(scrollTopInset, stickyOffset);\n const scrollTopInsetStyle = useMemo(() => {\n const cssValue = normalizeScrollTopInsetCSSValue(resolvedScrollTopInset);\n if (!cssValue) {\n return undefined;\n }\n return { '--scroll-top-inset': cssValue };\n }, [resolvedScrollTopInset]);\n\n const scrollTable = useRefCallback(() => {\n scrollAnchorIntoView(tableContentRef.current, {\n getScrollContainer,\n preferToolbar: hasToolbar\n });\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 || 50,\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 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 scrollTopInset: resolvedScrollTopInset,\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']} style={scrollTopInsetStyle}>\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: 50\n },\n pagination\n );\n const pageSizeKey = `${(props.name || 'common').toUpperCase()}_TABLE_PAGE_SIZE`;\n const cachePageSize = pagination.cachePageSize !== false;\n const [pageSize, setPageSize] = useState(() => (cachePageSize ? readPageSize(pageSizeKey) : null) ?? 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 if (cachePageSize) {\n writePageSize(pageSizeKey, nextSize);\n }\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","_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","label","renderTagItem","tag","color","Tag","renderTagList","Array","isArray","Space","size","wrap","tagList","DEFAULT_STATUS_TYPE_MAP","active","vacation","resigned","probation","shipped","paid","cancelled","getStatusType","customTypes","normalizeStatusItem","renderStatusItem","statusItem","status","Badge","DEFAULT_SPLIT","normalizeListValue","items","list","getListItemText","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","widthPx","getGridTemplateColumns","rowSelection","tracks","lastColumnIndex","push","getColumnLayout","widthBased","fillRemaining","align","justify","normalizeOptionItem","buttonClassName","options","buttonGroupProps","buttonGroup","valueList","wrapperClassName","normalizedList","hidden","ButtonGroup","moreType","itemClassName","enumRender","description","enum","SIZE_NAMES","typeSize","min","SIZE_CONFIG","short","small","large","getRenderTypeRegistry","_ref","renderers","_objectWithoutPropertiesLoose","_excluded","getRenderTypeNames","keys","RENDER_TYPE_NAMES","getRender","_getRenderTypeRegistr","getColumnRender","render","_parseRenderType","parseRenderType","getTypeConfigMap","extraTypeSize","pickDimension","columnValue","typeValue","sizeValue","renderTypeValue","renderTypeNames","part","includes","getRenderTypeDimensions","_parseRenderType2","typeConfigMap","typeConfig","sizeConfig","renderTypeDimensions","resolveRenderType","_sizeConfig$width","_sizeConfig$min","_sizeConfig$max","ELLIPSIS_HANDLED_TYPES","FULL_WIDTH_CELL_TYPES","resolveColumn","_resolveColumnDimensi","_ref2","renderFn","_extends","ellipsisHandledByRender","cellFullWidth","resolveColumns","isOptionsColumn","computeColumnsValue","emptyIsPlaceholder","valueIsEmpty","removeEmpty","itemValue","getValueOf","displayValue","formatValue","itemIsEmpty","display","computeDisplay","placeholder","renderPlaceholder","computeColumnsDisplay","useSelectedRow","_Object$assign","rowKey","_Object$assign$type","_useState","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","_sort","columnMap","aVal","bVal","getSortSingle","sortOption","single","renderColumnTitle","sortRender","titleContent","_jsxs","useSort","props","_useControlValue","defaultSort","onSortChange","setSort","mapSort","setMapSort","callback","currentSort","newSort","from","_ref3","sortValue","_ref4","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","_finallyRethrows","body","finalizer","then","bind","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","_temp","_onConfirm","reject","ref","Collapse","defaultActiveKey","ghost","bordered","gutter","_temp3","_temp2","_onConfirm2","_wasThrown","_result","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","_ref2$controllerOpen","_ref2$tableWidth","tableWidth","_ref2$tableServerApis","tableServerApis","_useState2","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","useRef","currentMoveColumnRef","startPointRef","_useState3","setConfigBase","saveConfig","useDebouncedCallback","tableName","prevConfig","useEffect","computedIndex","hasFixedColumn","lastNotFixedColumnIndex","findLastIndex","totalWidth","sum","_getColumnSize","computedRealWidth","getConfigWidth","_getColumnSize2","currentWidth","resizeBarRender","onMouseDown","_getConfigWidth","clientX","resize","useRefCallback","delta","_currentMoveColumnRef","colName","_ref4$withResize","withResize","_ref4$withConfig","withConfig","titleNode","getHeaderCellClassName","computedColumnProps","_ref5","_getConfigWidth2","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","parsePixelValue","isDocumentScrollContainer","scrollingElement","normalizeScrollTopInsetCSSValue","resolveScrollTopInset","scrollTopInset","stickyOffset","parseInsetPixels","inset","element","endsWith","variableMatch","readCssVariableLength","readScrollTopInsetPixels","fromVar","getViewportRect","visualViewport","window","top","offsetTop","bottom","height","left","offsetLeft","right","innerHeight","innerWidth","getTableElement","root","querySelector","getScrollAnchorElement","preferToolbar","variableName","fallback","host","probe","createElement","cssText","marginTop","appendChild","getComputedStyle","removeChild","resolveScrollContainer","getScrollContainer","explicitContainer","parent","parentElement","overflowY","scrollHeight","clientHeight","scrollToElement","scrollContainer","targetRect","getBoundingClientRect","scrollTop","pageYOffset","scrollTo","behavior","containerRect","nextScrollTop","scrollAnchorIntoView","requestAnimationFrame","isTopEdgeInViewport","getTableScrollElement","getElementViewportState","isBottomInViewport","isPartiallyInViewport","isTopInViewport","rect","viewport","scrollMarginTop","viewportTop","shouldShowFloatingScrollbar","viewportState","scrollWidth","state","observeViewportIntersection","notify","entry","observer","IntersectionObserver","threshold","handleViewportChange","mapJustifyToAlign","resolveRowKey","toAntdWidth","parsed","toAntdFixed","getColCellStyle","textAlign","verticalAlign","getAntCellClassName","call","arguments","wrapColContent","node","viewStyle","Table","p","tableRef","isLayout","setIsLayout","empty","Empty","columnsProp","onRowSelect","sticky","getStickyContainer","headerStyle","_props$pagination","pagination","summary","others","setTimeout","_useTableConfig","resizeGuideStyle","setResizeGuideStyle","updateResizeGuide","_barRect$right","headerCell","tableContainer","headerRect","resizeBar","barRect","position","round","zIndex","useLayoutEffect","handleUpdate","targetColumns","__index","_useGroupHeader","groupedColumns","antdColumns","buildLeafColumn","baseColumn","dataIndex","_","_computeColumnsValue","computedColumn","configProps","antdFixed","mapColumn","antdRowSelection","getRowKey","isSelectedAll","onIsSelectAllChange","currentKey","getCheckboxProps","columnTitle","checkboxNode","visibility","renderCell","originNode","columnWidth","tableScroll","x","hasScrollY","y","isStickyViewport","resolvedScrollTopInset","stickyGetContainer","parsedScrollTopInset","antdSticky","scrollSticky","_excluded2","offsetHeader","getContainer","tableWrapperStyle","cssValue","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","_getColumnLayout","CheckOutlined","renderGrid","BAR_HEIGHT","THUMB_MARGIN","computeBarMetrics","getPortalContainer","portalContainer","useEmbeddedPlacement","trackWidth","thumbWidth","maxThumbOffset","scrollRatio","scrollLeft","thumbLeft","metricsEqual","prev","next","FloatingScrollBar","metrics","onThumbDrag","startRef","moving","setMoving","movingRef","onThumbDragRef","moveHandler","upHandler","portalTarget","createPortal","marginLeft","HorizontalScroller","forwardRef","enabled","forwardedRef","setMetrics","containerRef","scrollElRef","viewportStateRef","metricsRef","setContainerRef","updateMetrics","nextMetrics","handleThumbDrag","deltaX","scrollableWidth","thumbTravel","unobserveViewport","contentResizeObserver","detachScrollEl","attachScrollEl","nextScrollEl","passive","child","onLayoutChange","containerResizeObserver","onWindowChange","TableToolbar","filterValue","onFilterChange","search","batchActions","batchContext","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","TABLE_COMPONENTS","collectFilterFieldNames","names","add","_item$props","omitFilterParams","params","filterFieldNames","TablePageInnerContent","_filter$list","refresh","reload","requestParams","fetchProps","isComplete","loadMore","send","_ref$dataFormat","dataFormat","total","totalCount","getColumns","_ref$pagination","_ref$columnRenderProp","columnRenderProps","_ref$renderType","_ref$horizontalScroll","horizontalScroller","_useIntl","tableContentRef","pendingScrollRef","handlerDataFormat","isFilterControlled","internalFilterValue","setInternalFilterValue","mapFilterValue","getFilterValue","getFilterParams","buildRequestParamsWithFilter","paramsType","formatData","resolvedColumns","fetchContext","hasToolbar","scrollTopInsetStyle","scrollTable","handleFilterChange","currentName","handlePaginationChange","page","requestType","pageSizeName","onShowSizeChange","paginationConfig","showTotal","pageSize","hideOnSinglePage","showSizeChanger","showQuickJumper","pageSizeOptions","tableContext","tableProps","TableComponent","Pagination","TablePageInner","withFetch","TablePage","_ref2$horizontalScrol","pageSizeKey","toUpperCase","cachePageSize","setPageSize","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,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C,CAAC,CAAC,IAAI,CAAC,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,CAA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"}
1
+ {"version":3,"file":"index.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/columnConfigUtils.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/TablePage/scrollUtils.js","../src/Table/index.js","../src/Label.js","../src/TableView/Header.js","../src/TableView/index.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","import get from 'lodash/get';\n\nexport const getColumnConfig = (config, columnName, field, defaultValue) => {\n const columnConfig = config?.[columnName];\n if (columnConfig != null && columnConfig[field] !== undefined) {\n return columnConfig[field];\n }\n const legacyValue = get(config, `${columnName}.${field}`);\n return legacyValue === undefined ? defaultValue : legacyValue;\n};\n\nexport const setColumnConfig = (config, columnName, updates) => {\n return Object.assign({}, config, {\n [columnName]: Object.assign({}, config?.[columnName], updates)\n });\n};\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 cloneDeep from 'lodash/cloneDeep';\nimport { getColumnConfig, setColumnConfig } from './columnConfigUtils';\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 (getColumnConfig(config, item.name, 'visible') !== true && item.hidden) || getColumnConfig(config, item.name, 'visible') === false ? 'hiddenColumns' : 'visibleColumns';\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => getColumnConfig(config, a.name, 'rank', 0) - getColumnConfig(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 Object.assign(newConfig, setColumnConfig(newConfig, col.name, { visible: false }));\n });\n columnsList.forEach((col, index) => {\n Object.assign(newConfig, setColumnConfig(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 transform from 'lodash/transform';\nimport { getColumnConfig } from './columnConfigUtils';\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 => !(getColumnConfig(config, col.name, 'visible') === false || (getColumnConfig(config, col.name, 'visible') !== true && col.hidden === true)))\n .sort((a, b) => {\n const computedIndex = item => getColumnConfig(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 = getColumnConfig(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(getColumnConfig(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","export const parsePixelValue = value => {\n const num = parseFloat(value);\n return Number.isNaN(num) ? 0 : num;\n};\n\nexport const isDocumentScrollContainer = container => {\n return !container || container === document.body || container === document.documentElement || container === document.scrollingElement;\n};\n\nexport const normalizeScrollTopInsetCSSValue = value => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === 'number') {\n return `${value}px`;\n }\n return String(value);\n};\n\nexport const resolveScrollTopInset = (scrollTopInset, stickyOffset) => scrollTopInset ?? stickyOffset;\n\nexport const parseInsetPixels = (inset, element) => {\n if (inset == null) {\n return 0;\n }\n if (typeof inset === 'number') {\n return inset;\n }\n if (typeof inset === 'string') {\n const trimmed = inset.trim();\n if (trimmed.endsWith('px')) {\n return parsePixelValue(trimmed);\n }\n const variableMatch = trimmed.match(/var\\(\\s*(--[^,\\s)]+)/);\n if (variableMatch) {\n return readCssVariableLength(element, variableMatch[1], '0px');\n }\n }\n return 0;\n};\n\n/** @deprecated use parseInsetPixels */\nexport const parseStickyOffset = parseInsetPixels;\n\nexport const readScrollTopInsetPixels = element => {\n const fromVar = readCssVariableLength(element, '--scroll-top-inset', '0px') || readCssVariableLength(element, '--sticky-offset', '0px') || readCssVariableLength(element, '--nav-height', '0px');\n return fromVar;\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 getScrollAnchorElement = (root, { preferToolbar = false } = {}) => {\n if (!root) {\n return null;\n }\n if (preferToolbar) {\n return root.querySelector('.table-page-toolbar-section') || root.querySelector('.table-with-toolbar') || getTableElement(root);\n }\n return getTableElement(root);\n};\n\nexport const readCssVariableLength = (element, variableName, fallback = '0px') => {\n if (typeof document === 'undefined') {\n return 0;\n }\n const host = element || document.documentElement;\n const probe = document.createElement('div');\n probe.style.cssText = 'position:absolute;visibility:hidden;pointer-events:none;height:0;width:0;overflow:hidden;';\n probe.style.marginTop = `var(${variableName}, ${fallback})`;\n host.appendChild(probe);\n const value = parsePixelValue(getComputedStyle(probe).marginTop);\n host.removeChild(probe);\n return value;\n};\n\nconst resolveScrollContainer = (element, getScrollContainer) => {\n const explicitContainer = typeof getScrollContainer === 'function' ? getScrollContainer() : null;\n if (explicitContainer) {\n return explicitContainer;\n }\n let parent = element?.parentElement;\n while (parent) {\n const { overflowY } = getComputedStyle(parent);\n if (/(auto|scroll|overlay)/.test(overflowY) && parent.scrollHeight > parent.clientHeight + 1) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return document.scrollingElement || document.documentElement;\n};\n\nconst scrollToElement = (element, { offsetTop = 0, getScrollContainer } = {}) => {\n const scrollContainer = resolveScrollContainer(element, getScrollContainer);\n const targetRect = element.getBoundingClientRect();\n\n if (scrollContainer === document.scrollingElement || scrollContainer === document.documentElement || scrollContainer === document.body) {\n const scrollTop = window.pageYOffset + targetRect.top - offsetTop;\n window.scrollTo({ top: Math.max(0, scrollTop), behavior: 'auto' });\n return;\n }\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const nextScrollTop = scrollContainer.scrollTop + targetRect.top - containerRect.top - offsetTop;\n scrollContainer.scrollTo({ top: Math.max(0, nextScrollTop), behavior: 'auto' });\n};\n\nexport const scrollAnchorIntoView = (root, { getScrollContainer, preferToolbar = false } = {}) => {\n const target = getScrollAnchorElement(root, { preferToolbar });\n if (!target) {\n return;\n }\n\n const offsetTop = readScrollTopInsetPixels(target);\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (isTopEdgeInViewport(target, offsetTop, getScrollContainer)) {\n return;\n }\n scrollToElement(target, { offsetTop, getScrollContainer });\n });\n });\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, getScrollContainer) => {\n if (!element) {\n return true;\n }\n const rect = element.getBoundingClientRect();\n const explicitContainer = typeof getScrollContainer === 'function' ? getScrollContainer() : null;\n if (!isDocumentScrollContainer(explicitContainer)) {\n const containerRect = explicitContainer.getBoundingClientRect();\n const viewportTop = containerRect.top + scrollMarginTop;\n return rect.top >= viewportTop && rect.top < containerRect.bottom;\n }\n const { isTopInViewport, 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, getScrollContainer) => {\n if (!scrollEl || scrollEl.scrollWidth <= scrollEl.clientWidth + 1) {\n return false;\n }\n const explicitContainer = typeof getScrollContainer === 'function' ? getScrollContainer() : null;\n if (!isDocumentScrollContainer(explicitContainer)) {\n const rect = scrollEl.getBoundingClientRect();\n const containerRect = explicitContainer.getBoundingClientRect();\n return rect.top < containerRect.bottom && rect.bottom > containerRect.bottom;\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 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';\nimport { normalizeScrollTopInsetCSSValue, parseInsetPixels, resolveScrollTopInset } from '../TablePage/scrollUtils';\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 scrollTopInset,\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 const isStickyViewport = !!sticky && !hasScrollY;\n const resolvedScrollTopInset = resolveScrollTopInset(scrollTopInset, stickyOffset);\n\n const stickyGetContainer = useMemo(() => {\n if (!getStickyContainer || hasScrollY) {\n return undefined;\n }\n return () => getStickyContainer() || window;\n }, [getStickyContainer, hasScrollY]);\n\n const parsedScrollTopInset = useMemo(() => {\n if (!sticky || hasScrollY) {\n return 0;\n }\n return parseInsetPixels(resolvedScrollTopInset, tableRef.current);\n }, [sticky, hasScrollY, resolvedScrollTopInset, isLayout, dataSource]);\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: parsedScrollTopInset }, config, stickyGetContainer ? { getContainer: stickyGetContainer } : null);\n }, [sticky, stickyGetContainer, hasScrollY, parsedScrollTopInset]);\n\n const tableWrapperStyle = useMemo(() => {\n const cssValue = normalizeScrollTopInsetCSSValue(resolvedScrollTopInset);\n if (!cssValue) {\n return undefined;\n }\n return { '--scroll-top-inset': cssValue };\n }, [resolvedScrollTopInset]);\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(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']]: isStickyViewport\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","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, isDocumentScrollContainer, observeViewportIntersection, shouldShowFloatingScrollbar } from './scrollUtils';\n\nconst BAR_HEIGHT = 15;\nconst THUMB_MARGIN = 2;\n\nconst computeBarMetrics = (scrollEl, viewportState, getPortalContainer) => {\n const rect = scrollEl.getBoundingClientRect();\n const portalContainer = typeof getPortalContainer === 'function' ? getPortalContainer() : null;\n const useEmbeddedPlacement = !isDocumentScrollContainer(portalContainer);\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 const visible = shouldShowFloatingScrollbar(scrollEl, viewportState, getPortalContainer);\n\n if (useEmbeddedPlacement) {\n const containerRect = portalContainer.getBoundingClientRect();\n return {\n placement: 'embedded',\n offsetLeft: Math.round(rect.left - containerRect.left),\n width: Math.round(trackWidth),\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible\n };\n }\n\n const viewport = getViewportRect();\n return {\n placement: 'fixed',\n left: Math.round(rect.left),\n width: Math.round(trackWidth),\n bottom: window.innerHeight - viewport.bottom,\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible\n };\n};\n\nconst metricsEqual = (prev, next) => {\n if (!prev || !next) {\n return prev === next;\n }\n return (\n prev.placement === next.placement &&\n prev.visible === next.visible &&\n prev.width === next.width &&\n prev.thumbWidth === next.thumbWidth &&\n prev.thumbLeft === next.thumbLeft &&\n (prev.placement === 'embedded' ? prev.offsetLeft === next.offsetLeft : prev.left === next.left && prev.bottom === next.bottom)\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 portalContainer = typeof getPortalContainer === 'function' ? getPortalContainer() : null;\n const useEmbeddedPlacement = metrics.placement === 'embedded';\n const portalTarget = useEmbeddedPlacement && portalContainer ? portalContainer : document.body;\n\n return createPortal(\n <div\n className={classnames(style['floating-scrollbar'], 'table-page-floating-scrollbar', {\n [style['floating-scrollbar-embedded']]: useEmbeddedPlacement\n })}\n style={\n useEmbeddedPlacement\n ? {\n marginLeft: metrics.offsetLeft,\n width: metrics.width,\n height: BAR_HEIGHT\n }\n : {\n left: metrics.left,\n width: metrics.width,\n height: BAR_HEIGHT,\n bottom: metrics.bottom\n }\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 const metricsRef = 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 metricsRef.current = null;\n setMetrics(null);\n return;\n }\n const nextMetrics = computeBarMetrics(scrollEl, viewportStateRef.current, getPortalContainer);\n if (metricsEqual(metricsRef.current, nextMetrics)) {\n return;\n }\n metricsRef.current = nextMetrics;\n setMetrics(nextMetrics);\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 metricsRef.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 const portalContainer = typeof getPortalContainer === 'function' ? getPortalContainer() : null;\n const useEmbeddedPlacement = !isDocumentScrollContainer(portalContainer);\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 if (!useEmbeddedPlacement) {\n unobserveViewport = observeViewportIntersection(scrollEl, state => {\n viewportStateRef.current = state;\n updateMetrics();\n });\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 const onWindowChange = () => {\n if (!useEmbeddedPlacement) {\n updateMetrics();\n }\n };\n\n if (!useEmbeddedPlacement) {\n window.addEventListener('scroll', onWindowChange, true);\n window.addEventListener('resize', onWindowChange);\n window.visualViewport?.addEventListener('resize', onWindowChange);\n window.visualViewport?.addEventListener('scroll', onWindowChange);\n }\n\n if (useEmbeddedPlacement && portalContainer) {\n portalContainer.addEventListener('scroll', updateMetrics, { passive: true });\n window.addEventListener('resize', updateMetrics);\n }\n\n return () => {\n detachScrollEl();\n containerResizeObserver.disconnect();\n if (!useEmbeddedPlacement) {\n window.removeEventListener('scroll', onWindowChange, true);\n window.removeEventListener('resize', onWindowChange);\n window.visualViewport?.removeEventListener('resize', onWindowChange);\n window.visualViewport?.removeEventListener('scroll', onWindowChange);\n }\n if (useEmbeddedPlacement && portalContainer) {\n portalContainer.removeEventListener('scroll', updateMetrics);\n window.removeEventListener('resize', updateMetrics);\n }\n };\n }, [enabled, updateMetrics, getPortalContainer]);\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={classnames(style['table-toolbar'], 'table-page-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 { scrollAnchorIntoView, normalizeScrollTopInsetCSSValue, resolveScrollTopInset } 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 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 scrollTopInset,\n stickyOffset,\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 hasToolbar = !!(filter?.list?.length || (search && search.name) || (batchActions && batchActions.length));\n const resolvedScrollTopInset = resolveScrollTopInset(scrollTopInset, stickyOffset);\n const scrollTopInsetStyle = useMemo(() => {\n const cssValue = normalizeScrollTopInsetCSSValue(resolvedScrollTopInset);\n if (!cssValue) {\n return undefined;\n }\n return { '--scroll-top-inset': cssValue };\n }, [resolvedScrollTopInset]);\n\n const scrollTable = useRefCallback(() => {\n scrollAnchorIntoView(tableContentRef.current, {\n getScrollContainer,\n preferToolbar: hasToolbar\n });\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 || 50,\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 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 scrollTopInset: resolvedScrollTopInset,\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']} style={scrollTopInsetStyle}>\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: 50\n },\n pagination\n );\n const pageSizeKey = `${(props.name || 'common').toUpperCase()}_TABLE_PAGE_SIZE`;\n const cachePageSize = pagination.cachePageSize !== false;\n const [pageSize, setPageSize] = useState(() => (cachePageSize ? readPageSize(pageSizeKey) : null) ?? 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 if (cachePageSize) {\n writePageSize(pageSizeKey, nextSize);\n }\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","_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","label","renderTagItem","tag","color","Tag","renderTagList","Array","isArray","Space","size","wrap","tagList","DEFAULT_STATUS_TYPE_MAP","active","vacation","resigned","probation","shipped","paid","cancelled","getStatusType","customTypes","normalizeStatusItem","renderStatusItem","statusItem","status","Badge","DEFAULT_SPLIT","normalizeListValue","items","list","getListItemText","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","widthPx","getGridTemplateColumns","rowSelection","tracks","lastColumnIndex","push","getColumnLayout","widthBased","fillRemaining","align","justify","normalizeOptionItem","buttonClassName","options","buttonGroupProps","buttonGroup","valueList","wrapperClassName","normalizedList","hidden","ButtonGroup","moreType","itemClassName","enumRender","description","enum","SIZE_NAMES","typeSize","min","SIZE_CONFIG","short","small","large","getRenderTypeRegistry","_ref","renderers","_objectWithoutPropertiesLoose","_excluded","getRenderTypeNames","keys","RENDER_TYPE_NAMES","getRender","_getRenderTypeRegistr","getColumnRender","render","_parseRenderType","parseRenderType","getTypeConfigMap","extraTypeSize","pickDimension","columnValue","typeValue","sizeValue","renderTypeValue","renderTypeNames","part","includes","getRenderTypeDimensions","_parseRenderType2","typeConfigMap","typeConfig","sizeConfig","renderTypeDimensions","resolveRenderType","_sizeConfig$width","_sizeConfig$min","_sizeConfig$max","ELLIPSIS_HANDLED_TYPES","FULL_WIDTH_CELL_TYPES","resolveColumn","_resolveColumnDimensi","_ref2","renderFn","_extends","ellipsisHandledByRender","cellFullWidth","resolveColumns","isOptionsColumn","computeColumnsValue","emptyIsPlaceholder","valueIsEmpty","removeEmpty","itemValue","getValueOf","displayValue","formatValue","itemIsEmpty","display","computeDisplay","placeholder","renderPlaceholder","computeColumnsDisplay","useSelectedRow","_Object$assign","rowKey","_Object$assign$type","_useState","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","_sort","columnMap","aVal","bVal","getSortSingle","sortOption","single","renderColumnTitle","sortRender","titleContent","_jsxs","useSort","props","_useControlValue","defaultSort","onSortChange","setSort","mapSort","setMapSort","callback","currentSort","newSort","from","_ref3","sortValue","_ref4","stopPropagation","sortMap","current","targetValue","clone","set","delete","CaretUpOutlined","CaretDownOutlined","getColumnConfig","config","columnName","field","columnConfig","legacyValue","setColumnConfig","updates","locale","TotalText","ItemText","UnnamedColumn","EditTable","RestoreDefault","VisibleInfo","HiddenInfo","Search","BatchOperations","BatchOperationsWithCount","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","filterZhCN","zhCN","filterEnUS","enUS","namespace","_finallyRethrows","body","finalizer","then","bind","ColumnsControlContent","close","onConfirm","formatMessage","useIntl","searchText","setSearchText","confirmLoading","setConfirmLoading","scrollEl","setScrollEl","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","fixed","sortableVisibleColumns","handlerColumnsChange","columnsState","newConfig","cloneDeep","columnsList","concat","col","visible","rank","renderColumn","_Fragment","titleText","groupHeader","collapseItems","Checkbox","disabled","ReactSortable","dragClass","ghostClass","chosenClass","forceFallback","fallbackOnBody","scroll","bubbleScroll","setList","nextVisibleColumns","animation","delayOnTouchStart","delay","HolderOutlined","preventDefault","Row","Col","Input","onSearch","allowClear","List","renderItem","Item","Button","icon","RedoOutlined","_temp","_onConfirm","reject","ref","Collapse","defaultActiveKey","ghost","bordered","gutter","_temp3","_temp2","_onConfirm2","_wasThrown","_result","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","_ref2$controllerOpen","_ref2$tableWidth","tableWidth","_ref2$tableServerApis","tableServerApis","_useState2","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","useRef","currentMoveColumnRef","startPointRef","_useState3","setConfigBase","saveConfig","useDebouncedCallback","tableName","prevConfig","useEffect","computedIndex","hasFixedColumn","lastNotFixedColumnIndex","findLastIndex","totalWidth","sum","_getColumnSize","computedRealWidth","getConfigWidth","_getColumnSize2","currentWidth","resizeBarRender","onMouseDown","_getConfigWidth","clientX","resize","useRefCallback","delta","_currentMoveColumnRef","colName","_ref4$withResize","withResize","_ref4$withConfig","withConfig","titleNode","getHeaderCellClassName","computedColumnProps","_ref5","_getConfigWidth2","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","parsePixelValue","isDocumentScrollContainer","scrollingElement","normalizeScrollTopInsetCSSValue","resolveScrollTopInset","scrollTopInset","stickyOffset","parseInsetPixels","inset","element","endsWith","variableMatch","readCssVariableLength","readScrollTopInsetPixels","fromVar","getViewportRect","visualViewport","window","top","offsetTop","bottom","height","left","offsetLeft","right","innerHeight","innerWidth","getTableElement","root","querySelector","getScrollAnchorElement","preferToolbar","variableName","fallback","host","probe","createElement","cssText","marginTop","appendChild","getComputedStyle","removeChild","resolveScrollContainer","getScrollContainer","explicitContainer","parent","parentElement","overflowY","scrollHeight","clientHeight","scrollToElement","scrollContainer","targetRect","getBoundingClientRect","scrollTop","pageYOffset","scrollTo","behavior","containerRect","nextScrollTop","scrollAnchorIntoView","requestAnimationFrame","isTopEdgeInViewport","getTableScrollElement","getElementViewportState","isBottomInViewport","isPartiallyInViewport","isTopInViewport","rect","viewport","scrollMarginTop","viewportTop","shouldShowFloatingScrollbar","viewportState","scrollWidth","state","observeViewportIntersection","notify","entry","observer","IntersectionObserver","threshold","handleViewportChange","mapJustifyToAlign","resolveRowKey","toAntdWidth","parsed","toAntdFixed","getColCellStyle","textAlign","verticalAlign","getAntCellClassName","call","arguments","wrapColContent","node","viewStyle","Table","p","tableRef","isLayout","setIsLayout","empty","Empty","columnsProp","onRowSelect","sticky","getStickyContainer","headerStyle","_props$pagination","pagination","summary","others","setTimeout","_useTableConfig","resizeGuideStyle","setResizeGuideStyle","updateResizeGuide","_barRect$right","headerCell","tableContainer","headerRect","resizeBar","barRect","position","round","zIndex","useLayoutEffect","handleUpdate","targetColumns","__index","_useGroupHeader","groupedColumns","antdColumns","buildLeafColumn","baseColumn","dataIndex","_","_computeColumnsValue","computedColumn","configProps","antdFixed","mapColumn","antdRowSelection","getRowKey","isSelectedAll","onIsSelectAllChange","currentKey","getCheckboxProps","columnTitle","checkboxNode","visibility","renderCell","originNode","columnWidth","tableScroll","x","hasScrollY","y","isStickyViewport","resolvedScrollTopInset","stickyGetContainer","parsedScrollTopInset","antdSticky","scrollSticky","_excluded2","offsetHeader","getContainer","tableWrapperStyle","cssValue","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","_getColumnLayout","CheckOutlined","renderGrid","BAR_HEIGHT","THUMB_MARGIN","computeBarMetrics","getPortalContainer","portalContainer","useEmbeddedPlacement","trackWidth","thumbWidth","maxThumbOffset","scrollRatio","scrollLeft","thumbLeft","metricsEqual","prev","next","FloatingScrollBar","metrics","onThumbDrag","startRef","moving","setMoving","movingRef","onThumbDragRef","moveHandler","upHandler","portalTarget","createPortal","marginLeft","HorizontalScroller","forwardRef","enabled","forwardedRef","setMetrics","containerRef","scrollElRef","viewportStateRef","metricsRef","setContainerRef","updateMetrics","nextMetrics","handleThumbDrag","deltaX","scrollableWidth","thumbTravel","unobserveViewport","contentResizeObserver","detachScrollEl","attachScrollEl","nextScrollEl","passive","child","onLayoutChange","containerResizeObserver","onWindowChange","TableToolbar","filterValue","onFilterChange","search","batchActions","batchContext","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","TABLE_COMPONENTS","collectFilterFieldNames","names","add","_item$props","omitFilterParams","params","filterFieldNames","TablePageInnerContent","_filter$list","refresh","reload","requestParams","fetchProps","isComplete","loadMore","send","_ref$dataFormat","dataFormat","total","totalCount","getColumns","_ref$pagination","_ref$columnRenderProp","columnRenderProps","_ref$renderType","_ref$horizontalScroll","horizontalScroller","_useIntl","tableContentRef","pendingScrollRef","handlerDataFormat","isFilterControlled","internalFilterValue","setInternalFilterValue","mapFilterValue","getFilterValue","getFilterParams","buildRequestParamsWithFilter","paramsType","formatData","resolvedColumns","fetchContext","hasToolbar","scrollTopInsetStyle","scrollTable","handleFilterChange","currentName","handlePaginationChange","page","requestType","pageSizeName","onShowSizeChange","paginationConfig","showTotal","pageSize","hideOnSinglePage","showSizeChanger","showQuickJumper","pageSizeOptions","tableContext","tableProps","TableComponent","Pagination","TablePageInner","withFetch","TablePage","_ref2$horizontalScrol","pageSizeKey","toUpperCase","cachePageSize","setPageSize","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,CA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CAAC,CAAC,IAAI,CAAC,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,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"}