@sigmacomputing/react-embed-sdk 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Sigma Computing Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,327 @@
1
+ ## Getting Started
2
+
3
+ To use the react-embed-sdk in your project, you can install it using your node package manager.
4
+
5
+ **Using npm:**
6
+
7
+ ```code
8
+ npm install @sigmacomputing/react-embed-sdk
9
+ ```
10
+
11
+ **yarn:**
12
+
13
+ ```code
14
+ yarn add @sigmacomputing/react-embed-sdk
15
+ ```
16
+
17
+ **pnpm:**
18
+
19
+ ```code
20
+ pnpm add @sigmacomputing/react-embed-sdk
21
+ ```
22
+
23
+ ## Documentation
24
+
25
+ ### Hooks
26
+
27
+ The library provides hooks that combine the lower level [listeners](#listeners) and [mutations](#mutations) to provide a more ergonomic API.
28
+
29
+ #### useSigmaIframe
30
+
31
+ A hook that returns a ref to be used with a Sigma iframe element, and the loading and error state of the embed.
32
+
33
+ ```typescript
34
+ useSigmaIframe(): {
35
+ iframeRef: React.RefObject<HTMLIFrameElement>;
36
+ loading: boolean;
37
+ error: WorkbookErrorEvent | null;
38
+ variables: Record<string, string> | undefined;
39
+ }
40
+ ```
41
+
42
+ Example usage:
43
+
44
+ ```tsx
45
+ function MyEmbed() {
46
+ const { iframeRef, loading, error } = useSigmaIframe();
47
+ return (
48
+ <>
49
+ {loading && <p>Loading...</p>}
50
+ {error && <p>Error: {error.message}</p>}
51
+ <iframe
52
+ className={loading || error ? "hidden" : "show"}
53
+ ref={iframeRef}
54
+ {/* The embed url to load */}
55
+ src="https://app.sigmacomputing.com/embed"
56
+ />
57
+ </>
58
+ );
59
+ }
60
+ ```
61
+
62
+ #### useWorkbookVariables
63
+
64
+ A hook that returns functions to get and set the variables in a workbook.
65
+
66
+ ```typescript
67
+ useWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>): {
68
+ getVariables: () => Promise<Record<string, string>>;
69
+ setVariables: (variables: Record<string, string>) => void;
70
+ }
71
+ ```
72
+
73
+ Example usage:
74
+
75
+ ```tsx
76
+ function MyEmbed() {
77
+ const { getVariables, setVariables } = useWorkbookVariables(iframeRef);
78
+ return (
79
+ <>
80
+ <button onClick={() => setVariables({ foo: "bar" }))} name="set-variables">Set Filters</button>
81
+ <button
82
+ onClick={async () => {
83
+ const variable = await getVariables();
84
+ }}
85
+ name="get-variables"
86
+ >
87
+ Get Filters
88
+ </button>
89
+ <iframe ref={iframeRef} src="https://app.sigmacomputing.com/embed" />
90
+ </>
91
+ );
92
+ }
93
+ ```
94
+
95
+ #### usePageHeight
96
+
97
+ A hook that returns the height of the page in the iframe. This HAS to be used with the responsive_height [URL Parameter](https://help.sigmacomputing.com/docs/embed-url-parameters).
98
+
99
+ ```typescript
100
+ usePageHeight(iframeRef: React.RefObject<HTMLIFrameElement>): number | undefined
101
+ ```
102
+
103
+ Example usage:
104
+
105
+ ```tsx
106
+ function MyEmbed() {
107
+ const { iframeRef } = useSigmaIframe();
108
+ const height = usePageHeight(iframeRef);
109
+ return (
110
+ <>
111
+ <iframe
112
+ style={{ height }}
113
+ ref={iframeRef}
114
+ src="https://app.sigmacomputing.com/embed?:responsive_height=true"
115
+ />
116
+ </>
117
+ );
118
+ }
119
+ ```
120
+
121
+ ### Listeners
122
+
123
+ These are functions that can be used to listen for events from the embed, and react to them.
124
+
125
+ #### useWorkbookLoaded
126
+
127
+ Listen for a workbook loaded event, and execute the given callback when it occurs.
128
+
129
+ ```typescript
130
+ useWorkbookLoaded(iframeRef: React.RefObject<HTMLIFrameElement>, onLoaded: (event: WorkbookLoadedEvent) => void)
131
+ ```
132
+
133
+ #### useWorkbookError
134
+
135
+ Listen for a workbook error event, and execute the given callback when it occurs.
136
+
137
+ ```typescript
138
+ useWorkbookError(iframeRef: React.RefObject<HTMLIFrameElement>, onError: (event: WorkbookErrorEvent) => void)
139
+ ```
140
+
141
+ #### useWorkbookDataLoaded
142
+
143
+ Listen for a workbook data loaded event, and execute the given callback when it occurs.
144
+
145
+ ```typescript
146
+ useWorkbookDataLoaded(iframeRef: React.RefObject<HTMLIFrameElement>, onDataLoaded: (event: WorkbookDataLoadedEvent) => void)
147
+ ```
148
+
149
+ #### useVariableChange
150
+
151
+ Listen for a workbook variable change event, and execute the given callback when it occurs.
152
+
153
+ ```typescript
154
+ useVariableChange(iframeRef: React.RefObject<HTMLIFrameElement>, onVariableChange: (event: WorkbookVariableOnChangeEvent) => void)
155
+ ```
156
+
157
+ #### useTableCellSelect
158
+
159
+ Listen for a table cell select event, and execute the given callback when it occurs.
160
+
161
+ ```typescript
162
+ useTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onTableCellSelect: (event: WorkbookTableCellSelectEvent) => void)
163
+ ```
164
+
165
+ #### useWorkbookPublished
166
+
167
+ Listen for a workbook published event, and execute the given callback when it occurs.
168
+
169
+ ```typescript
170
+ useWorkbookPublished(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookPublished: (event: WorkbookPublishedEvent) => void)
171
+ ```
172
+
173
+ #### useWorkbookFullScreen
174
+
175
+ Listen for a workbook full screen event, and execute the given callback when it occurs.
176
+
177
+ ```typescript
178
+ useWorkbookFullScreen(iframeRef: React.RefObject<HTMLIFrameElement>, onFullScreen: (event: WorkbookFullScreenEvent) => void)
179
+ ```
180
+
181
+ #### useWorkbookPageHeight
182
+
183
+ Listen for a workbook page height event, and execute the given callback when it occurs. Needs to be used with the responsive_height [URL Parameter](https://help.sigmacomputing.com/docs/embed-url-parameters).
184
+
185
+ ```typescript
186
+ useWorkbookPageHeight(iframeRef: React.RefObject<HTMLIFrameElement>, onPageHeight: (event: WorkbookPageHeightEvent) => void)
187
+ ```
188
+
189
+ #### useWorkbookSelectedNode
190
+
191
+ Listen for a workbook selected node event, and execute the given callback when it occurs.
192
+
193
+ ```typescript
194
+ useWorkbookSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void)
195
+ ```
196
+
197
+ #### useWorkbookPivotTableCellSelect
198
+
199
+ Listen for a pivot table cell select event, and execute the given callback when it occurs.
200
+
201
+ ```typescript
202
+ useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void)
203
+ ```
204
+
205
+ #### useWorkbookChartValueSelect
206
+
207
+ Listen for a chart value select event, and execute the given callback when it occurs.
208
+
209
+ ```typescript
210
+ useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void)
211
+ ```
212
+
213
+ #### useWorkbookCurrentVariables
214
+
215
+ Listen for a workbook current variables event, and execute the given callback when it occurs. This is to be used when `workbookVariablesList` is called.
216
+
217
+ ```typescript
218
+ useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void)
219
+ ```
220
+
221
+ #### useWorkbookBookmarkOnCreate
222
+
223
+ Listen for a workbook bookmark create event, and execute the given callback when it occurs.
224
+
225
+ ```typescript
226
+ useWorkbookBookmarkOnCreate(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkCreate: (event: WorkbookBookmarkOnCreateEvent) => void)
227
+ ```
228
+
229
+ #### useWorkbookChartError
230
+
231
+ Listen for a workbook chart error event, and execute the given callback when it occurs.
232
+
233
+ ```typescript
234
+ useWorkbookChartError(iframeRef: React.RefObject<HTMLIFrameElement>, onChartError: (event: WorkbookChartErrorEvent) => void)
235
+ ```
236
+
237
+ #### useWorkbookExploreKeyOnChange
238
+
239
+ Listen for a workbook explore key change event, and execute the given callback when it occurs.
240
+
241
+ ```typescript
242
+ useWorkbookExploreKeyOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onExploreKeyOnChange: (event: WorkbookExploreKeyOnChangeEvent) => void)
243
+ ```
244
+
245
+ #### useWorkbookBookmarkOnChange
246
+
247
+ Listen for a workbook bookmark change event, and execute the given callback when it occurs.
248
+
249
+ ```typescript
250
+ useWorkbookBookmarkOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void)
251
+ ```
252
+
253
+ #### useUrlOnChange
254
+
255
+ Listen for a url change event, and execute the given callback when it occurs.
256
+
257
+ ```typescript
258
+ useUrlOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onUrlChange: (event: UrlOnChangeEvent) => void)
259
+ ```
260
+
261
+ #### useWorkbookIdOnChange
262
+
263
+ Listen for a workbook id change event, and execute the given callback when it occurs.
264
+
265
+ ```typescript
266
+ useWorkbookIdOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookIdChange: (event: WorkbookIdOnChangeEvent) => void)
267
+ ```
268
+
269
+ ### Mutations
270
+
271
+ These are functions that can be used to send messages to the embed. They may cause an event to be emitted from the embed.
272
+
273
+ #### getWorkbookVariables
274
+
275
+ Send a message to the embed to list the current variables. This will cause a `workbook:variables:current` event to be emitted from the embed, and can be used with the `useWorkbookCurrentVariables` function.
276
+
277
+ ```typescript
278
+ getWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>)
279
+ ```
280
+
281
+ #### updateWorkbookVariables
282
+
283
+ Send a message to the embed to update the variables.
284
+
285
+ ```typescript
286
+ updateWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>, variables: Record<string, string>)
287
+ ```
288
+
289
+ #### createWorkbookBookmark
290
+
291
+ Send a message to the embed to create a bookmark.
292
+
293
+ ```typescript
294
+ createWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameElement>, bookmark: WorkbookBookmarkCreateEvent)
295
+ ```
296
+
297
+ #### updateWorkbookBookmark
298
+
299
+ Send a message to the embed to update the current bookmark.
300
+
301
+ ```typescript
302
+ updateWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameElement>)
303
+ ```
304
+
305
+ #### updateWorkbookFullscreen
306
+
307
+ Send a message to the embed to toggle the fullscreen state of the given element.
308
+
309
+ ```typescript
310
+ updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string | null)
311
+ ```
312
+
313
+ #### updateWorkbookSelectedNodeId
314
+
315
+ Send a message to the embed to update the selected element. Can be a pageId or elementId.
316
+
317
+ ```typescript
318
+ updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page")
319
+ ```
320
+
321
+ #### updateWorkbookSharingLink
322
+
323
+ Send a message to the embed to update the sharing link.
324
+
325
+ ```typescript
326
+ updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null)
327
+ ```
package/dist/index.d.mts CHANGED
@@ -1,6 +1,5 @@
1
- import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookPageSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
1
+ import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
2
2
  export * from '@sigmacomputing/embed-sdk';
3
- import * as react from 'react';
4
3
 
5
4
  /**
6
5
  * A hook that returns a ref to be used with an iframe element, and the loading and error state of the embed.
@@ -24,10 +23,10 @@ import * as react from 'react';
24
23
  * ```
25
24
  */
26
25
  declare function useSigmaIframe(): {
27
- iframeRef: react.RefObject<HTMLIFrameElement>;
26
+ iframeRef: React.RefObject<HTMLIFrameElement>;
28
27
  loading: boolean;
29
28
  error: WorkbookErrorEvent | null;
30
- variables: Record<string, string> | null | undefined;
29
+ variables: Record<string, string> | undefined;
31
30
  };
32
31
 
33
32
  /**
@@ -147,7 +146,7 @@ declare function useTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement
147
146
  declare function useWorkbookPublished(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookPublished: (event: WorkbookPublishedEvent) => void): void;
148
147
  declare function useWorkbookFullScreen(iframeRef: React.RefObject<HTMLIFrameElement>, onFullScreen: (event: WorkbookFullScreenEvent) => void): void;
149
148
  declare function useWorkbookPageHeight(iframeRef: React.RefObject<HTMLIFrameElement>, onPageHeight: (event: WorkbookPageHeightEvent) => void): void;
150
- declare function useWorkbookPageSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookPageSelectedNodeEvent) => void): void;
149
+ declare function useWorkbookSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void): void;
151
150
  declare function useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void): void;
152
151
  declare function useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void): void;
153
152
  declare function useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void): void;
@@ -164,6 +163,6 @@ declare function createWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameEle
164
163
  declare function updateWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameElement>): void;
165
164
  declare function updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string | null): void;
166
165
  declare function updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page"): void;
167
- declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink: string | null): void;
166
+ declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null): void;
168
167
 
169
- export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPageSelectedNode, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookVariables };
168
+ export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookSelectedNode, useWorkbookVariables };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookPageSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
1
+ import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
2
2
  export * from '@sigmacomputing/embed-sdk';
3
- import * as react from 'react';
4
3
 
5
4
  /**
6
5
  * A hook that returns a ref to be used with an iframe element, and the loading and error state of the embed.
@@ -24,10 +23,10 @@ import * as react from 'react';
24
23
  * ```
25
24
  */
26
25
  declare function useSigmaIframe(): {
27
- iframeRef: react.RefObject<HTMLIFrameElement>;
26
+ iframeRef: React.RefObject<HTMLIFrameElement>;
28
27
  loading: boolean;
29
28
  error: WorkbookErrorEvent | null;
30
- variables: Record<string, string> | null | undefined;
29
+ variables: Record<string, string> | undefined;
31
30
  };
32
31
 
33
32
  /**
@@ -147,7 +146,7 @@ declare function useTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement
147
146
  declare function useWorkbookPublished(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookPublished: (event: WorkbookPublishedEvent) => void): void;
148
147
  declare function useWorkbookFullScreen(iframeRef: React.RefObject<HTMLIFrameElement>, onFullScreen: (event: WorkbookFullScreenEvent) => void): void;
149
148
  declare function useWorkbookPageHeight(iframeRef: React.RefObject<HTMLIFrameElement>, onPageHeight: (event: WorkbookPageHeightEvent) => void): void;
150
- declare function useWorkbookPageSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookPageSelectedNodeEvent) => void): void;
149
+ declare function useWorkbookSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void): void;
151
150
  declare function useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void): void;
152
151
  declare function useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void): void;
153
152
  declare function useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void): void;
@@ -164,6 +163,6 @@ declare function createWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameEle
164
163
  declare function updateWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameElement>): void;
165
164
  declare function updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string | null): void;
166
165
  declare function updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page"): void;
167
- declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink: string | null): void;
166
+ declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null): void;
168
167
 
169
- export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPageSelectedNode, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookVariables };
168
+ export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookSelectedNode, useWorkbookVariables };
package/dist/index.js CHANGED
@@ -44,9 +44,9 @@ __export(src_exports, {
44
44
  useWorkbookIdOnChange: () => useWorkbookIdOnChange,
45
45
  useWorkbookLoaded: () => useWorkbookLoaded,
46
46
  useWorkbookPageHeight: () => useWorkbookPageHeight,
47
- useWorkbookPageSelectedNode: () => useWorkbookPageSelectedNode,
48
47
  useWorkbookPivotTableCellSelect: () => useWorkbookPivotTableCellSelect,
49
48
  useWorkbookPublished: () => useWorkbookPublished,
49
+ useWorkbookSelectedNode: () => useWorkbookSelectedNode,
50
50
  useWorkbookVariables: () => useWorkbookVariables
51
51
  });
52
52
  module.exports = __toCommonJS(src_exports);
@@ -161,13 +161,13 @@ function useWorkbookPageHeight(iframeRef, onPageHeight) {
161
161
  return () => window.removeEventListener("message", listener);
162
162
  }, [iframeRef, onPageHeight]);
163
163
  }
164
- function useWorkbookPageSelectedNode(iframeRef, onPageSelectedNode) {
164
+ function useWorkbookSelectedNode(iframeRef, onPageSelectedNode) {
165
165
  (0, import_react.useEffect)(() => {
166
166
  const listener = (event) => {
167
167
  if (!iframeRef.current) {
168
168
  return;
169
169
  }
170
- (0, import_embed_sdk.workbookPageSelectedNodeListener)(
170
+ (0, import_embed_sdk.workbookSelectedNodeListener)(
171
171
  event,
172
172
  iframeRef.current,
173
173
  onPageSelectedNode
@@ -314,7 +314,7 @@ function useWorkbookIdOnChange(iframeRef, onIdChange) {
314
314
  function useSigmaIframe() {
315
315
  const iframeRef = (0, import_react2.useRef)(null);
316
316
  const [loading, setLoading] = (0, import_react2.useState)(true);
317
- const [variables, setVariables] = (0, import_react2.useState)();
317
+ const [variables, setVariables] = (0, import_react2.useState)(void 0);
318
318
  const [error, setError] = (0, import_react2.useState)(null);
319
319
  const loadingCallback = (0, import_react2.useCallback)((event) => {
320
320
  setLoading(false);
@@ -462,8 +462,8 @@ function updateWorkbookSharingLink(iframeRef, sharingLink, sharingExplorationLin
462
462
  useWorkbookIdOnChange,
463
463
  useWorkbookLoaded,
464
464
  useWorkbookPageHeight,
465
- useWorkbookPageSelectedNode,
466
465
  useWorkbookPivotTableCellSelect,
467
466
  useWorkbookPublished,
467
+ useWorkbookSelectedNode,
468
468
  useWorkbookVariables
469
469
  });
package/dist/index.mjs CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  workbookFullScreenListener,
13
13
  workbookPageHeightListener,
14
14
  workbookChartValueSelectListener,
15
- workbookPageSelectedNodeListener,
15
+ workbookSelectedNodeListener,
16
16
  workbookPivotTableCellSelectListener,
17
17
  workbookBookmarkCreateListener,
18
18
  workbookCurrentVariablesListener,
@@ -127,13 +127,13 @@ function useWorkbookPageHeight(iframeRef, onPageHeight) {
127
127
  return () => window.removeEventListener("message", listener);
128
128
  }, [iframeRef, onPageHeight]);
129
129
  }
130
- function useWorkbookPageSelectedNode(iframeRef, onPageSelectedNode) {
130
+ function useWorkbookSelectedNode(iframeRef, onPageSelectedNode) {
131
131
  useEffect(() => {
132
132
  const listener = (event) => {
133
133
  if (!iframeRef.current) {
134
134
  return;
135
135
  }
136
- workbookPageSelectedNodeListener(
136
+ workbookSelectedNodeListener(
137
137
  event,
138
138
  iframeRef.current,
139
139
  onPageSelectedNode
@@ -280,7 +280,7 @@ function useWorkbookIdOnChange(iframeRef, onIdChange) {
280
280
  function useSigmaIframe() {
281
281
  const iframeRef = useRef(null);
282
282
  const [loading, setLoading] = useState(true);
283
- const [variables, setVariables] = useState();
283
+ const [variables, setVariables] = useState(void 0);
284
284
  const [error, setError] = useState(null);
285
285
  const loadingCallback = useCallback((event) => {
286
286
  setLoading(false);
@@ -439,8 +439,8 @@ export {
439
439
  useWorkbookIdOnChange,
440
440
  useWorkbookLoaded,
441
441
  useWorkbookPageHeight,
442
- useWorkbookPageSelectedNode,
443
442
  useWorkbookPivotTableCellSelect,
444
443
  useWorkbookPublished,
444
+ useWorkbookSelectedNode,
445
445
  useWorkbookVariables
446
446
  };
package/package.json CHANGED
@@ -1,9 +1,24 @@
1
1
  {
2
2
  "name": "@sigmacomputing/react-embed-sdk",
3
- "version": "0.3.2",
4
- "description": "React JavaScript SDK to interact with Sigma Computing's Embed API",
5
3
  "author": "sigmacomputing",
6
- "license": "ISC",
4
+ "version": "0.4.0",
5
+ "description": "React JavaScript SDK to interact with Sigma Computing's Embed API",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/sigmacomputing/embed-sdk.git",
10
+ "directory": "packages/react-embed-sdk"
11
+ },
12
+ "homepage": "https://sigmacomputing.com",
13
+ "bugs": {
14
+ "url": "https://github.com/sigmacomputing/embed-sdk/issues"
15
+ },
16
+ "keywords": [
17
+ "embed",
18
+ "sdk",
19
+ "sigma",
20
+ "react"
21
+ ],
7
22
  "exports": {
8
23
  "import": "./dist/index.mjs",
9
24
  "require": "./dist/index.js",
@@ -20,11 +35,11 @@
20
35
  "@types/react": "^18.3.3",
21
36
  "react": "^18.3.1",
22
37
  "react-dom": "^18.3.1",
23
- "@sigmacomputing/eslint-config": "0.0.0",
24
- "@sigmacomputing/typescript-config": "0.0.0"
38
+ "@sigmacomputing/typescript-config": "0.0.0",
39
+ "@sigmacomputing/eslint-config": "0.0.0"
25
40
  },
26
41
  "dependencies": {
27
- "@sigmacomputing/embed-sdk": "0.3.2"
42
+ "@sigmacomputing/embed-sdk": "0.4.0"
28
43
  },
29
44
  "scripts": {
30
45
  "prepublish": "pnpm build",