@sigmacomputing/react-embed-sdk 0.3.2 → 0.4.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.
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",