@visactor/react-vtable 1.6.0-alpha.5 → 1.6.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 (289) hide show
  1. package/cjs/components/avatar/avatar.d.ts +15 -0
  2. package/cjs/components/avatar/avatar.js +84 -0
  3. package/cjs/components/avatar/avatar.js.map +1 -0
  4. package/cjs/components/button/button.d.ts +27 -0
  5. package/cjs/components/button/button.js +107 -0
  6. package/cjs/components/button/button.js.map +1 -0
  7. package/cjs/components/checkbox/checkbox.d.ts +17 -0
  8. package/cjs/components/checkbox/checkbox.js +69 -0
  9. package/cjs/components/checkbox/checkbox.js.map +1 -0
  10. package/cjs/components/index.d.ts +7 -19
  11. package/cjs/components/index.js +4 -101
  12. package/cjs/components/index.js.map +1 -1
  13. package/cjs/components/link/link.d.ts +30 -0
  14. package/cjs/components/link/link.js +119 -0
  15. package/cjs/components/link/link.js.map +1 -0
  16. package/cjs/components/popover/popover.d.ts +13 -0
  17. package/cjs/components/popover/popover.js +281 -0
  18. package/cjs/components/popover/popover.js.map +1 -0
  19. package/cjs/components/radio/radio.d.ts +15 -0
  20. package/cjs/components/radio/radio.js +64 -0
  21. package/cjs/components/radio/radio.js.map +1 -0
  22. package/cjs/components/tag/tag.d.ts +13 -0
  23. package/cjs/components/tag/tag.js +47 -0
  24. package/cjs/components/tag/tag.js.map +1 -0
  25. package/cjs/components/vrender-components/checkbox.d.ts +4 -0
  26. package/cjs/components/vrender-components/checkbox.js +6 -0
  27. package/cjs/components/vrender-components/checkbox.js.map +1 -0
  28. package/cjs/components/vrender-components/component-creater.d.ts +2 -0
  29. package/cjs/components/vrender-components/component-creater.js +22 -0
  30. package/cjs/components/vrender-components/component-creater.js.map +1 -0
  31. package/cjs/components/vrender-components/radio.d.ts +4 -0
  32. package/cjs/components/vrender-components/radio.js +6 -0
  33. package/cjs/components/vrender-components/radio.js.map +1 -0
  34. package/cjs/components/vrender-components/tag.d.ts +4 -0
  35. package/cjs/components/vrender-components/tag.js +6 -0
  36. package/cjs/components/vrender-components/tag.js.map +1 -0
  37. package/cjs/components/vrender-components/type.d.ts +6 -0
  38. package/cjs/components/vrender-components/type.js +6 -0
  39. package/cjs/components/vrender-components/type.js.map +1 -0
  40. package/cjs/constants.js +2 -1
  41. package/cjs/containers/withContainer.js +1 -2
  42. package/cjs/eventsUtils.d.ts +1 -1
  43. package/cjs/eventsUtils.js +1 -1
  44. package/cjs/eventsUtils.js.map +1 -1
  45. package/cjs/index.d.ts +2 -2
  46. package/cjs/index.js +2 -2
  47. package/cjs/index.js.map +1 -1
  48. package/cjs/{components → table-components}/base-component.js +1 -0
  49. package/cjs/table-components/base-component.js.map +1 -0
  50. package/cjs/table-components/component/emptyTip.js.map +1 -0
  51. package/cjs/table-components/component/menu.js.map +1 -0
  52. package/cjs/table-components/component/title.d.ts +4 -0
  53. package/cjs/table-components/component/title.js +10 -0
  54. package/cjs/table-components/component/title.js.map +1 -0
  55. package/cjs/table-components/component/tooltip.js.map +1 -0
  56. package/cjs/{components → table-components}/custom/custom-layout.d.ts +1 -1
  57. package/cjs/{components → table-components}/custom/custom-layout.js +2 -6
  58. package/cjs/table-components/custom/custom-layout.js.map +1 -0
  59. package/{es/components → cjs/table-components}/custom/graphic.d.ts +1 -14
  60. package/cjs/table-components/custom/graphic.js.map +1 -0
  61. package/cjs/table-components/custom/reconciler.d.ts +5 -0
  62. package/cjs/{components → table-components}/custom/reconciler.js +12 -10
  63. package/cjs/table-components/custom/reconciler.js.map +1 -0
  64. package/cjs/table-components/custom/vtable-browser-env-contribution.d.ts +7 -0
  65. package/cjs/{components → table-components}/custom/vtable-browser-env-contribution.js +4 -4
  66. package/cjs/table-components/custom/vtable-browser-env-contribution.js.map +1 -0
  67. package/{es/components → cjs/table-components}/custom/vtable-react-attribute-plugin.d.ts +2 -8
  68. package/cjs/{components → table-components}/custom/vtable-react-attribute-plugin.js +6 -6
  69. package/cjs/table-components/custom/vtable-react-attribute-plugin.js.map +1 -0
  70. package/cjs/table-components/custom-component.js.map +1 -0
  71. package/cjs/table-components/index.d.ts +19 -0
  72. package/cjs/table-components/index.js +130 -0
  73. package/cjs/table-components/index.js.map +1 -0
  74. package/cjs/table-components/list/list-column.js.map +1 -0
  75. package/cjs/table-components/pivot/pivot-corner.js.map +1 -0
  76. package/cjs/table-components/pivot/pivot-dimension.js.map +1 -0
  77. package/cjs/table-components/pivot/pivot-header-title.js.map +1 -0
  78. package/cjs/table-components/pivot/pivot-indicator.js.map +1 -0
  79. package/cjs/tables/base-table.d.ts +5 -4
  80. package/cjs/tables/base-table.js +6 -10
  81. package/cjs/tables/base-table.js.map +1 -1
  82. package/cjs/tables/index.d.ts +2 -0
  83. package/cjs/tables/index.js +19 -1
  84. package/cjs/tables/index.js.map +1 -1
  85. package/cjs/tables/list-table-simple.d.ts +8 -0
  86. package/cjs/tables/list-table-simple.js +13 -0
  87. package/cjs/tables/list-table-simple.js.map +1 -0
  88. package/cjs/tables/list-table.d.ts +1 -1
  89. package/cjs/tables/list-table.js +5 -2
  90. package/cjs/tables/list-table.js.map +1 -1
  91. package/cjs/tables/pivot-chart.d.ts +5 -1
  92. package/cjs/tables/pivot-chart.js +6 -29
  93. package/cjs/tables/pivot-chart.js.map +1 -1
  94. package/cjs/tables/pivot-table-simple.d.ts +8 -0
  95. package/cjs/tables/pivot-table-simple.js +13 -0
  96. package/cjs/tables/pivot-table-simple.js.map +1 -0
  97. package/cjs/tables/pivot-table.d.ts +1 -1
  98. package/cjs/tables/pivot-table.js +5 -2
  99. package/cjs/tables/pivot-table.js.map +1 -1
  100. package/cjs/util.js +1 -2
  101. package/cjs/vtable.d.ts +1 -2
  102. package/cjs/vtable.js +0 -33
  103. package/cjs/vtable.js.map +1 -1
  104. package/es/components/avatar/avatar.d.ts +15 -0
  105. package/es/components/avatar/avatar.js +82 -0
  106. package/es/components/avatar/avatar.js.map +1 -0
  107. package/es/components/button/button.d.ts +27 -0
  108. package/es/components/button/button.js +84 -0
  109. package/es/components/button/button.js.map +1 -0
  110. package/es/components/checkbox/checkbox.d.ts +17 -0
  111. package/es/components/checkbox/checkbox.js +48 -0
  112. package/es/components/checkbox/checkbox.js.map +1 -0
  113. package/es/components/index.d.ts +7 -19
  114. package/es/components/index.js +7 -17
  115. package/es/components/index.js.map +1 -1
  116. package/es/components/link/link.d.ts +30 -0
  117. package/es/components/link/link.js +96 -0
  118. package/es/components/link/link.js.map +1 -0
  119. package/es/components/popover/popover.d.ts +13 -0
  120. package/es/components/popover/popover.js +258 -0
  121. package/es/components/popover/popover.js.map +1 -0
  122. package/es/components/radio/radio.d.ts +15 -0
  123. package/es/components/radio/radio.js +43 -0
  124. package/es/components/radio/radio.js.map +1 -0
  125. package/es/components/tag/tag.d.ts +13 -0
  126. package/es/components/tag/tag.js +45 -0
  127. package/es/components/tag/tag.js.map +1 -0
  128. package/es/components/vrender-components/checkbox.d.ts +4 -0
  129. package/es/components/vrender-components/checkbox.js +2 -0
  130. package/es/components/vrender-components/checkbox.js.map +1 -0
  131. package/es/components/vrender-components/component-creater.d.ts +2 -0
  132. package/es/components/vrender-components/component-creater.js +14 -0
  133. package/es/components/vrender-components/component-creater.js.map +1 -0
  134. package/es/components/vrender-components/radio.d.ts +4 -0
  135. package/es/components/vrender-components/radio.js +2 -0
  136. package/es/components/vrender-components/radio.js.map +1 -0
  137. package/es/components/vrender-components/tag.d.ts +4 -0
  138. package/es/components/vrender-components/tag.js +2 -0
  139. package/es/components/vrender-components/tag.js.map +1 -0
  140. package/es/components/vrender-components/type.d.ts +6 -0
  141. package/es/components/vrender-components/type.js +2 -0
  142. package/es/components/vrender-components/type.js.map +1 -0
  143. package/es/constants.js +2 -1
  144. package/es/containers/withContainer.js +1 -2
  145. package/es/eventsUtils.d.ts +1 -1
  146. package/es/eventsUtils.js +2 -2
  147. package/es/eventsUtils.js.map +1 -1
  148. package/es/index.d.ts +2 -2
  149. package/es/index.js +3 -3
  150. package/es/index.js.map +1 -1
  151. package/es/{components → table-components}/base-component.js +2 -1
  152. package/es/table-components/base-component.js.map +1 -0
  153. package/es/table-components/component/emptyTip.js.map +1 -0
  154. package/es/table-components/component/menu.js.map +1 -0
  155. package/es/table-components/component/title.d.ts +4 -0
  156. package/es/table-components/component/title.js +4 -0
  157. package/es/table-components/component/title.js.map +1 -0
  158. package/es/table-components/component/tooltip.js.map +1 -0
  159. package/es/{components → table-components}/custom/custom-layout.d.ts +1 -1
  160. package/es/{components → table-components}/custom/custom-layout.js +1 -7
  161. package/es/table-components/custom/custom-layout.js.map +1 -0
  162. package/{cjs/components → es/table-components}/custom/graphic.d.ts +1 -14
  163. package/es/table-components/custom/graphic.js.map +1 -0
  164. package/es/table-components/custom/reconciler.d.ts +5 -0
  165. package/es/{components → table-components}/custom/reconciler.js +9 -8
  166. package/es/table-components/custom/reconciler.js.map +1 -0
  167. package/es/table-components/custom/vtable-browser-env-contribution.d.ts +7 -0
  168. package/es/{components → table-components}/custom/vtable-browser-env-contribution.js +3 -3
  169. package/es/table-components/custom/vtable-browser-env-contribution.js.map +1 -0
  170. package/{cjs/components → es/table-components}/custom/vtable-react-attribute-plugin.d.ts +2 -8
  171. package/es/{components → table-components}/custom/vtable-react-attribute-plugin.js +1 -3
  172. package/es/table-components/custom/vtable-react-attribute-plugin.js.map +1 -0
  173. package/es/table-components/custom-component.js.map +1 -0
  174. package/es/table-components/index.d.ts +19 -0
  175. package/es/table-components/index.js +24 -0
  176. package/es/table-components/index.js.map +1 -0
  177. package/es/table-components/list/list-column.js.map +1 -0
  178. package/es/table-components/pivot/pivot-corner.js.map +1 -0
  179. package/es/table-components/pivot/pivot-dimension.js.map +1 -0
  180. package/es/table-components/pivot/pivot-header-title.js.map +1 -0
  181. package/es/table-components/pivot/pivot-indicator.js.map +1 -0
  182. package/es/tables/base-table.d.ts +5 -4
  183. package/es/tables/base-table.js +7 -13
  184. package/es/tables/base-table.js.map +1 -1
  185. package/es/tables/index.d.ts +2 -0
  186. package/es/tables/index.js +4 -0
  187. package/es/tables/index.js.map +1 -1
  188. package/es/tables/list-table-simple.d.ts +8 -0
  189. package/es/tables/list-table-simple.js +9 -0
  190. package/es/tables/list-table-simple.js.map +1 -0
  191. package/es/tables/list-table.d.ts +1 -1
  192. package/es/tables/list-table.js +6 -1
  193. package/es/tables/list-table.js.map +1 -1
  194. package/es/tables/pivot-chart.d.ts +5 -1
  195. package/es/tables/pivot-chart.js +8 -3
  196. package/es/tables/pivot-chart.js.map +1 -1
  197. package/es/tables/pivot-table-simple.d.ts +8 -0
  198. package/es/tables/pivot-table-simple.js +9 -0
  199. package/es/tables/pivot-table-simple.js.map +1 -0
  200. package/es/tables/pivot-table.d.ts +1 -1
  201. package/es/tables/pivot-table.js +6 -1
  202. package/es/tables/pivot-table.js.map +1 -1
  203. package/es/util.js +1 -2
  204. package/es/vtable.d.ts +1 -2
  205. package/es/vtable.js +1 -3
  206. package/es/vtable.js.map +1 -1
  207. package/package.json +6 -6
  208. package/cjs/components/base-component.js.map +0 -1
  209. package/cjs/components/component/emptyTip.js.map +0 -1
  210. package/cjs/components/component/menu.js.map +0 -1
  211. package/cjs/components/component/tooltip.js.map +0 -1
  212. package/cjs/components/custom/component.d.ts +0 -16
  213. package/cjs/components/custom/component.js +0 -7
  214. package/cjs/components/custom/component.js.map +0 -1
  215. package/cjs/components/custom/custom-layout.js.map +0 -1
  216. package/cjs/components/custom/graphic.js.map +0 -1
  217. package/cjs/components/custom/reconciler.d.ts +0 -5
  218. package/cjs/components/custom/reconciler.js.map +0 -1
  219. package/cjs/components/custom/vtable-browser-env-contribution.d.ts +0 -2
  220. package/cjs/components/custom/vtable-browser-env-contribution.js.map +0 -1
  221. package/cjs/components/custom/vtable-react-attribute-plugin.js.map +0 -1
  222. package/cjs/components/custom-component.js.map +0 -1
  223. package/cjs/components/list/list-column.js.map +0 -1
  224. package/cjs/components/pivot/pivot-corner.js.map +0 -1
  225. package/cjs/components/pivot/pivot-dimension.js.map +0 -1
  226. package/cjs/components/pivot/pivot-header-title.js.map +0 -1
  227. package/cjs/components/pivot/pivot-indicator.js.map +0 -1
  228. package/dist/react-vtable.js +0 -13799
  229. package/dist/react-vtable.min.js +0 -46
  230. package/es/components/base-component.js.map +0 -1
  231. package/es/components/component/emptyTip.js.map +0 -1
  232. package/es/components/component/menu.js.map +0 -1
  233. package/es/components/component/tooltip.js.map +0 -1
  234. package/es/components/custom/component.d.ts +0 -16
  235. package/es/components/custom/component.js +0 -6
  236. package/es/components/custom/component.js.map +0 -1
  237. package/es/components/custom/custom-layout.js.map +0 -1
  238. package/es/components/custom/graphic.js.map +0 -1
  239. package/es/components/custom/reconciler.d.ts +0 -5
  240. package/es/components/custom/reconciler.js.map +0 -1
  241. package/es/components/custom/vtable-browser-env-contribution.d.ts +0 -2
  242. package/es/components/custom/vtable-browser-env-contribution.js.map +0 -1
  243. package/es/components/custom/vtable-react-attribute-plugin.js.map +0 -1
  244. package/es/components/custom-component.js.map +0 -1
  245. package/es/components/list/list-column.js.map +0 -1
  246. package/es/components/pivot/pivot-corner.js.map +0 -1
  247. package/es/components/pivot/pivot-dimension.js.map +0 -1
  248. package/es/components/pivot/pivot-header-title.js.map +0 -1
  249. package/es/components/pivot/pivot-indicator.js.map +0 -1
  250. /package/cjs/{components → table-components}/base-component.d.ts +0 -0
  251. /package/cjs/{components → table-components}/component/emptyTip.d.ts +0 -0
  252. /package/cjs/{components → table-components}/component/emptyTip.js +0 -0
  253. /package/cjs/{components → table-components}/component/menu.d.ts +0 -0
  254. /package/cjs/{components → table-components}/component/menu.js +0 -0
  255. /package/cjs/{components → table-components}/component/tooltip.d.ts +0 -0
  256. /package/cjs/{components → table-components}/component/tooltip.js +0 -0
  257. /package/cjs/{components → table-components}/custom/graphic.js +0 -0
  258. /package/cjs/{components → table-components}/custom-component.d.ts +0 -0
  259. /package/cjs/{components → table-components}/custom-component.js +0 -0
  260. /package/cjs/{components → table-components}/list/list-column.d.ts +0 -0
  261. /package/cjs/{components → table-components}/list/list-column.js +0 -0
  262. /package/cjs/{components → table-components}/pivot/pivot-corner.d.ts +0 -0
  263. /package/cjs/{components → table-components}/pivot/pivot-corner.js +0 -0
  264. /package/cjs/{components → table-components}/pivot/pivot-dimension.d.ts +0 -0
  265. /package/cjs/{components → table-components}/pivot/pivot-dimension.js +0 -0
  266. /package/cjs/{components → table-components}/pivot/pivot-header-title.d.ts +0 -0
  267. /package/cjs/{components → table-components}/pivot/pivot-header-title.js +0 -0
  268. /package/cjs/{components → table-components}/pivot/pivot-indicator.d.ts +0 -0
  269. /package/cjs/{components → table-components}/pivot/pivot-indicator.js +0 -0
  270. /package/es/{components → table-components}/base-component.d.ts +0 -0
  271. /package/es/{components → table-components}/component/emptyTip.d.ts +0 -0
  272. /package/es/{components → table-components}/component/emptyTip.js +0 -0
  273. /package/es/{components → table-components}/component/menu.d.ts +0 -0
  274. /package/es/{components → table-components}/component/menu.js +0 -0
  275. /package/es/{components → table-components}/component/tooltip.d.ts +0 -0
  276. /package/es/{components → table-components}/component/tooltip.js +0 -0
  277. /package/es/{components → table-components}/custom/graphic.js +0 -0
  278. /package/es/{components → table-components}/custom-component.d.ts +0 -0
  279. /package/es/{components → table-components}/custom-component.js +0 -0
  280. /package/es/{components → table-components}/list/list-column.d.ts +0 -0
  281. /package/es/{components → table-components}/list/list-column.js +0 -0
  282. /package/es/{components → table-components}/pivot/pivot-corner.d.ts +0 -0
  283. /package/es/{components → table-components}/pivot/pivot-corner.js +0 -0
  284. /package/es/{components → table-components}/pivot/pivot-dimension.d.ts +0 -0
  285. /package/es/{components → table-components}/pivot/pivot-dimension.js +0 -0
  286. /package/es/{components → table-components}/pivot/pivot-header-title.d.ts +0 -0
  287. /package/es/{components → table-components}/pivot/pivot-header-title.js +0 -0
  288. /package/es/{components → table-components}/pivot/pivot-indicator.d.ts +0 -0
  289. /package/es/{components → table-components}/pivot/pivot-indicator.js +0 -0
@@ -0,0 +1,258 @@
1
+ import { isValid, merge } from "@visactor/vutils";
2
+
3
+ import React, { useCallback, useEffect, useState } from "react";
4
+
5
+ import { Group } from "../../table-components";
6
+
7
+ const defaultProps = {
8
+ defaultPopupVisible: !1,
9
+ position: "top"
10
+ }, poptipPanalStyle = {
11
+ backgroundColor: "rgb(255, 255, 255)",
12
+ boxShadow: "0 4px 10px rgba(0, 0, 0, .1)",
13
+ fontSize: "14px",
14
+ borderRadius: "4px",
15
+ lineHeight: "1.5715",
16
+ boxSizing: "border-box",
17
+ color: "rgb(78, 89, 105)",
18
+ border: "1px solid rgb(229, 230, 235)",
19
+ padding: "12px 16px"
20
+ }, Tooltip = props => {
21
+ const arrowStyle = Object.assign({
22
+ content: "",
23
+ height: "8px",
24
+ width: "8px",
25
+ position: "absolute",
26
+ display: "block",
27
+ boxSizing: "border-box",
28
+ transform: "rotate(45deg)",
29
+ transformOrigin: "50% 50% 0",
30
+ backgroundColor: "rgb(255, 255, 255)",
31
+ border: "1px solid rgb(229, 230, 235)"
32
+ }, getArrowStyle(props.position));
33
+ return props.visible ? React.createElement(React.Fragment, null, React.createElement("div", {
34
+ style: poptipPanalStyle
35
+ }, props.content), React.createElement("div", {
36
+ style: arrowStyle
37
+ })) : React.createElement(React.Fragment, null);
38
+ };
39
+
40
+ function PopoverComponent(baseProps, ref) {
41
+ const props = merge({}, defaultProps, baseProps), {content: content, position: position, popupVisible: popupVisible, defaultPopupVisible: defaultPopupVisible, children: children} = props;
42
+ let popoverRef = React.useRef(null);
43
+ popoverRef = ref || popoverRef;
44
+ const [popupOpen, setPopupOpen] = useState(!1);
45
+ useEffect((() => {
46
+ setPopupOpen(!!popupVisible), popoverRef.current.stage.renderNextFrame();
47
+ }), [ popupVisible ]), useEffect((() => {
48
+ var _a;
49
+ setPopupOpen(null !== (_a = null != popupVisible ? popupVisible : defaultPopupVisible) && void 0 !== _a && _a);
50
+ }), []);
51
+ const {transform: transform, anchorType: anchorType} = getTransform(position), groupAttribute = {
52
+ react: {
53
+ style: {
54
+ transform: transform
55
+ },
56
+ element: React.createElement(Tooltip, {
57
+ visible: popupOpen,
58
+ content: content,
59
+ position: position
60
+ }),
61
+ container: null,
62
+ visible: !0,
63
+ pointerEvents: !1,
64
+ anchorType: anchorType
65
+ }
66
+ }, groupMouseEnter = useCallback((event => {
67
+ isValid(popupVisible) || (setPopupOpen(!0), event.currentTarget.stage.renderNextFrame());
68
+ }), []), groupMouseLeave = useCallback((event => {
69
+ isValid(popupVisible) || (setPopupOpen(!1), event.currentTarget.stage.renderNextFrame());
70
+ }), []);
71
+ return React.createElement(Group, {
72
+ ref: popoverRef,
73
+ attribute: groupAttribute,
74
+ onMouseEnter: groupMouseEnter,
75
+ onMouseLeave: groupMouseLeave
76
+ }, children);
77
+ }
78
+
79
+ function getTransform(position) {
80
+ switch (position) {
81
+ case "top":
82
+ return {
83
+ anchorType: "top",
84
+ transform: "translate(-50%, calc(-100% - 10px))"
85
+ };
86
+
87
+ case "tl":
88
+ return {
89
+ anchorType: "top-left",
90
+ transform: "translate(0, calc(-100% - 10px))"
91
+ };
92
+
93
+ case "tr":
94
+ return {
95
+ anchorType: "top-right",
96
+ transform: "translate(-100%, calc(-100% - 10px))"
97
+ };
98
+
99
+ case "bottom":
100
+ return {
101
+ anchorType: "bottom",
102
+ transform: "translate(-50%, 10px)"
103
+ };
104
+
105
+ case "bl":
106
+ return {
107
+ anchorType: "bottom-left",
108
+ transform: "translate(0, 10px)"
109
+ };
110
+
111
+ case "br":
112
+ return {
113
+ anchorType: "bottom-right",
114
+ transform: "translate(-100%, 10px)"
115
+ };
116
+
117
+ case "left":
118
+ return {
119
+ anchorType: "left",
120
+ transform: "translate(calc(-100% - 10px), -50%)"
121
+ };
122
+
123
+ case "lt":
124
+ return {
125
+ anchorType: "top-left",
126
+ transform: "translate(calc(-100% - 10px), 0)"
127
+ };
128
+
129
+ case "lb":
130
+ return {
131
+ anchorType: "bottom-left",
132
+ transform: "translate(calc(-100% - 10px), -100%)"
133
+ };
134
+
135
+ case "right":
136
+ return {
137
+ anchorType: "right",
138
+ transform: "translate(10px, -50%)"
139
+ };
140
+
141
+ case "rt":
142
+ return {
143
+ anchorType: "top-right",
144
+ transform: "translate(10px, 0)"
145
+ };
146
+
147
+ case "rb":
148
+ return {
149
+ anchorType: "bottom-right",
150
+ transform: "translate(10px, -100%)"
151
+ };
152
+ }
153
+ }
154
+
155
+ function getArrowStyle(position) {
156
+ switch (position) {
157
+ case "top":
158
+ return {
159
+ top: "calc(100% - 5px)",
160
+ left: "calc(50% - 5px)",
161
+ borderTop: "none",
162
+ borderLeft: "none"
163
+ };
164
+
165
+ case "tl":
166
+ return {
167
+ top: "calc(100% - 4px)",
168
+ left: "14px",
169
+ borderTop: "none",
170
+ borderLeft: "none"
171
+ };
172
+
173
+ case "tr":
174
+ return {
175
+ top: "calc(100% - 4px)",
176
+ left: "calc(100% - 24px)",
177
+ borderTop: "none",
178
+ borderLeft: "none"
179
+ };
180
+
181
+ case "bottom":
182
+ return {
183
+ top: "-4px",
184
+ left: "calc(50% - 4px)",
185
+ borderRight: "none",
186
+ borderBottom: "none"
187
+ };
188
+
189
+ case "bl":
190
+ return {
191
+ top: "-4px",
192
+ left: "14px",
193
+ borderRight: "none",
194
+ borderBottom: "none"
195
+ };
196
+
197
+ case "br":
198
+ return {
199
+ top: "-4px",
200
+ left: "calc(100% - 24px)",
201
+ borderRight: "none",
202
+ borderBottom: "none"
203
+ };
204
+
205
+ case "left":
206
+ return {
207
+ top: "calc(50% - 4px)",
208
+ left: "calc(100% - 5px)",
209
+ borderLeft: "none",
210
+ borderBottom: "none"
211
+ };
212
+
213
+ case "lt":
214
+ return {
215
+ top: "14px",
216
+ left: "calc(100% - 5px)",
217
+ borderLeft: "none",
218
+ borderBottom: "none"
219
+ };
220
+
221
+ case "lb":
222
+ return {
223
+ top: "calc(100% - 24px)",
224
+ left: "calc(100% - 5px)",
225
+ borderLeft: "none",
226
+ borderBottom: "none"
227
+ };
228
+
229
+ case "right":
230
+ return {
231
+ top: "calc(50% - 4px)",
232
+ left: "-4px",
233
+ borderRight: "none",
234
+ borderTop: "none"
235
+ };
236
+
237
+ case "rt":
238
+ return {
239
+ top: "14px",
240
+ left: "-4px",
241
+ borderRight: "none",
242
+ borderTop: "none"
243
+ };
244
+
245
+ case "rb":
246
+ return {
247
+ top: "calc(100% - 24px)",
248
+ left: "-4px",
249
+ borderRight: "none",
250
+ borderTop: "none"
251
+ };
252
+ }
253
+ }
254
+
255
+ export const Popover = React.forwardRef(PopoverComponent);
256
+
257
+ Popover.displayName = "Popover";
258
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/popover/popover.tsx"],"names":[],"mappings":"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","file":"popover.js","sourcesContent":["import type {\n BackgroundAttributes,\n Cursor,\n IGroup,\n IGroupGraphicAttribute,\n IRectGraphicAttribute,\n ITextGraphicAttribute,\n Padding,\n Tag,\n TagAttributes\n} from '@visactor/vtable/es/vrender';\nimport { Tag as VTag } from '../vrender-components/tag';\nimport type { BoundsAnchorType } from '@visactor/vutils';\nimport { isValid, merge } from '@visactor/vutils';\nimport type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { Group } from '../../table-components';\n\ntype Anchor = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb';\nexport interface PopoverProps {\n children?: ReactElement;\n defaultPopupVisible?: boolean;\n // disabled?: boolean;\n // popupHoverStay?: boolean;\n popupVisible?: boolean;\n // color?: string;\n position?: Anchor;\n content?: ReactNode;\n // onVisibleChange?: (visible: boolean) => void;\n}\n\nconst defaultProps: PopoverProps = {\n defaultPopupVisible: false,\n // popupHoverStay: true,\n // popupVisible: false,\n position: 'top'\n};\n\nconst poptipPanalStyle: CSSProperties = {\n backgroundColor: 'rgb(255, 255, 255)',\n boxShadow: '0 4px 10px rgba(0, 0, 0, .1)',\n fontSize: '14px',\n borderRadius: '4px',\n lineHeight: '1.5715',\n boxSizing: 'border-box',\n color: 'rgb(78, 89, 105)',\n border: '1px solid rgb(229, 230, 235)',\n padding: '12px 16px'\n};\n\nconst Tooltip = (props: { visible: boolean; content: ReactNode; position: Anchor }) => {\n const arrowStyle: CSSProperties = {\n content: '',\n height: '8px',\n width: '8px',\n position: 'absolute',\n display: 'block',\n boxSizing: 'border-box',\n transform: 'rotate(45deg)',\n transformOrigin: '50% 50% 0',\n backgroundColor: 'rgb(255, 255, 255)',\n border: '1px solid rgb(229, 230, 235)',\n ...getArrowStyle(props.position)\n };\n\n return props.visible ? (\n <>\n <div style={poptipPanalStyle}>{props.content}</div>\n <div style={arrowStyle}></div>\n </>\n ) : (\n <></>\n );\n};\n\nfunction PopoverComponent(baseProps: PopoverProps, ref: React.Ref<IGroup>) {\n const props: PopoverProps = merge({}, defaultProps, baseProps);\n const { content, position, popupVisible, defaultPopupVisible, children } = props;\n let popoverRef = React.useRef<IGroup>(null);\n popoverRef = ref ? (ref as React.RefObject<IGroup>) : popoverRef;\n\n const [popupOpen, setPopupOpen] = useState(false);\n\n useEffect(() => {\n if (popupVisible) {\n setPopupOpen(true);\n } else {\n setPopupOpen(false);\n }\n popoverRef.current.stage.renderNextFrame();\n }, [popupVisible]);\n\n useEffect(() => {\n setPopupOpen(popupVisible ?? defaultPopupVisible ?? false);\n }, []);\n\n const { transform, anchorType } = getTransform(position);\n const poptipContainerStyle: CSSProperties = {\n // display: popupOpen ? 'block' : 'none',\n transform: transform\n };\n\n const groupAttribute: IGroupGraphicAttribute = {\n react: {\n // width: 100,\n // height: 100,\n style: poptipContainerStyle,\n element: <Tooltip visible={popupOpen} content={content} position={position} />,\n container: null,\n visible: true,\n pointerEvents: false,\n anchorType: anchorType\n } as IGroupGraphicAttribute['react']\n };\n\n const groupMouseEnter = useCallback((event: any) => {\n if (isValid(popupVisible)) {\n return;\n }\n setPopupOpen(true);\n event.currentTarget.stage.renderNextFrame();\n }, []);\n\n const groupMouseLeave = useCallback((event: any) => {\n if (isValid(popupVisible)) {\n return;\n }\n setPopupOpen(false);\n event.currentTarget.stage.renderNextFrame();\n }, []);\n\n return (\n <Group ref={popoverRef} attribute={groupAttribute} onMouseEnter={groupMouseEnter} onMouseLeave={groupMouseLeave}>\n {children}\n </Group>\n );\n}\n\nfunction getTransform(position: Anchor): { transform: string; anchorType: BoundsAnchorType } {\n switch (position) {\n case 'top':\n return {\n anchorType: 'top',\n transform: 'translate(-50%, calc(-100% - 10px))'\n };\n case 'tl':\n return {\n anchorType: 'top-left',\n transform: 'translate(0, calc(-100% - 10px))'\n };\n case 'tr':\n return {\n anchorType: 'top-right',\n transform: 'translate(-100%, calc(-100% - 10px))'\n };\n case 'bottom':\n return {\n anchorType: 'bottom',\n transform: 'translate(-50%, 10px)'\n };\n case 'bl':\n return {\n anchorType: 'bottom-left',\n transform: 'translate(0, 10px)'\n };\n case 'br':\n return {\n anchorType: 'bottom-right',\n transform: 'translate(-100%, 10px)'\n };\n case 'left':\n return {\n anchorType: 'left',\n transform: 'translate(calc(-100% - 10px), -50%)'\n };\n case 'lt':\n return {\n anchorType: 'top-left',\n transform: 'translate(calc(-100% - 10px), 0)'\n };\n case 'lb':\n return {\n anchorType: 'bottom-left',\n transform: 'translate(calc(-100% - 10px), -100%)'\n };\n case 'right':\n return {\n anchorType: 'right',\n transform: 'translate(10px, -50%)'\n };\n case 'rt':\n return {\n anchorType: 'top-right',\n transform: 'translate(10px, 0)'\n };\n case 'rb':\n return {\n anchorType: 'bottom-right',\n transform: 'translate(10px, -100%)'\n };\n }\n}\n\nfunction getArrowStyle(position: Anchor): CSSProperties {\n switch (position) {\n case 'top':\n return {\n top: 'calc(100% - 5px)',\n left: 'calc(50% - 5px)',\n borderTop: 'none',\n borderLeft: 'none'\n };\n case 'tl':\n return {\n top: 'calc(100% - 4px)',\n left: '14px', // 4(1/2width) + 10(offset)\n borderTop: 'none',\n borderLeft: 'none'\n };\n case 'tr':\n return {\n top: 'calc(100% - 4px)',\n left: 'calc(100% - 24px)', // 10(offset) + 10(width) + 4(1/2width)\n borderTop: 'none',\n borderLeft: 'none'\n };\n case 'bottom':\n return {\n top: '-4px',\n left: 'calc(50% - 4px)',\n borderRight: 'none',\n borderBottom: 'none'\n };\n case 'bl':\n return {\n top: '-4px',\n left: '14px', // 4(1/2width) + 10(offset)\n borderRight: 'none',\n borderBottom: 'none'\n };\n case 'br':\n return {\n top: '-4px',\n left: 'calc(100% - 24px)', // 10(offset) + 10(width) + 4(1/2width)\n borderRight: 'none',\n borderBottom: 'none'\n };\n case 'left':\n return {\n top: 'calc(50% - 4px)',\n left: 'calc(100% - 5px)',\n borderLeft: 'none',\n borderBottom: 'none'\n };\n case 'lt':\n return {\n top: '14px', // 4(1/2width) + 10(offset)\n left: 'calc(100% - 5px)',\n borderLeft: 'none',\n borderBottom: 'none'\n };\n case 'lb':\n return {\n top: 'calc(100% - 24px)', // 10(offset) + 10(width) + 4(1/2width)\n left: 'calc(100% - 5px)',\n borderLeft: 'none',\n borderBottom: 'none'\n };\n case 'right':\n return {\n top: 'calc(50% - 4px)',\n left: '-4px',\n borderRight: 'none',\n borderTop: 'none'\n };\n case 'rt':\n return {\n top: '14px', // 4(1/2width) + 10(offset)\n left: '-4px',\n borderRight: 'none',\n borderTop: 'none'\n };\n case 'rb':\n return {\n top: 'calc(100% - 24px)', // 10(offset) + 10(width) + 4(1/2width)\n left: '-4px',\n borderRight: 'none',\n borderTop: 'none'\n };\n }\n}\n\nexport const Popover = React.forwardRef<IGroup, PopoverProps>(PopoverComponent);\n\nPopover.displayName = 'Popover';\n"]}
@@ -0,0 +1,15 @@
1
+ import type { Cursor, Radio as VRenderRadio, RadioAttributes } from '@visactor/vtable/es/vrender';
2
+ import React from 'react';
3
+ export interface RadioProps {
4
+ children?: string;
5
+ textStyle?: RadioAttributes['text'];
6
+ circleStyle?: RadioAttributes['circle'];
7
+ checked?: boolean;
8
+ interactive?: boolean;
9
+ disabled?: boolean;
10
+ disableCursor?: Cursor;
11
+ spaceBetweenTextAndIcon?: number;
12
+ visible?: boolean;
13
+ onChange?: (checked: boolean) => void;
14
+ }
15
+ export declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<VRenderRadio>>;
@@ -0,0 +1,43 @@
1
+ var __rest = this && this.__rest || function(s, e) {
2
+ var t = {};
3
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
4
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
5
+ var i = 0;
6
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
7
+ }
8
+ return t;
9
+ };
10
+
11
+ import { Radio as VRadio } from "../vrender-components/radio";
12
+
13
+ import { merge } from "@visactor/vutils";
14
+
15
+ import React, { useCallback, useEffect } from "react";
16
+
17
+ const defaultProps = {};
18
+
19
+ function RadioComponent(baseProps, ref) {
20
+ const props = merge({}, defaultProps, baseProps), {textStyle: textStyle, circleStyle: circleStyle, children: children} = props, rest = __rest(props, [ "textStyle", "circleStyle", "children" ]);
21
+ let radioRef = React.useRef(null);
22
+ radioRef = ref || radioRef;
23
+ const handleChange = useCallback((event => {
24
+ props.onChange && props.onChange(event.target.attribute.checked);
25
+ }), []);
26
+ return useEffect((() => (radioRef.current.addEventListener("radio_checked", handleChange),
27
+ () => {
28
+ radioRef.current.removeEventListener("radio_checked", handleChange);
29
+ })), []), React.createElement(VRadio, {
30
+ ref: radioRef,
31
+ attribute: Object.assign({
32
+ text: Object.assign(Object.assign({}, textStyle), {
33
+ text: children
34
+ }),
35
+ circle: circleStyle
36
+ }, rest)
37
+ });
38
+ }
39
+
40
+ export const Radio = React.forwardRef(RadioComponent);
41
+
42
+ Radio.displayName = "Radio";
43
+ //# sourceMappingURL=radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/radio/radio.tsx"],"names":[],"mappings":";;;;;;;;;;;AASA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAetD,MAAM,YAAY,GAAe,EAAE,CAAC;AAEpC,SAAS,cAAc,CAAC,SAAqB,EAAE,GAA4B;IACzE,MAAM,KAAK,GAAe,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAArD,wCAA6C,CAAQ,CAAC;IAC5D,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAe,IAAI,CAAC,CAAC;IAChD,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAE,GAAqC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,KAA+B,EAAE,EAAE;QACnE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACjE,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,QAAQ,EACb,SAAS,kBACP,IAAI,kCACC,SAAS,KACZ,IAAI,EAAE,QAAQ,KAEhB,MAAM,EAAE,WAAW,IAChB,IAAI,IAED,CACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA2B,cAAc,CAAC,CAAC;AAEhF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC","file":"radio.js","sourcesContent":["import type {\n BackgroundAttributes,\n Cursor,\n IRectGraphicAttribute,\n ITextGraphicAttribute,\n Padding,\n Radio as VRenderRadio,\n RadioAttributes\n} from '@visactor/vtable/es/vrender';\nimport { Radio as VRadio } from '../vrender-components/radio';\nimport { merge } from '@visactor/vutils';\nimport React, { useCallback, useEffect } from 'react';\n\nexport interface RadioProps {\n children?: string;\n textStyle?: RadioAttributes['text'];\n circleStyle?: RadioAttributes['circle'];\n checked?: boolean;\n interactive?: boolean;\n disabled?: boolean;\n disableCursor?: Cursor;\n spaceBetweenTextAndIcon?: number;\n visible?: boolean;\n onChange?: (checked: boolean) => void;\n}\n\nconst defaultProps: RadioProps = {};\n\nfunction RadioComponent(baseProps: RadioProps, ref: React.Ref<VRenderRadio>) {\n const props: RadioProps = merge({}, defaultProps, baseProps);\n const { textStyle, circleStyle, children, ...rest } = props;\n let radioRef = React.useRef<VRenderRadio>(null);\n radioRef = ref ? (ref as React.RefObject<VRenderRadio>) : radioRef;\n\n const handleChange = useCallback((event: { target: VRenderRadio }) => {\n props.onChange && props.onChange(event.target.attribute.checked);\n }, []);\n\n useEffect(() => {\n radioRef.current.addEventListener('radio_checked', handleChange);\n return () => {\n radioRef.current.removeEventListener('radio_checked', handleChange);\n };\n }, []);\n\n return (\n <VRadio\n ref={radioRef}\n attribute={{\n text: {\n ...textStyle,\n text: children\n },\n circle: circleStyle,\n ...rest\n }}\n ></VRadio>\n );\n}\n\nexport const Radio = React.forwardRef<VRenderRadio, RadioProps>(RadioComponent);\n\nRadio.displayName = 'Radio';\n"]}
@@ -0,0 +1,13 @@
1
+ import type { IRectGraphicAttribute, ITextGraphicAttribute, Padding, Tag as VRenderTag, TagAttributes } from '@visactor/vtable/es/vrender';
2
+ import React from 'react';
3
+ export interface TagProps {
4
+ attribute?: TagAttributes;
5
+ children?: string;
6
+ textStyle?: Partial<ITextGraphicAttribute>;
7
+ panelStyle?: Partial<IRectGraphicAttribute>;
8
+ padding?: Padding;
9
+ minWidth?: number;
10
+ maxWidth?: number;
11
+ visible?: boolean;
12
+ }
13
+ export declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<VRenderTag>>;
@@ -0,0 +1,45 @@
1
+ var __rest = this && this.__rest || function(s, e) {
2
+ var t = {};
3
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
4
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
5
+ var i = 0;
6
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
7
+ }
8
+ return t;
9
+ };
10
+
11
+ import { Tag as VTag } from "../vrender-components/tag";
12
+
13
+ import { merge } from "@visactor/vutils";
14
+
15
+ import React from "react";
16
+
17
+ const defaultProps = {
18
+ textStyle: {
19
+ fontSize: 14,
20
+ fontFamily: "sans-serif",
21
+ fill: "rgb(51, 101, 238)"
22
+ },
23
+ panelStyle: {
24
+ visible: !0,
25
+ fill: "#e6fffb",
26
+ lineWidth: 1,
27
+ cornerRadius: 4
28
+ }
29
+ };
30
+
31
+ function TagComponent(baseProps, ref) {
32
+ const props = merge({}, defaultProps, baseProps), {attribute: attribute, panelStyle: panelStyle, children: children} = props, rest = __rest(props, [ "attribute", "panelStyle", "children" ]);
33
+ let tagRef = React.useRef(null);
34
+ return tagRef = ref || tagRef, React.createElement(VTag, {
35
+ ref: tagRef,
36
+ attribute: null != attribute ? attribute : Object.assign({
37
+ text: children,
38
+ panel: panelStyle
39
+ }, rest)
40
+ });
41
+ }
42
+
43
+ export const Tag = React.forwardRef(TagComponent);
44
+
45
+ Tag.displayName = "Tag";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/tag/tag.tsx"],"names":[],"mappings":";;;;;;;;;;;AASA,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAoB,MAAM,OAAO,CAAC;AAazC,MAAM,YAAY,GAAa;IAC7B,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,mBAAmB;KAC1B;IAED,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;KAChB;CACF,CAAC;AAEF,SAAS,YAAY,CAAC,SAAmB,EAAE,GAA0B;IACnE,MAAM,KAAK,GAAa,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAApD,uCAA4C,CAAQ,CAAC;IAC3D,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAa,IAAI,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAE,GAAmC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7D,OAAO,CACL,oBAAC,IAAI,IACH,GAAG,EAAE,MAAM,EACX,SAAS,EACP,SAAS,aAAT,SAAS,cAAT,SAAS,mBACP,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,UAAiB,IACrB,IAAI,CACR,GAEG,CACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAuB,YAAY,CAAC,CAAC;AAExE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC","file":"tag.js","sourcesContent":["import type {\n BackgroundAttributes,\n Cursor,\n IRectGraphicAttribute,\n ITextGraphicAttribute,\n Padding,\n Tag as VRenderTag,\n TagAttributes\n} from '@visactor/vtable/es/vrender';\nimport { Tag as VTag } from '../vrender-components/tag';\nimport { merge } from '@visactor/vutils';\nimport React, { useEffect } from 'react';\n\nexport interface TagProps {\n attribute?: TagAttributes;\n children?: string;\n textStyle?: Partial<ITextGraphicAttribute>;\n panelStyle?: Partial<IRectGraphicAttribute>;\n padding?: Padding;\n minWidth?: number;\n maxWidth?: number;\n visible?: boolean;\n}\n\nconst defaultProps: TagProps = {\n textStyle: {\n fontSize: 14,\n fontFamily: 'sans-serif',\n fill: 'rgb(51, 101, 238)'\n },\n // padding: [8, 10],\n panelStyle: {\n visible: true,\n fill: '#e6fffb',\n lineWidth: 1,\n cornerRadius: 4\n }\n};\n\nfunction TagComponent(baseProps: TagProps, ref: React.Ref<VRenderTag>) {\n const props: TagProps = merge({}, defaultProps, baseProps);\n const { attribute, panelStyle, children, ...rest } = props;\n let tagRef = React.useRef<VRenderTag>(null);\n tagRef = ref ? (ref as React.RefObject<VRenderTag>) : tagRef;\n\n return (\n <VTag\n ref={tagRef}\n attribute={\n attribute ?? {\n text: children,\n panel: panelStyle as any,\n ...rest\n }\n }\n ></VTag>\n );\n}\n\nexport const Tag = React.forwardRef<VRenderTag, TagProps>(TagComponent);\n\nTag.displayName = 'Tag';\n"]}
@@ -0,0 +1,4 @@
1
+ import type { ReactElement, JSXElementConstructor } from 'react';
2
+ import type { CheckboxAttributes, CheckBox as VCheakbox } from '@visactor/vtable/es/vrender';
3
+ import type { GraphicProps } from './type';
4
+ export declare const Checkbox: (props: GraphicProps<CheckboxAttributes, VCheakbox>) => ReactElement<GraphicProps<CheckboxAttributes, VCheakbox>, JSXElementConstructor<GraphicProps<CheckboxAttributes, VCheakbox>>>;
@@ -0,0 +1,2 @@
1
+ export const Checkbox = "checkbox";
2
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/vrender-components/checkbox.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,QAAQ,GAKjB,UAAiB,CAAC","file":"checkbox.js","sourcesContent":["import type { ReactElement, JSXElementConstructor } from 'react';\nimport type { CheckboxAttributes, CheckBox as VCheakbox } from '@visactor/vtable/es/vrender';\nimport type { GraphicProps } from './type';\n\n// component from vrender-component\nexport const Checkbox: (\n props: GraphicProps<CheckboxAttributes, VCheakbox>\n) => ReactElement<\n GraphicProps<CheckboxAttributes, VCheakbox>,\n JSXElementConstructor<GraphicProps<CheckboxAttributes, VCheakbox>>\n> = 'checkbox' as any;\n"]}
@@ -0,0 +1,2 @@
1
+ import { CheckBox, Radio, Tag } from '@visactor/vtable/es/vrender';
2
+ export declare function createVRenderComponent(type: string, props: any): Tag | Radio | CheckBox;
@@ -0,0 +1,14 @@
1
+ import { CheckBox, Radio, Tag } from "@visactor/vtable/es/vrender";
2
+
3
+ export function createVRenderComponent(type, props) {
4
+ if ("tag" === type) {
5
+ return new Tag(props.attribute ? props.attribute : props);
6
+ }
7
+ if ("radio" === type) {
8
+ return new Radio(props.attribute ? props.attribute : props);
9
+ }
10
+ if ("checkbox" === type) {
11
+ return new CheckBox(props.attribute ? props.attribute : props);
12
+ }
13
+ }
14
+ //# sourceMappingURL=component-creater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/vrender-components/component-creater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,KAAU;IAE7D,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;KACZ;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,IAAI,KAAK,UAAU,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","file":"component-creater.js","sourcesContent":["import { CheckBox, Radio, Tag } from '@visactor/vtable/es/vrender';\n\nexport function createVRenderComponent(type: string, props: any) {\n // may have unwanted onxxx prop\n if (type === 'tag') {\n const tag = new Tag(props.attribute ? props.attribute : props);\n return tag;\n } else if (type === 'radio') {\n const radio = new Radio(props.attribute ? props.attribute : props);\n return radio;\n } else if (type === 'checkbox') {\n const checkbox = new CheckBox(props.attribute ? props.attribute : props);\n return checkbox;\n }\n return undefined;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { ReactElement, JSXElementConstructor } from 'react';
2
+ import type { Radio as VRadio, RadioAttributes } from '@visactor/vtable/es/vrender';
3
+ import type { GraphicProps } from './type';
4
+ export declare const Radio: (props: GraphicProps<RadioAttributes, VRadio>) => ReactElement<GraphicProps<RadioAttributes, VRadio>, JSXElementConstructor<GraphicProps<RadioAttributes, VRadio>>>;
@@ -0,0 +1,2 @@
1
+ export const Radio = "radio";
2
+ //# sourceMappingURL=radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/vrender-components/radio.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,KAAK,GAGhB,OAAc,CAAC","file":"radio.js","sourcesContent":["import type { ReactElement, JSXElementConstructor } from 'react';\nimport type { Radio as VRadio, RadioAttributes } from '@visactor/vtable/es/vrender';\nimport type { GraphicProps } from './type';\n\n// component from vrender-component\nexport const Radio: (\n props: GraphicProps<RadioAttributes, VRadio>\n) => ReactElement<GraphicProps<RadioAttributes, VRadio>, JSXElementConstructor<GraphicProps<RadioAttributes, VRadio>>> =\n 'radio' as any;\n"]}
@@ -0,0 +1,4 @@
1
+ import type { ReactElement, JSXElementConstructor } from 'react';
2
+ import type { Tag as VTag, TagAttributes } from '@visactor/vtable/es/vrender';
3
+ import type { GraphicProps } from './type';
4
+ export declare const Tag: (props: GraphicProps<TagAttributes, VTag>) => ReactElement<GraphicProps<TagAttributes, VTag>, JSXElementConstructor<GraphicProps<TagAttributes, VTag>>>;
@@ -0,0 +1,2 @@
1
+ export const Tag = "tag";
2
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/vrender-components/tag.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,GAAG,GAGd,KAAY,CAAC","file":"tag.js","sourcesContent":["import type { ReactElement, JSXElementConstructor } from 'react';\nimport type { Tag as VTag, TagAttributes } from '@visactor/vtable/es/vrender';\nimport type { GraphicProps } from './type';\n\n// component from vrender-component\nexport const Tag: (\n props: GraphicProps<TagAttributes, VTag>\n) => ReactElement<GraphicProps<TagAttributes, VTag>, JSXElementConstructor<GraphicProps<TagAttributes, VTag>>> =\n 'tag' as any;\n"]}
@@ -0,0 +1,6 @@
1
+ import type { Ref } from 'react';
2
+ import type { IEventParamsType } from '@visactor/vtable/es/vrender';
3
+ export type GraphicProps<IGraphicGraphicAttribute, IGraphic> = {
4
+ attribute?: IGraphicGraphicAttribute;
5
+ ref?: Ref<IGraphic>;
6
+ } & IGraphicGraphicAttribute & IEventParamsType;
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/vrender-components/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { Ref } from 'react';\nimport type { IEventParamsType } from '@visactor/vtable/es/vrender';\n\nexport type GraphicProps<IGraphicGraphicAttribute, IGraphic> = {\n attribute?: IGraphicGraphicAttribute;\n ref?: Ref<IGraphic>;\n} & IGraphicGraphicAttribute &\n IEventParamsType;\n"]}
package/es/constants.js CHANGED
@@ -1 +1,2 @@
1
- export const REACT_PRIVATE_PROPS = [ "children", "hooks", "ref" ];
1
+ export const REACT_PRIVATE_PROPS = [ "children", "hooks", "ref" ];
2
+ //# sourceMappingURL=constants.js.map
@@ -29,5 +29,4 @@ export default function withContainer(Comp, name = "TableContainer", getProps) {
29
29
  }, getProps ? getProps(options) : options)) : React.createElement(React.Fragment, null));
30
30
  }));
31
31
  return Cls.displayName = name || Comp.name, Cls;
32
- }
33
- //# sourceMappingURL=withContainer.js.map
32
+ }
@@ -103,4 +103,4 @@ export declare const TABLE_EVENTS: {
103
103
  };
104
104
  export declare const TABLE_EVENTS_KEYS: string[];
105
105
  export declare const findEventProps: <T extends EventsProps>(props: T, supportedEvents?: Record<string, string>) => EventsProps;
106
- export declare const bindEventsToTable: <T>(table: IVTable, newProps?: T, prevProps?: T, supportedEvents?: Record<string, string>) => boolean;
106
+ export declare const bindEventsToTable: <T extends EventsProps>(table: IVTable, newProps?: T, prevProps?: T, supportedEvents?: Record<string, string>) => boolean;
package/es/eventsUtils.js CHANGED
@@ -1,6 +1,6 @@
1
- import { ListTable, PivotTable, PivotChart } from "@visactor/vtable";
1
+ import { TABLE_EVENT_TYPE, PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from "@visactor/vtable";
2
2
 
3
- const EVENT_TYPE = Object.assign(Object.assign(Object.assign({}, ListTable.EVENT_TYPE), PivotTable.EVENT_TYPE), PivotChart.EVENT_TYPE);
3
+ const EVENT_TYPE = Object.assign(Object.assign(Object.assign({}, TABLE_EVENT_TYPE), PIVOT_TABLE_EVENT_TYPE), PIVOT_CHART_EVENT_TYPE);
4
4
 
5
5
  export const TABLE_EVENTS = {
6
6
  onClickCell: EVENT_TYPE.CLICK_CELL,
@@ -1 +1 @@
1
- {"version":3,"sources":["eventsUtils.ts"],"names":[],"mappings":"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","file":"eventsUtils.js","sourcesContent":["import { ListTable, PivotTable, PivotChart } from '@visactor/vtable';\nimport type { IVTable } from './tables/base-table';\nimport type { TYPES } from '@visactor/vtable';\n\nexport type EventCallback<Params> = (params: Params) => void;\n\nconst EVENT_TYPE = {\n ...ListTable.EVENT_TYPE,\n ...PivotTable.EVENT_TYPE,\n ...PivotChart.EVENT_TYPE\n};\n\nexport interface EventsProps {\n onClickCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['click_cell']>;\n onDblClickCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dblclick_cell']>;\n onMouseDownCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousedown_cell']>;\n onMouseUpCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseup_cell']>;\n onSelectedCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['selected_cell']>;\n onSelectedClear?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['selected_clear']>;\n onKeyDown?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['keydown']>;\n onMouseEnterTable?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseenter_table']>;\n onMouseLeaveTable?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseleave_table']>;\n onMouseDownTable?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousedown_table']>;\n onMouseMoveCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousemove_cell']>;\n onMouseEnterCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseenter_cell']>;\n onMouseLeaveCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseleave_cell']>;\n onContextMenuCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['contextmenu_cell']>;\n onResizeColumn?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['resize_column']>;\n onResizeColumnEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['resize_column_end']>;\n onChangeHeaderPosition?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['change_header_position']>;\n onSortClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['sort_click']>;\n onFreezeClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['freeze_click']>;\n onScroll?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['scroll']>;\n onDropdownMenuClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dropdown_menu_click']>;\n onMouseOverChartSymbol?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseover_chart_symbol']>;\n onDragSelectEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['drag_select_end']>;\n\n onDropdownIconClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dropdown_icon_click']>;\n onDropdownMenuClear?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dropdown_menu_clear']>;\n\n onTreeHierarchyStateChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['tree_hierarchy_state_change']>;\n\n onShowMenu?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['show_menu']>;\n onHideMenu?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['hide_menu']>;\n\n onIconClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['icon_click']>;\n\n onLegendItemClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_item_click']>;\n onLegendItemHover?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_item_hover']>;\n onLegendItemUnHover?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_item_unHover']>;\n onLegendChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_change']>;\n\n onMouseEnterAxis?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseenter_axis']>;\n onMouseLeaveAxis?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseleave_axis']>;\n\n onCheckboxStateChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['checkbox_state_change']>;\n onRadioStateChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['radio_state_change']>;\n onAfterRender?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['after_render']>;\n onInitialized?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['initialized']>;\n\n // pivot table only\n onPivotSortClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['pivot_sort_click']>;\n onDrillMenuClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['drillmenu_click']>;\n\n // pivot chart only\n onVChartEventType?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['vchart_event_type']>;\n\n onChangCellValue?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['change_cell_value']>;\n\n onMousedownFillHandle?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousedown_fill_handle']>;\n onDragFillHandleEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['drag_fill_handle_end']>;\n onDblclickFillHandle?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dblclick_fill_handle']>;\n\n onScrollVerticalEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['scroll_vertical_end']>;\n onScrollHorizontalEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['scroll_horizontal_end']>;\n}\n\nexport const TABLE_EVENTS = {\n onClickCell: EVENT_TYPE.CLICK_CELL,\n onDblClickCell: EVENT_TYPE.DBLCLICK_CELL,\n onMouseDownCell: EVENT_TYPE.MOUSEDOWN_CELL,\n onMouseUpCell: EVENT_TYPE.MOUSEUP_CELL,\n onSelectedCell: EVENT_TYPE.SELECTED_CELL,\n onSelectedClear: EVENT_TYPE.SELECTED_CLEAR,\n onKeyDown: EVENT_TYPE.KEYDOWN,\n onMouseEnterTable: EVENT_TYPE.MOUSEENTER_TABLE,\n onMouseLeaveTable: EVENT_TYPE.MOUSELEAVE_TABLE,\n onMouseDownTable: EVENT_TYPE.MOUSEDOWN_TABLE,\n onMouseMoveCell: EVENT_TYPE.MOUSEMOVE_CELL,\n onMouseEnterCell: EVENT_TYPE.MOUSEENTER_CELL,\n onMouseLeaveCell: EVENT_TYPE.MOUSELEAVE_CELL,\n onContextMenuCell: EVENT_TYPE.CONTEXTMENU_CELL,\n onResizeColumn: EVENT_TYPE.RESIZE_COLUMN,\n onResizeColumnEnd: EVENT_TYPE.RESIZE_COLUMN_END,\n onChangeHeaderPosition: EVENT_TYPE.CHANGE_HEADER_POSITION,\n onSortClick: EVENT_TYPE.SORT_CLICK,\n onFreezeClick: EVENT_TYPE.FREEZE_CLICK,\n onScroll: EVENT_TYPE.SCROLL,\n onDropdownMenuClick: EVENT_TYPE.DROPDOWN_MENU_CLICK,\n onMouseOverChartSymbol: EVENT_TYPE.MOUSEOVER_CHART_SYMBOL,\n onDragSelectEnd: EVENT_TYPE.DRAG_SELECT_END,\n\n onDropdownIconClick: EVENT_TYPE.DROPDOWN_ICON_CLICK,\n onDropdownMenuClear: EVENT_TYPE.DROPDOWN_MENU_CLEAR,\n\n onTreeHierarchyStateChange: EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE,\n\n onShowMenu: EVENT_TYPE.SHOW_MENU,\n onHideMenu: EVENT_TYPE.HIDE_MENU,\n\n onIconClick: EVENT_TYPE.ICON_CLICK,\n\n onLegendItemClick: EVENT_TYPE.LEGEND_ITEM_CLICK,\n onLegendItemHover: EVENT_TYPE.LEGEND_ITEM_HOVER,\n onLegendItemUnHover: EVENT_TYPE.LEGEND_ITEM_UNHOVER,\n onLegendChange: EVENT_TYPE.LEGEND_CHANGE,\n\n onMouseEnterAxis: EVENT_TYPE.MOUSEENTER_AXIS,\n onMouseLeaveAxis: EVENT_TYPE.MOUSELEAVE_AXIS,\n\n onCheckboxStateChange: EVENT_TYPE.CHECKBOX_STATE_CHANGE,\n onRadioStateChange: EVENT_TYPE.RADIO_STATE_CHANGE,\n onAfterRender: EVENT_TYPE.AFTER_RENDER,\n onInitialized: EVENT_TYPE.INITIALIZED,\n\n // pivot table only\n onPivotSortClick: EVENT_TYPE.PIVOT_SORT_CLICK,\n onDrillMenuClick: EVENT_TYPE.DRILLMENU_CLICK,\n\n // pivot chart only\n onVChartEventType: EVENT_TYPE.VCHART_EVENT_TYPE,\n\n onChangCellValue: EVENT_TYPE.CHANGE_CELL_VALUE,\n onMousedownFillHandle: EVENT_TYPE.MOUSEDOWN_FILL_HANDLE,\n onDragFillHandleEnd: EVENT_TYPE.DRAG_FILL_HANDLE_END,\n onDblclickFillHandle: EVENT_TYPE.DBLCLICK_FILL_HANDLE,\n onScrollVerticalEnd: EVENT_TYPE.SCROLL_VERTICAL_END,\n onScrollHorizontalEnd: EVENT_TYPE.SCROLL_HORIZONTAL_END\n};\n\nexport const TABLE_EVENTS_KEYS = Object.keys(TABLE_EVENTS);\n\nexport const findEventProps = <T extends EventsProps>(\n props: T,\n supportedEvents: Record<string, string> = TABLE_EVENTS\n): EventsProps => {\n const result: EventsProps = {};\n\n Object.keys(props).forEach(key => {\n if (supportedEvents[key] && props[key]) {\n result[key] = props[key];\n }\n });\n\n return result;\n};\n\nexport const bindEventsToTable = <T>(\n table: IVTable,\n newProps?: T | null,\n prevProps?: T | null,\n supportedEvents: Record<string, string> = TABLE_EVENTS\n) => {\n if ((!newProps && !prevProps) || !table) {\n return false;\n }\n\n const prevEventProps = prevProps ? findEventProps(prevProps, supportedEvents) : null;\n const newEventProps = newProps ? findEventProps(newProps, supportedEvents) : null;\n\n if (prevEventProps) {\n Object.keys(prevEventProps).forEach(eventKey => {\n if (!newEventProps || !newEventProps[eventKey] || newEventProps[eventKey] !== prevEventProps[eventKey]) {\n table.off(supportedEvents[eventKey], prevProps[eventKey]);\n }\n });\n }\n\n if (newEventProps) {\n Object.keys(newEventProps).forEach(eventKey => {\n if (!prevEventProps || !prevEventProps[eventKey] || prevEventProps[eventKey] !== newEventProps[eventKey]) {\n table.on(supportedEvents[eventKey] as keyof TYPES.TableEventHandlersEventArgumentMap, newEventProps[eventKey]);\n }\n });\n }\n\n return true;\n};\n"]}
1
+ {"version":3,"sources":["eventsUtils.ts"],"names":[],"mappings":"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","file":"eventsUtils.js","sourcesContent":["// import { ListTable, PivotTable, PivotChart } from '@visactor/vtable';\nimport type { IVTable } from './tables/base-table';\nimport type { TYPES } from '@visactor/vtable';\nimport { TABLE_EVENT_TYPE, PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from '@visactor/vtable';\n\nexport type EventCallback<Params> = (params: Params) => void;\n\nconst EVENT_TYPE = {\n // ...ListTable.EVENT_TYPE,\n // ...PivotTable.EVENT_TYPE,\n // ...PivotChart.EVENT_TYPE,\n ...TABLE_EVENT_TYPE,\n ...PIVOT_TABLE_EVENT_TYPE,\n ...PIVOT_CHART_EVENT_TYPE\n};\nexport interface EventsProps {\n onClickCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['click_cell']>;\n onDblClickCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dblclick_cell']>;\n onMouseDownCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousedown_cell']>;\n onMouseUpCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseup_cell']>;\n onSelectedCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['selected_cell']>;\n onSelectedClear?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['selected_clear']>;\n onKeyDown?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['keydown']>;\n onMouseEnterTable?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseenter_table']>;\n onMouseLeaveTable?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseleave_table']>;\n onMouseDownTable?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousedown_table']>;\n onMouseMoveCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousemove_cell']>;\n onMouseEnterCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseenter_cell']>;\n onMouseLeaveCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseleave_cell']>;\n onContextMenuCell?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['contextmenu_cell']>;\n onResizeColumn?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['resize_column']>;\n onResizeColumnEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['resize_column_end']>;\n onChangeHeaderPosition?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['change_header_position']>;\n onSortClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['sort_click']>;\n onFreezeClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['freeze_click']>;\n onScroll?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['scroll']>;\n onDropdownMenuClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dropdown_menu_click']>;\n onMouseOverChartSymbol?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseover_chart_symbol']>;\n onDragSelectEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['drag_select_end']>;\n\n onDropdownIconClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dropdown_icon_click']>;\n onDropdownMenuClear?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dropdown_menu_clear']>;\n\n onTreeHierarchyStateChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['tree_hierarchy_state_change']>;\n\n onShowMenu?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['show_menu']>;\n onHideMenu?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['hide_menu']>;\n\n onIconClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['icon_click']>;\n\n onLegendItemClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_item_click']>;\n onLegendItemHover?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_item_hover']>;\n onLegendItemUnHover?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_item_unHover']>;\n onLegendChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['legend_change']>;\n\n onMouseEnterAxis?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseenter_axis']>;\n onMouseLeaveAxis?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mouseleave_axis']>;\n\n onCheckboxStateChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['checkbox_state_change']>;\n onRadioStateChange?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['radio_state_change']>;\n onAfterRender?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['after_render']>;\n onInitialized?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['initialized']>;\n\n // pivot table only\n onPivotSortClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['pivot_sort_click']>;\n onDrillMenuClick?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['drillmenu_click']>;\n\n // pivot chart only\n onVChartEventType?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['vchart_event_type']>;\n\n onChangCellValue?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['change_cell_value']>;\n\n onMousedownFillHandle?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['mousedown_fill_handle']>;\n onDragFillHandleEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['drag_fill_handle_end']>;\n onDblclickFillHandle?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['dblclick_fill_handle']>;\n\n onScrollVerticalEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['scroll_vertical_end']>;\n onScrollHorizontalEnd?: EventCallback<TYPES.TableEventHandlersEventArgumentMap['scroll_horizontal_end']>;\n}\n\nexport const TABLE_EVENTS = {\n onClickCell: EVENT_TYPE.CLICK_CELL,\n onDblClickCell: EVENT_TYPE.DBLCLICK_CELL,\n onMouseDownCell: EVENT_TYPE.MOUSEDOWN_CELL,\n onMouseUpCell: EVENT_TYPE.MOUSEUP_CELL,\n onSelectedCell: EVENT_TYPE.SELECTED_CELL,\n onSelectedClear: EVENT_TYPE.SELECTED_CLEAR,\n onKeyDown: EVENT_TYPE.KEYDOWN,\n onMouseEnterTable: EVENT_TYPE.MOUSEENTER_TABLE,\n onMouseLeaveTable: EVENT_TYPE.MOUSELEAVE_TABLE,\n onMouseDownTable: EVENT_TYPE.MOUSEDOWN_TABLE,\n onMouseMoveCell: EVENT_TYPE.MOUSEMOVE_CELL,\n onMouseEnterCell: EVENT_TYPE.MOUSEENTER_CELL,\n onMouseLeaveCell: EVENT_TYPE.MOUSELEAVE_CELL,\n onContextMenuCell: EVENT_TYPE.CONTEXTMENU_CELL,\n onResizeColumn: EVENT_TYPE.RESIZE_COLUMN,\n onResizeColumnEnd: EVENT_TYPE.RESIZE_COLUMN_END,\n onChangeHeaderPosition: EVENT_TYPE.CHANGE_HEADER_POSITION,\n onSortClick: EVENT_TYPE.SORT_CLICK,\n onFreezeClick: EVENT_TYPE.FREEZE_CLICK,\n onScroll: EVENT_TYPE.SCROLL,\n onDropdownMenuClick: EVENT_TYPE.DROPDOWN_MENU_CLICK,\n onMouseOverChartSymbol: EVENT_TYPE.MOUSEOVER_CHART_SYMBOL,\n onDragSelectEnd: EVENT_TYPE.DRAG_SELECT_END,\n\n onDropdownIconClick: EVENT_TYPE.DROPDOWN_ICON_CLICK,\n onDropdownMenuClear: EVENT_TYPE.DROPDOWN_MENU_CLEAR,\n\n onTreeHierarchyStateChange: EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE,\n\n onShowMenu: EVENT_TYPE.SHOW_MENU,\n onHideMenu: EVENT_TYPE.HIDE_MENU,\n\n onIconClick: EVENT_TYPE.ICON_CLICK,\n\n onLegendItemClick: EVENT_TYPE.LEGEND_ITEM_CLICK,\n onLegendItemHover: EVENT_TYPE.LEGEND_ITEM_HOVER,\n onLegendItemUnHover: EVENT_TYPE.LEGEND_ITEM_UNHOVER,\n onLegendChange: EVENT_TYPE.LEGEND_CHANGE,\n\n onMouseEnterAxis: EVENT_TYPE.MOUSEENTER_AXIS,\n onMouseLeaveAxis: EVENT_TYPE.MOUSELEAVE_AXIS,\n\n onCheckboxStateChange: EVENT_TYPE.CHECKBOX_STATE_CHANGE,\n onRadioStateChange: EVENT_TYPE.RADIO_STATE_CHANGE,\n onAfterRender: EVENT_TYPE.AFTER_RENDER,\n onInitialized: EVENT_TYPE.INITIALIZED,\n\n // pivot table only\n onPivotSortClick: EVENT_TYPE.PIVOT_SORT_CLICK,\n onDrillMenuClick: EVENT_TYPE.DRILLMENU_CLICK,\n\n // pivot chart only\n onVChartEventType: EVENT_TYPE.VCHART_EVENT_TYPE,\n\n onChangCellValue: EVENT_TYPE.CHANGE_CELL_VALUE,\n onMousedownFillHandle: EVENT_TYPE.MOUSEDOWN_FILL_HANDLE,\n onDragFillHandleEnd: EVENT_TYPE.DRAG_FILL_HANDLE_END,\n onDblclickFillHandle: EVENT_TYPE.DBLCLICK_FILL_HANDLE,\n onScrollVerticalEnd: EVENT_TYPE.SCROLL_VERTICAL_END,\n onScrollHorizontalEnd: EVENT_TYPE.SCROLL_HORIZONTAL_END\n};\n\nexport const TABLE_EVENTS_KEYS = Object.keys(TABLE_EVENTS);\n\nexport const findEventProps = <T extends EventsProps>(\n props: T,\n supportedEvents: Record<string, string> = TABLE_EVENTS\n): EventsProps => {\n const result: EventsProps = {};\n\n Object.keys(props).forEach(key => {\n if (supportedEvents[key] && props[key as keyof EventsProps]) {\n result[key as keyof EventsProps] = props[key as keyof EventsProps] as any;\n }\n });\n\n return result;\n};\n\nexport const bindEventsToTable = <T extends EventsProps>(\n table: IVTable,\n newProps?: T | null,\n prevProps?: T | null,\n supportedEvents: Record<string, string> = TABLE_EVENTS\n) => {\n if ((!newProps && !prevProps) || !table) {\n return false;\n }\n\n const prevEventProps: EventsProps = prevProps ? findEventProps(prevProps, supportedEvents) : null;\n const newEventProps: EventsProps = newProps ? findEventProps(newProps, supportedEvents) : null;\n\n if (prevEventProps) {\n Object.keys(prevEventProps).forEach(eventKey => {\n if (\n !newEventProps ||\n !newEventProps[eventKey as keyof EventsProps] ||\n newEventProps[eventKey as keyof EventsProps] !== prevEventProps[eventKey as keyof EventsProps]\n ) {\n table.off(supportedEvents[eventKey], prevProps[eventKey as keyof EventsProps] as any);\n }\n });\n }\n\n if (newEventProps) {\n Object.keys(newEventProps).forEach(eventKey => {\n if (\n !prevEventProps ||\n !prevEventProps[eventKey as keyof EventsProps] ||\n prevEventProps[eventKey as keyof EventsProps] !== newEventProps[eventKey as keyof EventsProps]\n ) {\n table.on(\n supportedEvents[eventKey] as keyof TYPES.TableEventHandlersEventArgumentMap,\n newEventProps[eventKey as keyof EventsProps] as any\n );\n }\n });\n }\n\n return true;\n};\n"]}
package/es/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './tables';
2
+ export * from './table-components';
2
3
  export * from './components';
3
- export * from './vtable';
4
- export declare const version = "1.6.0-alpha.5";
4
+ export declare const version = "1.6.1";
package/es/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export * from "./tables";
2
2
 
3
- export * from "./components";
3
+ export * from "./table-components";
4
4
 
5
- export * from "./vtable";
5
+ export * from "./components";
6
6
 
7
- export const version = "1.6.0-alpha.5";
7
+ export const version = "1.6.1";
8
8
  //# sourceMappingURL=index.js.map