@antv/s2-vue 2.0.0-next.8 → 2.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 (221) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -8
  3. package/dist/s2-vue.min.css +1 -0
  4. package/dist/s2-vue.min.js +28 -0
  5. package/dist/s2-vue.min.js.map +1 -0
  6. package/esm/common/constant/index.d.ts +1 -0
  7. package/esm/common/constant/index.js +2 -0
  8. package/esm/common/constant/index.js.map +1 -0
  9. package/esm/common/constant/options.d.ts +2 -0
  10. package/esm/common/constant/options.js +7 -0
  11. package/esm/common/constant/options.js.map +1 -0
  12. package/esm/components/drill-down/index.vue.d.ts +126 -0
  13. package/esm/components/drill-down/index.vue.js +206 -0
  14. package/esm/components/drill-down/index.vue.js.map +1 -0
  15. package/esm/components/index.d.ts +6 -0
  16. package/esm/components/index.js +8 -0
  17. package/esm/components/index.js.map +1 -0
  18. package/esm/components/pagination/index.vue.d.ts +44 -0
  19. package/esm/components/pagination/index.vue.js +91 -0
  20. package/esm/components/pagination/index.vue.js.map +1 -0
  21. package/esm/components/sheets/base-sheet.vue.d.ts +391 -0
  22. package/esm/components/sheets/base-sheet.vue.js +119 -0
  23. package/esm/components/sheets/base-sheet.vue.js.map +1 -0
  24. package/esm/components/sheets/editable-sheet.vue.d.ts +2 -0
  25. package/esm/components/sheets/editable-sheet.vue.js +181 -0
  26. package/esm/components/sheets/editable-sheet.vue.js.map +1 -0
  27. package/esm/components/sheets/index.vue.d.ts +251 -0
  28. package/esm/components/sheets/index.vue.js +77 -0
  29. package/esm/components/sheets/index.vue.js.map +1 -0
  30. package/esm/components/sheets/pivot-sheet.vue.d.ts +322 -0
  31. package/esm/components/sheets/pivot-sheet.vue.js +117 -0
  32. package/esm/components/sheets/pivot-sheet.vue.js.map +1 -0
  33. package/esm/components/sheets/table-sheet.vue.d.ts +250 -0
  34. package/esm/components/sheets/table-sheet.vue.js +61 -0
  35. package/esm/components/sheets/table-sheet.vue.js.map +1 -0
  36. package/esm/components/tooltip/components/detail.vue.d.ts +6 -0
  37. package/esm/components/tooltip/components/detail.vue.js +53 -0
  38. package/esm/components/tooltip/components/detail.vue.js.map +1 -0
  39. package/esm/components/tooltip/components/head-info.vue.d.ts +6 -0
  40. package/esm/components/tooltip/components/head-info.vue.js +61 -0
  41. package/esm/components/tooltip/components/head-info.vue.js.map +1 -0
  42. package/esm/components/tooltip/components/infos.vue.d.ts +6 -0
  43. package/esm/components/tooltip/components/infos.vue.js +49 -0
  44. package/esm/components/tooltip/components/infos.vue.js.map +1 -0
  45. package/esm/components/tooltip/components/operator/index.d.ts +3 -0
  46. package/esm/components/tooltip/components/operator/index.js +4 -0
  47. package/esm/components/tooltip/components/operator/index.js.map +1 -0
  48. package/esm/components/tooltip/components/operator/index.vue.d.ts +14 -0
  49. package/esm/components/tooltip/components/operator/index.vue.js +149 -0
  50. package/esm/components/tooltip/components/operator/index.vue.js.map +1 -0
  51. package/esm/components/tooltip/components/operator/menu.vue.d.ts +21 -0
  52. package/esm/components/tooltip/components/operator/menu.vue.js +146 -0
  53. package/esm/components/tooltip/components/operator/menu.vue.js.map +1 -0
  54. package/esm/components/tooltip/components/operator/title.vue.d.ts +10 -0
  55. package/esm/components/tooltip/components/operator/title.vue.js +54 -0
  56. package/esm/components/tooltip/components/operator/title.vue.js.map +1 -0
  57. package/esm/components/tooltip/components/simple-tips.vue.d.ts +6 -0
  58. package/esm/components/tooltip/components/simple-tips.vue.js +55 -0
  59. package/esm/components/tooltip/components/simple-tips.vue.js.map +1 -0
  60. package/esm/components/tooltip/components/summary.vue.d.ts +11 -0
  61. package/esm/components/tooltip/components/summary.vue.js +71 -0
  62. package/esm/components/tooltip/components/summary.vue.js.map +1 -0
  63. package/esm/components/tooltip/custom-tooltip.d.ts +6 -0
  64. package/esm/components/tooltip/custom-tooltip.js +36 -0
  65. package/esm/components/tooltip/custom-tooltip.js.map +1 -0
  66. package/esm/components/tooltip/index.vue.d.ts +13 -0
  67. package/esm/components/tooltip/index.vue.js +124 -0
  68. package/esm/components/tooltip/index.vue.js.map +1 -0
  69. package/esm/components/tooltip/interface.d.ts +8 -0
  70. package/esm/components/tooltip/interface.js +2 -0
  71. package/esm/components/tooltip/interface.js.map +1 -0
  72. package/esm/hooks/useEvents.d.ts +4 -0
  73. package/esm/hooks/useEvents.js +125 -0
  74. package/esm/hooks/useEvents.js.map +1 -0
  75. package/esm/hooks/useExpose.d.ts +5 -0
  76. package/esm/hooks/useExpose.js +11 -0
  77. package/esm/hooks/useExpose.js.map +1 -0
  78. package/esm/hooks/useLoading.d.ts +6 -0
  79. package/esm/hooks/useLoading.js +18 -0
  80. package/esm/hooks/useLoading.js.map +1 -0
  81. package/esm/hooks/usePagination.d.ts +70 -0
  82. package/esm/hooks/usePagination.js +68 -0
  83. package/esm/hooks/usePagination.js.map +1 -0
  84. package/esm/hooks/useResize.d.ts +7 -0
  85. package/esm/hooks/useResize.js +20 -0
  86. package/esm/hooks/useResize.js.map +1 -0
  87. package/esm/hooks/useSheetUpdate.d.ts +13 -0
  88. package/esm/hooks/useSheetUpdate.js +56 -0
  89. package/esm/hooks/useSheetUpdate.js.map +1 -0
  90. package/esm/hooks/useSpreadSheet.d.ts +75 -0
  91. package/esm/hooks/useSpreadSheet.js +60 -0
  92. package/esm/hooks/useSpreadSheet.js.map +1 -0
  93. package/esm/index.d.ts +4 -6068
  94. package/esm/index.js +5 -3363
  95. package/esm/index.js.map +1 -1
  96. package/esm/interface.d.ts +47 -0
  97. package/esm/interface.js +2 -0
  98. package/esm/interface.js.map +1 -0
  99. package/esm/svg/calendar-icon.svg +13 -0
  100. package/esm/svg/location-icon.svg +13 -0
  101. package/esm/svg/text-icon.svg +13 -0
  102. package/esm/utils/extendLocale.d.ts +1 -0
  103. package/esm/utils/extendLocale.js +3 -0
  104. package/esm/utils/extendLocale.js.map +1 -0
  105. package/esm/utils/initPropAndEmits.d.ts +204 -0
  106. package/esm/utils/initPropAndEmits.js +158 -0
  107. package/esm/utils/initPropAndEmits.js.map +1 -0
  108. package/esm/utils/options.d.ts +2 -0
  109. package/esm/utils/options.js +4 -0
  110. package/esm/utils/options.js.map +1 -0
  111. package/lib/common/constant/index.d.ts +1 -0
  112. package/lib/common/constant/index.js +5 -0
  113. package/lib/common/constant/index.js.map +1 -0
  114. package/lib/common/constant/options.d.ts +2 -0
  115. package/lib/common/constant/options.js +10 -0
  116. package/lib/common/constant/options.js.map +1 -0
  117. package/lib/components/drill-down/index.vue.d.ts +126 -0
  118. package/lib/components/drill-down/index.vue.js +209 -0
  119. package/lib/components/drill-down/index.vue.js.map +1 -0
  120. package/lib/components/index.d.ts +6 -0
  121. package/lib/components/index.js +20 -0
  122. package/lib/components/index.js.map +1 -0
  123. package/lib/components/pagination/index.vue.d.ts +44 -0
  124. package/lib/components/pagination/index.vue.js +93 -0
  125. package/lib/components/pagination/index.vue.js.map +1 -0
  126. package/lib/components/sheets/base-sheet.vue.d.ts +391 -0
  127. package/lib/components/sheets/base-sheet.vue.js +122 -0
  128. package/lib/components/sheets/base-sheet.vue.js.map +1 -0
  129. package/lib/components/sheets/editable-sheet.vue.d.ts +2 -0
  130. package/lib/components/sheets/editable-sheet.vue.js +184 -0
  131. package/lib/components/sheets/editable-sheet.vue.js.map +1 -0
  132. package/lib/components/sheets/index.vue.d.ts +251 -0
  133. package/lib/components/sheets/index.vue.js +80 -0
  134. package/lib/components/sheets/index.vue.js.map +1 -0
  135. package/lib/components/sheets/pivot-sheet.vue.d.ts +322 -0
  136. package/lib/components/sheets/pivot-sheet.vue.js +120 -0
  137. package/lib/components/sheets/pivot-sheet.vue.js.map +1 -0
  138. package/lib/components/sheets/table-sheet.vue.d.ts +250 -0
  139. package/lib/components/sheets/table-sheet.vue.js +64 -0
  140. package/lib/components/sheets/table-sheet.vue.js.map +1 -0
  141. package/lib/components/tooltip/components/detail.vue.d.ts +6 -0
  142. package/lib/components/tooltip/components/detail.vue.js +55 -0
  143. package/lib/components/tooltip/components/detail.vue.js.map +1 -0
  144. package/lib/components/tooltip/components/head-info.vue.d.ts +6 -0
  145. package/lib/components/tooltip/components/head-info.vue.js +63 -0
  146. package/lib/components/tooltip/components/head-info.vue.js.map +1 -0
  147. package/lib/components/tooltip/components/infos.vue.d.ts +6 -0
  148. package/lib/components/tooltip/components/infos.vue.js +51 -0
  149. package/lib/components/tooltip/components/infos.vue.js.map +1 -0
  150. package/lib/components/tooltip/components/operator/index.d.ts +3 -0
  151. package/lib/components/tooltip/components/operator/index.js +13 -0
  152. package/lib/components/tooltip/components/operator/index.js.map +1 -0
  153. package/lib/components/tooltip/components/operator/index.vue.d.ts +14 -0
  154. package/lib/components/tooltip/components/operator/index.vue.js +152 -0
  155. package/lib/components/tooltip/components/operator/index.vue.js.map +1 -0
  156. package/lib/components/tooltip/components/operator/menu.vue.d.ts +21 -0
  157. package/lib/components/tooltip/components/operator/menu.vue.js +149 -0
  158. package/lib/components/tooltip/components/operator/menu.vue.js.map +1 -0
  159. package/lib/components/tooltip/components/operator/title.vue.d.ts +10 -0
  160. package/lib/components/tooltip/components/operator/title.vue.js +56 -0
  161. package/lib/components/tooltip/components/operator/title.vue.js.map +1 -0
  162. package/lib/components/tooltip/components/simple-tips.vue.d.ts +6 -0
  163. package/lib/components/tooltip/components/simple-tips.vue.js +57 -0
  164. package/lib/components/tooltip/components/simple-tips.vue.js.map +1 -0
  165. package/lib/components/tooltip/components/summary.vue.d.ts +11 -0
  166. package/lib/components/tooltip/components/summary.vue.js +73 -0
  167. package/lib/components/tooltip/components/summary.vue.js.map +1 -0
  168. package/lib/components/tooltip/custom-tooltip.d.ts +6 -0
  169. package/lib/components/tooltip/custom-tooltip.js +41 -0
  170. package/lib/components/tooltip/custom-tooltip.js.map +1 -0
  171. package/lib/components/tooltip/index.vue.d.ts +13 -0
  172. package/lib/components/tooltip/index.vue.js +127 -0
  173. package/lib/components/tooltip/index.vue.js.map +1 -0
  174. package/lib/components/tooltip/interface.d.ts +8 -0
  175. package/lib/components/tooltip/interface.js +3 -0
  176. package/lib/components/tooltip/interface.js.map +1 -0
  177. package/lib/hooks/useEvents.d.ts +4 -0
  178. package/lib/hooks/useEvents.js +129 -0
  179. package/lib/hooks/useEvents.js.map +1 -0
  180. package/lib/hooks/useExpose.d.ts +5 -0
  181. package/lib/hooks/useExpose.js +15 -0
  182. package/lib/hooks/useExpose.js.map +1 -0
  183. package/lib/hooks/useLoading.d.ts +6 -0
  184. package/lib/hooks/useLoading.js +22 -0
  185. package/lib/hooks/useLoading.js.map +1 -0
  186. package/lib/hooks/usePagination.d.ts +70 -0
  187. package/lib/hooks/usePagination.js +72 -0
  188. package/lib/hooks/usePagination.js.map +1 -0
  189. package/lib/hooks/useResize.d.ts +7 -0
  190. package/lib/hooks/useResize.js +24 -0
  191. package/lib/hooks/useResize.js.map +1 -0
  192. package/lib/hooks/useSheetUpdate.d.ts +13 -0
  193. package/lib/hooks/useSheetUpdate.js +60 -0
  194. package/lib/hooks/useSheetUpdate.js.map +1 -0
  195. package/lib/hooks/useSpreadSheet.d.ts +75 -0
  196. package/lib/hooks/useSpreadSheet.js +64 -0
  197. package/lib/hooks/useSpreadSheet.js.map +1 -0
  198. package/lib/index.d.ts +4 -0
  199. package/lib/index.js +8 -3362
  200. package/lib/index.js.map +1 -1
  201. package/lib/interface.d.ts +47 -0
  202. package/lib/interface.js +3 -0
  203. package/lib/interface.js.map +1 -0
  204. package/lib/svg/calendar-icon.svg +13 -0
  205. package/lib/svg/location-icon.svg +13 -0
  206. package/lib/svg/text-icon.svg +13 -0
  207. package/lib/utils/extendLocale.d.ts +1 -0
  208. package/lib/utils/extendLocale.js +5 -0
  209. package/lib/utils/extendLocale.js.map +1 -0
  210. package/lib/utils/initPropAndEmits.d.ts +204 -0
  211. package/lib/utils/initPropAndEmits.js +165 -0
  212. package/lib/utils/initPropAndEmits.js.map +1 -0
  213. package/lib/utils/options.d.ts +2 -0
  214. package/lib/utils/options.js +8 -0
  215. package/lib/utils/options.js.map +1 -0
  216. package/package.json +65 -57
  217. package/dist/index.min.js +0 -2
  218. package/dist/index.min.js.map +0 -1
  219. package/dist/style.min.css +0 -1
  220. package/esm/style.css +0 -393
  221. package/lib/style.css +0 -393
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSheetUpdate = void 0;
4
+ const vue_1 = require("vue");
5
+ /**
6
+ * props 会将所有属性用 shallowReactive 包裹起来:
7
+ * 1. 如果是对 dataCfg 或者 options 直接替换, 那么只需要简单的通过 ()=> props.dataCfg 这种 getter 就能监听到
8
+ * 2. 如果 dataCfg 任然是 reactive 数据,那么就存在直接修改了其中某一个属性的情况,这个时候就需要对所有的属性遍历来关联 watch 属性
9
+ * ? 如果数量特别多时,遍历可能存在性能问题,先暂时观察一下
10
+ */
11
+ const useSheetUpdate = (s2Ref, props, hooks) => {
12
+ const updateFlag = (0, vue_1.reactive)({
13
+ rerender: false,
14
+ reloadData: false,
15
+ rebuildDataset: false,
16
+ });
17
+ (0, vue_1.watch)(() => props.options, (options, prevOptions) => {
18
+ updateFlag.rerender = true;
19
+ if (!Object.is(prevOptions?.hierarchyType, options?.hierarchyType)) {
20
+ updateFlag.reloadData = true;
21
+ updateFlag.rebuildDataset = true;
22
+ }
23
+ s2Ref.value?.setOptions(options);
24
+ s2Ref.value?.changeSheetSize(options?.width, options?.height);
25
+ }, { deep: (0, vue_1.isProxy)(props.options) });
26
+ (0, vue_1.watch)(() => props.dataCfg, (dataCfg, prevDataCfg) => {
27
+ if (prevDataCfg?.fields?.columns?.length !==
28
+ dataCfg?.fields?.columns?.length) {
29
+ s2Ref.value?.facet?.clearInitColLeafNodes();
30
+ }
31
+ updateFlag.rerender = true;
32
+ updateFlag.reloadData = true;
33
+ s2Ref.value?.setDataCfg(dataCfg);
34
+ }, { deep: (0, vue_1.isProxy)(props.dataCfg) });
35
+ (0, vue_1.watch)(() => props.themeCfg, (themeCfg) => {
36
+ updateFlag.rerender = true;
37
+ s2Ref.value?.setThemeCfg(themeCfg);
38
+ }, {
39
+ deep: (0, vue_1.isProxy)(props.themeCfg),
40
+ });
41
+ (0, vue_1.watch)(updateFlag, async (flag) => {
42
+ if (!flag.rerender) {
43
+ return;
44
+ }
45
+ hooks?.before?.();
46
+ const defaultRenderOptions = {
47
+ reloadData: flag.reloadData,
48
+ rebuildDataSet: flag.rebuildDataset,
49
+ };
50
+ const renderOptions = props?.onUpdate?.(defaultRenderOptions) || defaultRenderOptions;
51
+ await s2Ref.value?.render(renderOptions);
52
+ props?.onUpdateAfterRender?.(renderOptions);
53
+ hooks?.after?.();
54
+ flag.rerender = false;
55
+ flag.reloadData = false;
56
+ flag.rebuildDataset = false;
57
+ });
58
+ };
59
+ exports.useSheetUpdate = useSheetUpdate;
60
+ //# sourceMappingURL=useSheetUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSheetUpdate.js","sourceRoot":"","sources":["../../src/hooks/useSheetUpdate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { type SpreadSheet } from '@antv/s2';
2
+ import type { BaseSheetInitEmits, EmitFn } from '../interface';
3
+ import type { BaseSheetProps } from '../utils/initPropAndEmits';
4
+ export declare function useSpreadSheet(props: BaseSheetProps, emit: EmitFn<BaseSheetInitEmits>): {
5
+ wrapperRef: import("vue").Ref<HTMLDivElement>;
6
+ containerRef: import("vue").Ref<HTMLDivElement>;
7
+ s2Ref: import("vue").ShallowRef<SpreadSheet>;
8
+ loading: import("vue").Ref<boolean>;
9
+ setLoading: (updated: boolean) => void;
10
+ pagination: {
11
+ customOptions: import("lodash").Omit<import("@antv/s2").Pagination & Partial<import("vue").ExtractPropTypes<{
12
+ total: NumberConstructor;
13
+ defaultCurrent: NumberConstructor;
14
+ disabled: {
15
+ type: BooleanConstructor;
16
+ default: any;
17
+ };
18
+ current: NumberConstructor;
19
+ defaultPageSize: NumberConstructor;
20
+ pageSize: NumberConstructor;
21
+ hideOnSinglePage: {
22
+ type: BooleanConstructor;
23
+ default: any;
24
+ };
25
+ showSizeChanger: {
26
+ type: BooleanConstructor;
27
+ default: any;
28
+ };
29
+ pageSizeOptions: import("vue").PropType<(string | number)[]>;
30
+ buildOptionText: import("vue").PropType<(opt: {
31
+ value: any;
32
+ }) => any>;
33
+ showQuickJumper: {
34
+ type: import("vue").PropType<boolean | {
35
+ goButton?: any;
36
+ }>;
37
+ default: boolean | {
38
+ goButton?: any;
39
+ };
40
+ };
41
+ showTotal: import("vue").PropType<(total: number, range: [number, number]) => any>;
42
+ size: import("vue").PropType<"small" | "default">;
43
+ simple: {
44
+ type: BooleanConstructor;
45
+ default: any;
46
+ };
47
+ locale: ObjectConstructor;
48
+ prefixCls: StringConstructor;
49
+ selectPrefixCls: StringConstructor;
50
+ totalBoundaryShowSizeChanger: NumberConstructor;
51
+ selectComponentClass: StringConstructor;
52
+ itemRender: import("vue").PropType<(opt: {
53
+ page: number;
54
+ type: "page" | "prev" | "next" | "jump-prev" | "jump-next";
55
+ originalElement: any;
56
+ }) => any>;
57
+ role: StringConstructor;
58
+ responsive: BooleanConstructor;
59
+ showLessItems: {
60
+ type: BooleanConstructor;
61
+ default: any;
62
+ };
63
+ onChange: import("vue").PropType<(page: number, pageSize: number) => void>;
64
+ onShowSizeChange: import("vue").PropType<(current: number, size: number) => void>;
65
+ 'onUpdate:current': import("vue").PropType<(current: number) => void>;
66
+ 'onUpdate:pageSize': import("vue").PropType<(size: number) => void>;
67
+ }>>, "total" | "current" | "pageSize">;
68
+ visible: import("vue").ComputedRef<boolean>;
69
+ current: import("vue").Ref<number>;
70
+ pageSize: import("vue").Ref<number>;
71
+ total: import("vue").Ref<number>;
72
+ change: (nextCurrent: number) => void;
73
+ showSizeChange: (nextPageSize: number) => void;
74
+ };
75
+ };
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSpreadSheet = void 0;
4
+ const s2_1 = require("@antv/s2");
5
+ const vue_1 = require("vue");
6
+ const options_1 = require("../utils/options");
7
+ const useEvents_1 = require("./useEvents");
8
+ const useLoading_1 = require("./useLoading");
9
+ const usePagination_1 = require("./usePagination");
10
+ const useResize_1 = require("./useResize");
11
+ const useSheetUpdate_1 = require("./useSheetUpdate");
12
+ function useSpreadSheet(props, emit) {
13
+ const { dataCfg, options, themeCfg, loading: loadingProps, sheetType, spreadsheet: customSpreadSheet, onMounted: onS2Mounted, } = props;
14
+ const wrapperRef = (0, vue_1.ref)();
15
+ const containerRef = (0, vue_1.ref)();
16
+ const s2Ref = (0, vue_1.shallowRef)();
17
+ const { loading, setLoading } = (0, useLoading_1.useLoading)(s2Ref, loadingProps);
18
+ const pagination = (0, usePagination_1.usePagination)(s2Ref, props);
19
+ const renderSpreadSheet = (container) => {
20
+ const rawDataCfg = (0, vue_1.toRaw)(dataCfg);
21
+ const rawOptions = (0, vue_1.toRaw)(options);
22
+ const s2Options = (0, options_1.getSheetComponentOptions)(rawOptions);
23
+ if (customSpreadSheet) {
24
+ return customSpreadSheet(container, rawDataCfg, s2Options);
25
+ }
26
+ if (sheetType === 'table' || sheetType === 'editable') {
27
+ return new s2_1.TableSheet(container, rawDataCfg, s2Options);
28
+ }
29
+ return new s2_1.PivotSheet(container, rawDataCfg, s2Options);
30
+ };
31
+ const buildSpreadSheet = async () => {
32
+ setLoading(true);
33
+ s2Ref.value = renderSpreadSheet(containerRef.value);
34
+ s2Ref.value.setThemeCfg((0, vue_1.toRaw)(themeCfg));
35
+ await s2Ref.value.render();
36
+ setLoading(false);
37
+ onS2Mounted?.(s2Ref.value);
38
+ };
39
+ (0, vue_1.onMounted)(buildSpreadSheet);
40
+ (0, useEvents_1.useEvents)(s2Ref, emit);
41
+ (0, useSheetUpdate_1.useSheetUpdate)(s2Ref, props, {
42
+ before() {
43
+ setLoading(true);
44
+ },
45
+ after() {
46
+ setLoading(false);
47
+ },
48
+ });
49
+ (0, useResize_1.useResize)(s2Ref, props, { wrapperRef, containerRef });
50
+ (0, vue_1.onBeforeUnmount)(() => {
51
+ setLoading(false);
52
+ s2Ref.value?.destroy();
53
+ });
54
+ return {
55
+ wrapperRef,
56
+ containerRef,
57
+ s2Ref,
58
+ loading,
59
+ setLoading,
60
+ pagination,
61
+ };
62
+ }
63
+ exports.useSpreadSheet = useSpreadSheet;
64
+ //# sourceMappingURL=useSpreadSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpreadSheet.js","sourceRoot":"","sources":["../../src/hooks/useSpreadSheet.ts"],"names":[],"mappings":";;;AAAA,iCAKkB;AAClB,6BAAyE;AAGzE,8CAA4D;AAC5D,2CAAwC;AACxC,6CAA0C;AAC1C,mDAAgD;AAChD,2CAAwC;AACxC,qDAAkD;AAElD,SAAgB,cAAc,CAC5B,KAAqB,EACrB,IAAgC;IAEhC,MAAM,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EAAE,YAAY,EACrB,SAAS,EACT,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,WAAW,GACvB,GAAG,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,IAAA,SAAG,GAAkB,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,SAAG,GAAkB,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAA,gBAAU,GAAe,CAAC;IAExC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE/C,MAAM,iBAAiB,GAAG,CAAC,SAAyB,EAAE,EAAE;QACtD,MAAM,UAAU,GAAG,IAAA,WAAK,EAAC,OAAQ,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAA,WAAK,EAAC,OAAO,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,UAAuB,CAAC,CAAC;QAEpE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO,IAAI,eAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,eAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC,YAAY,CAAC,KAAM,CAAC,CAAC;QACrD,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAA,WAAK,EAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAE3B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,IAAA,eAAS,EAAC,gBAAgB,CAAC,CAAC;IAC5B,IAAA,qBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvB,IAAA,+BAAc,EAAC,KAAK,EAAE,KAAK,EAAE;QAC3B,MAAM;YACJ,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,KAAK;YACH,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;IACH,IAAA,qBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAEtD,IAAA,qBAAe,EAAC,GAAG,EAAE;QACnB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,YAAY;QACZ,KAAK;QACL,OAAO;QACP,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAzED,wCAyEC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import './utils/extendLocale';
2
+ export * from './components';
3
+ export * from './hooks/useExpose';
4
+ export declare const version = "@antv/s2-vue-v2.0.0";