k-react-vtable 1.0.0

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 (268) hide show
  1. package/README.md +93 -0
  2. package/cjs/components/avatar/avatar.d.ts +14 -0
  3. package/cjs/components/avatar/avatar.js +84 -0
  4. package/cjs/components/avatar/avatar.js.map +1 -0
  5. package/cjs/components/button/button.d.ts +27 -0
  6. package/cjs/components/button/button.js +107 -0
  7. package/cjs/components/button/button.js.map +1 -0
  8. package/cjs/components/checkbox/checkbox.d.ts +17 -0
  9. package/cjs/components/checkbox/checkbox.js +69 -0
  10. package/cjs/components/checkbox/checkbox.js.map +1 -0
  11. package/cjs/components/index.d.ts +7 -0
  12. package/cjs/components/index.js +24 -0
  13. package/cjs/components/index.js.map +1 -0
  14. package/cjs/components/link/link.d.ts +30 -0
  15. package/cjs/components/link/link.js +119 -0
  16. package/cjs/components/link/link.js.map +1 -0
  17. package/cjs/components/popover/popover.d.ts +14 -0
  18. package/cjs/components/popover/popover.js +283 -0
  19. package/cjs/components/popover/popover.js.map +1 -0
  20. package/cjs/components/radio/radio.d.ts +15 -0
  21. package/cjs/components/radio/radio.js +68 -0
  22. package/cjs/components/radio/radio.js.map +1 -0
  23. package/cjs/components/tag/tag.d.ts +13 -0
  24. package/cjs/components/tag/tag.js +47 -0
  25. package/cjs/components/tag/tag.js.map +1 -0
  26. package/cjs/components/vrender-components/checkbox.d.ts +4 -0
  27. package/cjs/components/vrender-components/checkbox.js +6 -0
  28. package/cjs/components/vrender-components/checkbox.js.map +1 -0
  29. package/cjs/components/vrender-components/component-creater.d.ts +1 -0
  30. package/cjs/components/vrender-components/component-creater.js +22 -0
  31. package/cjs/components/vrender-components/component-creater.js.map +1 -0
  32. package/cjs/components/vrender-components/radio.d.ts +4 -0
  33. package/cjs/components/vrender-components/radio.js +6 -0
  34. package/cjs/components/vrender-components/radio.js.map +1 -0
  35. package/cjs/components/vrender-components/tag.d.ts +4 -0
  36. package/cjs/components/vrender-components/tag.js +6 -0
  37. package/cjs/components/vrender-components/tag.js.map +1 -0
  38. package/cjs/components/vrender-components/type.d.ts +6 -0
  39. package/cjs/components/vrender-components/type.js +6 -0
  40. package/cjs/components/vrender-components/type.js.map +1 -0
  41. package/cjs/constants.d.ts +1 -0
  42. package/cjs/constants.js +6 -0
  43. package/cjs/constants.js.map +1 -0
  44. package/cjs/containers/withContainer.d.ts +8 -0
  45. package/cjs/containers/withContainer.js +63 -0
  46. package/cjs/containers/withContainer.js.map +1 -0
  47. package/cjs/context/table.d.ts +9 -0
  48. package/cjs/context/table.js +25 -0
  49. package/cjs/context/table.js.map +1 -0
  50. package/cjs/eventsUtils.d.ts +130 -0
  51. package/cjs/eventsUtils.js +93 -0
  52. package/cjs/eventsUtils.js.map +1 -0
  53. package/cjs/index.d.ts +4 -0
  54. package/cjs/index.js +22 -0
  55. package/cjs/index.js.map +1 -0
  56. package/cjs/table-components/base-component.d.ts +12 -0
  57. package/cjs/table-components/base-component.js +87 -0
  58. package/cjs/table-components/base-component.js.map +1 -0
  59. package/cjs/table-components/component/emptyTip.d.ts +20 -0
  60. package/cjs/table-components/component/emptyTip.js +10 -0
  61. package/cjs/table-components/component/emptyTip.js.map +1 -0
  62. package/cjs/table-components/component/menu.d.ts +10 -0
  63. package/cjs/table-components/component/menu.js +10 -0
  64. package/cjs/table-components/component/menu.js.map +1 -0
  65. package/cjs/table-components/component/title.d.ts +4 -0
  66. package/cjs/table-components/component/title.js +10 -0
  67. package/cjs/table-components/component/title.js.map +1 -0
  68. package/cjs/table-components/component/tooltip.d.ts +7 -0
  69. package/cjs/table-components/component/tooltip.js +10 -0
  70. package/cjs/table-components/component/tooltip.js.map +1 -0
  71. package/cjs/table-components/custom/custom-layout.d.ts +11 -0
  72. package/cjs/table-components/custom/custom-layout.js +107 -0
  73. package/cjs/table-components/custom/custom-layout.js.map +1 -0
  74. package/cjs/table-components/custom/graphic.d.ts +19 -0
  75. package/cjs/table-components/custom/graphic.js +9 -0
  76. package/cjs/table-components/custom/graphic.js.map +1 -0
  77. package/cjs/table-components/custom/reconciler.d.ts +2 -0
  78. package/cjs/table-components/custom/reconciler.js +107 -0
  79. package/cjs/table-components/custom/reconciler.js.map +1 -0
  80. package/cjs/table-components/custom/vtable-browser-env-contribution.d.ts +6 -0
  81. package/cjs/table-components/custom/vtable-browser-env-contribution.js +35 -0
  82. package/cjs/table-components/custom/vtable-browser-env-contribution.js.map +1 -0
  83. package/cjs/table-components/custom/vtable-react-attribute-plugin.d.ts +21 -0
  84. package/cjs/table-components/custom/vtable-react-attribute-plugin.js +135 -0
  85. package/cjs/table-components/custom/vtable-react-attribute-plugin.js.map +1 -0
  86. package/cjs/table-components/custom-component.d.ts +17 -0
  87. package/cjs/table-components/custom-component.js +98 -0
  88. package/cjs/table-components/custom-component.js.map +1 -0
  89. package/cjs/table-components/index.d.ts +20 -0
  90. package/cjs/table-components/index.js +130 -0
  91. package/cjs/table-components/index.js.map +1 -0
  92. package/cjs/table-components/list/list-column.d.ts +4 -0
  93. package/cjs/table-components/list/list-column.js +10 -0
  94. package/cjs/table-components/list/list-column.js.map +1 -0
  95. package/cjs/table-components/pivot/pivot-corner.d.ts +4 -0
  96. package/cjs/table-components/pivot/pivot-corner.js +10 -0
  97. package/cjs/table-components/pivot/pivot-corner.js.map +1 -0
  98. package/cjs/table-components/pivot/pivot-dimension.d.ts +6 -0
  99. package/cjs/table-components/pivot/pivot-dimension.js +11 -0
  100. package/cjs/table-components/pivot/pivot-dimension.js.map +1 -0
  101. package/cjs/table-components/pivot/pivot-header-title.d.ts +5 -0
  102. package/cjs/table-components/pivot/pivot-header-title.js +11 -0
  103. package/cjs/table-components/pivot/pivot-header-title.js.map +1 -0
  104. package/cjs/table-components/pivot/pivot-indicator.d.ts +4 -0
  105. package/cjs/table-components/pivot/pivot-indicator.js +10 -0
  106. package/cjs/table-components/pivot/pivot-indicator.js.map +1 -0
  107. package/cjs/tables/base-table.d.ts +23 -0
  108. package/cjs/tables/base-table.js +199 -0
  109. package/cjs/tables/base-table.js.map +1 -0
  110. package/cjs/tables/index.d.ts +6 -0
  111. package/cjs/tables/index.js +65 -0
  112. package/cjs/tables/index.js.map +1 -0
  113. package/cjs/tables/list-table-simple.d.ts +8 -0
  114. package/cjs/tables/list-table-simple.js +13 -0
  115. package/cjs/tables/list-table-simple.js.map +1 -0
  116. package/cjs/tables/list-table.d.ts +8 -0
  117. package/cjs/tables/list-table.js +13 -0
  118. package/cjs/tables/list-table.js.map +1 -0
  119. package/cjs/tables/pivot-chart.d.ts +13 -0
  120. package/cjs/tables/pivot-chart.js +17 -0
  121. package/cjs/tables/pivot-chart.js.map +1 -0
  122. package/cjs/tables/pivot-table-simple.d.ts +8 -0
  123. package/cjs/tables/pivot-table-simple.js +13 -0
  124. package/cjs/tables/pivot-table-simple.js.map +1 -0
  125. package/cjs/tables/pivot-table.d.ts +8 -0
  126. package/cjs/tables/pivot-table.js +13 -0
  127. package/cjs/tables/pivot-table.js.map +1 -0
  128. package/cjs/util.d.ts +8 -0
  129. package/cjs/util.js +56 -0
  130. package/cjs/util.js.map +1 -0
  131. package/cjs/vtable.d.ts +1 -0
  132. package/cjs/vtable.js +2 -0
  133. package/cjs/vtable.js.map +1 -0
  134. package/dist/react-vtable.js +7662 -0
  135. package/dist/react-vtable.min.js +10 -0
  136. package/es/components/avatar/avatar.d.ts +14 -0
  137. package/es/components/avatar/avatar.js +82 -0
  138. package/es/components/avatar/avatar.js.map +1 -0
  139. package/es/components/button/button.d.ts +27 -0
  140. package/es/components/button/button.js +84 -0
  141. package/es/components/button/button.js.map +1 -0
  142. package/es/components/checkbox/checkbox.d.ts +17 -0
  143. package/es/components/checkbox/checkbox.js +48 -0
  144. package/es/components/checkbox/checkbox.js.map +1 -0
  145. package/es/components/index.d.ts +7 -0
  146. package/es/components/index.js +14 -0
  147. package/es/components/index.js.map +1 -0
  148. package/es/components/link/link.d.ts +30 -0
  149. package/es/components/link/link.js +96 -0
  150. package/es/components/link/link.js.map +1 -0
  151. package/es/components/popover/popover.d.ts +14 -0
  152. package/es/components/popover/popover.js +260 -0
  153. package/es/components/popover/popover.js.map +1 -0
  154. package/es/components/radio/radio.d.ts +15 -0
  155. package/es/components/radio/radio.js +47 -0
  156. package/es/components/radio/radio.js.map +1 -0
  157. package/es/components/tag/tag.d.ts +13 -0
  158. package/es/components/tag/tag.js +45 -0
  159. package/es/components/tag/tag.js.map +1 -0
  160. package/es/components/vrender-components/checkbox.d.ts +4 -0
  161. package/es/components/vrender-components/checkbox.js +2 -0
  162. package/es/components/vrender-components/checkbox.js.map +1 -0
  163. package/es/components/vrender-components/component-creater.d.ts +1 -0
  164. package/es/components/vrender-components/component-creater.js +14 -0
  165. package/es/components/vrender-components/component-creater.js.map +1 -0
  166. package/es/components/vrender-components/radio.d.ts +4 -0
  167. package/es/components/vrender-components/radio.js +2 -0
  168. package/es/components/vrender-components/radio.js.map +1 -0
  169. package/es/components/vrender-components/tag.d.ts +4 -0
  170. package/es/components/vrender-components/tag.js +2 -0
  171. package/es/components/vrender-components/tag.js.map +1 -0
  172. package/es/components/vrender-components/type.d.ts +6 -0
  173. package/es/components/vrender-components/type.js +2 -0
  174. package/es/components/vrender-components/type.js.map +1 -0
  175. package/es/constants.d.ts +1 -0
  176. package/es/constants.js +2 -0
  177. package/es/constants.js.map +1 -0
  178. package/es/containers/withContainer.d.ts +8 -0
  179. package/es/containers/withContainer.js +32 -0
  180. package/es/containers/withContainer.js.map +1 -0
  181. package/es/context/table.d.ts +9 -0
  182. package/es/context/table.js +16 -0
  183. package/es/context/table.js.map +1 -0
  184. package/es/eventsUtils.d.ts +130 -0
  185. package/es/eventsUtils.js +86 -0
  186. package/es/eventsUtils.js.map +1 -0
  187. package/es/index.d.ts +4 -0
  188. package/es/index.js +8 -0
  189. package/es/index.js.map +1 -0
  190. package/es/table-components/base-component.d.ts +12 -0
  191. package/es/table-components/base-component.js +60 -0
  192. package/es/table-components/base-component.js.map +1 -0
  193. package/es/table-components/component/emptyTip.d.ts +20 -0
  194. package/es/table-components/component/emptyTip.js +4 -0
  195. package/es/table-components/component/emptyTip.js.map +1 -0
  196. package/es/table-components/component/menu.d.ts +10 -0
  197. package/es/table-components/component/menu.js +4 -0
  198. package/es/table-components/component/menu.js.map +1 -0
  199. package/es/table-components/component/title.d.ts +4 -0
  200. package/es/table-components/component/title.js +4 -0
  201. package/es/table-components/component/title.js.map +1 -0
  202. package/es/table-components/component/tooltip.d.ts +7 -0
  203. package/es/table-components/component/tooltip.js +4 -0
  204. package/es/table-components/component/tooltip.js.map +1 -0
  205. package/es/table-components/custom/custom-layout.d.ts +11 -0
  206. package/es/table-components/custom/custom-layout.js +79 -0
  207. package/es/table-components/custom/custom-layout.js.map +1 -0
  208. package/es/table-components/custom/graphic.d.ts +19 -0
  209. package/es/table-components/custom/graphic.js +22 -0
  210. package/es/table-components/custom/graphic.js.map +1 -0
  211. package/es/table-components/custom/reconciler.d.ts +2 -0
  212. package/es/table-components/custom/reconciler.js +106 -0
  213. package/es/table-components/custom/reconciler.js.map +1 -0
  214. package/es/table-components/custom/vtable-browser-env-contribution.d.ts +6 -0
  215. package/es/table-components/custom/vtable-browser-env-contribution.js +33 -0
  216. package/es/table-components/custom/vtable-browser-env-contribution.js.map +1 -0
  217. package/es/table-components/custom/vtable-react-attribute-plugin.d.ts +21 -0
  218. package/es/table-components/custom/vtable-react-attribute-plugin.js +127 -0
  219. package/es/table-components/custom/vtable-react-attribute-plugin.js.map +1 -0
  220. package/es/table-components/custom-component.d.ts +17 -0
  221. package/es/table-components/custom-component.js +67 -0
  222. package/es/table-components/custom-component.js.map +1 -0
  223. package/es/table-components/index.d.ts +20 -0
  224. package/es/table-components/index.js +26 -0
  225. package/es/table-components/index.js.map +1 -0
  226. package/es/table-components/list/list-column.d.ts +4 -0
  227. package/es/table-components/list/list-column.js +4 -0
  228. package/es/table-components/list/list-column.js.map +1 -0
  229. package/es/table-components/pivot/pivot-corner.d.ts +4 -0
  230. package/es/table-components/pivot/pivot-corner.js +4 -0
  231. package/es/table-components/pivot/pivot-corner.js.map +1 -0
  232. package/es/table-components/pivot/pivot-dimension.d.ts +6 -0
  233. package/es/table-components/pivot/pivot-dimension.js +6 -0
  234. package/es/table-components/pivot/pivot-dimension.js.map +1 -0
  235. package/es/table-components/pivot/pivot-header-title.d.ts +5 -0
  236. package/es/table-components/pivot/pivot-header-title.js +6 -0
  237. package/es/table-components/pivot/pivot-header-title.js.map +1 -0
  238. package/es/table-components/pivot/pivot-indicator.d.ts +4 -0
  239. package/es/table-components/pivot/pivot-indicator.js +4 -0
  240. package/es/table-components/pivot/pivot-indicator.js.map +1 -0
  241. package/es/tables/base-table.d.ts +23 -0
  242. package/es/tables/base-table.js +178 -0
  243. package/es/tables/base-table.js.map +1 -0
  244. package/es/tables/index.d.ts +6 -0
  245. package/es/tables/index.js +12 -0
  246. package/es/tables/index.js.map +1 -0
  247. package/es/tables/list-table-simple.d.ts +8 -0
  248. package/es/tables/list-table-simple.js +9 -0
  249. package/es/tables/list-table-simple.js.map +1 -0
  250. package/es/tables/list-table.d.ts +8 -0
  251. package/es/tables/list-table.js +9 -0
  252. package/es/tables/list-table.js.map +1 -0
  253. package/es/tables/pivot-chart.d.ts +13 -0
  254. package/es/tables/pivot-chart.js +15 -0
  255. package/es/tables/pivot-chart.js.map +1 -0
  256. package/es/tables/pivot-table-simple.d.ts +8 -0
  257. package/es/tables/pivot-table-simple.js +9 -0
  258. package/es/tables/pivot-table-simple.js.map +1 -0
  259. package/es/tables/pivot-table.d.ts +8 -0
  260. package/es/tables/pivot-table.js +9 -0
  261. package/es/tables/pivot-table.js.map +1 -0
  262. package/es/util.d.ts +8 -0
  263. package/es/util.js +35 -0
  264. package/es/util.js.map +1 -0
  265. package/es/vtable.d.ts +1 -0
  266. package/es/vtable.js +2 -0
  267. package/es/vtable.js.map +1 -0
  268. package/package.json +104 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/base-table.tsx"],"names":[],"mappings":"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","file":"base-table.js","sourcesContent":["/* eslint-disable react/display-name */\n// import * as VTable from 'k-vtable';\n// import { VTable } from '../vtable';\nimport React, { useState, useEffect, useRef, useImperativeHandle, useCallback } from 'react';\nimport type { ContainerProps } from '../containers/withContainer';\nimport withContainer from '../containers/withContainer';\nimport type { TableContextType } from '../context/table';\nimport RootTableContext from '../context/table';\nimport { isEqual, isNil, isNumber, pickWithout } from '@visactor/vutils';\nimport { toArray } from '../util';\nimport { REACT_PRIVATE_PROPS } from '../constants';\nimport type { IMarkElement } from '../table-components';\nimport type {\n EventsProps\n // LegendEventProps,\n // ScrollBarEventProps,\n // BrushEventProps,\n // DataZoomEventProps,\n // PlayerEventProps,\n // DimensionEventProps,\n // HierarchyEventProps,\n // TableLifeCycleEventProps\n} from '../eventsUtils';\nimport { bindEventsToTable, TABLE_EVENTS_KEYS, TABLE_EVENTS } from '../eventsUtils';\nimport { VTableReactAttributePlugin } from '../table-components/custom/vtable-react-attribute-plugin';\nimport { reactEnvModule } from '../table-components/custom/vtable-browser-env-contribution';\nimport { container, isBrowserEnv } from 'k-vtable/es/vrender';\nimport type {\n ListTable,\n PivotTable,\n PivotChart,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions\n} from 'k-vtable';\nimport type { TYPES } from 'k-vtable';\n\nexport type IVTable = ListTable | PivotTable | PivotChart;\nexport type IOption = ListTableConstructorOptions | PivotTableConstructorOptions | PivotChartConstructorOptions;\n\nexport type BaseTableProps = EventsProps &\n IOption & {\n vtableConstrouctor?: any;\n type?: string;\n /** 上层container */\n container?: HTMLDivElement;\n /** option */\n option?: IOption;\n /** 数据 */\n records?: Record<string, unknown>[];\n /** 画布宽度 */\n width?: number | string;\n /** 画布高度 */\n height?: number | string;\n skipFunctionDiff?: boolean;\n keepColumnWidthChange?: boolean;\n\n ReactDOM?: any;\n\n reactAttributePlugin?: VTableReactAttributePlugin;\n\n /** 表格渲染完成事件 */\n onReady?: (instance: IVTable, isInitial: boolean) => void;\n /** throw error when chart run into an error */\n onError?: (err: Error) => void;\n };\n\n// for react-vtable\nif (isBrowserEnv()) {\n container.load(reactEnvModule);\n}\n\ntype Props = React.PropsWithChildren<BaseTableProps>;\n\nconst notOptionKeys = [\n ...REACT_PRIVATE_PROPS,\n ...TABLE_EVENTS_KEYS,\n 'skipFunctionDiff',\n 'onError',\n 'onReady',\n 'option',\n 'records',\n 'container',\n 'vtableConstrouctor'\n];\n\nconst getComponentId = (child: React.ReactNode, index: number) => {\n const componentName = child && (child as any).type && ((child as any).type.displayName || (child as any).type.name);\n return `${componentName}-${index}`;\n};\n\nconst parseOptionFromChildren = (props: Props) => {\n const optionFromChildren: Omit<IOption, 'type' | 'data' | 'width' | 'height'> = {} as any;\n\n toArray(props.children).map((child, index) => {\n const parseOption = child && (child as any).type && (child as any).type.parseOption;\n\n if (parseOption && (child as any).props) {\n const childProps = isNil((child as any).props.componentId)\n ? {\n ...(child as any).props,\n componentId: getComponentId(child, index)\n }\n : (child as any).props;\n\n const optionResult = parseOption(childProps) as {\n optionName: keyof Omit<IOption, 'type' | 'data' | 'width' | 'height'>;\n isSingle: boolean;\n option: any;\n };\n\n if ((child as React.ReactElement).key) {\n optionResult.option.key = (child as React.ReactElement).key;\n }\n\n if (optionResult.isSingle) {\n optionFromChildren[optionResult.optionName] = optionResult.option as never;\n } else {\n if (!optionFromChildren[optionResult.optionName]) {\n optionFromChildren[optionResult.optionName] = [] as never;\n }\n\n optionFromChildren[optionResult.optionName].push(optionResult.option);\n }\n }\n });\n\n return optionFromChildren;\n};\n\nconst BaseTable: React.FC<Props> = React.forwardRef((props, ref) => {\n const [updateId, setUpdateId] = useState<number>(0);\n const tableContext = useRef<TableContextType>({});\n useImperativeHandle(ref, () => tableContext.current?.table);\n const hasOption = !!props.option;\n const hasRecords = !!props.records;\n const isUnmount = useRef<boolean>(false);\n const prevOption = useRef(pickWithout(props, notOptionKeys));\n const optionFromChildren = useRef<Omit<IOption, 'records'>>(null);\n const prevRecords = useRef(props.records);\n const eventsBinded = React.useRef<BaseTableProps>(null);\n const skipFunctionDiff = !!props.skipFunctionDiff;\n const keepColumnWidthChange = !!props.keepColumnWidthChange;\n const columnWidths = useRef<Map<string, number>>(new Map());\n const pivotColumnWidths = useRef<{ dimensions: TYPES.IDimensionInfo[]; width: number }[]>([]);\n const pivotHeaderColumnWidths = useRef<number[]>([]);\n\n const parseOption = useCallback(\n (props: Props) => {\n if (hasOption && props.option) {\n if (hasRecords && props.records) {\n return {\n ...props.option,\n clearDOM: false,\n records: props.records\n };\n }\n return {\n ...props.option,\n clearDOM: false\n };\n }\n\n return {\n records: props.records,\n ...prevOption.current,\n ...optionFromChildren.current,\n clearDOM: false,\n customConfig: {\n ...prevOption.current.customConfig,\n createReactContainer: true\n }\n // ...tableContext.current?.optionFromChildren\n };\n },\n [hasOption, hasRecords]\n );\n\n const createTable = useCallback(\n (props: Props) => {\n const vtable = new props.vtableConstrouctor(props.container, parseOption(props));\n vtable.scenegraph.stage.reactAttribute = props.ReactDOM;\n vtable.scenegraph.stage.pluginService.register(props.reactAttributePlugin ?? new VTableReactAttributePlugin());\n vtable.scenegraph.stage.params.ReactDOM = props.ReactDOM;\n tableContext.current = { ...tableContext.current, table: vtable };\n isUnmount.current = false;\n\n columnWidths.current.clear();\n pivotColumnWidths.current = [];\n pivotHeaderColumnWidths.current = [];\n\n vtable.on('resize_column_end', (args: { col: number; colWidths: number[] }) => {\n const table = tableContext.current.table;\n if (!keepColumnWidthChange) {\n return;\n }\n const { col, colWidths } = args;\n const width = colWidths[col];\n if (vtable.isPivotTable()) {\n const path = (table as PivotTable).getCellHeaderPaths(col, table.columnHeaderLevelCount);\n let dimensions;\n if (path.cellLocation === 'rowHeader') {\n dimensions = path.rowHeaderPaths as TYPES.IDimensionInfo[];\n } else {\n dimensions = path.colHeaderPaths as TYPES.IDimensionInfo[];\n }\n\n let found = false;\n pivotColumnWidths.current.forEach(item => {\n if (JSON.stringify(item.dimensions) === JSON.stringify(dimensions)) {\n item.width = width;\n found = true;\n }\n });\n if (!found) {\n pivotColumnWidths.current.push({ dimensions, width });\n }\n } else {\n const define = table.getBodyColumnDefine(col, 0);\n if ((define as any)?.key) {\n columnWidths.current.set((define as any).key, width);\n }\n }\n });\n },\n [parseOption]\n );\n\n const handleTableRender = useCallback(() => {\n if (!isUnmount.current) {\n if (!tableContext.current || !tableContext.current.table) {\n return;\n }\n // rebind events after render\n bindEventsToTable(tableContext.current.table, props, eventsBinded.current, TABLE_EVENTS);\n\n // to be fixed\n // will cause another useEffect\n setUpdateId(updateId + 1);\n if (props.onReady) {\n props.onReady(tableContext.current.table, updateId === 0);\n }\n }\n }, [updateId, setUpdateId, props]);\n\n const renderTable = useCallback(() => {\n if (tableContext.current.table) {\n // eslint-disable-next-line promise/catch-or-return\n tableContext.current.table.render();\n handleTableRender();\n }\n }, [handleTableRender]);\n\n useEffect(() => {\n const newOptionFromChildren = hasOption ? null : parseOptionFromChildren(props);\n\n if (!tableContext.current?.table) {\n if (!hasOption) {\n optionFromChildren.current = newOptionFromChildren;\n }\n\n createTable(props);\n renderTable();\n // bindEventsToTable(tableContext.current.table, props, null, TABLE_EVENTS);\n // tableContext.current = {\n // ...tableContext.current,\n // isChildrenUpdated: false\n // };\n eventsBinded.current = props;\n return;\n }\n\n if (hasOption) {\n if (!isEqual(eventsBinded.current.option, props.option, { skipFunction: skipFunctionDiff })) {\n const option = parseOption(props);\n if (keepColumnWidthChange) {\n const columnWidthConfig = updateWidthCache(\n columnWidths.current,\n pivotColumnWidths.current,\n tableContext.current.table\n );\n (option as any).columnWidthConfig = columnWidthConfig;\n (option as any).columnWidthConfigForRowHeader = columnWidthConfig;\n }\n // eslint-disable-next-line promise/catch-or-return\n tableContext.current.table.updateOption(option as any);\n handleTableRender();\n eventsBinded.current = props;\n } else if (\n hasRecords &&\n !isEqual(eventsBinded.current.records, props.records, { skipFunction: skipFunctionDiff })\n ) {\n if (keepColumnWidthChange) {\n const columnWidthConfig = updateWidthCache(\n columnWidths.current,\n pivotColumnWidths.current,\n tableContext.current.table\n );\n (tableContext.current.table.internalProps as any).columnWidthConfig = columnWidthConfig;\n (tableContext.current.table.internalProps as any).columnWidthConfigForRowHeader = columnWidthConfig;\n }\n tableContext.current.table.setRecords(props.records as any[]);\n handleTableRender();\n eventsBinded.current = props;\n }\n return;\n }\n\n const newOption = pickWithout(props, notOptionKeys);\n\n if (\n !isEqual(newOption, prevOption.current, { skipFunction: skipFunctionDiff }) ||\n // tableContext.current.isChildrenUpdated\n !isEqual(newOptionFromChildren, optionFromChildren.current, { skipFunction: skipFunctionDiff })\n ) {\n prevOption.current = newOption;\n optionFromChildren.current = newOptionFromChildren;\n\n const option = parseOption(props);\n if (keepColumnWidthChange) {\n const columnWidthConfig = updateWidthCache(\n columnWidths.current,\n pivotColumnWidths.current,\n tableContext.current.table\n );\n (option as any).columnWidthConfig = columnWidthConfig;\n (option as any).columnWidthConfigForRowHeader = columnWidthConfig;\n }\n tableContext.current.table.updateOption(option as any);\n\n // columnWidths.current = [];\n handleTableRender();\n eventsBinded.current = props;\n } else if (hasRecords && !isEqual(props.records, prevRecords.current, { skipFunction: skipFunctionDiff })) {\n prevRecords.current = props.records;\n\n if (keepColumnWidthChange) {\n const columnWidthConfig = updateWidthCache(\n columnWidths.current,\n pivotColumnWidths.current,\n tableContext.current.table\n );\n (tableContext.current.table.internalProps as any).columnWidthConfig = columnWidthConfig;\n (tableContext.current.table.internalProps as any).columnWidthConfigForRowHeader = columnWidthConfig;\n }\n\n tableContext.current.table.setRecords(props.records);\n handleTableRender();\n eventsBinded.current = props;\n }\n // tableContext.current = {\n // ...tableContext.current,\n // isChildrenUpdated: false\n // };\n }, [createTable, hasOption, hasRecords, parseOption, handleTableRender, renderTable, skipFunctionDiff, props]);\n\n useEffect(() => {\n return () => {\n if (tableContext) {\n if (tableContext.current && tableContext.current.table) {\n tableContext.current.table.release();\n tableContext.current = null;\n }\n }\n eventsBinded.current = null;\n isUnmount.current = true;\n };\n }, []);\n\n return (\n <RootTableContext.Provider value={tableContext.current}>\n {toArray(props.children).map((child: React.ReactNode, index: number) => {\n if (typeof child === 'string') {\n return;\n }\n\n const childId = getComponentId(child, index);\n\n // const componentName =\n // child && (child as any).type && ((child as any).type.displayName || (child as any).type.name);\n // const childId = `${componentName}-${index}`;\n\n return (\n // <React.Fragment key={(child as any)?.props?.id ?? (child as any)?.id ?? `child-${index}`}>\n // {React.cloneElement(child as IMarkElement, {\n // updateId: updateId\n // })}\n // </React.Fragment>\n <React.Fragment key={childId}>\n {React.cloneElement(child as React.ReactElement<any, React.JSXElementConstructor<any>>, {\n updateId: updateId,\n componentId: childId,\n componentIndex: index\n })}\n </React.Fragment>\n );\n })}\n </RootTableContext.Provider>\n );\n});\n\nexport const createTable = <T extends Props>(\n componentName: string,\n defaultProps?: Partial<T>,\n callback?: (props: T) => T\n) => {\n const Com = withContainer<ContainerProps, T>(BaseTable as any, componentName, (props: T) => {\n // props.type = type;\n\n if (defaultProps) {\n return Object.assign(props, defaultProps);\n }\n\n // if (callback) {\n // return callback(props);\n // }\n\n // if (type) {\n // return { ...props, type };\n // }\n return props;\n });\n Com.displayName = componentName;\n return Com;\n};\n\nfunction updateWidthCache(\n columnWidths: Map<string, number>,\n pivotColumnWidths: { dimensions: TYPES.IDimensionInfo[]; width: number }[],\n table: IVTable\n) {\n if (table.isPivotTable()) {\n return pivotColumnWidths;\n }\n const columnWidthConfig: { key: string; width: number }[] = [];\n columnWidths.forEach((width, key) => {\n columnWidthConfig.push({\n key,\n width\n });\n });\n return columnWidthConfig;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export { ListTable } from './list-table';
2
+ export { PivotTable } from './pivot-table';
3
+ export { PivotChart, registerChartModule } from './pivot-chart';
4
+ export { ListTableSimple } from './list-table-simple';
5
+ export { PivotTableSimple } from './pivot-table-simple';
6
+ export { register } from 'k-vtable';
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.register = exports.PivotTableSimple = exports.ListTableSimple = exports.registerChartModule = exports.PivotChart = exports.PivotTable = exports.ListTable = void 0;
6
+
7
+ var list_table_1 = require("./list-table");
8
+
9
+ Object.defineProperty(exports, "ListTable", {
10
+ enumerable: !0,
11
+ get: function() {
12
+ return list_table_1.ListTable;
13
+ }
14
+ });
15
+
16
+ var pivot_table_1 = require("./pivot-table");
17
+
18
+ Object.defineProperty(exports, "PivotTable", {
19
+ enumerable: !0,
20
+ get: function() {
21
+ return pivot_table_1.PivotTable;
22
+ }
23
+ });
24
+
25
+ var pivot_chart_1 = require("./pivot-chart");
26
+
27
+ Object.defineProperty(exports, "PivotChart", {
28
+ enumerable: !0,
29
+ get: function() {
30
+ return pivot_chart_1.PivotChart;
31
+ }
32
+ }), Object.defineProperty(exports, "registerChartModule", {
33
+ enumerable: !0,
34
+ get: function() {
35
+ return pivot_chart_1.registerChartModule;
36
+ }
37
+ });
38
+
39
+ var list_table_simple_1 = require("./list-table-simple");
40
+
41
+ Object.defineProperty(exports, "ListTableSimple", {
42
+ enumerable: !0,
43
+ get: function() {
44
+ return list_table_simple_1.ListTableSimple;
45
+ }
46
+ });
47
+
48
+ var pivot_table_simple_1 = require("./pivot-table-simple");
49
+
50
+ Object.defineProperty(exports, "PivotTableSimple", {
51
+ enumerable: !0,
52
+ get: function() {
53
+ return pivot_table_simple_1.PivotTableSimple;
54
+ }
55
+ });
56
+
57
+ var k_vtable_1 = require("k-vtable");
58
+
59
+ Object.defineProperty(exports, "register", {
60
+ enumerable: !0,
61
+ get: function() {
62
+ return k_vtable_1.register;
63
+ }
64
+ });
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,6CAAgE;AAAvD,yGAAA,UAAU,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AACxC,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AAEzB,qCAAoC;AAA3B,oGAAA,QAAQ,OAAA","file":"index.js","sourcesContent":["export { ListTable } from './list-table';\nexport { PivotTable } from './pivot-table';\nexport { PivotChart, registerChartModule } from './pivot-chart';\nexport { ListTableSimple } from './list-table-simple';\nexport { PivotTableSimple } from './pivot-table-simple';\n\nexport { register } from 'k-vtable';\n"]}
@@ -0,0 +1,8 @@
1
+ import type React from 'react';
2
+ import type { ListTableConstructorOptions } from 'k-vtable';
3
+ import type { BaseTableProps } from './base-table';
4
+ export interface ListTableProps extends Omit<BaseTableProps, 'records'>, Omit<ListTableConstructorOptions, 'container'> {
5
+ }
6
+ export declare const ListTableSimple: React.ForwardRefExoticComponent<Omit<ListTableProps & {
7
+ children?: React.ReactNode;
8
+ } & import("../containers/withContainer").ContainerProps, "ref"> & React.RefAttributes<any>>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.ListTableSimple = void 0;
6
+
7
+ const k_vtable_1 = require("k-vtable"), base_table_1 = require("./base-table");
8
+
9
+ exports.ListTableSimple = (0, base_table_1.createTable)("ListTable", {
10
+ type: "list-table",
11
+ vtableConstrouctor: k_vtable_1.ListTableSimple
12
+ });
13
+ //# sourceMappingURL=list-table-simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/list-table-simple.tsx"],"names":[],"mappings":";;;AAEA,uCAAoE;AAEpE,6CAA2C;AAM9B,QAAA,eAAe,GAAG,IAAA,wBAAW,EAA0C,WAAW,EAAE;IAC/F,IAAI,EAAE,YAAY;IAClB,kBAAkB,EAAE,0BAA4B;CACjD,CAAC,CAAC","file":"list-table-simple.js","sourcesContent":["import type React from 'react';\nimport type { ListTableConstructorOptions } from 'k-vtable';\nimport { ListTableSimple as ListTableConstrouctor } from 'k-vtable';\nimport type { BaseTableProps } from './base-table';\nimport { createTable } from './base-table';\n\nexport interface ListTableProps\n extends Omit<BaseTableProps, 'records'>,\n Omit<ListTableConstructorOptions, 'container'> {}\n\nexport const ListTableSimple = createTable<React.PropsWithChildren<ListTableProps>>('ListTable', {\n type: 'list-table',\n vtableConstrouctor: ListTableConstrouctor as any\n});\n"]}
@@ -0,0 +1,8 @@
1
+ import type React from 'react';
2
+ import type { ListTableConstructorOptions } from 'k-vtable';
3
+ import type { BaseTableProps } from './base-table';
4
+ export interface ListTableProps extends Omit<BaseTableProps, 'records'>, Omit<ListTableConstructorOptions, 'container'> {
5
+ }
6
+ export declare const ListTable: React.ForwardRefExoticComponent<Omit<ListTableProps & {
7
+ children?: React.ReactNode;
8
+ } & import("../containers/withContainer").ContainerProps, "ref"> & React.RefAttributes<any>>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.ListTable = void 0;
6
+
7
+ const k_vtable_1 = require("k-vtable"), base_table_1 = require("./base-table");
8
+
9
+ exports.ListTable = (0, base_table_1.createTable)("ListTable", {
10
+ type: "list-table",
11
+ vtableConstrouctor: k_vtable_1.ListTable
12
+ });
13
+ //# sourceMappingURL=list-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/list-table.tsx"],"names":[],"mappings":";;;AAEA,uCAA8D;AAE9D,6CAA2C;AAM9B,QAAA,SAAS,GAAG,IAAA,wBAAW,EAA0C,WAAW,EAAE;IACzF,IAAI,EAAE,YAAY;IAClB,kBAAkB,EAAE,oBAA4B;CACjD,CAAC,CAAC","file":"list-table.js","sourcesContent":["import type React from 'react';\nimport type { ListTableConstructorOptions } from 'k-vtable';\nimport { ListTable as ListTableConstrouctor } from 'k-vtable';\nimport type { BaseTableProps } from './base-table';\nimport { createTable } from './base-table';\n\nexport interface ListTableProps\n extends Omit<BaseTableProps, 'records'>,\n Omit<ListTableConstructorOptions, 'container'> {}\n\nexport const ListTable = createTable<React.PropsWithChildren<ListTableProps>>('ListTable', {\n type: 'list-table',\n vtableConstrouctor: ListTableConstrouctor as any\n});\n"]}
@@ -0,0 +1,13 @@
1
+ import type React from 'react';
2
+ import type { PivotChartConstructorOptions } from 'k-vtable';
3
+ import type { BaseTableProps } from './base-table';
4
+ interface AnyRecords {
5
+ records: Record<string, unknown>[];
6
+ }
7
+ export interface PivotChartProps extends Omit<BaseTableProps, 'records'>, Omit<PivotChartConstructorOptions, 'container' | 'records'>, AnyRecords {
8
+ }
9
+ export declare const PivotChart: React.ForwardRefExoticComponent<Omit<PivotChartProps & {
10
+ children?: React.ReactNode;
11
+ } & import("../containers/withContainer").ContainerProps, "ref"> & React.RefAttributes<any>>;
12
+ export declare function registerChartModule(name: string, chart: any): void;
13
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.registerChartModule = exports.PivotChart = void 0;
6
+
7
+ const k_vtable_1 = require("k-vtable"), k_vtable_2 = require("k-vtable"), base_table_1 = require("./base-table");
8
+
9
+ function registerChartModule(name, chart) {
10
+ k_vtable_1.register.chartModule(name, chart);
11
+ }
12
+
13
+ exports.PivotChart = (0, base_table_1.createTable)("PivotChart", {
14
+ type: "pivot-chart",
15
+ vtableConstrouctor: k_vtable_2.PivotChart
16
+ }), exports.registerChartModule = registerChartModule;
17
+ //# sourceMappingURL=pivot-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/pivot-chart.tsx"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,uCAAgE;AAEhE,6CAA2C;AAU9B,QAAA,UAAU,GAAG,IAAA,wBAAW,EAA2C,YAAY,EAAE;IAC5F,IAAI,EAAE,aAAa;IACnB,kBAAkB,EAAE,qBAA6B;CAClD,CAAC,CAAC;AAEH,SAAgB,mBAAmB,CAAC,IAAY,EAAE,KAAU;IAC1D,mBAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,kDAEC","file":"pivot-chart.js","sourcesContent":["import type React from 'react';\nimport { register } from 'k-vtable';\nimport type { PivotChartConstructorOptions } from 'k-vtable';\nimport { PivotChart as PivotChartConstrouctor } from 'k-vtable';\nimport type { BaseTableProps } from './base-table';\nimport { createTable } from './base-table';\n\ninterface AnyRecords {\n records: Record<string, unknown>[];\n}\nexport interface PivotChartProps\n extends Omit<BaseTableProps, 'records'>,\n Omit<PivotChartConstructorOptions, 'container' | 'records'>,\n AnyRecords {}\n\nexport const PivotChart = createTable<React.PropsWithChildren<PivotChartProps>>('PivotChart', {\n type: 'pivot-chart',\n vtableConstrouctor: PivotChartConstrouctor as any\n});\n\nexport function registerChartModule(name: string, chart: any) {\n register.chartModule(name, chart);\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type React from 'react';
2
+ import type { PivotTableConstructorOptions } from 'k-vtable';
3
+ import type { BaseTableProps } from './base-table';
4
+ export interface PivotTableProps extends Omit<BaseTableProps, 'records'>, Omit<PivotTableConstructorOptions, 'container'> {
5
+ }
6
+ export declare const PivotTableSimple: React.ForwardRefExoticComponent<Omit<PivotTableProps & {
7
+ children?: React.ReactNode;
8
+ } & import("../containers/withContainer").ContainerProps, "ref"> & React.RefAttributes<any>>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.PivotTableSimple = void 0;
6
+
7
+ const k_vtable_1 = require("k-vtable"), base_table_1 = require("./base-table");
8
+
9
+ exports.PivotTableSimple = (0, base_table_1.createTable)("PivotTable", {
10
+ type: "pivot-table",
11
+ vtableConstrouctor: k_vtable_1.PivotTableSimple
12
+ });
13
+ //# sourceMappingURL=pivot-table-simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/pivot-table-simple.tsx"],"names":[],"mappings":";;;AAEA,uCAAsE;AAEtE,6CAA2C;AAM9B,QAAA,gBAAgB,GAAG,IAAA,wBAAW,EAA2C,YAAY,EAAE;IAClG,IAAI,EAAE,aAAa;IACnB,kBAAkB,EAAE,2BAA6B;CAClD,CAAC,CAAC","file":"pivot-table-simple.js","sourcesContent":["import type React from 'react';\nimport type { PivotTableConstructorOptions } from 'k-vtable';\nimport { PivotTableSimple as PivotTableConstrouctor } from 'k-vtable';\nimport type { BaseTableProps } from './base-table';\nimport { createTable } from './base-table';\n\nexport interface PivotTableProps\n extends Omit<BaseTableProps, 'records'>,\n Omit<PivotTableConstructorOptions, 'container'> {}\n\nexport const PivotTableSimple = createTable<React.PropsWithChildren<PivotTableProps>>('PivotTable', {\n type: 'pivot-table',\n vtableConstrouctor: PivotTableConstrouctor as any\n});\n"]}
@@ -0,0 +1,8 @@
1
+ import type React from 'react';
2
+ import type { PivotTableConstructorOptions } from 'k-vtable';
3
+ import type { BaseTableProps } from './base-table';
4
+ export interface PivotTableProps extends Omit<BaseTableProps, 'records'>, Omit<PivotTableConstructorOptions, 'container'> {
5
+ }
6
+ export declare const PivotTable: React.ForwardRefExoticComponent<Omit<PivotTableProps & {
7
+ children?: React.ReactNode;
8
+ } & import("../containers/withContainer").ContainerProps, "ref"> & React.RefAttributes<any>>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.PivotTable = void 0;
6
+
7
+ const k_vtable_1 = require("k-vtable"), base_table_1 = require("./base-table");
8
+
9
+ exports.PivotTable = (0, base_table_1.createTable)("PivotTable", {
10
+ type: "pivot-table",
11
+ vtableConstrouctor: k_vtable_1.PivotTable
12
+ });
13
+ //# sourceMappingURL=pivot-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tables/pivot-table.tsx"],"names":[],"mappings":";;;AAEA,uCAAgE;AAEhE,6CAA2C;AAM9B,QAAA,UAAU,GAAG,IAAA,wBAAW,EAA2C,YAAY,EAAE;IAC5F,IAAI,EAAE,aAAa;IACnB,kBAAkB,EAAE,qBAA6B;CAClD,CAAC,CAAC","file":"pivot-table.js","sourcesContent":["import type React from 'react';\nimport type { PivotTableConstructorOptions } from 'k-vtable';\nimport { PivotTable as PivotTableConstrouctor } from 'k-vtable';\nimport type { BaseTableProps } from './base-table';\nimport { createTable } from './base-table';\n\nexport interface PivotTableProps\n extends Omit<BaseTableProps, 'records'>,\n Omit<PivotTableConstructorOptions, 'container'> {}\n\nexport const PivotTable = createTable<React.PropsWithChildren<PivotTableProps>>('PivotTable', {\n type: 'pivot-table',\n vtableConstrouctor: PivotTableConstrouctor as any\n});\n"]}
package/cjs/util.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ export declare const uid: (prefix?: string) => string;
4
+ export declare const getDisplayName: (Comp: any) => any;
5
+ export declare const typeOfComponent: (component: any, customTypeKey?: string) => string;
6
+ export declare const toArray: <T = ReactNode, TC = ReactNode>(children: T) => TC[];
7
+ export declare const findAllByType: <T extends ReactNode, TC = unknown>(children: React.ReactNode, type: TC | TC[]) => T[];
8
+ export declare const findChildByType: <T extends ReactNode, TC = unknown>(children: React.ReactNode, type: TC) => T;
package/cjs/util.js ADDED
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function(mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ default: mod
6
+ };
7
+ };
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: !0
11
+ }), exports.findChildByType = exports.findAllByType = exports.toArray = exports.typeOfComponent = exports.getDisplayName = exports.uid = void 0;
12
+
13
+ const vutils_1 = require("@visactor/vutils"), react_1 = __importDefault(require("react")), react_is_1 = require("react-is");
14
+
15
+ let id = 0;
16
+
17
+ const uid = prefix => prefix ? `${prefix}-${id++}` : "" + id++;
18
+
19
+ exports.uid = uid;
20
+
21
+ const getDisplayName = Comp => "string" == typeof Comp ? Comp : Comp ? Comp.displayName || Comp.name : "";
22
+
23
+ exports.getDisplayName = getDisplayName;
24
+
25
+ const typeOfComponent = (component, customTypeKey = "__TYPE") => (null == component ? void 0 : component.props) && component.props[customTypeKey] || "string" == typeof (null == component ? void 0 : component.type) && component.type || (null == component ? void 0 : component.type) && "symbol" == typeof component.type && "Symbol(react.fragment)" === component.type.toString() && "react.fragment" || "function" == typeof (null == component ? void 0 : component.type) && component.type || "object" == typeof (null == component ? void 0 : component.type) && "Symbol(react.forward_ref)" === component.type.$$typeof.toString() && "react.forward_ref" || "string" == typeof component && "string" || "function" == typeof component && "function" || void 0;
26
+
27
+ exports.typeOfComponent = typeOfComponent;
28
+
29
+ const toArray = children => {
30
+ let result = [];
31
+ return react_1.default.Children.forEach(children, (child => {
32
+ (0, vutils_1.isNil)(child) || ((0, react_is_1.isFragment)(child) ? result = result.concat((0,
33
+ exports.toArray)(child.props.children)) : result.push(child));
34
+ })), result;
35
+ };
36
+
37
+ exports.toArray = toArray;
38
+
39
+ const findAllByType = (children, type) => {
40
+ const result = [];
41
+ let types = [];
42
+ return types = (0, vutils_1.isArray)(type) ? type.map((t => (0, exports.getDisplayName)(t))) : [ (0,
43
+ exports.getDisplayName)(type) ], (0, exports.toArray)(children).forEach((child => {
44
+ const childType = (0, exports.getDisplayName)((0, exports.typeOfComponent)(child));
45
+ -1 !== types.indexOf(childType) && result.push(child);
46
+ })), result;
47
+ };
48
+
49
+ exports.findAllByType = findAllByType;
50
+
51
+ const findChildByType = (children, type) => {
52
+ const result = (0, exports.findAllByType)(children, type);
53
+ return null == result ? void 0 : result[0];
54
+ };
55
+
56
+ exports.findChildByType = findChildByType;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isNil, isArray, isString, isFunction, isPlainObject } from '@visactor/vutils';\nimport type { ReactNode } from 'react';\nimport React from 'react';\nimport { isFragment } from 'react-is';\n\nlet id = 0;\n\nexport const uid = (prefix?: string) => {\n if (prefix) {\n return `${prefix}-${id++}`;\n }\n\n return `${id++}`;\n};\n\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\nexport const getDisplayName = (Comp: any) => {\n if (typeof Comp === 'string') {\n return Comp;\n }\n if (!Comp) {\n return '';\n }\n return Comp.displayName || Comp.name;\n};\n\nexport const typeOfComponent = (component: any, customTypeKey = '__TYPE'): string => {\n return (\n (component?.props && component.props[customTypeKey]) ||\n (typeof component?.type === 'string' && component.type) ||\n (component?.type &&\n typeof component.type === 'symbol' &&\n component.type.toString() === 'Symbol(react.fragment)' &&\n 'react.fragment') ||\n (typeof component?.type === 'function' && component.type) ||\n (typeof component?.type === 'object' &&\n component.type.$$typeof.toString() === 'Symbol(react.forward_ref)' &&\n 'react.forward_ref') ||\n (typeof component === 'string' && 'string') ||\n (typeof component === 'function' && 'function') ||\n undefined\n );\n};\n\nexport const toArray = <T = ReactNode, TC = ReactNode>(children: T): TC[] => {\n let result: TC[] = [];\n\n React.Children.forEach(children, child => {\n if (isNil(child)) {\n return;\n }\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child as unknown as TC);\n }\n });\n\n return result;\n};\n\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\nexport const findAllByType = <T extends React.ReactNode, TC = unknown>(\n children: React.ReactNode,\n type: TC | TC[]\n): T[] => {\n const result: T[] = [];\n let types: string[] = [];\n\n if (isArray(type)) {\n types = type.map(t => getDisplayName(t));\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(child => {\n const childType = getDisplayName(typeOfComponent(child));\n\n if (types.indexOf(childType) !== -1) {\n result.push(child as T);\n }\n });\n\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\nexport const findChildByType = <T extends React.ReactNode, TC = unknown>(children: React.ReactNode, type: TC): T => {\n const result = findAllByType<T, TC>(children, type);\n\n return result?.[0];\n};\n"]}
@@ -0,0 +1 @@
1
+
package/cjs/vtable.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=vtable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtable.ts"],"names":[],"mappings":"","file":"vtable.js","sourcesContent":["// import * as VTable from 'k-vtable';\n\n// export { VTable };\n"]}