@dxos/react-ui 0.1.28 → 0.1.29-next.1bc50d4
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/dist/lib/browser/index.mjs +162 -18
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/composites/Shell/Shell.d.ts +1 -1
- package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
- package/dist/types/src/composites/Shell/Shell.stories.d.ts +10 -0
- package/dist/types/src/composites/Shell/Shell.stories.d.ts.map +1 -0
- package/dist/types/src/composites/Shell/ShellContext.d.ts +22 -0
- package/dist/types/src/composites/Shell/ShellContext.d.ts.map +1 -0
- package/dist/types/src/composites/Shell/index.d.ts +1 -0
- package/dist/types/src/composites/Shell/index.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts +1 -2
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +1 -1
- package/dist/types/src/playwright/invitations-manager.d.ts +33 -0
- package/dist/types/src/playwright/invitations-manager.d.ts.map +1 -0
- package/dist/types/src/playwright/invitations.spec.d.ts +2 -0
- package/dist/types/src/playwright/invitations.spec.d.ts.map +1 -0
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/stories/Invitations.stories.d.ts +14 -0
- package/dist/types/src/stories/Invitations.stories.d.ts.map +1 -0
- package/dist/types/src/translations/locales/en-US.d.ts +5 -0
- package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
- package/package.json +14 -12
- package/src/components/InvitationList/InvitationList.stories.tsx +2 -2
- package/src/components/SpaceList/SpaceListItem.tsx +1 -1
- package/src/composites/JoinDialog/JoinDialog.stories.tsx +2 -2
- package/src/composites/Shell/Shell.stories.tsx +76 -0
- package/src/composites/Shell/Shell.tsx +17 -3
- package/src/composites/Shell/ShellContext.tsx +175 -0
- package/src/composites/Shell/index.ts +1 -0
- package/src/panels/DevicesPanel/DevicesPanel.tsx +2 -2
- package/src/panels/JoinPanel/JoinHeading.tsx +4 -3
- package/src/panels/JoinPanel/JoinPanel.tsx +1 -1
- package/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx +2 -2
- package/src/panels/JoinPanel/view-states/InvitationInput.tsx +1 -1
- package/src/panels/SpacePanel/SpacePanel.stories.tsx +2 -40
- package/src/panels/SpacePanel/SpacePanel.tsx +5 -5
- package/src/playwright/invitations-manager.ts +210 -0
- package/src/playwright/invitations.spec.ts +363 -0
- package/src/playwright/playwright.config.ts +7 -0
- package/src/stories/Invitations.stories.tsx +165 -0
- package/src/translations/locales/en-US.ts +6 -1
- package/dist/types/src/testing/ClientProvider.d.ts +0 -3
- package/dist/types/src/testing/ClientProvider.d.ts.map +0 -1
- package/dist/types/src/testing/index.d.ts +0 -2
- package/dist/types/src/testing/index.d.ts.map +0 -1
- package/src/testing/ClientProvider.tsx +0 -18
- package/src/testing/index.ts +0 -5
|
@@ -457,7 +457,7 @@ function _extends7() {
|
|
|
457
457
|
var SpaceListItem = /* @__PURE__ */ forwardRef(({ space, onClick }, ref) => {
|
|
458
458
|
var _a;
|
|
459
459
|
return /* @__PURE__ */ React10.createElement("li", {
|
|
460
|
-
className: mx6("flex gap-2 items-center", onClick && "cursor-pointer"),
|
|
460
|
+
className: mx6("flex gap-2 items-center mbe-2", onClick && "cursor-pointer"),
|
|
461
461
|
onClick: () => onClick == null ? void 0 : onClick(),
|
|
462
462
|
ref,
|
|
463
463
|
"data-testid": "space-list-item"
|
|
@@ -729,8 +729,8 @@ var DeviceListView = ({ createInvitationUrl, titleId, onDone, doneActionParent }
|
|
|
729
729
|
}), /* @__PURE__ */ React15.createElement(Button2, {
|
|
730
730
|
className: "is-full flex gap-2 mbs-2",
|
|
731
731
|
onClick: () => client.halo.createInvitation(),
|
|
732
|
-
"data-testid": "create-
|
|
733
|
-
}, /* @__PURE__ */ React15.createElement("span", null, t("create
|
|
732
|
+
"data-testid": "devices-panel.create-invitation"
|
|
733
|
+
}, /* @__PURE__ */ React15.createElement("span", null, t("create device invitation label")), /* @__PURE__ */ React15.createElement(UserPlus, {
|
|
734
734
|
className: getSize3(4),
|
|
735
735
|
weight: "bold"
|
|
736
736
|
})), /* @__PURE__ */ React15.createElement(PanelSeparator, null), /* @__PURE__ */ React15.createElement(DeviceList, {
|
|
@@ -795,8 +795,8 @@ import { DensityProvider as DensityProvider3, useId as useId4 } from "@dxos/reac
|
|
|
795
795
|
|
|
796
796
|
// packages/apps/patterns/react-ui/src/panels/JoinPanel/JoinHeading.tsx
|
|
797
797
|
import { ProhibitInset as ProhibitInset2 } from "phosphor-react";
|
|
798
|
-
import React17, { cloneElement as cloneElement2 } from "react";
|
|
799
|
-
import { useSpace as useSpace2
|
|
798
|
+
import React17, { cloneElement as cloneElement2, forwardRef as forwardRef2 } from "react";
|
|
799
|
+
import { useSpace as useSpace2 } from "@dxos/react-client";
|
|
800
800
|
import { Avatar as Avatar4, Button as Button4, getSize as getSize4, Heading, mx as mx12, Trans, useId as useId2, useTranslation as useTranslation7 } from "@dxos/react-components";
|
|
801
801
|
function _extends13() {
|
|
802
802
|
_extends13 = Object.assign || function(target) {
|
|
@@ -812,7 +812,7 @@ function _extends13() {
|
|
|
812
812
|
};
|
|
813
813
|
return _extends13.apply(this, arguments);
|
|
814
814
|
}
|
|
815
|
-
var JoinHeading =
|
|
815
|
+
var JoinHeading = /* @__PURE__ */ forwardRef2(({ mode, titleId, invitation, onExit, exitActionParent, preventExit }, ref) => {
|
|
816
816
|
var _a, _b, _c, _d, _e, _f;
|
|
817
817
|
const { t } = useTranslation7("os");
|
|
818
818
|
const space = useSpace2((_a = invitation == null ? void 0 : invitation.invitation) == null ? void 0 : _a.spaceKey);
|
|
@@ -1476,10 +1476,10 @@ var InvitationInput = ({ invitationType, ...viewStateProps }) => {
|
|
|
1476
1476
|
},
|
|
1477
1477
|
input: {
|
|
1478
1478
|
"data-autofocus": `${invitationType} invitation acceptor; invitation input`,
|
|
1479
|
+
"data-testid": `${invitationType}-invitation-input`,
|
|
1479
1480
|
onKeyUp: ({ key }) => key === "Enter" && handleNext()
|
|
1480
1481
|
}
|
|
1481
|
-
}
|
|
1482
|
-
"data-testid": "invitation-input"
|
|
1482
|
+
}
|
|
1483
1483
|
}), /* @__PURE__ */ React24.createElement("div", {
|
|
1484
1484
|
role: "none",
|
|
1485
1485
|
className: "grow"
|
|
@@ -1654,14 +1654,13 @@ var PureInvitationAuthenticatorContent = ({ disabled, failed, dispatch, invitati
|
|
|
1654
1654
|
disabled,
|
|
1655
1655
|
inputMode: "numeric",
|
|
1656
1656
|
pattern: "\\d*",
|
|
1657
|
-
"data-autofocus": `${invitationType} invitation acceptor; invitation authenticator
|
|
1657
|
+
"data-autofocus": `${invitationType} invitation acceptor; invitation authenticator`,
|
|
1658
|
+
"data-testid": `${invitationType}-auth-code-input`
|
|
1658
1659
|
}
|
|
1659
1660
|
}
|
|
1660
1661
|
}, failed && {
|
|
1661
1662
|
validationValence: "error",
|
|
1662
1663
|
validationMessage: t("failed to authenticate message")
|
|
1663
|
-
}, {
|
|
1664
|
-
"data-testid": "auth-code-input"
|
|
1665
1664
|
})), /* @__PURE__ */ React26.createElement("div", {
|
|
1666
1665
|
role: "none",
|
|
1667
1666
|
className: "grow"
|
|
@@ -2074,7 +2073,7 @@ var JoinPanel = ({ mode, initialInvitationCode, titleId: propsTitleId, exitActio
|
|
|
2074
2073
|
// packages/apps/patterns/react-ui/src/panels/SpacePanel/SpacePanel.tsx
|
|
2075
2074
|
import { UserPlus as UserPlus3 } from "phosphor-react";
|
|
2076
2075
|
import React28, { useReducer as useReducer3 } from "react";
|
|
2077
|
-
import { useSpaceInvitations as useSpaceInvitations2 } from "@dxos/react-client";
|
|
2076
|
+
import { useSpaceInvitations as useSpaceInvitations2, observer } from "@dxos/react-client";
|
|
2078
2077
|
import { Button as Button13, DensityProvider as DensityProvider4, getSize as getSize14, mx as mx22, useTranslation as useTranslation17 } from "@dxos/react-components";
|
|
2079
2078
|
function _extends24() {
|
|
2080
2079
|
_extends24 = Object.assign || function(target) {
|
|
@@ -2090,7 +2089,7 @@ function _extends24() {
|
|
|
2090
2089
|
};
|
|
2091
2090
|
return _extends24.apply(this, arguments);
|
|
2092
2091
|
}
|
|
2093
|
-
var CurrentSpaceView = ({ space, createInvitationUrl, titleId }) => {
|
|
2092
|
+
var CurrentSpaceView = observer(({ space, createInvitationUrl, titleId }) => {
|
|
2094
2093
|
const { t } = useTranslation17("os");
|
|
2095
2094
|
const invitations = useSpaceInvitations2(space == null ? void 0 : space.key);
|
|
2096
2095
|
const name = space == null ? void 0 : space.properties.name;
|
|
@@ -2116,7 +2115,7 @@ var CurrentSpaceView = ({ space, createInvitationUrl, titleId }) => {
|
|
|
2116
2115
|
}), /* @__PURE__ */ React28.createElement(Button13, {
|
|
2117
2116
|
className: "is-full flex gap-2 mbs-2",
|
|
2118
2117
|
onClick: () => space == null ? void 0 : space.createInvitation(),
|
|
2119
|
-
"data-testid": "create-
|
|
2118
|
+
"data-testid": "spaces-panel.create-invitation"
|
|
2120
2119
|
}, /* @__PURE__ */ React28.createElement("span", null, t("create space invitation label")), /* @__PURE__ */ React28.createElement(UserPlus3, {
|
|
2121
2120
|
className: getSize14(4),
|
|
2122
2121
|
weight: "bold"
|
|
@@ -2124,7 +2123,7 @@ var CurrentSpaceView = ({ space, createInvitationUrl, titleId }) => {
|
|
|
2124
2123
|
spaceKey: space.key,
|
|
2125
2124
|
includeSelf: true
|
|
2126
2125
|
})));
|
|
2127
|
-
};
|
|
2126
|
+
});
|
|
2128
2127
|
var SpacePanel = (props) => {
|
|
2129
2128
|
const reducer = (state, action) => {
|
|
2130
2129
|
const nextState = {
|
|
@@ -2222,6 +2221,7 @@ var JoinDialog = ({ slots, ...joinPanelProps }) => {
|
|
|
2222
2221
|
|
|
2223
2222
|
// packages/apps/patterns/react-ui/src/composites/Shell/Shell.tsx
|
|
2224
2223
|
import React33, { useEffect as useEffect2, useState as useState7 } from "react";
|
|
2224
|
+
import { log as log2 } from "@dxos/log";
|
|
2225
2225
|
import { ShellDisplay, ShellLayout } from "@dxos/protocols/proto/dxos/iframe";
|
|
2226
2226
|
import { useClient as useClient7, useSpace as useSpace3, useSpaces } from "@dxos/react-client";
|
|
2227
2227
|
|
|
@@ -2330,6 +2330,27 @@ var Shell = ({ runtime, origin }) => {
|
|
|
2330
2330
|
}, [
|
|
2331
2331
|
runtime
|
|
2332
2332
|
]);
|
|
2333
|
+
useEffect2(() => {
|
|
2334
|
+
if (layout === ShellLayout.SPACE_INVITATIONS && !space) {
|
|
2335
|
+
log2.warn("No space found for shell space invitations.", {}, {
|
|
2336
|
+
file: "Shell.tsx",
|
|
2337
|
+
line: 33,
|
|
2338
|
+
scope: void 0,
|
|
2339
|
+
callSite: (f, a) => f(...a)
|
|
2340
|
+
});
|
|
2341
|
+
const timeout = setTimeout(async () => {
|
|
2342
|
+
await runtime.setAppContext({
|
|
2343
|
+
display: ShellDisplay.NONE
|
|
2344
|
+
});
|
|
2345
|
+
runtime.setLayout(ShellLayout.DEFAULT);
|
|
2346
|
+
});
|
|
2347
|
+
return () => clearTimeout(timeout);
|
|
2348
|
+
}
|
|
2349
|
+
}, [
|
|
2350
|
+
runtime,
|
|
2351
|
+
layout,
|
|
2352
|
+
space
|
|
2353
|
+
]);
|
|
2333
2354
|
switch (layout) {
|
|
2334
2355
|
case ShellLayout.INITIALIZE_IDENTITY:
|
|
2335
2356
|
return /* @__PURE__ */ React33.createElement(JoinDialog, {
|
|
@@ -2354,7 +2375,7 @@ var Shell = ({ runtime, origin }) => {
|
|
|
2354
2375
|
}
|
|
2355
2376
|
});
|
|
2356
2377
|
case ShellLayout.SPACE_INVITATIONS:
|
|
2357
|
-
return /* @__PURE__ */ React33.createElement(SpaceDialog, {
|
|
2378
|
+
return space ? /* @__PURE__ */ React33.createElement(SpaceDialog, {
|
|
2358
2379
|
space,
|
|
2359
2380
|
createInvitationUrl: (invitationCode2) => `${origin}?spaceInvitationCode=${invitationCode2}`,
|
|
2360
2381
|
onDone: async () => {
|
|
@@ -2363,7 +2384,7 @@ var Shell = ({ runtime, origin }) => {
|
|
|
2363
2384
|
});
|
|
2364
2385
|
runtime.setLayout(ShellLayout.DEFAULT);
|
|
2365
2386
|
}
|
|
2366
|
-
});
|
|
2387
|
+
}) : null;
|
|
2367
2388
|
case ShellLayout.JOIN_SPACE:
|
|
2368
2389
|
return /* @__PURE__ */ React33.createElement(JoinDialog, {
|
|
2369
2390
|
initialInvitationCode: invitationCode,
|
|
@@ -2387,6 +2408,121 @@ var Shell = ({ runtime, origin }) => {
|
|
|
2387
2408
|
}
|
|
2388
2409
|
};
|
|
2389
2410
|
|
|
2411
|
+
// packages/apps/patterns/react-ui/src/composites/Shell/ShellContext.tsx
|
|
2412
|
+
import React34, { createContext as createContext2, useCallback as useCallback6, useContext as useContext2, useEffect as useEffect3, useMemo as useMemo3, useState as useState8 } from "react";
|
|
2413
|
+
import { IFrameClientServicesProxy, ShellDisplay as ShellDisplay2, ShellLayout as ShellLayout2 } from "@dxos/client";
|
|
2414
|
+
import { MemoryShellRuntime } from "@dxos/client-services";
|
|
2415
|
+
import { useClient as useClient8, useIdentity as useIdentity3 } from "@dxos/react-client";
|
|
2416
|
+
import { mx as mx24 } from "@dxos/react-components";
|
|
2417
|
+
var ShellContext = /* @__PURE__ */ createContext2({});
|
|
2418
|
+
var useShell = () => {
|
|
2419
|
+
const client = useClient8();
|
|
2420
|
+
const { runtime, setDisplay } = useContext2(ShellContext);
|
|
2421
|
+
const setLayout = async (layout, options) => {
|
|
2422
|
+
if (runtime) {
|
|
2423
|
+
if (layout === ShellLayout2.DEFAULT) {
|
|
2424
|
+
setDisplay == null ? void 0 : setDisplay(ShellDisplay2.NONE);
|
|
2425
|
+
} else {
|
|
2426
|
+
setDisplay == null ? void 0 : setDisplay(ShellDisplay2.FULLSCREEN);
|
|
2427
|
+
}
|
|
2428
|
+
runtime.setLayout(layout, options);
|
|
2429
|
+
}
|
|
2430
|
+
if (client.services instanceof IFrameClientServicesProxy) {
|
|
2431
|
+
await client.services.setLayout(layout, options);
|
|
2432
|
+
}
|
|
2433
|
+
};
|
|
2434
|
+
return {
|
|
2435
|
+
setLayout
|
|
2436
|
+
};
|
|
2437
|
+
};
|
|
2438
|
+
var ShellProvider = ({ space, haloInvitationCode, spaceInvitationCode, onJoinedSpace, children }) => {
|
|
2439
|
+
useEffect3(() => {
|
|
2440
|
+
if (client.services instanceof IFrameClientServicesProxy && onJoinedSpace) {
|
|
2441
|
+
return client.services.joinedSpace.on(onJoinedSpace);
|
|
2442
|
+
}
|
|
2443
|
+
}, []);
|
|
2444
|
+
useEffect3(() => {
|
|
2445
|
+
if (client.services instanceof IFrameClientServicesProxy) {
|
|
2446
|
+
client.services.setSpaceProvider(() => space == null ? void 0 : space.key);
|
|
2447
|
+
}
|
|
2448
|
+
}, [
|
|
2449
|
+
space
|
|
2450
|
+
]);
|
|
2451
|
+
const client = useClient8();
|
|
2452
|
+
const identity = useIdentity3();
|
|
2453
|
+
const [display, setDisplay] = useState8(!identity || spaceInvitationCode || haloInvitationCode ? ShellDisplay2.FULLSCREEN : ShellDisplay2.NONE);
|
|
2454
|
+
const shellRuntime = useMemo3(() => {
|
|
2455
|
+
if (client.config.get("runtime.app.env.DX_VAULT") === "true") {
|
|
2456
|
+
return;
|
|
2457
|
+
}
|
|
2458
|
+
if (spaceInvitationCode) {
|
|
2459
|
+
return new MemoryShellRuntime({
|
|
2460
|
+
layout: ShellLayout2.JOIN_SPACE,
|
|
2461
|
+
invitationCode: spaceInvitationCode
|
|
2462
|
+
});
|
|
2463
|
+
}
|
|
2464
|
+
return new MemoryShellRuntime({
|
|
2465
|
+
layout: identity ? ShellLayout2.DEFAULT : ShellLayout2.INITIALIZE_IDENTITY,
|
|
2466
|
+
invitationCode: haloInvitationCode != null ? haloInvitationCode : void 0
|
|
2467
|
+
});
|
|
2468
|
+
}, [
|
|
2469
|
+
client,
|
|
2470
|
+
identity,
|
|
2471
|
+
spaceInvitationCode,
|
|
2472
|
+
haloInvitationCode
|
|
2473
|
+
]);
|
|
2474
|
+
const handleKeyDown = useCallback6((event) => {
|
|
2475
|
+
if (!space || !shellRuntime) {
|
|
2476
|
+
return;
|
|
2477
|
+
}
|
|
2478
|
+
const modifier = event.ctrlKey || event.metaKey;
|
|
2479
|
+
if (event.key === ">" && event.shiftKey && modifier) {
|
|
2480
|
+
shellRuntime.setLayout(ShellLayout2.DEVICE_INVITATIONS);
|
|
2481
|
+
setDisplay(ShellDisplay2.FULLSCREEN);
|
|
2482
|
+
} else if (event.key === "." && modifier) {
|
|
2483
|
+
shellRuntime.setLayout(ShellLayout2.SPACE_INVITATIONS, {
|
|
2484
|
+
spaceKey: space.key
|
|
2485
|
+
});
|
|
2486
|
+
setDisplay(ShellDisplay2.FULLSCREEN);
|
|
2487
|
+
}
|
|
2488
|
+
}, [
|
|
2489
|
+
space,
|
|
2490
|
+
shellRuntime
|
|
2491
|
+
]);
|
|
2492
|
+
useEffect3(() => {
|
|
2493
|
+
if (!shellRuntime) {
|
|
2494
|
+
return;
|
|
2495
|
+
}
|
|
2496
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
2497
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
2498
|
+
}, [
|
|
2499
|
+
shellRuntime,
|
|
2500
|
+
handleKeyDown
|
|
2501
|
+
]);
|
|
2502
|
+
useEffect3(() => {
|
|
2503
|
+
if (!shellRuntime) {
|
|
2504
|
+
return;
|
|
2505
|
+
}
|
|
2506
|
+
return shellRuntime.contextUpdate.on(({ display: display2, spaceKey }) => {
|
|
2507
|
+
setDisplay(display2);
|
|
2508
|
+
onJoinedSpace == null ? void 0 : onJoinedSpace(spaceKey);
|
|
2509
|
+
});
|
|
2510
|
+
}, [
|
|
2511
|
+
shellRuntime
|
|
2512
|
+
]);
|
|
2513
|
+
return /* @__PURE__ */ React34.createElement(React34.Fragment, null, shellRuntime && /* @__PURE__ */ React34.createElement("div", {
|
|
2514
|
+
className: mx24(display === ShellDisplay2.NONE ? "hidden" : "")
|
|
2515
|
+
}, /* @__PURE__ */ React34.createElement(Shell, {
|
|
2516
|
+
runtime: shellRuntime,
|
|
2517
|
+
origin: window.location.origin
|
|
2518
|
+
})), /* @__PURE__ */ React34.createElement(ShellContext.Provider, {
|
|
2519
|
+
value: {
|
|
2520
|
+
runtime: shellRuntime,
|
|
2521
|
+
setDisplay
|
|
2522
|
+
}
|
|
2523
|
+
}, identity ? children : void 0));
|
|
2524
|
+
};
|
|
2525
|
+
|
|
2390
2526
|
// packages/apps/patterns/react-ui/src/translations/locales/en-US.ts
|
|
2391
2527
|
var en_US_exports = {};
|
|
2392
2528
|
__export(en_US_exports, {
|
|
@@ -2440,6 +2576,7 @@ var os = {
|
|
|
2440
2576
|
"reset label": "Start over",
|
|
2441
2577
|
"auth code input label": "Auth code provided by the invitation sender",
|
|
2442
2578
|
"invitation input label": "Paste an invitation code or URL",
|
|
2579
|
+
"create device invitation label": "Invite",
|
|
2443
2580
|
"create space invitation label": "Invite",
|
|
2444
2581
|
"qr label": "Scan to accept invitation",
|
|
2445
2582
|
"empty invitations message": "No pending invitations",
|
|
@@ -2447,7 +2584,11 @@ var os = {
|
|
|
2447
2584
|
"all spaces label": "All spaces",
|
|
2448
2585
|
"create space label": "Create a new space",
|
|
2449
2586
|
"join space label": "Join a space",
|
|
2450
|
-
"show current space label": "Current space"
|
|
2587
|
+
"show current space label": "Current space",
|
|
2588
|
+
"view space invitations label": "View space invitations",
|
|
2589
|
+
"toggle sidebar label": "Open/close sidebar",
|
|
2590
|
+
"open sidebar label": "Open sidebar",
|
|
2591
|
+
"close sidebar label": "Close sidebar"
|
|
2451
2592
|
};
|
|
2452
2593
|
|
|
2453
2594
|
// packages/apps/patterns/react-ui/src/translations/index.ts
|
|
@@ -2473,6 +2614,8 @@ export {
|
|
|
2473
2614
|
PanelSidebarContext,
|
|
2474
2615
|
PanelSidebarProvider,
|
|
2475
2616
|
Shell,
|
|
2617
|
+
ShellContext,
|
|
2618
|
+
ShellProvider,
|
|
2476
2619
|
SpaceDialog,
|
|
2477
2620
|
SpaceListItem,
|
|
2478
2621
|
SpaceMemberList,
|
|
@@ -2502,6 +2645,7 @@ export {
|
|
|
2502
2645
|
successBgColor,
|
|
2503
2646
|
successStrokeColor,
|
|
2504
2647
|
successTextColor,
|
|
2648
|
+
useShell,
|
|
2505
2649
|
useTogglePanelSidebar
|
|
2506
2650
|
};
|
|
2507
2651
|
//# sourceMappingURL=index.mjs.map
|