@dxos/shell 0.4.7 → 0.4.8-main.ac78619
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/bundle/shell.mjs +6739 -6613
- package/dist/bundle/shell.mjs.map +1 -1
- package/dist/bundle/shell.umd.js +57 -57
- package/dist/bundle/shell.umd.js.map +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react.mjs +13 -3
- package/dist/lib/browser/react.mjs.map +3 -3
- package/dist/types/src/components/Clipboard/CopyButton.d.ts +0 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
- package/dist/types/src/components/CompoundButton/CompoundButton.stories.d.ts +0 -1
- package/dist/types/src/components/CompoundButton/CompoundButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/EmojiPicker.js.map +1 -1
- package/dist/types/src/components/IdentityList/DeviceList.d.ts +0 -1
- package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts +0 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.stories.d.ts +0 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.stories.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts +0 -1
- package/dist/types/src/components/InvitationList/InvitationList.stories.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts +0 -1
- package/dist/types/src/components/InvitationList/InvitationListContainer.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListItem.js +15 -4
- package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
- package/dist/types/src/components/Panel/CloseButton.d.ts +0 -1
- package/dist/types/src/components/Panel/CloseButton.d.ts.map +1 -1
- package/dist/types/src/components/Panel/Panel.stories.d.ts +0 -1
- package/dist/types/src/components/Panel/Panel.stories.d.ts.map +1 -1
- package/dist/types/src/components/Viewport/Viewport.js.map +1 -1
- package/dist/types/src/components/Viewport/Viewport.stories.d.ts +0 -1
- package/dist/types/src/components/Viewport/Viewport.stories.d.ts.map +1 -1
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.d.ts +0 -1
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.d.ts.map +1 -1
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.js +1 -1
- package/dist/types/src/composites/IdentityDialog/IdentityDialog.js.map +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts +0 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.js +2 -2
- package/dist/types/src/composites/JoinDialog/JoinDialog.js.map +1 -1
- package/dist/types/src/composites/Shell/Shell.d.ts +0 -1
- package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
- package/dist/types/src/composites/Shell/Shell.js.map +1 -1
- package/dist/types/src/composites/Shell/ShellContext.js.map +1 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts +0 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts.map +1 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.js +1 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts +0 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +0 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.d.ts +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.stories.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/joinMachine.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/AdditionMethodChooser.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/AdditionMethodChooser.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityAdded.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/IdentityInput.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationAuthenticator.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationInput.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/InvitationRescuer.js.map +1 -1
- package/dist/types/src/panels/JoinPanel/steps/ResetIdentity.d.ts +0 -1
- package/dist/types/src/panels/JoinPanel/steps/ResetIdentity.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts +0 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts +0 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js +16 -0
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js.map +1 -1
- package/dist/types/src/playwright/invitations-manager.js.map +1 -1
- package/dist/types/src/steps/InvitationManager.d.ts +0 -1
- package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
- package/dist/types/src/steps/InvitationManager.js.map +1 -1
- package/dist/types/src/stories/Invitations.e2e-stories.d.ts +0 -1
- package/dist/types/src/stories/Invitations.e2e-stories.d.ts.map +1 -1
- package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
- package/dist/types/src/testing/scoped-shell-manager.js.map +1 -1
- package/dist/types/src/testing/shell-manager.js.map +1 -1
- package/package.json +20 -19
- package/src/components/InvitationList/InvitationListItem.tsx +25 -11
- package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +1 -0
- package/src/panels/SpacePanel/steps/SpaceManager.tsx +16 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/shell",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.8-main.ac78619",
|
|
4
4
|
"description": "DXOS’s OS experiences",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -37,23 +37,24 @@
|
|
|
37
37
|
"@radix-ui/react-use-controllable-state": "^1.0.0",
|
|
38
38
|
"@react-hook/async": "^3.1.1",
|
|
39
39
|
"@xstate/react": "^3.2.1",
|
|
40
|
+
"date-fns": "^3.3.1",
|
|
40
41
|
"emoji-mart": "^5.5.2",
|
|
41
42
|
"react-qr-rounded": "^1.0.0",
|
|
42
43
|
"url-join": "^5.0.0",
|
|
43
44
|
"xstate": "^4.37.0",
|
|
44
|
-
"@dxos/async": "0.4.
|
|
45
|
-
"@dxos/client-services": "0.4.
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/log": "0.4.
|
|
51
|
-
"@dxos/react-client": "0.4.
|
|
52
|
-
"@dxos/react-ui
|
|
53
|
-
"@dxos/react-ui": "0.4.
|
|
54
|
-
"@dxos/react-ui-types": "0.4.
|
|
55
|
-
"@dxos/util": "0.4.
|
|
56
|
-
"@dxos/rpc-tunnel": "0.4.
|
|
45
|
+
"@dxos/async": "0.4.8-main.ac78619",
|
|
46
|
+
"@dxos/client-services": "0.4.8-main.ac78619",
|
|
47
|
+
"@dxos/display-name": "0.4.8-main.ac78619",
|
|
48
|
+
"@dxos/client-protocol": "0.4.8-main.ac78619",
|
|
49
|
+
"@dxos/debug": "0.4.8-main.ac78619",
|
|
50
|
+
"@dxos/invariant": "0.4.8-main.ac78619",
|
|
51
|
+
"@dxos/log": "0.4.8-main.ac78619",
|
|
52
|
+
"@dxos/react-client": "0.4.8-main.ac78619",
|
|
53
|
+
"@dxos/react-ui": "0.4.8-main.ac78619",
|
|
54
|
+
"@dxos/react-ui-theme": "0.4.8-main.ac78619",
|
|
55
|
+
"@dxos/react-ui-types": "0.4.8-main.ac78619",
|
|
56
|
+
"@dxos/util": "0.4.8-main.ac78619",
|
|
57
|
+
"@dxos/rpc-tunnel": "0.4.8-main.ac78619"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
60
|
"@phosphor-icons/react": "^2.0.5",
|
|
@@ -64,11 +65,11 @@
|
|
|
64
65
|
"react-dom": "^18.2.0",
|
|
65
66
|
"vite": "^5.1.5",
|
|
66
67
|
"vite-plugin-turbosnap": "^1.0.2",
|
|
67
|
-
"@dxos/
|
|
68
|
-
"@dxos/
|
|
69
|
-
"@dxos/react-
|
|
70
|
-
"@dxos/react-
|
|
71
|
-
"@dxos/storybook-utils": "0.4.
|
|
68
|
+
"@dxos/config": "0.4.8-main.ac78619",
|
|
69
|
+
"@dxos/random": "0.4.8-main.ac78619",
|
|
70
|
+
"@dxos/react-ui-theme": "0.4.8-main.ac78619",
|
|
71
|
+
"@dxos/react-async": "0.4.8-main.ac78619",
|
|
72
|
+
"@dxos/storybook-utils": "0.4.8-main.ac78619"
|
|
72
73
|
},
|
|
73
74
|
"peerDependencies": {
|
|
74
75
|
"@phosphor-icons/react": "^2.0.5",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
import { X } from '@phosphor-icons/react';
|
|
5
|
+
import { formatDistanceToNow } from 'date-fns';
|
|
5
6
|
import React, { type ComponentPropsWithoutRef, useCallback } from 'react';
|
|
6
7
|
|
|
7
8
|
import {
|
|
@@ -111,6 +112,10 @@ export const InvitationListItemImpl = ({
|
|
|
111
112
|
|
|
112
113
|
const invitationUrl = invitationCode && createInvitationUrl(invitationCode);
|
|
113
114
|
const invitationId = invitation?.get().invitationId;
|
|
115
|
+
const invitationHasLifetime = invitation?.get().lifetime;
|
|
116
|
+
const invitationTimeLeft = invitation?.expiry
|
|
117
|
+
? formatDistanceToNow(invitation?.expiry, { addSuffix: true })
|
|
118
|
+
: undefined;
|
|
114
119
|
|
|
115
120
|
const avatarAnimation = [
|
|
116
121
|
Invitation.State.INIT,
|
|
@@ -163,17 +168,26 @@ export const InvitationListItemImpl = ({
|
|
|
163
168
|
</Tooltip.Portal>
|
|
164
169
|
</Tooltip.Root>
|
|
165
170
|
{showShare && invitationUrl ? (
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
<Tooltip.Root>
|
|
172
|
+
<>
|
|
173
|
+
<Tooltip.Trigger asChild>
|
|
174
|
+
<Button
|
|
175
|
+
variant='ghost'
|
|
176
|
+
classNames='grow justify-start font-medium'
|
|
177
|
+
onClick={() => send({ type: 'selectInvitation', invitation })}
|
|
178
|
+
data-testid='show-qrcode'
|
|
179
|
+
>
|
|
180
|
+
<span>{t('open share panel label')}</span>
|
|
181
|
+
</Button>
|
|
182
|
+
</Tooltip.Trigger>
|
|
183
|
+
<CopyButtonIconOnly variant='ghost' value={invitationUrl} />
|
|
184
|
+
</>
|
|
185
|
+
<Tooltip.Portal>
|
|
186
|
+
<Tooltip.Content side='left' classNames='z-[70]'>
|
|
187
|
+
{invitationHasLifetime && <span>Expires {invitationTimeLeft}</span>}
|
|
188
|
+
</Tooltip.Content>
|
|
189
|
+
</Tooltip.Portal>
|
|
190
|
+
</Tooltip.Root>
|
|
177
191
|
) : showAuthCode ? (
|
|
178
192
|
<AuthCode code={authCode} classNames='grow' />
|
|
179
193
|
) : invitationStatus === Invitation.State.CONNECTING ? (
|
|
@@ -31,6 +31,7 @@ export const IdentityActionChooser = (props: IdentityPanelStepProps) => {
|
|
|
31
31
|
const createInvitation = (e: React.MouseEvent) => {
|
|
32
32
|
const testing = e.altKey && e.shiftKey;
|
|
33
33
|
invitations.forEach((invitation) => invitation.cancel());
|
|
34
|
+
// TODO(nf): allow user to make invitations non-persistent?
|
|
34
35
|
const invitation = client.halo.share(
|
|
35
36
|
testing ? { type: Invitation.Type.MULTIUSE, authMethod: Invitation.AuthMethod.NONE } : undefined,
|
|
36
37
|
);
|
|
@@ -81,6 +81,22 @@ export const SpaceManager = (props: SpaceManagerProps) => {
|
|
|
81
81
|
}
|
|
82
82
|
}, [space]),
|
|
83
83
|
},
|
|
84
|
+
// inviteNonPersistent: {
|
|
85
|
+
// label: 'Invite one (nonpersistent)',
|
|
86
|
+
// description: 'Only one user may join. Invitation does not resume if client is restarted.',
|
|
87
|
+
// icon: UserPlus,
|
|
88
|
+
// onClick: useCallback(() => {
|
|
89
|
+
// const invitation = space.share?.({
|
|
90
|
+
// type: Invitation.Type.INTERACTIVE,
|
|
91
|
+
// authMethod: Invitation.AuthMethod.SHARED_SECRET,
|
|
92
|
+
// persistent: false,
|
|
93
|
+
// target,
|
|
94
|
+
// });
|
|
95
|
+
// if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {
|
|
96
|
+
// invitation.subscribe(onInvitationEvent);
|
|
97
|
+
// }
|
|
98
|
+
// }, [space]),
|
|
99
|
+
// },
|
|
84
100
|
};
|
|
85
101
|
|
|
86
102
|
return <SpaceManagerImpl {...props} invitations={invitations} inviteActions={inviteActions} />;
|