@dxos/react-ui 0.1.25-next.3c6b542 → 0.1.26
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 +452 -1092
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/components/IdentityList/IdentityListItem.d.ts +1 -2
- package/dist/types/src/components/IdentityList/IdentityListItem.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/IdentityListItem.stories.d.ts +1 -2
- package/dist/types/src/components/IdentityList/IdentityListItem.stories.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts +2 -3
- package/dist/types/src/components/IdentityList/SpaceMemberList.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/SpaceMemberListContainer.d.ts +1 -3
- package/dist/types/src/components/IdentityList/SpaceMemberListContainer.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/index.d.ts +0 -1
- package/dist/types/src/components/IdentityList/index.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationList.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationStatusAvatar.d.ts +1 -6
- package/dist/types/src/components/InvitationList/InvitationStatusAvatar.d.ts.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationStatusAvatar.stories.d.ts +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/composites/JoinDialog/JoinDialog.stories.d.ts +2 -2
- package/dist/types/src/composites/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
- package/dist/types/src/composites/index.d.ts +0 -2
- package/dist/types/src/composites/index.d.ts.map +1 -1
- package/dist/types/src/layouts/PanelAlertDialog/PanelAlertDialog.d.ts.map +1 -1
- package/dist/types/src/layouts/index.d.ts +0 -1
- package/dist/types/src/layouts/index.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts +0 -3
- package/dist/types/src/panels/JoinPanel/JoinHeading.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts +3 -4
- package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/AdditionMethodSelector.d.ts +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/AdditionMethodSelector.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/IdentityAdded.d.ts +2 -10
- package/dist/types/src/panels/JoinPanel/view-states/IdentityAdded.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/IdentityInput.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/IdentitySelector.d.ts +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/IdentitySelector.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/InvitationAccepted.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/InvitationAuthenticator.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/InvitationInput.d.ts.map +1 -1
- package/dist/types/src/panels/JoinPanel/view-states/InvitationRescuer.d.ts.map +1 -1
- package/dist/types/src/panels/index.d.ts +0 -2
- package/dist/types/src/panels/index.d.ts.map +1 -1
- package/dist/types/src/styles/index.d.ts +0 -1
- package/dist/types/src/styles/index.d.ts.map +1 -1
- package/dist/types/src/translations/locales/en-US.d.ts +1 -12
- package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/components/IdentityList/IdentityListItem.tsx +3 -15
- package/src/components/IdentityList/SpaceMemberList.tsx +8 -10
- package/src/components/IdentityList/SpaceMemberListContainer.tsx +4 -5
- package/src/components/IdentityList/index.ts +0 -1
- package/src/components/InvitationList/InvitationList.tsx +2 -6
- package/src/components/InvitationList/InvitationListItem.tsx +25 -36
- package/src/components/InvitationList/InvitationStatusAvatar.tsx +5 -10
- package/src/components/index.ts +0 -1
- package/src/composites/JoinDialog/JoinDialog.stories.tsx +58 -59
- package/src/composites/JoinDialog/JoinDialog.tsx +1 -3
- package/src/composites/index.ts +0 -3
- package/src/layouts/PanelAlertDialog/PanelAlertDialog.tsx +8 -4
- package/src/layouts/PanelSidebar/PanelSidebar.tsx +1 -1
- package/src/layouts/index.ts +0 -1
- package/src/panels/JoinPanel/JoinHeading.tsx +16 -44
- package/src/panels/JoinPanel/JoinPanel.tsx +11 -32
- package/src/panels/JoinPanel/JoinPanelProps.ts +8 -4
- package/src/panels/JoinPanel/view-states/AdditionMethodSelector.tsx +1 -5
- package/src/panels/JoinPanel/view-states/IdentityAdded.tsx +24 -63
- package/src/panels/JoinPanel/view-states/IdentityInput.tsx +1 -8
- package/src/panels/JoinPanel/view-states/IdentitySelector.tsx +1 -4
- package/src/panels/JoinPanel/view-states/InvitationAccepted.tsx +0 -1
- package/src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx +1 -4
- package/src/panels/JoinPanel/view-states/InvitationInput.tsx +1 -8
- package/src/panels/JoinPanel/view-states/InvitationRescuer.tsx +1 -4
- package/src/panels/index.ts +0 -2
- package/src/styles/index.ts +0 -1
- package/src/translations/locales/en-US.ts +3 -14
- package/dist/types/src/components/IdentityList/DeviceList.d.ts +0 -7
- package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +0 -1
- package/dist/types/src/components/SpaceList/SpaceListItem.d.ts +0 -7
- package/dist/types/src/components/SpaceList/SpaceListItem.d.ts.map +0 -1
- package/dist/types/src/components/SpaceList/index.d.ts +0 -2
- package/dist/types/src/components/SpaceList/index.d.ts.map +0 -1
- package/dist/types/src/composites/DevicesDialog/DevicesDialog.d.ts +0 -6
- package/dist/types/src/composites/DevicesDialog/DevicesDialog.d.ts.map +0 -1
- package/dist/types/src/composites/DevicesDialog/index.d.ts +0 -2
- package/dist/types/src/composites/DevicesDialog/index.d.ts.map +0 -1
- package/dist/types/src/composites/Shell/Shell.d.ts +0 -6
- package/dist/types/src/composites/Shell/Shell.d.ts.map +0 -1
- package/dist/types/src/composites/Shell/index.d.ts +0 -2
- package/dist/types/src/composites/Shell/index.d.ts.map +0 -1
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts +0 -6
- package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts.map +0 -1
- package/dist/types/src/composites/SpaceDialog/index.d.ts +0 -2
- package/dist/types/src/composites/SpaceDialog/index.d.ts.map +0 -1
- package/dist/types/src/layouts/PanelDialog/PanelDialog.d.ts +0 -14
- package/dist/types/src/layouts/PanelDialog/PanelDialog.d.ts.map +0 -1
- package/dist/types/src/layouts/PanelDialog/index.d.ts +0 -2
- package/dist/types/src/layouts/PanelDialog/index.d.ts.map +0 -1
- package/dist/types/src/panels/DevicesPanel/DevicesPanel.d.ts +0 -10
- package/dist/types/src/panels/DevicesPanel/DevicesPanel.d.ts.map +0 -1
- package/dist/types/src/panels/DevicesPanel/index.d.ts +0 -2
- package/dist/types/src/panels/DevicesPanel/index.d.ts.map +0 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts +0 -18
- package/dist/types/src/panels/SpacePanel/SpacePanel.d.ts.map +0 -1
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts +0 -9
- package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +0 -1
- package/dist/types/src/panels/SpacePanel/index.d.ts +0 -2
- package/dist/types/src/panels/SpacePanel/index.d.ts.map +0 -1
- package/dist/types/src/styles/dialogStyles.d.ts +0 -3
- package/dist/types/src/styles/dialogStyles.d.ts.map +0 -1
- package/src/components/IdentityList/DeviceList.tsx +0 -31
- package/src/components/SpaceList/SpaceListItem.tsx +0 -32
- package/src/components/SpaceList/index.ts +0 -5
- package/src/composites/DevicesDialog/DevicesDialog.tsx +0 -38
- package/src/composites/DevicesDialog/index.ts +0 -5
- package/src/composites/Shell/Shell.tsx +0 -92
- package/src/composites/Shell/index.ts +0 -5
- package/src/composites/SpaceDialog/SpaceDialog.tsx +0 -38
- package/src/composites/SpaceDialog/index.ts +0 -5
- package/src/layouts/PanelDialog/PanelDialog.tsx +0 -39
- package/src/layouts/PanelDialog/index.ts +0 -5
- package/src/panels/DevicesPanel/DevicesPanel.tsx +0 -98
- package/src/panels/DevicesPanel/index.ts +0 -5
- package/src/panels/SpacePanel/SpacePanel.stories.tsx +0 -53
- package/src/panels/SpacePanel/SpacePanel.tsx +0 -174
- package/src/panels/SpacePanel/index.ts +0 -5
- package/src/styles/dialogStyles.ts +0 -8
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
import { cloneElement } from 'react';
|
|
2
1
|
import type { Profile } from '@dxos/client';
|
|
3
|
-
import { InvitationResult } from '@dxos/react-client';
|
|
4
|
-
import { JoinPanelMode } from '../JoinPanelProps';
|
|
5
2
|
import { ViewStateProps } from './ViewState';
|
|
6
|
-
export interface IdentityAddedProps extends ViewStateProps
|
|
7
|
-
mode?: JoinPanelMode;
|
|
3
|
+
export interface IdentityAddedProps extends ViewStateProps {
|
|
8
4
|
addedIdentity?: Profile;
|
|
9
5
|
}
|
|
10
|
-
export
|
|
11
|
-
doneActionParent?: Parameters<typeof cloneElement>[0];
|
|
12
|
-
onDone?: (result: InvitationResult | null) => void;
|
|
13
|
-
}
|
|
14
|
-
export declare const IdentityAdded: ({ mode, addedIdentity, onDone, doneActionParent, ...viewStateProps }: IdentityAddedProps) => JSX.Element;
|
|
6
|
+
export declare const IdentityAdded: ({ addedIdentity, ...viewStateProps }: IdentityAddedProps) => JSX.Element;
|
|
15
7
|
//# sourceMappingURL=IdentityAdded.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityAdded.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/IdentityAdded.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IdentityAdded.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/IdentityAdded.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,yCAA0C,kBAAkB,gBA2CrF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityInput.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/IdentityInput.tsx"],"names":[],"mappings":"AAUA,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;CAChD;AAED,eAAO,MAAM,aAAa,kCAAmC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"IdentityInput.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/IdentityInput.tsx"],"names":[],"mappings":"AAUA,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;CAChD;AAED,eAAO,MAAM,aAAa,kCAAmC,oBAAoB,gBAuDhF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentitySelector.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/IdentitySelector.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IdentitySelector.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/IdentitySelector.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,mBAAmB,EAAE,OAAO,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,gBAAgB,+CAAgD,qBAAqB,gBAgFjG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvitationAccepted.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationAccepted.tsx"],"names":[],"mappings":"AAKA,OAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;
|
|
1
|
+
{"version":3,"file":"InvitationAccepted.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationAccepted.tsx"],"names":[],"mappings":"AAKA,OAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAiCD,eAAO,MAAM,kBAAkB,UAAW,uBAAuB,gBAkBhE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvitationAuthenticator.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAIxD,MAAM,WAAW,4BAA6B,SAAQ,cAAc;IAClE,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"InvitationAuthenticator.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationAuthenticator.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAIxD,MAAM,WAAW,4BAA6B,SAAQ,cAAc;IAClE,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAoGD,eAAO,MAAM,uBAAuB,kDAIjC,4BAA4B,gBAgB9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvitationInput.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationInput.tsx"],"names":[],"mappings":"AAWA,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,0CAA2C,oBAAoB,
|
|
1
|
+
{"version":3,"file":"InvitationInput.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationInput.tsx"],"names":[],"mappings":"AAWA,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,0CAA2C,oBAAoB,gBAkD1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvitationRescuer.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationRescuer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"InvitationRescuer.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/view-states/InvitationRescuer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AA0DD,eAAO,MAAM,iBAAiB,0CAA2C,wBAAwB,gBAqBhG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/panels/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/panels/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/styles/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/styles/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC"}
|
|
@@ -4,9 +4,7 @@ export declare const os: {
|
|
|
4
4
|
'sidebar label': string;
|
|
5
5
|
'copy invitation code label': string;
|
|
6
6
|
'open share panel label': string;
|
|
7
|
-
'joining heading': string;
|
|
8
7
|
'join space heading': string;
|
|
9
|
-
'halo heading': string;
|
|
10
8
|
'exit label': string;
|
|
11
9
|
'identity selector title': string;
|
|
12
10
|
'identity radio group title': string;
|
|
@@ -14,7 +12,6 @@ export declare const os: {
|
|
|
14
12
|
'continue label': string;
|
|
15
13
|
'back label': string;
|
|
16
14
|
'next label': string;
|
|
17
|
-
'close label': string;
|
|
18
15
|
'auth choices label': string;
|
|
19
16
|
'create identity label': string;
|
|
20
17
|
'create identity description': string;
|
|
@@ -44,15 +41,7 @@ export declare const os: {
|
|
|
44
41
|
'cancel label': string;
|
|
45
42
|
'done label': string;
|
|
46
43
|
'reset label': string;
|
|
47
|
-
'
|
|
44
|
+
'pin input label': string;
|
|
48
45
|
'invitation input label': string;
|
|
49
|
-
'create space invitation label': string;
|
|
50
|
-
'qr label': string;
|
|
51
|
-
'empty invitations message': string;
|
|
52
|
-
'show all spaces label': string;
|
|
53
|
-
'all spaces label': string;
|
|
54
|
-
'create space label': string;
|
|
55
|
-
'join space label': string;
|
|
56
|
-
'show current space label': string;
|
|
57
46
|
};
|
|
58
47
|
//# sourceMappingURL=en-US.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../../src/translations/locales/en-US.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../../src/translations/locales/en-US.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Cd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.26",
|
|
4
4
|
"description": "A React component library for DXOS’s OS experiences",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -22,14 +22,13 @@
|
|
|
22
22
|
"debug": "^4.3.3",
|
|
23
23
|
"qrcode.react": "^3.1.0",
|
|
24
24
|
"url-join": "^5.0.0",
|
|
25
|
-
"@dxos/client": "0.1.
|
|
26
|
-
"@dxos/config": "0.1.
|
|
27
|
-
"@dxos/debug": "0.1.
|
|
28
|
-
"@dxos/keys": "0.1.
|
|
29
|
-
"@dxos/
|
|
30
|
-
"@dxos/react-
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/util": "0.1.25-next.3c6b542"
|
|
25
|
+
"@dxos/client": "0.1.26",
|
|
26
|
+
"@dxos/config": "0.1.26",
|
|
27
|
+
"@dxos/debug": "0.1.26",
|
|
28
|
+
"@dxos/keys": "0.1.26",
|
|
29
|
+
"@dxos/react-client": "0.1.26",
|
|
30
|
+
"@dxos/react-components": "0.1.26",
|
|
31
|
+
"@dxos/util": "0.1.26"
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
35
34
|
"@types/debug": "^4.1.7",
|
|
@@ -40,9 +39,9 @@
|
|
|
40
39
|
"react": "^18.2.0",
|
|
41
40
|
"react-dom": "^18.2.0",
|
|
42
41
|
"vite": "4.0.4",
|
|
43
|
-
"@dxos/async": "0.1.
|
|
44
|
-
"@dxos/log": "0.1.
|
|
45
|
-
"@dxos/react-async": "0.1.
|
|
42
|
+
"@dxos/async": "0.1.26",
|
|
43
|
+
"@dxos/log": "0.1.26",
|
|
44
|
+
"@dxos/react-async": "0.1.26"
|
|
46
45
|
},
|
|
47
46
|
"peerDependencies": {
|
|
48
47
|
"phosphor-react": "^1.4.1",
|
|
@@ -4,24 +4,12 @@
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
|
|
6
6
|
import { Profile, SpaceMember } from '@dxos/client';
|
|
7
|
-
import { Avatar,
|
|
7
|
+
import { Avatar, useTranslation } from '@dxos/react-components';
|
|
8
8
|
|
|
9
|
-
export const IdentityListItem = ({
|
|
10
|
-
identity,
|
|
11
|
-
presence,
|
|
12
|
-
onClick
|
|
13
|
-
}: {
|
|
14
|
-
identity: Profile;
|
|
15
|
-
presence?: SpaceMember['presence'];
|
|
16
|
-
onClick?: () => void;
|
|
17
|
-
}) => {
|
|
9
|
+
export const IdentityListItem = ({ identity, presence }: { identity: Profile; presence?: SpaceMember['presence'] }) => {
|
|
18
10
|
const { t } = useTranslation('os');
|
|
19
11
|
return (
|
|
20
|
-
<li
|
|
21
|
-
className={mx('flex gap-2 items-center', onClick && 'cursor-pointer')}
|
|
22
|
-
onClick={() => onClick?.()}
|
|
23
|
-
data-testid='identity-list-item'
|
|
24
|
-
>
|
|
12
|
+
<li className='flex gap-2 items-center'>
|
|
25
13
|
<Avatar
|
|
26
14
|
{...{
|
|
27
15
|
variant: 'circle',
|
|
@@ -9,22 +9,20 @@ import type { SpaceMember } from '@dxos/client';
|
|
|
9
9
|
import { IdentityListItem } from './IdentityListItem';
|
|
10
10
|
|
|
11
11
|
export interface SpaceMemberListProps {
|
|
12
|
-
|
|
13
|
-
onSelect?: (member: SpaceMember) => void;
|
|
12
|
+
spaceMembers: SpaceMember[];
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
export const SpaceMemberList = ({
|
|
15
|
+
export const SpaceMemberList = ({ spaceMembers }: SpaceMemberListProps) => {
|
|
17
16
|
return (
|
|
18
17
|
<ul className='flex flex-col gap-2'>
|
|
19
|
-
{
|
|
20
|
-
.filter((
|
|
21
|
-
.map((
|
|
18
|
+
{spaceMembers
|
|
19
|
+
.filter((spaceMember) => spaceMember.profile)
|
|
20
|
+
.map((spaceMember) => {
|
|
22
21
|
return (
|
|
23
22
|
<IdentityListItem
|
|
24
|
-
key={
|
|
25
|
-
identity={
|
|
26
|
-
presence={
|
|
27
|
-
onClick={onSelect && (() => onSelect(member))}
|
|
23
|
+
key={spaceMember.identityKey.toHex()}
|
|
24
|
+
identity={spaceMember.profile!}
|
|
25
|
+
presence={spaceMember.presence}
|
|
28
26
|
/>
|
|
29
27
|
);
|
|
30
28
|
})}
|
|
@@ -4,25 +4,24 @@
|
|
|
4
4
|
import React, { useMemo } from 'react';
|
|
5
5
|
|
|
6
6
|
import { PublicKey } from '@dxos/keys';
|
|
7
|
-
import {
|
|
7
|
+
import { useClient, useMembers } from '@dxos/react-client';
|
|
8
8
|
|
|
9
9
|
import { SpaceMemberList } from './SpaceMemberList';
|
|
10
10
|
|
|
11
11
|
export interface SpaceMemberListContainerProps {
|
|
12
12
|
spaceKey: PublicKey;
|
|
13
13
|
includeSelf?: boolean;
|
|
14
|
-
onSelect?: (member: SpaceMember) => void;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
|
-
export const SpaceMemberListContainer = ({ spaceKey, includeSelf
|
|
16
|
+
export const SpaceMemberListContainer = ({ spaceKey, includeSelf }: SpaceMemberListContainerProps) => {
|
|
18
17
|
const client = useClient();
|
|
19
18
|
const allUnsortedMembers = useMembers(spaceKey);
|
|
20
|
-
const
|
|
19
|
+
const spaceMembers = useMemo(
|
|
21
20
|
() =>
|
|
22
21
|
includeSelf
|
|
23
22
|
? allUnsortedMembers.sort((a) => (a.identityKey.equals(client.halo.profile!.identityKey) ? -1 : 1))
|
|
24
23
|
: allUnsortedMembers.filter((member) => !member.identityKey.equals(client.halo.profile!.identityKey)),
|
|
25
24
|
[allUnsortedMembers]
|
|
26
25
|
);
|
|
27
|
-
return <SpaceMemberList
|
|
26
|
+
return <SpaceMemberList spaceMembers={spaceMembers} />;
|
|
28
27
|
};
|
|
@@ -5,7 +5,6 @@ import { Root as AccordionRoot } from '@radix-ui/react-accordion';
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
|
|
7
7
|
import type { CancellableInvitationObservable } from '@dxos/client';
|
|
8
|
-
import { defaultDescription, mx, useTranslation } from '@dxos/react-components';
|
|
9
8
|
|
|
10
9
|
import { InvitationListItem, InvitationListItemProps } from './InvitationListItem';
|
|
11
10
|
|
|
@@ -14,15 +13,12 @@ export interface InvitationListProps extends Omit<InvitationListItemProps, 'invi
|
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
export const InvitationList = ({ invitations, ...invitationProps }: InvitationListProps) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<AccordionRoot type='single' collapsible className='flex flex-col gap-1'>
|
|
16
|
+
return (
|
|
17
|
+
<AccordionRoot type='single' collapsible>
|
|
20
18
|
{invitations.map((invitation, index) => {
|
|
21
19
|
const value = invitation.invitation?.invitationId ?? `inv_${index}`;
|
|
22
20
|
return <InvitationListItem key={value} value={value} invitation={invitation} {...invitationProps} />;
|
|
23
21
|
})}
|
|
24
22
|
</AccordionRoot>
|
|
25
|
-
) : (
|
|
26
|
-
<p className={mx(defaultDescription, 'text-center p-2')}>{t('empty invitations message')}</p>
|
|
27
23
|
);
|
|
28
24
|
};
|
|
@@ -8,7 +8,7 @@ import React, { useCallback } from 'react';
|
|
|
8
8
|
|
|
9
9
|
import { CancellableInvitationObservable } from '@dxos/client';
|
|
10
10
|
import { useInvitationStatus } from '@dxos/react-client';
|
|
11
|
-
import { Button, getSize, mx,
|
|
11
|
+
import { Button, getSize, mx, useTranslation } from '@dxos/react-components';
|
|
12
12
|
|
|
13
13
|
import { invitationStatusValue } from '../../util';
|
|
14
14
|
import { SharedInvitationListProps } from './InvitationListProps';
|
|
@@ -27,19 +27,18 @@ export const InvitationListItem = ({
|
|
|
27
27
|
createInvitationUrl
|
|
28
28
|
}: InvitationListItemProps) => {
|
|
29
29
|
const { t } = useTranslation('os');
|
|
30
|
-
const qrLabel = useId('qrLabel');
|
|
31
30
|
|
|
32
31
|
const { cancel, status, haltedAt, invitationCode, authenticationCode } = useInvitationStatus(invitation);
|
|
33
32
|
const statusValue = invitationStatusValue.get(status) ?? 0;
|
|
34
33
|
|
|
35
34
|
const isCancellable = statusValue < 4 && statusValue >= 0;
|
|
36
35
|
const showShare = statusValue < 3 && statusValue >= 0;
|
|
37
|
-
const
|
|
36
|
+
const showPin = statusValue === 3;
|
|
38
37
|
|
|
39
38
|
const handleClickRemove = useCallback(() => onClickRemove(invitation), [invitation, onClickRemove]);
|
|
40
39
|
|
|
41
40
|
const invitationUrl = invitationCode && createInvitationUrl(invitationCode);
|
|
42
|
-
const
|
|
41
|
+
const handleCLickCopy = useCallback(() => {
|
|
43
42
|
if (invitationUrl) {
|
|
44
43
|
void navigator.clipboard.writeText(invitationUrl);
|
|
45
44
|
}
|
|
@@ -48,21 +47,15 @@ export const InvitationListItem = ({
|
|
|
48
47
|
return (
|
|
49
48
|
<AccordionPrimitive.Item value={value}>
|
|
50
49
|
<AccordionPrimitive.Header className='flex gap-2 items-center'>
|
|
51
|
-
<InvitationStatusAvatar {...{ status, haltedAt
|
|
50
|
+
<InvitationStatusAvatar {...{ status, haltedAt }} />
|
|
52
51
|
{showShare && invitationUrl ? (
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
<QrCode className={getSize(4)} weight='bold' />
|
|
58
|
-
</Button>
|
|
59
|
-
</AccordionPrimitive.Trigger>
|
|
60
|
-
<Button className='flex gap-1' onClick={handleClickCopy} data-testid='copy-invitation'>
|
|
61
|
-
<span className='pli-1'>{t('copy invitation code label')}</span>
|
|
62
|
-
<Copy className={getSize(4)} weight='bold' />
|
|
52
|
+
<AccordionPrimitive.Trigger asChild>
|
|
53
|
+
<Button className='grow flex gap-1'>
|
|
54
|
+
<span>{t('open share panel label')}</span>
|
|
55
|
+
<QrCode className={getSize(4)} weight='bold' />
|
|
63
56
|
</Button>
|
|
64
|
-
|
|
65
|
-
) :
|
|
57
|
+
</AccordionPrimitive.Trigger>
|
|
58
|
+
) : showPin ? (
|
|
66
59
|
<p className='grow text-xl text-center text-success-500 dark:text-success-300 font-mono'>
|
|
67
60
|
{authenticationCode}
|
|
68
61
|
</p>
|
|
@@ -70,35 +63,31 @@ export const InvitationListItem = ({
|
|
|
70
63
|
<span role='none' className='grow' />
|
|
71
64
|
)}
|
|
72
65
|
{isCancellable ? (
|
|
73
|
-
<Button variant='ghost' compact className='flex gap-1' onClick={cancel}
|
|
66
|
+
<Button variant='ghost' compact className='flex gap-1' onClick={cancel}>
|
|
74
67
|
<span className='sr-only'>{t('cancel invitation label')}</span>
|
|
75
68
|
<ProhibitInset className={getSize(4)} weight='bold' />
|
|
76
69
|
</Button>
|
|
77
70
|
) : (
|
|
78
|
-
<Button
|
|
79
|
-
variant='ghost'
|
|
80
|
-
compact
|
|
81
|
-
className='flex gap-1'
|
|
82
|
-
onClick={handleClickRemove}
|
|
83
|
-
data-testid='remove-invitation'
|
|
84
|
-
>
|
|
71
|
+
<Button variant='ghost' compact className='flex gap-1' onClick={handleClickRemove}>
|
|
85
72
|
<span className='sr-only'>{t('remove invitation label')}</span>
|
|
86
73
|
<X className={getSize(4)} weight='bold' />
|
|
87
74
|
</Button>
|
|
88
75
|
)}
|
|
89
76
|
</AccordionPrimitive.Header>
|
|
90
77
|
{showShare && invitationUrl && (
|
|
91
|
-
<AccordionPrimitive.Content
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
78
|
+
<AccordionPrimitive.Content>
|
|
79
|
+
<Button className='flex gap-2 is-full p-2' onClick={handleCLickCopy}>
|
|
80
|
+
<QRCodeSVG
|
|
81
|
+
bgColor='transparent'
|
|
82
|
+
fgColor='currentColor'
|
|
83
|
+
value={invitationUrl}
|
|
84
|
+
className={mx('grow aspect-square is-24 bs-auto')}
|
|
85
|
+
/>
|
|
86
|
+
<span className='pli-1'>
|
|
87
|
+
{t('copy invitation code label')}
|
|
88
|
+
<Copy className={mx(getSize(4), 'inline mis-1')} weight='bold' />
|
|
89
|
+
</span>
|
|
90
|
+
</Button>
|
|
102
91
|
</AccordionPrimitive.Content>
|
|
103
92
|
)}
|
|
104
93
|
</AccordionPrimitive.Item>
|
|
@@ -5,24 +5,19 @@
|
|
|
5
5
|
import React, { ComponentPropsWithoutRef } from 'react';
|
|
6
6
|
|
|
7
7
|
import { Invitation } from '@dxos/client';
|
|
8
|
-
import { getSize,
|
|
8
|
+
import { getSize, Size } from '@dxos/react-components';
|
|
9
9
|
|
|
10
10
|
import { inactiveStrokeColor, activeStrokeColor, resolvedStrokeColor } from '../../styles';
|
|
11
11
|
import { invitationStatusValue } from '../../util';
|
|
12
12
|
|
|
13
|
-
export interface InvitationStatusAvatarSlots {
|
|
14
|
-
svg?: ComponentPropsWithoutRef<'svg'>;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
13
|
export interface InvitationStatusAvatarProps {
|
|
18
14
|
size?: Size;
|
|
19
15
|
status: Invitation.State;
|
|
20
16
|
haltedAt?: Invitation.State;
|
|
21
|
-
slots?: InvitationStatusAvatarSlots;
|
|
22
17
|
}
|
|
23
18
|
|
|
24
19
|
const svgSize = 32;
|
|
25
|
-
const strokeWidth =
|
|
20
|
+
const strokeWidth = 4;
|
|
26
21
|
const radius = (svgSize - strokeWidth) / 2;
|
|
27
22
|
const circumference = Math.PI * 2 * radius;
|
|
28
23
|
const gap = circumference / 12;
|
|
@@ -36,17 +31,17 @@ const circleProps: ComponentPropsWithoutRef<'circle'> = {
|
|
|
36
31
|
cx: svgSize / 2,
|
|
37
32
|
cy: svgSize / 2,
|
|
38
33
|
r: radius,
|
|
39
|
-
strokeWidth,
|
|
34
|
+
strokeWidth: 4,
|
|
40
35
|
strokeDasharray: `${segment - gap} ${2 * segment + gap}`
|
|
41
36
|
};
|
|
42
37
|
|
|
43
|
-
export const InvitationStatusAvatar = ({ size = 10, status, haltedAt
|
|
38
|
+
export const InvitationStatusAvatar = ({ size = 10, status, haltedAt }: InvitationStatusAvatarProps) => {
|
|
44
39
|
const resolvedColor = resolvedStrokeColor(status);
|
|
45
40
|
const halted =
|
|
46
41
|
status === Invitation.State.CANCELLED || status === Invitation.State.TIMEOUT || status === Invitation.State.ERROR;
|
|
47
42
|
const cursor = invitationStatusValue.get(halted ? haltedAt! : status)!;
|
|
48
43
|
return (
|
|
49
|
-
<svg
|
|
44
|
+
<svg viewBox={`0 0 ${svgSize} ${svgSize}`} className={getSize(size)}>
|
|
50
45
|
{[...Array(nSegments)].map((_, index) => (
|
|
51
46
|
<circle
|
|
52
47
|
key={index}
|
package/src/components/index.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxosTheme';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { StoryFn } from '@storybook/react';
|
|
8
8
|
import React, { useCallback, useMemo, useState } from 'react';
|
|
9
9
|
|
|
10
10
|
import { Client, Invitation, InvitationEncoder } from '@dxos/client';
|
|
@@ -19,63 +19,62 @@ import { JoinDialog } from './JoinDialog';
|
|
|
19
19
|
export default {
|
|
20
20
|
component: JoinDialog
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
const JoinClientDecorator = (Story: StoryFn, { args }: StoryContext) => {
|
|
24
|
-
const n = 2;
|
|
25
|
-
const testBuilder = new TestBuilder();
|
|
26
|
-
const clients = useMemo(() => {
|
|
27
|
-
return [...Array(n)].map(() => new Client({ services: testBuilder.createClientServicesHost() }));
|
|
28
|
-
}, []);
|
|
29
|
-
|
|
30
|
-
const [invitationCode, setInvitationCode] = useState<string>();
|
|
31
|
-
|
|
32
|
-
const onInvitationEvent = useCallback((invitation: Invitation) => {
|
|
33
|
-
if (!invitationCode) {
|
|
34
|
-
const nextInvitationCode = InvitationEncoder.encode(invitation);
|
|
35
|
-
log.info('[next invitation code]', { nextInvitationCode });
|
|
36
|
-
setInvitationCode(nextInvitationCode);
|
|
37
|
-
}
|
|
38
|
-
}, []);
|
|
39
|
-
|
|
40
|
-
useAsyncEffect(async () => {
|
|
41
|
-
await Promise.all(clients.map((client) => client.initialize()));
|
|
42
|
-
log.info('[initialized]');
|
|
43
|
-
|
|
44
|
-
await clients[0].halo.createProfile({ displayName: 'Os Mutantes' });
|
|
45
|
-
|
|
46
|
-
const space = await clients[0].echo.createSpace();
|
|
47
|
-
log.info('[space created]', space);
|
|
48
|
-
space.properties.name = 'Q3 2022 Planning';
|
|
49
|
-
|
|
50
|
-
const invitation = space.createInvitation({ type: Invitation.Type.INTERACTIVE });
|
|
51
|
-
log.info('[invitation created]', invitation);
|
|
52
|
-
|
|
53
|
-
invitation.subscribe({
|
|
54
|
-
onAuthenticating: onInvitationEvent,
|
|
55
|
-
onCancelled: (...args) => log.warn('[cancelled]', args),
|
|
56
|
-
onConnected: onInvitationEvent,
|
|
57
|
-
onConnecting: onInvitationEvent,
|
|
58
|
-
onError: onInvitationEvent,
|
|
59
|
-
onSuccess: onInvitationEvent,
|
|
60
|
-
onTimeout: (...args) => log.warn('[timeout]', args)
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
return () => {
|
|
64
|
-
void Promise.all(clients.map((client) => client.destroy()));
|
|
65
|
-
};
|
|
66
|
-
}, clients);
|
|
67
|
-
|
|
68
|
-
if (!invitationCode) {
|
|
69
|
-
return <Loading label='Setting things up…' />;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return (
|
|
73
|
-
<ClientProvider client={clients[1]} fallback={() => <Loading label='Loading client…' />}>
|
|
74
|
-
<Story args={{ initialInvitationCode: invitationCode, ...args }} />
|
|
75
|
-
</ClientProvider>
|
|
76
|
-
);
|
|
77
|
-
};
|
|
78
|
-
|
|
79
22
|
export const Default = {
|
|
80
|
-
decorators: [
|
|
23
|
+
decorators: [
|
|
24
|
+
(Story: StoryFn) => {
|
|
25
|
+
const n = 2;
|
|
26
|
+
const testBuilder = new TestBuilder();
|
|
27
|
+
const clients = useMemo(() => {
|
|
28
|
+
return [...Array(n)].map(() => new Client({ services: testBuilder.createClientServicesHost() }));
|
|
29
|
+
}, []);
|
|
30
|
+
|
|
31
|
+
const [invitationCode, setInvitationCode] = useState<string>();
|
|
32
|
+
|
|
33
|
+
const onInvitationEvent = useCallback((invitation: Invitation) => {
|
|
34
|
+
if (!invitationCode) {
|
|
35
|
+
const nextInvitationCode = InvitationEncoder.encode(invitation);
|
|
36
|
+
log.info('[next invitation code]', { nextInvitationCode });
|
|
37
|
+
setInvitationCode(nextInvitationCode);
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
|
|
41
|
+
useAsyncEffect(async () => {
|
|
42
|
+
await Promise.all(clients.map((client) => client.initialize()));
|
|
43
|
+
log.info('[initialized]');
|
|
44
|
+
|
|
45
|
+
await clients[0].halo.createProfile({ displayName: 'Os Mutantes' });
|
|
46
|
+
|
|
47
|
+
const space = await clients[0].echo.createSpace();
|
|
48
|
+
log.info('[space created]', space);
|
|
49
|
+
space.properties.name = 'Q3 2022 Planning';
|
|
50
|
+
|
|
51
|
+
const invitation = space.createInvitation({ type: Invitation.Type.INTERACTIVE });
|
|
52
|
+
log.info('[invitation created]', invitation);
|
|
53
|
+
|
|
54
|
+
invitation.subscribe({
|
|
55
|
+
onAuthenticating: onInvitationEvent,
|
|
56
|
+
onCancelled: (...args) => log.warn('[cancelled]', args),
|
|
57
|
+
onConnected: onInvitationEvent,
|
|
58
|
+
onConnecting: onInvitationEvent,
|
|
59
|
+
onError: onInvitationEvent,
|
|
60
|
+
onSuccess: onInvitationEvent,
|
|
61
|
+
onTimeout: (...args) => log.warn('[timeout]', args)
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return () => {
|
|
65
|
+
void Promise.all(clients.map((client) => client.destroy()));
|
|
66
|
+
};
|
|
67
|
+
}, clients);
|
|
68
|
+
|
|
69
|
+
if (!invitationCode) {
|
|
70
|
+
return <Loading label='Setting things up…' />;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return (
|
|
74
|
+
<ClientProvider client={clients[1]} fallback={() => <Loading label='Loading client…' />}>
|
|
75
|
+
<Story args={{ initialInvitationCode: invitationCode }} />
|
|
76
|
+
</ClientProvider>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
]
|
|
81
80
|
};
|
|
@@ -10,9 +10,7 @@ import { ThemeContext, useId } from '@dxos/react-components';
|
|
|
10
10
|
import { PanelAlertDialog, PanelAlertDialogProps } from '../../layouts';
|
|
11
11
|
import { JoinPanel, JoinPanelProps } from '../../panels';
|
|
12
12
|
|
|
13
|
-
export interface JoinDialogProps
|
|
14
|
-
extends Omit<PanelAlertDialogProps, 'titleId' | 'children'>,
|
|
15
|
-
Omit<JoinPanelProps, 'exitActionParent' | 'doneActionParent'> {}
|
|
13
|
+
export interface JoinDialogProps extends Omit<PanelAlertDialogProps, 'titleId' | 'children'>, JoinPanelProps {}
|
|
16
14
|
|
|
17
15
|
export const JoinDialog = ({ slots, ...joinPanelProps }: JoinDialogProps) => {
|
|
18
16
|
const titleId = useId('joinDialog__title');
|