@buoy-gg/impersonate 3.0.0 → 3.0.2

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.
@@ -87,6 +87,12 @@ Object.defineProperty(exports, "impersonateStore", {
87
87
  return _impersonateStore.impersonateStore;
88
88
  }
89
89
  });
90
+ Object.defineProperty(exports, "impersonateSyncAdapter", {
91
+ enumerable: true,
92
+ get: function () {
93
+ return _impersonateSyncAdapter.impersonateSyncAdapter;
94
+ }
95
+ });
90
96
  Object.defineProperty(exports, "isImpersonating", {
91
97
  enumerable: true,
92
98
  get: function () {
@@ -11,6 +11,7 @@ var _ImpersonateModal = require("./impersonate/components/ImpersonateModal");
11
11
  var _ImpersonateBanner = require("./impersonate/components/ImpersonateBanner");
12
12
  var _impersonateStore = require("./impersonate/utils/impersonateStore");
13
13
  var _impersonateListener = require("./impersonate/utils/impersonateListener");
14
+ var _impersonateSyncAdapter = require("./sync/impersonateSyncAdapter");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  /**
@@ -176,6 +177,11 @@ function createImpersonateTool(config) {
176
177
  _impersonateStore.impersonateStore.setDeveloperDefaults(defaults);
177
178
  }
178
179
 
180
+ // Make the app's user search available to the zero-config external-sync
181
+ // adapter (FloatingDevTools auto-sync), so the desktop dashboard can proxy
182
+ // searches without separate wiring.
183
+ (0, _impersonateSyncAdapter.registerImpersonateSearchUsers)(onSearchUsers ?? null);
184
+
179
185
  // Patch fetch and restore persisted impersonation state up-front. Fire and
180
186
  // forget — bootstrapImpersonate guards itself against double-invocation.
181
187
  void bootstrapImpersonate();
@@ -4,7 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createImpersonateSyncAdapter = createImpersonateSyncAdapter;
7
+ exports.impersonateSyncAdapter = void 0;
8
+ exports.registerImpersonateSearchUsers = registerImpersonateSearchUsers;
7
9
  var _impersonateStore = require("../impersonate/utils/impersonateStore");
10
+ // Registered by createImpersonateTool, so the zero-config adapter (see
11
+ // FloatingDevTools' auto external sync) can proxy the dashboard's user
12
+ // search without the app wiring anything twice.
13
+ let registeredSearchUsers = null;
14
+
15
+ /** @internal Called by createImpersonateTool with the app's onSearchUsers. */
16
+ function registerImpersonateSearchUsers(handler) {
17
+ registeredSearchUsers = handler;
18
+ }
19
+ function buildActions(onSearchUsers) {
20
+ return {
21
+ searchUsers: params => onSearchUsers(params.query),
22
+ startImpersonation: params => _impersonateStore.impersonateStore.startImpersonation(params.user),
23
+ stopImpersonation: () => _impersonateStore.impersonateStore.stopImpersonation(),
24
+ pauseImpersonation: () => _impersonateStore.impersonateStore.pauseImpersonation(),
25
+ resumeImpersonation: () => _impersonateStore.impersonateStore.resumeImpersonation(),
26
+ updateSettings: params => _impersonateStore.impersonateStore.updateSettings(params.settings),
27
+ removeFromHistory: params => _impersonateStore.impersonateStore.removeFromHistory(params.userId),
28
+ clearHistory: () => _impersonateStore.impersonateStore.clearHistory()
29
+ };
30
+ }
8
31
  /**
9
32
  * Create a sync adapter for the impersonate tool, consumed by
10
33
  * @buoy-gg/external-sync's `useExternalSync` (structurally matches its
@@ -22,15 +45,24 @@ function createImpersonateSyncAdapter({
22
45
  version: 1,
23
46
  getSnapshot: () => _impersonateStore.impersonateStore.getState(),
24
47
  subscribe: onChange => _impersonateStore.impersonateStore.subscribe(onChange),
25
- actions: {
26
- searchUsers: params => onSearchUsers(params.query),
27
- startImpersonation: params => _impersonateStore.impersonateStore.startImpersonation(params.user),
28
- stopImpersonation: () => _impersonateStore.impersonateStore.stopImpersonation(),
29
- pauseImpersonation: () => _impersonateStore.impersonateStore.pauseImpersonation(),
30
- resumeImpersonation: () => _impersonateStore.impersonateStore.resumeImpersonation(),
31
- updateSettings: params => _impersonateStore.impersonateStore.updateSettings(params.settings),
32
- removeFromHistory: params => _impersonateStore.impersonateStore.removeFromHistory(params.userId),
33
- clearHistory: () => _impersonateStore.impersonateStore.clearHistory()
34
- }
48
+ actions: buildActions(onSearchUsers)
35
49
  };
36
- }
50
+ }
51
+
52
+ /**
53
+ * Zero-config variant used by FloatingDevTools' auto external sync. User
54
+ * search proxies to the onSearchUsers the app passed to
55
+ * createImpersonateTool; if the tool was never configured, the search action
56
+ * reports a descriptive error to the dashboard.
57
+ */
58
+ const impersonateSyncAdapter = exports.impersonateSyncAdapter = {
59
+ version: 1,
60
+ getSnapshot: () => _impersonateStore.impersonateStore.getState(),
61
+ subscribe: onChange => _impersonateStore.impersonateStore.subscribe(onChange),
62
+ actions: buildActions(query => {
63
+ if (!registeredSearchUsers) {
64
+ throw new Error("No onSearchUsers configured — pass it to createImpersonateTool()");
65
+ }
66
+ return registeredSearchUsers(query);
67
+ })
68
+ };
@@ -32,7 +32,7 @@ export { createImpersonateTool, ImpersonateIcon } from "./preset";
32
32
  // EXTERNAL SYNC (Adapter for @buoy-gg/external-sync's useExternalSync)
33
33
  // =============================================================================
34
34
 
35
- export { createImpersonateSyncAdapter } from "./sync/impersonateSyncAdapter";
35
+ export { createImpersonateSyncAdapter, impersonateSyncAdapter } from "./sync/impersonateSyncAdapter";
36
36
 
37
37
  // =============================================================================
38
38
  // COMPONENTS (For custom UI implementations)
@@ -13,6 +13,7 @@ import { ImpersonateModal } from "./impersonate/components/ImpersonateModal";
13
13
  import { ImpersonateBanner } from "./impersonate/components/ImpersonateBanner";
14
14
  import { impersonateStore } from "./impersonate/utils/impersonateStore";
15
15
  import { impersonateListener } from "./impersonate/utils/impersonateListener";
16
+ import { registerImpersonateSearchUsers } from "./sync/impersonateSyncAdapter";
16
17
  import { jsx as _jsx } from "react/jsx-runtime";
17
18
  // =============================================================================
18
19
  // EAGER BOOTSTRAP
@@ -170,6 +171,11 @@ export function createImpersonateTool(config) {
170
171
  impersonateStore.setDeveloperDefaults(defaults);
171
172
  }
172
173
 
174
+ // Make the app's user search available to the zero-config external-sync
175
+ // adapter (FloatingDevTools auto-sync), so the desktop dashboard can proxy
176
+ // searches without separate wiring.
177
+ registerImpersonateSearchUsers(onSearchUsers ?? null);
178
+
173
179
  // Patch fetch and restore persisted impersonation state up-front. Fire and
174
180
  // forget — bootstrapImpersonate guards itself against double-invocation.
175
181
  void bootstrapImpersonate();
@@ -1,6 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  import { impersonateStore } from "../impersonate/utils/impersonateStore";
4
+ // Registered by createImpersonateTool, so the zero-config adapter (see
5
+ // FloatingDevTools' auto external sync) can proxy the dashboard's user
6
+ // search without the app wiring anything twice.
7
+ let registeredSearchUsers = null;
8
+
9
+ /** @internal Called by createImpersonateTool with the app's onSearchUsers. */
10
+ export function registerImpersonateSearchUsers(handler) {
11
+ registeredSearchUsers = handler;
12
+ }
13
+ function buildActions(onSearchUsers) {
14
+ return {
15
+ searchUsers: params => onSearchUsers(params.query),
16
+ startImpersonation: params => impersonateStore.startImpersonation(params.user),
17
+ stopImpersonation: () => impersonateStore.stopImpersonation(),
18
+ pauseImpersonation: () => impersonateStore.pauseImpersonation(),
19
+ resumeImpersonation: () => impersonateStore.resumeImpersonation(),
20
+ updateSettings: params => impersonateStore.updateSettings(params.settings),
21
+ removeFromHistory: params => impersonateStore.removeFromHistory(params.userId),
22
+ clearHistory: () => impersonateStore.clearHistory()
23
+ };
24
+ }
4
25
  /**
5
26
  * Create a sync adapter for the impersonate tool, consumed by
6
27
  * @buoy-gg/external-sync's `useExternalSync` (structurally matches its
@@ -18,15 +39,24 @@ export function createImpersonateSyncAdapter({
18
39
  version: 1,
19
40
  getSnapshot: () => impersonateStore.getState(),
20
41
  subscribe: onChange => impersonateStore.subscribe(onChange),
21
- actions: {
22
- searchUsers: params => onSearchUsers(params.query),
23
- startImpersonation: params => impersonateStore.startImpersonation(params.user),
24
- stopImpersonation: () => impersonateStore.stopImpersonation(),
25
- pauseImpersonation: () => impersonateStore.pauseImpersonation(),
26
- resumeImpersonation: () => impersonateStore.resumeImpersonation(),
27
- updateSettings: params => impersonateStore.updateSettings(params.settings),
28
- removeFromHistory: params => impersonateStore.removeFromHistory(params.userId),
29
- clearHistory: () => impersonateStore.clearHistory()
30
- }
42
+ actions: buildActions(onSearchUsers)
31
43
  };
32
- }
44
+ }
45
+
46
+ /**
47
+ * Zero-config variant used by FloatingDevTools' auto external sync. User
48
+ * search proxies to the onSearchUsers the app passed to
49
+ * createImpersonateTool; if the tool was never configured, the search action
50
+ * reports a descriptive error to the dashboard.
51
+ */
52
+ export const impersonateSyncAdapter = {
53
+ version: 1,
54
+ getSnapshot: () => impersonateStore.getState(),
55
+ subscribe: onChange => impersonateStore.subscribe(onChange),
56
+ actions: buildActions(query => {
57
+ if (!registeredSearchUsers) {
58
+ throw new Error("No onSearchUsers configured — pass it to createImpersonateTool()");
59
+ }
60
+ return registeredSearchUsers(query);
61
+ })
62
+ };
@@ -20,7 +20,7 @@
20
20
  * ```
21
21
  */
22
22
  export { createImpersonateTool, ImpersonateIcon } from "./preset";
23
- export { createImpersonateSyncAdapter } from "./sync/impersonateSyncAdapter";
23
+ export { createImpersonateSyncAdapter, impersonateSyncAdapter, } from "./sync/impersonateSyncAdapter";
24
24
  export { ImpersonateModal } from "./impersonate/components/ImpersonateModal";
25
25
  export { ImpersonateBanner, ImpersonateBannerMinimal, } from "./impersonate/components/ImpersonateBanner";
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMlE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAM7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AACpD;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAMrF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,YAAY,EACV,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAM7F,YAAY,EACV,IAAI,EACJ,gBAAgB,IAAI,oBAAoB,EACxC,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMlE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AACpD;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAMrF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,YAAY,EACV,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAM7F,YAAY,EACV,IAAI,EACJ,gBAAgB,IAAI,oBAAoB,EACxC,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,yCAAyC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAG/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAyEjE,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,KAAiB,EAAE,EAAE,SAAS,qBAmBrE;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB;;;;;qBA6B9C;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;uBAGd;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE;;;;;EAmB3H"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAI/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAyEjE,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,KAAiB,EAAE,EAAE,SAAS,qBAmBrE;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB;;;;;qBAkC9C;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;uBAGd;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE;;;;;EAmB3H"}
@@ -1,10 +1,13 @@
1
1
  import type { User, ImpersonationState } from "../impersonate/types";
2
+ type SearchUsersHandler = (query: string) => Promise<User[]>;
3
+ /** @internal Called by createImpersonateTool with the app's onSearchUsers. */
4
+ export declare function registerImpersonateSearchUsers(handler: SearchUsersHandler | null): void;
2
5
  interface CreateImpersonateSyncAdapterOptions {
3
6
  /**
4
7
  * Same user-search callback you pass to the ImpersonateModal — the
5
8
  * dashboard's search box proxies here.
6
9
  */
7
- onSearchUsers: (query: string) => Promise<User[]>;
10
+ onSearchUsers: SearchUsersHandler;
8
11
  }
9
12
  /**
10
13
  * Create a sync adapter for the impersonate tool, consumed by
@@ -31,5 +34,26 @@ export declare function createImpersonateSyncAdapter({ onSearchUsers, }: CreateI
31
34
  clearHistory: () => Promise<void>;
32
35
  };
33
36
  };
37
+ /**
38
+ * Zero-config variant used by FloatingDevTools' auto external sync. User
39
+ * search proxies to the onSearchUsers the app passed to
40
+ * createImpersonateTool; if the tool was never configured, the search action
41
+ * reports a descriptive error to the dashboard.
42
+ */
43
+ export declare const impersonateSyncAdapter: {
44
+ version: number;
45
+ getSnapshot: () => ImpersonationState;
46
+ subscribe: (onChange: () => void) => () => void;
47
+ actions: {
48
+ searchUsers: (params: unknown) => Promise<User[]>;
49
+ startImpersonation: (params: unknown) => Promise<void>;
50
+ stopImpersonation: () => Promise<void>;
51
+ pauseImpersonation: () => Promise<void>;
52
+ resumeImpersonation: () => Promise<void>;
53
+ updateSettings: (params: unknown) => Promise<void>;
54
+ removeFromHistory: (params: unknown) => Promise<void>;
55
+ clearHistory: () => Promise<void>;
56
+ };
57
+ };
34
58
  export {};
35
59
  //# sourceMappingURL=impersonateSyncAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"impersonateSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/impersonateSyncAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,UAAU,mCAAmC;IAC3C;;;OAGG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CACnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,aAAa,GACd,EAAE,mCAAmC;;uBAGjB,kBAAkB;0BACb,MAAM,IAAI;;8BAER,OAAO;qCAEA,OAAO;;;;iCAKX,OAAO;oCAKJ,OAAO;;;EAOxC"}
1
+ {"version":3,"file":"impersonateSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/impersonateSyncAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAO7D,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,kBAAkB,GAAG,IAAI,GACjC,IAAI,CAEN;AAyBD,UAAU,mCAAmC;IAC3C;;;OAGG;IACH,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,aAAa,GACd,EAAE,mCAAmC;;uBAGjB,kBAAkB;0BACb,MAAM,IAAI;;8BA7CV,OAAO;qCAEA,OAAO;;;;iCAKX,OAAO;oCAQJ,OAAO;;;EAiCtC;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;uBAEhB,kBAAkB;0BACb,MAAM,IAAI;;8BA3DR,OAAO;qCAEA,OAAO;;;;iCAKX,OAAO;oCAQJ,OAAO;;;CAqDtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/impersonate",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "User impersonation tool for Buoy DevTools - inject custom headers for admin testing",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@buoy-gg/shared-ui": "3.0.0"
29
+ "@buoy-gg/shared-ui": "3.0.2"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "react": "*",