@sigmacomputing/react-embed-sdk 0.2.3 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookPageSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent } from '@sigmacomputing/embed-sdk';
1
+ import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookPageSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent } from '@sigmacomputing/embed-sdk';
2
2
  export * from '@sigmacomputing/embed-sdk';
3
3
  import * as react from 'react';
4
4
 
@@ -30,6 +30,30 @@ declare function useSigmaIframe(): {
30
30
  variables: Record<string, string> | null | undefined;
31
31
  };
32
32
 
33
+ /**
34
+ *
35
+ * A hook that returns the height of the page in the iframe.
36
+ * This HAS to be used with the responsive_height option in the embed.
37
+ *
38
+ * @example
39
+ * ```
40
+ * function MyEmbed() {
41
+ * const { iframeRef } = useSigmaIframe();
42
+ * const height = usePageHeight(iframeRef);
43
+ * return (
44
+ * <>
45
+ * <iframe
46
+ * style={{ height }}
47
+ * ref={iframeRef}
48
+ * src="https://app.sigmacomputing.com/embed"
49
+ * />
50
+ * </>
51
+ * );
52
+ * }
53
+ * ```
54
+ */
55
+ declare function usePageHeight(iframeRef: React.RefObject<HTMLIFrameElement>): number | undefined;
56
+
33
57
  /**
34
58
  * Listen for a workbook loaded event, and execute the given callback when it occurs.
35
59
  *
@@ -103,11 +127,11 @@ declare function useWorkbookPageSelectedNode(iframeRef: React.RefObject<HTMLIFra
103
127
  declare function useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void): void;
104
128
  declare function useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void): void;
105
129
  declare function useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void): void;
106
- declare function useWorkbookBookmarkOnCreate(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkCreate: (event: WorkbookBookmarkCreateEvent) => void): void;
130
+ declare function useWorkbookBookmarkOnCreate(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkCreate: (event: WorkbookBookmarkOnCreateEvent) => void): void;
107
131
  declare function useWorkbookChartError(iframeRef: React.RefObject<HTMLIFrameElement>, onChartError: (event: WorkbookChartErrorEvent) => void): void;
108
132
  declare function useWorkbookExploreKeyOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onExploreKeyChange: (event: WorkbookExploreKeyOnChangeEvent) => void): void;
109
133
  declare function useWorkbookBookmarkOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void): void;
110
134
  declare function useUrlOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onUrlChange: (event: UrlOnChangeEvent) => void): void;
111
135
  declare function useWorkbookIdOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onIdChange: (event: WorkbookIdOnChangeEvent) => void): void;
112
136
 
113
- export { useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPageSelectedNode, useWorkbookPivotTableCellSelect, useWorkbookPublished };
137
+ export { usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPageSelectedNode, useWorkbookPivotTableCellSelect, useWorkbookPublished };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookPageSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent } from '@sigmacomputing/embed-sdk';
1
+ import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookPageSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent } from '@sigmacomputing/embed-sdk';
2
2
  export * from '@sigmacomputing/embed-sdk';
3
3
  import * as react from 'react';
4
4
 
@@ -30,6 +30,30 @@ declare function useSigmaIframe(): {
30
30
  variables: Record<string, string> | null | undefined;
31
31
  };
32
32
 
33
+ /**
34
+ *
35
+ * A hook that returns the height of the page in the iframe.
36
+ * This HAS to be used with the responsive_height option in the embed.
37
+ *
38
+ * @example
39
+ * ```
40
+ * function MyEmbed() {
41
+ * const { iframeRef } = useSigmaIframe();
42
+ * const height = usePageHeight(iframeRef);
43
+ * return (
44
+ * <>
45
+ * <iframe
46
+ * style={{ height }}
47
+ * ref={iframeRef}
48
+ * src="https://app.sigmacomputing.com/embed"
49
+ * />
50
+ * </>
51
+ * );
52
+ * }
53
+ * ```
54
+ */
55
+ declare function usePageHeight(iframeRef: React.RefObject<HTMLIFrameElement>): number | undefined;
56
+
33
57
  /**
34
58
  * Listen for a workbook loaded event, and execute the given callback when it occurs.
35
59
  *
@@ -103,11 +127,11 @@ declare function useWorkbookPageSelectedNode(iframeRef: React.RefObject<HTMLIFra
103
127
  declare function useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void): void;
104
128
  declare function useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void): void;
105
129
  declare function useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void): void;
106
- declare function useWorkbookBookmarkOnCreate(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkCreate: (event: WorkbookBookmarkCreateEvent) => void): void;
130
+ declare function useWorkbookBookmarkOnCreate(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkCreate: (event: WorkbookBookmarkOnCreateEvent) => void): void;
107
131
  declare function useWorkbookChartError(iframeRef: React.RefObject<HTMLIFrameElement>, onChartError: (event: WorkbookChartErrorEvent) => void): void;
108
132
  declare function useWorkbookExploreKeyOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onExploreKeyChange: (event: WorkbookExploreKeyOnChangeEvent) => void): void;
109
133
  declare function useWorkbookBookmarkOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void): void;
110
134
  declare function useUrlOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onUrlChange: (event: UrlOnChangeEvent) => void): void;
111
135
  declare function useWorkbookIdOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onIdChange: (event: WorkbookIdOnChangeEvent) => void): void;
112
136
 
113
- export { useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPageSelectedNode, useWorkbookPivotTableCellSelect, useWorkbookPublished };
137
+ export { usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPageSelectedNode, useWorkbookPivotTableCellSelect, useWorkbookPublished };
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
+ usePageHeight: () => usePageHeight,
23
24
  useSigmaIframe: () => useSigmaIframe,
24
25
  useTableCellSelect: () => useTableCellSelect,
25
26
  useUrlOnChange: () => useUrlOnChange,
@@ -90,7 +91,11 @@ function useVariableChange(iframeRef, onVariableChange) {
90
91
  if (!iframeRef.current) {
91
92
  return;
92
93
  }
93
- (0, import_embed_sdk.workbookVariableListener)(event, iframeRef.current, onVariableChange);
94
+ (0, import_embed_sdk.workbookVariableChangeListener)(
95
+ event,
96
+ iframeRef.current,
97
+ onVariableChange
98
+ );
94
99
  };
95
100
  window.addEventListener("message", listener);
96
101
  return () => window.removeEventListener("message", listener);
@@ -315,8 +320,21 @@ function useSigmaIframe() {
315
320
  useWorkbookError(iframeRef, errorCallback);
316
321
  return { iframeRef, loading, error, variables };
317
322
  }
323
+
324
+ // src/use-page-height.ts
325
+ var import_react3 = require("react");
326
+ function usePageHeight(iframeRef) {
327
+ const [height, setHeight] = (0, import_react3.useState)(void 0);
328
+ useWorkbookPageHeight(iframeRef, (event) => {
329
+ if (!iframeRef.current)
330
+ return;
331
+ setHeight(event.pageHeight);
332
+ });
333
+ return height;
334
+ }
318
335
  // Annotate the CommonJS export names for ESM import in node:
319
336
  0 && (module.exports = {
337
+ usePageHeight,
320
338
  useSigmaIframe,
321
339
  useTableCellSelect,
322
340
  useUrlOnChange,
package/dist/index.mjs CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  workbookLoadedListener,
7
7
  workbookErrorListener,
8
8
  workbookDataLoadedListener,
9
- workbookVariableListener,
9
+ workbookVariableChangeListener,
10
10
  workbookTableCellSelectListener,
11
11
  workbookPublishedListener,
12
12
  workbookFullScreenListener,
@@ -65,7 +65,11 @@ function useVariableChange(iframeRef, onVariableChange) {
65
65
  if (!iframeRef.current) {
66
66
  return;
67
67
  }
68
- workbookVariableListener(event, iframeRef.current, onVariableChange);
68
+ workbookVariableChangeListener(
69
+ event,
70
+ iframeRef.current,
71
+ onVariableChange
72
+ );
69
73
  };
70
74
  window.addEventListener("message", listener);
71
75
  return () => window.removeEventListener("message", listener);
@@ -290,7 +294,20 @@ function useSigmaIframe() {
290
294
  useWorkbookError(iframeRef, errorCallback);
291
295
  return { iframeRef, loading, error, variables };
292
296
  }
297
+
298
+ // src/use-page-height.ts
299
+ import { useState as useState2 } from "react";
300
+ function usePageHeight(iframeRef) {
301
+ const [height, setHeight] = useState2(void 0);
302
+ useWorkbookPageHeight(iframeRef, (event) => {
303
+ if (!iframeRef.current)
304
+ return;
305
+ setHeight(event.pageHeight);
306
+ });
307
+ return height;
308
+ }
293
309
  export {
310
+ usePageHeight,
294
311
  useSigmaIframe,
295
312
  useTableCellSelect,
296
313
  useUrlOnChange,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigmacomputing/react-embed-sdk",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "React JavaScript SDK to interact with Sigma Computing's Embed API",
5
5
  "author": "sigmacomputing",
6
6
  "license": "ISC",
@@ -23,7 +23,7 @@
23
23
  "@sigmacomputing/typescript-config": "0.0.0"
24
24
  },
25
25
  "dependencies": {
26
- "@sigmacomputing/embed-sdk": "0.2.3"
26
+ "@sigmacomputing/embed-sdk": "0.2.5"
27
27
  },
28
28
  "scripts": {
29
29
  "prepublish": "pnpm build",