tntd 3.0.67 → 3.0.68-beta.1

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.
Files changed (105) hide show
  1. package/es/anchor/anchor.less +3 -3
  2. package/es/form/style/index.less +5 -5
  3. package/es/index.js +7 -0
  4. package/es/index.js.map +1 -1
  5. package/es/index.less +0 -1
  6. package/es/prev-locale.js +4 -2
  7. package/es/prev-locale.js.map +1 -1
  8. package/es/query-form/Field/Checkbox.js +1 -1
  9. package/es/query-form/Field/Checkbox.js.map +1 -1
  10. package/es/query-form/Field/Composition/FieldPopover.js +13 -109
  11. package/es/query-form/Field/Composition/Select.js +13 -109
  12. package/es/query-form/Field/Composition/SelectInput.js +10 -87
  13. package/es/query-form/Field/Composition/ValueTag.js +10 -87
  14. package/es/query-form/Field/Composition/index.js +17 -121
  15. package/es/query-form/Field/Composition/utils.js +1 -5
  16. package/es/query-form/Field/SelectInput.js +16 -12
  17. package/es/query-form/Field/SelectInput.js.map +1 -1
  18. package/es/query-form/Field/fieldsMap.js +2 -2
  19. package/es/query-form/Field/fieldsMap.js.map +1 -1
  20. package/es/query-form/Field/index.js +2 -1
  21. package/es/query-form/Field/index.js.map +1 -1
  22. package/es/query-form/index.js +226 -357
  23. package/es/query-form/index.js.map +1 -1
  24. package/es/query-form/index.less +26 -77
  25. package/es/query-list-scene/List.js +16 -3
  26. package/es/query-list-scene/List.js.map +1 -1
  27. package/es/query-list-scene/QueryForm.js +35 -13
  28. package/es/query-list-scene/QueryForm.js.map +1 -1
  29. package/es/query-list-scene/index.js +2 -1
  30. package/es/query-list-scene/index.js.map +1 -1
  31. package/es/scroll-bar/ScrollBar.js +8 -5
  32. package/es/scroll-bar/ScrollBar.js.map +1 -1
  33. package/es/table/hooks/use-column-setting.js.map +1 -1
  34. package/es/table/resizableTable/index.less +1 -1
  35. package/es/table/table.js +8 -2
  36. package/es/table/table.js.map +1 -1
  37. package/es/tntd-checkbox-select/index.js +263 -0
  38. package/es/tntd-checkbox-select/index.js.map +1 -0
  39. package/es/tntd-checkbox-select/index.less +68 -0
  40. package/es/tntd-select/index.js.map +1 -1
  41. package/es/tntd-virtual-tree/index.js +0 -3
  42. package/es/tntd-virtual-tree/index.js.map +1 -1
  43. package/lib/anchor/anchor.less +3 -3
  44. package/lib/form/style/index.less +5 -5
  45. package/lib/index.d.ts +1 -0
  46. package/lib/index.d.ts.map +1 -1
  47. package/lib/index.js +7 -0
  48. package/lib/index.js.map +1 -1
  49. package/lib/index.less +0 -1
  50. package/lib/prev-locale.d.ts +3 -0
  51. package/lib/prev-locale.d.ts.map +1 -1
  52. package/lib/prev-locale.js +4 -2
  53. package/lib/prev-locale.js.map +1 -1
  54. package/lib/query-form/Field/Checkbox.js +1 -1
  55. package/lib/query-form/Field/Checkbox.js.map +1 -1
  56. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  57. package/lib/query-form/Field/SelectInput.js +16 -12
  58. package/lib/query-form/Field/SelectInput.js.map +1 -1
  59. package/lib/query-form/Field/fieldsMap.d.ts +6 -3
  60. package/lib/query-form/Field/fieldsMap.d.ts.map +1 -1
  61. package/lib/query-form/Field/fieldsMap.js +2 -2
  62. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  63. package/lib/query-form/Field/index.d.ts.map +1 -1
  64. package/lib/query-form/Field/index.js +2 -1
  65. package/lib/query-form/Field/index.js.map +1 -1
  66. package/lib/query-form/index.d.ts +1 -36
  67. package/lib/query-form/index.d.ts.map +1 -1
  68. package/lib/query-form/index.js +262 -397
  69. package/lib/query-form/index.js.map +1 -1
  70. package/lib/query-form/index.less +26 -77
  71. package/lib/query-list-scene/List.d.ts.map +1 -1
  72. package/lib/query-list-scene/List.js +16 -3
  73. package/lib/query-list-scene/List.js.map +1 -1
  74. package/lib/query-list-scene/QueryForm.d.ts +5 -4
  75. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  76. package/lib/query-list-scene/QueryForm.js +35 -13
  77. package/lib/query-list-scene/QueryForm.js.map +1 -1
  78. package/lib/query-list-scene/index.d.ts.map +1 -1
  79. package/lib/query-list-scene/index.js +2 -1
  80. package/lib/query-list-scene/index.js.map +1 -1
  81. package/lib/scroll-bar/ScrollBar.js +8 -5
  82. package/lib/scroll-bar/ScrollBar.js.map +1 -1
  83. package/lib/table/hooks/use-column-setting.d.ts +1 -0
  84. package/lib/table/hooks/use-column-setting.d.ts.map +1 -1
  85. package/lib/table/hooks/use-column-setting.js.map +1 -1
  86. package/lib/table/resizableTable/index.less +1 -1
  87. package/lib/table/table.d.ts.map +1 -1
  88. package/lib/table/table.js +8 -2
  89. package/lib/table/table.js.map +1 -1
  90. package/lib/tntd-checkbox-select/index.d.ts +12 -0
  91. package/lib/tntd-checkbox-select/index.d.ts.map +1 -0
  92. package/lib/tntd-checkbox-select/index.js +348 -0
  93. package/lib/tntd-checkbox-select/index.js.map +1 -0
  94. package/lib/tntd-checkbox-select/index.less +68 -0
  95. package/lib/tntd-select/index.d.ts.map +1 -1
  96. package/lib/tntd-select/index.js.map +1 -1
  97. package/lib/tntd-virtual-tree/index.js +0 -3
  98. package/lib/tntd-virtual-tree/index.js.map +1 -1
  99. package/package.json +3 -2
  100. package/es/query-form-backup/Field/Composition/FieldPopover.less +0 -35
  101. package/es/query-form-backup/Field/Composition/index.less +0 -114
  102. package/es/query-form-backup/index.less +0 -90
  103. package/lib/query-form-backup/Field/Composition/FieldPopover.less +0 -35
  104. package/lib/query-form-backup/Field/Composition/index.less +0 -114
  105. package/lib/query-form-backup/index.less +0 -90
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollBar.js","sourceRoot":"","sources":["../../src/scroll-bar/ScrollBar.js"],"names":[],"mappings":"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","sourcesContent":["import clsx from 'classnames'\nimport React, { forwardRef, useEffect, useRef } from 'react'\nimport Bar from './Bar'\nimport Context from './Context'\n\nexport default forwardRef(({ children, minSize = 20, ...props }, ref) => {\n const scrollbarElement = useRef()\n let wrapElement = useRef()\n wrapElement = ref || wrapElement\n const resizeRef = useRef()\n const barRef = useRef()\n\n useEffect(() => {\n const wrapDom = wrapElement.current\n const resizeDom = resizeRef.current\n // 监听容器尺寸变化,因为尺寸可以设置类似height:100vh之类样式,高度并不是固定的\n const observer = new ResizeObserver(() => {\n update()\n barRef.current?.handleScroll()\n })\n observer.observe(wrapDom)\n observer.observe(resizeDom)\n return () => {\n observer.unobserve(wrapDom)\n observer.unobserve(resizeDom)\n }\n }, [])\n useEffect(() => {\n if (!props.native) {\n update()\n barRef.current?.handleScroll()\n }\n }, [props.native])\n\n function update() {\n barRef.current?.update()\n }\n\n function handleScroll(e) {\n barRef.current?.handleScroll()\n props.onScroll?.(e)\n }\n\n const wrapStyle = { height: props.height, maxHeight: props.maxHeight }\n const wrapClassName = clsx('tntd-scroll-bar-wrap', {\n 'tntd-scroll-bar-wrap-hidden-default': !props.native,\n })\n\n return (\n <Context.Provider value={{ scrollbarElement, wrapElement }}>\n <div\n style={props.style}\n className={clsx('tntd-scroll-bar', props.className)}\n ref={scrollbarElement}\n >\n <div style={wrapStyle} className={wrapClassName} ref={wrapElement} onScroll={handleScroll}>\n <div className=\"tntd-scroll-bar-view\" ref={resizeRef}>\n {children}\n </div>\n </div>\n {!props.native && <Bar ref={barRef} always={props.always} minSize={minSize} />}\n </div>\n </Context.Provider>\n )\n})\n"]}
1
+ {"version":3,"file":"ScrollBar.js","sourceRoot":"","sources":["../../src/scroll-bar/ScrollBar.js"],"names":[],"mappings":"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","sourcesContent":["import clsx from 'classnames'\nimport React, { forwardRef, useEffect, useRef } from 'react'\nimport Bar from './Bar'\nimport Context from './Context'\n\nexport default forwardRef(({ children, minSize = 20, ...props }, ref) => {\n const scrollbarElement = useRef()\n let wrapElement = useRef()\n wrapElement = ref || wrapElement\n const resizeRef = useRef()\n const barRef = useRef()\n\n useEffect(() => {\n const wrapDom = wrapElement.current\n const resizeDom = resizeRef.current\n // 监听容器尺寸变化,因为尺寸可以设置类似height:100vh之类样式,高度并不是固定的\n const observerCallback = () =>\n requestAnimationFrame(() => {\n update()\n barRef.current?.handleScroll()\n })\n const observer = new ResizeObserver(observerCallback)\n observer.observe(wrapDom)\n observer.observe(resizeDom)\n return () => {\n observer.unobserve(wrapDom)\n observer.unobserve(resizeDom)\n }\n }, [])\n useEffect(() => {\n if (!props.native) {\n update()\n barRef.current?.handleScroll()\n }\n }, [props.native])\n\n function update() {\n barRef.current?.update()\n }\n\n function handleScroll(e) {\n barRef.current?.handleScroll()\n props.onScroll?.(e)\n }\n\n const wrapStyle = { height: props.height, maxHeight: props.maxHeight }\n const wrapClassName = clsx('tntd-scroll-bar-wrap', {\n 'tntd-scroll-bar-wrap-hidden-default': !props.native,\n })\n\n return (\n <Context.Provider value={{ scrollbarElement, wrapElement }}>\n <div\n style={props.style}\n className={clsx('tntd-scroll-bar', props.className)}\n ref={scrollbarElement}\n >\n <div style={wrapStyle} className={wrapClassName} ref={wrapElement} onScroll={handleScroll}>\n <div className=\"tntd-scroll-bar-view\" ref={resizeRef}>\n {children}\n </div>\n </div>\n {!props.native && <Bar ref={barRef} always={props.always} minSize={minSize} />}\n </div>\n </Context.Provider>\n )\n})\n"]}
@@ -6,6 +6,7 @@ export interface ColumnSetting {
6
6
  enable: boolean;
7
7
  }
8
8
  export declare type ColumnProps<T> = AntdColumnProps<T> & {
9
+ resizeKey?: number | string;
9
10
  placement?: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
10
11
  };
11
12
  export declare const useColumnSetting: <T>(columns: ColumnProps<T>[], storageKey?: string | undefined) => [ColumnProps<T>[], ColumnSetting[] | undefined, Dispatch<SetStateAction<ColumnSetting[] | undefined>>];
@@ -1 +1 @@
1
- {"version":3,"file":"use-column-setting.d.ts","sourceRoot":"","sources":["../../../src/table/hooks/use-column-setting.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAGrD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,oBAAY,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IAChD,SAAS,CAAC,EACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,UAAU,GACV,YAAY,GACZ,aAAa,GACb,SAAS,GACT,YAAY,GACZ,UAAU,GACV,aAAa,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,gBAAgB,2KAyB5B,CAAA"}
1
+ {"version":3,"file":"use-column-setting.d.ts","sourceRoot":"","sources":["../../../src/table/hooks/use-column-setting.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAGrD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,oBAAY,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,SAAS,CAAC,EACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,UAAU,GACV,YAAY,GACZ,aAAa,GACb,SAAS,GACT,YAAY,GACZ,UAAU,GACV,aAAa,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,gBAAgB,2KAyB5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-column-setting.js","sourceRoot":"","sources":["../../../src/table/hooks/use-column-setting.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAG1D,iCAA+B;AAwBxB,MAAM,gBAAgB,GAAG,CAC9B,OAAyB,EACzB,UAAmB,EAKnB,EAAE;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,+BAAuB,EAAkB,UAAU,EAAE,EAAE,CAAC,CAAA;IAClG,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,OAAO,OAAO,CAAA;SACf;QAED,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;aAC/E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;YAErE,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,CAAC,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAE5B,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAA;AAC1D,CAAC,CAAA;AAzBY,QAAA,gBAAgB,oBAyB5B","sourcesContent":["import { useLocalStorageMayEmpty } from '@stellaris/hooks'\nimport type { ColumnProps as AntdColumnProps } from 'antd/lib/table'\nimport type { Dispatch, SetStateAction } from 'react'\nimport { useMemo } from 'react'\n\nexport interface ColumnSetting {\n key: string\n order: number\n enable: boolean\n}\n\nexport type ColumnProps<T> = AntdColumnProps<T> & {\n placement?:\n | 'top'\n | 'left'\n | 'right'\n | 'bottom'\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight'\n | 'leftTop'\n | 'leftBottom'\n | 'rightTop'\n | 'rightBottom'\n}\n\nexport const useColumnSetting = <T>(\n columns: ColumnProps<T>[],\n storageKey?: string\n): [\n ColumnProps<T>[],\n ColumnSetting[] | undefined,\n Dispatch<SetStateAction<ColumnSetting[] | undefined>>\n] => {\n const [columnSetting, setColumnSetting] = useLocalStorageMayEmpty<ColumnSetting[]>(storageKey, [])\n const displayColumns = useMemo(() => {\n if (!columnSetting || columnSetting.length === 0) {\n return columns\n }\n\n return columns\n .filter((column) => columnSetting.some((setting) => setting.key === column.key))\n .sort((a, b) => {\n const aIndex = columnSetting.find((setting) => setting.key === a.key)\n const bIndex = columnSetting.find((setting) => setting.key === b.key)\n\n return (aIndex?.order || 0) - (bIndex?.order || 0)\n })\n }, [columnSetting, columns])\n\n return [displayColumns, columnSetting, setColumnSetting]\n}\n"]}
1
+ {"version":3,"file":"use-column-setting.js","sourceRoot":"","sources":["../../../src/table/hooks/use-column-setting.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAG1D,iCAA+B;AAyBxB,MAAM,gBAAgB,GAAG,CAC9B,OAAyB,EACzB,UAAmB,EAKnB,EAAE;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,+BAAuB,EAAkB,UAAU,EAAE,EAAE,CAAC,CAAA;IAClG,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,OAAO,OAAO,CAAA;SACf;QAED,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;aAC/E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;YAErE,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,CAAC,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAE5B,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAA;AAC1D,CAAC,CAAA;AAzBY,QAAA,gBAAgB,oBAyB5B","sourcesContent":["import { useLocalStorageMayEmpty } from '@stellaris/hooks'\nimport type { ColumnProps as AntdColumnProps } from 'antd/lib/table'\nimport type { Dispatch, SetStateAction } from 'react'\nimport { useMemo } from 'react'\n\nexport interface ColumnSetting {\n key: string\n order: number\n enable: boolean\n}\n\nexport type ColumnProps<T> = AntdColumnProps<T> & {\n resizeKey?: number | string\n placement?:\n | 'top'\n | 'left'\n | 'right'\n | 'bottom'\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight'\n | 'leftTop'\n | 'leftBottom'\n | 'rightTop'\n | 'rightBottom'\n}\n\nexport const useColumnSetting = <T>(\n columns: ColumnProps<T>[],\n storageKey?: string\n): [\n ColumnProps<T>[],\n ColumnSetting[] | undefined,\n Dispatch<SetStateAction<ColumnSetting[] | undefined>>\n] => {\n const [columnSetting, setColumnSetting] = useLocalStorageMayEmpty<ColumnSetting[]>(storageKey, [])\n const displayColumns = useMemo(() => {\n if (!columnSetting || columnSetting.length === 0) {\n return columns\n }\n\n return columns\n .filter((column) => columnSetting.some((setting) => setting.key === column.key))\n .sort((a, b) => {\n const aIndex = columnSetting.find((setting) => setting.key === a.key)\n const bIndex = columnSetting.find((setting) => setting.key === b.key)\n\n return (aIndex?.order || 0) - (bIndex?.order || 0)\n })\n }, [columnSetting, columns])\n\n return [displayColumns, columnSetting, setColumnSetting]\n}\n"]}
@@ -10,7 +10,7 @@
10
10
  min-width: 22px !important;
11
11
  }
12
12
  }
13
-
13
+
14
14
  }
15
15
  .ant-table-thead {
16
16
  tr:hover{
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAI7B,MAAM,eAAe,CAAA;AAEtB,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAkBxD,oBAAY,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACrC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACpD,CAAA;AAeD,eAAO,MAAM,KAAK;;;;;;CA+QjB,CAAA"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAI7B,MAAM,eAAe,CAAA;AAEtB,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAkBxD,oBAAY,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACrC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACpD,CAAA;AAeD,eAAO,MAAM,KAAK;;;;;;CAyRjB,CAAA"}
@@ -268,7 +268,7 @@ var Table = exports.Table = function Table(_a) {
268
268
  });
269
269
  }
270
270
  if (!unTooltip) {
271
- newColumns = newColumns === null || newColumns === void 0 ? void 0 : newColumns.map(function (column) {
271
+ newColumns = newColumns === null || newColumns === void 0 ? void 0 : newColumns.map(function (column, i) {
272
272
  if (!(column.width && !String(column.width).includes('%'))) {
273
273
  return column;
274
274
  } else {
@@ -288,7 +288,13 @@ var Table = exports.Table = function Table(_a) {
288
288
  widthLimit: Number(width) - Number(sizeWidthMap[size || 'default']) - (column.sorter ? 20 : 0)
289
289
  };
290
290
  }
291
- return _react["default"].createElement(_ellipsis["default"], Object.assign({}, widthLimitObj, {
291
+ var key = {};
292
+ if (column && 'resizeKey' in column && (typeof column.resizeKey === 'string' || typeof column.resizeKey === 'number')) {
293
+ key = {
294
+ key: i + '_' + column.resizeKey
295
+ };
296
+ }
297
+ return _react["default"].createElement(_ellipsis["default"], Object.assign({}, key, widthLimitObj, {
292
298
  placement: (column === null || column === void 0 ? void 0 : column.placement) || 'topLeft',
293
299
  title: title
294
300
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from '../config-provider'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport type {\n TableProps as AntdTableProps,\n ColumnProps,\n TableStateFilters,\n SortOrder,\n} from 'antd/lib/table'\nimport { default as AntdTable } from 'antd/lib/table'\nimport Column from 'antd/lib/table/Column'\nimport ColumnGroup from 'antd/lib/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef, useState } from 'react'\nimport { isFunction, isString } from 'lodash'\nimport Ellipsis from '../ellipsis'\nimport { TableContext } from './context'\nimport { useColumnSetting, useExpandFixed } from './hooks'\nimport type { keyType } from './hooks'\nimport { normalizeColumns } from './utils'\nimport { titleCaseUpper } from '../utils/lang'\nimport { getLanguage } from '../prev-locale'\nimport ResizeObserver from 'rc-resize-observer'\n\nconst sizeWidthMap = {\n default: 40, //20\n middle: 20, //10\n small: 20, //10\n xs: 16, // 8\n}\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n hideCellShadowed?: boolean\n striped?: boolean\n sticky?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n unUpperConverted?: boolean // 不要转换表头\n unTooltip?: boolean // 不要tooltip\n smallPadding?: boolean // 缩小间距\n upperCaseIgnore?: string[]\n rowClassName?: (record: T, index: number) => string\n}\n\n// 判断是否是特殊的tooltip\n// const checkIsPrompt = (dom: any): boolean => {\n// let isPrompt: boolean = false\n// if (React.isValidElement(dom)) {\n// if (dom?.type && typeof dom?.type === 'function') {\n// if (['Tooltip', 'Popconfirm'].includes(dom?.type?.name)) {\n// isPrompt = true\n// }\n// }\n// }\n// return isPrompt\n// }\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n sticky = false,\n shadowed,\n striped = true,\n showCellBorders = false,\n hideCellShadowed = false,\n pagination,\n enableToolbar = false,\n refresh,\n upperCaseIgnore,\n unUpperConverted, // 强制不要转换\n unTooltip,\n smallPadding,\n rowClassName,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n const getRowClassName = (prefixCls: string) => {\n if (striped || rowClassName || rest.rowSelection?.getCheckboxProps) {\n return (record: T, index: number) => {\n const back = []\n if (rowClassName) {\n if (isFunction(rowClassName)) {\n back.push(rowClassName(record, index))\n } else if (isString(rowClassName)) {\n back.push(rowClassName)\n }\n }\n if (striped && index % 2 === 1) {\n back.push(`${prefixCls}-row-even`)\n }\n // if (rest.rowSelection?.getCheckboxProps) {\n // const checkboxProps: any = rest.rowSelection.getCheckboxProps(record)\n // if (checkboxProps && checkboxProps.disabled) {\n // back.push(`${prefixCls}-row-disabled`)\n // }\n // }\n return back.join(' ')\n }\n }\n return rowClassName\n }\n const [fixedWidth, setFixedWidth] = useState(Number)\n\n const lang = getLanguage()\n let newColumns = displayColumns\n // 非中文做处理\n if (lang !== 'cn') {\n if (!unUpperConverted) {\n newColumns = displayColumns?.map((column) => {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n if (React.isValidElement(title)) {\n const renderChildren = (children: [] | string): React.ReactNode => {\n if (React.isValidElement(children) || Array.isArray(children)) {\n return React?.Children?.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n return React.cloneElement(child, {\n ...childProps,\n children: childProps.children?.length\n ? renderChildren(childProps.children)\n : childProps.children,\n title: titleCaseUpper(childProps?.title, upperCaseIgnore),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore)\n }\n })\n }\n return titleCaseUpper(children, upperCaseIgnore)\n }\n\n return React.cloneElement(title, {\n ...title.props,\n children: renderChildren(title.props.children),\n })\n }\n\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore)\n }\n },\n }\n })\n }\n if (!unTooltip) {\n newColumns = newColumns?.map((column) => {\n if (!(column.width && !String(column.width).includes('%'))) {\n return column\n } else {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n let widthLimitObj = {}\n if (column.width && !String(column.width).includes('%')) {\n let width = column.width\n if (typeof width === 'string') {\n width = width?.replace(/[^\\d]/g, ' ')\n }\n widthLimitObj = {\n widthLimit:\n Number(width) -\n Number(sizeWidthMap[size || 'default']) -\n (column.sorter ? 20 : 0),\n }\n }\n return (\n <Ellipsis\n {...widthLimitObj}\n placement={column?.placement || 'topLeft'}\n title={title}\n />\n )\n },\n }\n }\n })\n }\n }\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n /**\n * expand 与 fix 兼容,expand悬浮\n */\n const [tableKey, trigger] = useExpandFixed()\n\n const stickyProps = useMemo(() => {\n return {\n onExpandedRowsChange: (arg: string[] | number[]) => {\n const key: keyType = arg && arg[arg.length - 1]\n if (rest?.onExpandedRowsChange) rest?.onExpandedRowsChange([Number(key)])\n // 触发MutationObserver监听\n trigger(key as string)\n },\n expandedRowRender: rest?.expandedRowRender\n ? (record: T, index: number, indent: number, expanded: boolean) => {\n const padding = 0\n return (\n <div className=\"ant-table-expanded-row-fixed\" style={{ width: fixedWidth + padding }}>\n {rest?.expandedRowRender &&\n rest?.expandedRowRender(record, index, indent, expanded)}\n </div>\n )\n }\n : undefined,\n }\n }, [rest?.expandedRowRender, rest?.onExpandedRowsChange, trigger])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n upperCaseIgnore,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n // const locale = localeObject as Record<string, string>\n const paginationConfig =\n pagination !== false\n ? {\n ...(pagination || {}),\n hideOnSinglePage: pagination?.hideOnSinglePage === false ? false : true,\n }\n : pagination\n return (\n <ResizeObserver\n onResize={({ width }) => {\n requestAnimationFrame(() => {\n setFixedWidth(width)\n })\n }}\n >\n <AntdTable\n className={classNames(\n // prefixCls,\n 'tnt-table-wrapper',\n `${tableKey} collapse-panel`,\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-bordered-out`]: !!bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-hide-cell-shadowed`]: hideCellShadowed,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped && !hideCellShadowed,\n [`${prefixCls}-shadowed`]: shadowed,\n [`${prefixCls}-has-footer`]: rest.footer,\n [`${prefixCls}-small-padding`]: smallPadding,\n [`${prefixCls}-sticky`]: sticky,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={newColumns}\n rowClassName={getRowClassName(prefixCls)}\n pagination={paginationConfig}\n {...rest}\n {...(sticky ? stickyProps : {})}\n />\n </ResizeObserver>\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = titleCaseUpper\n"]}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from '../config-provider'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport type {\n TableProps as AntdTableProps,\n ColumnProps,\n TableStateFilters,\n SortOrder,\n} from 'antd/lib/table'\nimport { default as AntdTable } from 'antd/lib/table'\nimport Column from 'antd/lib/table/Column'\nimport ColumnGroup from 'antd/lib/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef, useState } from 'react'\nimport { isFunction, isString } from 'lodash'\nimport Ellipsis from '../ellipsis'\nimport { TableContext } from './context'\nimport { useColumnSetting, useExpandFixed } from './hooks'\nimport type { keyType } from './hooks'\nimport { normalizeColumns } from './utils'\nimport { titleCaseUpper } from '../utils/lang'\nimport { getLanguage } from '../prev-locale'\nimport ResizeObserver from 'rc-resize-observer'\n\nconst sizeWidthMap = {\n default: 40, //20\n middle: 20, //10\n small: 20, //10\n xs: 16, // 8\n}\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n hideCellShadowed?: boolean\n striped?: boolean\n sticky?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n unUpperConverted?: boolean // 不要转换表头\n unTooltip?: boolean // 不要tooltip\n smallPadding?: boolean // 缩小间距\n upperCaseIgnore?: string[]\n rowClassName?: (record: T, index: number) => string\n}\n\n// 判断是否是特殊的tooltip\n// const checkIsPrompt = (dom: any): boolean => {\n// let isPrompt: boolean = false\n// if (React.isValidElement(dom)) {\n// if (dom?.type && typeof dom?.type === 'function') {\n// if (['Tooltip', 'Popconfirm'].includes(dom?.type?.name)) {\n// isPrompt = true\n// }\n// }\n// }\n// return isPrompt\n// }\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n sticky = false,\n shadowed,\n striped = true,\n showCellBorders = false,\n hideCellShadowed = false,\n pagination,\n enableToolbar = false,\n refresh,\n upperCaseIgnore,\n unUpperConverted, // 强制不要转换\n unTooltip,\n smallPadding,\n rowClassName,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n const getRowClassName = (prefixCls: string) => {\n if (striped || rowClassName || rest.rowSelection?.getCheckboxProps) {\n return (record: T, index: number) => {\n const back = []\n if (rowClassName) {\n if (isFunction(rowClassName)) {\n back.push(rowClassName(record, index))\n } else if (isString(rowClassName)) {\n back.push(rowClassName)\n }\n }\n if (striped && index % 2 === 1) {\n back.push(`${prefixCls}-row-even`)\n }\n // if (rest.rowSelection?.getCheckboxProps) {\n // const checkboxProps: any = rest.rowSelection.getCheckboxProps(record)\n // if (checkboxProps && checkboxProps.disabled) {\n // back.push(`${prefixCls}-row-disabled`)\n // }\n // }\n return back.join(' ')\n }\n }\n return rowClassName\n }\n const [fixedWidth, setFixedWidth] = useState(Number)\n\n const lang = getLanguage()\n let newColumns = displayColumns\n // 非中文做处理\n if (lang !== 'cn') {\n if (!unUpperConverted) {\n newColumns = displayColumns?.map((column) => {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n if (React.isValidElement(title)) {\n const renderChildren = (children: [] | string): React.ReactNode => {\n if (React.isValidElement(children) || Array.isArray(children)) {\n return React?.Children?.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n return React.cloneElement(child, {\n ...childProps,\n children: childProps.children?.length\n ? renderChildren(childProps.children)\n : childProps.children,\n title: titleCaseUpper(childProps?.title, upperCaseIgnore),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore)\n }\n })\n }\n return titleCaseUpper(children, upperCaseIgnore)\n }\n\n return React.cloneElement(title, {\n ...title.props,\n children: renderChildren(title.props.children),\n })\n }\n\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore)\n }\n },\n }\n })\n }\n if (!unTooltip) {\n newColumns = newColumns?.map((column, i) => {\n if (!(column.width && !String(column.width).includes('%'))) {\n return column\n } else {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n let widthLimitObj = {}\n if (column.width && !String(column.width).includes('%')) {\n let width = column.width\n if (typeof width === 'string') {\n width = width?.replace(/[^\\d]/g, ' ')\n }\n widthLimitObj = {\n widthLimit:\n Number(width) -\n Number(sizeWidthMap[size || 'default']) -\n (column.sorter ? 20 : 0),\n }\n }\n\n let key = {}\n if (\n column &&\n 'resizeKey' in column &&\n (typeof column.resizeKey === 'string' || typeof column.resizeKey === 'number')\n ) {\n key = { key: i + '_' + (column as { resizeKey: string | number }).resizeKey }\n }\n return (\n <Ellipsis\n {...key}\n {...widthLimitObj}\n placement={column?.placement || 'topLeft'}\n title={title}\n />\n )\n },\n }\n }\n })\n }\n }\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n /**\n * expand 与 fix 兼容,expand悬浮\n */\n const [tableKey, trigger] = useExpandFixed()\n\n const stickyProps = useMemo(() => {\n return {\n onExpandedRowsChange: (arg: string[] | number[]) => {\n const key: keyType = arg && arg[arg.length - 1]\n if (rest?.onExpandedRowsChange) rest?.onExpandedRowsChange([Number(key)])\n // 触发MutationObserver监听\n trigger(key as string)\n },\n expandedRowRender: rest?.expandedRowRender\n ? (record: T, index: number, indent: number, expanded: boolean) => {\n const padding = 0\n return (\n <div className=\"ant-table-expanded-row-fixed\" style={{ width: fixedWidth + padding }}>\n {rest?.expandedRowRender &&\n rest?.expandedRowRender(record, index, indent, expanded)}\n </div>\n )\n }\n : undefined,\n }\n }, [rest?.expandedRowRender, rest?.onExpandedRowsChange, trigger])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n upperCaseIgnore,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n // const locale = localeObject as Record<string, string>\n const paginationConfig =\n pagination !== false\n ? {\n ...(pagination || {}),\n hideOnSinglePage: pagination?.hideOnSinglePage === false ? false : true,\n }\n : pagination\n return (\n <ResizeObserver\n onResize={({ width }) => {\n requestAnimationFrame(() => {\n setFixedWidth(width)\n })\n }}\n >\n <AntdTable\n className={classNames(\n // prefixCls,\n 'tnt-table-wrapper',\n `${tableKey} collapse-panel`,\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-bordered-out`]: !!bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-hide-cell-shadowed`]: hideCellShadowed,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped && !hideCellShadowed,\n [`${prefixCls}-shadowed`]: shadowed,\n [`${prefixCls}-has-footer`]: rest.footer,\n [`${prefixCls}-small-padding`]: smallPadding,\n [`${prefixCls}-sticky`]: sticky,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={newColumns}\n rowClassName={getRowClassName(prefixCls)}\n pagination={paginationConfig}\n {...rest}\n {...(sticky ? stickyProps : {})}\n />\n </ResizeObserver>\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = titleCaseUpper\n"]}
@@ -0,0 +1,12 @@
1
+ export default TntdCheckboxSelect;
2
+ declare function TntdCheckboxSelect({ mode, value, onChange, options, dropdownClassName, filterOption, ...restProps }: {
3
+ [x: string]: any;
4
+ mode: any;
5
+ value: any;
6
+ onChange: any;
7
+ options: any;
8
+ dropdownClassName: any;
9
+ filterOption?: ((inputValue: any, option: any) => any) | undefined;
10
+ }): React.JSX.Element;
11
+ import React from "react";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":";AAoBA;;;;;;;;sBA0LC"}
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) {
4
+ "@babel/helpers - typeof";
5
+
6
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
7
+ return typeof o;
8
+ } : function (o) {
9
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
10
+ }, _typeof(o);
11
+ }
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _prevLocale = require("../prev-locale");
18
+ var _rcVirtualList = _interopRequireDefault(require("rc-virtual-list"));
19
+ var _tntdRcSelect = _interopRequireDefault(require("../tntd-rc-select"));
20
+ var _icon = _interopRequireDefault(require("../icon"));
21
+ var _tag = _interopRequireDefault(require("../tag"));
22
+ var _checkbox = _interopRequireDefault(require("../checkbox"));
23
+ var _empty = _interopRequireDefault(require("../empty"));
24
+ var _ellipsis = _interopRequireDefault(require("../ellipsis"));
25
+ require("./index.less");
26
+ function _interopRequireDefault(e) {
27
+ return e && e.__esModule ? e : {
28
+ "default": e
29
+ };
30
+ }
31
+ function _getRequireWildcardCache(e) {
32
+ if ("function" != typeof WeakMap) return null;
33
+ var r = new WeakMap(),
34
+ t = new WeakMap();
35
+ return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
36
+ return e ? t : r;
37
+ })(e);
38
+ }
39
+ function _interopRequireWildcard(e, r) {
40
+ if (!r && e && e.__esModule) return e;
41
+ if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
42
+ "default": e
43
+ };
44
+ var t = _getRequireWildcardCache(r);
45
+ if (t && t.has(e)) return t.get(e);
46
+ var n = {
47
+ __proto__: null
48
+ },
49
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
50
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
51
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
52
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
53
+ }
54
+ return n["default"] = e, t && t.set(e, n), n;
55
+ }
56
+ function _toConsumableArray(r) {
57
+ return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
58
+ }
59
+ function _nonIterableSpread() {
60
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
61
+ }
62
+ function _iterableToArray(r) {
63
+ if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
64
+ }
65
+ function _arrayWithoutHoles(r) {
66
+ if (Array.isArray(r)) return _arrayLikeToArray(r);
67
+ }
68
+ function _slicedToArray(r, e) {
69
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
70
+ }
71
+ function _nonIterableRest() {
72
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
73
+ }
74
+ function _unsupportedIterableToArray(r, a) {
75
+ if (r) {
76
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
77
+ var t = {}.toString.call(r).slice(8, -1);
78
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
79
+ }
80
+ }
81
+ function _arrayLikeToArray(r, a) {
82
+ (null == a || a > r.length) && (a = r.length);
83
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
84
+ return n;
85
+ }
86
+ function _iterableToArrayLimit(r, l) {
87
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
88
+ if (null != t) {
89
+ var e,
90
+ n,
91
+ i,
92
+ u,
93
+ a = [],
94
+ f = !0,
95
+ o = !1;
96
+ try {
97
+ if (i = (t = t.call(r)).next, 0 === l) {
98
+ if (Object(t) !== t) return;
99
+ f = !1;
100
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
101
+ } catch (r) {
102
+ o = !0, n = r;
103
+ } finally {
104
+ try {
105
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
106
+ } finally {
107
+ if (o) throw n;
108
+ }
109
+ }
110
+ return a;
111
+ }
112
+ }
113
+ function _arrayWithHoles(r) {
114
+ if (Array.isArray(r)) return r;
115
+ }
116
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
117
+ var t = {};
118
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
119
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
120
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
121
+ }
122
+ return t;
123
+ };
124
+ /*
125
+ * @Descripttion: antd3 select 增加checkbox
126
+ * @Author: 郑泳健
127
+ * @Date: 2025-08-05 10:50:17
128
+ * @LastEditors: 郑泳健
129
+ * @LastEditTime: 2025-08-12 14:21:54
130
+ */
131
+
132
+ var all = (0, _prevLocale.getText)('all', (0, _prevLocale.getLanguage)());
133
+ var TntdCheckboxSelect = function TntdCheckboxSelect(_a) {
134
+ var mode = _a.mode,
135
+ value = _a.value,
136
+ onChange = _a.onChange,
137
+ options = _a.options,
138
+ dropdownClassName = _a.dropdownClassName,
139
+ _a$filterOption = _a.filterOption,
140
+ filterOption = _a$filterOption === void 0 ? function (inputValue, option) {
141
+ var _a;
142
+ return (_a = option === null || option === void 0 ? void 0 : option.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase());
143
+ } : _a$filterOption,
144
+ restProps = __rest(_a, ["mode", "value", "onChange", "options", "dropdownClassName", "filterOption"]);
145
+ // 搜索
146
+ var _useState = (0, _react.useState)(undefined),
147
+ _useState2 = _slicedToArray(_useState, 2),
148
+ searchValue = _useState2[0],
149
+ setSearchValue = _useState2[1];
150
+ /** 根据搜索过滤,dropDown的渲染数据 */
151
+ var renderData = (0, _react.useMemo)(function () {
152
+ if (!Array.isArray(options)) {
153
+ return [];
154
+ }
155
+ if (['', undefined, null].includes(searchValue)) {
156
+ return options;
157
+ }
158
+ return options.filter(function (item) {
159
+ return filterOption(searchValue, item);
160
+ });
161
+ }, [options, filterOption, searchValue]);
162
+ /** 全选中 */
163
+ var checkedAll = (0, _react.useMemo)(function () {
164
+ if (!Array.isArray(value) || !Array.isArray(value)) {
165
+ return false;
166
+ }
167
+ // 过滤掉disabled的选中情况
168
+ var filterDisabled = renderData.filter(function (item) {
169
+ return !item.disabled;
170
+ });
171
+ return filterDisabled.every(function (i) {
172
+ return value.includes(i.value);
173
+ });
174
+ }, [value, renderData]);
175
+ /** 半选中 */
176
+ var indeterminate = (0, _react.useMemo)(function () {
177
+ if (!Array.isArray(value) || !Array.isArray(value)) {
178
+ return false;
179
+ } // 过滤掉disabled的选中情况
180
+ var filterDisabled = renderData.filter(function (item) {
181
+ return !item.disabled;
182
+ });
183
+ /** 非disable既有选中的,也有没选中的 */
184
+ return filterDisabled.some(function (i) {
185
+ return value.includes(i.value);
186
+ }) && filterDisabled.some(function (i) {
187
+ return !value.includes(i.value);
188
+ });
189
+ }, [value, renderData]);
190
+ var handleSearch = function handleSearch(val) {
191
+ setSearchValue(val);
192
+ };
193
+ /** 全选情况 */
194
+ var handleAllClick = function handleAllClick(item, checked) {
195
+ // 筛选出非disabled的数组
196
+ var noDisabledChoosedList = Array.isArray(renderData) ? renderData.reduce(function (total, item) {
197
+ if (!item.disabled) {
198
+ total.push(item.value);
199
+ }
200
+ return total;
201
+ }, []) : [];
202
+ if (checked) {
203
+ // 这里加value的原因是有可能是搜索的时候点击了全选
204
+ var list = Array.isArray(value) ? Array.from(new Set([].concat(_toConsumableArray(value), _toConsumableArray(noDisabledChoosedList)))) : _toConsumableArray(noDisabledChoosedList);
205
+ onChange(list);
206
+ } else {
207
+ var _list = Array.isArray(value) ? value.filter(function (i) {
208
+ return !noDisabledChoosedList.includes(i);
209
+ }) : [];
210
+ onChange(_list);
211
+ }
212
+ setSearchValue(undefined);
213
+ };
214
+ var handleClick = function handleClick(item, checked) {
215
+ if (!Array.isArray(value)) {
216
+ value = [];
217
+ }
218
+ if (checked) {
219
+ onChange([].concat(_toConsumableArray(value), [item.value]));
220
+ } else {
221
+ onChange(value.filter(function (v) {
222
+ return v !== item.value;
223
+ }));
224
+ }
225
+ setSearchValue(undefined);
226
+ };
227
+ var handleStopPropagation = function handleStopPropagation(e) {
228
+ var _a;
229
+ (_a = e === null || e === void 0 ? void 0 : e.nativeEvent) === null || _a === void 0 ? void 0 : _a.stopImmediatePropagation();
230
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
231
+ e === null || e === void 0 ? void 0 : e.preventDefault();
232
+ };
233
+ return _react["default"].createElement(_tntdRcSelect["default"], Object.assign({
234
+ showSearch: true,
235
+ searchValue: searchValue,
236
+ onSearch: handleSearch,
237
+ tagRender: function tagRender(item) {
238
+ var onClose = item.onClose,
239
+ value = item.value;
240
+ var _ref = Array.isArray(options) ? options.find(function (opt) {
241
+ return opt.value === value;
242
+ }) || {} : {},
243
+ label = _ref.label,
244
+ disabled = _ref.disabled;
245
+ return _react["default"].createElement(_tag["default"], {
246
+ size: "small",
247
+ className: "tntd-checkbox-select-item-tag"
248
+ }, _react["default"].createElement("div", {
249
+ className: 'tntd-checkbox-select-item-tag-label'
250
+ }, _react["default"].createElement(_ellipsis["default"], {
251
+ title: label,
252
+ widthLimit: "100%"
253
+ })), !disabled ? _react["default"].createElement(_icon["default"], {
254
+ type: "close",
255
+ onClick: onClose
256
+ }) : '');
257
+ },
258
+ value: value,
259
+ onChange: onChange
260
+ }, restProps, {
261
+ mode: mode || 'multiple',
262
+ dropdownClassName: "".concat(dropdownClassName || '', " tntd-checkbox-select-dropdown-wrap"),
263
+ dropdownRender: function dropdownRender() {
264
+ if (!Array.isArray(renderData) || !(renderData === null || renderData === void 0 ? void 0 : renderData.length)) {
265
+ return _react["default"].createElement("div", {
266
+ className: "tntd-checkbox-select-dropdown-render-wrapper"
267
+ }, _react["default"].createElement(_empty["default"], {
268
+ className: "tntd-rc-select-item-empty",
269
+ size: "mini"
270
+ }));
271
+ }
272
+ var renderList = [{
273
+ label: all,
274
+ value: 'all',
275
+ isAll: true
276
+ }].concat(_toConsumableArray(renderData));
277
+ return _react["default"].createElement("div", {
278
+ className: "tntd-checkbox-select-dropdown-render-wrapper",
279
+ onClick: function onClick(e) {
280
+ return handleStopPropagation(e);
281
+ }
282
+ }, _react["default"].createElement(_rcVirtualList["default"], {
283
+ height: renderData.length > 8 ? 250 : 'auto',
284
+ itemHeight: 32,
285
+ data: renderList,
286
+ itemKey: 'value'
287
+ }, function (item) {
288
+ var isAll = item.isAll,
289
+ disabled = item.disabled;
290
+ // 是否全部disabled
291
+ var allDisabled = renderData.filter(function (i) {
292
+ return i.disabled;
293
+ }).length === renderData.length;
294
+ var checked = Array.isArray(value) ? value.includes(item.value) : false;
295
+ if (isAll) {
296
+ return _react["default"].createElement("div", {
297
+ className: "tntd-checkbox-select-item ".concat(checkedAll ? 'tntd-checkbox-select-item_choosed' : '', " ").concat(allDisabled ? 'tntd-checkbox-select-item_disabled' : ''),
298
+ onMouseDown: function onMouseDown(e) {
299
+ handleStopPropagation(e);
300
+ },
301
+ onClick: function onClick() {
302
+ if (!allDisabled) {
303
+ handleAllClick(item, !checkedAll);
304
+ }
305
+ }
306
+ }, _react["default"].createElement(_checkbox["default"], {
307
+ disabled: allDisabled,
308
+ size: "small",
309
+ indeterminate: indeterminate,
310
+ checked: checkedAll,
311
+ onChange: function onChange(e) {
312
+ handleStopPropagation(e);
313
+ }
314
+ }), _react["default"].createElement("div", {
315
+ className: "tntd-checkbox-select-content"
316
+ }, _react["default"].createElement(_ellipsis["default"], {
317
+ title: item.label,
318
+ widthLimit: "100%"
319
+ })));
320
+ }
321
+ return _react["default"].createElement("div", {
322
+ className: "tntd-checkbox-select-item ".concat(checked ? 'tntd-checkbox-select-item_choosed' : '', " ").concat(disabled ? 'tntd-checkbox-select-item_disabled' : ''),
323
+ onMouseDown: function onMouseDown(e) {
324
+ handleStopPropagation(e);
325
+ },
326
+ onClick: function onClick() {
327
+ if (!disabled) {
328
+ handleClick(item, !checked);
329
+ }
330
+ }
331
+ }, _react["default"].createElement(_checkbox["default"], {
332
+ disabled: disabled,
333
+ size: "small",
334
+ checked: checked,
335
+ onChange: function onChange(e) {
336
+ return handleStopPropagation(e);
337
+ }
338
+ }), _react["default"].createElement("div", {
339
+ className: "tntd-checkbox-select-content"
340
+ }, _react["default"].createElement(_ellipsis["default"], {
341
+ title: item.label,
342
+ widthLimit: "100%"
343
+ })));
344
+ }));
345
+ }
346
+ }));
347
+ };
348
+ var _default = exports["default"] = TntdCheckboxSelect;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: antd3 select 增加checkbox\n * @Author: 郑泳健\n * @Date: 2025-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2025-08-12 14:21:54\n */\nimport React, { useState, useMemo } from 'react';\nimport { getLanguage, getText } from '../prev-locale';\nimport List from 'rc-virtual-list';\nimport Select from '../tntd-rc-select';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport Checkbox from '../checkbox';\nimport Empty from '../empty';\nimport Ellipsis from '../ellipsis';\nimport './index.less';\n\nconst all = getText('all', getLanguage());\n\nconst TntdCheckboxSelect = ({\n mode,\n value,\n onChange,\n options,\n dropdownClassName,\n filterOption = (inputValue, option) => {\n return option?.label?.toLowerCase().includes(inputValue?.toLowerCase());\n },\n ...restProps\n}) => {\n // 搜索\n const [searchValue, setSearchValue] = useState(undefined);\n\n /** 根据搜索过滤,dropDown的渲染数据 */\n const renderData = useMemo(() => {\n if (!Array.isArray(options)) {\n return [];\n }\n if (['', undefined, null].includes(searchValue)) {\n return options;\n }\n return options.filter((item) => filterOption(searchValue, item));\n }, [options, filterOption, searchValue]);\n\n /** 全选中 */\n const checkedAll = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n }\n // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n return filterDisabled.every((i) => value.includes(i.value));\n }, [value, renderData]);\n\n /** 半选中 */\n const indeterminate = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n } // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n /** 非disable既有选中的,也有没选中的 */\n return filterDisabled.some((i) => value.includes(i.value)) && filterDisabled.some((i) => !value.includes(i.value));\n }, [value, renderData]);\n\n const handleSearch = (val) => {\n setSearchValue(val);\n };\n\n /** 全选情况 */\n const handleAllClick = (item, checked) => {\n // 筛选出非disabled的数组\n const noDisabledChoosedList = Array.isArray(renderData)\n ? renderData.reduce((total, item) => {\n if (!item.disabled) {\n total.push(item.value);\n }\n return total;\n }, [])\n : [];\n\n if (checked) {\n // 这里加value的原因是有可能是搜索的时候点击了全选\n const list = Array.isArray(value) ? Array.from(new Set([...value, ...noDisabledChoosedList])) : [...noDisabledChoosedList];\n onChange(list);\n } else {\n const list = Array.isArray(value) ? value.filter((i) => !noDisabledChoosedList.includes(i)) : [];\n onChange(list);\n }\n setSearchValue(undefined);\n };\n\n const handleClick = (item, checked) => {\n if (!Array.isArray(value)) {\n value = [];\n }\n if (checked) {\n onChange([...value, item.value]);\n } else {\n onChange(value.filter((v) => v !== item.value));\n }\n setSearchValue(undefined);\n };\n\n const handleStopPropagation = (e) => {\n e?.nativeEvent?.stopImmediatePropagation();\n e?.stopPropagation();\n e?.preventDefault();\n };\n\n return (\n <Select\n showSearch\n searchValue={searchValue}\n onSearch={handleSearch}\n tagRender={(item) => {\n const { onClose, value } = item;\n const { label, disabled } = Array.isArray(options) ? options.find((opt) => opt.value === value) || {} : {};\n return (\n <Tag size=\"small\" className=\"tntd-checkbox-select-item-tag\">\n <div className='tntd-checkbox-select-item-tag-label'>\n <Ellipsis title={label} widthLimit={\"100%\"} />\n </div>\n {!disabled ? <Icon type=\"close\" onClick={onClose} /> : ''}\n </Tag>\n );\n }}\n value={value}\n onChange={onChange}\n {...restProps}\n mode={mode || 'multiple'}\n dropdownClassName={`${dropdownClassName || ''} tntd-checkbox-select-dropdown-wrap`}\n dropdownRender={() => {\n if (!Array.isArray(renderData) || !renderData?.length) {\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\">\n <Empty className=\"tntd-rc-select-item-empty\" size=\"mini\" />\n </div>\n );\n }\n const renderList = [{ label: all, value: 'all', isAll: true }, ...renderData];\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\" onClick={(e) => handleStopPropagation(e)}>\n <List height={renderData.length > 8 ? 250 : 'auto'} itemHeight={32} data={renderList} itemKey={'value'}>\n {(item) => {\n const { isAll, disabled } = item;\n // 是否全部disabled\n const allDisabled = renderData.filter((i) => i.disabled).length === renderData.length;\n const checked = Array.isArray(value) ? value.includes(item.value) : false;\n\n if (isAll) {\n return (\n <div\n className={`tntd-checkbox-select-item ${checkedAll ? 'tntd-checkbox-select-item_choosed' : ''} ${\n allDisabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!allDisabled) {\n handleAllClick(item, !checkedAll);\n }\n }}>\n <Checkbox\n disabled={allDisabled}\n size=\"small\"\n indeterminate={indeterminate}\n checked={checkedAll}\n onChange={(e) => {\n handleStopPropagation(e);\n }}\n />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`tntd-checkbox-select-item ${checked ? 'tntd-checkbox-select-item_choosed' : ''} ${\n disabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!disabled) {\n handleClick(item, !checked);\n }\n }}>\n <Checkbox disabled={disabled} size=\"small\" checked={checked} onChange={(e) => handleStopPropagation(e)} />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }}\n </List>\n </div>\n );\n }}\n />\n );\n};\n\nexport default TntdCheckboxSelect;\n"]}