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